:root{--palette-canvas:#F3F7F4;--palette-ink:#18302C;--palette-surface:#DDE9E3;--palette-accent:#B24F32;--palette-supporting:#526A64;}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--palette-canvas);color:var(--palette-ink);font:17px/1.7 Arial,sans-serif}a{color:inherit;text-underline-offset:4px}a:hover{opacity:.8}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button{background:var(--palette-ink);color:var(--palette-canvas);border:1px solid currentColor;border-radius:6px;padding:10px 18px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--palette-accent);outline-offset:4px}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:20px;z-index:50;background:var(--palette-ink);color:var(--palette-canvas);padding:10px}.skip:focus{top:10px}.mastbar{padding:24px 5vw;display:flex;gap:24px;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--palette-ink) 18%,transparent)}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:23px;text-decoration:none;letter-spacing:-.7px}.mark{width:40px;height:40px;background:var(--palette-ink);color:var(--palette-canvas);display:grid;place-items:center;border-radius:10px;letter-spacing:0;font-size:19px}.edition{font-size:12px;letter-spacing:2px;text-transform:uppercase;margin-left:auto}.navlinks{display:flex;gap:12px 24px;flex-wrap:wrap}.navlinks a{text-decoration:none;font-size:14px;font-weight:600}.navlinks a[aria-current]{text-decoration:underline}.primary-nav{padding:16px 5vw;border-bottom:1px solid color-mix(in srgb,var(--palette-ink) 18%,transparent)}.menu-button{display:none}.layout,main,article,section,aside{min-width:0}.page-main{max-width:1220px;margin:0 auto;padding:46px 4vw 70px}.eyebrow{font:700 11px/1.5 Arial,sans-serif;letter-spacing:2.4px;text-transform:uppercase;margin:0 0 20px}.hero{padding:20px 0 46px;border-bottom:1px solid color-mix(in srgb,var(--palette-ink) 22%,transparent);margin-bottom:30px}.hero h1{font-size:clamp(34px,4.6vw,65px);line-height:1.08;letter-spacing:-2.5px;max-width:20ch;margin:0 0 26px}.intro{font-size:20px;max-width:63ch}.chapter{padding:30px 0;border-bottom:1px solid color-mix(in srgb,var(--palette-ink) 16%,transparent)}h2{font-size:clamp(23px,2.6vw,35px);line-height:1.25;letter-spacing:-.7px;margin:0 0 18px;max-width:33ch}p{max-width:76ch;margin:0 0 16px}ul,ol{padding-left:24px;max-width:78ch}li{padding:5px 0}figure{margin:24px 0;max-width:100%}figure img{display:block;width:100%;height:360px;object-fit:cover;border-radius:12px}figcaption{font-size:12px;margin-top:8px;line-height:1.5;opacity:.8}.chapter-index{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}.chapter-index a{font-size:12px;padding:7px 12px;border:1px solid color-mix(in srgb,var(--palette-ink) 25%,transparent);border-radius:30px;text-decoration:none}.routes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:15px;margin-top:38px}.route{display:flex;justify-content:space-between;gap:15px;border:1px solid color-mix(in srgb,var(--palette-ink) 23%,transparent);padding:22px;text-decoration:none;border-radius:8px}.route span{max-width:29ch}.sequence{list-style:none;counter-reset:steps;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sequence li{counter-increment:steps;padding:20px;background:var(--palette-surface);border-top:3px solid var(--palette-accent)}.sequence li:before{content:'0' counter(steps);display:block;font-size:34px;font-weight:800;opacity:.5}.checklist{padding:22px;background:var(--palette-surface);border-radius:10px}.checklist label{display:flex;gap:12px;padding:10px 0;align-items:flex-start;border-bottom:1px solid color-mix(in srgb,var(--palette-ink) 15%,transparent)}input[type=checkbox]{width:20px;height:20px;flex-shrink:0;margin-top:5px;accent-color:var(--palette-accent)}output{display:block;font-weight:bold;margin:15px 0 0}.route-tool{background:var(--palette-surface);padding:26px;border:1px solid var(--palette-supporting);border-radius:12px}.route-tool label{display:block;font-weight:bold;margin-bottom:12px}select{max-width:100%;width:100%;padding:12px;background:var(--palette-canvas);color:var(--palette-ink);border:1px solid var(--palette-supporting)}.contact-form{max-width:720px;background:var(--palette-surface);padding:30px;border-radius:14px}.contact-form label{display:block;margin-top:18px;font-weight:bold}.contact-form input,.contact-form textarea{width:100%;padding:13px;border:1px solid var(--palette-supporting);background:var(--palette-canvas);color:var(--palette-ink);border-radius:4px}.contact-form textarea{min-height:170px;resize:vertical}.contact-form button{margin-top:20px}.site-footer{padding:42px 5vw;background:var(--palette-ink);color:var(--palette-canvas);display:grid;grid-template-columns:1fr 1fr;gap:30px}.site-footer .brand{font-size:22px}.site-footer p{font-size:14px;max-width:65ch}.site-footer nav{display:flex;flex-wrap:wrap;align-content:start;gap:15px 24px}.site-footer nav a{font-size:13px}.reader-note{grid-column:1/-1;border-top:1px solid #ffffff33;padding-top:20px;margin:0}.utility-line{padding:9px 5vw;background:var(--palette-ink);color:var(--palette-canvas);font:12px/1.5 monospace;letter-spacing:1px}.rail{padding:32px 24px;border-right:1px solid var(--palette-supporting)}.rail .navlinks{flex-direction:column;position:sticky;top:25px}.rail .navlinks a{padding:12px 0;border-bottom:1px solid var(--palette-supporting)}.has-rail .layout{display:grid;grid-template-columns:230px minmax(0,1fr)}.has-rail .hero h1{font-family:Georgia,serif;font-weight:500}.technical .hero h1{font-family:'Courier New',monospace;font-size:clamp(32px,4.6vw,62px)}.technical .chapter{border:1px solid var(--palette-supporting);padding:28px;margin:20px 0}.technical .chapter-index a,.technical .route,.technical figure img{border-radius:0}.directory .hero{background:var(--palette-ink);color:var(--palette-canvas);padding:40px;border-radius:4px}.directory .chapter{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(0,1.5fr);gap:20px}.directory .chapter h2{grid-column:1}.directory .chapter>*:not(h2){grid-column:2}.directory .hero h1{font-family:Georgia,serif;font-weight:500}.story .mastbar{justify-content:center;flex-wrap:wrap}.story .brand{font-family:Georgia,serif;font-size:34px}.story .edition{margin-left:0}.story .primary-nav{display:flex;justify-content:center}.story .hero{text-align:center}.story .hero h1{margin-inline:auto;font-family:Georgia,serif;font-size:clamp(36px,5.4vw,76px);font-weight:500}.story .intro{margin-inline:auto}.story .chapter{max-width:850px;margin:auto}.photographic .hero h1{font-weight:900;text-transform:uppercase;font-size:clamp(35px,5.8vw,79px)}.photographic .hero figure img{height:460px;border-radius:0}.photographic .primary-nav{display:none}.photographic .primary-nav.is-open{display:block}.photographic .menu-button{display:block;margin-left:auto}.photographic .edition{display:none}.photographic .chapter{border-left:5px solid var(--palette-accent);padding-left:24px;margin-bottom:24px}.photographic .brand{font-weight:900}.site-footer [data-node]{grid-column:1/-1}.site-footer h2{font-size:18px}.site-footer ul{display:none}@media(max-width:850px){.has-rail .layout{display:block}.rail{border-right:0;padding:16px 5vw}.rail .navlinks{position:static;flex-direction:row;gap:10px 18px}.rail .navlinks a{padding:0;font-size:13px}.edition{display:none}.directory .chapter{display:block}.sequence{grid-template-columns:1fr}.hero h1{letter-spacing:-1.4px}.mastbar{padding:20px 5vw}.brand{font-size:21px}.page-main{padding:26px 5vw 45px}.primary-nav{padding:12px 5vw}.navlinks{gap:9px 18px}.hero{padding-top:14px}.intro{font-size:18px}.site-footer{grid-template-columns:1fr}.reader-note{grid-column:1}.directory .hero{padding:25px}.contact-form{padding:20px}.story .brand{font-size:27px}.technical .chapter{padding:22px}.photographic .hero figure img,figure img{height:270px}.chapter-index{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{header,.primary-nav,.rail,.site-footer,.chapter-index,button{display:none!important}.layout{display:block!important}body{background:white!important;color:black!important}.page-main{max-width:none;padding:0}figure{break-inside:avoid}}

/* Contract runtime: preserve planned geometry without allowing it to break the viewport. */
[data-node] > * { max-width: 100%; }
[data-mobile-composition="horizontal_scroll"] {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}
@media (max-width: 600px) {
  [data-mobile-composition="stack_text_first"] :is(.matrix, .role-grid, .index-columns, .steps, .path-grid, .question-grid),
  [data-mobile-composition="stack_media_first"] :is(.matrix, .role-grid, .index-columns, .steps, .path-grid, .question-grid),
  [data-mobile-composition="reorder_by_priority"] :is(.matrix, .role-grid, .index-columns, .steps, .path-grid, .question-grid),
  [data-mobile-composition="collapse_index"] :is(.matrix, .role-grid, .index-columns, .steps, .path-grid, .question-grid) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

.photo-credit{display:block;margin-block:.4rem;font:inherit;font-size:.8rem;color:inherit}.photo-credit a{color:inherit;text-decoration:underline}


/* Isolated production support shared by the accepted proof composition. */
.proof-legal-links{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center;font:600 .78rem/1.4 system-ui,sans-serif}
.proof-legal-links a{text-decoration:underline;text-underline-offset:.2em}
.proof-legal-page{margin:0;background:var(--publication-canvas,#fff);color:var(--publication-ink,#171717);font:400 1rem/1.65 system-ui,sans-serif}
.proof-legal-header,.proof-legal-footer{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;padding:1.25rem clamp(1rem,5vw,5rem);background:var(--publication-surface,#f5f5f5);color:var(--publication-ink,#171717)}
.proof-legal-header a,.proof-legal-footer a{color:inherit}.proof-legal-header nav{display:flex;flex-wrap:wrap;gap:1rem}
.proof-legal-main{width:min(100% - 2rem,78rem);margin:auto;padding:clamp(3rem,8vw,7rem) 0}.proof-legal-main article{max-width:72ch}
.proof-legal-main h1{font-size:clamp(2.5rem,7vw,5.5rem);line-height:.95;margin:0 0 2rem;overflow-wrap:anywhere}.proof-legal-main h2{font-size:clamp(1.25rem,3vw,2rem);line-height:1.15;margin:2.5rem 0 .75rem}
.legal-updated{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}
.proof-editorial-photo{display:block;width:100%;object-fit:cover}.proof-photo-portrait{height:475px}.evidence-item>.proof-editorial-photo{height:210px;border:1px solid var(--ink)}.scene>.proof-editorial-photo{height:33rem}
@media(max-width:700px){.proof-legal-header,.proof-legal-footer{align-items:flex-start;flex-direction:column}.proof-legal-main{padding-block:3rem}}
@media(max-width:900px){.proof-photo-portrait{height:350px}}
@media(max-width:600px){.scene>.proof-editorial-photo{height:27rem}}

.proof-legal-page{--publication-canvas:#F3F7F4;--publication-ink:#18302C;--publication-surface:#DDE9E3;}


/* Factual privacy notice: necessary local storage only unless LegalFacts enables more. */
#cookie-consent{position:fixed;z-index:10000;left:clamp(.75rem,3vw,2rem);right:clamp(.75rem,3vw,2rem);bottom:clamp(.75rem,3vw,2rem);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem 2rem;max-width:72rem;margin-inline:auto;padding:1rem 1.15rem;background:#111820;color:#f8fafc;border:1px solid rgba(255,255,255,.2);border-radius:.75rem;box-shadow:0 1rem 3rem rgba(0,0,0,.35);font:400 .95rem/1.5 system-ui,sans-serif}
#cookie-consent[hidden],#cookie-settings[hidden],#cookie-preferences[hidden]{display:none!important}#cookie-consent p{margin:0;color:#f8fafc}#cookie-consent strong{display:block;margin-bottom:.2rem;font-size:1rem;color:#fff}#cookie-consent a{color:#b9dcff;text-decoration:underline;text-underline-offset:.18em}#cookie-consent .cookie-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}#cookie-consent button,#cookie-settings button,#cookie-preferences{appearance:none;border:1px solid #fff;border-radius:.45rem;background:#fff;color:#111820;padding:.7rem 1rem;font:700 .88rem/1 system-ui,sans-serif;cursor:pointer}#cookie-consent .cookie-secondary{background:transparent;color:#fff}#cookie-consent button:focus-visible,#cookie-consent a:focus-visible,#cookie-settings button:focus-visible,#cookie-preferences:focus-visible{outline:3px solid #8bc5ff;outline-offset:3px}#cookie-preferences{position:fixed;z-index:9999;right:1rem;bottom:1rem;background:#111820;color:#fff;border-color:rgba(255,255,255,.65);box-shadow:0 .5rem 1.5rem rgba(0,0,0,.25)}
#cookie-settings{position:fixed;z-index:10001;inset:0;display:grid;place-items:center;padding:1rem;background:rgba(4,9,14,.7);font:400 .95rem/1.5 system-ui,sans-serif}#cookie-settings .cookie-panel{width:min(100%,36rem);max-height:min(90vh,46rem);overflow:auto;padding:1.25rem;background:#fff;color:#111820;border-radius:.75rem;box-shadow:0 1.25rem 4rem rgba(0,0,0,.4)}#cookie-settings h2{margin:0 0 .5rem;color:#111820;font-size:1.5rem}#cookie-settings p{color:#334155}#cookie-settings .cookie-category{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;border-top:1px solid #d7dde5}#cookie-settings .cookie-category b{color:#111820}#cookie-settings .cookie-state{color:#315c42;font-weight:700;white-space:nowrap}#cookie-settings .cookie-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1rem}
#cookie-settings .cookie-panel{box-sizing:border-box;overflow-wrap:anywhere}#cookie-settings .cookie-actions{flex-wrap:wrap}#cookie-settings button{max-width:100%;overflow-wrap:anywhere}
@media(max-width:680px){#cookie-consent{grid-template-columns:1fr;gap:.85rem}#cookie-consent .cookie-actions{justify-content:flex-start}#cookie-settings .cookie-category{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem 1rem}#cookie-settings .cookie-category>div{display:contents}#cookie-settings .cookie-category p{grid-column:1/-1;grid-row:2;margin:0}#cookie-settings .cookie-state{grid-column:2;grid-row:1;white-space:normal}}

/* Keep the persistent privacy control clear of the final footer links. */
body:has(> #cookie-preferences:not([hidden])){padding-bottom:calc(5rem + env(safe-area-inset-bottom))}
#cookie-preferences{max-width:calc(100vw - 2rem)}
