@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/fonts/inter-latin.woff2") format("woff2")}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/plex-mono-400-latin.woff2") format("woff2")}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/plex-mono-500-latin.woff2") format("woff2")}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/plex-mono-600-latin.woff2") format("woff2")}

:root{--ivory:#F7F5ED;--forest:#203D32;--ink:#18251F;--sage:#E5EBE1;--butter:#F0D46C;--muted:#58665c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #167D69;outline-offset:4px}.container{width:min(1360px,calc(100% - 96px));margin-inline:auto}.nav-wrap{background:var(--forest);color:var(--ivory)}.topbar{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{font-size:19px;line-height:.85;font-weight:950;letter-spacing:-.09em;text-decoration:none}.nav{display:flex;gap:clamp(15px,2vw,32px);align-items:center}.nav a{text-decoration:none;font-size:11px;font-weight:800;letter-spacing:.02em}.nav a:hover,.nav a[aria-current]{color:var(--butter)}.book{background:var(--butter);color:var(--ink);font:700 11px 'IBM Plex Mono',monospace;text-decoration:none;padding:19px 20px;white-space:nowrap}.mobile-toggle{display:none}.hero{background:var(--forest);color:var(--ivory);overflow:hidden}.hero-inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:6vw;align-items:center;padding:76px 0 100px}.hero h1{font-size:clamp(44px,5.6vw,88px);line-height:1.035;letter-spacing:-.075em;max-width:920px;margin:0 0 35px;font-weight:900}.hero h1 span{color:var(--butter)}.hero .dek{max-width:690px;font-size:clamp(17px,1.45vw,21px);line-height:1.75;color:#e7eee8}.hero-meta{margin-top:34px;font:500 11px 'IBM Plex Mono',monospace;letter-spacing:.06em;color:#c7d6cc}.hero-art{width:100%;max-width:480px;aspect-ratio:4/5;position:relative;background:#2b5041;overflow:hidden;border:1px solid #45665a}.hero-art .bar{position:absolute;bottom:12%;width:13%;background:var(--sage)}.hero-art .bar.one{left:13%;height:20%}.hero-art .bar.two{left:32%;height:39%}.hero-art .bar.three{left:51%;height:60%;background:var(--butter)}.hero-art .bar.four{left:70%;height:30%}.hero-art .line{position:absolute;top:18%;left:12%;width:74%;height:1px;background:#8ca99a;transform:rotate(-21deg);transform-origin:left}.hero-art .ring{position:absolute;top:9%;right:-15%;width:65%;aspect-ratio:1;border:24px solid #162e26;border-radius:50%}.hero-art .caption{position:absolute;left:9%;top:8%;font:600 12px 'IBM Plex Mono',monospace;letter-spacing:.14em;color:#dbe9df}.article-shell{display:grid;grid-template-columns:250px minmax(0,790px);gap:clamp(55px,8vw,140px);align-items:start;padding:90px 0 130px}.aside{position:sticky;top:28px;align-self:start;font-size:13px;color:var(--muted)}.aside .small{font:600 11px 'IBM Plex Mono',monospace;letter-spacing:.08em;color:var(--forest)}.aside .author{font-size:15px;color:var(--ink);font-weight:750;margin:16px 0 8px}.aside .aside-rule{height:1px;background:#cad4c8;margin:27px 0}.toc-title{font-weight:800;color:var(--ink);margin-bottom:18px}.toc{display:flex;flex-direction:column;gap:14px;max-height:57vh;overflow:auto;padding-right:9px}.toc a{text-decoration:none;line-height:1.5;font-size:12px}.toc a:hover{color:#167D69}.article{min-width:0}.article>p:first-child{font-size:clamp(21px,2vw,26px);line-height:1.65;color:var(--forest)}.article h2{font-size:clamp(30px,3vw,43px);line-height:1.18;letter-spacing:-.05em;margin:76px 0 26px;scroll-margin-top:24px}.article h3{font-size:clamp(21px,2vw,27px);line-height:1.25;letter-spacing:-.035em;margin:42px 0 15px}.article p,.article li{font-size:17px;line-height:1.92;margin:0 0 22px}.article strong{font-weight:800}.article .key-insight{background:var(--sage);border-left:5px solid var(--forest);padding:25px 30px;font-size:19px;line-height:1.7;margin:35px 0}.article .table-scroll{overflow-x:auto;margin:30px 0 35px}.article table{border-collapse:collapse;width:100%;min-width:570px;font-size:15px;line-height:1.6}.article th{text-align:left;background:var(--forest);color:var(--ivory)}.article th,.article td{padding:18px 20px;border-bottom:1px solid #cdd6ca;vertical-align:top}.article tr:nth-child(even) td{background:#eaece5}.inline-cta{display:inline-block;background:var(--butter);padding:17px 20px;text-decoration:none;font-size:14px;font-weight:800}.end-panel{background:var(--forest);color:var(--ivory);padding:65px 0}.end-panel .container{display:flex;align-items:center;justify-content:space-between;gap:25px}.end-panel p{font-size:clamp(24px,3vw,42px);font-weight:850;line-height:1.2;letter-spacing:-.05em;max-width:650px}.end-panel a{background:var(--butter);padding:19px 24px;text-decoration:none;color:var(--ink);font-weight:800}.footer{background:#14251e;color:var(--ivory);padding:32px 0;font-size:13px}.footer .container{display:flex;justify-content:space-between;gap:20px}.footer a{color:var(--ivory)}@media(max-width:1050px){.container{width:min(100% - 60px,1200px)}.topbar{gap:14px}.nav{gap:12px}.nav a{font-size:10px}.book{padding:14px 12px}.hero-inner{grid-template-columns:1.4fr .6fr}.article-shell{grid-template-columns:210px minmax(0,1fr);gap:45px}}@media(max-width:760px){.container{width:calc(100% - 38px)}.topbar{min-height:76px;flex-wrap:wrap}.mobile-toggle{display:block;margin-left:auto;background:transparent;color:white;border:1px solid #8ba59a;padding:11px 14px;font-size:14px}.topbar>.book{display:none}.nav{display:none;width:100%;order:5;flex-direction:column;align-items:stretch;padding:15px 0 25px;gap:0}.nav.open{display:flex}.nav a{font-size:12px;padding:13px 0}.hero-inner{grid-template-columns:1fr;padding:58px 0 65px;gap:35px}.hero h1{font-size:clamp(39px,9vw,67px)}.hero-art{max-width:none;aspect-ratio:16/8}.hero-art .ring{border-width:15px}.article-shell{display:block;padding:48px 0 75px}.aside{position:static;margin-bottom:45px;padding:24px;background:var(--sage)}.aside .aside-rule{margin:15px 0}.toc{max-height:none;display:none}.toc.open{display:flex}.toc-button{border:0;background:transparent;font:800 14px Inter,Arial,sans-serif;padding:10px 0;color:var(--ink);cursor:pointer}.article h2{margin-top:57px}.article p,.article li{font-size:16px;line-height:1.85}.article .key-insight{padding:20px}.end-panel .container{display:block}.end-panel a{display:inline-block}.footer .container{display:block}}@media(min-width:761px){.toc-button{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Guide 02 v2: deliberate long-form editorial spacing, no unused hero column. */
.hero-inner{display:block;max-width:1180px;padding-top:clamp(105px,10vw,165px);padding-bottom:clamp(105px,10vw,160px)}
.hero-inner>div{max-width:1050px}
.hero h1{font-size:clamp(42px,5.15vw,76px);line-height:1.13;letter-spacing:-.058em;max-width:1000px;margin:0 0 clamp(38px,4vw,62px);text-wrap:balance;overflow-wrap:normal}
.hero .dek{max-width:750px;font-size:clamp(18px,1.45vw,21px);line-height:1.8;margin:0}
.article-shell{grid-template-columns:minmax(190px,230px) minmax(0,800px);gap:clamp(55px,7vw,120px);padding-top:clamp(75px,7vw,115px)}
.article h2{scroll-margin-top:110px;line-height:1.22;text-wrap:pretty}
.article h3{line-height:1.32;text-wrap:pretty}
@media(max-width:1050px){.hero-inner{display:block;padding-top:100px;padding-bottom:110px}.hero h1{font-size:clamp(42px,6.2vw,68px)}.article-shell{grid-template-columns:190px minmax(0,1fr);gap:48px}}
@media(max-width:760px){.hero-inner{padding-top:80px;padding-bottom:90px}.hero h1{font-size:clamp(37px,8.2vw,58px);line-height:1.14;margin-bottom:30px}.hero .dek{font-size:17px;line-height:1.8}.article-shell{display:block;padding-top:55px}}
@media(max-width:380px){.hero h1{font-size:clamp(34px,9.2vw,39px)}}


/* Editorial v3: breathing room and simplified attribution */
.hero-inner{grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr);gap:clamp(48px,6.5vw,115px);padding:clamp(90px,9vw,145px) 0 clamp(95px,10vw,150px);align-items:center}
.hero h1{font-size:clamp(44px,4.8vw,74px);line-height:1.12;letter-spacing:-.064em;max-width:820px;margin-bottom:38px;text-wrap:balance}
.hero .dek{font-size:clamp(17px,1.35vw,20px);line-height:1.8;max-width:630px;margin:0}
.hero-art{aspect-ratio:4/4.5;max-width:385px;justify-self:end}
.article-shell{padding-top:clamp(72px,7vw,110px)}
.aside>.small:first-child{margin-bottom:25px}
@media(max-width:1050px){.hero-inner{grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);gap:35px}.hero h1{font-size:clamp(42px,5.4vw,65px)}}
@media(max-width:760px){.hero-inner{grid-template-columns:1fr;gap:40px;padding:70px 0 85px}.hero h1{font-size:clamp(39px,9vw,60px);line-height:1.12}.hero-art{justify-self:start;width:min(100%,440px);max-width:none;aspect-ratio:16/9}.article-shell{padding-top:50px}}

/* Guide 01 v4: text-only hero, no illustration */
.hero-inner{display:block;max-width:1100px;margin-left:auto;margin-right:auto;padding:clamp(88px,9vw,140px) 0 clamp(95px,10vw,150px)}
.hero h1{max-width:1020px;font-size:clamp(43px,5.4vw,82px);line-height:1.1}
.hero .dek{max-width:780px}
@media(max-width:760px){.hero-inner{padding:65px 0 82px}.hero h1{font-size:clamp(38px,9vw,59px)}}

/* v5: uppercase headline with deliberate breathing room */
.hero-inner{max-width:1120px;padding:clamp(100px,10vw,160px) 0 clamp(110px,10vw,160px)}
.hero h1{font-size:clamp(42px,5.15vw,78px);line-height:1.17;letter-spacing:-.055em;max-width:1100px;margin:0 0 clamp(38px,4vw,62px);font-weight:900;text-wrap:balance;text-transform:uppercase}
.hero .dek{max-width:760px;line-height:1.85}
@media(max-width:760px){.hero-inner{padding:clamp(76px,13vw,110px) 0 92px}.hero h1{font-size:clamp(34px,8.2vw,57px);line-height:1.17;letter-spacing:-.045em;margin-bottom:32px}}
@media(max-width:390px){.hero h1{font-size:clamp(31px,8vw,36px)}}


/* Guide 02 v3: repair TOC markup and navigation legibility */
.aside .toc{display:flex;flex-direction:column;gap:0;max-height:65vh;overflow-y:auto;overflow-x:hidden;padding:0 10px 0 0;margin-top:24px;border-top:1px solid #cad4c8;scrollbar-width:thin}
.aside .toc a{display:block;width:100%;padding:12px 2px;border-bottom:1px solid #dce2d8;color:#43594e;font-size:13px;line-height:1.55;text-decoration:none;overflow-wrap:anywhere;hyphens:auto}
.aside .toc a:hover,.aside .toc a:focus-visible{color:#087c68;text-decoration:underline;text-underline-offset:3px}
.aside .toc-button{display:none}
@media(max-width:900px){
 .aside .toc{display:none;max-height:55vh;margin-top:12px}
 .aside .toc.open{display:flex}
 .aside .toc-button{display:inline-flex;min-height:44px;align-items:center}
 .aside{position:static}
}


/* Guide 02 v4: unified type scale and spacing across all article sections. */
:root{--guide-body:18px;--guide-lead:21px;--guide-h2:clamp(29px,2.55vw,38px);--guide-h3:clamp(22px,1.8vw,26px);--guide-toc:14px}
.article{font-family:Inter,Arial,sans-serif;font-size:var(--guide-body)}
.article p,.article li,.article blockquote,.article td,.article th{font-family:Inter,Arial,sans-serif;font-size:var(--guide-body);line-height:1.85;font-weight:400}
.article>p:first-child{font-size:var(--guide-lead);line-height:1.75;font-weight:400;color:var(--forest)}
.article h2{font-size:var(--guide-h2);line-height:1.22;letter-spacing:-.045em;font-weight:800;margin:76px 0 25px}
.article h3{font-size:var(--guide-h3);line-height:1.35;letter-spacing:-.025em;font-weight:750;margin:44px 0 18px}
.article strong{font-weight:700}
.article .key-insight,.article .key-insight p{font-size:var(--guide-body);line-height:1.75}
.aside .toc a{font-size:var(--guide-toc);line-height:1.55;font-weight:450;letter-spacing:0;padding:11px 2px;overflow-wrap:break-word}
.aside .small,.aside .toc-title{font-size:12px;line-height:1.5}
.hero .dek{font-size:clamp(18px,1.45vw,21px);line-height:1.75}
@media(max-width:760px){:root{--guide-body:17px;--guide-lead:19px;--guide-h2:clamp(27px,6vw,34px);--guide-h3:clamp(21px,5vw,25px);--guide-toc:14px}.article h2{margin-top:58px}.article h3{margin-top:36px}}

/* Accommodate the shared sticky header and narrow-phone text. */
.aside{top:125px;max-height:calc(100svh - 150px);overflow:auto}.article h2{scroll-margin-top:125px}.hero h1{overflow-wrap:break-word}.table-scroll:focus-visible{outline:3px solid #167D69;outline-offset:4px}.toc a{min-height:32px}.guide-card-link{color:inherit}
@media(max-width:760px){.aside{max-height:none;overflow:visible}.toc a{min-height:44px;display:flex;align-items:center}.toc-button{min-height:44px}.article h2{overflow-wrap:break-word}.end-panel a,.inline-cta{max-width:100%;line-height:1.5}.end-panel .container>*{min-width:0}}

.guide-skip{position:absolute;left:-9999px}.guide-skip:focus{left:20px;top:10px;z-index:100;background:#F7F5ED;padding:12px}

body.guide-page .rng-header:not(.is-scrolled):not(:has(.rng-nav.open)){background:#203D32}.guide-page .rng-header:not(.is-scrolled):not(:has(.rng-nav.open)) .rng-logo,.guide-page .rng-header:not(.is-scrolled):not(:has(.rng-nav.open)) .rng-nav a{color:#F7F5ED}.guide-page .rng-header:not(.is-scrolled):not(:has(.rng-nav.open)) .rng-header-cta{background:#F0D46C;color:#18251F}.guide-page .rng-header:not(.is-scrolled):not(:has(.rng-nav.open)) .rng-menu{background:#F7F5ED;color:#18251F}

/* Contents entries must keep their full wrapped height inside the scroll panel. */
.aside .toc>a{flex:0 0 auto;height:auto;min-height:44px}
