.beginner-page main{margin:0 auto;padding:115px 28px 70px;max-width:1240px}
.beginner-page header{justify-content:space-between;gap:16px}
.beginner-page .brand{flex-shrink:0}
#courseLink{color:var(--gold2);font-size:.85rem;text-underline-offset:4px;margin-left:auto}
.beginner-page .pm-language{margin-left:0;flex-shrink:0}
.beginner-intro{max-width:850px;margin-bottom:46px}
.beginner-intro h1{font-size:clamp(2.6rem,5vw,4.4rem);line-height:1.07;letter-spacing:-.045em}
.beginner-intro>p{color:#c9c5bc}
.beginner-intro .eyebrow{color:var(--gold)}
.beginner-boundary{padding:16px 20px;border-left:3px solid var(--gold);background:#16130d}
.beginner-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:42px;align-items:start}
.step-nav{position:sticky;top:90px;gap:20px}
.step-nav ol{padding:0;margin:0;list-style:none}
.step-nav li+li{margin-top:8px}
.step-nav li a{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:5px;line-height:1.4}
.step-nav li a span{color:var(--gold);font-weight:800}
.step-nav a[aria-current]{color:var(--gold2);background:#211b0f;border-color:#977422}
.step-nav small{color:var(--muted);line-height:1.5}
.step-nav .full-course-link{border-top:1px solid var(--line);color:var(--gold2);padding:15px 0}
.step-content{min-width:0;padding:28px;background:#0d0d0c;border:1px solid var(--line);border-radius:8px}
.step-content h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.12;scroll-margin-top:100px}
.step-content h3{font-size:1.1rem;line-height:1.4;margin:0 0 12px}
.step-content p{color:#d2cec5}
.step-goal{padding-bottom:22px;border-bottom:1px solid var(--line)}
.step-words{margin:0 0 26px}
.step-words>div{padding:12px 0;border-bottom:1px solid var(--line)}
.step-words dt{color:var(--gold2);font-weight:700}
.step-words dd{margin:5px 0 0;color:#c2beb5}
.step-example,.step-question{padding:22px;margin:26px 0;background:#16130c;border-left:3px solid var(--gold)}
.step-question{background:#101916;border-color:#759e8e}
.step-question details{padding-top:14px;border-top:1px solid #33473d}
.step-question summary{cursor:pointer;color:#b9e6d2;font-weight:700;padding:8px 0}
.step-takeaway strong{color:var(--gold2)}
.deeper-link,.step-sources a{color:var(--gold2);text-underline-offset:4px}
.step-controls{display:flex;justify-content:space-between;gap:14px;margin-top:30px;flex-wrap:wrap}
.step-controls button{padding:13px 18px;font:inherit;cursor:pointer;border:1px solid var(--line);background:#151515;color:var(--ink);border-radius:3px}
.step-controls .button{margin:0;background:var(--gold);color:#070707;font-weight:800}
.step-controls button:disabled{opacity:.4;cursor:default}
.step-sources{font-size:.75rem;margin-top:26px}
.completion-note{padding:18px;border:1px solid #546d60;margin-top:25px}
.beginner-page :focus-visible{outline:3px solid var(--gold2);outline-offset:4px}
@media(max-width:820px){.beginner-layout{grid-template-columns:1fr;gap:24px}.step-nav{position:static}.step-nav ol{display:grid;grid-template-columns:1fr 1fr;gap:8px}.step-nav li+li{margin:0}.step-nav li a{height:100%}.beginner-page main{padding:105px 18px 55px}.step-content{padding:22px}.beginner-intro{margin-bottom:25px}}
@media(max-width:480px){.beginner-page header{padding:0 12px;gap:10px}.beginner-page .crest{margin-right:0;width:32px;height:37px}.beginner-page .brand>span:last-child{display:none}#courseLink{font-size:.72rem;max-width:160px}.step-content{padding:18px}.step-example,.step-question{padding:16px}.step-nav li a{font-size:.8rem;padding:10px}.step-controls{flex-direction:column}.step-controls .button{text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
