/* ===== Learn & Play: Card Game Rules (index + article) ===== */
.nav a.on{color:var(--cream)}
/* index hero */
.phero{position:relative;background:#07101c url(img/f/rules-hero-cards.webp) center 40%/cover no-repeat;color:var(--cream);padding:176px 0 110px;min-height:720px;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.phero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,16,28,.9) 0%,rgba(7,16,28,.72) 38%,rgba(7,16,28,.2) 62%,rgba(7,16,28,0) 80%),linear-gradient(180deg,rgba(7,16,28,.55) 0%,rgba(7,16,28,0) 35%)}
.phero .sky{display:none}
.phero .rails,.ahero .rails{--rail:rgba(233,194,140,.28)}
.crumb{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:rgba(247,244,233,.55);margin-bottom:34px}
.crumb a{color:var(--gold-hi)}.crumb i{font-style:normal;opacity:.5}
.phero .kicker,.ahero .kicker{font-size:13px}
.phero h1{font-size:clamp(48px,5.2vw,100px);color:var(--cream);margin:24px 0 20px}
.phero .lede{font-size:23px;color:var(--sand);max-width:760px;line-height:1.5}
.phero .lede b{color:var(--cream-2);font-weight:500}
/* filters */
.filters{background:rgba(247,244,233,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:15}
.filters .wrap{display:flex;align-items:center;gap:18px;min-height:88px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);padding:11px 18px;border:1px solid rgba(13,36,58,.25);border-radius:999px;background:transparent;transition:background .15s,color .15s,border-color .15s}
.chip:hover{border-color:var(--navy)}
.chip.on{background:var(--navy);color:var(--cream);border-color:var(--navy)}
.search{margin-left:auto;display:flex;align-items:center;gap:10px;border:1px solid rgba(13,36,58,.25);background:#fff;padding:0 16px;height:48px;min-width:300px}
.search svg{width:18px;height:18px;stroke:var(--navy);fill:none;stroke-width:1.8}
.search input{border:0;outline:0;font:inherit;font-size:16px;color:var(--black);flex:1;min-width:0;background:transparent}
.count{font-size:14px;color:var(--muted);white-space:nowrap}
/* game grid */
.games{background:var(--cream);padding:64px 0 100px;position:relative}
.games::before{content:'';position:absolute;inset:0;background:url(img/f/wall-rules4.webp?v=2) center top/520px 520px repeat;opacity:1;pointer-events:none;z-index:0}
.games::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,var(--cream) 0,rgba(247,244,233,0) 260px,rgba(247,244,233,0) calc(100% - 260px),var(--cream) 100%);pointer-events:none;z-index:0}
.games .wrap{position:relative;z-index:1}
.ggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.gcard{background:var(--cream-2);border:1px solid var(--gold-line);display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.gcard:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(13,36,58,.45)}
.gcard[hidden]{display:none}
.gcard .art{position:relative;display:block;aspect-ratio:16/9;background:linear-gradient(180deg,#0d243a,#08131f);overflow:hidden;border-bottom:1px solid var(--gold-line)}
.gcard .art::before{content:"";position:absolute;inset:14px;border:1px solid rgba(233,194,140,.35)}
.gcard .art::after{content:"";position:absolute;inset:19px;border:1px solid rgba(233,194,140,.18)}
.gcard .art .ico{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:120px;width:auto;max-width:160px;object-fit:contain;transition:transform .5s}
.gcard:hover .art .ico{transform:translate(-50%,-50%) scale(1.06)}
.gcard .art .suit{position:absolute;right:26px;bottom:18px;font-family:var(--display);font-size:30px;color:var(--gold-hi);opacity:.9}
.gcard .art .soon{position:absolute;left:26px;bottom:22px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-hi);opacity:.75}
.gcard.soon-card .art .ico{opacity:.55}
.gcard .body{padding:26px 28px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.gcard .cat{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--red)}
.gcard h3{font-family:var(--display);font-weight:600;font-size:34px;letter-spacing:0;text-transform:none;line-height:1.05}
.gcard h3 a{color:var(--navy)}
.gcard p{font-size:17px;color:var(--muted);flex:1}
.gcard .meta{list-style:none;display:flex;flex-wrap:wrap;gap:6px 0;font-size:13.5px;color:var(--navy);font-weight:500;margin:4px 0 8px}
.gcard .meta li+li::before{content:"";display:inline-block;width:4px;height:4px;background:var(--red);transform:rotate(45deg);margin:0 12px 2px}
.gcard.soon-card .link{color:var(--muted)}
.empty{display:none;text-align:center;color:var(--navy);font-size:18px;padding:40px;background:#fff;border:1px solid var(--gold-line)}
/* request band */
.ask{background:var(--navy);color:var(--cream);padding:90px 0;position:relative;overflow:hidden}
.ask .wrap{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px}
.ask h2{font-size:clamp(34px,3.6vw,64px);color:var(--cream);margin:16px 0 12px}
.ask p{font-size:19px;color:var(--sand);max-width:640px}
.ask .kicker.gold span{font-size:13px}
/* ===== article ===== */
.ahero{position:relative;background:linear-gradient(180deg,#0a1526 0%,#0d243a 100%);color:var(--cream);padding:150px 0 80px;overflow:hidden}
.ahead{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:60px;align-items:center}
.ahero h1{font-size:clamp(44px,4.6vw,86px);color:var(--cream);margin:22px 0 10px;line-height:1.05}
.ahero .alt{font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:26px}
.ahero .answer{font-size:22px;color:var(--sand);line-height:1.55;max-width:820px}
.emblem{position:relative;aspect-ratio:1;border:1px solid rgba(233,194,140,.35);display:flex;align-items:center;justify-content:center;background:radial-gradient(60% 60% at 50% 45%,rgba(233,194,140,.12),transparent)}
.emblem::before{content:"";position:absolute;inset:10px;border:1px solid rgba(233,194,140,.18)}
.emblem img{height:190px;width:auto;max-width:74%}
.emblem .suit{position:absolute;right:22px;bottom:14px;font-family:var(--display);font-size:40px;color:var(--gold-hi)}
.abody{background:var(--cream);padding:70px 0 90px}
.agrid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:70px;align-items:start}
.aside{position:sticky;top:24px;display:grid;gap:26px}
body.stage .aside{position:static}
body .aside h2{font-family:var(--body);line-height:1.45;font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
.facts{background:#fff;border:1px solid var(--gold-line);padding:26px 28px}
.facts dl{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;font-size:16px}
.facts dt{color:var(--muted);font-weight:500}.facts dd{color:var(--black);font-weight:500}
.pdf{display:inline-flex;align-items:center;gap:10px;margin-top:20px;font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);border-bottom:1px solid var(--gold-line);padding-bottom:4px}
.pdf svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.toc{padding:0 28px}
.toc ol{list-style:none;counter-reset:t;display:grid;gap:2px}
.toc a{display:flex;gap:12px;align-items:baseline;padding:8px 0;font-size:16px;color:var(--muted);border-left:2px solid transparent;padding-left:14px;margin-left:-16px;transition:color .15s,border-color .15s}
.toc a::before{counter-increment:t;content:counter(t,decimal-leading-zero);font-family:var(--display);font-size:13px;color:var(--gold)}
.toc a:hover,.toc a.on{color:var(--navy);border-color:var(--red)}
.shop{background:var(--navy);color:var(--cream);padding:26px 28px 30px}
.shop img{width:100%;height:150px;object-fit:cover;margin-bottom:20px;border:1px solid rgba(233,194,140,.3)}
body .shop h2{color:var(--gold-hi)}.shop p{font-size:15px;color:var(--sand);margin-bottom:18px}
.article{max-width:820px}
.rsec{scroll-margin-top:40px;padding:0 0 46px;margin-bottom:46px;border-bottom:1px solid var(--line)}
.rsec:last-of-type{border-bottom:0}
.rsec h2{font-size:clamp(30px,2.6vw,50px);color:var(--navy);margin-bottom:18px}
.rsec p{font-size:18px;line-height:1.65;color:var(--muted-2);margin-bottom:16px;max-width:none}
.steps{list-style:none;display:grid;gap:12px;margin:8px 0 18px}
.steps li{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--gold-line);padding:14px 18px;font-size:17px;color:var(--black)}
.steps li span{width:38px;height:38px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--navy);color:var(--gold-hi);font-family:var(--display);font-size:17px}
.rt{width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:16px;background:#fff;border:1px solid var(--gold-line)}
.rt th{text-align:left;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--red);padding:12px 16px;border-bottom:1px solid var(--gold-line)}
.rt td{padding:12px 16px;border-bottom:1px solid var(--line);color:var(--black)}
.rt tr:last-child td{border-bottom:0}
.note{border-left:3px solid var(--gold);background:rgba(209,170,114,.12);padding:14px 18px;font-size:16px;color:var(--black);margin:6px 0 10px}
.note b{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:4px}
.vid{aspect-ratio:16/9;background:linear-gradient(180deg,#0d243a,#08131f);border:1px solid var(--gold-line);position:relative}
.vid .ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--sand);font-size:14px;letter-spacing:.16em;text-transform:uppercase}
.vid .playbtn{width:72px;height:72px;border:1px solid var(--gold-hi);color:var(--gold-hi);display:flex;align-items:center;justify-content:center;font-size:22px;transform:rotate(45deg)}
.vid .playbtn::before{content:"";position:absolute;inset:0}
.fq{border:1px solid var(--gold-line);background:#fff;margin-bottom:10px}
.fq summary{cursor:pointer;list-style:none;padding:18px 22px;font-size:18px;font-weight:600;color:var(--navy);display:flex;justify-content:space-between;gap:16px;align-items:center}
.fq summary::-webkit-details-marker{display:none}
.fq summary::after{content:"+";font-family:var(--display);color:var(--red);font-size:24px;flex:none}
.fq[open] summary::after{content:"–"}
.fq p{padding:0 22px 20px;margin:0;font-size:17px}
.inline-signup{display:grid;grid-template-columns:1fr 1.2fr;gap:30px;align-items:center;background:var(--navy);color:var(--cream);padding:30px 34px;margin-top:20px}
.inline-signup h3{font-family:var(--display);font-size:28px;color:var(--cream)}
.inline-signup p{font-size:15px;color:var(--sand);margin:0}
.inline-signup form{display:flex;gap:10px}
.inline-signup input{flex:1;min-width:0;height:50px;padding:0 16px;border:0;font:inherit;font-size:15px}
.inline-signup .ok{color:var(--gold-hi);font-weight:600}
.related{background:#fff;padding:90px 0 80px;text-align:center}
.related h2{color:var(--navy);margin:22px 0 40px}
.relgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:34px}
.rel{display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid var(--gold-line);background:var(--cream);text-align:left;transition:transform .25s,border-color .25s}
.rel:hover{transform:translateY(-4px);border-color:var(--navy)}
.rel img{height:52px;width:auto;flex:none}
.rel b{display:block;font-family:var(--display);font-size:24px;color:var(--navy);line-height:1.1}
.rel small{font-size:13px;color:var(--muted)}
.rel.soon{opacity:.6}
body.stage .phero h1{font-size:100px}
@media (max-width:1000px){
  body:not(.stage) .ggrid{grid-template-columns:1fr 1fr}body:not(.stage) .ask .wrap{grid-template-columns:1fr}body:not(.stage) .search{margin-left:0;width:100%}body:not(.stage) .phero{padding:140px 0 70px}
  body:not(.stage) .ahead{grid-template-columns:1fr}body:not(.stage) .emblem{display:none}body:not(.stage) .agrid{grid-template-columns:1fr;gap:40px}body:not(.stage) .aside{position:static;grid-template-columns:1fr 1fr}body:not(.stage) .toc{display:none}
  body:not(.stage) .relgrid{grid-template-columns:1fr 1fr}body:not(.stage) .inline-signup{grid-template-columns:1fr}body:not(.stage) .ahero{padding:130px 0 60px}
}
@media (max-width:640px){body:not(.stage) .ggrid{grid-template-columns:1fr}body:not(.stage) .aside{grid-template-columns:1fr}body:not(.stage) .relgrid{grid-template-columns:1fr}}

.guide-cta .gcta{background:linear-gradient(180deg,#0d243a,#08131f);border:1px solid var(--gold-bd);color:var(--cream);padding:38px 40px;display:grid;grid-template-columns:auto 1fr auto;gap:34px;align-items:center;position:relative;overflow:hidden}
.guide-cta .gcta::before{content:"";position:absolute;inset:10px;border:1px solid rgba(233,194,140,.18);pointer-events:none}
.guide-cta .gcta img{height:96px;width:auto}
.guide-cta .gcta h2{color:var(--cream);font-size:40px;margin:14px 0 10px}
.guide-cta .gcta p{color:var(--sand);font-size:17px;margin:0}
.guide-cta .kicker.gold span{font-size:12px}
@media (max-width:1000px){body:not(.stage) .guide-cta .gcta{grid-template-columns:1fr;text-align:center}body:not(.stage) .guide-cta .gcta img{margin:0 auto}}

@media (max-width:1000px){body:not(.stage) .phero{background-image:url(img/f/rules-hero-cards-m.webp);background-position:70% 50%;min-height:0}body:not(.stage) .vhero.game-guides{background-image:url(img/f/guides-hero-cards-m.webp)}body:not(.stage) .vhero.card-tricks{background-image:url(img/f/tricks-hero-cards-m.webp)}body:not(.stage) .phero::before{background:linear-gradient(180deg,rgba(7,16,28,.85),rgba(7,16,28,.55) 60%,rgba(7,16,28,.35))}}

/* ===== video index pages (Game Guides / Card Tricks) ===== */
.vhero.game-guides{background-image:url(img/f/guides-hero-cards.webp)}
.vhero.card-tricks{background-image:url(img/f/tricks-hero-cards.webp)}
.games.game-guides::before{background:url(img/f/wall-guides4.webp?v=3) center top/520px 520px repeat}
.games.card-tricks::before{background:url(img/f/wall-tricks4.webp?v=2) center top/520px 520px repeat}
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.vcard{background:var(--cream-2);border:1px solid var(--gold-line);display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.vcard:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(13,36,58,.45)}
.vcard[hidden]{display:none}
.vcard.featured{grid-column:1/-1;flex-direction:row}
.vcard.featured .thumb{flex:0 0 62%;aspect-ratio:16/9}
.vcard.featured .body{justify-content:center;padding:40px 44px}
.vcard.featured h3{font-size:44px}
.vcard.featured p{font-size:18px}
.thumb{position:relative;display:block;aspect-ratio:16/9;background:linear-gradient(180deg,#0d243a,#08131f);overflow:hidden;border-bottom:1px solid var(--gold-line)}
.thumb .poster{position:absolute;inset:14px;border:1px solid rgba(233,194,140,.35);display:flex;align-items:center;justify-content:center}
.thumb .poster::after{content:"";position:absolute;inset:5px;border:1px solid rgba(233,194,140,.18)}
.thumb .poster img{height:70px;width:auto;opacity:.35}
.thumb .play{position:absolute;left:50%;top:50%;width:76px;height:76px;transform:translate(-50%,-50%) rotate(45deg);border:1px solid var(--gold-hi);background:rgba(10,21,38,.6);transition:background .2s,transform .2s}
.thumb .play::after{content:"";position:absolute;left:50%;top:50%;width:0;height:0;border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent var(--gold-hi);transform:translate(-40%,-50%) rotate(-45deg)}
.vcard:hover .play{background:rgba(166,25,46,.85);transform:translate(-50%,-50%) rotate(45deg) scale(1.06)}
.thumb .dur{position:absolute;right:24px;bottom:22px;font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--cream);background:rgba(10,21,38,.8);padding:5px 9px}
.thumb .soon{position:absolute;left:24px;bottom:22px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-hi);opacity:.75}
.vcard .body{padding:24px 28px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.vcard .cat{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--red)}
.vcard h3{font-family:var(--display);font-weight:600;font-size:30px;letter-spacing:0;text-transform:none;line-height:1.05}
.vcard h3 a{color:var(--navy)}
.vcard p{font-size:17px;color:var(--muted)}
@media (max-width:1000px){body:not(.stage) .vgrid{grid-template-columns:1fr 1fr}body:not(.stage) .vcard.featured{flex-direction:column}body:not(.stage) .vcard.featured .thumb{flex:none}body:not(.stage) .vcard.featured h3{font-size:32px}body:not(.stage) .vcard.featured .body{padding:24px 28px}}
@media (max-width:640px){body:not(.stage) .vgrid{grid-template-columns:1fr}}

/* per-page card colouring to sit with each wallpaper */
.games.game-guides::before{background-color:#8c1a2a}
.games.game-guides .thumb{background:linear-gradient(180deg,#8c1a2a,#4a0c18)}
.games.game-guides .vcard h3 a{color:#7a1424}
.games.game-guides .vcard .lvl,.games.game-guides .vcard .cat{color:var(--gold-line)}
.games.card-tricks .thumb{background:linear-gradient(180deg,#22262a,#0b0d0f)}
.games.card-tricks .vcard h3 a{color:var(--black)}
.games.card-tricks .vcard .lvl,.games.card-tricks .vcard .cat{color:var(--gold-line)}
.games.card-tricks .vcard .lvl{color:#8c1a2a}

/* ===== dealer: random game flip card ===== */
.dealer{background:var(--cream);padding:70px 0 20px;position:relative}
.dealer .wrap{display:grid;grid-template-columns:1fr 360px;gap:80px;align-items:center}
.dealer h2{font-family:var(--display);font-weight:600;font-size:56px;line-height:1.05;margin:18px 0 14px;color:var(--navy)}
.dealer h2 .red{color:var(--red)}
.dealer p{font-size:19px;line-height:1.6;color:var(--muted-2);max-width:560px;margin-bottom:26px}
.dealer .flip{width:360px;height:504px;cursor:pointer;perspective:1400px;opacity:0;transform:translateY(40px) rotate(-5deg);transition:opacity .8s,transform .8s cubic-bezier(.2,.8,.2,1)}
.dealer .flip.in{opacity:1;transform:none}
.dealer .flip .inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.4,.2,.2,1)}
.dealer .flip:hover .inner,.dealer .flip.on .inner,.dealer .flip:focus-visible .inner{transform:rotateY(180deg)}
.dealer .flip.shuffle .inner{transition:transform .45s ease-in;transform:rotateY(0) translateY(-30px) rotate(-8deg)}
.dealer .flip .face{position:absolute;inset:0;backface-visibility:hidden;border-radius:18px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(13,36,58,.6)}
.dealer .flip .front img{width:100%;height:100%;object-fit:cover;display:block}
.dealer .flip .back{transform:rotateY(180deg);background:#fff;color:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:38px 30px;border:10px solid #fff}
.dealer .flip .back::before{content:'';position:absolute;inset:14px;border:1px solid var(--gold-line);border-radius:10px;pointer-events:none}
.dealer .flip .back::after{content:'';position:absolute;inset:19px;border:1px solid rgba(175,156,115,.4);border-radius:8px;pointer-events:none}
.dealer .flip .back .emb{height:96px;width:auto;margin-bottom:16px}
.dealer .flip .back .cat{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:8px}
.dealer .flip .back h3{font-family:var(--display);font-weight:600;font-size:34px;line-height:1.05;margin:0 0 10px;color:var(--navy)}
.dealer .flip .back p{font-size:15px;line-height:1.55;color:var(--muted-2);margin:0 0 12px;max-width:260px}
.dealer .flip .back .meta{list-style:none;display:flex;gap:14px;font-size:13px;color:var(--muted);margin:0 0 18px;padding:0}
.dealer .flip .back .meta li+li::before{content:'•';margin-right:14px;color:var(--gold-line)}
.dealer .flip .back .link{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--red);border-bottom:1px solid var(--red);padding-bottom:2px}
.dealer .flip .back .link.soon{color:var(--muted);border-color:var(--gold-line)}
.gcard.hl{outline:2px solid var(--red);outline-offset:4px}
@media (max-width:899px){body:not(.stage) .dealer .wrap{grid-template-columns:1fr;gap:34px;justify-items:center;text-align:center}body:not(.stage) .dealer .kicker{justify-content:center}body:not(.stage) .dealer h2{font-size:40px}body:not(.stage) .dealer .flip{width:300px;height:420px}body:not(.stage) .dealer p{margin-left:auto;margin-right:auto}}

/* ===== mobile pass 09-30 ===== */
@media (max-width:1000px){
  body:not(.stage) .agrid{grid-template-columns:minmax(0,1fr)}
  body:not(.stage) .facts dl{grid-template-columns:78px minmax(0,1fr)}
  body:not(.stage) .inline-signup,body:not(.stage) .gcta,body:not(.stage) .steps{grid-template-columns:minmax(0,1fr)}
  body:not(.stage) .aside,body:not(.stage) .article,body:not(.stage) .facts,body:not(.stage) .shop{min-width:0;max-width:100%}
  body:not(.stage) .rt{display:block;overflow-x:auto}
}
@media (max-width:640px){
  body:not(.stage) .gcard{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:stretch}
  body:not(.stage) .gcard .art{aspect-ratio:auto;height:100%;min-height:150px;border-bottom:0;border-right:1px solid var(--gold-line)}
  body:not(.stage) .gcard .art::before{inset:8px}body:not(.stage) .gcard .art::after{inset:12px}
  body:not(.stage) .gcard .art .ico{height:58px;max-width:80px}
  body:not(.stage) .gcard .art .suit{right:10px;bottom:6px;font-size:18px}
  body:not(.stage) .gcard .art .soon{left:10px;bottom:8px;font-size:8px;letter-spacing:.1em}
  body:not(.stage) .gcard .body{padding:14px 16px 16px;gap:6px}
  body:not(.stage) .gcard h3{font-size:22px}
  body:not(.stage) .gcard p{font-size:14px;line-height:1.45}
  body:not(.stage) .gcard .meta{font-size:12px;gap:8px}
  body:not(.stage) .gcard .link{font-size:12px}
  body:not(.stage) .ggrid{gap:14px}
  body:not(.stage) .dealer .flip{width:240px;height:336px}
  body:not(.stage) .dealer .flip .back .emb{height:70px;margin-bottom:10px}body:not(.stage) .dealer .flip .back h3{font-size:26px}body:not(.stage) .dealer .flip .back p{font-size:13px;max-width:200px}
}

/* deal-card callout */
.dealer .dealstage{position:relative}
.dealer .callout{position:absolute;z-index:3;right:calc(100% + 14px);top:58px;width:250px;text-align:right;color:var(--red);transform:rotate(-5deg);pointer-events:none}
.dealer .callout p{font-family:"Fuzzy Bubbles",cursive;font-weight:700;font-size:27px;line-height:1.2;color:var(--navy);margin:0 0 6px;max-width:none}
.dealer .callout small{display:block;font-family:"Fuzzy Bubbles",cursive;font-weight:700;font-size:19px;color:var(--red)}
.dealer .callout .arrow{display:block;width:104px;height:78px;margin:6px 0 0 auto;transform:translateX(8px);animation:dealnudge 2.4s ease-in-out infinite}
@keyframes dealnudge{0%,100%{transform:translateX(8px)}50%{transform:translate(16px,4px)}}
@media (prefers-reduced-motion:reduce){.dealer .callout .arrow{animation:none}}
@media (max-width:899px){body:not(.stage) .dealer .callout{position:static;width:auto;text-align:center;transform:rotate(-3deg);margin:0 auto 6px}body:not(.stage) .dealer .callout p{font-size:24px}body:not(.stage) .dealer .callout .arrow{width:70px;height:60px;margin:2px auto 0;transform:rotate(60deg);animation:none}}
.dealer .callout .arrow{color:var(--red)}
/* callout v2: brand type (deco display + kicker) */
.dealer .callout{transform:none;width:270px}
.dealer .callout p{font-family:var(--display);font-weight:600;font-size:30px;line-height:1.08;letter-spacing:.5px;text-transform:uppercase;color:var(--navy);margin:0 0 10px}
.dealer .callout small{font-family:"Poppins",sans-serif;font-weight:500;font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--red);display:inline-flex;align-items:center;gap:12px}
.dealer .callout small::before{content:'';width:34px;height:1px;background:var(--gold-line)}
.dealer .callout .arrow path{stroke-width:2.4}
@media (max-width:899px){body:not(.stage) .dealer .callout{transform:none}body:not(.stage) .dealer .callout p{font-size:26px}body:not(.stage) .dealer .callout small::before{display:none}}
/* coming soon band (Game Guides / Card Tricks) */
.soonband{background:var(--cream);padding:110px 0 120px;text-align:center}
.soonband .wrap{max-width:820px}
.soonband .soonicon{width:120px;height:120px;margin:0 auto 26px;opacity:.9}
.soonband .kicker{justify-content:center;gap:24px}
.soonband .kicker .ln{width:120px}
.soonband h2{font-family:var(--display);font-weight:600;font-size:64px;line-height:1.05;color:var(--navy);margin:18px 0 18px}
.soonband p{font-size:20px;line-height:1.6;color:var(--muted-2);margin:0 auto 34px;max-width:640px}
@media (max-width:899px){body:not(.stage) .soonband{padding:70px 0 80px}body:not(.stage) .soonband h2{font-size:40px}body:not(.stage) .soonband p{font-size:17px}body:not(.stage) .soonband .kicker .ln{width:50px}body:not(.stage) .soonband .soonicon{width:90px;height:90px}}
.soonband .soonicon{width:auto;height:96px;max-width:200px;object-fit:contain}
.soonband.card-tricks .soonicon{height:120px}
@media (max-width:899px){body:not(.stage) .soonband .soonicon{width:auto;height:72px}body:not(.stage) .soonband.card-tricks .soonicon{height:90px}}

/* Deal card on phones (Hannah, 10-28): show only the type, the name, players and time, and the link.
   The summary pushed "Read the rules" into the card's inner border. Players/time stay on one line each. */
@media (max-width:899px){
  body:not(.stage) .dealer .flip .back #d-blurb{display:none}
  body:not(.stage) .dealer .flip .back h3{margin-bottom:14px}
  body:not(.stage) .dealer .flip .back .meta{gap:10px;margin-bottom:20px}
  body:not(.stage) .dealer .flip .back .meta li{white-space:nowrap}
  body:not(.stage) .dealer .flip .back .meta li+li::before{margin-right:10px}
}

/* Buttons in one-column grids (Hannah, 10-28): on phones and tablets .ask and .gcta collapse to a
   single grid column, and the grid stretched the button's outer frame to the full width while the
   inner border stayed text-sized. Size the button to its text instead: left in .ask (its heading and
   copy are left-aligned), centered in .gcta (centered below 1000px). */
.ask .wrap>.btn{justify-self:start}
.guide-cta .gcta>.btn{justify-self:center}
@media (min-width:1001px){.guide-cta .gcta>.btn{justify-self:end}}
body.stage .guide-cta .gcta>.btn{justify-self:end}
