:root{--cream:#f7f5ef;--paper:#fffefa;--ink:#202a27;--muted:#5e6b65;--forest:#203f34;--sage:#e5ede6;--gold:#b5945d;--line:#d8ded7;--display:'Bebas Neue',Impact,'Arial Narrow',sans-serif;--body:Raleway,'Source Sans 3',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);line-height:1.55}button,input{font:inherit}button{cursor:pointer}a{color:inherit}.wrap{max-width:1260px;margin:auto;padding:0 clamp(18px,4.5vw,65px)}.skip{position:absolute;left:-9999px;top:5px;z-index:20;background:#fff;padding:8px}.skip:focus{left:8px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:5}.header-inner{display:flex;align-items:center;min-height:75px;gap:20px}.wordmark{font:33px/1 var(--display);letter-spacing:.045em;text-decoration:none;white-space:nowrap}.header-label{font-size:10px;letter-spacing:.2em;font-weight:800;color:var(--muted);border-left:1px solid var(--line);padding-left:18px;white-space:nowrap}.site-header nav{margin-left:auto;display:flex;gap:27px}.site-header nav a{text-decoration:none;font-size:12px;font-weight:800;color:var(--muted)}.site-header nav a.active,.site-header nav a:hover{color:var(--forest)}.nav-toggle{display:none;background:none;border:0;margin-left:auto;font-size:12px;font-weight:800;letter-spacing:.1em}
h1,h2,h3,p{margin-top:0}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#846c3e;margin-bottom:13px}.display{font:clamp(58px,9vw,115px)/.88 var(--display);letter-spacing:.015em;margin-bottom:22px}.display span{color:var(--forest)}.section-heading{font:clamp(37px,4.5vw,60px)/.98 var(--display);letter-spacing:.02em;margin-bottom:12px}.lead{font-size:17px;max-width:650px;color:#53605a}.small{font-size:12px;color:var(--muted)}.muted{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--forest);border:1px solid var(--forest);color:white;text-decoration:none;min-height:47px;padding:11px 20px;text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:800}.btn:hover{background:#2e5547}.btn.light{background:transparent;color:var(--forest)}.btn.light:hover{background:var(--sage)}.btn:disabled{opacity:.5;cursor:default}.btn-row{display:flex;gap:10px;flex-wrap:wrap}
.hero{display:grid;grid-template-columns:1.12fr .88fr;min-height:510px;background:var(--paper);margin:36px 0 48px;border:1px solid var(--line)}.hero-copy{padding:clamp(32px,5vw,68px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero-copy .lead{font-size:15px;margin-bottom:26px}.hero-visual{position:relative;overflow:hidden;min-height:400px;background:#b8b4a4}.hero-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,40,31,.55),transparent 60%)}.hero-caption{position:absolute;z-index:1;bottom:22px;left:27px;color:white;font:28px/1 var(--display);letter-spacing:.04em}
.progress-inline{width:100%;margin:23px 0 24px}.progress-label{display:flex;justify-content:space-between;gap:10px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:9px}.progress-track{height:9px;background:#dce4db;overflow:hidden;border-radius:20px}.progress-fill{height:100%;background:var(--forest);transition:width .3s ease;border-radius:20px}.home-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;margin:30px 0 55px}.panel{background:var(--paper);border:1px solid var(--line);padding:clamp(22px,3vw,36px)}.panel h3{font:31px/1 var(--display);letter-spacing:.025em;margin:0 0 10px}.next-card{display:flex;justify-content:space-between;gap:20px;align-items:center}.next-card p{font-size:13px;color:var(--muted);margin-bottom:0}.next-card .btn{flex:none}.intro-strip{padding:24px 0 4px}.intro-strip p{max-width:700px}.section-intro{padding:53px 0 25px}.section-intro .lead{margin-bottom:0}
.steps-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:40px}.overview-card{padding:24px;background:var(--paper);border:1px solid var(--line)}.overview-number{font:36px/1 var(--display);color:var(--gold)}.overview-card h3{font:26px/1 var(--display);margin:12px 0 7px}.overview-card p{font-size:12px;color:var(--muted);margin:0}
.path-list{display:grid;gap:10px;margin:20px 0 60px}.path-item{display:flex;align-items:center;gap:17px;text-decoration:none;background:var(--paper);border:1px solid var(--line);padding:17px 20px;transition:transform .15s,border-color .15s}.path-item:hover{transform:translateY(-2px);border-color:var(--forest)}.path-number{font:36px/1 var(--display);min-width:40px;color:var(--gold)}.path-item strong{font-size:15px}.path-item p{font-size:12px;color:var(--muted);margin:2px 0 0}.path-item .state{margin-left:auto;white-space:nowrap;color:var(--forest);font-size:11px;font-weight:800;text-transform:uppercase}
.toolbar{display:flex;gap:12px;margin:22px 0}.search{width:100%;max-width:500px;min-height:48px;border:1px solid var(--line);background:var(--paper);padding:10px 15px;font-size:16px}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:60px}.module-card{background:var(--paper);border:1px solid var(--line);padding:24px;min-height:205px;display:flex;flex-direction:column;text-decoration:none}.module-card:hover{border-color:var(--forest)}.module-card .eyebrow{font-size:10px;margin-bottom:13px}.module-card h3{font:28px/1.02 var(--display);margin-bottom:11px}.module-card p{font-size:12px;color:var(--muted);margin-bottom:18px}.module-card .mini-progress{margin-top:auto}.module-card .progress-track{height:5px}.module-card .progress-label{font-size:10px;margin-bottom:7px}
.back{display:inline-block;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:800;color:var(--forest);margin:30px 0 22px}.module-head{max-width:800px}.module-head .lead{margin-bottom:30px}.lesson-list{display:grid;gap:8px;margin:23px 0 65px}.lesson-link{display:flex;gap:15px;align-items:center;text-decoration:none;background:var(--paper);border:1px solid var(--line);padding:17px 18px}.lesson-link:hover{border-color:var(--forest)}.lesson-link .check{height:27px;width:27px;border:1.5px solid #83948a;display:grid;place-items:center;flex:none;color:var(--forest);font-weight:800}.lesson-link.done .check{background:var(--forest);color:#fff;border-color:var(--forest)}.lesson-link strong{font-size:13px}.lesson-link small{display:block;color:var(--muted);font-size:11px}.lesson-link .arrow{margin-left:auto;color:var(--forest)}
.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:35px;align-items:start;margin-bottom:70px}.lesson-main{background:var(--paper);border:1px solid var(--line);padding:clamp(24px,4vw,50px)}.lesson-main h1{font:clamp(43px,6vw,73px)/.98 var(--display);margin-bottom:25px}.lesson-body{font-size:18px;line-height:1.7;max-width:660px}.lesson-main .rule{height:1px;background:var(--line);margin:30px 0}.lesson-tip{background:var(--sage);padding:19px 21px;font-size:13px}.lesson-tip strong{display:block;margin-bottom:5px}.lesson-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.lesson-aside{position:sticky;top:20px;background:#e7ede6;padding:22px}.lesson-aside h3{font:28px/1 var(--display);margin-bottom:12px}.lesson-aside p{font-size:12px;color:var(--muted)}.lesson-aside a{font-size:12px;font-weight:800;color:var(--forest)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:24px 0}.stat{background:var(--paper);border:1px solid var(--line);padding:24px}.stat strong{display:block;font:55px/1 var(--display);color:var(--forest)}.stat span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--muted)}.progress-list{display:grid;gap:8px;margin:25px 0 50px}.progress-row{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:14px;align-items:center;padding:14px 17px;background:var(--paper);border:1px solid var(--line);text-decoration:none}.progress-row strong{font-size:13px}.progress-row small{font-size:11px;color:var(--muted)}.progress-row .progress-track{margin-top:9px;height:5px}.progress-row .percent{text-align:right;font:27px/1 var(--display);color:var(--forest)}.warning{font-size:12px;color:#625a43;background:#f4eedc;padding:16px 19px;border-left:3px solid var(--gold);margin:20px 0}.footer{border-top:1px solid var(--line);background:var(--paper)}.footer-inner{padding-top:22px;padding-bottom:25px;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.05em;color:var(--muted)}.loading{padding:80px 0}.empty{padding:32px;color:var(--muted)}
@media(max-width:900px){.header-label{display:none}.hero{grid-template-columns:1fr 1fr}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-layout{grid-template-columns:minmax(0,1fr) 220px;gap:18px}}
@media(max-width:680px){.header-inner{min-height:64px}.wordmark{font-size:27px}.nav-toggle{display:block;min-height:44px;padding:8px}.site-header nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--paper);border-bottom:1px solid var(--line);padding:12px 18px 20px;flex-direction:column;gap:0}.site-header nav.open{display:flex}.site-header nav a{padding:13px 3px;border-bottom:1px solid var(--line);font-size:13px}.hero{margin:18px 0 34px;display:flex;flex-direction:column-reverse}.hero-visual{min-height:270px}.hero-copy{padding:30px 24px 36px}.display{font-size:clamp(58px,15vw,90px)}.lead{font-size:14px}.home-grid,.steps-overview,.module-grid,.stats{grid-template-columns:1fr}.home-grid{gap:10px}.next-card{display:block}.next-card .btn{margin-top:18px;width:100%}.section-intro{padding-top:35px}.module-grid{gap:9px}.module-card{min-height:0;padding:20px}.path-item{padding:14px;gap:10px}.path-number{min-width:30px;font-size:29px}.path-item strong{font-size:12px}.path-item .state{font-size:10px}.lesson-layout{display:block}.lesson-main{padding:25px 20px}.lesson-main h1{font-size:clamp(42px,11vw,61px)}.lesson-body{font-size:16px}.lesson-aside{position:static;margin-top:14px}.lesson-actions .btn{width:100%;min-height:50px}.progress-row{grid-template-columns:1fr 50px}.footer-inner{display:block}.footer-inner span{display:block;margin:5px 0}.stats{gap:9px}.stat{padding:17px}.stat strong{font-size:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.progress-fill,.path-item{transition:none}}
