/* 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}}
/* ---- email signup (themed through --t-*) ---- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.signup{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;margin-block:56px;padding:36px;background:var(--t-panel);border:1px solid var(--t-line);border-radius:var(--t-radius);color:var(--t-text)}
.signup h2{font:400 clamp(1.8rem,3vw,2.4rem)/1.1 var(--t-display);color:var(--t-accent)}.signup p{color:var(--t-muted)}
.signup-form{display:grid;grid-template-columns:1fr auto;gap:10px;font-family:var(--t-ui)}
.signup-form input[type=email]{min-height:50px;padding:0 16px;border:1px solid var(--t-line);background:transparent;color:var(--t-text);font:500 1rem var(--t-ui);border-radius:var(--t-radius)}
.signup-form input:focus{outline:2px solid var(--t-accent);outline-offset:1px}
.signup-form .btn{border:0;cursor:pointer}
.signup-msg,.signup-fine{grid-column:1/-1;font-size:.82rem;margin:0}.signup-fine a{color:inherit}
.signup-form.done input,.signup-form.done button{display:none}
.pdp-body .signup{margin-block:0;border-radius:var(--t-radius)}
@media (max-width:760px){.signup{grid-template-columns:1fr;padding:26px 20px}.signup-form{grid-template-columns:1fr}}
/* ---- free sample (product page + kids hub), same panel treatment as .signup ---- */
.sample{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;margin-block:56px;padding:36px;background:var(--t-panel);border:1px solid var(--t-line);border-radius:var(--t-radius);color:var(--t-text)}
.sample-copy{display:grid;gap:12px}
.sample h2{font:400 clamp(1.8rem,3vw,2.4rem)/1.1 var(--t-display);color:var(--t-accent)}.sample-copy p{color:var(--t-muted)}
.sample .kicker{font:700 .7rem/1.3 var(--t-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--t-accent)}
.sample .signup-msg,.sample .signup-fine{color:var(--t-muted)}
.sample-form.done .btn[download]{grid-column:1/-1;justify-self:start}
.pdp-body .sample{margin-block:0}
.guide .sample{margin-block:0}
@media (max-width:760px){.sample{grid-template-columns:1fr;padding:26px 20px}}
/* ---- solo play ---- */
.solo-tag{display:inline-block;margin:6px 0 2px;padding:4px 10px;border:1px solid var(--gold);color:var(--gold);font:600 .66rem/1.2 var(--ui);letter-spacing:.16em;text-transform:uppercase}
.solo-line{margin-top:18px;font:500 .9rem var(--ui);color:var(--parch-dim)}.solo-line a{color:var(--parch)}
/* ---- promo banner ---- */
.promo{background:var(--gold);color:#1a1209;font:500 .9rem/1.4 var(--ui)}
.promo .wrap{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px 18px;min-height:44px;padding-block:8px;text-align:center}
.promo a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
/* ---- hero facts ---- */
.facts{list-style:none;margin:40px 0 0;padding:22px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;font:500 .8rem/1.35 var(--ui);color:var(--parch-dim)}
.facts b{display:block;font:400 1.5rem/1.1 var(--display);color:var(--parch);margin-bottom:4px}
/* ---- catalog ---- */
.games{padding-block:96px;border-top:1px solid var(--line)}
.games .section-head p.dim{margin-top:14px}
.filters{display:grid;gap:12px;margin:-24px 0 36px;justify-items:center}
.chips{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px}
.chips-label{font:600 .66rem var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--parch-dim);margin-right:6px}
.chips button{font:600 .82rem var(--ui);color:var(--parch);background:transparent;border:1px solid var(--line);border-radius:999px;padding:9px 16px;cursor:pointer;min-height:40px}
.chips button:hover{border-color:var(--gold)}
.chips button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#1a1209}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.game{display:flex;flex-direction:column;text-decoration:none;background:#1b1522;border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:border-color .2s,transform .2s}
.game:hover{border-color:var(--gold);transform:translateY(-3px)}
.game[hidden]{display:none}
.game img{aspect-ratio:5/4;object-fit:cover;width:100%;height:auto;background:var(--plum)}
.game-body{display:flex;flex-direction:column;gap:8px;padding:18px 18px 20px;flex:1}
.game h3{font-size:1.55rem;line-height:1.1}
.hook{color:var(--parch-dim);font-size:.95rem;line-height:1.5}
.game-specs{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;font:500 .78rem var(--ui);color:var(--parch-dim)}
.game-buy{margin-top:auto;padding-top:10px;display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-top:1px solid var(--line)}
.game-buy .now{font-size:1.4rem}
.go{font:700 .78rem var(--ui);letter-spacing:.06em;color:var(--gold)}
.empty{text-align:center;margin:24px 0}.empty button{background:none;border:0;color:var(--gold);font:inherit;text-decoration:underline;cursor:pointer}
/* ---- bundles ---- */
.bundles{padding-block:96px;border-top:1px solid var(--line);background:linear-gradient(var(--night-2),var(--night))}
.bundle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.bcard{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--gold);border-radius:4px;overflow:hidden;background:#1b1522}
.bcard img{aspect-ratio:5/4;object-fit:cover;width:100%}
.bcard>div{display:flex;flex-direction:column;gap:10px;padding:20px;flex:1}
.bcard h3{font-size:1.8rem}.bcard .dim{font-size:.95rem;line-height:1.5}
.bcard .bundle-list{margin:4px 0;font-size:.92rem}
.bcard .price{margin-top:auto}.bcard .now{font-size:1.6rem}
/* ---- compare ---- */
.compare{padding-block:96px;border-top:1px solid var(--line)}
.table-wrap{overflow-x:auto;max-width:960px;margin:0 auto 18px}
.compare table{width:100%;border-collapse:collapse;font:500 .98rem/1.5 var(--ui)}
.compare th,.compare td{padding:16px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.compare thead th{font:600 .7rem var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--parch-dim)}
.compare thead th:nth-child(2){color:var(--gold)}
.compare tbody th{font:600 .7rem/1.9 var(--ui);letter-spacing:.18em;text-transform:uppercase;color:var(--parch-dim);width:9em}
.compare td:nth-child(2){color:var(--parch);background:#c9a35b10}
.compare td:nth-child(3){color:var(--parch-dim)}
/* ---- faq ---- */
.faq{padding-block:96px;border-top:1px solid var(--line)}
.narrow{max-width:820px}
.faq summary{font:600 1rem var(--ui);letter-spacing:0;text-transform:none;gap:16px}
@media (max-width:900px){.bundle-grid{grid-template-columns:1fr;max-width:520px;margin:0 auto}.facts{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.games,.bundles,.compare,.faq{padding-block:64px}.grid{grid-template-columns:1fr 1fr;gap:12px}.game-body{padding:12px}.game h3{font-size:1.15rem}.hook{display:none}.game-specs{font-size:.72rem}.game-buy{flex-direction:column;gap:2px}.game-buy .now{font-size:1.15rem}.compare th,.compare td{padding:12px 10px;font-size:.88rem}.compare tbody th{width:auto}.filters{margin-top:-32px}.chips{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:4px;scrollbar-width:none}.chips button{flex:none}}
.solo-tag{align-self:flex-start}
.games .grid+.empty+.dim{margin-top:28px}
section[id]{scroll-margin-top:84px}

/* ---- hero v2: quick picks + real-photo collage ---- */
.hero .wrap{padding-block:56px 72px;gap:56px}
.hero h1{font-size:clamp(2.6rem,5.2vw,5rem);margin:16px 0 18px}
.quick{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:28px}
.quick a{font:600 .82rem var(--ui);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:9px 16px;min-height:40px;display:inline-flex;align-items:center;transition:border-color .2s,background .2s}
.quick a:hover{border-color:var(--gold);background:#c9a35b14}
.hero .actions{margin-top:28px}
.facts-line{margin-top:22px;font:500 .85rem/1.5 var(--ui);color:var(--parch-dim)}.facts-line i{font-style:normal;color:var(--gold);padding:0 4px}
.hero-collage{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hero-collage a{position:relative;display:block;border-radius:4px;overflow:hidden;box-shadow:0 30px 60px -30px #000;text-decoration:none}
.hero-collage img{aspect-ratio:5/4;object-fit:cover;width:100%;height:auto;background:var(--plum);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.hero-collage a:hover img{transform:scale(1.04)}
.hero-collage span{position:absolute;left:8px;bottom:8px;background:#120e17d9;color:var(--parch);font:600 .72rem/1 var(--ui);padding:6px 9px;border-radius:2px}
@media (max-width:900px){.hero .wrap{gap:28px}}
@media (max-width:600px){
  .promo .wrap{min-height:36px;padding-block:6px;font-size:.85rem}
  .top .wrap{min-height:60px}.logo span{font-size:1.25rem}.logo small{margin-top:4px}.btn-line{padding:9px 12px;font-size:.66rem}
  .hero .wrap{padding-block:24px 48px;gap:22px}
  .hero .label{font-size:.62rem;letter-spacing:.18em}
  .hero h1{font-size:2.5rem;margin:10px 0 12px}
  .hero .lead{font-size:1rem;line-height:1.55}
  .quick{flex-wrap:nowrap;overflow-x:auto;margin:18px -24px 0;padding:0 24px 4px;scrollbar-width:none}.quick a{flex:none}.quick::-webkit-scrollbar{display:none}
  .hero .actions{margin-top:18px;gap:14px 24px}.hero .btn{min-height:46px;padding:0 20px}
  .facts-line{margin-top:14px;font-size:.78rem}
  .hero-collage{gap:8px}.hero-collage span{font-size:.64rem;padding:5px 7px;left:6px;bottom:6px}
}
.hero-copy{min-width:0}
.quick{gap:6px}.quick a{padding:8px 14px}.quick .chips-label{margin-right:4px}
@media (max-width:600px){.quick .chips-label{display:none}}

/* Buyer guides (src/content/guides.mjs): answer first, quick picks, comparison table, FAQ. */
.guide{max-width:1040px;padding-block:48px 96px;display:flex;flex-direction:column;gap:48px}
.guide-head{display:flex;flex-direction:column;gap:16px;max-width:820px}
.guide-head h1{font-size:clamp(2.2rem,5vw,3.6rem)}
.guide-answer{font-size:1.15rem;line-height:1.6}
.guide-meta,.guide-note{font-size:.82rem;color:var(--t-muted)}
.guide-sec{display:flex;flex-direction:column;gap:18px}
.guide-sec h2{font-size:clamp(1.6rem,3vw,2.2rem)}
.guide-picks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
.guide-pick{display:flex;flex-direction:column;gap:6px;text-decoration:none;border:1px solid var(--t-line);border-radius:var(--t-radius);padding:12px;background:var(--t-panel);height:100%}
.guide-pick img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;border-radius:calc(var(--t-radius) / 2)}
.guide-pick-label{font:700 .7rem/1.3 var(--t-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--t-accent)}
.guide-pick b{font-size:1.05rem}.guide-pick span:last-child{font:500 .85rem/1.4 var(--t-ui);color:var(--t-muted)}
.guide-table-wrap{overflow-x:auto;border:1px solid var(--t-line);border-radius:var(--t-radius)}
.guide-table{width:100%;border-collapse:collapse;font:500 .9rem/1.4 var(--t-ui);min-width:720px}
.guide-table th,.guide-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--t-line);vertical-align:top}
.guide-table thead th{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--t-muted)}
.guide-table tbody th{font-weight:700}.guide-table a{color:inherit;text-underline-offset:3px}
.guide-choose{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.guide-choose div{border-top:2px solid var(--t-accent);padding-top:12px}
.guide-choose dt{font:700 .78rem/1.3 var(--t-ui);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}.guide-choose dd{margin:0;color:var(--t-muted)}
.guide-list{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:10px}.guide-list a{color:inherit}
.guide-faq h3{font-size:1.25rem;margin-top:8px}.guide-faq p{color:var(--t-muted)}
.guide-more ul{margin:12px 0 0;padding-left:1.2em;display:flex;flex-direction:column;gap:6px}.guide-more a{color:inherit;text-underline-offset:4px}
.guide-more h2{font-size:1.4rem}

/* Free treasure hunt page (src/content/freehunt.mjs): six picture cards on light paper; the print button prints only the cards. */
.hunt-print-title{display:none}
.hunt-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.hunt-card{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;background:#fff7e8;color:#2b2440;border:2px dashed #9a8f7a;border-radius:10px;padding:18px 16px;font:600 1.05rem/1.35 var(--ui)}
.hunt-card svg{width:132px;height:132px}
@media print{.hunt-card svg{width:42mm;height:42mm}}
.hunt-no{font:700 .7rem/1 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:#8a5a12}
.hunt-brand{font:500 .62rem/1 var(--ui);color:#7a7066;margin-top:auto}
.free-hunt .guide-head .btn{border:0;cursor:pointer}
@media print{
  @page{margin:10mm}
  .print-hunt{background:#fff;color:#000}.print-hunt::before{display:none}
  .print-hunt .top,.print-hunt .foot,.print-hunt .promo,.print-hunt .no-print,.print-hunt .buybar,.print-hunt .signup{display:none!important}
  .print-hunt main,.print-hunt .guide{padding:0;margin:0;max-width:none;gap:0}
  .hunt-print-title{display:block;font:600 10pt/1.3 Arial,sans-serif;color:#000;margin-bottom:4mm}
  .hunt-cards{grid-template-columns:1fr 1fr;gap:0}
  .hunt-card{break-inside:avoid;border-radius:0;height:80mm;justify-content:center;font-size:14pt;background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* Party-ideas articles (src/content/articles.mjs, flagged party:true): research-list layout for party
   organisers — airy type, numbered idea cards, one visual per idea, "You need" callouts, a timeline
   running order and a linked resources list. Scoped to .party-guide so other articles/guides are
   untouched; themed entirely through the shared --t-* tokens (gold = brass accent). */
.party-guide{gap:56px}
.party-guide .guide-answer{font-size:1.18rem;line-height:1.7}
.party-guide .guide-sec p{line-height:1.7}
.party-ideas{display:flex;flex-direction:column;gap:28px}
.party-idea{border:1px solid var(--t-line);border-radius:var(--t-radius);background:var(--t-panel);padding:30px;display:flex;flex-direction:column;gap:18px}
.party-idea-top{display:flex;align-items:baseline;gap:20px}
.party-num{font-family:var(--t-display);font-size:3.2rem;line-height:.9;color:var(--t-accent)}
.party-idea-top h2{font-size:clamp(1.55rem,3vw,2.1rem)}
.party-photo{display:block}
.party-photo img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;border-radius:calc(var(--t-radius) / 2)}
.party-typo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;border:1px dashed var(--t-accent);border-radius:calc(var(--t-radius) / 2);padding:38px 20px}
.party-typo span{font-family:var(--t-display);font-size:clamp(1.9rem,4.5vw,2.7rem);line-height:1.1;color:var(--t-text)}
.party-typo small{font:600 .7rem/1.3 var(--t-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--t-muted)}
.party-idea-body{display:flex;flex-direction:column;gap:12px}
.party-idea-body p{line-height:1.7}
.party-idea-body a{text-underline-offset:3px}
.party-need{border:1px solid var(--t-accent);border-radius:calc(var(--t-radius) / 2);padding:14px 18px;display:flex;flex-direction:column;gap:6px}
.party-need span{font:700 .68rem/1.3 var(--t-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--t-accent)}
.party-need p{font-size:.96rem;line-height:1.6}
.party-timeline{list-style:none;margin:0;padding:2px 0 2px 30px;position:relative;display:flex;flex-direction:column;gap:22px}
.party-timeline::before{content:"";position:absolute;left:8px;top:10px;bottom:10px;width:1px;background:var(--t-line)}
.party-timeline li{position:relative}
.party-timeline li::before{content:"";position:absolute;left:-26.5px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--t-accent)}
.party-timeline li span{font:700 .72rem/1.3 var(--t-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--t-accent)}
.party-timeline li p{margin-top:4px;line-height:1.65}
.party-res{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.party-res li{line-height:1.65}
.party-res a{text-underline-offset:3px}
.party-table-card{border:1px solid var(--t-line);border-radius:var(--t-radius);background:var(--t-panel);padding:8px 22px;overflow-x:auto}
.party-table{width:100%;border-collapse:collapse;font:500 .95rem/1.5 var(--t-ui);min-width:520px}
.party-table th,.party-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--t-line);vertical-align:top}
.party-table thead th{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--t-muted)}
.party-table tbody th{font-weight:700;white-space:nowrap}
.party-table .party-cost{text-align:right;font-weight:700;white-space:nowrap}
.party-table tfoot th,.party-table tfoot td{border-bottom:none;color:var(--t-accent);font-size:1.05rem}
.party-check{border:1px solid var(--t-line);border-radius:var(--t-radius);background:var(--t-panel);padding:24px 28px}
.party-check ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px}
.party-check li{position:relative;padding-left:34px;line-height:1.6}
.party-check li::before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;border:1.5px solid var(--t-accent);border-radius:4px}
@media (max-width:600px){.party-idea{padding:20px}.party-num{font-size:2.5rem}.party-idea-top{gap:14px}.party-table-card{padding:6px 14px}.party-check{padding:18px 20px}}
