/* Story Games: candle-lit case files. Near-black table, parchment type, antique gold rules. */
:root{--night:#120e17;--night-2:#1b1522;--parch:#efe6d2;--parch-dim:#b9ad97;--gold:#c9a35b;--line:#3a3042;--display:"Libre Caslon Display",Georgia,serif;--text:"Libre Caslon Text",Georgia,serif;--ui:"Figtree",system-ui,sans-serif;--plum:#2b1d3d;--pine:#163a35;--wine:#4a1f2c}
*{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:dark}
body{margin:0;background:var(--night);color:var(--parch);font:400 18px/1.7 var(--text)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 50% at 20% 0%,#3b2a1a40,transparent 70%),radial-gradient(ellipse 60% 50% at 90% 30%,#2b1d3d70,transparent 70%);z-index:-1}
img{max-width:100%;display:block}a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.04;margin:0;text-wrap:balance}
em{font-style:italic;color:var(--gold)}p{margin:0}
.wrap{max-width:1240px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.label{font:600 .7rem/1.3 var(--ui);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.dim{color:var(--parch-dim)}.small{font-size:.82rem}.center{text-align:center}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 28px;background:var(--gold);color:#1a1209;font:600 .78rem/1 var(--ui);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:background .2s}
.btn:hover{background:#dcb876}.btn.block{width:100%}
.btn-line{border:1px solid var(--gold);color:var(--gold);padding:10px 18px;font:600 .72rem/1 var(--ui);letter-spacing:.16em;text-transform:uppercase;text-decoration:none}
.link{font:600 .78rem/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:5px;color:var(--parch)}

.top{border-bottom:1px solid var(--line);background:#120e17e6;backdrop-filter:blur(6px);position:sticky;top:0;z-index:10}
.top .wrap{display:flex;justify-content:space-between;align-items:center;min-height:76px;gap:20px}
.logo{text-decoration:none;display:flex;flex-direction:column;line-height:1}
.logo span{font:400 1.5rem var(--display);letter-spacing:.04em}
.logo small{font:600 .62rem var(--ui);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-top:6px}
.top nav{display:flex;align-items:center;gap:28px;font:500 .9rem var(--ui)}.top nav a{text-decoration:none}

.hero .wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:center;padding-block:72px 96px}
.hero h1{font-size:clamp(3.2rem,6.2vw,6rem);margin:20px 0 24px}
.lead{color:var(--parch-dim);font-size:1.15rem;max-width:28em}
.actions{display:flex;flex-wrap:wrap;gap:20px 32px;align-items:center;margin-top:36px}
.hero-img{margin:0}.hero-img img{border-radius:4px;box-shadow:0 40px 80px -30px #000}
.hero-img figcaption{font:italic 400 .95rem var(--text);color:var(--parch-dim);margin-top:14px;text-align:right}

.section-head{text-align:center;margin-bottom:64px}
.section-head h2{font-size:clamp(2.4rem,4.6vw,3.8rem);margin-top:14px}
.cases{padding-block:96px;border-top:1px solid var(--line)}
.case{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:center}
.case+.case{margin-top:120px}
.case.flip .case-img{order:2}
.case-img{display:block;border-radius:4px;overflow:hidden;box-shadow:0 40px 80px -30px #000}
.case-img img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.case-img:hover img{transform:scale(1.03)}
.dossier{display:flex;flex-direction:column;gap:18px}
.dossier h3,.dossier h1{font-size:clamp(2.4rem,4vw,3.4rem)}.dossier h3 a{text-decoration:none}
.edition{font:italic 400 1.3rem var(--text);color:var(--gold);margin-top:-8px}
.tagline{font:italic 400 1.15rem var(--text)}
.dossier>p:not(.label):not(.edition):not(.tagline){color:var(--parch-dim)}
.specs{margin:6px 0 0;border-top:1px solid var(--line)}
.specs div{display:grid;grid-template-columns:7.5em 1fr;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}
.specs dt{font:600 .68rem/2 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--parch-dim)}.specs dd{margin:0}
.buy-row{display:flex;flex-wrap:wrap;gap:16px 26px;align-items:center;margin-top:10px}
.price{font:400 1.6rem var(--display)}.price.big{font-size:2.2rem}

.how{padding-block:96px;border-top:1px solid var(--line);background:linear-gradient(var(--night-2),var(--night))}
.chapters{list-style:none;margin:0 0 48px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.chapters li{border:1px solid var(--line);padding:36px 30px;text-align:center;background:#ffffff04}
.chapters span{display:block;font:400 3rem/1 var(--display);color:var(--gold);margin-bottom:18px}
.chapters h3{font-size:1.7rem;margin-bottom:10px}.chapters p{color:var(--parch-dim);font-size:1rem}

.crumbs{padding-block:28px 8px;font:500 .82rem var(--ui);color:var(--parch-dim)}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--parch)}
.pdp{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:start;padding-bottom:96px}
.gallery input{position:absolute;opacity:0;pointer-events:none}
.frames img{border-radius:4px;box-shadow:0 40px 80px -30px #000;width:100%}
.frames .f2{display:none;padding:12%;background:var(--plum)}
#g2:checked~.frames .f1{display:none}#g2:checked~.frames .f2{display:block}
.thumbs{display:flex;gap:12px;margin-top:14px}
.thumbs label{width:88px;cursor:pointer;border:1px solid var(--line);padding:3px;opacity:.6}
#g1:checked~.thumbs label[for=g1],#g2:checked~.thumbs label[for=g2]{opacity:1;border-color:var(--gold)}
.gallery input:focus-visible~.thumbs{outline:2px solid var(--gold);outline-offset:4px}
.sticky{position:sticky;top:110px}
.assure{list-style:none;margin:0;padding:0;display:grid;gap:6px;font:500 .88rem var(--ui);color:var(--parch-dim)}
.assure li::before{content:"✦ ";color:var(--gold)}.assure a{color:var(--parch)}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;padding:16px 0;font:600 .72rem var(--ui);letter-spacing:.2em;text-transform:uppercase;display:flex;justify-content:space-between}
summary::after{content:"+";color:var(--gold)}details[open] summary::after{content:"–"}summary::-webkit-details-marker{display:none}
details p{color:var(--parch-dim);font-size:.98rem;padding-bottom:14px}details a{color:var(--parch)}
.more .mini{display:grid;grid-template-columns:minmax(0,320px) 1fr;gap:40px;align-items:center;text-decoration:none;max-width:860px;margin:0 auto}
.mini img{border-radius:4px}.mini h3{font-size:2.2rem;margin:10px 0}.mini .price{display:block;margin-top:12px}
.tone-plum{background:var(--plum)}.tone-pine{background:var(--pine)}.tone-wine{background:var(--wine)}

.foot{border-top:1px solid var(--line);padding-block:64px 32px}
.foot-cross{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:28px 32px;border:1px solid var(--line);margin-bottom:56px}
.foot-cross a{font:400 1.6rem var(--display);text-decoration:none;color:var(--gold)}
.foot-cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:40px}
.foot ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px;font:500 .92rem var(--ui)}.foot ul a{text-decoration:none;color:var(--parch-dim)}.foot ul a:hover{color:var(--parch)}
.foot .dim{margin-top:14px}

.buybar{display:none}
@media (max-width:900px){.hero .wrap,.case,.pdp{grid-template-columns:1fr;gap:40px}.case.flip .case-img{order:0}.chapters{grid-template-columns:1fr}.sticky{position:static}.foot-cols{grid-template-columns:1fr 1fr}.more .mini{grid-template-columns:1fr}}
@media (max-width:600px){
  .hide-sm{display:none}.hero .wrap{padding-block:40px 64px}.cases,.how{padding-block:64px}.case+.case{margin-top:80px}.foot-cols{grid-template-columns:1fr}
  .has-buybar .buybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:20;justify-content:space-between;align-items:center;gap:12px;background:#120e17f2;border-top:1px solid var(--line);padding:12px max(16px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
  .buybar span{display:grid;font:500 .85rem var(--ui)}.buybar strong{font-weight:600}
  .has-buybar{padding-bottom:84px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}html{scroll-behavior:auto}}

:root{--t-text:var(--parch);--t-muted:var(--parch-dim);--t-line:var(--line);--t-accent:var(--gold);--t-panel:#1e1826;--t-radius:4px;--t-display:var(--display);--t-ui:var(--ui)}
.spec-line{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font:500 .9rem var(--ui)}
.spec-line span{font:600 .62rem var(--ui);letter-spacing:.18em;text-transform:uppercase;color:var(--parch-dim);margin-right:6px}
.case-img img{aspect-ratio:1/1;object-fit:cover;width:100%}
.price .was{font-size:1rem}
.bundle{padding-block:0 96px}
.bundle-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:center;text-decoration:none;border:1px solid var(--gold);padding:32px;background:#1b1522}
.bundle-card img{border-radius:4px}
.bundle-card h2{font-size:clamp(2rem,3.6vw,3rem);margin:12px 0}
.bundle-card>div>p{color:var(--parch-dim)}
.bundle-list{margin:16px 0;padding-left:20px;display:grid;gap:6px;font-size:1rem}
.bundle-card .price{display:block;margin-bottom:14px}
@media (max-width:900px){.bundle-card{grid-template-columns:1fr;gap:24px;padding:20px}}

/* ---- product page template (shared structure, themed through --t-* tokens) ---- */
.pdp{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:start;padding-bottom:64px}
.pdp-gallery{position:relative;color:var(--t-accent)}
.pdp-gallery input{position:absolute;opacity:0;pointer-events:none}
.pdp-frames img{display:none;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--t-radius);background:var(--t-panel)}
.pdp-thumbs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:10px}
.pdp-thumbs label{cursor:pointer;opacity:.55;border-radius:calc(var(--t-radius) / 2);overflow:hidden;outline-offset:2px}
.pdp-thumbs img{aspect-ratio:1/1;object-fit:cover;width:100%}
.pdp-gallery input:focus-visible~.pdp-thumbs{outline:2px dashed var(--t-accent);outline-offset:4px}
.pdp-info{position:sticky;top:100px;display:flex;flex-direction:column;gap:16px}
.pdp-rating{font:600 .85rem var(--t-ui);color:var(--t-muted)}.pdp-rating span{color:var(--t-accent);letter-spacing:2px}
.pdp-info h1{font-size:clamp(2.4rem,4.2vw,3.6rem)}
.pdp-edition{font-style:italic;color:var(--t-accent);margin-top:-8px}
.pdp-def{color:var(--t-text)}
.pdp-specs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--t-line);border-radius:var(--t-radius)}
.pdp-specs li{padding:12px 10px;text-align:center;display:grid;gap:4px}
.pdp-specs li+li{border-left:1px solid var(--t-line)}
.pdp-specs span{font:700 .62rem/1.2 var(--t-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--t-muted)}
.pdp-specs b{font:600 .92rem/1.25 var(--t-ui)}
.pdp-buy{display:grid;gap:12px;padding:20px;background:var(--t-panel);border-radius:var(--t-radius)}
.pdp-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.pdp-price .now,.price .now{font:400 2rem/1 var(--t-display)}
.pdp-price.small .now{font-size:1.3rem}
s.was{color:var(--t-muted);font-size:.95em;text-decoration-thickness:1px}
.pdp-trust{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font:600 .82rem var(--t-ui);color:var(--t-muted)}
.pdp-trust li::before{content:"✓ ";color:var(--t-accent)}
.pdp-compat{border:2px solid var(--t-accent);border-radius:var(--t-radius);padding:16px 18px;display:grid;gap:10px;font:500 .9rem/1.5 var(--t-ui)}
.pdp-compat-title{font:800 .75rem var(--t-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--t-accent)}
.pdp-compat-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pdp-compat-cols p{font-weight:700;margin-bottom:4px}
.pdp-compat ul{margin:0;padding-left:18px}.pdp-compat ul.no li::marker{content:"✕ "}
.pdp-body{max-width:900px;display:grid;gap:0;padding-bottom:96px}
.pdp-block{padding-block:40px;border-top:1px solid var(--t-line)}
.pdp-block h2{font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:16px}
.pdp-block>p{color:var(--t-muted);max-width:42em}
.pdp-story{font-size:1.2rem;font-style:italic;color:var(--t-text)!important}
.pdp-list{margin:18px 0 0;padding-left:22px;display:grid;gap:8px;columns:2;column-gap:40px}
.pdp-list li{break-inside:avoid}
.pdp-check{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 32px}
.pdp-check li{padding-left:26px;position:relative}.pdp-check li::before{content:"✓";position:absolute;left:0;color:var(--t-accent);font-weight:700}
.pdp-table{margin:0}
.pdp-table div{display:grid;grid-template-columns:11em 1fr;gap:20px;padding:12px 0;border-bottom:1px solid var(--t-line)}
.pdp-table dt{font:700 .72rem/1.9 var(--t-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--t-muted)}.pdp-table dd{margin:0}
.pdp-review{margin:0;padding:20px 24px;background:var(--t-panel);border-radius:var(--t-radius);display:grid;gap:8px}
.pdp-review .stars{color:var(--t-accent);letter-spacing:3px}.pdp-review cite{font:600 .8rem var(--t-ui);font-style:normal;color:var(--t-muted)}
.pdp-block details{border-bottom:1px solid var(--t-line)}
.pdp-block summary{cursor:pointer;list-style:none;padding:16px 0;font:600 1rem var(--t-ui);display:flex;justify-content:space-between;gap:16px}
.pdp-block summary::after{content:"+";color:var(--t-accent)}.pdp-block details[open] summary::after{content:"–"}.pdp-block summary::-webkit-details-marker{display:none}
.pdp-block details p{color:var(--t-muted);padding-bottom:16px}
.pdp-block a{color:inherit}
.pdp-cross-grid{display:grid;gap:16px}
.pdp-cross-card{display:grid;grid-template-columns:140px 1fr;gap:20px;align-items:center;text-decoration:none;padding:16px;border:1px solid var(--t-line);border-radius:var(--t-radius)}
.pdp-cross-card img{border-radius:calc(var(--t-radius) / 2);aspect-ratio:1/1;object-fit:cover}
.pdp-cross-card h3{font-size:1.5rem;margin:4px 0 6px}.pdp-cross-card p{color:var(--t-muted);font-size:.95rem}.pdp-cross-card .go{display:inline-block;margin-top:8px;font:700 .85rem var(--t-ui);color:var(--t-accent)}
.kick{font:700 .7rem/1.3 var(--t-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--t-accent)}
.pdp-final{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}
.pdp-final .pdp-specs{margin-top:12px}
.pdp-final-buy{display:grid;gap:12px;justify-items:end}
@media (max-width:900px){.pdp{grid-template-columns:1fr;gap:32px}.pdp-info{position:static}.pdp-final{grid-template-columns:1fr}.pdp-final-buy{justify-items:start}}
@media (max-width:600px){.pdp-specs{grid-template-columns:1fr 1fr}.pdp-specs li:nth-child(3){border-left:0}.pdp-specs li:nth-child(n+3){border-top:1px solid var(--t-line)}.pdp-list{columns:1}.pdp-check{grid-template-columns:1fr}.pdp-compat-cols{grid-template-columns:1fr}.pdp-table div{grid-template-columns:1fr;gap:2px}.pdp-cross-card{grid-template-columns:90px 1fr}}
