/* Alibust homepage. site.css stays for the legal pages; this file styles only index.html. */
@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/fraunces-latin-standard-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/fraunces-latin-ext-standard-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0}
@font-face{font-family:"Courier Prime";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/courier-prime-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FFFD}
@font-face{font-family:"Courier Prime";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/courier-prime-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF}
@font-face{font-family:"Courier Prime";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/courier-prime-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FFFD}
@font-face{font-family:"Courier Prime";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/courier-prime-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF}

:root{
  --paper:#f1e6d0;--manila:#e4cf9f;--ink:#17130f;--ink-2:#463a2b;--wood:#20170f;--red:#c23b2c;--red-deep:#a32c1f;--brass:#d9a441;--brass-deep:#6f4f12;--cream-2:#d8cbb1;
  --serif:Fraunces,Georgia,"Times New Roman",serif;--mono:"Courier Prime","Courier New",monospace;
  --pad:clamp(20px,5vw,84px);--max:78rem;--gut:max(0px,calc((100vw - 1100px)*.32));
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;font-size:clamp(16px,calc(11.5px + .36vw),23px)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;background:#0d0906;color:var(--paper);font:400 1.125rem/1.55 var(--serif);overflow-x:clip;-webkit-font-smoothing:antialiased}
/* Only the text waits for the Turkish strings: the hero image still paints immediately for LCP. */
html.tr-wait [data-i18n]{visibility:hidden;animation:tr-show 0s 1.5s forwards}
@keyframes tr-show{to{visibility:visible}}
img,video{display:block;max-width:100%;height:auto}
#world{position:fixed;left:0;top:0;width:100%;height:100vh;height:100lvh;z-index:0;display:block;pointer-events:none}
main,.foot{position:relative;z-index:1}
.still{display:block;width:100%;height:auto}
.js .still{display:none}
.js.static .still,.js.no-webgl .still{display:block}
h1,h2,h3,h4,p,ol,ul,blockquote{margin:0;padding:0}
ol,ul{list-style:none}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
:focus{outline:none}
:focus-visible{outline:3px solid var(--brass);outline-offset:3px;border-radius:3px}
section:focus-visible{outline:none}
.sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:fixed;left:12px;top:-80px;z-index:100;padding:10px 16px;background:var(--brass);color:var(--ink);font-family:var(--mono);font-weight:700;border-radius:6px}
.skip:focus{top:12px}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--pad)}

.tag{font:700 .78rem/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red-deep)}
.tag-dark{color:var(--brass)}

.btn{display:inline-flex;align-items:center;gap:.6em;padding:.85em 1.45em;border:0;border-radius:6px;background:var(--red);color:#fffaf0;font:700 1.02rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;box-shadow:0 3px 0 #7a2318;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{background:#d24636;transform:translateY(-2px);box-shadow:0 5px 0 #7a2318}
.btn:active{transform:translateY(2px);box-shadow:0 1px 0 #7a2318}
.btn svg{transition:transform .2s}
.btn:hover svg{transform:translateX(4px)}
.btn-sm{padding:.65em 1em;font-size:.82rem;box-shadow:0 2px 0 #7a2318}
.btn-ink{background:var(--ink);color:var(--paper);box-shadow:0 3px 0 #000}
.btn-ink:hover{background:#2c251c;box-shadow:0 5px 0 #000}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.btn-ghost:hover{background:rgba(23,19,15,.08);box-shadow:inset 0 0 0 2px var(--ink)}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}

/* Top bar */
.bar{position:fixed;z-index:50;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px var(--pad);background:linear-gradient(rgba(14,10,6,.78),rgba(14,10,6,0));transition:background .3s,box-shadow .3s}
.bar.solid{background:rgba(23,19,15,.92);box-shadow:0 1px 0 rgba(217,164,65,.28)}
.logo{font:900 1.35rem/1 var(--serif);letter-spacing:-.01em;text-decoration:none;color:var(--paper);white-space:nowrap}
.logo b{display:inline-block;margin-left:.06em;padding:.06em .18em .1em;color:var(--red);border:2px solid var(--red);border-radius:4px;font-weight:900;transform:rotate(-4deg)}
.nav{display:flex;gap:clamp(14px,2.2vw,30px)}
.nav a{font:700 .82rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--cream-2);padding:8px 0;background:linear-gradient(var(--brass),var(--brass)) 0 100%/0 2px no-repeat;transition:background-size .25s,color .2s}
.nav a:hover{color:var(--paper);background-size:100% 2px}
.bar-end{display:flex;align-items:center;gap:12px}
.lang{display:flex;border:1px solid rgba(241,230,208,.35);border-radius:6px;overflow:hidden}
.lang button{border:0;background:transparent;color:var(--cream-2);padding:.55em .7em;font:700 .75rem/1 var(--mono)}
.lang button[aria-pressed=true]{background:var(--paper);color:var(--ink)}
.menu{display:none;position:relative}
.menu summary{list-style:none;display:grid;place-items:center;width:40px;height:40px;cursor:pointer;color:var(--paper)}
.menu summary::-webkit-details-marker{display:none}
.menu-sheet{position:absolute;right:0;top:48px;display:grid;min-width:220px;background:var(--paper);color:var(--ink);border-radius:8px;box-shadow:0 12px 40px rgba(0,0,0,.45);padding:8px}
.menu-sheet a{padding:12px 14px;font:700 .9rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-radius:4px}
.menu-sheet a:hover{background:var(--manila)}

/* Hero: full-bleed at every width; the poster is the static scene, the canvas replaces it when ready. */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;isolation:isolate;background:#0d0906}
.hero-poster{position:absolute;inset:0;z-index:-2}
.hero-poster img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
@media (min-aspect-ratio:2/1){.hero-poster img{object-fit:contain;object-position:100% 50%;-webkit-mask-image:linear-gradient(90deg,transparent calc(100% - 177.8vh),#000 calc(100% - 140vh));mask-image:linear-gradient(90deg,transparent calc(100% - 177.8vh),#000 calc(100% - 140vh))}}
.webgl .hero{background:transparent}
.webgl .hero-scrim{position:fixed} /* no bottom edge to scroll into view; home.js fades it out with the copy */
.webgl .hero-poster{opacity:0;visibility:hidden;transition:opacity .9s,visibility 0s .9s}
.hero-scrim{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(9,6,4,.62) 0%,rgba(9,6,4,.42) 40%,rgba(9,6,4,0) 62%),linear-gradient(0deg,rgba(9,6,4,.65) 0%,rgba(9,6,4,0) 26%)}
.hero-copy{position:relative;width:min(100%,62rem);padding:clamp(84px,12vh,120px) var(--pad) clamp(40px,8vh,88px);margin-left:max(0px,calc((100vw - 1500px)*.18))}
.mark{margin:14px 0 8px;font-family:var(--serif);font-weight:900;font-size:clamp(3.5rem,min(9.7vw,18.5vh),11.5rem);line-height:.9;letter-spacing:-.022em;color:var(--paper);font-variation-settings:"opsz" 144;text-shadow:0 2px 34px rgba(0,0,0,.5)}
.mark-word{display:inline-flex;align-items:center}
.bust-slot{position:relative;display:inline-block;margin-left:.04em}
.bi{position:absolute;left:0;top:.13em;visibility:hidden;color:var(--paper)}
.bust{display:inline-block;position:relative;padding:.06em .13em .1em;color:var(--red);border:.055em solid var(--red);border-radius:.09em;transform:rotate(-4.5deg);transform-origin:50% 60%;-webkit-mask:url(img/grit.webp) 0 0/420px 160px;mask:url(img/grit.webp) 0 0/420px 160px}
.tagline{max-width:18em;font-size:clamp(1.55rem,min(3.1vw,5.2vh),3rem);font-weight:600;line-height:1.14;letter-spacing:-.01em;text-shadow:0 1px 18px rgba(0,0,0,.6)}
.tagline em{font-style:normal;color:var(--brass);white-space:nowrap}
.descriptor{margin-top:10px;font:700 .88rem/1.2 var(--mono);letter-spacing:.32em;text-transform:uppercase;color:var(--cream-2)}
.lede{margin-top:18px;max-width:30em;color:#efe3c9;font-size:1.08rem;text-shadow:0 1px 14px rgba(0,0,0,.7)}
.cta{margin-top:26px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px}
.note{font:400 .86rem/1.4 var(--mono);color:var(--cream-2);text-shadow:0 1px 10px rgba(0,0,0,.7)}

/* Stages: windows where the 3D world has the page to itself. Static layouts show a still instead. */
.stage{position:relative}
.stage .still{aspect-ratio:16/8;object-fit:cover}
.stage-line{position:relative;display:grid;gap:10px;padding:clamp(28px,5vw,56px) var(--pad);text-align:center;font-size:clamp(1.9rem,4.4vw,3.8rem);font-weight:800;line-height:1.08;letter-spacing:-.018em}
.stage-text{padding:clamp(28px,5vw,64px) var(--pad);max-width:44rem}
.stage-text h2{margin-top:8px;font-weight:900;font-size:clamp(2.35rem,6.2vw,5.2rem);line-height:1;letter-spacing:-.022em;font-variation-settings:"opsz" 144}
.stage-text p:last-child{margin-top:14px;font-size:1.14rem;color:#efe3c9;text-shadow:0 1px 14px rgba(0,0,0,.8)}
.webgl .stage-env{height:210vh}
.webgl .stage-env .stage-line{position:sticky;top:64vh;width:max-content;max-width:calc(100% - 2*var(--pad));margin-inline:auto;padding:.5em .9em .6em;background:rgba(11,8,5,.74);border-radius:10px}
.webgl .stage-plan{min-height:175vh;overflow:clip}
.webgl .stage-text{position:sticky;top:26vh}
.webgl .stage-plan::before{content:"";position:sticky;top:0;display:block;height:100vh;margin-bottom:-100vh;pointer-events:none;background:linear-gradient(90deg,rgba(9,6,4,.9) 0%,rgba(9,6,4,.6) 34%,rgba(9,6,4,0) 56%)}

/* Folders */
.folder{position:relative;background-color:var(--paper);color:var(--ink);margin:60px var(--gut) 0;padding:clamp(72px,9vw,120px) 0 clamp(64px,8vw,104px);border-radius:18px 18px 0 0;background-image:url(img/grain.webp);box-shadow:0 -14px 40px rgba(0,0,0,.35);z-index:1}
.folder-manila{background-color:var(--manila)}
.folder-tab{position:absolute;top:-34px;left:var(--pad);height:36px;display:flex;align-items:center;gap:10px;padding:0 20px;background:inherit;background-color:inherit;border-radius:10px 10px 0 0;font:700 .78rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);box-shadow:0 -6px 14px rgba(0,0,0,.18)}
.folder-paper .folder-tab{background-color:var(--paper);background-image:url(img/grain.webp)}
.folder-manila .folder-tab{background-color:var(--manila);background-image:url(img/grain.webp)}
.tab-no{color:var(--red-deep)}
.section-head{max-width:46rem;margin-bottom:clamp(30px,5vw,56px)}
.section-head h2,.chapters-head h2{font-weight:900;font-size:clamp(2.35rem,6.2vw,5.2rem);line-height:1;letter-spacing:-.022em;font-variation-settings:"opsz" 144}
.section-head p:last-child{margin-top:14px;font-size:1.14rem;color:var(--ink-2)}
.section-head-dark p:last-child{color:var(--cream-2)}
.w{display:inline-block;will-change:transform}

/* Memo */
.memo{display:grid;grid-template-columns:minmax(200px,340px) 1fr;gap:clamp(28px,6vw,84px);align-items:center}
.memo-portrait img{width:100%;filter:drop-shadow(0 16px 26px rgba(0,0,0,.28));transform:rotate(-3deg)}
.memo-quote{font-size:clamp(1.55rem,3.3vw,2.75rem);line-height:1.2;font-weight:500;letter-spacing:-.01em}
.memo-sign{margin-top:18px;font:700 .86rem/1.4 var(--mono);letter-spacing:.08em;color:var(--red-deep)}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 18px;margin-top:30px;padding-top:20px;border-top:2px solid var(--ink)}
.facts strong{display:block;font-weight:900;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1;font-variation-settings:"opsz" 144}
.facts span{display:block;margin-top:6px;font:400 .88rem/1.25 var(--mono);color:var(--ink-2)}
.cast{margin-top:clamp(40px,6vw,76px);overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.cast-track{display:flex;width:max-content;animation:cast 70s linear infinite}
.cast-track img{width:2304px;height:96px;max-width:none}
@keyframes cast{to{transform:translateX(-2304px)}}

/* Demo case */
.case{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.32fr);gap:clamp(24px,4.5vw,64px);align-items:start}
.case-setup{margin:10px 0 18px;font-size:1.12rem}
.clues{counter-reset:c}
.clues li{counter-increment:c;position:relative;padding:12px 0 12px 42px;border-top:1px dashed rgba(23,19,15,.45);font:400 1rem/1.42 var(--mono)}
.clues li::before{content:counter(c);position:absolute;left:0;top:11px;width:28px;height:28px;display:grid;place-items:center;background:var(--ink);color:var(--paper);border-radius:50%;font:700 .82rem/1 var(--mono)}
.case-help{margin-top:10px;font:400 .86rem/1.4 var(--mono);color:var(--ink-2)}
.case-board{position:relative;background:var(--paper);background-image:url(img/grain.webp);border-radius:10px;padding:clamp(14px,2.2vw,26px);box-shadow:0 18px 40px rgba(60,40,10,.3)}
.grid-wrap{overflow-x:auto}
.grid{border-collapse:collapse;margin-inline:auto}
.grid th{padding:4px;font-weight:400}
.grid thead img{width:clamp(28px,5vw,50px);height:auto;margin-inline:auto}
.grid tbody th{text-align:left;font:700 .82rem/1.15 var(--mono);white-space:nowrap}
.grid tbody th span{display:inline-block;vertical-align:middle}
.grid tbody th img{display:inline-block;vertical-align:middle;width:clamp(30px,4.2vw,44px);margin-right:7px}
.grid .gap{width:clamp(6px,1.6vw,18px);padding:0}
.grid td{padding:0}
.cell{display:block;width:clamp(30px,calc((100vw - 132px)/6.4),62px);height:clamp(30px,calc((100vw - 132px)/6.4),62px);border:1.5px solid var(--ink);background:#fff6e2;font:700 1.32rem/1 var(--serif);color:var(--ink);transition:background .12s,box-shadow .12s;touch-action:manipulation}
.cell:hover{background:#ffeec6}
.cell[data-v="1"]{color:var(--red-deep)}
.cell[data-v="2"]{background:var(--red);color:#fffaf0}
.cell.flag{box-shadow:inset 0 0 0 3px var(--brass)}
.cell:focus-visible{position:relative;z-index:1}
.case-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.case-msg{margin-top:12px;min-height:3.9em;font:400 .96rem/1.4 var(--mono);color:var(--ink-2)}
.accuse{margin-top:6px;padding-top:12px;border-top:2px solid var(--ink)}
.accuse-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.accuse-row button{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border:1.5px solid var(--ink);border-radius:30px;background:#fff6e2;font:700 .84rem/1.1 var(--mono);transition:background .15s,transform .15s}
.accuse-row button:hover{background:var(--brass);transform:translateY(-1px)}
.accuse-row button[data-wrong]{opacity:.5}
.accuse-row img{width:32px;height:32px}
.case-end{margin-top:14px}
.case-stamp{position:absolute;right:6%;top:18%;padding:.1em .34em;border:6px solid var(--red);border-radius:12px;color:var(--red);background:rgba(241,230,208,.55);font:900 clamp(2.4rem,7vw,5rem)/1 var(--serif);text-transform:uppercase;transform:rotate(-10deg) scale(.9);pointer-events:none;visibility:hidden;-webkit-mask:url(img/grit.webp) 0 0/420px 160px;mask:url(img/grit.webp) 0 0/420px 160px}
.case-stamp.on{visibility:visible;transform:rotate(-10deg) scale(1)}

/* Chapters: static layout is a grid of cards; with the world, each card rides beside its 3D coin. */
.chapters{position:relative;z-index:0;padding:clamp(90px,10vw,140px) 0 clamp(50px,6vw,84px);background:radial-gradient(70% 40% at 50% 0,#2a2118,#0d0906 72%)}
.chapters-head{margin-bottom:clamp(26px,3.6vw,44px)}
.chapters-head h2{margin-top:10px;max-width:15em;color:var(--paper)}
.chapters-lede{margin-top:14px;max-width:40em;color:var(--cream-2)}
.ch-track{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:clamp(14px,2vw,26px);padding-inline:var(--pad);max-width:calc(var(--max) + 2*var(--pad));margin-inline:auto}
.ch{background:var(--c);border-radius:14px;padding:22px;color:var(--paper);box-shadow:0 18px 40px rgba(0,0,0,.34),inset 0 0 0 1px rgba(241,230,208,.14)}
.ch img{width:64%;margin:0 auto 16px;filter:drop-shadow(0 10px 16px rgba(0,0,0,.42))}
.ch-no{font:700 .78rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--brass)}
.ch h3{margin-top:6px;font-size:1.72rem;font-weight:800;line-height:1.08;letter-spacing:-.01em}
.ch p:not(.ch-no):not(.ch-new){margin-top:8px;font-size:1.02rem;line-height:1.4;color:var(--cream-2)}
.ch-new{margin-top:12px;display:inline-block;padding:5px 9px;border-radius:4px;background:rgba(0,0,0,.28);font:700 .76rem/1.2 var(--mono);letter-spacing:.04em;color:var(--brass)}
.ch-more{margin-top:18px;font:400 .95rem/1.4 var(--mono);color:var(--cream-2)}
.webgl .chapters{background:transparent}
.webgl .ch-track{display:block;max-width:2560px}
.webgl .ch{display:flex;align-items:center;min-height:120vh;padding:0;background:none;box-shadow:none;border-radius:0}
.webgl .ch:nth-child(even){justify-content:flex-end}
.webgl .ch img{display:none}
.webgl .ch>div{width:min(30rem,36vw);padding:1.6rem 1.8rem;background:rgba(11,8,5,.74);border-left:3px solid var(--brass);border-radius:0 12px 12px 0;box-shadow:0 18px 50px rgba(0,0,0,.45)}
.webgl .ch:nth-child(even)>div{border-left:0;border-right:3px solid var(--brass);border-radius:12px 0 0 12px;margin-right:calc(-1*var(--pad)*0)}

/* Trailer */
.trailer{position:relative;z-index:0;padding:clamp(84px,10vw,130px) 0;background:rgba(10,7,5,.55)}
.trailer-in{display:grid;gap:clamp(20px,3vw,36px)}
.trailer h2{margin-top:8px;font-weight:900;font-size:clamp(2.35rem,6.2vw,5.2rem);line-height:1;letter-spacing:-.022em;font-variation-settings:"opsz" 144}
.trailer-play{position:relative;display:block;width:100%;padding:0;border:0;border-radius:12px;overflow:hidden;background:#0d0906;box-shadow:0 26px 60px rgba(0,0,0,.55),inset 0 0 0 1px rgba(217,164,65,.35);aspect-ratio:16/9}
.trailer-play img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.trailer-play:hover img{transform:scale(1.03)}
.play-mark{position:absolute;right:3.5%;bottom:6%;width:clamp(52px,7vw,96px);height:clamp(52px,7vw,96px);display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fffaf0;box-shadow:0 8px 0 #7a2318,0 16px 40px rgba(0,0,0,.5);transition:transform .2s}
.trailer-play:hover .play-mark{transform:scale(1.08)}
.trailer-video{width:100%;height:auto;aspect-ratio:16/9;border-radius:12px;background:#000}
.trailer-note{font:400 .86rem/1.4 var(--mono);color:var(--cream-2)}

/* Rulebook */
.tricks{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:clamp(30px,6vw,84px);align-items:start}
.phone-col{position:sticky;top:96px;display:grid;justify-items:center;gap:10px}
.phone{position:relative;width:min(100%,330px);aspect-ratio:460/996;border-radius:36px;background:var(--ink);padding:10px;box-shadow:0 26px 46px rgba(40,26,6,.42)}
.phone img{position:absolute;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);border-radius:26px;object-fit:cover;opacity:0;transition:opacity .35s}
.phone img.on{opacity:1}
.phone-note{font:400 .82rem/1.3 var(--mono);color:var(--ink-2)}
.trick-list li{display:grid;grid-template-columns:72px 1fr;gap:16px;padding:20px 0;border-top:1px dashed rgba(23,19,15,.45)}
.trick-list img{width:72px}
.trick-list h3{margin-top:2px;font-size:1.48rem;font-weight:800;line-height:1.12}
.trick-list p:last-child{margin-top:4px;color:var(--ink-2);font-size:1.03rem}

/* Daily */
.daily{position:relative;z-index:0;padding:clamp(84px,10vw,130px) 0;background:radial-gradient(70% 60% at 80% 12%,#3a2a18 0%,var(--ink) 60%)}
.webgl .daily{background:rgba(11,8,5,.72)}
.daily .section-head h2{margin-top:8px;color:var(--paper)}
.daily-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ticket{position:relative;background:var(--paper);background-image:url(img/grain.webp);color:var(--ink);border-radius:10px;padding:26px;display:flex;flex-direction:column}
.ticket>img{width:66px;margin-bottom:10px}
.ticket h3{font-size:1.7rem;font-weight:800;line-height:1.1}
.ticket p{margin-top:6px;color:var(--ink-2)}
.week{display:flex;align-items:flex-end;gap:8px;margin-top:auto;padding-top:20px;height:112px}
.week li{flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%;font:700 .72rem/1 var(--mono);text-align:center}
.week li::before{content:"";display:block;height:var(--h);margin-bottom:6px;background:var(--red);border-radius:3px 3px 0 0}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:20px}
.chips li{padding:8px 12px;border:1.5px solid var(--ink);border-radius:4px;font:700 .82rem/1 var(--mono);letter-spacing:.04em;background:rgba(255,255,255,.3)}
.streak{margin-top:clamp(36px,5vw,64px);padding-top:clamp(24px,3vw,36px);border-top:1px solid rgba(217,164,65,.45)}
.streak-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px}
.streak-head img{width:76px}
.streak-head h3{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:800;line-height:1.1}
.streak-head p{margin-top:6px;max-width:38em;color:var(--cream-2)}
.miles{position:relative;display:grid;grid-template-columns:repeat(8,1fr);margin-top:30px}
.miles::before,.miles-fill{content:"";position:absolute;left:0;right:0;top:27px;height:3px;background:rgba(217,164,65,.28)}
.miles-fill{background:var(--brass);transform-origin:0 50%}
.miles li{position:relative;text-align:center}
.miles strong{position:relative;z-index:1;display:grid;place-items:center;width:clamp(48px,6vw,58px);height:clamp(48px,6vw,58px);margin-inline:auto;background:var(--ink);border:2px solid var(--brass);border-radius:50%;font-size:1.05rem;font-weight:800;color:var(--paper)}
.miles span{display:block;margin-top:7px;font:700 .86rem/1 var(--mono);color:var(--brass)}
.miles-note{margin-top:16px;font:400 .86rem/1.4 var(--mono);color:var(--cream-2)}

/* Detective Card */
.cardsec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:clamp(30px,6vw,84px);align-items:center}
.ranks{display:flex;flex-wrap:wrap;gap:8px}
.ranks li{padding:9px 13px;border-radius:4px;background:rgba(23,19,15,.1);font:700 .82rem/1 var(--mono);letter-spacing:.03em;color:var(--ink)}
.ranks li.lit{background:var(--ink);color:var(--paper)}
.badges-line{margin-top:18px;display:flex;align-items:baseline;gap:10px;max-width:34em;font-size:1.05rem;color:var(--ink-2)}
.badges-line strong{font-size:2.3rem;font-weight:900;color:var(--ink)}
.phone-card{justify-self:center;transform:rotate(2.5deg)}

/* Fair play */
.fair{overflow:clip;position:relative;z-index:0;margin-top:-1px;padding:clamp(84px,10vw,130px) 0;background:var(--ink)}
.webgl .fair{background:rgba(11,8,5,.74)}
.fair .section-head h2{margin-top:8px;color:var(--paper)}
.fair-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(24px,5vw,72px);align-items:center}
.proof h3{margin-top:22px;font-size:1.4rem;font-weight:800;line-height:1.15;color:var(--paper)}
.proof h3:first-child{margin-top:0}
.proof p{margin-top:5px;color:var(--cream-2);max-width:38em}
.stampbox{display:grid;place-items:center}
.big-stamp{padding:.28em .4em .32em;border:.1em solid var(--red);border-radius:.14em;color:var(--red);font:900 clamp(2.1rem,5.2vw,4.4rem)/.96 var(--serif);text-align:center;text-transform:uppercase;transform:rotate(-9deg);-webkit-mask:url(img/grit.webp) 0 0/420px 160px;mask:url(img/grit.webp) 0 0/420px 160px}
.money{margin-top:clamp(40px,6vw,76px);padding-top:clamp(28px,3.5vw,40px);border-top:1px solid rgba(217,164,65,.45)}
.money h3{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:800;line-height:1.1}
.money ul{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:22px}
.money li{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:start}
.money img{width:56px}
.money h4{font-size:1.14rem;font-weight:800}
.money p{margin-top:4px;color:var(--cream-2);font-size:.98rem;line-height:1.45}

/* FAQ */
.faq-list{max-width:52rem}
.faq-list details{border-top:1.5px solid var(--ink)}
.faq-list details:last-child{border-bottom:1.5px solid var(--ink)}
.faq-list summary{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:16px 2px;cursor:pointer;list-style:none;font-size:1.22rem;font-weight:700;line-height:1.2}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";font:700 1.4rem/1 var(--mono);color:var(--red-deep);transition:transform .2s}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list p{padding:0 2px 18px;max-width:42em;color:var(--ink-2)}

/* Finale + footer */
.finale{position:relative;z-index:1;text-align:center;padding:clamp(80px,11vw,150px) var(--pad);display:grid;justify-items:center;gap:22px;background:radial-gradient(70% 90% at 50% 12%,#3b2914 0%,var(--wood) 66%)}
.finale .still{order:-1;max-width:44rem;border-radius:12px;mask-image:radial-gradient(60% 60% at 50% 50%,#000 55%,transparent)}
.webgl .finale{background:transparent;min-height:190vh;align-content:end;padding-bottom:7vh}
.finale h2{max-width:13em;font-weight:900;font-size:clamp(2.7rem,9vw,7.2rem);line-height:.98;letter-spacing:-.024em;color:var(--paper);font-variation-settings:"opsz" 144;text-shadow:0 4px 40px rgba(0,0,0,.7)}
.foot{position:relative;z-index:1;background:var(--ink);padding:32px 0;border-top:1px solid rgba(217,164,65,.3)}
.foot-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 40px}
.foot p{font-size:.92rem;color:var(--cream-2)}
.foot nav{display:flex;flex-wrap:wrap;gap:10px 22px}
.foot nav a{font:700 .84rem/1.2 var(--mono);text-decoration-thickness:1px;text-underline-offset:3px}
.copy{flex-basis:100%;font:400 .78rem/1.4 var(--mono)!important}
.credit{opacity:.8}

@media (max-width:1023px){
  .hero{align-items:flex-end}
  .hero-copy{padding-top:46svh;width:100%;margin-left:0}
  .hero-scrim{background:linear-gradient(0deg,rgba(9,6,4,.94) 0%,rgba(9,6,4,.86) 50%,rgba(9,6,4,0) 69%)}
  .mark{font-size:clamp(3.4rem,16.6vw,9rem)}
  .webgl .stage-plan::before{display:none}
  .webgl .stage-text{top:56svh;background:rgba(11,8,5,.74);border-left:3px solid var(--brass);border-radius:0 12px 12px 0}
  .webgl .ch{align-items:flex-end;min-height:108svh;padding-bottom:8svh}
  .webgl .ch>div,.webgl .ch:nth-child(even)>div{width:100%;border-right:0;border-left:3px solid var(--brass);border-radius:0 12px 12px 0}
  .tricks,.cardsec,.fair-grid,.case{grid-template-columns:minmax(0,1fr)}
  .phone-col{position:static}
  .stampbox{justify-self:start;padding:12px 0}
  .nav{display:none}.menu{display:block}
}
@media (max-width:760px){
  .bar{padding:10px 14px;gap:10px}
  .bar .btn-sm{display:none}
  .bar-end{gap:6px}
  body{font-size:17px}
  .hero-copy{padding:46svh 20px 7svh}
  .memo{grid-template-columns:minmax(0,1fr);gap:18px}
  .memo-portrait{width:min(52vw,220px)}
  .facts{grid-template-columns:repeat(2,1fr)}
  .case{grid-template-columns:minmax(0,1fr)}
  .daily-grid{grid-template-columns:minmax(0,1fr)}
  .streak-head{grid-template-columns:auto 1fr}
  .streak-head .shield{display:none}
  .miles{grid-template-columns:repeat(4,1fr);row-gap:20px}
  .miles::before,.miles-fill{display:none}
  .money ul{grid-template-columns:minmax(0,1fr)}
  .trick-list li{grid-template-columns:56px 1fr;gap:12px}
  .trick-list img{width:56px}
  .folder{margin-top:44px}
  .grid tbody th{padding-right:4px;text-align:center;font-size:.64rem}
  .grid tbody th img{display:block;margin:0 auto 2px}
  .grid tbody th span{display:block}
  .folder-tab{left:16px;padding:0 14px;font-size:.72rem}
  .cardsec .phone-card{order:-1;width:min(70vw,280px)}
}
@media (prefers-reduced-motion:reduce){
  .cast-track{animation:none}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
  html{scroll-behavior:auto}
}
