/* Public landing, using the same palette and type tokens as the LMS. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem}
body{margin:0;color:var(--ink);background:var(--paper);font:400 16px/1.65 var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:.2em}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--coral);outline-offset:4px}
button{font:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.055em;line-height:1.07}h2{font-size:clamp(2.4rem,5vw,4.75rem);font-weight:600}h3{font-size:clamp(1.18rem,2vw,1.6rem);letter-spacing:-.035em}p{max-width:66ch}svg{max-width:100%;height:auto}
::selection{background:var(--coral);color:#fff}
.wrap{width:min(100% - 48px,1200px);margin-inline:auto}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(16px,2.5vw,32px)}
.skip{position:absolute;z-index:20;top:-100px;left:20px;background:var(--ink);color:var(--paper);padding:12px 18px}.skip:focus{top:12px}
.site-header{position:relative;z-index:10;border-bottom:1px solid var(--border);background:var(--paper)}.nav-inner{min-height:76px;display:flex;align-items:center;gap:32px}.brand{display:inline-flex;align-items:center;gap:10px;font:700 1.25rem/1 var(--font-display);letter-spacing:-.05em;text-decoration:none;white-space:nowrap}.brand svg{width:34px;height:34px;flex:none}.brand b{color:var(--coral)}.nav-links{display:flex;align-items:center;gap:clamp(14px,2.5vw,32px);margin-left:auto}.nav-links a,.nav-actions a{font-size:.86rem;font-weight:600;text-decoration:none;white-space:nowrap}.nav-links a:hover,.plain:hover,.footer-links a:hover{color:var(--coral)}.nav-actions{display:flex;align-items:center;gap:16px}.theme-toggle{height:40px;width:40px;border:1px solid var(--border-strong);background:transparent;border-radius:50%;color:var(--ink);cursor:pointer;display:grid;place-items:center}.theme-toggle:hover{background:var(--teal-soft)}.nav-cta{background:var(--ink);color:var(--paper)!important;padding:11px 17px;border-radius:5px}.nav-cta:hover{background:var(--teal)}.menu-toggle{display:none;border:0;background:transparent;color:var(--ink);cursor:pointer;padding:8px}
.eyebrow{font:500 .72rem/1.4 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--teal)}.rule{height:1px;background:var(--border);margin-block:24px}.section{padding-block:clamp(90px,11vw,160px);border-bottom:1px solid var(--border)}.section-intro{grid-column:1/5}.section-body{grid-column:6/13}.section-head{max-width:760px;margin-bottom:56px}.section-head .eyebrow{margin-bottom:22px}.section-head p{margin-top:22px;color:var(--ink-2);font-size:1.08rem}.section-num{font:500 .75rem var(--mono);color:var(--muted);margin-bottom:16px}.section-intro h2{margin-bottom:22px}.section-intro>p:last-child{color:var(--ink-2)}
.hero{padding:clamp(70px,10vw,146px) 0 clamp(80px,10vw,130px);overflow:hidden}.hero-copy{grid-column:1/7;position:relative;z-index:1;align-self:center}.hero-copy .eyebrow{margin-bottom:28px}.hero h1{font-size:clamp(3.8rem,7.4vw,8.4rem);font-weight:600;line-height:.96;max-width:9ch}.hero h1 span{color:var(--coral)}.hero .lead{font-size:clamp(1.06rem,1.55vw,1.27rem);line-height:1.5;color:var(--ink-2);max-width:34rem;margin:28px 0 34px}.cta-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:13px 22px;text-decoration:none;font:600 .95rem/1.2 var(--font-display);border-radius:5px;transition:background .18s,color .18s,transform .18s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--coral);color:#18232a}.btn-primary:hover{background:var(--coral-hover);color:#fff}.btn-outline{border:1px solid var(--border-strong);color:var(--ink)}.btn-outline:hover{background:var(--surface-2)}.btn svg{width:19px;height:19px}.hero-note{color:var(--muted);font-size:.8rem;margin-top:18px}.hero-art{grid-column:7/13;align-self:center;position:relative}.network{display:block;width:100%;aspect-ratio:620/585}.art-caption{display:flex;justify-content:space-between;gap:10px;font:500 .7rem var(--mono);letter-spacing:.06em;color:var(--muted);border-top:1px solid var(--border);padding-top:14px}
.proof{border-block:1px solid var(--border);background:var(--paper-2)}.proof-inner{display:grid;grid-template-columns:repeat(4,1fr)}.proof-item{padding:30px 22px;border-right:1px solid var(--border)}.proof-item:first-child{padding-left:0}.proof-item:last-child{border:0}.proof-item strong{display:block;font:600 clamp(2rem,4vw,3.6rem)/1 var(--font-display);letter-spacing:-.06em}.proof-item span{font-size:.82rem;color:var(--ink-2)}
.free{background:var(--ink);color:#f6f3e9}.free .eyebrow,.final .eyebrow{color:#81c6bd}.free .section-intro>p:last-child,.final p{color:#cbd5d4}.free-list{list-style:none;padding:0;margin:0}.free-list li{padding:28px 0;border-top:1px solid rgba(255,255,255,.2);display:grid;grid-template-columns:40px 1fr;gap:24px}.free-list .check{font:500 1.35rem var(--mono);color:#81c6bd}.free-list h3{font-size:1.35rem;margin-bottom:8px}.free-list p{color:#cbd5d4}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature{border-top:1px solid var(--ink);padding-top:22px;min-height:215px}.feature .index{font:500 .73rem var(--mono);color:var(--teal);display:block;margin-bottom:40px}.feature h3{margin-bottom:12px}.feature p{color:var(--ink-2);font-size:.94rem}
.curriculum{background:var(--paper-2)}.domain{border-top:1px solid var(--border-strong);padding:28px 0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}.domain:last-child{border-bottom:1px solid var(--border-strong)}.domain-label{grid-column:1/5}.domain-label .eyebrow{margin:0 0 12px}.domain-label h3{font-size:1.5rem;line-height:1.2}.domain-label p{color:var(--muted);font-size:.83rem;margin-top:10px}.module-list{grid-column:6/13;margin:0;padding:0;list-style:none;counter-reset:item}.module-list li{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--border-faint);font-weight:500;line-height:1.4}.module-list li:last-child{border:0}.module-list span{font:500 .75rem var(--mono);color:var(--teal)}.module-list a{text-decoration:none}.module-list a:hover{text-decoration:underline;color:var(--coral)}.curriculum-tail{margin-top:28px;font-size:.85rem;color:var(--muted)}
.lab{background:var(--paper-3)}.lab-card{grid-column:6/13;border:1px solid var(--border-strong);background:var(--paper-2);padding:clamp(24px,4vw,48px);border-radius:8px;box-shadow:0 20px 40px rgba(24,35,42,.07)}.lab-card .eyebrow{margin-bottom:24px}.topology{display:block;width:100%;margin-bottom:25px;border-bottom:1px solid var(--border);padding-bottom:22px}.lab-card h3{font-size:1.75rem;margin-bottom:12px}.lab-card p{color:var(--ink-2)}.lab-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.lab-tags span{border:1px solid var(--border-strong);padding:5px 10px;border-radius:40px;font:500 .72rem var(--mono)}.text-link{display:inline-flex;gap:8px;align-items:center;margin-top:28px;font:600 .9rem var(--font-display);text-decoration:none;border-bottom:1px solid currentColor}.text-link:hover{color:var(--coral)}
.exam-layout{align-items:start}.exam-panel{grid-column:6/13;border-top:1px solid var(--ink);padding-top:25px}.exam-step{display:grid;grid-template-columns:50px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--border)}.exam-step span{font:500 .78rem var(--mono);color:var(--teal)}.exam-step h3{font-size:1.25rem;margin-bottom:8px}.exam-step p{color:var(--ink-2)}.exam-panel .text-link{margin-top:32px}
.faq{background:var(--paper-2)}.faq-list{grid-column:6/13}.faq-list details{border-top:1px solid var(--border-strong);padding:22px 0}.faq-list details:last-child{border-bottom:1px solid var(--border-strong)}.faq-list summary{cursor:pointer;list-style:none;font:600 1.12rem/1.4 var(--font-display);display:flex;justify-content:space-between;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';font:400 1.35rem var(--mono);color:var(--teal)}.faq-list details[open] summary::after{content:'−'}.faq-list p{margin-top:15px;color:var(--ink-2)}
.final{background:var(--ink);color:#f6f3e9;padding-block:clamp(100px,13vw,185px)}.final h2{font-size:clamp(3.2rem,7vw,7.8rem);max-width:950px;margin:24px 0}.final p{font-size:1.12rem;margin-bottom:32px}.final .btn-outline{color:#f6f3e9;border-color:rgba(255,255,255,.38)}.final .btn-outline:hover{background:rgba(255,255,255,.1)}
.site-footer{padding-block:55px 30px;background:#0e191e;color:#e8e8df}.footer-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-bottom:65px}.footer-top p{font-size:.9rem;color:#b6c1c0;margin-top:15px}.footer-links{display:flex;gap:clamp(25px,4vw,65px);flex-wrap:wrap}.footer-links div{display:flex;flex-direction:column;gap:12px}.footer-links b{font:500 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#91a6a5;margin-bottom:8px}.footer-links a{font-size:.86rem;text-decoration:none}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding-top:25px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font:.72rem var(--mono);color:#91a6a5}
[data-theme="dark"] .free,[data-theme="dark"] .final{background:#071116}[data-theme="dark"] .proof,[data-theme="dark"] .curriculum,[data-theme="dark"] .faq{background:var(--paper-2)}[data-theme="dark"] .lab{background:var(--paper-3)}[data-theme="dark"] .lab-card{background:var(--surface)}[data-theme="dark"] .nav-cta{background:#f2ede3;color:#0f171c!important}[data-theme="dark"] .site-footer{background:#071116}
@media(max-width:900px){.nav-links{gap:14px}.nav-links a{font-size:.78rem}.section-intro{grid-column:1/5}.section-body,.lab-card,.exam-panel,.faq-list{grid-column:5/13}.domain-label{grid-column:1/5}.module-list{grid-column:5/13}}
@media(max-width:720px){.wrap{width:min(100% - 36px,1200px)}.grid{gap:24px}.nav-inner{min-height:64px}.menu-toggle{display:grid;place-items:center;margin-left:auto}.nav-actions{gap:8px}.nav-actions .plain{display:none}.nav-cta{padding:8px 11px}.nav-links{display:none;position:absolute;top:64px;left:0;right:0;background:var(--paper);padding:18px;border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);margin:0;flex-direction:column;align-items:flex-start;gap:0}.nav-links.is-open{display:flex}.nav-links a{padding:12px 8px;font-size:1rem;width:100%}.hero{padding-top:70px}.hero-copy,.hero-art{grid-column:1/13}.hero h1{font-size:clamp(3.8rem,12vw,6.5rem)}.hero-art{max-width:560px;width:100%;margin:36px auto 0}.section-intro,.section-body,.lab-card,.exam-panel,.faq-list,.domain-label,.module-list{grid-column:1/13}.section-intro{margin-bottom:22px}.domain{gap:20px}.domain-label{margin-bottom:4px}.proof-inner{grid-template-columns:repeat(2,1fr)}.proof-item:nth-child(2){border:0}.proof-item:nth-child(-n+2){border-bottom:1px solid var(--border)}.proof-item:nth-child(3){padding-left:0}.feature-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.feature-grid{grid-template-columns:1fr}.feature{min-height:0;padding-bottom:22px}.feature .index{margin-bottom:18px}.proof-item{padding:22px 10px}.proof-item strong{font-size:2.2rem}.btn{width:100%}.hero h1{font-size:clamp(3.3rem,13vw,5rem)}.section{padding-block:80px}.nav-cta{font-size:.75rem!important}.brand{font-size:1.08rem}.brand svg{width:30px}}
@media(max-width:360px){.nav-inner{gap:8px}.nav-actions{gap:5px}.nav-cta{display:none}.brand{font-size:1rem}.brand svg{width:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
