@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 800;font-display:swap;src:url(assets/fonts/playfair-display-latin.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400 800;font-display:swap;src:url(assets/fonts/playfair-display-italic-latin.woff2) format("woff2")}
@font-face{font-family:"Work Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/fonts/work-sans-latin.woff2) format("woff2")}

:root{
  --ink:#120e0b;--ink-2:#1b1511;--ink-3:#261d17;
  --stone:#ece4d3;--stone-2:#ddd2bd;--vein:#c9bba0;
  --gold:#c99a45;--gold-soft:#e2c27d;--bronze:#7a5530;--oxblood:#4a2a1a;
  --muted:#c8b9a1;--muted-dark:#5b4a3a;
  --display:"Playfair Display",Georgia,"Times New Roman",serif;
  --body:"Work Sans",system-ui,Arial,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:4.125rem}
body{margin:0;font-family:var(--body);font-size:1.0625rem;line-height:1.7;background:var(--ink);color:var(--stone);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
p{margin:0 0 1.1rem}
.defs{position:absolute;width:0;height:0;overflow:hidden}
.wrap{width:100%;max-width:74rem;margin:0 auto;padding:0 1.25rem}
.narrow{max-width:46rem;margin-left:auto;margin-right:auto}
.center{text-align:center}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--ink);padding:.75rem 1rem;z-index:50}
.skip:focus{left:0}

/* Engraved display type */
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.1;margin:0 0 1rem}
h2{font-size:clamp(2rem,5.5vw,3.25rem);text-transform:uppercase;letter-spacing:.12em;font-weight:500;text-wrap:balance}
h3{font-size:1.15rem;margin:0 0 .25rem;letter-spacing:.02em}
.article{font-family:var(--display);font-style:italic;color:var(--gold);letter-spacing:.08em;margin:0 0 .4rem;font-size:1rem}
.article::before,.article::after{content:"";display:inline-block;width:2.25rem;height:1px;background:currentColor;vertical-align:middle;margin:0 .75rem;opacity:.7}
.article::before{display:none}
.center .article::before,.summons .article::before{display:inline-block}
.article::after{margin-right:0}
.center .article::after,.summons .article::after{margin-right:.75rem}
section{padding:6rem 0;position:relative}

/* Header */
.site-header{position:fixed;inset:0 0 auto 0;z-index:30;transition:background .4s var(--ease),border-color .4s var(--ease),backdrop-filter .4s;border-bottom:1px solid transparent}
.site-header.is-solid{background:rgba(18,14,11,.88);backdrop-filter:blur(8px);border-bottom-color:rgba(201,154,69,.35)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.9rem;padding-bottom:.9rem}
.brand{font-family:var(--display);text-transform:uppercase;letter-spacing:.18em;font-size:.95rem;color:var(--stone);text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;gap:.3em;min-height:2rem}
.brand span,.brand-foot span,h1 .in{font-style:italic;text-transform:none;letter-spacing:.02em;color:var(--gold)}
.site-header ul{list-style:none;margin:0;padding:0;display:flex;gap:1.35rem}
.site-header nav ul{gap:1.1rem}
.site-header nav a{position:relative;white-space:nowrap;font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;text-decoration:none;color:var(--muted);padding:.4rem 0;transition:color .3s}
.site-header nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .35s var(--ease)}
.site-header nav a:hover,.site-header nav a.is-current{color:var(--stone)}
.site-header nav a:hover::after,.site-header nav a.is-current::after{transform:scaleX(1)}

/* Hero */
.hero{min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:5.25rem 0 6.75rem;overflow:hidden;text-align:center;isolation:isolate;clip-path:inset(0)}
/* Fixed backdrop: same framing as .stage-bg at the end of the push; the hero clips it, so the text scrolls over a still set */
.hero-bg{position:fixed;left:0;right:0;top:0;height:100vh;height:100lvh;background:linear-gradient(rgba(18,14,11,.5),rgba(18,14,11,.72)),url(assets/set_wide.jpg) center/cover no-repeat;z-index:-2;transform:scale(1.08)}
.hero::after{content:"";position:fixed;left:0;right:0;top:0;height:100vh;height:100lvh;background:radial-gradient(ellipse at 50% 40%,transparent 30%,rgba(18,14,11,.85) 85%);z-index:-1}
.hero-inner{max-width:56rem;padding:0 1.5rem;position:relative}
.pediment{width:min(30rem,80%);height:3.25rem;margin:0 auto 1.75rem;background:linear-gradient(to top right,transparent calc(50% - 1px),var(--gold) 50%,transparent calc(50% + 1px)) left/50% 100% no-repeat,linear-gradient(to top left,transparent calc(50% - 1px),var(--gold) 50%,transparent calc(50% + 1px)) right/50% 100% no-repeat;border-bottom:1px solid var(--gold);opacity:.85}
.eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:.75rem;color:var(--gold-soft);margin-bottom:1.25rem}
.eyebrow .dot{margin:0 .5rem;color:var(--gold)}
h1{font-size:clamp(2.75rem,9vw,6.25rem);text-transform:uppercase;letter-spacing:.08em;font-weight:500;color:var(--stone);text-shadow:0 0 8px rgba(0,0,0,.9),0 0 22px rgba(0,0,0,.88),0 0 48px rgba(0,0,0,.8),0 0 90px rgba(0,0,0,.65);margin-bottom:1rem}
h1 .in{display:block;font-size:.42em;letter-spacing:.1em;margin:.15em 0}
.tagline{font-family:var(--display);font-style:italic;font-size:clamp(1.25rem,3.4vw,1.9rem);color:var(--gold-soft);margin-bottom:1.25rem;text-wrap:balance}
.ornament{width:2.75rem;height:2.75rem;color:var(--gold);margin:0 auto 1.5rem;display:block;animation:bloom 6s ease-in-out infinite}
.ornament.small{width:2rem;height:2rem;animation:none;margin-bottom:1rem}
.lede{font-size:1.1rem;max-width:38rem;margin:0 auto 2rem;color:var(--muted)}
.actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem}
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.6rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;text-decoration:none;border:1px solid var(--gold);transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease),box-shadow .3s}
.btn-primary{background:var(--gold);color:var(--ink)}
.btn-primary:hover{background:var(--gold-soft);transform:translateY(-2px);box-shadow:0 10px 30px -10px rgba(201,154,69,.6)}
.btn-ghost{color:var(--stone);background:rgba(18,14,11,.35)}
.btn-ghost:hover{background:var(--gold);color:var(--ink);transform:translateY(-2px)}
.scroll-cue{position:absolute;bottom:2rem;left:50%;width:1.5rem;height:2.4rem;margin-left:-.75rem;border:1px solid var(--gold);border-radius:1rem}
.scroll-cue span{position:absolute;left:50%;top:.45rem;width:3px;height:.5rem;margin-left:-1.5px;background:var(--gold);border-radius:2px;animation:cue 2s var(--ease) infinite}

/* Fluted columns framing the hero */
.column{position:absolute;top:0;bottom:0;width:clamp(3rem,7vw,6.5rem);display:none;flex-direction:column;z-index:-1;opacity:.55}
.column-left{left:clamp(1rem,4vw,4rem)}
.column-right{right:clamp(1rem,4vw,4rem)}
.column .capital{height:2.25rem;margin:0 -18%;background:linear-gradient(var(--stone-2),var(--vein));border-radius:3px 3px 0 0;box-shadow:inset 0 -6px 0 rgba(0,0,0,.18)}
.column .shaft{flex:1;background:repeating-linear-gradient(90deg,#3b2f25 0 4px,#5a4836 4px 9px,#3b2f25 9px 13px),linear-gradient(90deg,rgba(0,0,0,.5),transparent 35%,transparent 65%,rgba(0,0,0,.5));background-blend-mode:multiply}
.column .base{height:1.75rem;margin:0 -14%;background:linear-gradient(var(--vein),var(--stone-2))}

/* Marble sections */
.marble{color:var(--ink);background-color:var(--stone);background-image:
  radial-gradient(ellipse 60% 40% at 15% 20%,rgba(255,255,255,.55),transparent 70%),
  radial-gradient(ellipse 50% 35% at 85% 75%,rgba(255,255,255,.45),transparent 70%),
  radial-gradient(ellipse 120% 8% at 30% 35%,rgba(150,128,96,.10),transparent 70%),
  radial-gradient(ellipse 90% 6% at 70% 62%,rgba(150,128,96,.09),transparent 70%),
  radial-gradient(ellipse 70% 50% at 50% 50%,rgba(221,210,189,.5),transparent 80%)}
.marble::before,.marble::after{content:"";position:absolute;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--bronze),var(--gold),var(--bronze))}
.marble::before{top:0}.marble::after{bottom:0}
.marble h2{color:var(--oxblood)}
.marble .article{color:var(--bronze)}
.ink{background:radial-gradient(ellipse at 50% 0%,var(--ink-3),var(--ink) 70%)}
.ink h2{color:var(--stone)}

/* Article I */
.two-col{display:grid;gap:3rem;align-items:center}
.pull{margin:0;padding:2.5rem 2rem;border-bottom:1px solid var(--bronze);background:linear-gradient(var(--bronze),var(--bronze)) left top/calc(50% - 2rem) 1px no-repeat,linear-gradient(var(--bronze),var(--bronze)) right top/calc(50% - 2rem) 1px no-repeat;text-align:center;position:relative}
.pull p{font-family:var(--display);font-style:italic;font-size:clamp(1.4rem,3vw,1.85rem);line-height:1.35;color:var(--oxblood);margin:0;text-wrap:balance}
.pull::before{content:"\201C";position:absolute;top:-1.6rem;left:50%;transform:translateX(-50%);font-family:var(--display);font-size:4rem;line-height:1;color:var(--gold);background:none;padding:0}

/* Article II: the docket */
.docket{list-style:none;margin:3rem 0 0;padding:0;position:relative}

.docket li{display:flex;gap:1.5rem;align-items:flex-start;padding:1rem 0}
.docket .num{flex:0 0 3.2rem;height:3.2rem;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;background:var(--ink);font-family:var(--display);color:var(--gold);font-size:.95rem;position:relative;z-index:1;transition:background .35s var(--ease),color .35s var(--ease),transform .35s var(--ease)}
.docket li:hover .num{background:var(--gold);color:var(--ink);transform:scale(1.08)}
.docket h3{color:var(--stone);padding-top:.55rem}
.docket p{color:var(--muted);margin:0}

/* Article III: host */
.host{display:grid;gap:3rem;align-items:center}
.arch{margin:0 auto;max-width:22rem;padding:.75rem;border:1px solid var(--bronze);border-radius:999px 999px 4px 4px;background:rgba(255,255,255,.35)}
.arch img{border-radius:999px 999px 2px 2px;aspect-ratio:2/3;object-fit:cover;filter:saturate(.95) contrast(1.03)}
.host-name{font-family:var(--display);font-style:italic;font-size:1.5rem;color:var(--bronze);margin-top:-.25rem}

/* Article IV: set viewer */
.viewer{margin-top:3rem}
.stage{margin:0;position:relative;border:1px solid rgba(201,154,69,.45);padding:.6rem;background:var(--ink-2)}
.stage img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:opacity .22s ease,transform .6s var(--ease)}
.stage img.is-swapping{opacity:0;transform:scale(1.01)}
.stage figcaption{position:absolute;left:1.4rem;bottom:1.3rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;background:rgba(18,14,11,.75);color:var(--gold-soft);padding:.35rem .7rem}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-top:.75rem}
.thumb{padding:0;border:1px solid rgba(201,154,69,.25);background:var(--ink-2);cursor:pointer;position:relative;opacity:.6;transition:opacity .3s,border-color .3s,transform .3s var(--ease)}
.thumb img{aspect-ratio:16/9;object-fit:cover;width:100%}
.thumb span{position:absolute;left:0;right:0;bottom:0;font-size:.62rem;text-transform:uppercase;letter-spacing:.15em;color:var(--stone);background:linear-gradient(transparent,rgba(0,0,0,.8));padding:.6rem .4rem .35rem}
.thumb:hover{opacity:.9;transform:translateY(-2px)}
.thumb.is-active{opacity:1;border-color:var(--gold)}

/* Article V: summons card */
.summons{background:rgba(255,255,255,.45);border:1px solid var(--bronze);outline:1px solid var(--bronze);outline-offset:6px;padding:3rem 2rem;text-align:center;box-shadow:0 30px 60px -40px rgba(74,42,26,.6)}
.summons .lead{font-family:var(--display);font-size:1.35rem;color:var(--oxblood);text-wrap:balance}

/* Article VI: platforms */
.platforms{display:grid;gap:1rem;margin-top:2.25rem}
.platform{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.4rem;border:1px solid rgba(201,154,69,.4);background:var(--ink-2);text-align:left;transition:border-color .3s,transform .3s var(--ease),background .3s;cursor:default}
.platform svg{width:1.9rem;height:1.9rem;fill:var(--stone);flex:0 0 auto;transition:fill .3s}
.platform .pname{font-family:var(--display);font-size:1.15rem;color:var(--stone);flex:1;white-space:nowrap}
.platform .soon{font-size:.65rem;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);border:1px solid rgba(201,154,69,.5);padding:.3rem .55rem}
.platform:hover{border-color:var(--gold);background:var(--ink-3)}
.platform:hover svg{fill:var(--gold)}

/* Footer */
.site-footer{padding:4.5rem 0 3rem;border-top:1px solid rgba(201,154,69,.35);background:var(--ink);color:var(--muted);font-size:.92rem}
.brand-foot{font-family:var(--display);text-transform:uppercase;letter-spacing:.2em;color:var(--stone);font-size:1.2rem}
.motto em{font-family:var(--display);color:var(--gold-soft);font-size:1.05rem}
.motto span{display:block;font-size:.8rem;opacity:.8}
.site-footer a{color:var(--gold-soft);display:inline-block;padding:.4rem 0;line-height:1.5}
.production{font-family:var(--display);font-style:italic;color:var(--gold-soft);font-size:1.05rem}
.privacy{margin-top:2rem;padding-top:1.25rem;border-top:1px solid rgba(201,154,69,.2)}
.privacy h2{font-size:.8rem;letter-spacing:.2em;color:var(--stone);margin-bottom:.5rem}

/* Reveal on scroll */
.js-reveal .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js-reveal .reveal.is-in{opacity:1;transform:none}
.js-reveal .docket .reveal{transform:translateX(-18px)}
.js-reveal .docket .reveal.is-in{transform:none}

@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(.8rem)}}
@keyframes bloom{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(36deg) scale(1.06)}}

/* Larger screens */
@media (min-width:760px){
  .two-col{grid-template-columns:1.2fr .8fr}
  .host{grid-template-columns:.8fr 1.2fr}
  .platforms{grid-template-columns:repeat(3,1fr)}
  .platform{flex-direction:column;text-align:center;padding:1.75rem 1rem}
  .platform svg{width:2.4rem;height:2.4rem}
}
@media (min-width:1000px){.column{display:flex}}
@media (max-width:1040px){.site-header nav{display:none}}
@media (max-width:820px){
  .thumbs{grid-template-columns:repeat(2,1fr)}
  section{padding:4.5rem 0}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* 404 page */
.notfound{min-height:100vh;display:grid;place-items:center;text-align:center;padding:2rem}

/* Mississippi emblems */
.flag{display:block;color:var(--gold);width:min(26rem,86%);height:auto;aspect-ratio:3/2;margin:0 auto 2rem;filter:drop-shadow(0 0 18px rgba(201,154,69,.25))}
.flag-foot{width:9rem;margin-bottom:1.25rem;opacity:.85}
.motto-band{text-align:center;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,#2b2018,var(--ink) 72%);border-top:1px solid rgba(201,154,69,.35);border-bottom:1px solid rgba(201,154,69,.35);padding:7rem 0}
.motto-band .article::before,.motto-band .article::after{display:inline-block}
.motto-big{font-size:clamp(2rem,6.4vw,6rem);letter-spacing:.08em;white-space:nowrap;color:var(--gold-soft);font-weight:500;margin:.25rem 0 .5rem;text-shadow:0 0 40px rgba(201,154,69,.25)}
.motto-trans{font-family:var(--display);font-style:italic;font-size:clamp(1.2rem,3vw,1.6rem);color:var(--stone)}
.motto-note{max-width:34rem;margin:1rem auto 0;color:var(--muted);font-size:.95rem}
.sky{position:absolute;inset:0;pointer-events:none;z-index:0}
.motto-band .wrap,.ink .wrap{position:relative;z-index:1}
.sky .st{position:absolute;width:1.1rem;height:1.1rem;color:var(--gold);opacity:.45;animation:twinkle 5s ease-in-out infinite}
.sky .st2{animation-delay:1.2s;width:.8rem;height:.8rem}.sky .st3{animation-delay:2.4s}.sky .st4{animation-delay:.6s;width:1.4rem;height:1.4rem}.sky .st5{animation-delay:3.1s;width:.7rem;height:.7rem}.sky .st6{animation-delay:1.8s}.sky .st7{animation-delay:4s;width:.9rem;height:.9rem}.sky .st8{animation-delay:2.7s}
.sky .st1{top:12%;left:8%}.sky .st2{top:22%;right:12%}.sky .st3{top:62%;left:14%}.sky .st4{top:74%;right:9%}.sky .st5{top:40%;left:4%}.sky .st6{top:46%;right:4%}.sky .st7{top:86%;left:40%}.sky .st8{top:8%;right:38%}
.sky-hero .st{opacity:.35}
.corner{position:absolute;width:1.6rem;height:1.6rem;color:var(--bronze);opacity:.8}
.summons{position:relative}
.corner.tl{top:.7rem;left:.7rem}.corner.tr{top:.7rem;right:.7rem}.corner.bl{bottom:.7rem;left:.7rem}.corner.br{bottom:.7rem;right:.7rem}
.host-from{display:flex;align-items:center;gap:.5rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.16em;color:var(--bronze)}
.mini{width:1.2rem;height:1.2rem;color:var(--bronze)}
@keyframes twinkle{0%,100%{opacity:.18;transform:scale(.85) rotate(0)}50%{opacity:.6;transform:scale(1.05) rotate(18deg)}}

/* Phone menu */
.menu{display:none;position:relative}
.menu summary{list-style:none;cursor:pointer;font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--stone);border:1px solid rgba(201,154,69,.6);padding:.45rem .8rem}
.menu summary::-webkit-details-marker{display:none}
.menu ul{position:absolute;right:0;top:calc(100% + .5rem);flex-direction:column;gap:0;background:rgba(18,14,11,.97);border:1px solid rgba(201,154,69,.4);min-width:12rem;padding:.5rem 0}
.menu a{display:block;padding:.6rem 1rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;text-decoration:none;color:var(--muted)}
.menu a:hover{color:var(--stone);background:var(--ink-3)}
@media (max-width:1040px){.menu{display:block}}

/* v4: hero flag and frieze, host crown */
.flag-hero{width:min(8.5rem,32%);margin:0 auto -1.1rem;position:relative;z-index:1;background:rgba(18,14,11,.92);filter:drop-shadow(0 0 22px rgba(201,154,69,.35))}
.pediment{margin-bottom:.15rem}
.frieze{font-family:var(--display);text-transform:uppercase;letter-spacing:.42em;font-size:clamp(.85rem,2.1vw,1.15rem);color:var(--gold-soft);margin:0 auto .1rem;padding:.2rem 0;line-height:1.4;border-bottom:1px solid rgba(201,154,69,.6);width:min(30rem,80%)}
.frieze span{color:var(--gold);margin:0 .15em}
.frieze-trans{font-family:var(--display);font-style:italic;font-size:.85rem;line-height:1.4;color:var(--muted);margin:.15rem 0 1.25rem}
.arch{position:relative;margin-top:6rem}
.crown{position:absolute;left:-10%;top:0;width:120%;height:auto;aspect-ratio:288/180;transform:translateY(-32.2%);color:var(--bronze);pointer-events:none;overflow:visible}
.sky .st{opacity:.6}

/* Article I background watermarks */
.about{overflow:hidden}
.about .wrap{position:relative;z-index:1}
.watermark{position:absolute;pointer-events:none;color:var(--bronze)}
.portico-mark{left:-4%;bottom:-2%;width:min(58rem,95%);height:auto;aspect-ratio:600/420;opacity:.09}
.magnolia-mark{right:4%;top:50%;width:min(24rem,40vw);height:auto;aspect-ratio:1;transform:translateY(-50%) rotate(-12deg);opacity:.07}
@media (max-width:760px){.magnolia-mark{display:none}.portico-mark{opacity:.07}}

/* Article II: fluted column behind the docket numerals */
.docket-wrap{position:relative;margin-top:3rem}
.docket-wrap .docket{margin-top:0;padding:2.4rem 0 2.6rem}
.docket-column{position:absolute;top:0;bottom:0;left:.2rem;width:7.6rem;display:flex;flex-direction:column;align-items:center;pointer-events:none}
.docket-column .cap{width:3.6rem;height:.9rem;border:1px solid rgba(201,154,69,.7);border-bottom:none;border-radius:.45rem .45rem 0 0;background:linear-gradient(rgba(201,154,69,.22),rgba(201,154,69,.08))}
.docket-column .abacus{width:3.1rem;height:.6rem;border:1px solid rgba(201,154,69,.7);background:rgba(201,154,69,.12)}
.docket-column .shaft{flex:1;width:3.8rem;border-left:1px solid rgba(201,154,69,.55);border-right:1px solid rgba(201,154,69,.55);background:
  repeating-linear-gradient(90deg,transparent 0 .32rem,rgba(201,154,69,.38) .32rem calc(.32rem + 1px),transparent calc(.32rem + 1px) .44rem),
  linear-gradient(90deg,rgba(0,0,0,.45),rgba(201,154,69,.06) 40%,rgba(201,154,69,.06) 60%,rgba(0,0,0,.45))}
.docket-column .plinth{width:3.1rem;height:.6rem;border:1px solid rgba(201,154,69,.7);background:rgba(201,154,69,.12)}
.docket-column .foot{width:3.8rem;height:.8rem;border:1px solid rgba(201,154,69,.7);border-top:none;background:linear-gradient(rgba(201,154,69,.08),rgba(201,154,69,.2))}
.docket .num{box-shadow:0 0 0 4px var(--ink),0 0 18px rgba(201,154,69,.25)}

/* Corinthian capital and Attic base on the docket column */
.docket-wrap .docket{padding:4.6rem 0 4rem}
.docket-column .col-cap{width:7.6rem;height:auto;aspect-ratio:140/64;color:var(--gold);margin-bottom:-1px;filter:drop-shadow(0 0 10px rgba(201,154,69,.25));flex:0 0 auto}
.docket-column .col-base{width:7.6rem;height:auto;aspect-ratio:140/44;color:var(--gold);margin-top:-1px;flex:0 0 auto}

.docket-wrap .docket li{padding-left:2.4rem}
.docket-column .shaft{background:
  repeating-linear-gradient(90deg,transparent 0 .36rem,rgba(201,154,69,.36) .36rem calc(.36rem + 1px),transparent calc(.36rem + 1px) .5rem),
  linear-gradient(90deg,rgba(0,0,0,.5),rgba(201,154,69,.07) 40%,rgba(201,154,69,.07) 60%,rgba(0,0,0,.5))}
@media (max-width:520px){.docket-wrap .docket li{padding-left:2.4rem;gap:1rem}}

/* Entrance: courthouse doors open into the set */
.facade,.enter-cue{display:none}
.js-entrance .entrance{height:250vh;position:relative}
.js-entrance .entrance-stage{position:sticky;top:0;height:100vh;height:100lvh;overflow:hidden;z-index:4}
.js-entrance .entrance + .hero{margin-top:-100vh;margin-top:-100lvh;z-index:1}
.stage-bg{display:none}
.js-entrance .stage-bg{display:block;position:absolute;inset:0;background:linear-gradient(rgba(18,14,11,.05),rgba(18,14,11,.3)),url(assets/set_wide.jpg) center/cover no-repeat;transform:scale(1.25);will-change:transform,opacity}
.js-entrance .facade{display:block;position:absolute;inset:0;z-index:5;will-change:opacity}
.doors{position:absolute;inset:0;perspective:1400px}
.facade-art{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible}
.facade-art .zoom *{vector-effect:non-scaling-stroke}
.door{position:absolute;box-sizing:border-box;background:linear-gradient(160deg,#241b15,#130e0b);border:2px solid var(--gold);padding:0;backface-visibility:hidden;will-change:transform;box-shadow:inset 0 0 30px rgba(0,0,0,.6)}
.door{border-width:calc(2px / var(--s,1))}
.door-l{transform-origin:left center;border-right-width:calc(1px / var(--s,1))}
.door-r{transform-origin:right center;border-left-width:calc(1px / var(--s,1))}
.door .panel{position:absolute;left:16%;right:16%;border:1px solid rgba(201,154,69,.65);box-shadow:inset 0 0 0 4px rgba(18,14,11,.9),inset 0 0 0 5px rgba(201,154,69,.35)}
.door .panel:first-child{top:8%;bottom:44%}.door .panel:nth-child(2){top:62%;bottom:8%}
.door .handle{position:absolute;top:50%;width:.4rem;height:2.2rem;margin-top:-1.1rem;border:1px solid var(--gold-soft);border-radius:.2rem;background:rgba(201,154,69,.25)}
.door-l .handle{right:12%}.door-r .handle{left:12%}
.js-entrance .enter-cue{display:block;position:absolute;left:50%;bottom:3.6rem;transform:translateX(-50%);z-index:6;font-size:.8rem;text-transform:uppercase;letter-spacing:.3em;color:var(--stone);background:rgba(18,14,11,.8);border:1px solid rgba(201,154,69,.45);padding:.45rem .7rem .45rem 1rem;text-decoration:none;text-align:center;white-space:nowrap}
.js-entrance .enter-cue::after{content:"";position:absolute;left:50%;top:100%;width:1px;height:2.2rem;margin:.5rem 0 0 -.5px;background:linear-gradient(var(--gold),transparent);animation:cueLine 2s ease-in-out infinite}
.js-entrance .hero .scroll-cue{opacity:0}
@keyframes cueLine{0%,100%{transform:scaleY(.4);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}}
@media (max-width:440px){.brand{font-size:.78rem;letter-spacing:.12em}.menu summary{padding:.4rem .6rem;letter-spacing:.14em}.bar{gap:.5rem}}
#host{overflow:hidden}

.facade-front{pointer-events:none}
.door{box-shadow:inset 0 0 30px rgba(0,0,0,.6),0 0 24px rgba(0,0,0,.6)}

/* ===== Episodes page ===== */
.page-episodes main{padding-top:4.5rem}
.ep-hero{padding:5rem 0 4rem}
.ep-h1{font-size:clamp(2.6rem,7vw,4.6rem);letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--stone);text-shadow:0 0 10px rgba(0,0,0,.8),0 0 40px rgba(0,0,0,.6)}
.sample-note{display:inline-block;margin-top:1rem;padding:.5rem .9rem;border:1px dashed rgba(201,154,69,.5);font-size:.8rem;color:var(--gold-soft)}

/* Thumbnail template (16:9), scales with its own width */
.tcard{position:relative;display:block;width:100%;aspect-ratio:16/9;overflow:hidden;container-type:inline-size;background:var(--ink);text-align:left}
.tcard::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,14,11,.25) 0%,rgba(18,14,11,.55) 45%,rgba(18,14,11,.92) 70%),var(--bg) center/cover no-repeat;transition:transform .6s var(--ease)}
.tc-frame{position:absolute;inset:3cqw;border:.35cqw solid rgba(201,154,69,.85);outline:.15cqw solid rgba(201,154,69,.45);outline-offset:.9cqw}
.tc-arch{position:absolute;left:8cqw;top:9cqw;bottom:9cqw;width:24cqw;border:.4cqw solid var(--gold);border-radius:999px 999px .4cqw .4cqw;background:rgba(18,14,11,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1cqw;color:var(--gold)}
.tc-mag{width:8cqw;height:8cqw;color:var(--gold)}
.tc-arch span{font-size:1.9cqw;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft)}
.tc-text{position:absolute;left:38cqw;right:6cqw;top:50%;transform:translateY(-50%);display:block}
.tc-text p{margin:0;line-height:1.1}
.tc-brand{font-family:var(--display);text-transform:uppercase;letter-spacing:.25em;font-size:2.2cqw;color:var(--muted)}
.tc-brand i{color:var(--gold);text-transform:none;letter-spacing:.05em}
.tc-num{font-family:var(--display);font-style:italic;color:var(--gold);font-size:3.4cqw;margin-top:2cqw!important}
.tc-name{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-size:6.2cqw;color:var(--stone);margin-top:1cqw!important;text-shadow:0 0 1.5cqw rgba(0,0,0,.8)}
.tc-area{font-family:var(--display);font-style:italic;font-size:3cqw;color:var(--gold-soft);margin-top:1.2cqw!important}
.tc-stars{display:flex;gap:1.2cqw;margin-top:2.4cqw!important}
.tc-stars svg{width:2.4cqw;height:2.4cqw;color:var(--gold)}

/* Featured episode */
.feat{display:grid;gap:2.5rem;align-items:center}
.feat-thumb{padding:0;border:0;background:none;cursor:pointer;position:relative;box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.feat-name{font-family:var(--display);font-size:1.6rem;color:var(--oxblood);margin:-.25rem 0 .25rem}
.feat-sub{font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:var(--bronze)}
.marble .platform{background:rgba(18,14,11,.88)}
.feat-platforms{margin-top:1.25rem}

/* Episode grid */
.ep-grid{list-style:none;margin:3rem 0 0;padding:0;display:grid;gap:2rem;grid-template-columns:1fr}
.ep-open{display:block;width:100%;padding:0;border:1px solid rgba(201,154,69,.35);background:none;cursor:pointer;position:relative;transition:transform .35s var(--ease),border-color .35s,box-shadow .35s}
.ep-open:hover,.ep-open:focus-visible{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 18px 40px -20px rgba(201,154,69,.45)}
.ep-open:hover .tcard::before{transform:scale(1.05)}
.ep-play{position:absolute;right:1rem;bottom:1rem;width:3rem;height:3rem;border-radius:50%;border:1px solid var(--gold);background:rgba(18,14,11,.75);display:grid;place-items:center;opacity:0;transform:scale(.85);transition:opacity .3s,transform .3s var(--ease)}
.ep-play svg{width:1.3rem;height:1.3rem;fill:var(--gold)}
.ep-open:hover .ep-play,.ep-open:focus-visible .ep-play{opacity:1;transform:none}
.ep-meta{padding:1rem .25rem 0}
.ep-num{font-family:var(--display);font-style:italic;color:var(--gold);margin:0 0 .2rem}
.ep-meta h3{color:var(--stone);font-size:1.3rem;margin:0 0 .3rem}
.ep-sub{color:var(--muted);margin:0;font-size:.92rem}
.ep-date{color:var(--muted);opacity:.75;margin:.2rem 0 0;font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}

/* Case file dialog */
.casefile{width:min(46rem,92vw);max-height:90vh;overflow:auto;border:1px solid var(--gold);outline:1px solid rgba(201,154,69,.45);outline-offset:6px;background:var(--ink-2);color:var(--stone);padding:2rem}
.casefile::backdrop{background:rgba(8,6,5,.82);backdrop-filter:blur(3px)}
.casefile h2{color:var(--stone);font-size:clamp(1.6rem,4vw,2.2rem)}
.casefile .feat-name{color:var(--gold-soft)}
.casefile .feat-sub{color:var(--muted)}
.cf-thumb{margin-bottom:1.5rem}
.cf-close{position:absolute;top:.6rem;right:.8rem;background:none;border:0;color:var(--gold);font-size:2rem;line-height:1;cursor:pointer}
.casefile .platforms{margin-top:1.25rem}

@media (min-width:760px){
  .feat{grid-template-columns:1.25fr 1fr}
  .ep-grid{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:1100px){.ep-grid{grid-template-columns:repeat(3,1fr)}}

/* Home: The Docket preview */
.docket-band{background:radial-gradient(ellipse at 50% 0%,#2b2018,var(--ink) 70%);border-top:1px solid rgba(201,154,69,.4);border-bottom:1px solid rgba(201,154,69,.4);overflow:hidden}
.docket-band::before,.docket-band::after{content:"";position:absolute;left:0;right:0;height:1px;background:rgba(201,154,69,.25)}
.docket-band::before{top:6px}.docket-band::after{bottom:6px}
.docket-band .wrap{position:relative;z-index:1}
.docket-band h2{color:var(--stone)}
.ep-static{position:relative;border:1px solid rgba(201,154,69,.35)}
.ep-static .tcard::before{filter:grayscale(.35) brightness(.8)}
.case-seal{position:absolute;right:.9rem;top:.9rem;font-size:.62rem;text-transform:uppercase;letter-spacing:.2em;color:var(--ink);background:var(--gold);padding:.3rem .6rem;box-shadow:0 0 0 3px rgba(18,14,11,.6)}
.docket-preview .ep-meta h3{font-size:1.15rem}
.docket-more{margin-top:2.25rem;font-family:var(--display);font-style:italic;color:var(--gold-soft)}
.site-header nav ul{gap:1rem}
.site-header nav a{letter-spacing:.13em}
/* Proceedings sits between two dark sections: give it the gold-ruled band */
.ink.band{background:radial-gradient(ellipse at 50% 0%,#2b2018,var(--ink) 70%);border-top:1px solid rgba(201,154,69,.4);border-bottom:1px solid rgba(201,154,69,.4)}
.ink.band::before,.ink.band::after{content:"";position:absolute;left:0;right:0;height:1px;background:rgba(201,154,69,.25)}
.ink.band::before{top:6px}.ink.band::after{bottom:6px}

/* Header waits for the hero during the entrance (--hdr is set by the entrance script) */
.js-entrance .site-header{opacity:var(--hdr,1)}
.js-entrance .site-header.is-hidden{pointer-events:none}
.js-entrance .site-header:focus-within{opacity:1;pointer-events:auto}

/* Docket thumbnails: readable floor for micro type */
.tc-brand{font-size:max(2.2cqw,10px)}
.tc-num{font-size:max(3.4cqw,10px)}
.tc-area{font-size:max(3cqw,10px)}
.tc-arch span{font-size:max(1.9cqw,10px);letter-spacing:.05em;line-height:1.25;text-align:center;max-width:100%;padding:0 .5cqw}

/* Hero eyebrow halves never split */
.eyebrow .nw{white-space:nowrap}

/* Phone */
@media (max-width:520px){
  .crown{left:-4%;width:108%}
  .docket-column{width:4.5rem;left:0}
  .docket-column .col-cap,.docket-column .col-base{width:4.5rem}
  .docket-column .shaft{width:2.4rem}
  .docket-wrap .docket li{padding-left:.65rem}
}
@media (max-width:480px){
  h2{font-size:clamp(1.75rem,8vw,2.25rem);letter-spacing:.06em}
  .eyebrow .dot{display:none}
  .eyebrow .nw{display:block}
  .summons .lead{font-size:1.15rem}
  .platform{gap:.8rem;padding:1rem}
  .platform .soon{letter-spacing:.1em;padding:.25rem .45rem}
}

/* During the entrance the hero backdrop also shows above the hero box, under the fading stage */
.js-entrance .hero{clip-path:inset(-300vh 0 0 0)}

/* Smooth text during the entrance: animate on the GPU, never re-hint */
.js-entrance .hero-inner{will-change:transform,opacity;backface-visibility:hidden}
.facade-art text{text-rendering:geometricPrecision}

/* Keep "Scroll to enter" inside the visible part of a phone screen */
@media (max-aspect-ratio: 23/20){.js-entrance .enter-cue{bottom:auto;top:calc(100vh - 6rem);top:calc(100svh - 6rem)}}
