:root {
  --paper:#f2eadc;
  --paper-2:#e4d8c7;
  --paper-3:#d2c1aa;
  --ink:#101820;
  --ink-soft:#4b5153;
  --night:#071827;
  --night-2:#0c2736;
  --cream:#f7efe1;
  --red:#a91f36;
  --red-bright:#d54235;
  --gold:#e5bd35;
  --orange:#ec7a24;
  --blue:#17677b;
  --green:#2b6657;
  --violet:#6a477b;
  --line:rgba(16,24,32,.22);
  --line-strong:rgba(16,24,32,.52);
  --shadow:0 26px 80px rgba(6,17,27,.18);
  --serif:Georgia,'Times New Roman',Times,serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;
  --max:1500px;
  --header:78px;
}
html[data-theme='dark'] {
  --paper:#111b22;
  --paper-2:#18262f;
  --paper-3:#273841;
  --ink:#f4ecde;
  --ink-soft:#c8bcad;
  --line:rgba(244,236,222,.18);
  --line-strong:rgba(244,236,222,.46);
  --shadow:0 26px 80px rgba(0,0,0,.38);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.58;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;z-index:900;pointer-events:none;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.09'/%3E%3C/svg%3E");mix-blend-mode:multiply}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
::selection{background:var(--red);color:#fff}
.skip-link{position:fixed;top:-6rem;left:1rem;z-index:1000;background:var(--cream);color:var(--night);padding:.8rem 1rem;font-weight:800;text-decoration:none;border:2px solid var(--night)}
.skip-link:focus{top:1rem}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Progressive enhancement: content is visible until JavaScript deliberately enhances it. */
.reveal{opacity:1;transform:none}
html.reveal-ready .reveal:not(.is-visible){opacity:0;transform:translateY(24px);animation:reveal-failsafe .8s ease 4s forwards}
html.reveal-ready .reveal.is-visible{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.3,1)}
@keyframes reveal-failsafe{to{opacity:1;transform:none}}

.site-header{position:sticky;top:0;z-index:300;min-height:var(--header);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;padding:0 clamp(1rem,3.8vw,4.5rem);border-bottom:1px solid rgba(246,239,225,.18);background:color-mix(in srgb,var(--night) 94%,transparent);color:var(--cream);backdrop-filter:blur(18px)}
.site-header::before{content:'';position:absolute;inset:0 auto 0 27%;width:10%;background:var(--blue);transform:skewX(-25deg);opacity:.42;pointer-events:none}
.site-header::after{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--gold) 0 23%,var(--red) 23% 49%,var(--blue) 49% 72%,var(--orange) 72%)}
.wordmark{position:relative;z-index:1;text-decoration:none;display:flex;flex-direction:column;line-height:1}
.wordmark-line{display:flex;align-items:baseline;gap:.72rem}
.wordmark-main{font-family:var(--serif);font-weight:700;letter-spacing:.065em;font-size:.98rem}
.wordmark-domain{padding-left:.7rem;border-left:1px solid rgba(247,239,225,.34);font:900 .56rem/1 var(--mono);letter-spacing:.16em;color:var(--gold);white-space:nowrap}
.wordmark-sub{font:700 .59rem/1.3 var(--mono);letter-spacing:.12em;margin-top:.45rem;color:#d3c6b5}
.site-nav{position:relative;z-index:1;display:flex;justify-content:flex-end;align-items:center;gap:clamp(.68rem,1.5vw,1.55rem)}
.site-nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font:800 .62rem/1.2 var(--sans);padding:.55rem .05rem;border-bottom:2px solid transparent;white-space:nowrap}
.site-nav a:hover,.site-nav a:focus-visible,.site-nav a[aria-current='page']{border-color:var(--gold);color:var(--gold)}
.header-tools{position:relative;z-index:1;display:flex;align-items:center;gap:.65rem}
.theme-toggle,.menu-toggle{width:2.6rem;height:2.6rem;border:1px solid rgba(246,239,225,.4);background:transparent;color:var(--cream);display:grid;place-items:center;font-weight:800}
.theme-toggle:hover,.theme-toggle:focus-visible,.menu-toggle:hover,.menu-toggle:focus-visible{background:var(--cream);color:var(--night)}
.menu-toggle{display:none;width:auto;padding:0 .8rem;text-transform:uppercase;font:800 .62rem var(--mono);letter-spacing:.08em}

main{display:block}
.section{max-width:var(--max);margin:0 auto;padding:clamp(4.8rem,9vw,9rem) clamp(1.2rem,4.2vw,5rem)}
.section-edge{max-width:none}
.eyebrow{margin:0 0 1.3rem;text-transform:uppercase;letter-spacing:.16em;font:800 .68rem/1.45 var(--mono);color:var(--red)}
.eyebrow.light{color:var(--gold)}
.display{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(3.4rem,8vw,8.5rem);line-height:.86;letter-spacing:-.06em}
.display em{color:var(--red);font-weight:500}
.section-title{margin:0;font-family:var(--serif);font-size:clamp(2.8rem,6vw,6.2rem);font-weight:500;line-height:.94;letter-spacing:-.045em}
.section-title.small{font-size:clamp(2.2rem,4vw,4.2rem)}
.lede{max-width:780px;font-family:var(--serif);font-size:clamp(1.2rem,2.1vw,1.75rem);line-height:1.48;color:var(--ink-soft)}
.prose{max-width:780px;font-family:var(--serif);font-size:1.13rem;line-height:1.72}
.prose p:first-child{font-size:1.28rem}
.meta{font:800 .66rem/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.rule{height:1px;background:var(--line);margin:3rem 0}

.button-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.2rem;padding:.85rem 1.2rem;border:2px solid var(--ink);background:var(--ink);color:var(--paper);text-decoration:none;text-transform:uppercase;letter-spacing:.11em;font:850 .65rem/1.2 var(--sans);box-shadow:6px 6px 0 var(--red);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.button:hover,.button:focus-visible{transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--red)}
.button.secondary{background:transparent;color:var(--ink);box-shadow:none;border-color:var(--line-strong)}
.button.secondary:hover,.button.secondary:focus-visible{background:var(--ink);color:var(--paper);box-shadow:6px 6px 0 var(--gold)}
.button.on-dark{background:var(--cream);color:var(--night);border-color:var(--cream);box-shadow:6px 6px 0 var(--red-bright)}
.text-link{display:inline-flex;gap:.5rem;align-items:center;font-family:var(--serif);font-size:1.12rem;text-decoration-thickness:1px;text-underline-offset:.3em}
.text-link::after{content:'↗';font-family:var(--sans);font-size:.8em}

.page-hero{position:relative;min-height:72vh;overflow:hidden;background:var(--night);color:var(--cream)}
.page-hero .hero-field{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.95}
.page-hero-inner{position:relative;z-index:2;max-width:var(--max);min-height:72vh;margin:0 auto;padding:clamp(5rem,9vw,9rem) clamp(1.2rem,4.2vw,5rem);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(2rem,5vw,6rem);align-items:center}
.page-hero-copy{max-width:820px}
.page-hero-copy .display{font-size:clamp(4rem,9vw,9.5rem)}
.page-hero-copy .lede{color:#e1d5c4;max-width:670px}
.hero-art{position:relative;min-height:500px;display:grid;place-items:center}
.hero-fragment{position:relative;z-index:2;width:min(100%,680px);max-height:680px;object-fit:contain;filter:drop-shadow(0 30px 35px rgba(0,0,0,.32))}
.art-caption{position:absolute;z-index:3;right:0;bottom:0;max-width:270px;padding:1rem;background:rgba(7,24,39,.88);border:1px solid rgba(247,239,225,.3);font:700 .62rem/1.55 var(--mono);letter-spacing:.08em;text-transform:uppercase}

.number-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.number-grid article{min-height:190px;padding:1.6rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.number-grid span{font:800 .68rem var(--mono);color:var(--red)}
.number-grid h3{margin:2.5rem 0 .7rem;font-family:var(--serif);font-size:1.65rem;font-weight:500}
.number-grid p{margin:0;color:var(--ink-soft);font-size:.93rem}

.quote-field{max-width:none;background:var(--red);color:#fff4e7;padding:clamp(5rem,10vw,10rem) clamp(1.2rem,7vw,8rem)}
.quote-field blockquote{max-width:1250px;margin:0 auto;font-family:var(--serif);font-size:clamp(2.9rem,7vw,7rem);line-height:.97;letter-spacing:-.045em}
.quote-field cite{display:block;max-width:1250px;margin:2rem auto 0;font:800 .67rem var(--mono);letter-spacing:.13em;text-transform:uppercase;font-style:normal}

.excerpt{position:relative;background:#f8f1e6;color:#17212a;border:1px solid rgba(16,24,32,.26);padding:clamp(2rem,5vw,5rem);box-shadow:var(--shadow)}
.excerpt::before{content:attr(data-label);display:block;margin-bottom:2rem;font:850 .64rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.excerpt p,.excerpt pre{font-family:var(--serif);font-size:clamp(1.08rem,1.7vw,1.35rem);line-height:1.72;white-space:pre-wrap;margin:0}
.excerpt p+p{margin-top:1.2rem}
.excerpt.screenplay{background:#f4f0e9}
.excerpt.screenplay pre{max-width:720px;margin:0 auto;font-family:var(--mono);font-size:clamp(.84rem,1.15vw,1rem);line-height:1.65}

.card-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}
.panel{grid-column:span 4;border:1px solid var(--line);padding:clamp(1.5rem,3vw,2.8rem);background:color-mix(in srgb,var(--paper) 94%,white);position:relative}
.panel.wide{grid-column:span 8}.panel.full{grid-column:1/-1}.panel.half{grid-column:span 6}
.panel .panel-no{font:800 .68rem var(--mono);color:var(--red)}
.panel h3{font-family:var(--serif);font-size:clamp(1.8rem,3vw,3.1rem);line-height:1;font-weight:500;margin:2.5rem 0 1rem}
.panel p{color:var(--ink-soft)}
.panel .text-link{margin-top:1rem}

.site-footer{position:relative;overflow:hidden;background:var(--night);color:var(--cream);padding:5rem clamp(1.2rem,4.2vw,5rem) 1.5rem}
.site-footer::after{content:'';position:absolute;width:430px;height:430px;right:-100px;bottom:-270px;border:24px solid var(--red);border-radius:50%;opacity:.55}
.footer-grid{position:relative;z-index:1;max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;gap:4rem}
.footer-kicker{font:800 .68rem var(--mono);letter-spacing:.14em;color:var(--gold)}
.footer-statement{margin:.8rem 0;font-family:var(--serif);font-size:clamp(2.2rem,4vw,4.2rem);line-height:.98;max-width:850px}
.footer-copy{max-width:650px;color:#cfc2af;font-family:var(--serif);font-size:1.06rem}
.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 2rem;align-content:start}
.footer-nav a{text-transform:uppercase;text-decoration:none;font:800 .63rem/1.4 var(--mono);letter-spacing:.1em;color:#ded2c0}
.footer-nav a:hover,.footer-nav a:focus-visible{color:var(--gold)}
.footer-email{grid-column:1/-1;margin-top:1.2rem;font-family:var(--serif);font-size:1.45rem}
.footer-bottom{position:relative;z-index:1;max-width:var(--max);margin:4rem auto 0;padding-top:1.2rem;border-top:1px solid rgba(247,239,225,.22);display:flex;flex-wrap:wrap;gap:1rem 1.5rem;font:700 .61rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#cfc2af}
.footer-bottom a:last-child{margin-left:auto}
.footer-domain{color:var(--gold);font-weight:900;text-decoration:none;letter-spacing:.16em}
.footer-domain:hover,.footer-domain:focus-visible{color:var(--cream)}

@media (max-width:1180px){
  .site-header{grid-template-columns:auto 1fr auto}.menu-toggle{display:grid}.site-nav{display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;background:var(--night);padding:1.2rem;grid-template-columns:1fr 1fr;border-bottom:4px solid var(--gold);box-shadow:var(--shadow)}.site-nav.open{display:grid}.site-nav a{padding:.85rem;border-bottom:1px solid rgba(247,239,225,.18)}
  .page-hero-inner{grid-template-columns:1fr .82fr}
}
@media (max-width:860px){
  :root{--header:70px}.wordmark-sub{display:none}.site-header{padding:0 1rem;gap:.8rem}.wordmark-line{gap:.5rem}.wordmark-main{font-size:.86rem}.wordmark-domain{font-size:.49rem;padding-left:.5rem;letter-spacing:.11em}.theme-toggle{width:2.35rem;height:2.35rem}.menu-toggle{height:2.35rem}
  .section{padding:4.8rem 1.1rem}.page-hero,.page-hero-inner{min-height:auto}.page-hero-inner{padding:4.2rem 1.1rem;grid-template-columns:1fr;gap:1.4rem}.page-hero-copy .display{font-size:clamp(3.7rem,17vw,6rem)}.page-hero-copy .lede{font-size:1.1rem}.hero-art{min-height:340px;order:-1}.hero-fragment{max-height:390px}.art-caption{font-size:.56rem;max-width:220px}
  .number-grid{grid-template-columns:1fr 1fr}.number-grid article{min-height:160px}.card-grid{grid-template-columns:1fr}.panel,.panel.wide,.panel.half,.panel.full{grid-column:1}.footer-grid{grid-template-columns:1fr}.footer-nav{grid-template-columns:1fr 1fr}.footer-bottom a:last-child{margin-left:0}.display{font-size:clamp(3.4rem,16vw,6.2rem)}
}
@media (max-width:520px){
  .wordmark-main{font-size:.78rem}.wordmark-domain{font-size:.44rem;padding-left:.42rem;letter-spacing:.08em}
  .site-nav.open{grid-template-columns:1fr}.number-grid{grid-template-columns:1fr}.button-row{display:grid}.button{width:100%}.footer-nav{grid-template-columns:1fr}.footer-email{font-size:1.12rem}.excerpt{padding:1.5rem}.quote-field blockquote{font-size:2.7rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{body::before,.site-header,.site-footer,.button-row,.filter-bar{display:none!important}.reveal{opacity:1!important;transform:none!important}.section{padding:1.2rem}.page-hero{min-height:auto;background:#fff;color:#000}.page-hero-inner{min-height:auto;padding:2rem}.hero-field{opacity:.12!important}}


/* MASTER NAVIGATION RELIABILITY FIX 2026-09-02
   The header is an actual navigation control, not part of the decorative field.
   Its links remain above all page art, accept pointer input, and expose a clear current-page state. */
.site-header{
  isolation:isolate;
  background:rgba(7,24,39,.985);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.site-header::before,.site-header::after{pointer-events:none}
.wordmark,.site-nav,.site-nav a,.header-tools,.theme-toggle,.menu-toggle{pointer-events:auto}
.site-nav{z-index:5}
.site-nav a{
  position:relative;
  z-index:6;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(229,189,53,.25);
}
.site-nav a:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:4px;
}
.site-nav a[aria-current='page']{
  color:var(--gold);
  border-bottom-color:var(--gold);
}
@media(max-width:1180px){
  .site-nav{
    z-index:20;
    max-height:calc(100dvh - var(--header));
    overflow:auto;
    overscroll-behavior:contain;
  }
  .site-nav a{
    justify-content:flex-start;
    min-height:48px;
    padding:.9rem .85rem;
  }
}
