:root{--ink:#1B1B20;--ink-soft:#4C4C55;--deep:#1B1B20;--main:#C8442F;--main-dk:#A53522;
--accent:#E2A42B;--accent-ink:#2E1F00;--paper:#FBF8F2;--mist:#F3EDE2;--line:#1B1B20;
--hero-bg:#FBF8F2;--hero-ink:#1B1B20;--r:4px;--fh:'Bricolage Grotesque', system-ui, sans-serif;--fb:'Nunito Sans', system-ui, sans-serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--fb);font-size:18px;line-height:1.6}
a{color:var(--main-dk)}img{max-width:100%}
h1,h2,h3{font-family:var(--fh);line-height:1.15;margin:0 0 .5em;color:var(--ink)}
h1{font-size:clamp(2.3rem,6vw,4.2rem)}h2{font-size:clamp(1.7rem,3.6vw,2.5rem)}h3{font-size:1.25rem}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
header.top{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px}
.logo{font-family:var(--fh);font-weight:700;font-size:1.35rem;text-decoration:none;color:var(--ink);white-space:nowrap}
.logo b{color:var(--main)}.logo i{font-style:normal;color:var(--ink-soft);font-size:.8em;margin-left:1px}
nav.main{display:flex;gap:18px;align-items:center;flex-wrap:wrap}nav.main a{text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem}
nav.main a:hover,nav.main a.on{color:var(--main)}
.btn{display:inline-block;background:var(--main);color:#fff;text-decoration:none;font-weight:700;padding:.75em 1.3em;border-radius:var(--r);border:2px solid var(--main)}
.btn:hover{background:var(--main-dk);border-color:var(--main-dk)}.btn.ghost{background:transparent;color:var(--main-dk)}
.btn.light{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
nav.main{flex-wrap:nowrap}.burger{background:none;border:0;font-size:1.65rem;line-height:1;color:var(--ink);cursor:pointer;padding:4px 2px}
@media(max-width:1100px){nav.main a.mid{display:none}}@media(max-width:760px){nav.main a:not(.btn){display:none}nav.main .btn{padding:.55em .9em;font-size:.9rem}}
.menu-overlay{position:fixed;inset:0;background:rgba(27,27,32,.45);opacity:0;pointer-events:none;transition:opacity .25s;z-index:40}
.menu-overlay.active{opacity:1;pointer-events:auto}
.menu-panel{position:fixed;top:0;right:0;height:100%;width:350px;max-width:88vw;background:var(--paper);border-left:3px solid var(--ink);
 transform:translateX(105%);transition:transform .28s ease;z-index:50;overflow-y:auto;padding:22px 20px 28px}
.menu-panel.active{transform:translateX(0)}
.menu-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.menu-close{background:none;border:0;font-size:2rem;line-height:1;color:var(--ink);cursor:pointer}
.menu-group{margin-bottom:18px}.menu-title{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--main);margin:0 0 6px 10px}
.menu-item{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.98rem}
.menu-item:hover,.menu-item.on{background:var(--mist)}.menu-item .ic{width:22px;text-align:center;flex:none}
.menu-note{font-size:.8rem;color:var(--ink-soft);border-top:1px solid var(--line);padding-top:12px}
.hero{background:var(--hero-bg);color:var(--hero-ink);padding:84px 0 92px;position:relative;overflow:hidden}
.hero h1,.hero h2{color:var(--hero-ink)}.hero p.lead{font-size:1.25rem;max-width:33em;opacity:.92}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);column-gap:56px;align-items:center}.hero .wrap>*{grid-column:1}.hero .wrap>.rings{grid-column:2;grid-row:1 / span 8;width:100%;max-width:440px;height:auto;justify-self:end;pointer-events:none}@media(max-width:900px){.hero .wrap{grid-template-columns:1fr}.hero .wrap>.rings{grid-column:1;grid-row:auto;order:99;max-width:300px;justify-self:start;margin-top:30px}}

.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:700;color:var(--main)}
.hero .eyebrow{color:var(--accent)}
section{padding:72px 0}section.alt{background:var(--mist)}
.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.grid.three{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.grid.three{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:6px}
.card p{margin:.2em 0}.card .btn{align-self:flex-start;margin-top:auto}
.course .tagline{font-weight:600;color:var(--ink)}.course .meta{color:var(--ink-soft);font-size:.9rem;margin:.6em 0}.course .listen{margin:.4em 0 .9em}.course .listen .meta{margin:.2em 0 .35em}.course audio{width:100%;max-width:100%;height:36px}details.qa{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:0;margin:0 0 10px;overflow:hidden}details.qa summary{cursor:pointer;padding:14px 18px;font-family:var(--fh);font-weight:700;color:var(--ink);list-style:none}details.qa summary::-webkit-details-marker{display:none}details.qa summary:after{content:"+";float:right;color:var(--main);font-size:1.3em;line-height:1}details.qa[open] summary:after{content:"2"}details.qa p{margin:0 18px 12px}details.qa p.src{font-size:.88rem;color:var(--ink-soft);font-style:italic}
.step{position:relative;padding-top:58px}.step .n{position:absolute;top:18px;left:24px;width:34px;height:34px;border-radius:50%;background:var(--main);color:#fff;font-weight:700;display:grid;place-items:center}
.step.zero .n{background:var(--accent);color:var(--accent-ink)}.grid.three .step.zero{grid-column:1/-1}
.lead2{font-size:1.2rem;max-width:44em;color:var(--ink-soft)}
.video{position:relative;padding-top:56.25%;max-width:960px;border-radius:var(--r);overflow:hidden;background:#000;margin:8px 0 6px}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.essay{max-width:42em;margin:0 auto}.essay p{font-size:1.1rem;line-height:1.8}.essay .sig{margin-top:1.6em}.essay .sig small{display:block;color:var(--ink-soft)}
.pull{margin:28px 0;padding:18px 0;border-top:2px solid var(--accent);border-bottom:2px solid var(--accent);font-family:var(--fh);font-size:1.35rem;line-height:1.45;text-align:center;color:var(--main-dk)}
.refnav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:24px;font-weight:600}
.stat{font-family:var(--fh);font-size:2.2rem;font-weight:700;color:var(--main-dk);margin:0 0 6px;line-height:1.1}
.band{background:var(--deep);color:#fff;padding:64px 0}.band h2{color:#fff}.band p{opacity:.9;max-width:44em}
.band .quote,.quote.onband{color:#fff}footer .flogo{color:#fff}footer .flogo i{color:#fff}.quote{font-family:var(--fh);font-size:clamp(1.4rem,3vw,2rem);line-height:1.3;max-width:30em}
.src{font-size:.85rem;color:var(--ink-soft)}.band .src{color:#fff;opacity:.7}
ul.ticks{list-style:none;padding:0}ul.ticks li{padding-left:1.6em;position:relative;margin:.45em 0}
ul.ticks li:before{content:"\2713";position:absolute;left:0;color:var(--main);font-weight:700}
.card .practice{margin-top:.6em;padding-top:.6em;border-top:1px dashed var(--line);font-size:.95em}.card .practice b{color:var(--main-dk)}
.pledge{background:#fff;border:3px solid var(--line);border-radius:var(--r);padding:28px 30px;max-width:46em;margin:0 auto}
.pledge h2{margin-top:0}.pledge ol{list-style:none;padding:0;margin:1em 0 0}.pledge li{position:relative;padding-left:2.6em;margin:.75em 0}
.pledge li span{position:absolute;left:0;top:0;width:1.9em;height:1.9em;border-radius:50%;background:var(--main);color:#fff;font-weight:700;display:grid;place-items:center;font-size:.9em}
.pledge li:first-child span{background:var(--accent);color:var(--accent-ink)}.pledge .credit{font-size:.9em;color:var(--ink-soft);margin-top:1.2em}
.two{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}@media(max-width:820px){.two{grid-template-columns:1fr}}
.book{border-left:4px solid var(--main);padding:4px 0 4px 16px;margin:14px 0}.book b{display:block}
form .f{display:block;margin:0 0 14px}form label{font-weight:600;display:block;margin-bottom:4px}
input,select,textarea{width:100%;font:inherit;padding:.65em .8em;border:1px solid var(--line);border-radius:10px;background:#fff}
textarea{min-height:140px}
footer{background:var(--deep);color:#fff;padding:48px 0 30px;font-size:.95rem}footer a{color:#fff;opacity:.85}
footer .cols{display:grid;gap:26px;grid-template-columns:2fr 1fr 1fr}@media(max-width:760px){footer .cols{grid-template-columns:1fr}}
footer .small{opacity:.65;font-size:.85rem;margin-top:28px}
.draftbar{background:var(--accent);color:var(--accent-ink);text-align:center;font-size:.85rem;padding:6px 10px;font-weight:600}
.draftbar a{color:var(--accent-ink)}

.hero{border-bottom:4px solid #1B1B20}.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:22px;background:repeating-linear-gradient(90deg,#1B1B20 0 6px,#C8442F 6px 46px,#1B1B20 46px 52px,#E2A42B 52px 92px,#1B1B20 92px 98px,#3C8DBC 98px 138px,#1B1B20 138px 144px,#3E8E5E 144px 184px)}
.card{border:3px solid #1B1B20;box-shadow:6px 6px 0 #1B1B20;background:#fff}.grid .card:nth-child(4n+1){box-shadow:6px 6px 0 #C8442F}.grid .card:nth-child(4n+2){box-shadow:6px 6px 0 #E2A42B}
.grid .card:nth-child(4n+3){box-shadow:6px 6px 0 #3C8DBC}.grid .card:nth-child(4n+4){box-shadow:6px 6px 0 #3E8E5E}
.btn{border-radius:4px;border-width:3px;border-color:#1B1B20}.step .n{border-radius:0;border:3px solid #1B1B20}
header.top{border-bottom:3px solid #1B1B20}section.alt{background:#F3EDE2;border-top:3px solid #1B1B20;border-bottom:3px solid #1B1B20}
.hero .btn.ghost{color:#1B1B20!important}
.band{background:#FCEFD2;color:#1B1B20;border-top:3px solid #1B1B20;border-bottom:3px solid #1B1B20}.band h2,.band .quote,.band .quote.onband{color:#1B1B20}.band .src{color:#4C4C55;opacity:1}
footer{background:#F3EDE2;color:#1B1B20;position:relative;padding-top:70px}footer a{color:#1B1B20}footer .flogo,footer .flogo i{color:#1B1B20}footer .flogo b{color:#C8442F}
footer:before{content:"";position:absolute;left:0;right:0;top:0;height:22px;border-bottom:3px solid #1B1B20;background:repeating-linear-gradient(90deg,#1B1B20 0 6px,#C8442F 6px 46px,#1B1B20 46px 52px,#E2A42B 52px 92px,#1B1B20 92px 98px,#3C8DBC 98px 138px,#1B1B20 138px 144px,#3E8E5E 144px 184px)}
