/* The Treehouse — Treehouse Town Productions. Plain CSS, no build. */
@font-face{font-family:"Inter";src:url(../fonts/inter-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Oswald";src:url(../fonts/oswald-latin-wght-normal.woff2) format("woff2");font-weight:200 700;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(../fonts/source-serif-4-latin-wght-normal.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(../fonts/source-serif-4-latin-wght-italic.woff2) format("woff2");font-weight:200 900;font-style:italic;font-display:swap}
:root{
  --night:#0b110e;--night-2:#111a15;--night-3:#18231d;--bark:#2a1d14;--bark-2:#3a2a1d;
  --amber:#e9b25f;--lamp:#f6cf86;--cream:#f1e8d6;--mute:#b0a38c;--line:rgba(241,232,214,.12);
  --serif:"Source Serif 4","Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:"Inter","Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
  --cond:"Oswald","Arial Narrow","Helvetica Neue Condensed",Impact,sans-serif;
  --wrap:1320px;--gut:clamp(18px,4vw,48px);
  --s1:clamp(.75rem,.72rem + .1vw,.8rem);--s2:clamp(1rem,.96rem + .2vw,1.125rem);
  --s3:clamp(1.35rem,1.1rem + 1vw,1.9rem);--s4:clamp(2rem,1.4rem + 2.6vw,3.6rem);
  --s5:clamp(2.8rem,1.6rem + 6vw,7.5rem);--s6:clamp(3.6rem,1rem + 12vw,13.5rem);
  --ease:cubic-bezier(.2,.7,.2,1);
  --bg:var(--night);--fg:var(--cream);--accent:var(--amber);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--bg);color:var(--fg);font:400 var(--s2)/1.55 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-weight:400}
p{margin:0}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--amber);color:#1a120a;padding:10px 14px;font-weight:600;text-decoration:none}
.skip:focus{top:12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}

/* film grain + vignette — static, very light */
body::after{content:"";position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1.6 -.3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
@media (prefers-reduced-motion:no-preference){body::after{animation:grain 1.2s steps(4) infinite}}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}}

/* ---------- header ---------- */
.site-head{position:sticky;top:0;z-index:50;background:rgba(11,17,14,.82);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;height:60px;gap:16px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--cream)}
.brand svg{width:30px;height:30px;color:var(--amber)}
.brand b{font:400 1.2rem/1 var(--serif);letter-spacing:.01em}
.brand small{display:block;font:500 .62rem/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--mute);margin-top:4px}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:clamp(14px,2.2vw,30px);align-items:center}
.nav a{text-decoration:none;font:500 .74rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute);padding:8px 0;position:relative;transition:color .25s}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--amber);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:hover,.nav a[aria-current=page]{color:var(--cream)}
.nav a:hover::after,.nav a[aria-current=page]::after{transform:scaleX(1)}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font:500 .72rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
@media (max-width:760px){
 .menu-btn{display:block}
 .nav{position:absolute;left:0;right:0;top:60px;background:rgba(11,17,14,.97);border-bottom:1px solid var(--line);display:none}
 .nav.open{display:block}
 .nav ul{flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gut) 18px}
 .nav a{display:block;padding:15px 0;border-bottom:1px solid var(--line);font-size:.8rem}
 .nav a::after{display:none}
}

/* ---------- shared bits ---------- */
.kicker{font:600 var(--s1)/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--accent)}
.rule-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:18px;margin-bottom:clamp(22px,3vw,40px)}
.rule-head h2{font:400 var(--s4)/1 var(--serif);letter-spacing:-.01em}
.rule-head a{font:500 .74rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute);text-decoration:none;white-space:nowrap}
.rule-head a:hover{color:var(--accent)}
.section{padding:clamp(56px,8vw,120px) 0}
.ph{display:inline-flex;align-items:center;gap:8px;border:1px dashed currentColor;border-radius:2px;padding:5px 9px;font:600 .64rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:600 .76rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);padding:14px 0;border-bottom:1px solid currentColor;transition:gap .3s var(--ease),color .3s}
.btn:hover{gap:16px;color:var(--lamp)}

/* ---------- film slot ---------- */
.film{position:relative;aspect-ratio:16/9;background:#050806;overflow:hidden;border-radius:3px;box-shadow:0 30px 80px -30px rgba(0,0,0,.8)}
.film iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.film .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9) brightness(.62);transition:transform 1.4s var(--ease),filter .6s}
.film:hover .poster{transform:scale(1.025);filter:saturate(1) brightness(.7)}
.film .slot{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(12px,2vw,24px);color:var(--cream)}
.film .slot .ph{align-self:flex-start;background:rgba(0,0,0,.45);color:var(--lamp);backdrop-filter:blur(4px)}
.film .slot .t{font:400 var(--s3)/1.1 var(--serif);text-shadow:0 2px 20px rgba(0,0,0,.6)}
.film .play{position:absolute;right:clamp(12px,2vw,24px);bottom:clamp(12px,2vw,24px);z-index:1;width:clamp(48px,5.5vw,72px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(246,207,134,.7);display:grid;place-items:center;background:rgba(0,0,0,.25);backdrop-filter:blur(3px)}
.film .play::before{content:"";margin-left:5px;border-style:solid;border-width:10px 0 10px 16px;border-color:transparent transparent transparent var(--lamp)}
.film-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:clamp(16px,2vw,28px)}
.film-grid .film{background:radial-gradient(120% 90% at 20% 0%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 60%),#070907;box-shadow:inset 0 0 0 1px var(--line)}
.film-grid .film .t{font-size:1.15rem}
.film-grid .film .play{width:46px}
.film-grid .film .play::before{border-width:7px 0 7px 11px}

/* ---------- HOME ---------- */
.hero{position:relative;padding:clamp(56px,9vw,130px) 0 clamp(30px,4vw,60px);overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;z-index:-1;width:min(1100px,140vw);aspect-ratio:1;left:50%;top:-30%;transform:translateX(-58%);
 background:radial-gradient(closest-side,rgba(246,207,134,.20),rgba(233,178,95,.07) 45%,transparent 72%)}
.hero::after{content:"";position:absolute;z-index:-1;inset:auto 0 0 0;height:40%;background:linear-gradient(transparent,var(--night))}
.hero .mark{width:clamp(46px,5vw,64px);color:var(--amber);margin-bottom:clamp(22px,3vw,36px);filter:drop-shadow(0 0 18px rgba(246,207,134,.35))}
.hero h1{font:400 var(--s5)/.95 var(--serif);letter-spacing:-.025em;max-width:14ch}
.hero h1 em{font-style:italic;color:var(--lamp)}
.hero p{margin-top:clamp(18px,2.4vw,30px);color:var(--mute);font-size:var(--s2);letter-spacing:.02em}
.hero .meta{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:clamp(28px,4vw,52px);font:500 .72rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.hero .meta span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--amber);margin-right:10px;vertical-align:middle;box-shadow:0 0 10px var(--lamp)}

.lead{padding-top:clamp(20px,3vw,40px)}
.lead-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:end}
.lead-title{font:400 clamp(5.2rem,1rem + 12vw,13.5rem)/.84 var(--serif);letter-spacing:-.035em;margin:18px 0 clamp(26px,3vw,40px);
 background:linear-gradient(180deg,#f7e2b2 0%,#e2a956 46%,#a8692d 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 30px rgba(233,178,95,.18))}
.lead-title span{display:block;font:500 .2em/1 var(--sans);letter-spacing:.62em;margin-top:.55em;padding-left:.2em;color:var(--lamp);-webkit-text-fill-color:var(--lamp)}
.lead-copy p{font:400 var(--s3)/1.3 var(--serif);color:var(--cream);max-width:24ch}
.lead-copy .sign{font-style:italic;color:var(--lamp);margin-top:18px;font-size:var(--s3)}
.lead-copy .btn{margin-top:clamp(24px,3vw,40px)}
.lead-copy .bug{width:64px;margin-bottom:22px;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.strip .lbl{margin-top:12px;font:600 .66rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.strip figure{margin:0}
@media (max-width:900px){.lead-grid{grid-template-columns:1fr}}

/* desk tiles */
.desks{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(14px,1.6vw,22px)}
.tile{grid-column:span 3;position:relative;display:flex;flex-direction:column;text-decoration:none;color:var(--cream);border-radius:4px;overflow:hidden;background:var(--night-2);
 transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.tile:nth-child(-n+3){grid-column:span 4}
.tile:hover,.tile:focus-visible{transform:translateY(-6px);box-shadow:0 26px 60px -24px rgba(0,0,0,.9),0 0 0 1px rgba(246,207,134,.25)}
.tile .art{aspect-ratio:16/9;position:relative;overflow:hidden}
.tile .art img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.tile:hover .art img{transform:scale(1.04)}
.tile .cap{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px;border-top:1px solid var(--line)}
.tile .cap b{font:400 1.3rem/1.1 var(--serif)}
.tile:nth-child(-n+3) .cap{flex-direction:column}@media (min-width:561px){.tile:nth-child(-n+3) .cap{flex-direction:row;justify-content:space-between;align-items:baseline}.tile:nth-child(-n+3) .cap b{font-size:1.6rem}}
.tile .cap i{font:500 .66rem/1 var(--sans);font-style:normal;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);white-space:nowrap}
.tile .cap i::after{content:" →";transition:margin .3s}
.tile:hover .cap i::after{margin-left:4px}
.tile.t-nqs{background:#efe8da;color:#111}
.tile.t-nqs .cap{border-color:#111}.tile.t-nqs .cap i{color:#444}
.tile.t-fee{background:#170f24}
.tile.t-flash .cap b{font:800 1.15rem/1 var(--sans);letter-spacing:.02em;text-transform:uppercase}
.tile.t-dt .cap b{font:900 italic 1.1rem/1 var(--sans);text-transform:uppercase}
.tile.t-dt{background:#140d0d}
.tile.t-pp .cap b{color:#d9be72}.tile.t-pp{background:#0f1c14}
.tile.t-night{background:#0b1226}
.tile.t-dorp{background:#24180f}
@media (max-width:1000px){.tile,.tile:nth-child(-n+3){grid-column:span 4}}
@media (max-width:560px){.tile,.tile:nth-child(-n+3){grid-column:span 12}}

/* typographic tile art (no logo file) */
.type-nqs{position:absolute;inset:0;display:grid;place-items:center;background:#efe8da radial-gradient(#0000001a 1px,transparent 1.2px) 0 0/9px 9px}
.type-nqs span{font:700 clamp(1.4rem,3.2vw,2.4rem)/1 var(--cond);text-transform:uppercase;letter-spacing:.01em;color:#111;border:3px solid #111;padding:.25em .45em;background:#fff8ea;box-shadow:6px 6px 0 #d7261e;transform:rotate(-2deg)}
.type-fee{position:absolute;inset:0;display:grid;place-items:center;text-align:center;background:radial-gradient(60% 70% at 50% 40%,#3a2462,#170f24 75%)}
.type-fee span{font:italic 400 clamp(1.8rem,4vw,3rem)/1 var(--serif);color:#efe2ff;letter-spacing:.01em}
.type-fee span::before,.type-fee span::after{content:"✦";font-style:normal;font-size:.35em;color:#c9a6ff;vertical-align:middle;margin:0 .6em;opacity:.8}

/* card strip */
.strip{display:grid;grid-auto-flow:column;grid-auto-columns:min(78vw,420px);gap:clamp(14px,1.6vw,22px);overflow-x:auto;scroll-snap-type:x mandatory;padding:6px var(--gut) 26px;margin:0 calc(var(--gut)*-1);scrollbar-width:thin;scrollbar-color:var(--bark-2) transparent}
.strip>*{scroll-snap-align:start}
.card-btn{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;border-radius:4px;overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease);box-shadow:0 18px 40px -22px rgba(0,0,0,.9)}
.card-btn img{aspect-ratio:4/5;width:100%;object-fit:cover;background:var(--night-3)}
.card-btn:hover,.card-btn:focus-visible{transform:translateY(-6px) rotate(-.4deg);box-shadow:0 30px 60px -26px rgba(0,0,0,.95),0 0 0 1px rgba(246,207,134,.3)}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:clamp(14px,1.8vw,26px)}
.card-grid figure{margin:0}
.card-grid figcaption{margin-top:10px;font:500 .7rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(24px,3vw,40px)}
.filters button{background:none;border:1px solid var(--line);border-radius:999px;padding:10px 16px;font:600 .7rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--mute);cursor:pointer;transition:all .25s}
.filters button:hover{color:var(--cream);border-color:var(--mute)}
.filters button[aria-pressed=true]{background:var(--amber);border-color:var(--amber);color:#1b1209}
.empty{color:var(--mute);font-style:italic;font-family:var(--serif)}

/* lightbox */
.lb{border:0;padding:0;margin:0;width:100vw;height:100vh;max-width:none;max-height:none;background:rgba(5,8,6,.94);color:var(--cream);opacity:0;transition:opacity .35s var(--ease)}
.lb[open]{display:grid;grid-template-columns:auto 1fr auto;align-items:center;opacity:1}
.lb::backdrop{background:transparent}
.lb figure{margin:0;grid-column:2;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;padding:56px 8px 20px;touch-action:pan-y}
.lb img{max-height:calc(100vh - 130px);width:auto;max-width:100%;border-radius:4px;box-shadow:0 40px 100px rgba(0,0,0,.7);transition:opacity .3s var(--ease),transform .4s var(--ease)}
.lb img.swap{opacity:0;transform:scale(.985)}
.lb figcaption{margin-top:14px;font:500 .72rem/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--mute);text-align:center}
.lb button{background:rgba(0,0,0,.35);border:1px solid var(--line);border-radius:50%;width:52px;height:52px;cursor:pointer;display:grid;place-items:center;font-size:1.3rem;transition:background .25s,border-color .25s;margin:0 clamp(6px,2vw,28px)}
.lb button:hover{background:rgba(246,207,134,.12);border-color:var(--amber)}
.lb .x{position:absolute;top:12px;right:0}
@media (max-width:600px){.lb .prev,.lb .next{position:absolute;bottom:18px}.lb .prev{left:calc(50% - 70px)}.lb .next{right:calc(50% - 70px)}.lb figure{padding-bottom:84px}.lb img{max-height:calc(100vh - 190px)}}

/* footer */
.site-foot{border-top:1px solid var(--line);margin-top:clamp(40px,6vw,90px);padding:clamp(40px,5vw,64px) 0 48px;color:var(--mute);font-size:.86rem}
.site-foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:22px}
.site-foot .brand svg{width:26px;height:26px}
.site-foot p{display:flex;flex-wrap:wrap;gap:6px 0}
.site-foot p>*:not(:last-child)::after{content:"·";margin:0 .7em;color:#5d5546}
.site-foot a{text-decoration:none;color:var(--cream)}
.site-foot a:hover{color:var(--amber)}

/* ---------- DESK PAGES ---------- */
.desk-hero{position:relative;padding:clamp(56px,9vw,130px) 0 clamp(36px,5vw,64px);isolation:isolate;overflow:hidden}
.desk-hero h1{font:400 var(--s6)/.86 var(--serif);letter-spacing:-.03em}
.desk-hero .line{margin-top:clamp(18px,2.4vw,30px);font:400 var(--s3)/1.3 var(--serif);max-width:38ch;text-wrap:balance;color:var(--mute)}
.desk-hero .sign{margin-top:12px;font:italic 400 var(--s3)/1.3 var(--serif);color:var(--accent)}
.back{display:inline-flex;gap:8px;font:600 .7rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;color:var(--mute);margin-bottom:clamp(28px,4vw,56px);transition:color .25s,gap .3s var(--ease)}
.back:hover{color:var(--accent);gap:12px}
.desk-logo{width:min(560px,100%);margin-top:clamp(24px,3vw,36px);border-radius:4px}
.featured{padding-bottom:clamp(40px,6vw,90px)}
.featured .film{box-shadow:0 40px 120px -40px rgba(0,0,0,.95)}
.desk-sec{padding:clamp(36px,5vw,70px) 0}

/* ATLAS — warm film grade, brass */
.d-atlas{--bg:#0f0b07;--accent:#e4ad5a;--mute:#b9a585;--line:rgba(228,173,90,.16)}
.d-atlas .desk-hero::before{content:"";position:absolute;z-index:-1;right:-10%;top:-30%;width:70vw;aspect-ratio:1;background:radial-gradient(closest-side,rgba(246,190,110,.22),transparent 70%)}
.d-atlas .desk-hero h1{background:linear-gradient(180deg,#f8e6b8,#dfa452 50%,#9c5f27);-webkit-background-clip:text;background-clip:text;color:transparent}
.d-atlas .desk-hero h1 span{display:block;font:500 .2em/1 var(--sans);letter-spacing:.62em;margin-top:.6em;-webkit-text-fill-color:#f2cf8e}
.d-atlas .line{color:#efe4cf}

/* NIGHT — midnight blue, calm, one lamp */
.d-night{--bg:#070d1f;--accent:#f2c777;--mute:#9aa7c7;--line:rgba(154,167,199,.16)}
.d-night .desk-hero::before{content:"";position:absolute;z-index:-1;left:-12%;top:-35%;width:62vw;aspect-ratio:1;background:radial-gradient(closest-side,rgba(242,199,119,.26),rgba(242,199,119,.05) 50%,transparent 72%)}
.d-night .desk-hero h1{font-size:clamp(3rem,1rem + 8vw,8.5rem);letter-spacing:.06em;text-transform:uppercase;font-weight:400;color:#e9edf8}
.d-night .lamp{width:9px;height:9px;border-radius:50%;background:#ffd88a;box-shadow:0 0 18px 6px rgba(255,216,138,.55),0 0 80px 30px rgba(255,216,138,.15);margin-bottom:34px}

/* FLASH — magenta to cyan, white bold */
.d-flash{--bg:#07060c;--accent:#25e1ff;--mute:#b8b3cc;--line:rgba(255,255,255,.14);--fsans:Inter,"Helvetica Neue",Arial,system-ui,sans-serif}
.d-flash .desk-hero{background:linear-gradient(120deg,#ff1fa8 0%,#a33cff 45%,#18d9ff 100%)}
.d-flash .desk-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(transparent 60%,rgba(7,6,12,.6))}
.d-flash .desk-hero h1{font:900 clamp(4rem,1rem + 14vw,14rem)/.82 var(--fsans);letter-spacing:-.045em;text-transform:uppercase;color:#fff}
.d-flash .desk-hero .line,.d-flash .desk-hero .back{color:#fff}
.d-flash .desk-hero .line{font:700 var(--s3)/1.2 var(--fsans)}
.d-flash .desk-hero .sign{font:800 normal var(--s2)/1.2 var(--fsans);text-transform:uppercase;letter-spacing:.14em;color:#0a0614;background:#fff;display:inline-block;padding:10px 14px;margin-top:22px}
.d-flash .bolt{position:absolute;right:4%;top:50%;transform:translateY(-50%) rotate(8deg);width:clamp(120px,22vw,320px);color:#fff;opacity:.9;filter:drop-shadow(0 0 40px rgba(255,255,255,.4));z-index:-1}
.d-flash .rule-head h2{font:900 var(--s4)/1 var(--fsans);text-transform:uppercase;letter-spacing:-.02em}
.d-flash .film .slot .t{font-family:var(--fsans);font-weight:800}

/* DIFF AND TURBO — heavy italic, dark red, carbon */
.d-dt{--bg:#0b0b0c;--accent:#e2372b;--mute:#a9a3a3;--line:rgba(226,55,43,.22)}
.d-dt{background-image:repeating-linear-gradient(45deg,#111 0 3px,#0b0b0c 3px 6px),repeating-linear-gradient(-45deg,rgba(255,255,255,.015) 0 3px,transparent 3px 6px)}
.d-dt .desk-hero{border-bottom:6px solid #8f1410}
.d-dt .desk-hero h1{font:900 italic clamp(3.4rem,1rem + 10vw,11rem)/.84 var(--sans);text-transform:uppercase;letter-spacing:-.03em;transform:skewX(-6deg);color:#f3efe9}
.d-dt .desk-hero h1 em{color:var(--accent);font-style:inherit}
.d-dt .line{font:700 italic var(--s3)/1.2 var(--sans);text-transform:uppercase;letter-spacing:.06em}
.d-dt .rule-head h2{font:900 italic var(--s4)/1 var(--sans);text-transform:uppercase}

/* PENNIES AND PONIES — green & gold ledger */
.d-pp{--bg:#0c1a12;--accent:#d8bc6e;--mute:#a7b49f;--line:rgba(216,188,110,.2)}
.d-pp main{background-image:linear-gradient(90deg,transparent calc(var(--gut) + 36px),rgba(196,60,50,.35) calc(var(--gut) + 36px),rgba(196,60,50,.35) calc(var(--gut) + 37px),transparent calc(var(--gut) + 37px)),repeating-linear-gradient(transparent 0 35px,rgba(216,188,110,.08) 35px 36px)}
.d-pp .desk-hero h1{color:#e7cf87;font-variant:small-caps;letter-spacing:0}
.d-pp .line{font-family:"Courier New",ui-monospace,monospace;font-size:var(--s2);letter-spacing:.08em;text-transform:uppercase;color:#cbd5c4}
.d-pp .rule-head{border-top:3px double var(--accent)}

/* THE DORP — warm earth */
.d-dorp{--bg:#1d140d;--accent:#d9a066;--mute:#bba58c;--line:rgba(217,160,102,.18)}
.d-dorp .desk-hero{background:linear-gradient(#2a1c12,#1d140d)}
.d-dorp .desk-hero h1{font-weight:300;letter-spacing:.14em;text-transform:uppercase;color:#f0e2cc;font-size:clamp(3rem,1rem + 9vw,10rem)}
.d-dorp .desk-hero h1 small{display:block;font:500 .16em/1 var(--sans);letter-spacing:.6em;color:var(--accent);margin-bottom:.8em}
.d-dorp .horizon{position:absolute;left:0;right:0;bottom:0;height:70px;z-index:-1;opacity:.5;color:#d9a066}

/* NOT QUITE SATURDAY — tabloid newsprint */
.d-nqs{--bg:#efe8da;--fg:#141210;--accent:#d7261e;--mute:#4b453d;--line:#141210;color:#141210;
 background:#efe8da radial-gradient(rgba(0,0,0,.09) 1px,transparent 1.3px) 0 0/9px 9px}
.d-nqs body,.d-nqs{color-scheme:light}
.d-nqs .site-head{background:rgba(239,232,218,.92);border-bottom:3px solid #141210}
.d-nqs .brand,.d-nqs .nav a:hover,.d-nqs .nav a[aria-current=page]{color:#141210}
.d-nqs .brand svg{color:#d7261e}
.d-nqs .brand small,.d-nqs .nav a{color:#4b453d}
.d-nqs .nav{background:transparent}
@media (max-width:760px){.d-nqs .nav{background:#efe8da}}
.d-nqs .menu-btn{border-color:#141210}
.d-nqs body::after{opacity:.05}
.d-nqs .desk-hero{padding-top:clamp(36px,6vw,80px);border-bottom:3px solid #141210}
.d-nqs .masthead{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:3px solid #141210;border-bottom:1px solid #141210;padding:8px 0;margin-bottom:clamp(20px,3vw,36px);font:700 .7rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.d-nqs .badge{background:#d7261e;color:#fff;padding:8px 12px;box-shadow:3px 3px 0 #141210}
.d-nqs .desk-hero h1{font:700 clamp(3.6rem,1rem + 12vw,12.5rem)/.84 var(--cond);text-transform:uppercase;letter-spacing:-.01em;color:#141210;font-stretch:condensed}
.d-nqs .desk-hero h1 mark{background:#f6c343;color:inherit;padding:0 .08em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.d-nqs .desk-hero h1 .boxed{display:inline-block;border:5px solid #141210;background:#fff8ea;padding:0 .12em;box-shadow:.06em .06em 0 #d7261e;transform:rotate(-1.2deg)}
.d-nqs .line{color:#141210;font:700 var(--s3)/1.1 var(--cond);text-transform:uppercase;letter-spacing:.02em}
.d-nqs .back{color:#141210}
.d-nqs .kicker{color:#d7261e}
.d-nqs .rule-head{border-top:3px solid #141210}
.d-nqs .rule-head h2{font:700 var(--s4)/1 var(--cond);text-transform:uppercase}
.d-nqs .film{border:3px solid #141210;box-shadow:8px 8px 0 #d7261e;border-radius:0}
.d-nqs .film .poster{filter:none}
.d-nqs .film-grid .film{background:#fff8ea radial-gradient(rgba(0,0,0,.08) 1px,transparent 1.3px) 0 0/8px 8px;box-shadow:6px 6px 0 #d7261e}
.d-nqs .film .slot{color:#141210}
.d-nqs .film .slot .ph{background:#fff8ea;color:#d7261e;border-color:#d7261e;backdrop-filter:none}
.d-nqs .film .slot .t{font:700 1.6rem/1 var(--cond);text-transform:uppercase;text-shadow:none}
.d-nqs .film .play{border-color:#141210;background:#d7261e}
.d-nqs .film .play::before{border-left-color:#fff}
.d-nqs .site-foot{border-top:3px solid #141210;color:#4b453d}
.d-nqs .site-foot a{color:#141210}
.d-nqs .site-foot p>*:not(:last-child)::after{color:#999}
.d-nqs .card-btn{border:3px solid #141210;border-radius:0;box-shadow:6px 6px 0 #141210}
.d-nqs .empty{color:#4b453d}
.nqs-paper{position:absolute;inset:0;background:#fff8ea radial-gradient(rgba(0,0,0,.08) 1px,transparent 1.3px) 0 0/8px 8px}
.nqs-paper::before{content:"NOT QUITE SATURDAY.";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-2deg);font:700 clamp(1.4rem,4.5vw,4rem)/1 var(--cond);border:4px solid #141210;padding:.2em .4em;background:#fff;box-shadow:.12em .12em 0 #d7261e;white-space:nowrap}

/* FEËVERHALE — deep violet storybook */
.d-fee{--bg:#120b1d;--accent:#cfa8ff;--mute:#b6a8cc;--line:rgba(207,168,255,.18)}
.d-fee .desk-hero{text-align:center}
.d-fee .desk-hero::before{content:"";position:absolute;z-index:-1;left:50%;top:-40%;transform:translateX(-50%);width:90vw;aspect-ratio:1;background:radial-gradient(closest-side,rgba(130,80,210,.35),transparent 70%)}
.d-fee .desk-hero::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.55;background-image:radial-gradient(1px 1px at 12% 22%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 78% 18%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 64% 62%,#e8d8ff 50%,transparent 51%),radial-gradient(1px 1px at 30% 70%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 88% 78%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 44% 12%,#fff 50%,transparent 51%)}
.d-fee .desk-hero h1{font-style:italic;color:#f1e6ff;letter-spacing:-.02em}
.d-fee .desk-hero .orn{display:block;font-size:1.1rem;letter-spacing:1.2em;color:var(--accent);margin:0 0 26px .6em;font-style:normal}
.d-fee .line{margin-left:auto;margin-right:auto;font-style:italic;color:#ddd0f0}
.d-fee .back{margin-left:auto;margin-right:auto}
.d-fee .film{border-radius:14px;box-shadow:0 0 0 1px rgba(207,168,255,.25),0 40px 120px -40px rgba(80,30,160,.7)}
.fee-plate{position:absolute;inset:0;background:radial-gradient(70% 80% at 50% 35%,#3c2566,#120b1d 80%)}
.fee-plate::before{content:"Feëverhale";position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);font:italic 400 clamp(2rem,6vw,5rem)/1 var(--serif);color:#f1e6ff;opacity:.9}


/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:start}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr}}
.mail-big{font:400 clamp(1.6rem,1rem + 3vw,3.4rem)/1.1 var(--serif);color:var(--lamp);text-decoration:none;border-bottom:1px solid rgba(246,207,134,.4);word-break:break-word;transition:border-color .3s}
.mail-big:hover{border-color:var(--lamp)}
.form label{display:block;font:600 .7rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin:0 0 8px}
.form input,.form textarea{width:100%;background:var(--night-2);border:1px solid var(--line);border-radius:3px;color:var(--cream);font:400 1rem/1.4 var(--sans);padding:14px;margin-bottom:20px;transition:border-color .25s}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--amber)}
.form textarea{min-height:160px;resize:vertical}
.form .hp{position:absolute;left:-9999px}
.form button{background:var(--amber);color:#1b1209;border:0;border-radius:999px;padding:16px 26px;font:700 .76rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background .25s,transform .25s}
.form button:hover{background:var(--lamp);transform:translateY(-2px)}
.status{margin-bottom:20px;padding:14px;border-left:3px solid var(--amber);background:var(--night-2)}

/* reveal */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .js .rv{opacity:1;transform:none}
}
/* big card strip: 4 across on desktop */
@media (min-width:1001px){.strip{grid-auto-columns:calc((100% - 66px)/4);gap:22px;margin:0;padding:6px 0 26px}}
/* hero: full-viewport frame, headline on top, ATLAS plate below */
.hero{position:relative;isolation:isolate;overflow:hidden;padding:0;height:calc(100vh - var(--head-h,61px));height:calc(100svh - var(--head-h,61px));min-height:420px;display:flex;flex-direction:column;background:#0b0b0a}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;width:auto;aspect-ratio:auto;transform:none;left:0;top:0;background:linear-gradient(180deg,var(--night) 0%,rgba(11,17,14,0) 30%,rgba(11,17,14,0) 85%,var(--night) 100%)}
.hero::after{display:none}
.hero-copy{order:-1;width:100%;padding-top:clamp(20px,4vh,48px);padding-bottom:clamp(8px,2vh,20px)}
.hero h1{font-size:clamp(2.2rem,1rem + 3.4vw,4.6rem);max-width:none}
.hero .meta{margin-top:clamp(12px,2vh,22px)}
.hero-frame{position:relative;flex:1 1 auto;min-height:0;display:block;margin-bottom:clamp(56px,8vh,80px)}
.hero-frame img{width:100%;height:100%;max-width:none;object-fit:contain;object-position:50% 50%;display:block}
.scroll-cue{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font:500 .62rem/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--mute);text-decoration:none}
.scroll-cue::after{content:"";width:1px;height:26px;background:linear-gradient(var(--amber),transparent);animation:cue 2s ease-in-out infinite}
@keyframes cue{0%,100%{transform:scaleY(.4);transform-origin:top;opacity:.5}50%{transform:scaleY(1);opacity:1}}
@media (max-aspect-ratio:1/1){.hero-frame{flex:0 0 auto;margin:auto 0}.hero-frame img{height:auto;aspect-ratio:16/9;width:150%;margin-left:-20%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}}
@media (prefers-reduced-motion:reduce){.scroll-cue::after{animation:none}}
@media (min-aspect-ratio:1/1){.hero{height:auto;min-height:0}.hero-frame,.hero .scroll-cue,.hero [class*=scroll]{display:none}.hero-copy{padding-top:clamp(20px,4vh,44px);padding-bottom:clamp(10px,2vh,20px)}.lead{padding-top:clamp(10px,2vh,24px)}.lead .lead-title{display:none}}
.film video{position:absolute;inset:0;width:100%;height:100%;display:block;background:#000;object-fit:cover;border:0}.film:has(video),.film-grid .film:has(video),.d-nqs .film-grid .film:has(video){background:#000}
@media (min-aspect-ratio:1/1){.lead .kicker{margin:clamp(14px,2vh,26px) 0 14px}}
.desk-hero{position:relative}
.desk-cue{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;font:600 .68rem/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:inherit;text-decoration:none;opacity:.85;z-index:2}
.desk-cue span{font-size:1.3rem;letter-spacing:0;animation:cuebob 1.8s ease-in-out infinite}
@keyframes cuebob{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media (prefers-reduced-motion:reduce){.desk-cue span{animation:none}}
html{scroll-behavior:smooth}
.home-cue{position:static;transform:none;margin:clamp(28px,4vw,48px) auto 0;width:max-content;color:var(--lamp)}
