:root{--f-display:"Big Shoulders Display", "Barlow Condensed", "Arial Narrow", Impact, sans-serif;--f-body:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--gutter:clamp(16px, 4vw, 56px);--maxw:1360px;--header-h:72px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:84px}body{background-color:var(--ink);color:var(--text);font-family:var(--f-body);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.6;overflow-x:hidden}img,svg{max-width:100%;display:block}a{color:inherit}h1,h2,h3,h4,p{margin:0}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--leaf);outline-offset:3px}.skip{background:var(--paper);color:var(--ink);z-index:200;padding:10px 16px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.wrap{width:100%;max-width:var(--maxw);padding-inline:var(--gutter);margin-inline:auto}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.display{font-family:var(--f-display);text-transform:uppercase;letter-spacing:-.005em;text-wrap:balance;font-weight:900;line-height:.88}.h2{font-size:clamp(2.7rem,6.4vw,6rem)}.mono{font-family:var(--f-mono)}.tag{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);flex-wrap:wrap;align-items:center;gap:.3em .7em;font-size:.72rem;display:flex}.tag:before{content:"";background:currentColor;width:28px;height:1px}.tag b{color:var(--leaf);font-weight:500}.light .tag{color:var(--paper-mute)}.light .tag b{color:var(--brand-deep)}.lede{max-width:54ch;color:var(--mute);font-size:clamp(1.05rem,1.5vw,1.28rem)}.light .lede{color:var(--paper-mute)}.btn{min-height:50px;font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line-strong);cursor:pointer;color:var(--text);background:0 0;align-items:center;gap:.6em;padding:0 1.4rem;font-size:.8rem;font-weight:500;text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.btn:hover{border-color:var(--text)}.btn svg{flex:none;width:16px;height:16px}.btn--primary{background:var(--brand);border-color:var(--brand);color:#04100a;font-weight:600}.btn--primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.light .btn{color:var(--paper-ink);border-color:var(--line-strong)}.light .btn:hover{border-color:var(--paper-ink)}section{position:relative}.sec{padding-block:clamp(64px,8vw,116px)}.sec-head{gap:20px;margin-bottom:clamp(36px,5vw,72px);display:grid}.light{background-color:var(--paper);color:var(--paper-ink)}.dark2{background-color:var(--ink-2)}:root{color-scheme:dark;--ink:#0b110e;--ink-2:#111a15;--steel:#1b2520;--steel-2:#2a3630;--line:#ece8dd24;--line-strong:#ece8dd4d;--paper:#ece8dd;--paper-2:#dcd6c6;--paper-ink:#131915;--paper-mute:#5a6058;--mute:#9ba59d;--text:#ece8dd;--brand:#3f9a4b;--brand-hover:#8fcf72;--brand-deep:#1f5a2c;--leaf:#8fcf72;--earth:#b48a55;--clay:#7a5a3e;--water:#4bb0d0;--hdr-bg:#0b110ee6;--footer-bg:#070b09;--form-bg:#ece8dd;--grid-img:none;--fig-bg:transparent;--sv-text:#d7d3c6;--sv-dim:#93a094;--sv-line:#ece8dd;--sv-body:#1c2621;--sv-edge:#4a5a52;--load:#f0a94a;--load-hi:#f0a94a;--res:#7fd05f;--conc:#a9a595;--conc-2:#8f8b7f;--rebar:#1f7a34;--strata-tx:#ebe5d2}:root[data-theme=light]{color-scheme:light;--ink:#efece3;--ink-2:#e8e4d8;--steel:#e1dccf;--steel-2:#d2ccbb;--line:#151a1726;--line-strong:#151a175c;--paper:#e0dbcd;--paper-2:#363e39;--paper-ink:#151a17;--paper-mute:#4d564f;--mute:#4f5952;--text:#151a17;--brand:#2e8a3d;--brand-hover:#226b2e;--brand-deep:#1d5a2a;--leaf:#1c6a2d;--earth:#86602f;--water:#1f7f9e;--hdr-bg:#efece3eb;--footer-bg:#d9d3c3;--form-bg:#fbf9f3;--grid-img:linear-gradient(#151a170d 1px, transparent 1px), linear-gradient(90deg, #151a170d 1px, transparent 1px);--fig-bg:#131a16;--sv-text:#2a322d;--sv-dim:#4d564f;--sv-line:#26302a;--sv-body:#d3cebe;--sv-edge:#4a5750;--load:#a85a00;--conc:#c6c1b3;--conc-2:#aaa596;--rebar:#14602a}body,section{background-image:var(--grid-img);background-size:48px 48px}.on-dark{--ink:#0b110e;--steel:#1b2520;--line:#ece8dd24;--line-strong:#ece8dd4d;--text:#ece8dd;--paper-2:#dcd6c6;--mute:#9ba59d;--leaf:#8fcf72;--earth:#b48a55;--water:#4bb0d0;--load:#f0a94a;--conc:#a9a595;--conc-2:#8f8b7f;--rebar:#1f7a34;--sv-line:#ece8dd;color:var(--text);background-image:none}:root[data-theme=light] .stage [fill=\#1c2621]{fill:var(--sv-body)}:root[data-theme=light] .stage .sky [stroke=\#3d4b44],:root[data-theme=light] .stage .sky [stroke=\#4a5a52],:root[data-theme=light] .stage .sky [stroke=\#7b8c82],:root[data-theme=light] .stage .sky [stroke=\#33413a],:root[data-theme=light] .stage .sky [stroke=\#2c3832]{stroke:var(--sv-edge)}:root[data-theme=light] .stage .sky [fill=\#0b110e]{fill:#26302a}:root[data-theme=light] .stage .sl{stroke:var(--leaf)}.hdr{z-index:100;height:var(--header-h);border-bottom:1px solid #0000;transition:background .3s,border-color .3s;position:fixed;inset:0 0 auto}.hdr.solid{background:var(--hdr-bg);backdrop-filter:blur(10px);border-color:var(--line)}.hdr .wrap{justify-content:space-between;align-items:center;gap:24px;height:100%;display:flex}.brand{color:var(--text);align-items:center;gap:12px;text-decoration:none;display:flex}.brand svg{flex:none;width:50px;height:auto}.brand span{line-height:1;display:grid}.brand strong{font-family:var(--f-display);letter-spacing:.04em;text-transform:uppercase;font-size:1.35rem;font-weight:900}.brand small{font-family:var(--f-mono);letter-spacing:.3em;color:var(--leaf);margin-top:4px;font-size:.58rem}.nav{align-items:center;gap:clamp(12px,1.5vw,22px);display:flex}.hact{align-items:center;gap:10px;display:flex}.nav a.l{font-family:var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--paper-2);white-space:nowrap;padding:8px 0;font-size:.7rem;text-decoration:none;position:relative}.nav a.l:after{content:"";background:var(--leaf);height:1px;transition:right .25s;position:absolute;bottom:2px;left:0;right:100%}.nav a.l:hover:after,.nav a.l[aria-current=page]:after{right:0}.nav a.l[aria-current=page]{color:var(--text)}.nav .btn{min-height:42px;padding:0 1rem;font-size:.72rem}.burger{border:1px solid var(--line-strong);cursor:pointer;background:0 0;place-items:center;width:46px;height:46px;display:none}.burger i{background:var(--text);width:20px;height:1.5px;display:block;position:relative}.burger i:before,.burger i:after{content:"";background:var(--text);width:20px;height:1.5px;transition:transform .25s;position:absolute;left:0}.burger i:before{top:-6px}.burger i:after{top:6px}.burger[aria-expanded=true] i{background:0 0}.burger[aria-expanded=true] i:before{transform:translateY(6px)rotate(45deg)}.burger[aria-expanded=true] i:after{transform:translateY(-6px)rotate(-45deg)}.drawer{z-index:99;background:var(--ink);padding:calc(var(--header-h) + 24px) var(--gutter) 32px;flex-direction:column;display:none;position:fixed;inset:0;overflow-y:auto}.drawer.open{display:flex}.drawer a.l{font-family:var(--f-display);text-transform:uppercase;border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;padding:8px 0;font-size:2.6rem;font-weight:800;line-height:1.05;text-decoration:none;display:flex}.drawer a.l[aria-current=page]{color:var(--leaf)}.drawer a.l small{font-family:var(--f-mono);letter-spacing:.14em;color:var(--leaf);font-size:.68rem;font-weight:400}.drawer .btn{justify-content:center;margin-top:24px}@media (width<=1239px){.nav{display:none}.burger{display:grid}}.gauge{z-index:50;pointer-events:none;width:40px;height:46vh;display:none;position:fixed;top:50%;right:14px;transform:translateY(-50%)}.gauge:before{content:"";background:var(--line-strong);width:1px;position:absolute;top:0;bottom:0;right:8px}.gauge .ticks{background:repeating-linear-gradient(to bottom, var(--line-strong) 0 1px, transparent 1px 18px);width:8px;position:absolute;top:0;bottom:0;right:8px}.gauge .mk{place-items:center;width:20px;height:20px;margin-top:-10px;display:grid;position:absolute;top:0;right:0}.gauge .mk:before{content:"";background:var(--leaf);width:9px;height:9px;transform:rotate(45deg)}.gauge output{font-family:var(--f-mono);letter-spacing:.06em;white-space:nowrap;color:var(--leaf);background:var(--hdr-bg);margin-top:-9px;padding:2px 6px;font-size:.66rem;position:absolute;top:0;right:26px}@media (width>=1240px){.gauge{display:block}}.theme{border:1px solid var(--line-strong);cursor:pointer;background:0 0;align-items:stretch;gap:2px;height:42px;padding:3px;display:inline-flex}.th-opt{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);place-items:center;padding:0 11px;font-size:.62rem;transition:background .2s,color .2s;display:grid}:root:not([data-theme=light]) .th-opt[data-t=dark],:root[data-theme=light] .th-opt[data-t=light]{background:var(--text);color:var(--ink)}.theme:hover .th-opt{color:var(--text)}:root:not([data-theme=light]) .th-opt[data-t=dark]:hover,:root[data-theme=light] .th-opt[data-t=light]:hover{color:var(--ink)}@media (width<=520px){.theme{height:46px}.th-opt{padding:0 8px;font-size:.58rem}.brand strong{font-size:1.15rem}}.ftr{background-color:var(--footer-bg);border-top:1px solid var(--line);color:var(--mute);padding-block:56px 110px;font-size:.92rem}.ftr .fg{grid-template-columns:1.4fr 1fr 1fr;gap:32px;display:grid}.ftr h4{font-family:var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--leaf);margin-bottom:12px;font-size:.68rem;font-weight:500}.ftr a{padding:3px 0;text-decoration:none;display:block}.ftr a:hover{color:var(--text)}.ftr .fine{border-top:1px solid var(--line);margin-top:36px;padding-top:18px;font-size:.78rem}@media (width<=800px){.ftr .fg{grid-template-columns:1fr}}.mbar{z-index:90;background:var(--hdr-bg);backdrop-filter:blur(10px);border-top:1px solid var(--line-strong);padding-bottom:env(safe-area-inset-bottom,0px);grid-template-columns:repeat(3,1fr);display:none;position:fixed;bottom:0;left:0;right:0}.mbar a{min-height:56px;font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;border-left:1px solid var(--line);justify-content:center;align-items:center;gap:8px;font-size:.74rem;text-decoration:none;display:flex}.mbar a:first-child{border-left:0}.mbar a.p{background:var(--brand);color:#04100a;font-weight:600}.mbar svg{width:17px;height:17px}@media (width<=700px){.mbar{display:grid}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rod,.casing-g{stroke-dashoffset:0;animation:none;transform:none}.spin,.bub{animation:none}.world .art,.ind .ia{transition:none}}.ftr .credit{text-align:center}.ftr .credit a{text-underline-offset:3px;padding:0;text-decoration:underline;display:inline}.ftr .credit strong{color:var(--text);font-weight:600}@media (width>=1100px){.ftr .credit{white-space:nowrap}}
