/* Castle Trading — learn pages shared layout */
*{margin:0;padding:0;box-sizing:border-box}
body{background:#0D0D0D;color:#E8E8E8;font-family:'DM Sans',system-ui,sans-serif;line-height:1.7;font-size:16px}
a{color:#C9A84C;text-decoration:none}
a:hover{color:#F5E6A3;text-decoration:underline}

nav.top{position:sticky;top:0;z-index:80;background:rgba(8,8,8,0.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(201,168,76,0.15);padding:0.85rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
nav.top .logo{font-family:'Playfair Display','Castle Display Fallback',serif;font-weight:900;font-size:1.05rem;letter-spacing:0.04em;color:#fff}
nav.top .logo span{color:#C9A84C}
nav.top .links{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}
nav.top .links a{font-size:0.85rem;font-weight:700;color:#ccc}

.hero{max-width:760px;margin:0 auto;padding:3.5rem 1.25rem 1.5rem;text-align:left}
.hero .crumb{font-size:0.75rem;letter-spacing:0.18em;color:#888;text-transform:uppercase;margin-bottom:0.8rem}
.hero h1{font-family:'Playfair Display','Castle Display Fallback',serif;font-size:clamp(2rem,5vw,3.1rem);line-height:1.1;color:#fff;font-weight:900;margin-bottom:0.8rem}
.hero .lede{color:#B0B0B0;font-size:1.1rem;line-height:1.55;max-width:640px}

article{max-width:760px;margin:0 auto;padding:1rem 1.25rem 4rem}
article h2{font-family:'Playfair Display','Castle Display Fallback',serif;color:#fff;font-size:1.65rem;margin:2.4rem 0 0.7rem;line-height:1.2;font-weight:800}
article h3{color:#F5E6A3;font-size:1.1rem;margin:1.6rem 0 0.5rem;font-weight:700}
article p{color:#CFCFCF;margin-bottom:1.05rem}
article ul,article ol{margin:0 0 1.1rem 1.25rem;color:#CFCFCF}
article li{margin-bottom:0.45rem}
article strong{color:#fff;font-weight:700}
article blockquote{border-left:3px solid #C9A84C;padding:0.6rem 1rem;margin:1.2rem 0;color:#E0D6B5;background:rgba(201,168,76,0.06);border-radius:0 8px 8px 0;font-style:italic}

.callout{background:linear-gradient(180deg,#121212,#0A0A0A);border:1px solid rgba(201,168,76,0.22);border-radius:14px;padding:1.1rem 1.2rem;margin:1.6rem 0}
.callout .label{font-size:0.7rem;letter-spacing:0.16em;color:#C9A84C;text-transform:uppercase;font-weight:800;margin-bottom:0.4rem}
.callout p:last-child{margin-bottom:0}

.related{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0.85rem;margin:2rem 0 0}
.related a{display:block;background:#111;border:1px solid rgba(255,255,255,0.06);border-radius:12px;padding:1rem 1.15rem;color:#fff;text-decoration:none;transition:all 0.2s}
.related a:hover{border-color:rgba(201,168,76,0.5);transform:translateY(-2px)}
.related .r-tag{font-size:0.7rem;letter-spacing:0.15em;color:#C9A84C;text-transform:uppercase;font-weight:700;margin-bottom:0.3rem;display:block}
.related .r-title{font-weight:700;color:#fff;display:block;margin-bottom:0.2rem}
.related .r-sub{font-size:0.8rem;color:#888}

.cta-bar{background:linear-gradient(135deg,rgba(201,168,76,0.12),rgba(201,168,76,0.04));border:1px solid rgba(201,168,76,0.3);border-radius:16px;padding:1.4rem 1.5rem;margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
.cta-bar h3{margin:0;font-family:'Playfair Display','Castle Display Fallback',serif;color:#fff;font-size:1.25rem}
.cta-bar p{margin:0.2rem 0 0;color:#B0B0B0;font-size:0.9rem}
.cta-bar .cta-btn{background:linear-gradient(135deg,#C9A84C,#F5E6A3);color:#000;font-weight:800;padding:0.75rem 1.4rem;border-radius:10px;font-size:0.9rem;text-decoration:none;white-space:nowrap}

footer.bottom{border-top:1px solid rgba(255,255,255,0.06);padding:2rem 1.25rem;text-align:center;color:#666;font-size:0.8rem}
footer.bottom a{color:#888;margin:0 0.5rem}

@media(max-width:600px){
  nav.top{padding:0.75rem 1rem}
  nav.top .links{gap:0.75rem}
  nav.top .links a{font-size:0.8rem}
  .hero{padding:2.2rem 1rem 1rem}
  article{padding:0.5rem 1rem 3rem}
  article h2{font-size:1.4rem;margin-top:2rem}
  .cta-bar{flex-direction:column;align-items:flex-start}
}

/* Index grid */
.lessons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin:2rem 0}
.lesson-card{background:linear-gradient(180deg,#121212,#0A0A0A);border:1px solid rgba(255,255,255,0.06);border-radius:14px;padding:1.3rem 1.3rem;text-decoration:none;color:#fff;transition:all 0.2s;display:block}
.lesson-card:hover{border-color:rgba(201,168,76,0.4);transform:translateY(-3px);text-decoration:none}
.lesson-card .l-num{font-family:'Playfair Display','Castle Display Fallback',serif;font-size:1.6rem;color:#C9A84C;font-weight:900}
.lesson-card .l-title{font-family:'Playfair Display','Castle Display Fallback',serif;font-size:1.25rem;color:#fff;margin:0.4rem 0 0.5rem;font-weight:800}
.lesson-card .l-desc{color:#A8A8A8;font-size:0.88rem;line-height:1.55}
.lesson-card .l-meta{margin-top:0.8rem;font-size:0.75rem;color:#888;display:flex;gap:0.8rem;flex-wrap:wrap}
.lesson-card .l-meta span{display:inline-flex;align-items:center;gap:0.25rem}

/* Shared mindset module completion/navigation components. */

.complete-bar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;background:linear-gradient(135deg,rgba(201,168,76,0.1),rgba(201,168,76,0.03));border:1px solid rgba(201,168,76,0.3);border-radius:14px;padding:1.1rem 1.25rem;margin:2rem 0 0}
.complete-bar .cb-text{flex:1;min-width:200px}
.complete-bar h3{margin:0;font-family:'Playfair Display','Castle Display Fallback',serif;color:#fff;font-size:1.15rem}
.complete-bar p{margin:0.2rem 0 0;color:#B0B0B0;font-size:0.85rem}
.complete-btn{background:linear-gradient(135deg,#C9A84C,#F5E6A3);color:#000;font-weight:800;padding:0.75rem 1.4rem;border-radius:10px;font-size:0.9rem;border:none;cursor:pointer;font-family:inherit;white-space:nowrap}
.complete-btn.done{background:#14443f;color:#7CF5D9;border:1px solid rgba(38,166,154,0.4)}
.mod-nav{display:flex;justify-content:space-between;gap:1rem;max-width:760px;margin:1.5rem auto 0;padding:0 1.25rem}
.mod-nav a{flex:1;background:#111;border:1px solid rgba(255,255,255,0.06);border-radius:12px;padding:0.85rem 1rem;color:#fff;font-size:0.85rem;transition:all 0.2s;text-decoration:none}
.mod-nav a:hover{border-color:rgba(201,168,76,0.4);text-decoration:none}
.mod-nav a.next{text-align:right}
.mod-nav a .nl{display:block;font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:#888;margin-bottom:0.2rem}
.mod-nav a.disabled{opacity:0.35;pointer-events:none}
