@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-display: swap;
  font-weight: 400 900;
  src: url(/assets/fonts/bodoni-moda-latin-ext-standard-normal.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-display: swap;
  font-weight: 400 900;
  src: url(/assets/fonts/bodoni-moda-latin-standard-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-display: swap;
  font-weight: 400 900;
  src: url(/assets/fonts/bodoni-moda-latin-ext-standard-italic.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-display: swap;
  font-weight: 400 900;
  src: url(/assets/fonts/bodoni-moda-latin-standard-italic.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(/assets/fonts/newsreader-latin-ext-standard-normal.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(/assets/fonts/newsreader-latin-standard-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-display: swap;
  font-weight: 200 800;
  src: url(/assets/fonts/newsreader-latin-ext-standard-italic.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-display: swap;
  font-weight: 200 800;
  src: url(/assets/fonts/newsreader-latin-standard-italic.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/fonts/ibm-plex-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(/assets/fonts/ibm-plex-mono-cyrillic-ext-400-normal.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/fonts/ibm-plex-mono-cyrillic-400-normal.woff2) format('woff2'), url(/assets/fonts/ibm-plex-mono-cyrillic-400-normal.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/fonts/ibm-plex-mono-latin-ext-400-normal.woff2) format('woff2'), url(/assets/fonts/ibm-plex-mono-latin-ext-400-normal.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2'), url(/assets/fonts/ibm-plex-mono-latin-400-normal.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/fonts/ibm-plex-mono-cyrillic-ext-500-normal.woff2) format('woff2'), url(/assets/fonts/ibm-plex-mono-cyrillic-ext-500-normal.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/fonts/ibm-plex-mono-cyrillic-500-normal.woff2) format('woff2'), url(/assets/fonts/ibm-plex-mono-cyrillic-500-normal.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/fonts/ibm-plex-mono-latin-ext-500-normal.woff2) format('woff2'), url(/assets/fonts/ibm-plex-mono-latin-ext-500-normal.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2'), url(/assets/fonts/ibm-plex-mono-latin-500-normal.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: normal;
  font-display: swap;
  font-weight: 400 900;
  src: url(/assets/fonts/playfair-display-cyrillic-400-normal.woff2) format('woff2');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family: 'Bodoni Moda';
  font-style: italic;
  font-display: swap;
  font-weight: 400 900;
  src: url(/assets/fonts/playfair-display-cyrillic-400-italic.woff2) format('woff2');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

:root{
  color-scheme: dark;
  --night:#0B1210; --night-2:#111A17; --line:#1C2723;
  --ivory:#ECE4D2; --mist:#8E998F; --unlit:#25332E;
  --warm:#FFE2AE; --warm-a:rgba(255,214,150,.30); --brass:#C9A25E; --brass-glow:rgba(201,162,94,.35);
  --paper:#F2ECDF; --paper-2:#E8E0CF; --ink:#1B211E; --ink-2:#5E655F; --rule:#D6CDBA; --brass-ink:#8E6B2B;
  --display:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
  --body:"Newsreader","Iowan Old Style",Georgia,serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --gut:clamp(16px,4.5vw,64px);
}
/* ---------- DAY: same room, curtains open ---------- */
html[data-mode="day"]{
  color-scheme: light;
  --night:#EEE7D8; --night-2:#E5DDCB; --line:#D2C8B2;
  --ivory:#1B211E; --mist:#5E655F; --unlit:#CDC3AC;
  --warm:#7D5A1F; --brass:#8E6B2B; --brass-glow:rgba(142,107,43,.22);
}
html[data-mode="day"] #grain{opacity:.045;mix-blend-mode:multiply}
html[data-mode="day"] .lamp .cone{mix-blend-mode:multiply;background:linear-gradient(to bottom,rgba(214,160,72,.34),rgba(214,160,72,.08) 70%,rgba(214,160,72,0))}
html[data-mode="day"] .lamp .pool{mix-blend-mode:multiply;background:radial-gradient(closest-side,rgba(200,150,70,.20),rgba(200,150,70,0))}
html[data-mode="day"] .lamp .cord{background:linear-gradient(#9c947f,#7c7462)}
html[data-mode="day"] .surname a.under{text-shadow:0 0 26px rgba(214,160,72,.35)}
html[data-mode="day"] .surname a.lit{color:#B39A6A}
html[data-mode="day"] .surname a.lit.under{color:var(--warm)}
html[data-mode="day"] .keys kbd{color:var(--ivory)}
body,.form input,.form textarea{transition:background-color .9s ease,color .9s ease,border-color .9s ease}
.surname a{transition:color .7s ease,text-shadow .7s ease}
/* footer day/night switch */
.modes{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:999px;padding:3px}
.modes button{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mist);padding:6px 12px;border-radius:999px;transition:background .4s,color .4s}
.modes button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.modes button[aria-pressed="true"]{background:var(--brass);color:var(--night)}
.modes button:not([aria-pressed="true"]):hover{color:var(--ivory)}
.modenote{color:var(--unlit);min-width:22ch;text-align:right;display:inline-block}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{font-size:clamp(15px,.3vw + 11.6px,20px)}
html{background:var(--night);overflow-x:clip;overscroll-behavior-x:none;-webkit-text-size-adjust:100%}
body{overflow-x:clip!important;touch-action:pan-y pinch-zoom}
#curtain{overflow:hidden}
body{margin:0;background:var(--night);color:var(--ivory);font-family:var(--body);font-size:1.125rem;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:1px solid var(--brass);outline-offset:4px}
.mono{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}
.wrap{padding-inline:var(--gut)}

/* film grain over everything */
#grain{position:fixed;inset:-50%;z-index:60;pointer-events:none;opacity:.07;background-size:180px 180px;animation:grain 1s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}

/* ================= HOME ================= */
#home{min-height:100vh;display:flex;flex-direction:column;position:relative}
.bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:24px;color:var(--mist);position:relative;z-index:5}
.bar b{color:var(--ivory);font-weight:500}
.tally{display:flex;align-items:center;gap:12px;font-variant-numeric:tabular-nums}
.right{display:flex;align-items:center;gap:28px}
.langs{display:flex;gap:4px}
.langs button{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;color:var(--unlit);padding:4px 6px;transition:color .3s}
.langs button:hover{color:var(--mist)}
.langs button[aria-pressed="true"]{color:var(--ivory)}
.meter{display:flex;align-items:center;gap:12px;color:var(--mist)}
.meter svg{width:64px;height:38px;display:block;overflow:visible}
.meter .face{fill:none;stroke:var(--line);stroke-width:1}
.meter .tick{stroke:var(--unlit);stroke-width:1.2;transition:stroke .6s}
.meter .tick.on{stroke:var(--brass)}
.meter .needle{stroke:var(--brass);stroke-width:1.4;stroke-linecap:round}
.meter .hub{fill:var(--brass)}
.meter .lvl{color:var(--mist);margin-left:10px}
.meter .num{font-variant-numeric:tabular-nums;color:var(--ivory)}
.meter a{color:var(--brass);border-bottom:1px solid var(--brass)}
.atlas{position:absolute;left:0;right:0;top:0;bottom:-40px;z-index:1;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse var(--mw,260px) var(--mh,340px) at var(--lx,50%) var(--ly,60%),#000 0,rgba(0,0,0,.55) 45%,transparent 100%);
          mask-image:radial-gradient(ellipse var(--mw,260px) var(--mh,340px) at var(--lx,50%) var(--ly,60%),#000 0,rgba(0,0,0,.55) 45%,transparent 100%)}
.atlas svg{position:absolute;overflow:visible}
.atlas path{fill:none;stroke:var(--brass);stroke-width:1;vector-effect:non-scaling-stroke;opacity:.6}
.atlas .art path,.atlas .art circle,.atlas .art ellipse,.seal path,.seal circle,.seal ellipse{fill:none;stroke:var(--brass);stroke-width:1;vector-effect:non-scaling-stroke}
.atlas .art{opacity:1}
.atlas .art *{stroke-width:1.3}
.atlas text{font-family:var(--mono);letter-spacing:.14em;fill:var(--brass);opacity:.55}
@media (max-width:860px){.langs button{padding:4px 3px}.right{gap:14px}.meter svg{width:48px;height:29px}}

.stage{position:relative;padding-top:clamp(170px,27vh,300px)}
/* ceiling rail */
.rail{position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--line) 12%,var(--line) 88%,transparent)}
/* the lamp */
.lamp{position:absolute;top:0;left:0;width:0;height:0;z-index:4;pointer-events:none;will-change:transform}
.lamp .arm{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
.lamp .cord{position:absolute;left:-.5px;top:0;width:1px;height:var(--cord,120px);background:linear-gradient(#3a4a44,#5b6a63)}
.lamp .shade{position:absolute;left:0;top:var(--cord,120px);transform:translateX(-50%);width:var(--sw,120px);display:block}
.lamp .bulb{position:absolute;left:0;top:calc(var(--cord,120px) + var(--sw,120px)*.46);width:calc(var(--sw,120px)*.34);aspect-ratio:1;border-radius:50%;
  transform:translate(-50%,-50%);background:radial-gradient(circle,#fff6de 0,#ffd98f 45%,rgba(255,200,120,0) 70%);opacity:0;filter:blur(1px)}
.lamp .cone{position:absolute;left:0;top:calc(var(--cord,120px) + var(--sw,120px)*.42);transform:translateX(-50%);
  width:var(--cw,360px);height:var(--ch,420px);opacity:0;mix-blend-mode:screen;
  clip-path:polygon(calc(50% - var(--sw,120px)*.42) 0,calc(50% + var(--sw,120px)*.42) 0,100% 100%,0 100%);
  background:linear-gradient(to bottom,rgba(255,219,158,.42),rgba(255,210,140,.10) 70%,rgba(255,210,140,0))}
.lamp .cone canvas{position:absolute;inset:0;width:100%;height:100%}
.lamp .pool{position:absolute;left:0;top:calc(var(--cord,120px) + var(--sw,120px)*.42 + var(--ch,420px)*.86);transform:translate(-50%,-50%);
  width:calc(var(--cw,360px)*1.4);height:calc(var(--cw,360px)*.34);border-radius:50%;opacity:0;
  background:radial-gradient(closest-side,rgba(255,214,150,.22),rgba(255,214,150,0))}
.lamp.on .bulb{animation:flickB 1.1s ease forwards}
.lamp.on .cone{animation:flickC 1.1s ease forwards}
.lamp.on .pool{animation:flickP 1.1s ease forwards}
@keyframes flickB{0%{opacity:0}8%{opacity:1}12%{opacity:.1}20%{opacity:.9}26%{opacity:.25}40%,100%{opacity:1}}
@keyframes flickC{0%{opacity:0}8%{opacity:.9}12%{opacity:0}20%{opacity:.7}26%{opacity:.1}40%,100%{opacity:1}}
@keyframes flickP{0%,26%{opacity:0}45%,100%{opacity:1}}

.surname{display:flex;justify-content:space-between;margin:0;padding:0;list-style:none;position:relative;z-index:3}
.surname a{display:block;position:relative;font-family:var(--display);font-weight:400;
  font-size:min(11.4vw,236px);line-height:.84;letter-spacing:-.015em;color:var(--unlit);
  transition:color .7s ease,text-shadow .7s ease}
.surname a.lit{color:#6d5a37}
.surname a.under{color:var(--warm);text-shadow:0 0 30px rgba(255,214,150,.45),0 0 90px rgba(255,214,150,.18)}
.surname a.lit.under{color:#ffd48a}
html:not([data-mode="day"]) .surname a.lit{color:#6d5a37}
.surname a.lit::after{content:"";position:absolute;left:50%;bottom:-16px;width:4px;height:4px;border-radius:50%;background:var(--brass);transform:translateX(-50%);box-shadow:0 0 8px var(--brass-glow)}

.plate{position:relative;height:120px;margin-top:34px;z-index:3}
.plate .card{position:absolute;top:0;left:0;width:min(340px,80vw);will-change:transform}
.plate .kick{color:var(--brass)}
.plate h2{margin:6px 0 4px;font-family:var(--display);font-weight:400;font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1.05}
.plate .meta{color:var(--mist)}
.plate .go{display:inline-flex;gap:10px;align-items:center;margin-top:10px;color:var(--ivory);border-bottom:1px solid var(--brass);padding-bottom:3px}
.plate .go:hover{color:var(--warm)}
.fade{animation:fade .45s ease both}
@keyframes fade{from{opacity:.001;transform:translateY(6px)}to{opacity:1;transform:none}}

.lede{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;align-items:end;margin-top:clamp(48px,9vh,110px);position:relative;z-index:3}
.lede h1{margin:0;font-weight:300;font-size:clamp(1.7rem,3.4vw,2.9rem);line-height:1.1;letter-spacing:-.01em;text-wrap:balance}
.lede h1 em{color:var(--mist)}
.lede p{margin:0;color:var(--mist);font-size:1rem;max-width:40ch;justify-self:end}
.keys{display:inline-flex;gap:6px;margin-left:4px}
.keys kbd{font-family:var(--mono);font-size:11px;border:1px solid var(--line);padding:1px 6px;border-radius:3px;color:var(--ivory)}

/* portrait */
.who{margin-top:clamp(90px,14vh,160px);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,80px);align-items:end;border-top:1px solid var(--line);padding-top:48px}
.who figure{margin:0}
.who .pics{position:relative;aspect-ratio:4/5;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 72%,transparent);mask-image:linear-gradient(to bottom,#000 72%,transparent)}
.who .p-b{opacity:0}
.who figure:hover .p-b{opacity:1}
.who .pics img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:opacity .45s ease}

.who figcaption{margin-top:10px;color:var(--mist)}
.who h3{margin:0 0 18px;font-family:var(--display);font-weight:400;font-size:clamp(2.2rem,4.6vw,4rem);line-height:.98}
.who p{margin:0 0 14px;color:var(--mist);max-width:46ch;font-size:1.08rem}
.who p b{color:var(--ivory);font-weight:400}
.contact{margin-top:clamp(90px,14vh,160px);border-top:1px solid var(--line);padding-top:48px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,80px)}
.contact h3{margin:0 0 14px;font-family:var(--display);font-weight:400;font-size:clamp(2rem,4vw,3.4rem);line-height:1}
.contact .sub{margin:0;color:var(--mist);max-width:40ch}
.contact.solver h3{color:var(--brass)}
.contact .thumbs{display:block;width:160px;height:200px;object-fit:cover;margin-bottom:22px;-webkit-mask-image:linear-gradient(to bottom,#000 70%,transparent);mask-image:linear-gradient(to bottom,#000 70%,transparent)}
.contact.solver .badge{display:inline-block;margin-bottom:14px;color:var(--night);background:var(--brass);padding:4px 10px}
.form{display:grid;gap:12px;align-content:start}
.form input,.form textarea{height:auto}
.guess{border:1px solid var(--line);padding:14px 16px 16px;display:grid;gap:10px}
.guess legend{padding:0 6px;color:var(--brass)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{cursor:pointer}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-block;border:1px solid var(--line);padding:6px 12px;font-size:.92rem;color:var(--mist);transition:all .25s}
.chips input:checked+span{border-color:var(--brass);color:var(--night);background:var(--brass)}
.chips input:focus-visible+span{outline:1px solid var(--brass);outline-offset:2px}
.merci{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:32px;align-items:end;animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.merci img{width:100%;height:auto;display:block;-webkit-mask-image:linear-gradient(to bottom,#000 78%,transparent);mask-image:linear-gradient(to bottom,#000 78%,transparent)}
.merci h4{margin:8px 0 12px;font-family:var(--display);font-weight:400;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.05}
.merci p{margin:0;color:var(--mist);max-width:40ch}
@keyframes rise{from{opacity:.001;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (max-width:560px){.merci{grid-template-columns:1fr}.merci img{max-width:240px}}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form input,.form textarea{font:inherit;font-size:1rem;color:var(--ivory);background:var(--night-2);border:1px solid var(--line);padding:13px 14px;border-radius:0;width:100%}
.form textarea{min-height:140px;resize:vertical}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--brass)}
.form .row2{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.form button{color:var(--brass);border:1px solid var(--brass);padding:13px 24px;transition:background .3s,color .3s,box-shadow .3s}
.form button:hover{background:var(--brass);color:var(--night);box-shadow:0 0 24px var(--brass-glow)}
.form .note{margin:0;color:var(--unlit)}
.foot{margin-top:auto;padding-block:72px 32px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;color:var(--mist)}
.foot .thanks{margin:0;max-width:56ch;font-size:1rem;font-family:var(--body);text-transform:none;letter-spacing:0}
.foot .base{grid-column:1/-1;display:flex;justify-content:space-between;gap:16px;color:var(--unlit);border-top:1px solid var(--line);padding-top:20px}
.thanks .off{font:inherit;color:var(--ivory);border-bottom:1px dashed var(--brass);padding:0;cursor:pointer}
.thanks .off:hover{color:var(--warm)}
.socials{display:flex;gap:14px}
.socials a{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--brass);transition:border-color .4s,box-shadow .4s,color .4s,transform .4s}
.socials a:hover,.socials a:focus-visible{border-color:var(--brass);color:var(--warm);box-shadow:0 0 22px var(--brass-glow),inset 0 0 12px rgba(201,162,94,.15);transform:translateY(-2px)}
.socials svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:860px){.contact{grid-template-columns:1fr}.form .two{grid-template-columns:1fr}.foot{grid-template-columns:1fr}}

/* page transition */
#wipe{position:fixed;inset:0;z-index:50;pointer-events:none;background:var(--paper);clip-path:circle(0px at 50% 50%)}


/* ================= CURTAIN CALL ================= */
.lamp.dying .bulb,.lamp.dying .cone,.lamp.dying .pool{animation:flickOut .7s ease forwards}
@keyframes flickOut{0%{opacity:1}20%{opacity:.15}35%{opacity:.8}55%{opacity:.05}70%{opacity:.4}100%{opacity:0}}
#curtain{position:fixed;inset:0;z-index:55;pointer-events:none}
#curtain.shut{pointer-events:auto}
#curtain:not(.shut){visibility:hidden}
#curtain .panel{position:absolute;top:0;bottom:0;width:50.5%;will-change:transform;
  background:
    linear-gradient(to bottom,rgba(0,0,0,0) 70%,rgba(0,0,0,.45)),
    repeating-linear-gradient(90deg,#0c1613 0,#16261f 22px,#1d3129 34px,#122019 52px,#0a1411 64px);
  box-shadow:inset 0 -3px 0 #8e6b2b}
#curtain .panel::after{content:"";position:absolute;left:0;right:0;bottom:0;height:14px;
  background:repeating-linear-gradient(90deg,#c9a25e 0 2px,transparent 2px 7px);opacity:.55}
#curtain .l{left:0;transform:translateX(-101%);border-right:1px solid #2a3d35}
#curtain .r{right:0;transform:translateX(101%);border-left:1px solid #2a3d35}
#curtain .valance{position:absolute;left:0;right:0;top:0;height:74px;transform:translateY(-110%);will-change:transform;
  background:linear-gradient(#0e1a16,#172a23);border-bottom:1px solid #8e6b2b;display:grid;place-items:center}
#curtain .valance::after{content:"";position:absolute;left:0;right:0;bottom:-15px;height:15px;
  background:radial-gradient(circle at 20px -4px,#172a23 17px,#8e6b2b 18px,transparent 19px) 0 0/40px 15px repeat-x}
#curtain .valance span{font-family:var(--display);font-size:22px;letter-spacing:.5em;color:#c9a25e;padding-left:.5em}
#curtain .bow{position:absolute;left:50%;top:50%;transform:translate(-50%,-46%);width:min(420px,86vw);text-align:center;opacity:0;visibility:hidden}
#curtain .bow svg{width:min(330px,70vw);height:auto;display:block;margin:0 auto 18px;overflow:visible}
#curtain .bow svg *{fill:none;stroke:#c9a25e;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#curtain .bow .glass{fill:#3a3a33;stroke:#6d5a37}
#curtain .bow .tail{transform-origin:108px 168px;animation:tail 3.2s ease-in-out infinite}
@keyframes tail{0%,100%{transform:rotate(0)}50%{transform:rotate(-9deg)}}
#curtain .bow .lids{transform-origin:81px 81px;animation:blink 5s infinite}
@keyframes blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.2)}}
#curtain .bow h4{margin:0 0 8px;font-family:var(--display);font-weight:400;font-size:clamp(1.8rem,4vw,2.6rem);color:#ECE4D2;line-height:1.05}
#curtain .bow p{margin:0 0 22px;color:#8E998F}
#curtain .bow button{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#C9A25E;border:1px solid #C9A25E;padding:12px 22px;transition:background .3s,color .3s,box-shadow .3s}
#curtain .bow button:hover{background:#C9A25E;color:#0B1210;box-shadow:0 0 24px rgba(201,162,94,.35)}

/* ================= RESPONSIVE FRAME ================= */
#home>.wrap,#home>.foot,#truth>.wrap{max-width:1840px;margin-inline:auto;width:100%}
.stop .shead{padding-inline:var(--gut);margin-inline:auto}
#story>.wrap .text,#story>.wrap .disc{max-width:1100px;margin:0 auto;padding:0 0 56px;font-size:.95rem;font-style:italic;color:var(--ink-2)}
.nextup{margin-inline:auto}
.stop{max-width:1840px;margin:0 auto}
@media (min-width:1100px){
  .stop{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(40px,5vw,110px);align-items:end;padding:clamp(28px,5vh,64px) var(--gut) 0}
  .stop .shero{padding:0}
  .stop .shero img{max-width:100%;max-height:min(80vh,920px);margin:0 0 0 auto}
  .stop .shero figcaption{padding-inline:0;max-width:none}
  .stop .shead{grid-template-columns:1fr;padding:0 0 clamp(20px,4vh,48px);gap:24px;margin:0;max-width:640px}
  .stop .shead>div:first-child{display:flex;align-items:flex-end;gap:22px}
  .stop .seal{margin:0 0 12px}
}
@media (min-width:1800px){.prose p{font-size:1.32rem}.text{max-width:1180px}}
/* foldables: short-and-wide inner screens */
@media (min-width:600px) and (max-width:860px){.surname a{font-size:12vw}.who{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}}
/* ================= STORY ================= */
#story{background:var(--paper);color:var(--ink);min-height:100vh;position:relative}
#story .mono{color:var(--ink-2)}
.dim{position:fixed;inset:0;z-index:8;pointer-events:none;transition:opacity .6s;
  background:radial-gradient(circle var(--r,300px) at var(--x,50%) var(--y,40%),rgba(255,236,196,.20) 0,rgba(255,236,196,0) 55%,rgba(26,22,14,.20) 100%)}
#story.lights .dim{opacity:0}
.sbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:12;background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(10px);
  display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:14px;border-bottom:1px solid var(--rule)}
.sbar .back{color:var(--ink)}
.minis{display:flex;gap:clamp(4px,1vw,12px);font-family:var(--display);font-size:1.15rem}
.minis a{color:#BDB39E;position:relative;padding-bottom:3px;transition:color .2s}
.minis a:hover{color:var(--ink)}
.minis a.lit{color:var(--brass-ink)}
.minis a.cur{color:var(--ink)}
.minis a.cur::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--ink)}
.switch{display:inline-flex;align-items:center;gap:8px}
.switch i{width:26px;height:14px;border-radius:8px;background:var(--rule);position:relative;transition:background .3s}
.switch i::after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:var(--paper);transition:transform .3s}
#story.lights .switch i{background:var(--brass-ink)}
#story.lights .switch i::after{transform:translateX(12px)}
.progress{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--brass-ink)}

.shero{margin:0;position:relative;overflow:hidden}
.shero canvas{display:none}
.shero{padding-top:clamp(20px,4vh,48px)}
.shero img{display:block;width:auto;max-width:calc(100% - 2*var(--gut));height:auto;max-height:min(78vh,860px);margin:0 auto;box-shadow:0 30px 60px -30px rgba(27,33,30,.45)}
.shero figcaption{max-width:1100px;margin:0 auto}
.shero figcaption{display:flex;justify-content:space-between;gap:16px;padding-block:10px}
.shead{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:40px;padding-block:clamp(44px,8vh,90px) 0;max-width:1100px}
.bigL{font-family:var(--display);font-size:clamp(6rem,14vw,11rem);line-height:.8;color:#D0C7B3;transition:color 1s}
.seal{display:block;width:64px;height:64px;margin-top:18px;--brass:#8E6B2B;opacity:.9}
.bigL.lit{color:var(--brass-ink)}
.shead h2{margin:0 0 18px;font-family:var(--display);font-weight:400;font-size:clamp(2.5rem,5.6vw,4.8rem);line-height:.96;letter-spacing:-.015em;text-wrap:balance}
.facts{display:flex;flex-wrap:wrap;gap:8px 22px}
.facts b{color:var(--ink);font-weight:500}
.text{max-width:1100px;display:grid;grid-template-columns:minmax(0,180px) minmax(0,640px);gap:40px;padding-block:48px 0}
.side{display:grid;gap:10px;align-content:start;padding-top:8px}
.prose p{margin:0 0 1.15em;font-size:1.26rem;line-height:1.64;text-wrap:pretty}
.prose p:first-child::first-letter{font-family:var(--display);float:left;font-size:4.4em;line-height:.78;padding:8px 12px 0 0;color:var(--brass-ink)}
.teller{margin:0 0 1.6em;font-style:italic;font-size:1.12rem;line-height:1.55;color:var(--ink-2);max-width:56ch;border-left:1px solid var(--brass-ink);padding-left:16px}
.prose .draftnote{font-style:italic;color:var(--ink-2)}
.margins{position:absolute;inset:0;pointer-events:none;z-index:1}
.midart{display:flex;justify-content:center;margin:.6em 0 1.6em}
.midart svg{width:84px;height:84px;opacity:.3;transition:opacity .5s ease}
.midart svg *{fill:none;stroke:var(--brass-ink);stroke-width:1.3;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.margins svg{position:absolute;width:96px;height:96px;opacity:0;transition:opacity .5s ease}
.margins svg *{fill:none;stroke:var(--brass-ink);stroke-width:1.3;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
#story.lights .margins svg{opacity:0!important}
@media (max-width:860px){.margins{display:none}}
.k{transition:color .3s,text-shadow .3s,background .3s;border-radius:2px}
.k.glow{color:#9A6C1C;font-weight:700;background:rgba(201,162,94,.22);text-shadow:0 0 14px rgba(201,162,94,.9)}
.k.seen{color:var(--brass-ink);box-shadow:inset 0 -1.5px 0 rgba(142,107,43,.7)}
#story.lights .k.glow,#story.lights .k.seen{color:inherit;text-shadow:none;background:none;font-weight:inherit;box-shadow:none}

.lock{position:relative;margin-top:-6em;padding-top:6.5em;background:linear-gradient(to bottom,rgba(242,236,223,0),var(--paper) 5.6em)}
.riddle{border-top:1px solid var(--ink);padding-top:26px;display:grid;gap:14px}
.clue{margin:0;font-family:var(--display);font-style:italic;font-size:1.65rem;line-height:1.22;text-wrap:balance}
.how{margin:0;color:var(--ink-2);font-size:1rem}
.slots{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.slots input{width:2.4em;height:2.9em;text-align:center;text-transform:uppercase;font-family:var(--display);font-size:1.4rem;color:var(--ink);
  background:transparent;border:0;border-bottom:1.5px solid var(--ink);border-radius:0;caret-color:var(--brass-ink);padding:0}
.slots input:focus{outline:none;border-bottom-color:var(--brass-ink);background:var(--paper-2)}
.slots input:disabled{color:var(--brass-ink);border-bottom-color:var(--brass-ink)}
.verdict{margin:0;min-height:1.5em;font-style:italic;color:var(--ink-2)}
.verdict.ok{color:var(--brass-ink)}
.shake{animation:shake .38s}
@keyframes shake{20%{transform:translateX(-7px)}60%{transform:translateX(7px)}}
.ending .mark{display:block;margin:36px 0 26px;text-align:center;font-family:var(--display);font-size:1.4rem;color:var(--brass-ink);letter-spacing:.6em}
.ending p{opacity:0;transform:translateY(12px)}
.ending.shown p{opacity:1;transform:none;transition:opacity .9s ease,transform .9s ease}
.nextup{max-width:1100px;margin-top:90px;border-top:1px solid var(--rule);display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-block:28px 64px}
.nextup a{display:grid;gap:6px}
.nextup a:last-child{text-align:right}
.nextup .nt{font-family:var(--display);font-size:1.9rem;line-height:1.05}
.nextup a:hover .nt{color:var(--brass-ink)}

/* ================= TWELFTH ================= */
#truth{min-height:100vh}
.ttable{max-width:900px;margin-top:40px;border-top:1px solid var(--line)}
.trow{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:20px;padding-block:16px;border-bottom:1px solid var(--line);align-items:baseline}
.trow span:first-child{font-family:var(--display);font-size:1.5rem}
.trow .v{color:var(--mist);text-align:right}
.pline{max-width:560px;margin-block:64px;display:grid;gap:12px}
.pline input,.pline textarea{font:inherit;font-size:1rem;color:var(--ivory);background:var(--night-2);border:1px solid var(--line);padding:12px 14px}
.pline textarea{min-height:130px;resize:vertical}
.pline input:focus,.pline textarea:focus{outline:none;border-color:var(--brass)}
.pline button{justify-self:start;color:var(--brass);border:1px solid var(--brass);padding:12px 22px}
.pline button:hover{background:var(--brass);color:var(--night)}

@media (max-width:860px){
  .bar{padding-block:16px;gap:10px}
  .bar b{max-width:9ch;line-height:1.35}
  .meter .lvl{display:none}
  .meter{gap:8px}
  .surname a{font-size:12.4vw}
  .atlas svg:not(.art) path{opacity:.45}
  .atlas svg:not(.art) text{display:none}
  .shero img{max-width:100%;max-height:none;box-shadow:none}
  .shero figcaption{flex-direction:column;gap:2px}
  .shead>div:first-child{display:flex;align-items:flex-end;gap:18px}
  .seal{width:44px;height:44px;margin:0 0 10px}
  .dim{display:none}
  
  .plate{height:150px;margin-top:26px}
  .lede,.who{grid-template-columns:1fr;gap:20px}.lede p{justify-self:start}
  .shead,.text{grid-template-columns:1fr;gap:18px}
  .bigL{font-size:5rem}
  .side{display:flex;flex-wrap:wrap;gap:6px 18px;padding-top:0}
  .prose p{font-size:1.14rem}
  .minis,.keys{display:none}
  .surname a.lit::after{bottom:-10px;width:3px;height:3px}
}
@media (max-width:420px){.bar b{font-size:10px;letter-spacing:.22em}}
@media (hover:none),(pointer:coarse){#grain{animation:none;inset:0;opacity:.035}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001s!important;transition:none!important}#grain{display:none}}



/* ================= FOOTER BASE ================= */
.foot .base{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"site mode" "legal rights";align-items:center;gap:14px 32px;color:var(--mist)}
.foot .base .b-site{grid-area:site}.foot .base .legalnav{grid-area:legal;gap:24px}
.foot .base .b-mode{grid-area:mode;display:inline-flex;align-items:center;justify-content:flex-end;gap:14px}
.foot .base .b-rights{grid-area:rights;text-align:right;opacity:.7}
@media (max-width:1024px){
  .foot{grid-template-columns:1fr;gap:28px;padding-block:56px calc(28px + env(safe-area-inset-bottom))}
  .foot .base{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-top:0;color:var(--mist)}
  .foot .base>*{padding-block:16px;border-bottom:1px solid var(--line)}
  .foot .base>*:last-child{border-bottom:0}
  .foot .base .b-mode{order:1;justify-content:space-between;gap:12px}
  .foot .base .modenote{min-width:0!important;order:2;flex-basis:100%}
  .foot .base .legalnav{order:2;margin:0;display:flex;gap:24px}
  .foot .base .b-rights{text-align:left}
  .foot .base .b-site{order:3;line-height:1.6}
  .foot .base .b-rights{order:4;line-height:1.6;opacity:.75}
}

/* ================= 404 ================= */
#nf{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
#nf>.wrap{max-width:1840px;margin-inline:auto;width:100%;flex:1;display:flex;flex-direction:column}
.nf{flex:1;display:grid;place-items:center;text-align:center;padding-block:24px 72px}
.nf .stage{position:relative;padding-top:clamp(120px,22vw,220px)}
.nf .digits{font-family:var(--display);font-weight:400;font-size:clamp(7.5rem,30vw,21rem);line-height:.8;letter-spacing:.04em;color:var(--unlit);display:flex;justify-content:center;gap:.06em;user-select:none}
.nf .digits .z{animation:nfglow 4.4s ease-in-out infinite}
@keyframes nfglow{0%,50%,100%{color:var(--unlit);text-shadow:none}25%,75%{color:var(--warm);text-shadow:0 0 40px var(--brass-glow)}}
.nf .hang{position:absolute;left:50%;top:0;width:0;height:100%;pointer-events:none;z-index:2}
.nf .swing{position:absolute;left:0;top:0;transform-origin:0 0;animation:nfswing 4.4s ease-in-out infinite}
@keyframes nfswing{0%,100%{transform:rotate(14deg)}50%{transform:rotate(-14deg)}}
.nf .swing svg{position:absolute;left:-40px;top:0;width:80px;height:clamp(120px,22vw,220px);overflow:visible}
.nf .swing .cone{position:absolute;left:-150px;top:calc(clamp(120px,22vw,220px) - 6px);width:300px;height:clamp(200px,32vw,400px);
  background:linear-gradient(to bottom,var(--warm-a),rgba(255,214,150,0) 85%);clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);opacity:.75;mix-blend-mode:screen}
html[data-mode="day"] .nf .swing .cone{mix-blend-mode:multiply;background:linear-gradient(to bottom,rgba(214,160,72,.28),rgba(214,160,72,0) 85%)}
.nf .kick{color:var(--brass);margin:40px auto 14px;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase}
.nf h2{font-family:var(--display);font-weight:400;font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.05;margin:0 0 16px}
.nf p{max-width:46ch;margin:0 auto 32px;color:var(--mist)}
.nf .go{display:flex;gap:16px 28px;justify-content:center;align-items:center;flex-wrap:wrap}
.nf .go a:first-child{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);border:1px solid var(--brass);padding:13px 22px;transition:background .3s,color .3s}
.nf .go a:first-child:hover{background:var(--brass);color:var(--night)}
.nf .go a+a{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mist);border-bottom:1px solid var(--line);padding-bottom:4px}
.nf .go a+a:hover{color:var(--brass);border-color:var(--brass)}
@media (prefers-reduced-motion:reduce){.nf .swing{animation:none}.nf .digits .z{animation:none;color:var(--warm)}}
/* ================= COOKIES ================= */
#ck{position:fixed;left:50%;bottom:18px;z-index:50;transform:translate(-50%,calc(100% + 40px));width:min(760px,calc(100vw - 32px));
  display:flex;align-items:center;gap:16px;padding:12px 14px 12px 20px;background:rgba(11,18,16,.94);border:1px solid #2a3d35;
  box-shadow:0 14px 40px rgba(0,0,0,.45);color:#ECE4D2;font-family:var(--body);font-size:.98rem;line-height:1.35;transition:transform .7s cubic-bezier(.2,.8,.2,1);overflow:hidden}
#ck.in{transform:translate(-50%,0)}
#ck p{margin:0;flex:1}
#ck p a{color:#C9A25E;border-bottom:1px solid rgba(201,162,94,.4)}
#ck .ok{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:#0B1210;background:#C9A25E;padding:7px 12px;flex:none}
#ck .ok:hover{box-shadow:0 0 18px rgba(201,162,94,.45)}
#ck .sw{flex:none;display:grid;place-items:center;width:34px;height:46px;border:1px solid #3b4f46;border-radius:5px;background:#0e1714;padding:0}
#ck .sw i{display:block;width:12px;height:22px;border-radius:3px;background:#1c2723;border:1px solid #4b5f55;position:relative}
#ck .sw i::after{content:"";position:absolute;left:1px;right:1px;top:1px;height:9px;border-radius:2px;background:#C9A25E;box-shadow:0 0 8px rgba(201,162,94,.6);transition:top .25s,background .25s,box-shadow .25s}
#ck .sw:hover i::after,#ck .sw.flip i::after{top:10px;background:#56655d;box-shadow:none}
#ck .t{position:absolute;left:0;bottom:0;height:2px;width:100%;background:#C9A25E;opacity:.55;transform-origin:left;transform:scaleX(0)}
#ck.in .t{animation:ckt var(--ckd,6.5s) linear forwards}
#ck:hover .t,#ck:focus-within .t{animation-play-state:paused}
@keyframes ckt{from{transform:scaleX(1)}to{transform:scaleX(0)}}
html[data-mode="day"] #ck{background:rgba(238,231,216,.96);color:#1B211E;border-color:#D2C8B2;box-shadow:0 14px 34px rgba(60,50,30,.18)}
html[data-mode="day"] #ck .sw{background:#E5DDCB;border-color:#c5b99f}
html[data-mode="day"] #ck p a{color:#8E6B2B}
@media (max-width:600px){#ck{bottom:10px;gap:12px;padding:10px 10px 10px 14px;font-size:.9rem}}
#curtain .bow .cat-ck{display:none}
#curtain.ck .bow .cat-off{display:none}#curtain.ck .bow .cat-ck{display:block}
#curtain .bow .pup{animation:look 4.5s ease-in-out infinite}
@keyframes look{0%,40%{transform:translateX(0)}50%,85%{transform:translateX(3px)}100%{transform:translateX(0)}}
#curtain .bow .crumb{fill:#c9a25e;stroke:none}
#curtain .bow .alt{display:none;margin:14px auto 0;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8E998F;border:0;border-bottom:1px solid #3b4f46;padding:4px 0}
#curtain .bow .alt:hover{color:#C9A25E;background:none;box-shadow:none}
#curtain.ck .bow .alt{display:block}
/* ================= PRIVACY ================= */
#privacy{min-height:100vh}
#privacy>.wrap{max-width:1840px;margin-inline:auto;width:100%}
.legal{max-width:720px;margin:48px 0 96px}
.legal h2{font-family:var(--display);font-weight:400;font-size:clamp(2.2rem,5.4vw,4.4rem);line-height:1.02;margin:0 0 12px}
.legal .upd{color:var(--mist);margin:0 0 48px}
.legal section{border-top:1px solid var(--line);padding-block:26px 8px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:0 16px}
.legal section>span{color:var(--brass);padding-top:.35em}
.legal h3{font-family:var(--display);font-weight:400;font-size:1.55rem;line-height:1.15;margin:0 0 12px}
.legal p{margin:0 0 14px;color:var(--ivory);font-size:1.06rem;line-height:1.6;opacity:.92}
.legal a{color:var(--brass);border-bottom:1px solid var(--brass-glow)}
@media (max-width:600px){.legal section{grid-template-columns:1fr}.legal section>span{padding:0 0 6px}}
.foot .legalnav{display:inline-flex;gap:14px}
.facts ol{list-style:none;margin:0;padding:0;counter-reset:f}
.facts ol li{counter-increment:f;display:grid;grid-template-columns:52px minmax(0,1fr);gap:0 16px;border-top:1px solid var(--line);padding-block:20px;font-size:1.12rem;line-height:1.55}
.facts ol li::before{content:"0" counter(f);font-family:var(--mono);font-size:.78rem;color:var(--brass);padding-top:.45em}
.facts .prof{display:flex;gap:22px;flex-wrap:wrap}
@media (max-width:600px){.facts ol li{grid-template-columns:1fr}}
.foot .legalnav a,.foot .legalnav button{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;border-bottom:1px solid transparent;padding:0}
.foot .legalnav a:hover,.foot .legalnav button:hover{color:var(--brass);border-color:var(--brass)}

#ssr{max-width:760px;margin:40px auto;padding:0 20px;font-family:var(--body)}
