@font-face{font-family:"JOKO Nunito";src:url("assets/fonts/Nunito-Variable.ttf") format("truetype");font-weight:200 1000;font-style:normal;font-display:swap}
:root{
  --ink:#17152d;
  --muted:#68667a;
  --purple:#6437d6;
  --purple-dark:#4d21aa;
  --lavender:#f3efff;
  --lavender-2:#e7defd;
  --mint:#dff6ec;
  --green:#23785d;
  --buddy-mint:#35cda5;
  --buddy-teal:#12a7aa;
  --buddy-cream:#fff9eb;
  --yellow:#fff1b7;
  --gold:#f2c14f;
  --coral:#ff708d;
  --paper:#fff;
  --canvas:#fbfaff;
  --line:#e4dfee;
  --display:"JOKO Nunito","Trebuchet MS",sans-serif;
  --body:"JOKO Nunito","Trebuchet MS",system-ui,sans-serif;
  --shadow:0 18px 55px rgba(46,29,83,.10);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;color:var(--ink);background:radial-gradient(circle at 3% 10%,rgba(53,205,165,.08),transparent 19rem),radial-gradient(circle at 97% 24%,rgba(255,112,141,.07),transparent 22rem),var(--canvas);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
svg{width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:1000;top:10px;left:10px;padding:10px 14px;border-radius:8px;background:var(--ink);color:#fff;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.section-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.eyebrow{display:block;color:var(--purple);font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--display);letter-spacing:-.035em}
h1 em,h2 em{color:var(--purple);font-style:normal}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:48px;padding:.72rem 1.2rem;border:1px solid transparent;border-radius:13px;font-weight:800;line-height:1;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--purple);color:#fff;box-shadow:0 12px 25px rgba(103,56,209,.24)}
.button-primary:hover{background:var(--purple-dark)}
.button-outline{min-height:42px;padding:.62rem 1rem;border-color:#d6c9f3;background:#fff;color:var(--purple)}
.button-outline:hover{border-color:var(--purple);box-shadow:0 8px 20px rgba(62,36,111,.09)}
.button-ghost{border-color:var(--line);background:#fff;color:var(--ink)}
.button-gold{background:var(--gold);color:#291a38;box-shadow:0 12px 28px rgba(242,193,79,.22)}
.button-white{background:#fff;color:var(--purple)}
.coming-soon-note{display:inline-flex;align-items:center;justify-content:center;padding:4px 7px;border:1px solid currentColor;border-radius:999px;font:900 .52rem/1 var(--body);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.button .coming-soon-note{border:0;background:#fff0ae;color:#624509}

/* Header */
.site-header{position:sticky;z-index:50;top:0;border-bottom:1px solid rgba(228,223,238,.8);background:rgba(255,255,255,.9);backdrop-filter:blur(16px)}
.nav-shell{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:38px;width:min(1240px,calc(100% - 32px));min-height:74px;margin:auto}
.brand-link img{width:126px;height:58px;object-fit:contain}
.site-nav{display:flex;align-items:center;justify-content:center;gap:30px}
.site-nav a{position:relative;color:#504d61;font-size:.9rem;font-weight:700}
.premium-status-link{display:flex;align-items:center;gap:6px}
.site-nav .coming-soon-note{padding:3px 5px;font-size:.46rem}
.site-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--purple);transition:right .2s ease}
.site-nav a:hover{color:var(--ink)}
.site-nav a:hover::after{right:0}
.header-actions{display:flex;align-items:center;gap:12px}
.instagram-follow{position:relative;display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border:1px solid #d9d0e9;border-radius:12px;background:#fff;color:var(--purple);box-shadow:0 3px 10px rgba(45,25,80,.07);transition:border-color .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}
.instagram-follow::before{position:absolute;inset:-1px;border:2px solid transparent;border-radius:12px;background:linear-gradient(135deg,#833ab4,#fd1d1d 58%,#fcb045) border-box;content:"";opacity:0;pointer-events:none;transition:opacity .18s ease;mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);mask-composite:exclude}
.instagram-follow svg{width:20px;height:20px;transition:transform .18s ease}
.instagram-follow .icon-fill{fill:currentColor;stroke:none}
.instagram-follow:hover{border-color:transparent;color:#c62f70;box-shadow:0 8px 18px rgba(131,58,180,.17);transform:translateY(-2px)}
.instagram-follow:hover::before,.instagram-follow:focus-visible::before{opacity:1}
.instagram-follow:hover svg{transform:scale(1.08)}
.overview-lang{position:relative;display:block}
.overview-lang::after{content:"⌄";position:absolute;right:10px;top:50%;color:var(--purple);font-size:.82rem;font-weight:950;line-height:1;pointer-events:none;transform:translateY(-58%)}
.overview-lang select{width:72px;height:40px;padding:0 28px 0 13px;border:1px solid var(--line);border-radius:10px;background:#f7f5fb;color:var(--purple);font:900 .75rem/1 var(--body);cursor:pointer;appearance:none;box-shadow:0 2px 8px rgba(45,25,80,.06)}
.overview-lang select:hover{border-color:#c7b7e6;background:#fff}.overview-lang select:focus-visible{outline:3px solid #20afe1;outline-offset:3px}
.menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);cursor:pointer}

/* Hero — a complete game night in fifteen seconds */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(470px,1fr);align-items:center;gap:32px;min-height:500px;overflow:clip;padding-block:32px 38px}
.hero-copy{position:relative;z-index:2}
.hero h1{max-width:620px;margin:9px 0 14px;font-size:clamp(2.7rem,4vw,3.35rem);line-height:.98}
.hero-copy>p{max-width:570px;margin-bottom:18px;color:var(--muted);font-size:1rem;line-height:1.5}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-game-night-cta{min-width:210px;background:var(--gold);color:#291a38;box-shadow:0 8px 0 #b88c21,0 17px 30px rgba(112,78,10,.2)}
.hero-game-night-cta:hover{background:#ffd45f;box-shadow:0 10px 0 #a77c18,0 21px 34px rgba(112,78,10,.25)}
.hero-game-night-note{display:flex;max-width:570px;align-items:center;gap:9px;margin:14px 0 0!important;color:#4e4960!important;font-size:.75rem!important;font-weight:800;line-height:1.35!important}
.hero-game-night-note>span:first-child{display:grid;width:25px;height:25px;flex:0 0 auto;place-items:center;border-radius:8px;background:#eee7ff;color:var(--purple);font-size:1rem;font-weight:950}
.hero-game-night-note a{color:var(--purple);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.trust-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:18px;color:#666377;font-size:.8rem;font-weight:700}
.trust-row>span{display:flex;align-items:center;gap:7px}
.trust-row svg{color:var(--green)}
.buddy-role{display:inline-flex;align-items:center;gap:6px;color:var(--purple);font-size:.62rem;font-weight:950;letter-spacing:.12em;line-height:1.2;text-transform:uppercase}
.buddy-role::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--buddy-mint);box-shadow:11px 0 var(--gold),22px 0 var(--coral);margin-right:21px}
.buddy-intro{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:end;max-width:570px;margin-top:25px}
.buddy-intro>img{position:relative;z-index:2;width:105px;height:105px;margin:0 -10px -2px 0;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(26,94,76,.16));animation:buddy-arrive .75s .35s both cubic-bezier(.2,.8,.2,1)}
.buddy-speech{position:relative;padding:13px 16px 13px 20px;border:1px solid #d9d0ec;border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(44,28,77,.08)}
.buddy-speech::before{content:"";position:absolute;left:-9px;bottom:21px;width:17px;height:17px;border-left:1px solid #d9d0ec;border-bottom:1px solid #d9d0ec;background:#fff;transform:rotate(45deg)}
.buddy-speech>*{position:relative;z-index:1}.buddy-speech strong{display:block;margin:4px 0 2px;font-size:.9rem;line-height:1.2}.buddy-speech p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.4}
@keyframes buddy-arrive{from{opacity:0;transform:translateY(12px) rotate(-4deg)}to{opacity:1;transform:none}}
.hero-visual{position:relative;display:grid;place-items:center;min-width:0;min-height:510px;padding:14px;isolation:isolate}
.hero-visual::before{content:"";position:absolute;z-index:-2;inset:5% -1% 1%;border-radius:42px;background:#e9e1ff;box-shadow:0 28px 68px rgba(48,29,83,.15);transform:rotate(2deg)}
.hero-visual::after{content:"";position:absolute;z-index:-1;inset:-8% -5%;background:radial-gradient(circle at 7% 20%,#ff708d 0 5px,transparent 6px),radial-gradient(circle at 95% 16%,#f2c14f 0 6px,transparent 7px),radial-gradient(circle at 92% 88%,#55cdb0 0 5px,transparent 6px),radial-gradient(circle at 2% 82%,#6738d1 0 4px,transparent 5px);pointer-events:none}
.hero-demo{position:relative;z-index:1;width:min(100%,620px);padding:14px;border:1px solid #34314f;border-radius:30px;background:#17152d;color:#fff;box-shadow:0 22px 56px rgba(27,18,54,.27),inset 0 1px rgba(255,255,255,.12);animation:hero-rise .8s both cubic-bezier(.2,.8,.2,1);overflow:hidden}
.hero-demo::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;background-image:radial-gradient(rgba(255,255,255,.2) .7px,transparent .7px);background-size:8px 8px;mask-image:linear-gradient(to bottom,#000,transparent 65%)}
.demo-toolbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:1px 3px 11px}
.demo-live{display:inline-flex;align-items:center;gap:7px;color:#fff5cf;font-size:.69rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.demo-live i{width:8px;height:8px;border-radius:50%;background:#ff708d;box-shadow:0 0 0 4px rgba(255,112,141,.15);animation:demo-pulse 1.2s infinite}
.demo-replay{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 9px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:.7rem;font-weight:800;cursor:pointer}
.demo-replay:hover{background:#fff;color:var(--ink)}
.demo-replay>span:first-child{font-size:1rem;line-height:1}
.demo-tv{position:relative;z-index:1;padding:8px 8px 11px;border:1px solid #514d70;border-radius:22px;background:#0c0b20;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 15px 30px rgba(0,0,0,.2)}
.demo-tv::after{content:"";position:absolute;z-index:-1;left:50%;bottom:-17px;width:92px;height:18px;border-radius:0 0 14px 14px;background:#292642;transform:translateX(-50%)}
.demo-tv__top{display:flex;align-items:center;justify-content:space-between;padding:1px 5px 7px;color:#b9b3cf;font-size:.61rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.demo-tv__top strong{color:#fff1b7;letter-spacing:.12em}
.demo-tv__screen{position:relative;height:260px;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:radial-gradient(circle at 22% 0,#34245f 0,transparent 43%),linear-gradient(150deg,#15122e,#0b1028)}
.demo-tv__screen::before{content:"";position:absolute;inset:0;opacity:.26;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(to bottom,#000,transparent)}
.demo-panel{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;padding:22px;text-align:center;opacity:0;pointer-events:none;transform:translateY(12px) scale(.98);transition:opacity .32s ease,transform .32s ease}
.hero-demo[data-phase="code"] [data-demo-panel="code"],.hero-demo[data-phase="join"] [data-demo-panel="join"],.hero-demo[data-phase="question"] [data-demo-panel="question"],.hero-demo[data-phase="answers"] [data-demo-panel="answers"],.hero-demo[data-phase="result"] [data-demo-panel="result"]{opacity:1;pointer-events:auto;transform:none}
.demo-kicker{margin-bottom:7px;color:#ffe170;font-size:.65rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.demo-panel p{margin:0;color:#c9c4d9;font-size:.76rem}
.demo-panel h3{max-width:380px;margin:7px 0 8px;color:#fff;font-size:1.5rem;line-height:1.12;letter-spacing:-.04em}
.demo-code{display:flex;gap:7px;margin:13px 0 12px}
.demo-code span{display:grid;place-items:center;width:48px;height:54px;border:1px solid #ead38e;border-radius:10px;background:#fff8df;color:#5225af;box-shadow:0 5px 0 #d8c383;font:900 1.65rem/1 var(--display);transform:rotate(var(--turn,0))}
.demo-code span:nth-child(1){--turn:-2deg}.demo-code span:nth-child(2){--turn:1deg}.demo-code span:nth-child(3){--turn:-1deg}.demo-code span:nth-child(4){--turn:2deg}
.demo-waiting{display:flex;align-items:center;gap:7px;color:#aaa4bd;font-size:.68rem}
.demo-waiting i{width:6px;height:6px;border-radius:50%;background:#55cdb0;box-shadow:10px 0 #8b69e6,20px 0 #f2c14f;margin-right:20px;animation:demo-wait 1s infinite alternate}
.demo-join-list{display:grid;gap:8px;width:min(100%,350px);margin-top:5px}
.demo-join-list>div{display:grid;grid-template-columns:34px 1fr auto 24px;align-items:center;gap:9px;padding:7px 9px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.075);text-align:left;opacity:.25;transform:translateX(15px);transition:.3s ease}
.demo-join-list>div.is-joined{opacity:1;transform:none;border-color:rgba(85,205,176,.45);background:rgba(85,205,176,.12)}
.demo-join-list strong{font-size:.78rem}.demo-join-list small{color:#c9c4d9;font-size:.65rem}.demo-join-list b{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#55cdb0;color:#10241e;font-size:.68rem}
.demo-avatar{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:10px;color:#211832;font-size:.68rem;font-weight:900}.demo-avatar.coral{background:#ffb2c1}.demo-avatar.mint{background:#a9ead8}.demo-avatar.gold{background:#ffe08a}
.demo-penguin{display:grid;place-items:center;width:55px;height:55px;margin-bottom:4px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.08);font-size:2rem;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.demo-answer-dots{display:flex;gap:10px;margin:18px 0 10px}
.demo-answer-dots span{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.07);color:#a7a0ba;font-size:.72rem;font-weight:900;transition:.25s ease}
.demo-answer-dots span.is-submitted{border-color:#f2c14f;background:#fff1b7;color:#4d21aa;box-shadow:0 0 0 4px rgba(242,193,79,.12);transform:translateY(-3px)}
.demo-winning-answer{display:flex;align-items:center;gap:10px;max-width:390px;margin:8px 0 10px;padding:12px 16px;border:1px solid #ead38e;border-radius:14px;background:#fff8df;color:#2b2141;box-shadow:0 7px 0 #d5bf7d;text-align:left}
.demo-winning-answer>span{font-size:1.45rem}.demo-winning-answer strong{font-size:1.08rem;line-height:1.18}
.demo-reactions{display:flex;gap:8px;margin:5px 0 7px}.demo-reactions span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;font-size:1.25rem;box-shadow:0 7px 16px rgba(0,0,0,.22);animation:demo-pop .45s both}.demo-reactions span:nth-child(2){animation-delay:.08s}.demo-reactions span:nth-child(3){animation-delay:.16s}
.demo-phones{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:-5px 13px 0}
.demo-phone{min-width:0;padding:7px;border:1px solid #ded8ea;border-radius:15px;background:#fff;color:var(--ink);box-shadow:0 10px 22px rgba(0,0,0,.2);opacity:.55;transform:translateY(7px);transition:.3s ease}
.demo-phone:nth-child(1){rotate:-1.5deg}.demo-phone:nth-child(3){rotate:1.5deg}
.demo-phone.is-joined{opacity:1;transform:none}.demo-phone.is-submitted{border-color:#9a79ea;box-shadow:0 0 0 2px #d9cdf8,0 10px 22px rgba(0,0,0,.2)}.demo-phone.is-winner{border-color:#e5b534;box-shadow:0 0 0 3px #fff1b7,0 12px 26px rgba(242,193,79,.24)}
.demo-phone header{display:flex;align-items:center;gap:6px;padding:0 1px 5px}.demo-phone header .demo-avatar{width:24px;height:24px;border-radius:8px;font-size:.58rem}.demo-phone header strong{overflow:hidden;font-size:.66rem;text-overflow:ellipsis}.demo-phone header i{width:6px;height:6px;margin-left:auto;border-radius:50%;background:#c9c5d2}.demo-phone.is-joined header i{background:#35ad82;box-shadow:0 0 0 3px #dff6ec}
.demo-phone__screen{position:relative;display:grid;align-content:center;min-height:54px;padding:7px;border-radius:10px;background:#f4f1fb;text-align:center;overflow:hidden}.demo-phone__status{color:#69657a;font-size:.59rem;font-weight:800}.demo-phone__answer{display:none;color:#4d21aa;font-size:.63rem;line-height:1.2}.demo-phone__screen>b{display:none;position:absolute;right:4px;top:4px;width:16px;height:16px;border-radius:50%;background:#55cdb0;color:#13251f;font-size:.58rem;line-height:16px}.demo-phone.is-submitted .demo-phone__status{display:none}.demo-phone.is-submitted .demo-phone__answer,.demo-phone.is-submitted .demo-phone__screen>b{display:block}.demo-phone.is-winner .demo-phone__screen{background:#fff8df}
.demo-timeline{position:relative;z-index:2;padding:12px 3px 1px}.demo-progress{height:3px;margin:0 4px 9px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.12)}.demo-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#55cdb0,#f2c14f,#ff708d);transition:width .08s linear}
.demo-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.demo-steps button{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:30px;padding:4px;border:0;border-radius:9px;background:transparent;color:#8f899f;font-size:.57rem;font-weight:800;cursor:pointer}.demo-steps button>span:first-child{display:grid;place-items:center;width:17px;height:17px;border:1px solid #514c69;border-radius:6px;font-size:.51rem}.demo-steps button:hover{background:rgba(255,255,255,.08);color:#fff}.demo-steps button[aria-pressed="true"]{background:rgba(255,255,255,.1);color:#fff}.demo-steps button[aria-pressed="true"]>span:first-child{border-color:#f2c14f;background:#f2c14f;color:#2a1b3d}
@keyframes hero-rise{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
@keyframes demo-pulse{50%{opacity:.45;transform:scale(.82)}}
@keyframes demo-wait{to{opacity:.4;transform:translateX(2px)}}
@keyframes demo-pop{from{opacity:0;transform:translateY(8px) scale(.7)}to{opacity:1;transform:none}}

/* Photo-only living-room carousel */
.hero-visual{min-height:0;padding:0}
.hero-visual::before,.hero-visual::after{display:none}
.hero-photo-carousel{position:relative;width:100%;aspect-ratio:1717/916;overflow:hidden;border-radius:28px;background:#17142c;box-shadow:0 24px 58px rgba(27,18,54,.2);animation:hero-rise .8s both cubic-bezier(.2,.8,.2,1)}
.hero-photo-carousel:focus-visible{outline:4px solid var(--buddy-mint);outline-offset:5px}
.hero-photo{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transform:scale(1.018);transition:opacity .75s ease,transform 1.2s ease,visibility 0s linear .75s}
.hero-photo.is-active{z-index:1;opacity:1;visibility:visible;transform:none;transition-delay:0s}
.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.98) contrast(1.02)}
@media(max-width:560px){.hero-photo-carousel{border-radius:19px}}
@media(prefers-reduced-motion:reduce){.hero-photo{transition:none!important}}
@keyframes float{50%{transform:translateY(-8px)}}

/* Shared section headings */
.section-heading{margin-bottom:22px}
.section-heading h2{margin:7px 0 9px;font-size:clamp(2rem,3.4vw,2.85rem);line-height:1.06}
.section-heading p{max-width:590px;margin-bottom:0;color:var(--muted)}
.section-heading.centered{text-align:center}
.section-heading.centered p{margin-inline:auto}
.section-heading.split{display:flex;align-items:end;justify-content:space-between;gap:40px}
.section-heading.split p{max-width:440px}

/* How it works */
.how-section{padding-block:46px;background:#fff}
.steps-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.steps-grid::before{content:"";position:absolute;top:68px;left:17%;right:17%;border-top:2px dashed #d9cdef}
.step-card{position:relative;z-index:1;padding:10px 24px 16px;text-align:center}
.step-number{position:absolute;top:42px;left:calc(50% - 92px);display:grid;place-items:center;width:28px;height:28px;border:3px solid #fff;border-radius:50%;background:var(--ink);color:#fff;font-size:.68rem;font-weight:900;box-shadow:0 6px 14px rgba(23,21,45,.2)}
.step-icon{position:relative;isolation:isolate;display:grid;place-items:center;width:112px;height:112px;margin:0 auto 15px;border:1px solid rgba(77,33,170,.12);border-radius:34px;color:var(--ink);box-shadow:0 14px 30px rgba(45,25,80,.14),inset 0 1px 0 rgba(255,255,255,.9);transform:rotate(-2.5deg);transition:transform .24s ease,box-shadow .24s ease}
.step-icon::before{content:"";position:absolute;z-index:-1;inset:8px;border:1px solid rgba(255,255,255,.9);border-radius:26px;background:rgba(255,255,255,.46);box-shadow:inset 0 -8px 18px rgba(54,33,103,.05)}
.step-icon::after{content:"";position:absolute;top:12px;left:20px;width:48px;height:18px;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.6),transparent);transform:rotate(-8deg);pointer-events:none}
.step-illustration{display:block;width:94px;height:94px;object-fit:contain;overflow:visible;filter:drop-shadow(0 5px 7px rgba(35,23,68,.12));transform:rotate(2.5deg)}
.step-icon.purple{background:linear-gradient(145deg,#f8f5ff 0%,#ded2ff 72%,#c9b8ff 100%)}
.step-icon.mint{background:linear-gradient(145deg,#f2fff9 0%,#d2f1e5 72%,#b7e7d5 100%)}
.step-icon.yellow{background:linear-gradient(145deg,#fffdf0 0%,#ffedaa 72%,#ffdf78 100%)}
.step-card:hover .step-icon{transform:rotate(-1deg) translateY(-5px);box-shadow:0 20px 38px rgba(45,25,80,.17),inset 0 1px 0 rgba(255,255,255,.94)}
.step-card h3{margin-bottom:8px;font-size:1.25rem}
.step-card p{max-width:280px;margin:0 auto;color:var(--muted);font-size:.92rem}
.buddy-tip{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:8px;width:min(700px,100%);margin:22px auto 0;padding:0 22px 0 7px;border:1px solid #d9d0ec;border-radius:20px;background:var(--buddy-cream);box-shadow:0 9px 0 #e7defd,0 18px 34px rgba(44,28,77,.08)}
.buddy-tip>img{align-self:end;width:82px;height:82px;margin-top:-12px;object-fit:contain;filter:drop-shadow(0 9px 10px rgba(26,94,76,.13))}
.buddy-tip>div{padding:11px 0}.buddy-tip strong{display:block;margin:3px 0 1px;font-size:.9rem;line-height:1.2}.buddy-tip p{margin:0;color:var(--muted);font-size:.72rem}

/* Finder and game cards */
.games-section{padding-block:76px}
.game-tools{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 16px 44px rgba(45,25,80,.08)}
.buddy-finder-intro{position:relative;display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:18px;min-height:136px;overflow:hidden;padding:10px 18px 10px 8px;border-radius:20px;background:linear-gradient(120deg,#17152d 0%,#28204d 72%,#342665 100%);color:#fff;isolation:isolate}
.buddy-finder-intro::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 82% 18%,rgba(255,214,88,.18),transparent 19%),radial-gradient(circle at 12% 110%,rgba(53,205,165,.24),transparent 28%)}
.buddy-finder-intro::after{content:"";position:absolute;right:18px;bottom:10px;width:84px;height:34px;opacity:.17;background:radial-gradient(circle,#fff 1.6px,transparent 1.8px);background-size:9px 9px;transform:rotate(-8deg)}
.buddy-finder-intro>img{align-self:end;width:148px;height:148px;margin-bottom:-20px;object-fit:contain;filter:drop-shadow(0 13px 17px rgba(0,0,0,.24))}
.buddy-finder-copy{position:relative;z-index:1}.buddy-finder-copy .buddy-role{color:#8ff0d6}.buddy-finder-copy h3{margin:5px 0 2px;color:#fff;font-size:1.55rem;line-height:1.05}.buddy-finder-copy p{max-width:590px;margin:0;color:#cfc9dd;font-size:.82rem}
.buddy-finder-promise{position:relative;z-index:1;display:flex;align-items:center;gap:8px;max-width:155px;padding:10px 12px;border:1px solid rgba(255,255,255,.16);border-radius:13px;background:rgba(255,255,255,.08);color:#fff5ca;font-size:.68rem;line-height:1.2}.buddy-finder-promise>span{display:grid;place-items:center;width:27px;height:27px;flex:0 0 auto;border-radius:9px;background:var(--gold);color:#3c285c}
.filter-group{min-width:0;margin:0;padding:14px 16px 16px;border:1px solid #ebe7f2;border-radius:18px}
.filter-group legend{display:flex;align-items:center;gap:10px;padding:0 4px}
.filter-group legend>span:last-child{display:grid}
.filter-group legend b{font-size:.92rem}
.filter-group legend small{color:var(--muted);font-size:.72rem;font-weight:600}
.finder-step{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--purple);color:#fff;font-size:.78rem;font-weight:800}
.occasion-group{padding:16px 18px 18px;border-color:#ddd4ef;background:#faf8ff}
.occasion-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:13px}
.occasion-option{position:relative;display:flex;min-width:0;min-height:62px;align-items:center;gap:9px;padding:10px 12px;overflow:hidden;border:1px solid #e4dfed;border-radius:14px;background:#fff;color:#464153;text-align:left;cursor:pointer;transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease,background .17s ease,color .17s ease}
.occasion-option::after{content:"";position:absolute;right:-15px;bottom:-24px;width:48px;height:48px;border-radius:50%;background:#f1ecfb;transition:transform .2s ease,background .2s ease}
.occasion-option>span{position:relative;z-index:1;display:grid;place-items:center;width:32px;height:32px;flex:0 0 auto;border-radius:10px;background:#f5f1fc;font-size:1.08rem}
.occasion-option b{position:relative;z-index:1;font-size:.76rem;line-height:1.2}
.occasion-option:hover{z-index:1;border-color:#b8a5e5;box-shadow:0 8px 18px rgba(58,32,105,.1);transform:translateY(-2px)}
.occasion-option.active{border-color:#6738d1;background:#20193b;color:#fff;box-shadow:0 8px 0 #d7c9f7,0 14px 24px rgba(45,25,80,.16)}
.occasion-option.active::after{background:#7150bd;transform:scale(1.45)}
.occasion-option.active>span{background:#fff3c8}
.finder-details{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.filter-buttons{display:flex;gap:7px;margin-top:11px;flex-wrap:wrap}
.filter{flex:1 0 58px;min-height:39px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:#f8f6fb;color:#59566a;font-size:.8rem;font-weight:800;cursor:pointer;transition:.17s ease}
.filter:hover{border-color:#b9a6e6;color:var(--purple)}
.filter.active{border-color:var(--purple);background:var(--purple);color:#fff;box-shadow:0 7px 15px rgba(103,56,209,.18)}
.results-line{display:flex;align-items:center;justify-content:space-between;margin:20px 2px 16px;color:var(--muted);font-size:.82rem}
.results-line>div{display:flex;gap:9px;align-items:baseline;flex-wrap:wrap}
.results-line strong{color:var(--ink);font-size:.95rem}
#clear-filters,#empty-reset{border:0;background:transparent;color:var(--purple);font-size:.8rem;font-weight:800;cursor:pointer}
.recommendations{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);gap:16px}
.best-recommendation{min-width:0;overflow:hidden;border-radius:25px;background:#17142e;box-shadow:0 18px 44px rgba(31,23,58,.18)}
.best-recommendation__link{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(210px,.8fr) minmax(280px,1.2fr);min-height:338px;height:100%;color:#fff}
.best-recommendation__link::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 18% 15%,rgba(255,214,88,.17),transparent 26%),radial-gradient(circle at 85% 90%,rgba(111,78,202,.4),transparent 34%)}
.best-recommendation__art{position:relative;display:grid;place-items:center;padding:28px 12px 26px;background:rgba(255,255,255,.035)}
.best-recommendation__art::after{content:"";position:absolute;inset:11% 8%;border:1px solid rgba(255,255,255,.12);border-radius:50%}
.best-recommendation__art img{position:relative;z-index:1;width:min(240px,92%);height:auto;aspect-ratio:1;object-fit:contain;border-radius:27px;filter:drop-shadow(0 18px 22px rgba(0,0,0,.32));transition:transform .25s ease}
.best-recommendation__link:hover .best-recommendation__art img{transform:rotate(-2deg) scale(1.04)}
.recommendation-crown{position:absolute;z-index:2;top:20px;left:20px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ffd658;color:#39250a;box-shadow:0 5px 0 #b88919;font-size:.9rem}
.best-recommendation__content{display:flex;min-width:0;justify-content:center;align-items:flex-start;flex-direction:column;padding:34px 32px}
.recommendation-kicker{margin-bottom:10px;color:#ffd658;font-size:.7rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.best-recommendation h3{margin:0 0 8px;color:#fff;font-size:clamp(2.1rem,3.5vw,3.25rem)}
.best-recommendation p{max-width:440px;margin:0 0 18px;color:#d8d3e4;font-size:.91rem;line-height:1.55}
.recommendation-meta{padding:9px 12px;border:1px solid rgba(255,255,255,.14);border-radius:11px;background:rgba(255,255,255,.08);color:#fff5ca;font-size:.72rem;font-weight:800;line-height:1.45}
.recommendation-fit{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.recommendation-fit .game-energy{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);color:#d8d3e4}.recommendation-fit .game-energy strong{color:#fff}.recommendation-fit>span:last-child{display:grid;gap:1px;padding-left:10px;border-left:1px solid rgba(255,255,255,.17)}.recommendation-fit small{color:#a9a1bd;font-size:.55rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.recommendation-fit>span:last-child strong{color:#fff5ca;font-size:.68rem}
.recommendation-cta{display:flex;min-height:40px;align-items:center;gap:12px;margin-top:18px;padding:9px 13px;border-radius:10px;background:#ffd658;color:#241b4b;box-shadow:0 5px 0 #9e7615;font-size:.78rem;font-weight:900}
.recommendation-cta svg{width:17px;height:17px;color:#ffd658;transition:transform .2s ease}.best-recommendation__link:hover .recommendation-cta svg{transform:translateX(5px)}
.alternative-recommendations{display:grid;grid-template-rows:auto 1fr 1fr;gap:10px;min-width:0}
.alternatives-heading{display:grid;align-content:center;min-height:70px;padding:10px 16px;border:1px solid var(--line);border-radius:18px;background:#fff}
.alternatives-heading span{color:var(--ink);font-size:.9rem;font-weight:900}.alternatives-heading small{margin-top:3px;color:var(--muted);font-size:.67rem;font-weight:600}
.alternative-card{position:relative;display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:19px;background:#fff;color:var(--ink);box-shadow:0 10px 28px rgba(45,25,80,.06);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.alternative-card:hover{border-color:#bdaee0;box-shadow:0 15px 32px rgba(45,25,80,.11);transform:translateX(4px)}
.alternative-card>img{width:82px;height:82px;object-fit:contain;border-radius:17px;background:#f4f0fa}
.alternative-number{position:absolute;top:8px;left:8px;display:grid;place-items:center;width:22px;height:22px;border:2px solid #fff;border-radius:50%;background:#6738d1;color:#fff;font-size:.63rem;font-weight:900}
.alternative-card__copy{display:grid;min-width:0;gap:4px}.alternative-card__copy>strong{font-size:1rem}.alternative-premise{display:-webkit-box;overflow:hidden;color:#5e596c;font-size:.68rem;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.alternative-card__copy small{color:var(--muted);font-size:.63rem;font-weight:700;line-height:1.4}.alternative-best{overflow:hidden;color:#5e596c;font-size:.61rem;text-overflow:ellipsis;white-space:nowrap}.alternative-best b{color:var(--purple)}
.alternative-play{display:flex;align-items:center;justify-content:space-between;width:fit-content;min-width:86px;margin-top:3px;padding:6px 8px;border-radius:8px;background:#eee8fa;color:var(--purple);font-size:.63rem;font-weight:900}.alternative-play svg{width:13px;height:13px;margin-left:7px;transition:transform .2s ease}.alternative-card:hover .alternative-play svg{transform:translateX(3px)}
.games-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.game{position:relative;display:flex;min-width:0;min-height:540px;overflow:hidden;flex-direction:column;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 32px rgba(45,25,80,.07);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.game::before{content:"";position:absolute;z-index:5;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--buddy-mint) 0 25%,var(--purple) 25% 52%,var(--coral) 52% 76%,var(--gold) 76%)}
.game:hover{z-index:2;border-color:#cbbcec;box-shadow:0 20px 45px rgba(45,25,80,.13);transform:translateY(-6px)}
.game-art{position:relative;isolation:isolate;display:grid;place-items:center;min-height:225px;height:auto;aspect-ratio:4/3;overflow:hidden;padding:13px;background:linear-gradient(145deg,#f6f2ff 0%,#e9e1fb 100%)}
.game:nth-child(3n+2) .game-art{background:linear-gradient(145deg,#f2fcf8 0%,#dff4ec 100%)}
.game:nth-child(3n) .game-art{background:linear-gradient(145deg,#fffaf0 0%,#ffedbd 100%)}
.game-art::before{content:"";position:absolute;z-index:-1;inset:12px 16%;border:1px solid rgba(255,255,255,.82);border-radius:30px;background:rgba(255,255,255,.52);box-shadow:0 12px 30px rgba(45,25,80,.08);transform:rotate(-2.5deg)}
.game-art::after{content:"";position:absolute;z-index:-1;right:-12%;bottom:-44%;width:72%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.72)}
.game-art img{position:relative;z-index:1;width:100%;height:100%;max-width:240px;max-height:240px;object-fit:contain;border-radius:24px;filter:drop-shadow(0 14px 15px rgba(35,23,60,.16));transition:transform .25s ease,filter .25s ease}
.game:hover .game-art img{filter:drop-shadow(0 17px 18px rgba(35,23,60,.2));transform:scale(1.035) rotate(-.6deg)}
.game-free{position:absolute;z-index:3;top:12px;right:12px;border:1px solid rgba(32,94,67,.1);box-shadow:0 5px 14px rgba(35,93,70,.1)}
.game-content{display:flex;flex:1;flex-direction:column;padding:18px 18px 17px}
.game-flags{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.game-type{color:var(--purple);font-size:.65rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.access-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:7px;background:#edf8f3;color:var(--green);font-size:.61rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.access-badge.premium{background:#fff5d3;color:#81560d}
.access-badge.premium .coming-soon-note{padding:3px 5px;border:0;background:#81560d;color:#fff;font-size:.44rem}
.access-badge svg{width:12px;height:12px}
.game h3{margin-bottom:7px;font-size:1.35rem}
.game p{margin-bottom:15px;color:var(--muted);font-size:.8rem;line-height:1.5}
.game-premise{min-height:60px}
.game-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:auto}
.game-facts>span{display:flex;min-width:0;min-height:39px;align-items:center;justify-content:center;gap:5px;padding:7px 5px;border:1px solid #ebe6f2;border-radius:9px;background:#faf8fd;color:#5d586c;font-size:.68rem;font-weight:850;text-align:center;white-space:nowrap}
.game-facts svg{width:13px;height:13px;flex:0 0 auto;color:var(--purple)}.game-facts b{display:grid;place-items:center;width:13px;height:13px;color:var(--purple);font-size:.55rem}
.game-fit-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin-top:9px}
.game-energy{display:inline-flex;min-height:34px;align-items:center;gap:5px;padding:6px 8px;border-radius:9px;background:#f2eef9;color:#5d586c;font-size:.65rem;white-space:nowrap}
.game-energy strong{color:var(--ink);font-weight:900}.game-energy i{display:flex;align-items:end;gap:2px;height:13px}.game-energy i b{display:block;width:3px;border-radius:3px;background:#ff6688}.game-energy i b:nth-child(1){height:6px}.game-energy i b:nth-child(2){height:9px}.game-energy i b:nth-child(3){height:13px}.game-energy[data-energy="relaxed"] i b:nth-child(n+2),.game-energy[data-energy="medium"] i b:nth-child(3){background:#d4ccdf}
.game-best{display:grid;min-width:0;gap:2px;padding-left:9px;border-left:1px solid #e7e1ef}.game-best small{color:#847e90;font-size:.57rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.game-best strong{overflow:hidden;color:#312b3d;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}
.game-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;color:#646174;font-size:.68rem;font-weight:800}
.game-meta span{display:flex;align-items:center;gap:4px}
.game-meta svg{width:13px;height:13px;color:var(--purple)}
.game-open{display:flex;align-items:center;justify-content:space-between;margin-top:13px;padding-top:12px;border-top:1px solid #eeeaf3;color:var(--purple);font-size:.76rem;font-weight:800}
.game-play-button{min-height:42px;padding:10px 12px;border:0;border-radius:11px;background:var(--purple);color:#fff;box-shadow:0 5px 0 #d7c9f7;font-size:.78rem}
.game-play-button svg{color:#ffd658}
.game-open svg{transition:transform .2s ease}
.game:hover .game-open svg{transform:translateX(4px)}
#empty-state{padding:50px 20px;border:1px dashed #cfc5df;border-radius:20px;background:#fff;text-align:center}
#empty-state>svg{width:42px;height:42px;color:var(--purple)}
#empty-state h3{margin:10px 0}
.show-more-wrap{display:flex;justify-content:center;margin-top:30px}
.text-link{display:flex;align-items:center;gap:8px;padding:8px;border:0;background:transparent;color:var(--purple);font-weight:800;cursor:pointer}.text-link svg{transition:transform .2s ease}.text-link.is-expanded svg{transform:rotate(180deg)}

/* Complete, zero-effort game-night playlists */
.game-nights-section{position:relative;overflow:hidden;padding-block:76px;background:var(--ink);color:#fff}.game-nights-section::before{content:"";position:absolute;inset:0;opacity:.14;background-image:radial-gradient(#fff 1px,transparent 1.2px);background-size:14px 14px;mask-image:linear-gradient(120deg,#000,transparent 68%)}.game-nights-section::after{content:"";position:absolute;right:-170px;top:-220px;width:520px;height:520px;border:1px dashed rgba(255,214,88,.22);border-radius:50%;box-shadow:0 0 0 48px rgba(103,56,209,.12),0 0 0 96px rgba(53,205,165,.04)}.game-nights-section>.section-shell{position:relative;z-index:1}.game-nights-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:28px}.game-nights-heading h2{margin:9px 0 0;font-size:clamp(2.5rem,4.4vw,4.2rem);line-height:.92}.game-nights-heading .eyebrow{color:#c6adff}.game-nights-promise{display:grid;grid-template-columns:50px 1fr;align-items:center;gap:13px;max-width:390px;padding:13px 16px;border:1px solid rgba(255,255,255,.16);border-radius:17px;background:rgba(255,255,255,.075)}.game-nights-promise>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--gold);color:#4f3805;font-size:1.8rem;font-weight:950}.game-nights-promise p{display:grid;margin:0}.game-nights-promise strong{font-size:.8rem}.game-nights-promise p>span{color:#aaa5ba;font-size:.67rem}
.game-night-carousel{position:relative}.game-night-carousel__toolbar{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin:-4px 0 14px}.game-night-carousel__status{min-width:48px;margin:0;color:#bdb5cf;font-size:.64rem;font-weight:900;text-align:right}.game-night-carousel__controls{display:flex;align-items:center;gap:9px}.game-night-carousel__controls>button{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(255,255,255,.09);color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.08);cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease,opacity .2s ease}.game-night-carousel__controls>button:hover:not(:disabled){border-color:rgba(255,214,88,.58);background:rgba(255,214,88,.13);transform:translateY(-2px)}.game-night-carousel__controls>button:focus-visible,.game-night-carousel__dot:focus-visible,.game-night-carousel__viewport:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.game-night-carousel__controls>button:disabled{opacity:.32;cursor:not-allowed}.game-night-carousel__controls>button svg{width:18px;height:18px}.game-night-carousel__controls>button:first-child svg{transform:rotate(180deg)}.game-night-carousel__dots{display:flex;align-items:center;gap:7px;padding:0 3px}.game-night-carousel__dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#746d89;cursor:pointer;transition:width .2s ease,background .2s ease,box-shadow .2s ease}.game-night-carousel__dot[aria-current="true"]{width:28px;border-radius:999px;background:var(--gold);box-shadow:0 0 0 4px rgba(255,214,88,.1)}.game-night-carousel__viewport{overflow-x:auto;overflow-y:hidden;padding:4px 2px 14px;scroll-behavior:smooth;scroll-padding-inline:2px;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain}.game-night-carousel__viewport::-webkit-scrollbar{display:none}.game-night-playlists{display:grid;grid-auto-columns:calc((100% - 14px)/2);grid-auto-flow:column;gap:14px}.night-playlist{position:relative;display:flex;min-width:0;height:100%;flex-direction:column;padding:24px;border:1px solid rgba(255,255,255,.15);border-radius:23px;background:rgba(255,255,255,.07);box-shadow:inset 0 1px rgba(255,255,255,.04);scroll-snap-align:start;scroll-snap-stop:always;transition:transform .2s ease,border-color .2s ease,background .2s ease}.night-playlist:hover{border-color:rgba(255,214,88,.42);background:rgba(255,255,255,.1);transform:translateY(-4px)}.night-playlist--featured{padding:29px;background:radial-gradient(circle at 15% 100%,rgba(53,205,165,.18),transparent 30%),rgba(255,255,255,.09);border-top:4px solid var(--gold)}.night-playlist__head{display:flex;align-items:center;justify-content:space-between}.night-playlist__head>span{color:#c8b2fa;font-size:.57rem;font-weight:950;letter-spacing:.13em}.night-playlist__head>div{display:flex;align-items:baseline;gap:4px;padding:5px 8px;border-radius:8px;background:rgba(255,214,88,.12);color:#ffe481}.night-playlist__head b{font-size:1rem}.night-playlist__head small{font-size:.48rem;font-weight:950;text-transform:uppercase}.night-playlist h3{margin:16px 0 8px;font-size:1.85rem;line-height:1}.night-playlist--featured h3{font-size:2.6rem}.night-playlist__fit{display:block;margin:0 0 7px;color:#80e4c4;font-size:.62rem;font-weight:950;letter-spacing:.02em}.night-playlist>p{min-height:58px;margin:0 0 14px;color:#d2cddd;font-size:.78rem;line-height:1.5}.night-playlist__facts{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 13px}.night-playlist__facts span{display:flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:rgba(4,3,12,.18);color:#f0edf5;font-size:.6rem;font-weight:850}.night-playlist__facts svg{width:13px;height:13px;color:var(--mint)}.night-playlist__facts .night-playlist__energy[data-energy="high"]{border-color:rgba(255,112,141,.3);color:#ffc0cf}.night-playlist__facts .night-playlist__energy[data-energy="medium"]{border-color:rgba(255,214,88,.28);color:#ffe58b}.night-playlist__facts .night-playlist__energy[data-energy="relaxed"]{border-color:rgba(53,205,165,.3);color:#a4efd7}.night-playlist__sequence-title{margin:0 0 7px;color:#a99fc0;font-size:.51rem;font-weight:950;letter-spacing:.13em}.night-playlist ol{display:grid;gap:6px;margin:0 0 18px;padding:0;list-style:none}.night-playlist li{display:grid;grid-template-columns:23px 36px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;padding:7px;border-radius:11px;background:rgba(7,6,17,.3)}.night-playlist li>span{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:rgba(255,255,255,.1);color:#fff3b5;font-size:.58rem;font-weight:950}.night-playlist li img{width:35px;height:35px;border-radius:8px;object-fit:contain}.night-playlist li div{display:grid;min-width:0}.night-playlist li strong{overflow:hidden;font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}.night-playlist li small{overflow:hidden;color:#a59daf;font-size:.54rem;text-overflow:ellipsis;white-space:nowrap}.night-playlist li time{color:#c6b1f4;font-size:.53rem;font-weight:850}.night-playlist__start{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:45px;margin-top:auto;padding:10px 12px;border-radius:11px;background:#fff;color:var(--purple);font-size:.72rem;font-weight:950}.night-playlist__start svg{width:18px;height:18px;color:var(--purple);transition:transform .2s ease}.night-playlist__start:hover svg{transform:translateX(4px)}.night-playlist--featured .night-playlist__start{background:var(--gold);color:#4b3505}.night-playlist--featured .night-playlist__start svg{color:#4b3505}
.night-playlist:last-child{grid-column:auto}.night-playlist:last-child ol{grid-template-columns:repeat(2,minmax(0,1fr))}

/* A fresh reason to return every Monday */
.weekly-section{position:relative;overflow:hidden;padding-block:72px;border-top:1px solid #e4dcef;border-bottom:1px solid #e4dcef;background:linear-gradient(145deg,#f6f1ff 0%,#fffaf0 55%,#edf9f4 100%)}
.weekly-section::before{content:"";position:absolute;top:-150px;right:-90px;width:390px;height:390px;border:1px dashed rgba(100,55,214,.16);border-radius:50%;box-shadow:0 0 0 42px rgba(255,255,255,.25),0 0 0 84px rgba(100,55,214,.035)}
.weekly-heading{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:27px}
.weekly-heading h2{margin:8px 0 7px;font-size:clamp(2.25rem,4vw,3.5rem);line-height:1}.weekly-heading p{max-width:620px;margin:0;color:var(--muted)}
.weekly-refresh{display:grid;min-width:215px;padding:13px 16px;border:1px solid #d8ccee;border-radius:17px;background:rgba(255,255,255,.78);box-shadow:0 9px 24px rgba(45,25,80,.07)}
.weekly-refresh span{color:var(--purple);font-size:.56rem;font-weight:950;letter-spacing:.13em}.weekly-refresh strong{margin:2px 0;color:var(--ink);font-size:1.18rem}.weekly-refresh small{color:var(--muted);font-size:.65rem}
.weekly-card{position:relative;z-index:1;display:grid;grid-template-columns:minmax(330px,.82fr) minmax(0,1.18fr);min-height:450px;overflow:hidden;border:1px solid #d9d0e9;border-top:4px solid var(--buddy-mint);border-radius:30px;background:#fff;box-shadow:0 24px 60px rgba(45,25,80,.13)}
.weekly-art{position:relative;isolation:isolate;display:grid;place-items:center;min-width:0;overflow:hidden;padding:48px 36px;background:radial-gradient(circle at 72% 20%,rgba(255,214,88,.2),transparent 27%),radial-gradient(circle at 7% 93%,rgba(53,205,165,.25),transparent 31%),linear-gradient(145deg,#17152d,#2b2150);color:#fff}
.weekly-art::before{content:"";position:absolute;z-index:-1;inset:0;opacity:.15;background-image:radial-gradient(#fff 1px,transparent 1.2px);background-size:12px 12px;mask-image:linear-gradient(135deg,#000,transparent 65%)}
.weekly-week{position:absolute;z-index:4;top:22px;left:24px;padding:7px 10px;border:1px solid rgba(255,255,255,.22);border-radius:9px;background:rgba(255,255,255,.09);color:#fff5ca;font-size:.63rem;font-weight:950;letter-spacing:.1em}
.weekly-logo-frame{position:relative;z-index:2;display:grid;place-items:center;width:min(275px,76%);aspect-ratio:1;border:1px solid #efe0ad;border-radius:32px;background:#fff9eb;box-shadow:0 15px 0 rgba(166,138,64,.5),0 34px 55px rgba(0,0,0,.28);transform:rotate(-2deg)}
.weekly-logo-frame::after{content:"";position:absolute;inset:10px;border:1px dashed #ddce9d;border-radius:23px;pointer-events:none}.weekly-logo-frame img{position:relative;z-index:1;width:88%;height:88%;object-fit:contain;border-radius:23px;transition:transform .25s ease}.weekly-card:hover .weekly-logo-frame img{transform:scale(1.035) rotate(1deg)}
.weekly-buddy{position:absolute;z-index:3;left:-20px;bottom:-27px;width:190px;height:190px;object-fit:contain;filter:drop-shadow(0 15px 16px rgba(0,0,0,.28));transform:rotate(4deg)}
.weekly-content{display:flex;min-width:0;justify-content:center;align-items:flex-start;flex-direction:column;padding:42px 48px}
.weekly-kicker{color:var(--purple);font-size:.67rem;font-weight:950;letter-spacing:.14em}.weekly-content h3{margin:8px 0 7px;font-size:clamp(2.45rem,4.6vw,4.2rem);line-height:.95}.weekly-premise{max-width:620px;margin:0 0 18px;color:#5d586c;font-size:1rem;line-height:1.5}
.weekly-facts{display:flex;gap:7px;flex-wrap:wrap}.weekly-facts>span{display:flex;align-items:center;gap:6px;min-height:34px;padding:6px 9px;border:1px solid #e7e1ef;border-radius:9px;background:#faf8fd;color:#565164;font-size:.68rem}.weekly-facts svg{width:14px;height:14px;color:var(--purple)}.weekly-facts b{font-weight:850}
.weekly-reason{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:11px;width:100%;margin:18px 0;padding:12px;border:1px solid #eadba6;border-radius:14px;background:#fff9e6}.weekly-reason>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--gold);color:#46310c}.weekly-reason div{display:grid}.weekly-reason small{color:#80610a;font-size:.55rem;font-weight:950;letter-spacing:.11em}.weekly-reason strong{color:#3d354a;font-size:.76rem;line-height:1.3}
.weekly-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.weekly-played{display:inline-flex;align-items:center;gap:7px;min-height:48px;padding:10px 14px;border:1px solid #d7cceb;border-radius:13px;background:#fff;color:var(--purple);font-weight:900;cursor:pointer;transition:.18s ease}.weekly-played>span:first-child{display:grid;place-items:center;width:21px;height:21px;border:1px solid #c8b8e7;border-radius:7px}.weekly-played:hover{border-color:var(--purple);transform:translateY(-2px)}.weekly-played[aria-pressed="true"]{border-color:#90d6bf;background:#e8f8f2;color:#22694f}.weekly-played[aria-pressed="true"]>span:first-child{border-color:var(--buddy-mint);background:var(--buddy-mint);color:#123e31}
.weekly-memory{display:flex;align-items:center;gap:7px;margin:12px 0 0;color:#777184;font-size:.68rem}.weekly-memory>span:first-child{color:var(--buddy-mint);font-size:.55rem}.weekly-card.is-played{border-top-color:var(--gold)}

/* Honest product proof and recognizable group stories */
.proof-section{position:relative;overflow:hidden;padding-block:76px;background:#fffdf8}
.proof-section::before{content:"";position:absolute;top:26px;left:-70px;width:210px;height:210px;border:1px dashed rgba(100,55,214,.15);border-radius:50%;box-shadow:0 0 0 28px rgba(53,205,165,.045)}
.proof-dashboard{position:relative;display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:48px;overflow:hidden;padding:46px;border:1px solid #312b4c;border-top:4px solid var(--gold);border-radius:30px;background:radial-gradient(circle at 88% 8%,rgba(103,56,209,.42),transparent 29%),radial-gradient(circle at 7% 110%,rgba(53,205,165,.2),transparent 34%),var(--ink);color:#fff;box-shadow:0 24px 60px rgba(30,23,54,.18)}
.proof-dashboard::after{content:"";position:absolute;inset:0;opacity:.12;background-image:radial-gradient(#fff 1px,transparent 1.2px);background-size:13px 13px;mask-image:linear-gradient(115deg,transparent 20%,#000 75%);pointer-events:none}
.proof-intro,.proof-metrics{position:relative;z-index:1}.proof-stamp{display:inline-flex;align-items:center;gap:7px;margin-bottom:18px;padding:7px 10px;border:1px solid rgba(255,214,88,.4);border-radius:8px;background:rgba(255,214,88,.1);color:#ffe88d;font-size:.58rem;font-weight:950;letter-spacing:.1em}.proof-stamp svg{width:14px;height:14px}.proof-intro h2{margin:10px 0 13px;font-size:clamp(2.3rem,4vw,3.6rem);line-height:.98}.proof-intro>p{max-width:520px;margin:0;color:#d5d1e1;font-size:1rem}.proof-intro>small{display:block;max-width:510px;margin-top:17px;padding-top:14px;border-top:1px solid rgba(255,255,255,.13);color:#9f99b4;font-size:.68rem;line-height:1.45}
.proof-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.proof-metrics article{display:flex;min-height:148px;justify-content:flex-end;flex-direction:column;padding:22px;border:1px solid rgba(255,255,255,.15);border-radius:19px;background:rgba(255,255,255,.075);box-shadow:inset 0 1px rgba(255,255,255,.05);transition:transform .2s ease,border-color .2s ease,background .2s ease}.proof-metrics article:hover{border-color:rgba(255,214,88,.55);background:rgba(255,255,255,.105);transform:translateY(-3px)}.proof-metrics strong{color:#fff4bd;font-size:clamp(2.4rem,4.3vw,4rem);line-height:.82;letter-spacing:-.05em}.proof-metrics span{max-width:170px;margin-top:13px;color:#d7d3e4;font-size:.72rem;font-weight:850;line-height:1.35}.proof-metrics article:nth-child(2) strong{color:#7ce2c5}.proof-metrics article:nth-child(3) strong{color:#bda5ff}.proof-metrics article:nth-child(4) strong{color:#ff9bb0}
.group-story-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin:55px 0 22px}.group-story-heading h3{margin:8px 0 0;font-size:clamp(2rem,3.4vw,3.1rem);line-height:1}.group-story-heading>p{max-width:410px;margin:0;color:var(--muted);font-size:.9rem}
.group-stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.group-story{position:relative;min-height:250px;padding:25px;border:1px solid #dfd7e9;border-radius:22px;background:#fff;box-shadow:0 13px 32px rgba(45,25,80,.07);transition:transform .2s ease,box-shadow .2s ease}.group-story::after{content:"";position:absolute;left:25px;right:25px;bottom:0;height:4px;border-radius:4px 4px 0 0;background:var(--coral)}.group-story:hover{box-shadow:0 20px 42px rgba(45,25,80,.12);transform:translateY(-4px)}.group-story--teacher::after{background:var(--buddy-mint)}.group-story--host::after{background:var(--gold)}.group-story__top{display:flex;align-items:center;gap:10px;color:var(--purple);font-size:.62rem;font-weight:950;letter-spacing:.12em}.group-story__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#ffe9ef;color:#b63f64}.group-story--teacher .group-story__icon{background:#e5f7f0;color:#26795f}.group-story--host .group-story__icon{background:#fff5ce;color:#8a650b}.group-story__icon svg{width:21px;height:21px}.group-story h4{margin:22px 0 10px;font-size:1.42rem;line-height:1.08}.group-story p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.55}
.proof-feedback{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:18px;padding:18px 22px;border:1px solid #c8e9dc;border-radius:18px;background:linear-gradient(100deg,#eaf9f3,#fff9e6)}.proof-feedback>div{display:grid;gap:2px}.proof-feedback strong{font-size:.93rem}.proof-feedback span{color:#557468;font-size:.7rem}.proof-feedback .button{flex:none;border-color:#a8d5c5;background:#fff;color:var(--green)}.proof-feedback .button:hover{background:var(--green);color:#fff}.proof-feedback svg{width:17px;height:17px}

/* Premium */
.premium-section{position:relative;overflow:hidden;padding-block:80px;background:var(--ink);color:#fff}
.premium-section::before,.premium-section::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.premium-section::before{top:-240px;left:-170px;width:520px;height:520px;border:1px solid rgba(255,255,255,.1)}
.premium-section::after{right:-100px;bottom:-260px;width:560px;height:560px;background:#2d2554}
.premium-shell{position:relative;z-index:1;display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:95px}
.eyebrow.light{color:#c9b6ff}
.eyebrow.light .coming-soon-note{margin-left:8px;border:0;background:var(--gold);color:#3d2c05;vertical-align:middle}
.premium-copy h2{margin:12px 0 20px;font-size:clamp(2.6rem,5vw,4.3rem);line-height:1}
.premium-copy h2 em{color:var(--gold)}
.premium-copy>p{max-width:570px;color:#c5c1d5}
.premium-copy>.premium-tagline{margin:-7px 0 14px;color:#fff;font:700 1.18rem var(--display)}
.premium-list{display:grid;gap:10px;margin:26px 0;padding:0;list-style:none}
.premium-list li{display:flex;align-items:center;gap:10px;color:#eeecf5;font-weight:600}
.premium-list svg{width:19px;height:19px;color:var(--gold)}
.price-line{display:flex;align-items:baseline;gap:10px;margin-bottom:16px}
.price-line strong{font:700 2.25rem var(--display)}
.price-line span{color:#aaa5bd}
.premium-copy small{display:block;margin-top:12px;color:#9893aa;font-size:.72rem}
.premium-card{position:relative;padding:34px;border:1px solid rgba(255,255,255,.2);border-radius:26px;background:#5e36b8;box-shadow:0 28px 70px rgba(0,0,0,.25);transform:rotate(2deg)}
.premium-card::before{content:"";position:absolute;inset:9px;border:1px dashed rgba(255,255,255,.23);border-radius:19px;pointer-events:none}
.premium-card>*{position:relative}
.premium-badge{display:inline-flex;align-items:center;gap:7px;color:#ffe07f;font-size:.7rem;font-weight:900;letter-spacing:.12em}
.premium-badge .coming-soon-note{border:0;background:#ffe07f;color:#3a285f;letter-spacing:.07em}
.code-preview{display:flex;gap:8px;margin:27px 0 24px}
.code-preview span{display:grid;place-items:center;min-width:74px;height:52px;border-radius:10px;background:#fff;color:var(--ink);font:700 .93rem var(--display);letter-spacing:.06em;box-shadow:0 8px 18px rgba(0,0,0,.12)}
.premium-card h3{margin-bottom:10px;font-size:1.55rem}
.premium-card p{color:#ddd3f6;font-size:.88rem}
.premium-card .button{width:100%;margin-top:8px}

/* Compact social proof: a quick confidence signal before the donation ask. */
.social-proof-section{padding-block:8px 10px}
.social-proof-band{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(185px,.6fr) minmax(0,2.4fr);align-items:stretch;gap:18px;overflow:hidden;padding:20px 22px;border:1px solid rgba(116,88,202,.35);border-radius:24px;background:linear-gradient(118deg,#16132d 0%,#2d235a 54%,#44317d 100%);box-shadow:0 15px 34px rgba(43,31,83,.14);color:#fff}
.social-proof-band::before{content:"";position:absolute;z-index:-1;top:-85px;right:-45px;width:250px;height:250px;border:1px dashed rgba(255,255,255,.15);border-radius:50%}
.social-proof-band::after{content:"";position:absolute;z-index:-1;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.13) 1px,transparent 1px);background-position:12px 12px;background-size:18px 18px;mask-image:linear-gradient(90deg,transparent 0%,transparent 58%,#000 100%)}
.social-proof-heading{align-self:center;padding:2px 4px}
.social-proof-heading .eyebrow{color:#b79cff;font-size:.61rem}
.social-proof-heading h2{max-width:220px;margin:7px 0 0;color:#fff;font-size:1.28rem;line-height:1.08}
.social-proof-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.social-proof-quote{--proof-accent:#ffdd67;position:relative;display:flex;min-width:0;min-height:112px;flex-direction:column;justify-content:space-between;margin:0;padding:15px 15px 13px 38px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
.social-proof-quote::before{content:"“";position:absolute;top:8px;left:13px;color:var(--proof-accent);font:900 2.1rem/1 Georgia,serif}
.social-proof-quote--fast{--proof-accent:#70dfbd}
.social-proof-quote--long{--proof-accent:#ff8da3}
.social-proof-quote blockquote{margin:0;color:#fff;font-size:.8rem;font-weight:700;line-height:1.38}
.social-proof-quote figcaption{margin-top:10px;color:var(--proof-accent);font-size:.58rem;font-weight:850;letter-spacing:.015em;line-height:1.3}

/* Support */
.support-section{padding-block:18px}
.support-strip{position:relative;display:grid;grid-template-columns:166px 1fr auto;align-items:center;gap:26px;min-height:190px;overflow:hidden;padding:22px 34px;border:1px solid #bfe9db;border-top:4px solid var(--buddy-mint);border-radius:25px;background:linear-gradient(120deg,#e9faf3 0%,#f8fff9 56%,#fff9e8 100%);box-shadow:0 16px 38px rgba(38,110,87,.09)}
.support-strip::after{content:"";position:absolute;right:25%;bottom:-120px;width:260px;height:260px;border:1px dashed rgba(40,120,91,.18);border-radius:50%}
.support-strip .support-mascot{position:relative;z-index:1;align-self:end;width:172px!important;height:172px!important;max-width:none;margin-bottom:-24px;object-fit:contain;object-position:center;filter:drop-shadow(0 14px 13px rgba(35,93,70,.16))}
.support-copy{position:relative;z-index:1}
.support-copy .buddy-role{margin-bottom:5px;color:var(--green)}
.support-copy .eyebrow{color:#6d6a78;font-size:.62rem}
.support-copy h2{margin:4px 0 5px;font-size:1.75rem}
.support-copy p{max-width:600px;margin:0;color:#4e7264;font-size:.84rem;line-height:1.45}
.support-actions{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,66px);gap:8px}
.support-actions a{display:flex;align-items:center;justify-content:center;height:48px;border:1px solid #a9dbc8;border-radius:11px;background:#fff;color:var(--green);font-weight:900;cursor:pointer;transition:.18s ease}
.support-actions a:hover{border-color:var(--green);background:var(--green);color:#fff;transform:translateY(-2px)}
.support-actions .support-custom{grid-column:1/-1;width:100%;color:var(--ink)}

/* Audiences */
.audience-section{padding-block:46px;background:#fff}
.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.audience-card{--audience-accent:#a53f62;--audience-wash:#fff4f7;position:relative;isolation:isolate;display:flex;min-height:300px;overflow:hidden;flex-direction:column;justify-content:flex-end;padding:30px 31px;border:1px solid color-mix(in srgb,var(--audience-accent) 22%,#e8e2ef);border-radius:28px;background-color:var(--audience-wash);background-position:center;background-repeat:no-repeat;background-size:cover;box-shadow:0 16px 34px rgba(25,18,48,.13);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background-size .4s ease}
.audience-card::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.95) 39%,rgba(255,255,255,.7) 55%,rgba(255,255,255,.06) 78%),linear-gradient(0deg,rgba(15,10,34,.12),transparent 45%)}
.audience-card::after{content:"";position:absolute;top:24px;left:31px;width:46px;height:5px;border-radius:999px;background:var(--audience-accent);box-shadow:14px 0 0 color-mix(in srgb,var(--audience-accent) 55%,transparent),28px 0 0 color-mix(in srgb,var(--audience-accent) 25%,transparent)}
.audience-card--family{--audience-accent:#b43d62;--audience-wash:#fff4f7;background-image:url("assets/audience-backgrounds/family-night-photo.webp");background-position:53% center}
.audience-card--party{--audience-accent:#ffd166;--audience-wash:#20162e;background-image:url("assets/audience-backgrounds/party-friends-photo.webp");background-position:50% center;color:#fff}
.audience-card--party::before{background:linear-gradient(90deg,rgba(24,15,39,.98) 0%,rgba(30,18,48,.94) 40%,rgba(29,17,46,.65) 57%,rgba(29,17,46,.06) 79%),linear-gradient(0deg,rgba(18,10,31,.36),transparent 55%)}
.audience-card--school{--audience-accent:#21745f;--audience-wash:#f1fbf7;background-image:url("assets/audience-backgrounds/school-teams-photo.webp");background-position:52% center}
.audience-card:hover{z-index:1;border-color:color-mix(in srgb,var(--audience-accent) 48%,#fff);box-shadow:0 24px 48px rgba(25,18,48,.2);transform:translateY(-6px)}
.audience-grid h3{max-width:60%;margin:0 0 9px;font-size:1.5rem;line-height:1.05}
.audience-grid p{max-width:60%;min-height:78px;margin:0 0 20px;color:#514c62;font-size:.85rem;line-height:1.48}
.audience-card--party p{color:rgba(255,255,255,.84)}
.audience-grid button,.audience-grid .audience-cta{display:flex;width:max-content;max-width:62%;align-items:center;gap:9px;padding:10px 13px;border:1px solid color-mix(in srgb,var(--audience-accent) 34%,#fff);border-radius:12px;background:rgba(255,255,255,.86);color:var(--audience-accent);box-shadow:0 7px 18px rgba(25,18,48,.12);font-size:.78rem;font-weight:900;cursor:pointer;backdrop-filter:blur(10px);transition:gap .18s ease,background .18s ease,transform .18s ease}
.audience-card--party .audience-cta{background:rgba(24,15,39,.72);color:#fff;border-color:rgba(255,255,255,.35)}
.audience-grid button:hover,.audience-grid .audience-cta:hover{gap:14px;background:#fff;transform:translateX(2px)}
.audience-card--party .audience-cta:hover{color:#2a1744}
.audience-grid button span:last-child,.audience-grid .audience-cta span:last-child{font-size:1.02rem;line-height:1}

/* FAQ */
.faq-section{padding-block:46px}
.faq-list{max-width:820px;margin:auto;border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 2px;list-style:none;font-family:var(--display);font-weight:700;cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary svg{flex:none;color:var(--purple);transition:transform .2s ease}
.faq-list details[open] summary svg{transform:rotate(45deg)}
.faq-list details p{max-width:700px;padding:0 30px 24px 2px;margin:0;color:var(--muted)}
.faq-label{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.faq-label .coming-soon-note{color:#81560d;background:#fff5d3;border-color:#e7c963}

/* Footer */
.site-footer{padding-top:38px;background:#f0ecf8}
.footer-grid{display:grid;grid-template-columns:1.7fr repeat(4,1fr);gap:38px;padding-bottom:38px}
.footer-brand img{width:164px;height:auto;margin-bottom:16px}
.footer-brand p{color:#545163;font-size:.9rem}
.footer-trust{display:flex;gap:7px;flex-wrap:wrap}
.footer-trust span{padding:4px 7px;border:1px solid #d9d1e7;border-radius:6px;background:#fff;color:#6c6878;font-size:.63rem;font-weight:800}
.footer-grid h3{margin-bottom:15px;font:800 .76rem var(--body);letter-spacing:.1em;text-transform:uppercase}
.footer-premium-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.footer-premium-title .coming-soon-note{color:#81560d;background:#fff5d3;border-color:#e7c963}
.footer-grid>div:not(.footer-brand){display:flex;align-items:flex-start;flex-direction:column;gap:9px}
.footer-grid a,.footer-link{padding:0;border:0;background:none;color:#656173;font-size:.79rem;cursor:pointer}
.footer-grid a:hover,.footer-link:hover{color:var(--purple)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-block:18px;border-top:1px solid #dcd5e7;color:#817d8c;font-size:.7rem}

/* Dialogs */
.modal{width:min(480px,calc(100% - 28px));padding:34px;border:1px solid var(--line);border-radius:24px;background:#fff;color:var(--ink);box-shadow:0 30px 90px rgba(25,16,45,.35)}
.modal::backdrop{background:rgba(20,16,37,.66);backdrop-filter:blur(4px)}
.modal-close{position:absolute;top:15px;right:15px;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);cursor:pointer}
.modal-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:19px;border-radius:16px;background:var(--lavender);color:var(--purple)}
.modal-icon.heart{background:#ffe8ef;color:#bd4268}
.modal h2{margin-bottom:10px;font-size:1.8rem}
.modal h2 .coming-soon-note{margin-left:8px;color:#81560d;background:#fff5d3;border-color:#e7c963;vertical-align:middle}
.modal>p{color:var(--muted);font-size:.9rem}
.modal form{display:grid;gap:8px;margin-top:22px}
.modal label{font-size:.75rem;font-weight:800}
.modal input{width:100%;height:50px;padding:0 14px;border:1px solid var(--line);border-radius:11px;color:var(--ink);font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.modal form .button{width:100%;margin-top:5px}
.modal output{min-height:22px;color:var(--green);font-size:.78rem;font-weight:700}
.modal-footnote{margin:16px 0 0!important;padding-top:14px;border-top:1px solid var(--line);font-size:.72rem!important}
.premium-buy{display:flex;width:100%;margin-top:20px;text-align:center}
.premium-buy[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
.modal-divider{display:flex;align-items:center;gap:12px;margin:18px 0 0;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.modal-divider::before,.modal-divider::after{content:"";height:1px;flex:1;background:var(--line)}

.premium-success-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:radial-gradient(circle at top,#3b236d 0,#1b1631 55%,#11101c 100%);color:var(--ink)}
.premium-success-card{width:min(620px,100%);padding:44px;border:1px solid rgba(255,255,255,.2);border-radius:28px;background:#fff;box-shadow:0 32px 90px rgba(0,0,0,.35);text-align:center}
.premium-success-card h1{margin:14px 0;font-size:clamp(2rem,6vw,3.2rem);line-height:1}
.premium-success-card>p{color:var(--muted)}
.premium-success-card>.button{display:flex;width:100%;margin-top:24px}
.premium-success-card>small{display:block;margin-top:14px;color:var(--muted)}
.success-code{margin:26px 0;padding:22px;border:2px dashed #b8a4e8;border-radius:18px;background:var(--lavender)}
.success-code span{display:block;color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.success-code strong{display:block;margin:10px 0 16px;color:var(--purple);font-size:clamp(1.5rem,7vw,2.3rem);letter-spacing:.08em}
.success-code .button{width:100%}
.support-modal .button{width:100%;margin-top:8px}
.toast{position:fixed;z-index:80;left:50%;bottom:24px;max-width:min(420px,calc(100% - 30px));padding:11px 16px;border-radius:10px;background:var(--ink);color:#fff;box-shadow:0 14px 35px rgba(20,16,37,.25);font-size:.82rem;font-weight:700;opacity:0;pointer-events:none;transform:translate(-50%,15px);transition:.25s ease}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* Focus and responsive */
:is(a,button,input,summary):focus-visible{outline:3px solid #20afe1;outline-offset:3px}
@media(max-width:1050px){
  .nav-shell{gap:18px}.site-nav{gap:16px}.site-nav a{font-size:.82rem}.button-outline{display:none}
  .hero{grid-template-columns:minmax(0,1fr) 420px;gap:24px}.hero h1{font-size:3.1rem}.hero-visual{min-height:0;padding:0}.demo-tv__screen{height:245px}.demo-panel h3{font-size:1.35rem}
  .games-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recommendations{grid-template-columns:minmax(0,1.3fr) minmax(285px,.8fr)}.best-recommendation__link{grid-template-columns:minmax(180px,.7fr) minmax(250px,1.3fr)}.best-recommendation__content{padding-inline:24px}
  .premium-shell{gap:45px}.support-strip{grid-template-columns:150px 1fr}.support-actions{grid-column:2}
  .footer-grid{grid-template-columns:1.5fr repeat(2,1fr);row-gap:35px}
}
@media(max-width:780px){
  html{scroll-padding-top:70px}.section-shell{width:min(100% - 28px,680px)}
  .nav-shell{grid-template-columns:auto 1fr auto;min-height:66px}.menu-toggle{display:grid;place-items:center;grid-column:3}.header-actions{grid-column:2;grid-row:1;justify-content:end}.header-actions .button{display:none}
  .site-nav{position:fixed;top:66px;left:0;right:0;display:none;align-items:stretch;flex-direction:column;gap:0;padding:14px 20px 22px;border-bottom:1px solid var(--line);background:#fff;box-shadow:0 20px 40px rgba(45,25,80,.12)}
  .site-nav.open{display:flex}.site-nav a{padding:12px;font-size:1rem}.site-nav a::after{display:none}
  .hero{grid-template-columns:1fr;gap:22px;min-height:auto;padding-block:30px 28px}.hero h1{font-size:clamp(2.7rem,8vw,3.35rem)}.hero-visual{min-height:0;width:min(580px,100%);margin-inline:auto;padding:0}
  .section-heading.split{display:block}.section-heading.split p{max-width:600px}
  .steps-grid{grid-template-columns:1fr;gap:0}.steps-grid::before{display:none}.step-card{display:grid;grid-template-columns:122px 1fr;column-gap:20px;text-align:left}.step-icon{grid-column:1;grid-row:1/3;width:88px;height:88px;margin:0 0 0 26px;border-radius:27px}.step-icon::before{inset:7px;border-radius:20px}.step-illustration{width:76px;height:76px}.step-number{top:30px;left:4px}.step-card h3,.step-card p{grid-column:2;max-width:none;margin-inline:0}
  .occasion-options{grid-template-columns:repeat(2,minmax(0,1fr))}.recommendations{grid-template-columns:1fr}.alternative-recommendations{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.alternatives-heading{grid-column:1/-1}.games-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-shell{grid-template-columns:1fr}.premium-card{max-width:520px;transform:none}.social-proof-band{grid-template-columns:130px minmax(0,1fr);gap:12px;padding:16px}.social-proof-heading{display:block;align-self:center}.social-proof-heading h2{max-width:130px;margin-top:6px;font-size:1.05rem;text-align:left}.social-proof-quotes{gap:7px}.social-proof-quote{padding:13px 10px 11px 31px}.social-proof-quote::before{left:9px}.social-proof-quote blockquote{font-size:.72rem}.support-strip{grid-template-columns:120px 1fr;padding:26px}.support-strip .support-mascot{width:130px!important;height:130px!important;margin-bottom:-20px}.support-actions{grid-column:1/-1;display:flex}.support-actions a{flex:1}.support-actions .support-custom{width:auto}
  .audience-grid{grid-template-columns:1fr}.audience-card{min-height:280px;padding:27px 28px;background-size:cover}.audience-card--family{background-position:53% center}.audience-card--party{background-position:50% center}.audience-card--school{background-position:52% center}.audience-grid h3{max-width:58%}.audience-grid p{max-width:58%;min-height:auto}.audience-grid button,.audience-grid .audience-cta{max-width:62%}
  .footer-grid{grid-template-columns:1.5fr 1fr 1fr}.footer-brand{grid-column:1/-1}
}
@media(max-width:560px){
  body{font-size:15px}.section-shell{width:calc(100% - 24px)}.eyebrow{font-size:.68rem}
  .nav-shell{width:calc(100% - 20px)}.brand-link img{width:110px;height:52px}.overview-lang select{width:67px;height:38px}.menu-toggle{width:38px;height:38px}
  .hero{gap:18px;padding-block:26px 28px}.hero h1{font-size:clamp(2rem,8.5vw,2.4rem)}.hero-copy>p{margin-bottom:15px;font-size:.94rem;line-height:1.44}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.hero-actions .button{padding-inline:.7rem}.trust-row{gap:10px;margin-top:14px;font-size:.7rem}.hero-visual{padding:0}.hero-visual::before{display:none}.hero-demo{padding:10px;border-radius:24px}.demo-toolbar{padding-bottom:9px}.demo-tv{padding:6px 6px 9px;border-radius:18px}.demo-tv__screen{height:228px;border-radius:12px}.demo-panel{padding:15px}.demo-panel h3{font-size:1.2rem}.demo-code{gap:5px;margin-block:11px}.demo-code span{width:40px;height:46px;border-radius:9px;font-size:1.38rem}.demo-phones{gap:5px;margin-inline:5px}.demo-phone{padding:5px;border-radius:12px}.demo-phone__screen{min-height:50px;padding:5px}.demo-phone__answer{font-size:.58rem}.demo-timeline{padding-top:11px}.demo-steps{gap:2px}.demo-steps button{gap:3px;font-size:.52rem}.demo-winning-answer{padding:10px 12px}.demo-winning-answer strong{font-size:.94rem}
  .how-section,.games-section,.audience-section,.faq-section{padding-block:40px}.section-heading{margin-bottom:18px}.section-heading h2{font-size:2.05rem}
  .step-card{grid-template-columns:84px 1fr;padding:11px 5px}.step-icon{width:64px;height:64px;margin-left:18px;border-radius:20px}.step-icon::before{inset:5px;border-radius:15px}.step-icon::after{top:7px;left:11px;width:30px;height:11px}.step-illustration{width:56px;height:56px}.step-number{top:22px;left:-6px;width:22px;height:22px}.step-card h3{font-size:1.03rem}.step-card p{font-size:.79rem;line-height:1.42}
  .game-tools{padding:12px;border-radius:20px}.occasion-group{padding:12px}.occasion-options{gap:7px}.occasion-option{min-height:58px;padding:8px}.occasion-option>span{width:29px;height:29px}.occasion-option b{font-size:.7rem}.finder-details{grid-template-columns:1fr;gap:10px}.filter-group{padding:11px}.filter-group legend small{display:none}.filter-buttons{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.filter{flex:0 0 auto;min-width:58px}.results-line{align-items:flex-start}.results-line>div{display:grid;gap:1px}.best-recommendation__link{grid-template-columns:1fr}.best-recommendation__art{min-height:220px;padding:26px}.best-recommendation__art img{width:190px}.best-recommendation__content{padding:25px 22px 28px}.best-recommendation h3{font-size:2.35rem}.alternative-recommendations{grid-template-columns:1fr;grid-template-rows:auto}.alternatives-heading{grid-column:auto}.alternative-card{grid-template-columns:72px minmax(0,1fr)}.alternative-card>img{width:72px;height:72px}.recommendation-meta{font-size:.68rem}
  .games-grid{grid-template-columns:1fr}.game{min-height:0}.game-art{min-height:235px;height:auto;aspect-ratio:16/11;padding:12px}.game-content{padding:16px 18px}.show-more-wrap{margin-top:20px}
  .premium-section{padding-block:56px}.premium-shell{gap:36px}.premium-copy h2{font-size:3rem}.premium-copy .button{width:100%}.premium-card{padding:27px 23px}.code-preview span{min-width:0;flex:1}.code-preview{display:flex}
  .social-proof-section{padding-block:10px 6px}.social-proof-band{grid-template-columns:1fr;gap:13px;padding:16px 14px;border-radius:20px}.social-proof-heading{display:block}.social-proof-heading h2{max-width:none;margin-top:5px;text-align:left;font-size:1.15rem}.social-proof-quotes{grid-auto-columns:minmax(245px,84%);grid-template-columns:none;grid-auto-flow:column;overflow-x:auto;overscroll-behavior-inline:contain;padding:0 1px 5px;scroll-snap-type:x mandatory;scrollbar-width:thin}.social-proof-quote{min-height:124px;scroll-snap-align:start}.support-section{padding-block:24px}.support-strip{grid-template-columns:78px 1fr;gap:12px;min-height:0;padding:18px 16px;border-radius:20px}.support-strip .support-mascot{width:88px!important;height:88px!important;margin-left:-8px;margin-bottom:-7px}.support-copy h2{font-size:1.45rem}.support-copy p{font-size:.76rem}.support-actions{display:grid;grid-template-columns:repeat(3,1fr)}.support-actions .support-custom{grid-column:1/-1;width:100%}
  .audience-card{min-height:260px;padding:23px 20px;background-size:cover}.audience-card::after{top:18px;left:20px}.audience-card--family{background-position:56% center}.audience-card--party{background-position:54% center}.audience-card--school{background-position:56% center}.audience-card::before{background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.95) 45%,rgba(255,255,255,.72) 62%,rgba(255,255,255,.06) 88%),linear-gradient(0deg,rgba(15,10,34,.16),transparent 46%)}.audience-card--party::before{background:linear-gradient(90deg,rgba(24,15,39,.99) 0%,rgba(30,18,48,.94) 46%,rgba(29,17,46,.69) 64%,rgba(29,17,46,.08) 89%),linear-gradient(0deg,rgba(18,10,31,.38),transparent 55%)}.audience-grid h3{max-width:62%;font-size:1.24rem}.audience-grid p{max-width:62%;margin-bottom:14px;font-size:.76rem;line-height:1.42}.audience-grid button,.audience-grid .audience-cta{max-width:68%;padding:8px 10px;font-size:.7rem}.audience-grid{gap:12px}
  .faq-list summary{padding-block:15px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:4px}
  .modal{padding:28px 22px}.modal h2{font-size:1.55rem}
}
@media(max-width:430px){.demo-steps button>span:last-child{display:none}.demo-steps button{min-height:28px}.demo-steps button>span:first-child{width:19px;height:19px}.demo-live{font-size:.62rem}.demo-replay{font-size:.62rem}.demo-phone header strong{font-size:.6rem}.demo-phone header .demo-avatar{width:21px;height:21px}.demo-panel--answers h3{font-size:1.05rem}.demo-reactions span{width:32px;height:32px;font-size:1.1rem}.occasion-option{display:grid;justify-items:center;gap:5px;text-align:center}.occasion-option b{font-size:.66rem}.best-recommendation__art{min-height:190px}.best-recommendation__art img{width:165px}.recommendation-meta{font-size:.63rem}.alternative-card__copy small{font-size:.6rem}}
@media(max-width:430px){.hero-demo .demo-steps button>span:last-child{display:inline}.hero-demo .demo-steps button>span:first-child{display:none}.hero-demo .demo-steps button{font-size:.47rem}}
@media(max-width:1050px){.buddy-finder-intro{grid-template-columns:125px minmax(0,1fr)}.buddy-finder-intro>img{width:130px;height:130px}.buddy-finder-promise{display:none}.weekly-card{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr)}.weekly-content{padding:34px}.weekly-buddy{width:165px;height:165px}}
@media(max-width:1050px){.game-night-playlists{grid-auto-columns:72%}.night-playlist--featured{grid-row:auto}.night-playlist--featured h3{font-size:2.1rem}.night-playlist:last-child{grid-column:auto}.night-playlist:last-child ol{grid-template-columns:1fr}}
@media(max-width:780px){.buddy-intro{max-width:610px}.buddy-tip{width:min(620px,100%)}.buddy-finder-intro{grid-template-columns:115px minmax(0,1fr);min-height:125px}.buddy-finder-intro>img{width:120px;height:120px;margin-bottom:-14px}.buddy-finder-copy h3{font-size:1.35rem}.game-nights-heading{align-items:flex-start;flex-direction:column;gap:18px}.game-nights-promise{max-width:none;width:100%}.weekly-heading{align-items:stretch;flex-direction:column;gap:17px}.weekly-refresh{min-width:0;width:100%}.weekly-card{grid-template-columns:1fr}.weekly-art{min-height:350px}.weekly-logo-frame{width:250px}.weekly-content{padding:32px}.proof-dashboard{grid-template-columns:1fr;gap:30px;padding:34px}.group-story-heading{align-items:flex-start;flex-direction:column;gap:10px}.group-stories{grid-template-columns:1fr}.group-story{min-height:0}.proof-feedback{align-items:flex-start;flex-direction:column}.proof-feedback .button{width:100%}}
@media(max-width:560px){.buddy-intro{grid-template-columns:72px minmax(0,1fr);margin-top:20px}.buddy-intro>img{width:82px;height:82px}.buddy-speech{padding:11px 12px 11px 16px;border-radius:15px}.buddy-speech strong{font-size:.78rem}.buddy-speech p{font-size:.65rem}.buddy-role{font-size:.54rem}.buddy-tip{grid-template-columns:62px minmax(0,1fr);padding-right:12px}.buddy-tip>img{width:66px;height:66px}.buddy-tip strong{font-size:.78rem}.buddy-tip p{font-size:.64rem}.buddy-finder-intro{grid-template-columns:78px minmax(0,1fr);gap:8px;min-height:105px;padding:8px 11px 8px 4px;border-radius:16px}.buddy-finder-intro>img{width:86px;height:86px;margin-bottom:-10px}.buddy-finder-copy h3{font-size:1.02rem}.buddy-finder-copy p{font-size:.65rem;line-height:1.35}.support-copy .buddy-role{margin-bottom:3px}.game-nights-section{padding-block:50px}.game-nights-heading h2{font-size:2.5rem}.game-night-carousel__toolbar{justify-content:space-between;margin-top:-2px}.game-night-carousel__controls>button{width:39px;height:39px}.game-night-playlists{grid-auto-columns:88%}.night-playlist{padding:20px}.night-playlist>p{min-height:0}.weekly-section{padding-block:50px}.weekly-heading h2{font-size:2.35rem}.weekly-heading p{font-size:.84rem}.weekly-card{border-radius:23px}.weekly-art{min-height:270px;padding:42px 20px}.weekly-week{top:15px;left:15px}.weekly-logo-frame{width:185px;border-radius:24px}.weekly-logo-frame::after{border-radius:17px}.weekly-buddy{left:-12px;bottom:-18px;width:120px;height:120px}.weekly-content{padding:25px 20px 27px}.weekly-content h3{font-size:2.55rem}.weekly-premise{font-size:.88rem}.weekly-facts>span{font-size:.62rem}.weekly-actions{display:grid;width:100%;grid-template-columns:1fr}.weekly-actions .button,.weekly-played{width:100%}.weekly-reason{grid-template-columns:35px minmax(0,1fr)}.weekly-reason>span{width:35px;height:35px}.weekly-reason strong{font-size:.7rem}.proof-section{padding-block:50px}.proof-dashboard{gap:25px;padding:25px 20px;border-radius:23px}.proof-intro h2{font-size:2.35rem}.proof-intro>p{font-size:.86rem}.proof-metrics{gap:8px}.proof-metrics article{min-height:122px;padding:16px;border-radius:15px}.proof-metrics strong{font-size:2.5rem}.proof-metrics span{font-size:.62rem}.group-story-heading{margin-top:40px}.group-story-heading h3{font-size:2.15rem}.group-story{padding:21px}.group-story h4{font-size:1.25rem}.proof-feedback{gap:16px;padding:17px}.proof-feedback .button{white-space:normal;text-align:center}}
@media(pointer:coarse){.button,.filter,.occasion-option,.site-nav a,.footer-grid a{min-height:44px}.instagram-follow{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Two distinct, one-click paths: browse every game or launch a curated night. */
.play-choice{position:relative;padding:36px 0 40px;background:linear-gradient(180deg,#f7f3ff 0,#fffaf0 54%,#fff 100%)}
.play-choice.has-choice{padding-bottom:0}
.play-choice-heading{max-width:980px;margin-inline:auto;margin-bottom:18px}
.play-choice-heading h2{margin:5px 0 7px;font-size:clamp(2.1rem,3.35vw,3.15rem);line-height:1.02}
.play-choice-heading p{max-width:620px;margin-inline:auto;color:#656071}
.play-paths{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);gap:18px;max-width:1120px;margin-inline:auto}
.play-path{position:relative;isolation:isolate;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto auto;align-items:start;gap:10px 14px;min-height:244px;overflow:hidden;padding:20px;border:2px solid #d9cfee;border-radius:24px;background:#fff;color:var(--ink);box-shadow:0 8px 0 #e9e1f7,0 20px 44px rgba(43,25,78,.11);text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.play-path::before{content:"";position:absolute;z-index:-1;right:-80px;bottom:-105px;width:270px;height:270px;border:1px dashed rgba(103,56,209,.2);border-radius:50%;box-shadow:0 0 0 34px rgba(103,56,209,.04)}
.play-path:hover{border-color:#9d7ce1;box-shadow:0 11px 0 #ded0f7,0 28px 60px rgba(43,25,78,.15);transform:translateY(-4px)}
.play-path.is-active{border-color:var(--purple);box-shadow:0 10px 0 #cbb9f0,0 28px 60px rgba(67,35,135,.2)}
.play-path--night{border-color:#443569;background:radial-gradient(circle at 88% 100%,rgba(103,56,209,.45),transparent 36%),#19152f;color:#fff;box-shadow:0 9px 0 #b79a3c,0 24px 54px rgba(25,19,49,.22)}
.play-path--night::before{border-color:rgba(255,214,88,.28);box-shadow:0 0 0 34px rgba(255,214,88,.035)}
.play-path--night:hover,.play-path--night.is-active{border-color:#f0cc55;box-shadow:0 10px 0 #a88721,0 28px 60px rgba(25,19,49,.3)}
.play-path__number{position:absolute;top:18px;right:20px;color:#9a84c4;font-size:.62rem;font-weight:950;letter-spacing:.14em}
.play-path--night .play-path__number{color:#d9c589}
.play-path__icon{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:#ede6ff;color:var(--purple);box-shadow:inset 0 0 0 1px #ddd0fb}
.play-path--night .play-path__icon{background:#ffe27a;color:#5a4006;box-shadow:inset 0 0 0 1px #fff0ae}
.play-path__icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.play-path__copy{display:grid;align-self:center;gap:3px;padding-right:28px}.play-path__copy strong{font-size:1.18rem;line-height:1.08}.play-path__copy small{max-width:410px;color:#6b6677;font-size:.72rem;line-height:1.35}.play-path--night .play-path__copy small{color:#c9c2d8}
.play-path__preview{grid-column:1/-1;display:flex;min-height:76px;align-items:center;margin-top:0}
.play-path__preview--games{padding-left:8px}.play-path__preview--games img{width:78px;height:78px;object-fit:contain;border:4px solid #fff;border-radius:20px;background:#f4f0fb;box-shadow:0 10px 21px rgba(38,24,66,.18);transform:rotate(-5deg)}.play-path__preview--games img+img{margin-left:-13px;transform:translateY(-4px) rotate(2deg)}.play-path__preview--games img+img+img{transform:translateY(2px) rotate(7deg)}
.play-path__preview--night{justify-content:center}.play-path__preview--night i{display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.08);box-shadow:0 9px 18px rgba(0,0,0,.16)}.play-path__preview--night img{width:47px;height:47px;object-fit:contain}.play-path__preview--night b{width:24px;height:2px;background:linear-gradient(90deg,#ffe27a,#8be5ca)}
.play-path__cta{grid-column:1/-1;display:flex;min-height:41px;align-items:center;justify-content:space-between;gap:12px;padding:8px 13px;border-radius:11px;background:var(--purple);color:#fff;font-size:.72rem;font-weight:950}.play-path__cta svg{width:17px;height:17px;transition:transform .2s ease}.play-path:hover .play-path__cta svg{transform:translateX(4px)}.play-path--night .play-path__cta{background:#ffe27a;color:#4c3707}
.play-panel{margin-top:40px}.play-panel[hidden]{display:none!important}.play-panel .games-section{padding-block:48px 72px}.play-panel .game-nights-section{padding-block:56px}.play-panel .game-nights-heading h2{font-size:clamp(2.3rem,4vw,3.65rem)}
#spiele,#game-nights{scroll-margin-top:78px}
.catalog-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px;margin-bottom:14px}.catalog-heading h2{max-width:760px;margin:7px 0 9px;font-size:clamp(2.45rem,4.5vw,4rem);line-height:.95}.catalog-heading p{max-width:680px;margin:0;color:var(--muted)}.catalog-count{display:grid;place-items:center;min-width:142px;padding:17px;border:1px solid #d9cfee;border-radius:21px;background:#fff;box-shadow:0 7px 0 #e9e1f7}.catalog-count strong{color:var(--purple);font-size:2.8rem;line-height:.9}.catalog-count span{margin-top:5px;color:#625d6e;font-size:.65rem;font-weight:900;text-transform:uppercase}.catalog-hint{display:flex;align-items:center;gap:7px;margin:0 0 24px;color:#5e5969;font-size:.78rem;font-weight:800}.catalog-hint svg{width:17px;height:17px;color:var(--purple);transform:rotate(90deg)}
.quick-picks-section{padding-block:46px 42px}
.quick-picks-section .catalog-starters{margin:0}
.catalog-starters{position:relative;display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;margin:24px 0 20px;padding:18px;overflow:hidden;border-radius:24px;background:#19152f;color:#fff;box-shadow:0 18px 42px rgba(31,21,56,.16)}.catalog-starters::after{content:"";position:absolute;right:-75px;top:-95px;width:240px;height:240px;border:1px dashed rgba(255,214,88,.2);border-radius:50%;box-shadow:0 0 0 34px rgba(103,56,209,.08)}.catalog-starters__intro{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;padding:5px 4px}.catalog-starters__intro .eyebrow{color:#bea7f4;font-size:.61rem}.catalog-starters__intro h2{margin:7px 0 5px;color:#fff;font-size:1.42rem;line-height:1.05}.catalog-starters__intro p{margin:0;color:#bdb6ca;font-size:.72rem;line-height:1.45}.quick-picks__all{display:flex;align-items:center;gap:7px;width:max-content;margin-top:13px;color:#ffe07a;font-size:.65rem;font-weight:900}.quick-picks__all svg{width:15px;height:15px;transition:transform .18s ease}.quick-picks__all:hover svg{transform:translateX(3px)}.catalog-starters__cards{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.catalog-starter{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:6px 10px;min-width:0;min-height:170px;overflow:hidden;padding:13px;border:1px solid rgba(255,255,255,.55);border-radius:17px;background:#fff8e7;color:var(--ink);box-shadow:0 7px 0 rgba(7,5,18,.25);transition:transform .18s ease,box-shadow .18s ease}.catalog-starter--2{background:#effaf5}.catalog-starter--3{background:#f2edff}.catalog-starter:hover{box-shadow:0 10px 0 rgba(7,5,18,.2),0 18px 28px rgba(0,0,0,.18);transform:translateY(-4px)}.catalog-starter__badge{grid-column:1/-1;width:max-content;max-width:100%;padding:4px 7px;border-radius:999px;background:#ffd658;color:#4f3705;font-size:.48rem;font-weight:950;letter-spacing:.08em;white-space:nowrap}.catalog-starter--2 .catalog-starter__badge{background:#bfeedd;color:#145a47}.catalog-starter--3 .catalog-starter__badge{background:#d9cbff;color:#4d21aa}.catalog-starter>img{width:62px;height:62px;align-self:start;border-radius:14px;object-fit:contain;filter:drop-shadow(0 7px 8px rgba(32,20,56,.13))}.catalog-starter__content{display:grid;align-content:start;min-width:0}.catalog-starter__content>small{overflow:hidden;color:#746d80;font-size:.54rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.catalog-starter__content>strong{overflow:hidden;margin:1px 0 3px;font-size:.92rem;text-overflow:ellipsis;white-space:nowrap}.catalog-starter__content>span{display:-webkit-box;overflow:hidden;color:#635e6e;font-size:.59rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.catalog-starter__content>i{margin-top:5px;color:#4f495c;font-size:.5rem;font-style:normal;font-weight:850}.catalog-starter__cta{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding-top:7px;border-top:1px solid rgba(68,49,96,.12);color:var(--purple);font-size:.58rem;font-weight:950}.catalog-starter__cta svg{width:14px;height:14px;transition:transform .18s ease}.catalog-starter:hover .catalog-starter__cta svg{transform:translateX(3px)}
.catalog-starter__title{overflow:hidden;margin:1px 0 3px;font:900 .92rem/1.15 var(--body);letter-spacing:normal;text-overflow:ellipsis;white-space:nowrap}
.catalog-filter{display:flex;width:fit-content;max-width:100%;min-height:52px;align-items:center;gap:5px;margin:-8px 0 24px;padding:5px;border:1px solid #dcd3ec;border-radius:16px;background:rgba(255,255,255,.92);box-shadow:0 9px 24px rgba(45,25,80,.07);transition:border-color .2s ease,box-shadow .2s ease}.catalog-filter.has-filters{border-color:#a98be6;box-shadow:0 9px 24px rgba(74,39,142,.12)}.catalog-filter__lead{display:flex;align-items:center;gap:6px;padding:0 9px 0 7px;color:#5e5969;font-size:.67rem;font-weight:950;letter-spacing:.04em;white-space:nowrap;text-transform:uppercase}.catalog-filter__lead svg{width:16px;height:16px;color:var(--purple)}.catalog-filter__select{position:relative;display:block;flex:0 1 auto}.catalog-filter__select>svg{position:absolute;z-index:1;top:50%;left:11px;width:15px;height:15px;color:var(--purple);pointer-events:none;transform:translateY(-50%)}.catalog-filter__select::after{position:absolute;top:50%;right:11px;color:#765ab7;content:"⌄";font-size:.78rem;font-weight:950;line-height:1;pointer-events:none;transform:translateY(-60%)}.catalog-filter select{width:auto;min-width:142px;height:40px;margin:0;padding:0 30px 0 32px;border:1px solid #e8e2f1;border-radius:11px;background:#faf8fd;color:#2d2838;font:850 .72rem/1 var(--body);cursor:pointer;appearance:none;transition:border-color .17s ease,background .17s ease,box-shadow .17s ease}.catalog-filter select:hover{border-color:#c8b7e7;background:#f4effc}.catalog-filter select:focus-visible{outline:3px solid rgba(32,175,225,.38);outline-offset:2px}.catalog-filter__select--mood select{min-width:132px}.catalog-filter__reset{display:grid;width:36px;height:36px;margin:0 2px;padding:0;place-items:center;border:0;border-radius:10px;background:#eee7fa;color:var(--purple);font-size:1.35rem;font-weight:700;cursor:pointer;transition:background .17s ease,transform .17s ease}.catalog-filter__reset:hover{background:#e0d3f6;transform:rotate(5deg)}.catalog-filter__reset:focus-visible{outline:3px solid rgba(32,175,225,.38);outline-offset:2px}.catalog-empty{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 0 22px;padding:14px 16px;border:1px dashed #cdbce9;border-radius:16px;background:#fff}.catalog-empty>span{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;background:#eee7fa;color:var(--purple)}.catalog-empty div{display:grid;gap:2px}.catalog-empty strong{font-size:.82rem}.catalog-empty small{color:var(--muted);font-size:.68rem}.catalog-empty button{min-height:36px;padding:8px 11px;border:0;border-radius:10px;background:var(--purple);color:#fff;font-size:.69rem;font-weight:900;cursor:pointer}

@media(max-width:900px){.play-path{min-height:232px;padding:18px}.play-path__preview--games img{width:72px;height:72px}.play-path__preview--night i{width:50px;height:50px}.play-path__preview--night img{width:43px;height:43px}.play-path__preview--night b{width:16px}.catalog-heading{align-items:start}.catalog-count{min-width:120px}}
@media(max-width:700px){.play-choice{padding:34px 0 36px}.play-choice.has-choice{padding-bottom:0}.play-paths{grid-template-columns:1fr;gap:11px}.play-path{grid-template-columns:48px minmax(0,1fr) auto;grid-template-rows:auto auto;min-height:0;padding:14px;border-radius:19px}.play-path__number{display:none}.play-path__icon{width:48px;height:48px;border-radius:15px}.play-path__copy{padding-right:0}.play-path__copy strong{font-size:1.02rem}.play-path__copy small{font-size:.67rem;line-height:1.3}.play-path__preview{display:none}.play-path__cta{grid-column:3;grid-row:1/3;align-self:center;width:44px;min-height:44px;padding:11px}.play-path__cta span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.play-panel{margin-top:20px}.play-panel .games-section{padding-block:34px 48px}.play-panel .game-nights-section{padding-block:38px}.catalog-heading{grid-template-columns:1fr}.catalog-count{display:flex;justify-content:flex-start;gap:8px;width:fit-content;min-width:0;padding:10px 14px}.catalog-count strong{font-size:1.45rem}.catalog-count span{margin:0}.catalog-hint{margin-bottom:18px}.catalog-filter{width:100%;margin-top:-5px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}.catalog-filter::-webkit-scrollbar{display:none}.catalog-filter__lead span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.catalog-filter__lead{padding-inline:7px 3px}.catalog-filter select{min-width:128px}.catalog-filter__select--mood select{min-width:118px}.catalog-empty{grid-template-columns:36px minmax(0,1fr)}.catalog-empty>span{width:34px;height:34px}.catalog-empty button{grid-column:1/-1}}
@media(max-width:500px){.play-choice-heading h2{font-size:1.72rem;letter-spacing:-.035em}.play-choice-heading p{font-size:.8rem;line-height:1.4}.hero-actions{grid-template-columns:1fr}.catalog-heading h2{font-size:2.35rem}}

@media(max-width:900px){.catalog-starters{grid-template-columns:1fr;padding:16px}.catalog-starters__intro{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:end;gap:6px 20px}.catalog-starters__intro .eyebrow,.catalog-starters__intro h2{grid-column:1}.catalog-starters__intro p{grid-column:2;grid-row:1/3}.quick-picks__all{grid-column:1;grid-row:3}.catalog-starters__cards{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-starter{grid-template-columns:50px minmax(0,1fr);min-height:166px}.catalog-starter>img{width:50px;height:50px}}
@media(max-width:700px){.hero-game-night-note{margin-top:11px!important;font-size:.7rem!important}.quick-picks-section{padding-block:34px 32px}.catalog-starters{display:block;margin-block:20px 17px;padding:15px 0 15px 15px;border-radius:20px}.quick-picks-section .catalog-starters{margin:0}.catalog-starters__intro{display:block;padding:0 16px 12px 1px}.catalog-starters__intro h2{font-size:1.22rem}.catalog-starters__intro p{max-width:330px}.quick-picks__all{margin-top:9px}.catalog-starters__cards{display:flex;gap:9px;overflow-x:auto;padding:0 15px 10px 0;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:none}.catalog-starters__cards::-webkit-scrollbar{display:none}.catalog-starter{min-width:min(285px,82vw);min-height:153px;scroll-snap-align:start}.catalog-starter__content>span{-webkit-line-clamp:2}}
@media(max-width:500px){.hero-game-night-cta{min-width:0}.hero-game-night-note>span:first-child{width:22px;height:22px}.night-playlist__facts span{font-size:.57rem}.night-playlist__sequence-title{margin-top:2px}}

/* Footer mobile optimisation */
@media(max-width:780px){
  .site-footer{padding-top:26px}
  .footer-grid{gap:22px;padding-bottom:22px}
  .footer-brand p{margin-bottom:12px;font-size:.85rem;line-height:1.45}
  .footer-brand img{width:130px;margin-bottom:10px}
  .footer-trust span{font-size:.6rem;padding:3px 6px}
}
@media(max-width:560px){
  .site-footer{padding-top:20px}
  .footer-grid{grid-template-columns:1fr 1fr;column-gap:16px;row-gap:20px;padding-bottom:18px}
  .footer-brand{grid-column:1/-1;text-align:left}
  .footer-brand img{width:120px;margin-bottom:8px}
  .footer-brand p{margin-bottom:10px;font-size:.82rem}
  .footer-trust{gap:6px}
  .footer-grid>div:not(.footer-brand){gap:7px}
  .footer-grid h3{margin-bottom:8px;font-size:.68rem;letter-spacing:.09em}
  .footer-grid a,.footer-link{padding:4px 0;font-size:.82rem;line-height:1.35;min-height:32px;display:inline-flex;align-items:center}
  /* Kontakt-Doppler nur einmal zeigen (Hilfe = 4. Kind, Support behält Kontakt) */
  .footer-grid>div:nth-child(4) a[href="kontakt.html"]{display:none}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:2px;padding-block:14px;font-size:.66rem;line-height:1.4}
}
@media(max-width:400px){
  .footer-grid{column-gap:12px;row-gap:16px}
  .footer-grid a,.footer-link{font-size:.78rem}
}

.audience-grid .audience-cta{text-decoration:none}
.game-night-playlists>article:not(.night-playlist){padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}

/* --- Schnellmodus fuer Wiederkehrer ---------------------------------------
   P2-Befund aus dem Assessment: Die Karten sind hochwertig, aber sehr hoch.
   Auf dem Handy ergeben 26 Karten a rund 460 px eine Scrollstrecke von ueber
   zwoelf Metern. Der ausfuehrliche Zustand bleibt Standard — er erklaert
   Erstbesuchern, was JOKO ist. Kompakt ist die Wahl fuer alle danach. */
.catalog-density{display:inline-flex;align-items:center;gap:7px;min-height:36px;margin:0 2px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);font:inherit;font-size:.72rem;font-weight:800;cursor:pointer;transition:background .17s ease,color .17s ease,border-color .17s ease}
.catalog-density svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round}
.catalog-density:hover{border-color:var(--purple);color:var(--purple)}
.catalog-density[aria-pressed="true"]{border-color:var(--purple);background:#eee7fa;color:var(--purple)}
.catalog-density:focus-visible{outline:3px solid var(--purple);outline-offset:2px}

.catalog-recent{margin:0 0 20px}
.catalog-recent__title{margin:0 0 10px;color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.catalog-recent__row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr);gap:12px}
.catalog-recent__chip{display:flex;align-items:center;gap:11px;min-width:0;padding:9px 13px 9px 9px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 6px 18px rgba(45,25,80,.05);color:inherit;text-decoration:none;transition:border-color .17s ease,transform .17s ease}
.catalog-recent__chip:hover{border-color:var(--purple);transform:translateY(-2px)}
.catalog-recent__chip:focus-visible{outline:3px solid var(--purple);outline-offset:2px}
.catalog-recent__chip img{width:42px;height:42px;flex:none;border-radius:11px;object-fit:contain;background:#f6f2ff}
.catalog-recent__chip span{display:grid;min-width:0}
.catalog-recent__chip strong{overflow:hidden;font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}
.catalog-recent__chip small{color:var(--muted);font-size:.66rem;font-weight:700}
.catalog-recent__clear{margin-top:9px;padding:0;border:0;background:none;color:var(--muted);font:inherit;font-size:.68rem;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.catalog-recent__clear:hover{color:var(--purple)}

.games-grid.is-compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.games-grid.is-compact .game{min-height:0}
.game--compact .game-art{min-height:0;aspect-ratio:1/1;padding:10px}
.game--compact .game-content{gap:6px;padding:11px 13px 13px}
.game--compact .game-content h3{margin:0;font-size:1rem;line-height:1.15}
.game--compact .game-facts{gap:9px;margin:0;padding:0;border:0;font-size:.64rem}

@media(max-width:900px){
  .games-grid.is-compact{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:560px){
  /* Zwei Spalten statt einer: Das allein halbiert die Scrollstrecke noch
     einmal gegenueber der einspaltigen Standardansicht. */
  .games-grid.is-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
  .catalog-recent__row{grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:4px}
  .catalog-recent__chip{scroll-snap-align:start}
  .catalog-density{flex:none}
}

/* Der Filterbalken war eine nicht umbrechende Flex-Zeile mit fester Breite.
   Mit dem Dichte-Umschalter als fuenftem Element laeuft er auf schmalen
   Geraeten aus dem Viewport — deshalb dort umbrechen statt ueberlaufen. */
@media(max-width:560px){
  .catalog-filter{width:100%;flex-wrap:wrap;row-gap:6px}
  .catalog-filter__select{flex:1 1 42%}
}
/* Ganz schmale Geraete: nur noch das Symbol, der Zustand steht in
   aria-pressed und wird von Screenreadern ohnehin vorgelesen. */
@media(max-width:400px){
  .catalog-density{padding:0 10px}
  .catalog-density [data-density-label]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}

/* Einstieg in den Drei-Klick-Planer, direkt unter der Spieleabend-Ueberschrift. */
.game-nights-planner{margin:10px 0 0}
.game-nights-planner a{color:var(--purple);font-size:.82rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.game-nights-planner a:hover{color:var(--purple-dark)}

/* The planning path is the single alternative to the ready-made evenings. */
.game-nights-promise{
  grid-template-columns:50px minmax(0,1fr) 24px;
  color:#fff;
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.game-nights-promise>svg{width:20px;height:20px;color:var(--gold);transition:transform .18s ease}
.game-nights-promise:hover{border-color:rgba(255,214,88,.56);background:rgba(255,255,255,.11);transform:translateY(-2px)}
.game-nights-promise:hover>svg{transform:translateX(3px)}
.game-nights-promise:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
