:root{--celery:#E7EBCB;--celery-rgb:231,235,203;--ink:#1C1E15;--ink-rgb:28,30,21;--plum:#5B2A56;--plum-rgb:91,42,86;--card:#F6F7E8;--card-rgb:246,247,232;--ink-soft:rgba(var(--ink-rgb),0.78);--ink-dim:rgba(var(--ink-rgb),0.70);--rule:rgba(var(--ink-rgb),0.22);--rule-strong:rgba(var(--ink-rgb),0.42);--mark:rgba(var(--ink-rgb),0.55);--font-display:'Frank Ruhl Libre','Vollkorn',Georgia,serif;--font-body:'Lora','Faustina',Georgia,serif;--font-label:'Sofia Sans Condensed','Archivo Narrow','Arial Narrow',sans-serif;--body-size:1.15rem;--measure:57ch;--pad:clamp(1.15rem,4vw,3rem);--shell:78rem;--bar-h:4px;--spine-w:11rem;--ease-settle:cubic-bezier(0.16,1,0.3,1);color-scheme:light}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}html.lenis{scroll-behavior:auto}body{background:var(--celery);color:var(--ink);font-family:var(--font-body);font-size:var(--body-size);font-weight:400;line-height:1.72;-webkit-font-smoothing:antialiased;overflow-x:hidden}ol,ul{list-style:none}a{color:inherit}::selection{background:rgba(var(--plum-rgb),0.92);color:var(--card)}:focus-visible{outline:2px solid var(--plum);outline-offset:3px}.column{display:grid;grid-template-columns:1fr min(var(--measure),100%) 1fr;max-width:var(--shell);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}.column > *{grid-column:2}.column > .wide{grid-column:2 / -1}.column > .full{grid-column:1 / -1}.has-js [data-open],.has-js [data-reveal]{opacity:0}.kicker,.chapter-no,.section-no,.figure-no,.pcard-no,.about-h,.endnote-h,.masthead-issue{font-family:var(--font-label);font-size:0.82rem;font-weight:600;line-height:1.3;letter-spacing:0.15em;text-transform:uppercase;color:var(--ink-dim)}.wordmark{font-family:var(--font-label);font-size:1.45rem;font-weight:700;line-height:1;letter-spacing:0.3em;text-transform:uppercase;text-decoration:none;color:var(--ink)}.section-title,.chapter-title{font-family:var(--font-display);font-weight:500;letter-spacing:-0.01em}.chapter-title{margin-top:0.5rem;font-size:clamp(1.9rem,3.6vw,2.6rem);line-height:1.1}.chapter-title:focus{outline:none}.chapter-title:focus-visible{outline:2px solid var(--plum);outline-offset:6px}.section-title{margin-top:0.5rem;font-size:clamp(1.8rem,3.2vw,2.35rem);line-height:1.14;max-width:34ch}.section-lede{margin-top:1rem;max-width:46ch;color:var(--ink-soft);font-size:1.05rem;line-height:1.6}.section-head{margin-bottom:clamp(1.75rem,4vw,2.75rem)}.topbar{display:none}.has-js .topbar{display:block;position:fixed;top:0;left:0;right:0;z-index:90;height:var(--bar-h);background:rgba(var(--ink-rgb),0.14)}.topbar-fill{display:block;height:100%;width:100%;background:var(--plum);transform:scaleX(0);transform-origin:left center}.spine{display:none}.spine-rule{flex:none;width:2px;height:100%}.spine-track{stroke:rgba(var(--ink-rgb),0.26);stroke-width:2}.spine-thread{stroke:var(--plum);stroke-width:2;fill:none;stroke-dasharray:1;stroke-dashoffset:0}.has-js .spine-thread{stroke-dashoffset:1}.spine-list{display:flex;flex-direction:column;justify-content:space-between;height:100%;margin-left:-1px}.spine-item{display:flex;align-items:center;gap:0.5rem;padding:0.35rem 0;font-family:var(--font-label);font-size:0.86rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none;color:rgba(var(--ink-rgb),0.68);transition:color 0.25s}.spine-tick{flex:none;width:0.6rem;height:1px;background:var(--mark);transition:width 0.4s var(--ease-settle),height 0.25s,background-color 0.25s}.spine-num{flex:none}.spine-name{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width 0.45s var(--ease-settle),opacity 0.3s}.spine-item:hover,.spine-item:focus-visible{color:var(--plum)}.spine-item:hover .spine-name,.spine-item:focus-visible .spine-name{max-width:9rem;opacity:1}.spine-item:hover .spine-tick,.spine-item:focus-visible .spine-tick{width:1.2rem}.spine-item.is-current{color:var(--plum)}.spine-item.is-current .spine-tick{width:1.75rem;height:2px;background:var(--plum)}.spine-item.is-current .spine-name{max-width:9rem;opacity:1}.opening{padding-top:clamp(2.5rem,6vw,4.5rem);padding-bottom:clamp(2.5rem,6vw,4rem)}.masthead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0.75rem 2rem;padding-bottom:1.1rem;margin-bottom:clamp(2.5rem,7vw,5rem);border-bottom:1px solid var(--rule-strong)}.title{max-width:22ch;margin-top:0.9rem;font-family:var(--font-display);font-weight:700;font-size:clamp(3.1rem,9vw,6rem);line-height:0.98;letter-spacing:-0.025em}.standfirst{max-width:40ch;margin-top:1.6rem;font-size:clamp(1.2rem,2vw,1.42rem);line-height:1.5;color:var(--ink-soft)}.meta-rule{display:flex;flex-wrap:wrap;gap:1.1rem clamp(1.75rem,5vw,3.5rem);margin-top:clamp(2rem,5vw,3rem);padding:1.15rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.meta-cell dt{font-family:var(--font-label);font-size:0.76rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--ink-dim)}.meta-cell dd{margin-top:0.15rem;font-family:var(--font-display);font-size:1.1rem;line-height:1.3}.chapter{padding-top:clamp(2.5rem,6vw,4.5rem);padding-bottom:clamp(2.5rem,6vw,4.5rem)}.chapter-head{margin-bottom:1.75rem}.prose{max-width:var(--measure)}.prose + .prose{margin-top:1.35rem}.prose em{font-style:italic}.prose--drop::first-letter{float:left;margin:0.1em 0.1em 0 0;font-family:var(--font-display);font-weight:700;font-size:4.4em;line-height:0.78;color:var(--plum)}.figure{width:min(100%,58rem);margin:clamp(2rem,4.5vw,3rem) auto}.figure-plate{padding:clamp(0.75rem,2vw,1.25rem);border:1px solid var(--rule);background:rgba(var(--card-rgb),0.55);overflow-x:auto;overscroll-behavior-x:contain}.figure-plate svg{display:block;width:100%;height:auto}.figure-cap{margin-top:0.9rem;max-width:58ch;font-size:0.94rem;line-height:1.55;color:var(--ink-soft)}.figure-no{display:block;margin-bottom:0.25rem;font-size:0.78rem}.figure-swipe{display:none}.fig-title,.fig-year,.fig-note,.sch-label,.sch-flood-label{font-family:var(--font-label);font-weight:600;letter-spacing:0.13em;text-transform:uppercase;fill:var(--ink)}.fig-title{font-size:13px;letter-spacing:0.18em;fill:var(--ink-dim)}.fig-year{font-size:15px}.fig-num,.sch-num{font-family:var(--font-label);font-size:13px;font-weight:400;letter-spacing:0.09em;fill:var(--ink-dim)}.sch-label{font-size:13px}.fig-grid line{stroke:var(--rule);stroke-width:1}.fig-div line{stroke:var(--rule);stroke-width:1;stroke-dasharray:3 5}.fig-axis{stroke:var(--rule-strong);stroke-width:1.5}.fig-area{fill:rgba(var(--plum-rgb),0.13)}.fig-line{fill:none;stroke:var(--plum);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.fig-dot circle{fill:var(--plum)}.fig-ring{fill:none;stroke:var(--plum);stroke-width:1.5}.fig-leader{fill:none;stroke:var(--rule-strong);stroke-width:1}.fig-note{font-size:13px;fill:var(--plum);letter-spacing:0.11em}.sch-shell{fill:none;stroke:var(--ink);stroke-width:2;stroke-linejoin:round}.sch-slab{stroke:var(--ink);stroke-width:2}.sch-hatch{stroke:rgba(var(--ink-rgb),0.34);stroke-width:1}.sch-line{fill:none;stroke:var(--ink);stroke-width:1.2}.sch-line rect{fill:none}.sch-solid{fill:rgba(var(--ink-rgb),0.72);stroke:none}.sch-water{fill:rgba(var(--plum-rgb),0.22);stroke:var(--plum);stroke-width:1}.sch-break{fill:none;stroke:var(--rule-strong);stroke-width:1}.sch-dim line{stroke:var(--plum);stroke-width:1}.sch-leader{fill:none;stroke:var(--rule-strong);stroke-width:1}.sch-flood{stroke:var(--plum);stroke-width:1.5;stroke-dasharray:7 5}.sch-flood-label{font-size:13px;fill:var(--plum);letter-spacing:0.11em}.principles{padding:clamp(3rem,7vw,5rem) 0 clamp(2.5rem,6vw,4rem)}.stack-stage{padding:0 var(--pad)}.stack-deck{position:relative;max-width:44rem;margin:0 auto;display:flex;flex-direction:column;gap:clamp(1rem,2.5vw,1.5rem)}.pcard{display:flex;flex-direction:column;padding:clamp(1.4rem,3.2vw,2.2rem);background:var(--card);border:1px solid var(--rule);box-shadow:0 18px 40px -28px rgba(var(--ink-rgb),0.45)}.pcard-title{margin-top:0.5rem;font-family:var(--font-display);font-weight:500;font-size:clamp(1.35rem,2.4vw,1.65rem);line-height:1.14;letter-spacing:-0.01em;max-width:26ch}.pcard-body{margin-top:0.85rem;margin-bottom:1.4rem;font-size:1.02rem;line-height:1.62;max-width:54ch}.pcard-meta{margin-top:auto;padding-top:0.9rem;border-top:1px solid var(--rule);font-family:var(--font-label);font-size:0.82rem;font-weight:600;letter-spacing:0.13em;text-transform:uppercase;color:var(--plum)}.stack-step{display:none}.stack.is-stacked .stack-stage{position:relative;display:flex;flex-direction:column;justify-content:center;height:calc(100vh - var(--bar-h));height:calc(100svh - var(--bar-h));overflow:hidden}.stack.is-stacked .stack-deck{display:block;width:100%}.stack.is-stacked .pcard{position:absolute;inset:0;will-change:transform;box-shadow:0 26px 60px -30px rgba(var(--ink-rgb),0.5)}.stack.is-stacked .pcard:first-child{position:relative;inset:auto}.stack.is-stacked .stack-step{display:block;width:100%;max-width:44rem;margin:1.1rem auto 0;text-align:right;font-family:var(--font-label);font-size:0.82rem;font-weight:600;letter-spacing:0.18em;color:var(--ink-dim)}.evidence{padding-top:clamp(2.5rem,6vw,4rem);padding-bottom:clamp(2.5rem,6vw,4rem)}.pull{max-width:40rem;margin:clamp(2rem,5vw,3.25rem) 0;padding-left:clamp(1rem,3vw,1.75rem);border-left:2px solid var(--plum)}.pull p{font-family:var(--font-display);font-weight:400;font-size:clamp(1.5rem,3.2vw,2.15rem);line-height:1.2;letter-spacing:-0.012em;color:var(--plum);text-wrap:balance}.pull cite{display:block;margin-top:1rem;font-family:var(--font-label);font-style:normal;font-size:0.82rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-dim)}.table-wrap{margin-top:clamp(2rem,5vw,3rem);overflow-x:auto;overscroll-behavior-x:contain}.ledger-swipe{display:none}.ledger{width:100%;min-width:34rem;border-collapse:collapse;font-variant-numeric:tabular-nums}.ledger caption{caption-side:bottom;margin-top:0.9rem;max-width:58ch;text-align:left;font-size:0.9rem;line-height:1.5;color:var(--ink-soft)}.ledger th,.ledger td{padding:0.85rem 0.75rem;text-align:right;border-bottom:1px solid var(--rule);font-weight:400}.ledger thead th{font-family:var(--font-label);font-size:0.86rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-dim);border-bottom:1px solid var(--rule-strong)}.ledger tbody th{text-align:left;font-family:var(--font-label);font-size:0.98rem;font-weight:600;letter-spacing:0.06em;padding-left:0;white-space:nowrap}.ledger tbody td{font-size:1.02rem;white-space:nowrap}.ledger tbody tr:last-child th,.ledger tbody tr:last-child td{border-bottom:0}.ledger tbody td:last-child{color:var(--plum);font-weight:500}.close{padding-top:clamp(2.5rem,6vw,4rem);padding-bottom:2.5rem}.endnote{max-width:var(--measure);padding-top:clamp(1.75rem,4vw,2.5rem);border-top:1px solid var(--rule-strong)}.endnote-h{margin-bottom:0.85rem}.endnote .prose{font-size:1.05rem}.about{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,3rem);max-width:58rem;margin-top:clamp(2.5rem,6vw,3.5rem)}.about-h{margin-bottom:0.6rem}.about-body{font-size:0.98rem;line-height:1.62;color:var(--ink-soft)}.foot{margin-top:clamp(3rem,7vw,5rem);padding-top:1.5rem;border-top:1px solid var(--rule-strong)}.foot-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem}.wordmark--foot{font-size:1.25rem}.foot-nav{display:flex;flex-wrap:wrap;gap:0.6rem 1.5rem}.foot-nav a{font-family:var(--font-label);font-size:0.88rem;font-weight:600;letter-spacing:0.11em;text-transform:uppercase;text-decoration:none;color:var(--plum);border-bottom:1px solid transparent;transition:border-color 0.2s}.foot-nav a:hover{border-bottom-color:var(--plum)}.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0.4rem 1.5rem;margin-top:1.75rem;font-family:var(--font-label);font-size:0.86rem;letter-spacing:0.06em;color:var(--ink-dim)}@media (min-width:1100px){:root{--bar-h:0px}.has-js .topbar{display:none}.page{padding-left:var(--spine-w)}.spine{display:flex;gap:0.9rem;position:fixed;top:50%;left:clamp(1.25rem,3vw,2.75rem);z-index:70;width:calc(var(--spine-w) - 2.5rem);height:21rem;transform:translateY(-50%)}}@media (max-width:860px){.about{grid-template-columns:1fr}}@media (max-width:700px){:root{--body-size:1.08rem}.title{letter-spacing:-0.02em}.prose--drop::first-letter{font-size:3.8em}.meta-rule{gap:1rem 1.75rem}.meta-cell{min-width:7rem}.pcard-body{font-size:0.98rem}.foot-base{margin-top:1.25rem}.figure-plate svg{width:34rem}.ledger-swipe,.figure-swipe{display:block;margin-bottom:0.35rem;font-family:var(--font-label);font-size:0.78rem;font-weight:600;letter-spacing:0.13em;text-transform:uppercase;color:var(--plum)}.ledger-swipe{margin-bottom:0.6rem}.ledger caption{max-width:17rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important}.has-js [data-open],.has-js [data-reveal]{opacity:1}}