:root {
  --ink: #151529;
  --ink-soft: #515266;
  --navy: #121225;
  --navy-2: #1b1b35;
  --purple: #7c4dff;
  --purple-light: #a98cff;
  --cyan: #55e6e1;
  --lime: #d8ff57;
  --cream: #f7f5ef;
  --white: #fff;
  --line: #dfddea;
  --shadow: 0 24px 70px rgba(17, 16, 42, .14);
  --radius: 24px;
  --container: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: "DM Sans", sans-serif; color: var(--ink); background: var(--cream); line-height: 1.6; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input { font: inherit; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.section { padding: 104px 0; }
.section-light { background: var(--cream); }
.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; left: 16px; top: -60px; z-index: 9999; background: white; color: black; padding: 12px 16px; border-radius: 8px; transition: .2s; }
.skip-link:focus { top: 16px; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 1000; color: white; transition: background .25s, box-shadow .25s; }
.site-header.scrolled { background: rgba(18,18,37,.92); backdrop-filter: blur(14px); box-shadow: 0 10px 30px rgba(0,0,0,.12); }
.nav-wrap { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 11px; }
.brand-mark { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; background: linear-gradient(135deg, var(--purple), #5b2ad5); color: white; font: 800 24px/1 "Outfit", sans-serif; box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); }
.brand-copy { display: flex; flex-direction: column; line-height: 1; }
.brand-copy strong { font: 800 19px/1 "Outfit", sans-serif; }
.brand-copy small { margin-top: 4px; font-size: 11px; text-transform: uppercase; letter-spacing: .18em; opacity: .72; }
.main-nav { display: flex; align-items: center; gap: 28px; font-size: 15px; font-weight: 600; }
.main-nav a { opacity: .84; }
.main-nav a:hover, .main-nav a:focus-visible { opacity: 1; }
.nav-cta { border: 1px solid rgba(255,255,255,.25); padding: 10px 16px; border-radius: 999px; }
.menu-button { display: none; border: 0; background: transparent; padding: 8px; }
.menu-button span:not(.sr-only) { width: 25px; height: 2px; display: block; margin: 5px; background: white; }

.hero { position: relative; overflow: hidden; min-height: 820px; padding-top: 180px; color: white; background: radial-gradient(circle at 85% 25%, #322f6e 0, transparent 27%), linear-gradient(145deg, #101021 0%, #17162f 55%, #211c4b 100%); }
.hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 80px; background: var(--cream); clip-path: polygon(0 72%,100% 0,100% 100%,0 100%); }
.hero-grid { display: grid; grid-template-columns: 1.04fr .96fr; gap: 76px; align-items: center; position: relative; z-index: 2; }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(2px); opacity: .18; }
.hero-glow-one { width: 460px; height: 460px; right: -150px; top: 170px; background: var(--purple); }
.hero-glow-two { width: 250px; height: 250px; left: 40%; bottom: 0; background: var(--cyan); opacity: .08; }
.eyebrow { margin: 0 0 18px; color: var(--cyan); font-weight: 800; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow.dark { color: #6541d8; }
h1,h2,h3 { font-family: "Outfit", sans-serif; line-height: 1.08; margin-top: 0; }
h1 { font-size: clamp(48px, 6vw, 76px); letter-spacing: -.045em; margin-bottom: 24px; }
h1 span { color: var(--lime); }
.hero-intro { max-width: 650px; margin: 0 0 34px; font-size: 20px; color: rgba(255,255,255,.75); }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 23px; border: 0; border-radius: 13px; font-weight: 800; cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--lime); color: #151528; box-shadow: 0 12px 26px rgba(216,255,87,.18); }
.button-secondary { background: rgba(255,255,255,.08); color: white; border: 1px solid rgba(255,255,255,.16); }
.button-dark { background: var(--ink); color: white; }
.hero-proof { display: flex; gap: 30px; margin-top: 44px; }
.hero-proof div { display: flex; flex-direction: column; }
.hero-proof strong { font: 800 18px/1.2 "Outfit", sans-serif; }
.hero-proof span { font-size: 12px; color: rgba(255,255,255,.55); }
.microcopy { margin: 8px 0 0; font-size: 11px; color: rgba(255,255,255,.34); }
.hero-card { transform: rotate(2deg); padding: 22px; border-radius: 30px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(14px); box-shadow: 0 34px 90px rgba(0,0,0,.32); }
.hero-card-top, .hero-card-bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.live-pill, .score-chip { font-size: 12px; font-weight: 700; }
.live-pill { display: inline-flex; align-items: center; gap: 8px; }
.live-pill span { width: 8px; height: 8px; border-radius: 50%; background: #ff5572; box-shadow: 0 0 0 5px rgba(255,85,114,.15); }
.score-chip { padding: 7px 11px; border-radius: 999px; background: rgba(255,255,255,.1); }
.question-card { margin: 18px 0; padding: 28px; border-radius: 22px; background: white; color: var(--ink); }
.question-label { margin: 0 0 9px; text-transform: uppercase; letter-spacing: .16em; font-size: 10px; font-weight: 800; color: #7754e8; }
.question-card h2 { margin-bottom: 23px; font-size: 26px; }
.answer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.answer-grid span { padding: 11px 12px; border-radius: 10px; background: #f1eff8; font-size: 13px; font-weight: 700; }
.answer-grid .selected { background: var(--lime); }
.avatar-stack { display: flex; }
.avatar-stack span { width: 35px; height: 35px; margin-left: -8px; border: 3px solid #1f1e42; border-radius: 50%; display: grid; place-items: center; background: #6c48e4; font-size: 11px; font-weight: 800; }
.avatar-stack span:first-child { margin-left: 0; }
.hero-card-bottom p { margin: 0; font-size: 12px; line-height: 1.45; color: rgba(255,255,255,.58); }
.hero-card-bottom strong { color: white; }

.section-heading { max-width: 730px; margin-bottom: 48px; }
.section-heading h2, .packs-copy h2, .host-copy h2, .signup-card h2 { font-size: clamp(38px, 5vw, 56px); letter-spacing: -.035em; margin-bottom: 18px; }
.section-heading > p:last-child, .packs-copy > p, .host-copy > p, .signup-card > div > p:last-child { color: var(--ink-soft); font-size: 18px; }
.card-grid { display: grid; gap: 22px; }
.three-cols { grid-template-columns: repeat(3, 1fr); }
.feature-card { min-height: 320px; padding: 32px; border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: 0 10px 35px rgba(24,21,55,.05); display: flex; flex-direction: column; }
.icon-badge { width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center; background: #f1edff; font-size: 25px; }
.feature-card h3 { margin: 32px 0 13px; font-size: 26px; }
.feature-card p { margin: 0 0 26px; color: var(--ink-soft); }
.feature-card a { margin-top: auto; font-weight: 800; color: #6541d8; }

.events-section { background: var(--navy); color: white; }
.split-heading { max-width: none; display: grid; grid-template-columns: 1fr 420px; align-items: end; gap: 60px; }
.split-heading h2 { margin-bottom: 0; }
.split-heading > p { color: rgba(255,255,255,.58) !important; margin: 0; }

.quiz-finder { margin: 0 0 24px; padding: 22px 24px; border: 1px solid rgba(255,255,255,.13); border-radius: 20px; background: rgba(255,255,255,.05); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.finder-label { display: block; margin-bottom: 10px; color: rgba(255,255,255,.48); font-size: 11px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.filter-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-button { padding: 9px 14px; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; background: transparent; color: rgba(255,255,255,.72); font: 700 12px/1 "DM Sans", sans-serif; cursor: pointer; transition: .2s ease; }
.filter-button:hover, .filter-button.active { border-color: var(--lime); background: var(--lime); color: var(--navy); }
.quiz-finder > p { margin: 0; color: rgba(255,255,255,.66); font-size: 13px; font-weight: 700; }
.status-dot { display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 5px rgba(216,255,87,.12); }
.location-line { display: block; margin-top: 8px; color: rgba(255,255,255,.38); font-size: 12px; font-weight: 700; }
.event-coming { background: linear-gradient(90deg, rgba(115,77,225,.12), transparent); }
.event-tag.coming { border-color: rgba(120,230,255,.38); color: var(--cyan); }
.event-row.is-hidden { display: none; }
.finder-empty { padding: 28px; text-align: center; color: rgba(255,255,255,.58); }

.events-list { border-top: 1px solid rgba(255,255,255,.13); }
.event-row { min-height: 132px; display: grid; grid-template-columns: 150px 1fr auto 80px; gap: 32px; align-items: center; border-bottom: 1px solid rgba(255,255,255,.13); }
.event-day { display: flex; flex-direction: column; }
.event-day strong { font: 800 20px/1 "Outfit", sans-serif; color: var(--lime); }
.event-day span { color: rgba(255,255,255,.52); font-size: 13px; }
.event-main h3 { margin: 0 0 6px; font-size: 23px; }
.event-main p { margin: 0; color: rgba(255,255,255,.55); }
.event-tag { padding: 6px 11px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.65); }
.event-row > a { color: var(--cyan); font-weight: 700; text-align: right; }

.packs-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 100px; }
.tick-list { list-style: none; padding: 0; margin: 28px 0 34px; }
.tick-list li { position: relative; padding-left: 34px; margin: 13px 0; font-weight: 600; }
.tick-list li::before { content: "✓"; position: absolute; left: 0; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: #e9ffd0; color: #3d6318; font-size: 12px; }
.pack-stack { min-height: 470px; position: relative; }
.pack-card { position: absolute; width: min(390px, 88%); min-height: 280px; border-radius: 28px; padding: 30px; box-shadow: var(--shadow); }
.pack-card-back { right: 0; top: 4px; transform: rotate(9deg); background: var(--cyan); }
.pack-card-middle { left: 0; top: 70px; transform: rotate(-8deg); background: var(--purple-light); }
.pack-card-front { left: 50%; top: 115px; transform: translateX(-50%); background: var(--navy); color: white; }
.pack-card > span, .pack-card > strong { display: block; }
.pack-card-front p { color: var(--cyan); text-transform: uppercase; letter-spacing: .15em; font-weight: 800; font-size: 11px; }
.pack-card-front h3 { font-size: 35px; margin: 34px 0 24px; }
.pack-card-front div { display: flex; gap: 7px; flex-wrap: wrap; }
.pack-card-front div span { padding: 6px 9px; border-radius: 999px; background: rgba(255,255,255,.1); font-size: 11px; }
.pack-card-front > strong { margin-top: 40px; color: var(--lime); }

.testimonial-section { padding: 90px 0; background: var(--lime); }
.testimonial { max-width: 950px; text-align: center; }
.quote-mark { font: 800 70px/1 "Outfit", sans-serif; opacity: .25; }
blockquote { margin: 0 auto 22px; font: 700 clamp(30px, 4vw, 46px)/1.18 "Outfit", sans-serif; letter-spacing: -.025em; }
.testimonial p { margin: 0; font-weight: 700; opacity: .65; }

.hosts-section { background: #ebe7f8; }
.host-panel { padding: 64px; border-radius: 32px; background: var(--navy); color: white; display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; overflow: hidden; }
.host-copy > p { color: rgba(255,255,255,.6); }
.text-link { color: var(--cyan); font-weight: 800; }
.studio-window { border-radius: 20px; background: #f5f3fb; box-shadow: 0 34px 70px rgba(0,0,0,.28); transform: rotate(2deg); overflow: hidden; }
.window-bar { height: 36px; padding: 0 14px; display: flex; align-items: center; gap: 7px; background: #ded9ec; }
.window-bar span { width: 9px; height: 9px; border-radius: 50%; background: #b1abc4; }
.window-content { display: grid; grid-template-columns: 62px 1fr; min-height: 280px; }
.window-sidebar { background: #1b1a37; padding: 18px 13px; display: flex; flex-direction: column; align-items: center; gap: 18px; }
.window-sidebar b { color: var(--lime); }
.window-sidebar span { width: 28px; height: 28px; border-radius: 8px; background: rgba(255,255,255,.08); }
.window-main { color: var(--ink); padding: 36px; }
.window-main small { color: #7654e7; font-weight: 800; letter-spacing: .14em; }
.window-main h3 { font-size: 34px; margin: 18px 0 35px; }
.mini-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.mini-cards span { min-height: 70px; border-radius: 12px; display: grid; place-items: center; background: white; box-shadow: 0 7px 20px rgba(20,18,52,.08); font-weight: 800; font-size: 13px; }

.signup-section { background: var(--cream); }
.signup-card { border-radius: 32px; padding: 64px; background: linear-gradient(135deg, #6f46e7, #4930b0); color: white; display: grid; grid-template-columns: 1fr .9fr; gap: 80px; align-items: center; box-shadow: var(--shadow); }
.signup-card h2 { margin-bottom: 12px; }
.signup-card > div > p:last-child { color: rgba(255,255,255,.7); }
.signup-form { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.signup-form input { min-width: 0; height: 54px; padding: 0 17px; border: 1px solid rgba(255,255,255,.24); border-radius: 13px; background: rgba(255,255,255,.12); color: white; outline: none; }
.signup-form input::placeholder { color: rgba(255,255,255,.62); }
.signup-form input:focus { border-color: var(--lime); box-shadow: 0 0 0 4px rgba(216,255,87,.13); }
.form-message { grid-column: 1 / -1; margin: 4px 0 0; min-height: 20px; font-size: 13px; color: var(--lime); }

.site-footer { padding: 72px 0 28px; background: #0e0e1c; color: white; }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 60px; }
.footer-brand { margin-bottom: 22px; }
.footer-grid > div > p { color: rgba(255,255,255,.45); max-width: 290px; }
.footer-grid h3 { margin-bottom: 18px; font-size: 15px; }
.footer-grid > div:not(:first-child) { display: flex; flex-direction: column; gap: 9px; }
.footer-grid a:not(.brand) { color: rgba(255,255,255,.55); font-size: 14px; }
.footer-grid a:hover { color: white; }
.footer-bottom { margin-top: 58px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); display: flex; align-items: center; justify-content: space-between; color: rgba(255,255,255,.4); font-size: 12px; }
.footer-bottom div { display: flex; gap: 22px; }

.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity: 1; transform: none; }

@media (max-width: 900px) {
  .section { padding: 80px 0; }
  .menu-button { display: block; }
  .main-nav { position: fixed; inset: 72px 18px auto; padding: 20px; border-radius: 18px; background: #242344; box-shadow: var(--shadow); display: none; flex-direction: column; align-items: stretch; gap: 8px; }
  .main-nav.open { display: flex; }
  .main-nav a { padding: 11px 12px; }
  .hero { min-height: auto; padding: 150px 0 150px; }
  .hero-grid, .packs-grid, .host-panel, .signup-card { grid-template-columns: 1fr; }
  .hero-grid { gap: 60px; }
  .hero-card { max-width: 620px; }
  .three-cols { grid-template-columns: 1fr; }
  .feature-card { min-height: auto; }
  .split-heading { grid-template-columns: 1fr; gap: 15px; }
  .quiz-finder { align-items: flex-start; flex-direction: column; }
  .event-row { grid-template-columns: 110px 1fr auto; gap: 20px; padding: 24px 0; }
  .event-row > a { grid-column: 2; text-align: left; }
  .event-tag { grid-row: 1; grid-column: 3; }
  .packs-grid { gap: 40px; }
  .host-panel, .signup-card { padding: 42px; gap: 42px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .section { padding: 68px 0; }
  .hero { padding-top: 130px; }
  h1 { font-size: 46px; }
  .hero-intro { font-size: 17px; }
  .hero-actions .button { width: 100%; }
  .hero-proof { gap: 16px; justify-content: space-between; }
  .hero-proof strong { font-size: 14px; }
  .question-card { padding: 20px; }
  .question-card h2 { font-size: 21px; }
  .answer-grid { grid-template-columns: 1fr; }
  .quiz-finder { padding: 18px; }
  .filter-button { flex: 1; white-space: nowrap; }
  .event-row { grid-template-columns: 85px 1fr; }
  .event-tag { display: none; }
  .pack-stack { min-height: 390px; transform: scale(.88); transform-origin: left top; width: 112%; }
  .host-panel, .signup-card { padding: 30px 22px; border-radius: 24px; }
  .window-main { padding: 25px 18px; }
  .window-main h3 { font-size: 27px; }
  .mini-cards { grid-template-columns: 1fr; }
  .signup-form { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 34px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}


/* Phase 3: private events and trust */
.private-events-section { background: #17162d; color: white; overflow: hidden; }
.private-events-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 72px; align-items: center; }
.private-events-copy > p:not(.eyebrow) { color: rgba(255,255,255,.67); font-size: 18px; max-width: 620px; }
.event-benefits { display: grid; gap: 12px; margin: 30px 0 34px; }
.event-benefits span { color: rgba(255,255,255,.85); font-weight: 600; }
.event-enquiry-card { padding: 26px; border: 1px solid rgba(255,255,255,.12); border-radius: 28px; background: rgba(255,255,255,.06); box-shadow: 0 24px 70px rgba(0,0,0,.22); }
.event-enquiry-label { display: inline-block; margin: 0 0 18px 4px; color: var(--lime); font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.occasion-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.occasion-grid article { padding: 22px; min-height: 190px; border-radius: 18px; background: white; color: var(--ink); }
.occasion-grid article > span { display: block; font-size: 28px; margin-bottom: 24px; }
.occasion-grid h3 { margin-bottom: 8px; font-size: 20px; }
.occasion-grid p { color: var(--muted); font-size: 14px; line-height: 1.55; }
.trust-section { padding: 34px 0; background: var(--lime); color: var(--ink); }
.trust-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.trust-grid div { display: flex; align-items: baseline; gap: 10px; justify-content: center; }
.trust-grid strong { font-family: 'Outfit', sans-serif; font-size: 27px; }
.trust-grid span { font-size: 13px; font-weight: 700; color: rgba(19,19,39,.68); }
@media (max-width: 900px) {
  .private-events-grid { grid-template-columns: 1fr; gap: 45px; }
  .trust-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .occasion-grid { grid-template-columns: 1fr; }
  .occasion-grid article { min-height: auto; }
  .trust-grid { grid-template-columns: 1fr; gap: 12px; }
  .trust-grid div { justify-content: flex-start; }
}


/* Phase 4 — Quiz pack storefront and About Sammy */
.pack-toolbar { margin: 34px 0 30px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.dark-filter { color: #38354e; border-color: #d8d2e7; background: white; }
.dark-filter.active { color: white; background: var(--navy); border-color: var(--navy); }
.launch-pill { padding: 9px 13px; border-radius: 999px; background: #ecffe0; color: #315a19; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }
.shop-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.shop-card { min-width: 0; overflow: hidden; border: 1px solid #e3deec; border-radius: 24px; background: white; box-shadow: 0 14px 35px rgba(25,20,52,.07); transition: transform .25s ease, box-shadow .25s ease; }
.shop-card:hover { transform: translateY(-5px); box-shadow: 0 25px 55px rgba(25,20,52,.13); }
.shop-card.is-hidden { display: none; }
.shop-cover { min-height: 235px; padding: 26px; display: flex; flex-direction: column; justify-content: space-between; color: white; position: relative; overflow: hidden; }
.shop-cover::after { content: "?"; position: absolute; right: -18px; bottom: -66px; font: 800 220px/1 "Outfit",sans-serif; color: rgba(255,255,255,.09); }
.cover-purple { background: linear-gradient(145deg,#704ce7,#33206f); }
.cover-cyan { background: linear-gradient(145deg,#00a9bb,#075b75); }
.cover-lime { background: linear-gradient(145deg,#8abf24,#365d16); }
.cover-kicker { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .16em; opacity: .8; }
.shop-cover strong { position: relative; z-index: 1; font: 800 35px/1.02 "Outfit",sans-serif; letter-spacing: -.03em; }
.shop-cover small { font-weight: 700; opacity: .8; }
.shop-card-body { padding: 25px; }
.shop-meta { display: flex; gap: 8px; margin-bottom: 16px; }
.shop-meta span { padding: 6px 9px; border-radius: 999px; background: #f0edf7; color: #5e5571; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.shop-card h3 { margin: 0 0 10px; font-size: 23px; }
.shop-card p { min-height: 72px; color: #6e687d; font-size: 14px; }
.shop-actions { margin-top: 22px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.shop-actions > a { font-weight: 800; font-size: 13px; color: #6041c7; }
.button.compact { min-height: 43px; padding: 0 16px; font-size: 13px; }
.pack-promise { margin-top: 32px; padding: 28px; border-radius: 20px; display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; background: #f0edf8; }
.pack-promise div { display: flex; flex-direction: column; gap: 5px; }
.pack-promise strong { font-size: 14px; }
.pack-promise span { color: #716b7d; font-size: 12px; line-height: 1.5; }
.about-section { background: var(--navy); color: white; }
.about-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: center; }
.host-stage { min-height: 470px; border-radius: 30px; padding: 48px; display: flex; flex-direction: column; justify-content: flex-end; position: relative; overflow: hidden; background: linear-gradient(160deg,#34286b,#15142b 65%); box-shadow: 0 35px 70px rgba(0,0,0,.25); }
.host-stage::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 50% 26%,rgba(216,255,87,.20),transparent 36%); }
.stage-light { position:absolute; top:-100px; width:170px; height:500px; background:linear-gradient(to bottom,rgba(255,255,255,.28),transparent); filter:blur(12px); transform:rotate(18deg); }
.light-one { left:35px; } .light-two { right:30px; transform:rotate(-18deg); }
.mic { position:relative; z-index:2; width:76px; height:76px; margin-bottom:34px; border-radius:22px; display:grid; place-items:center; font-size:37px; background:var(--lime); box-shadow:0 18px 45px rgba(216,255,87,.22); }
.host-stage strong { position:relative; z-index:2; font:800 43px/1.04 "Outfit",sans-serif; letter-spacing:-.035em; }
.host-stage small { position:relative; z-index:2; margin-top:18px; color:rgba(255,255,255,.55); }
.about-copy > p:not(.eyebrow) { color:rgba(255,255,255,.66); font-size:17px; }
.about-stats { margin:32px 0; display:flex; gap:35px; }
.about-stats div { display:flex; flex-direction:column; }
.about-stats strong { color:var(--lime); font:800 25px "Outfit",sans-serif; }
.about-stats span { color:rgba(255,255,255,.5); font-size:11px; }
.pack-dialog { width:min(880px,calc(100% - 32px)); padding:0; border:0; border-radius:28px; overflow:hidden; box-shadow:0 40px 100px rgba(0,0,0,.35); grid-template-columns:.75fr 1.25fr; }
.pack-dialog[open] { display:grid; }
.pack-dialog::backdrop { background:rgba(12,11,27,.74); backdrop-filter:blur(6px); }
.dialog-close { position:absolute; top:15px; right:17px; z-index:3; width:38px; height:38px; border:0; border-radius:50%; background:rgba(255,255,255,.92); font-size:25px; cursor:pointer; }
.dialog-cover { min-height:470px; background:linear-gradient(145deg,#704ce7,#33206f); position:relative; }
.dialog-cover::after { content:"?"; position:absolute; right:10px; bottom:-50px; color:rgba(255,255,255,.1); font:800 280px/1 "Outfit",sans-serif; }
.dialog-content { padding:50px; }
.dialog-content h2 { font-size:40px; margin:10px 0 16px; }
.dialog-content > p { color:#716b7c; }
.dialog-includes { margin:25px 0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.dialog-includes span { padding:12px; border-radius:11px; background:#f2eff8; font-size:13px; font-weight:700; }
.dialog-note { margin:25px 0; padding:17px; border-radius:13px; display:flex; flex-direction:column; gap:4px; background:#ecffe0; }
.dialog-note span { color:#56703e; font-size:12px; }
@media (max-width:900px){.shop-grid{grid-template-columns:1fr 1fr}.pack-promise,.about-grid{grid-template-columns:1fr}.about-grid{gap:45px}.host-stage{min-height:390px}.pack-dialog[open]{grid-template-columns:1fr}.dialog-cover{display:none}}
@media (max-width:600px){.pack-toolbar{align-items:flex-start;flex-direction:column}.shop-grid{grid-template-columns:1fr}.pack-promise{gap:18px}.about-stats{gap:18px;flex-wrap:wrap}.host-stage{padding:30px;min-height:340px}.host-stage strong{font-size:35px}.dialog-content{padding:42px 22px 25px}.dialog-includes{grid-template-columns:1fr}}


/* Phase 5 — Contact hub and FAQs */
.contact-hub-section { background: #111025; color: white; }
.contact-route-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:36px; }
.contact-route { min-width:0; padding:28px; border:1px solid rgba(255,255,255,.11); border-radius:22px; background:rgba(255,255,255,.055); transition:transform .25s ease,border-color .25s ease,background .25s ease; }
.contact-route:hover { transform:translateY(-5px); border-color:rgba(216,255,87,.45); background:rgba(255,255,255,.085); }
.contact-route.featured-route { background:linear-gradient(150deg,rgba(103,72,225,.34),rgba(255,255,255,.06)); border-color:rgba(157,135,255,.45); }
.contact-icon { width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:rgba(255,255,255,.09);font-size:23px;margin-bottom:24px; }
.route-label { margin:0 0 9px!important;color:var(--lime)!important;text-transform:uppercase;letter-spacing:.12em;font-size:10px!important;font-weight:800; }
.contact-route h3 { margin:0 0 10px;font-size:23px; }
.contact-route > p:not(.route-label) { min-height:64px;color:rgba(255,255,255,.6);font-size:14px; }
.contact-route a { display:block;margin-top:22px;color:white;font-size:12px;font-weight:800;overflow-wrap:anywhere; }
.contact-route a span { color:var(--lime); }
.response-promise { margin-top:24px;padding:17px 20px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-radius:15px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.56);font-size:13px; }
.response-promise strong { color:white; }
.faq-grid { display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;align-items:start; }
.faq-intro { position:sticky;top:120px; }
.faq-intro > p:not(.eyebrow) { color:#716b7d; }
.dark-button { color:var(--navy);border-color:#d8d2e7;margin-top:20px; }
.accordion { display:grid;gap:12px; }
.accordion details { border:1px solid #ded8e8;border-radius:17px;background:white;overflow:hidden; }
.accordion summary { padding:22px 24px;display:flex;justify-content:space-between;gap:20px;align-items:center;cursor:pointer;list-style:none;font-weight:800;color:#211e35; }
.accordion summary::-webkit-details-marker { display:none; }
.accordion summary span { flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#f0edf7;color:#6447cf;font-size:20px;transition:transform .2s ease; }
.accordion details[open] summary span { transform:rotate(45deg); }
.accordion details p { margin:0;padding:0 24px 24px;color:#6e687d;font-size:14px;line-height:1.7; }
@media (max-width:1050px){.contact-route-grid{grid-template-columns:repeat(2,1fr)}.faq-grid{grid-template-columns:1fr;gap:35px}.faq-intro{position:static}}
@media (max-width:650px){.contact-route-grid{grid-template-columns:1fr}.contact-route>p:not(.route-label){min-height:0}.response-promise{align-items:flex-start}.accordion summary{padding:19px}.accordion details p{padding:0 19px 20px}}

/* Phase 6 — Digital Quiz Shop */
.shop-section{background:#f8f6fc}.shop-controls{margin:0 0 28px}.shop-search{height:58px;padding:0 20px;margin-bottom:18px;border:1px solid #ddd6ea;border-radius:18px;background:#fff;display:flex;align-items:center;gap:12px;box-shadow:0 10px 30px rgba(30,22,65,.06)}.shop-search span{font-size:25px}.shop-search input{width:100%;border:0;outline:0;font:600 16px 'DM Sans',sans-serif;color:#232038}.shop-filter-row{display:flex;gap:9px;flex-wrap:wrap}.shop-filter{border:1px solid #d9d1e8;background:#fff;color:#4b4560;border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer}.shop-filter.active{background:var(--navy);border-color:var(--navy);color:#fff}.shop-feature-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:30px 0}.shop-feature-strip a{padding:18px;border-radius:18px;background:#fff;border:1px solid #e4dfec;display:grid;grid-template-columns:auto 1fr;column-gap:12px;text-decoration:none}.shop-feature-strip span{grid-row:1/3;font-size:25px}.shop-feature-strip strong{font-size:14px;color:#242039}.shop-feature-strip small{font-size:11px;color:#777083}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.product-card{overflow:hidden;border:1px solid #e3deec;border-radius:24px;background:#fff;box-shadow:0 14px 35px rgba(25,20,52,.07);transition:.25s}.product-card:hover{transform:translateY(-5px);box-shadow:0 25px 55px rgba(25,20,52,.13)}.product-card.is-hidden{display:none}.product-cover{min-height:250px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;position:relative;overflow:hidden}.product-cover:after{content:'?';position:absolute;right:-16px;bottom:-70px;font:800 225px/1 'Outfit';color:rgba(255,255,255,.09)}.product-cover strong{z-index:1;font:800 36px/1.02 'Outfit';letter-spacing:-.03em}.product-ribbon{position:absolute;right:16px;top:16px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.93);color:#312850;font-size:10px;font-weight:900;text-transform:uppercase}.cover-pink{background:linear-gradient(145deg,#db4d91,#742252)}.cover-green{background:linear-gradient(145deg,#18a16d,#155340)}.cover-red{background:linear-gradient(145deg,#dd4747,#761d2a)}.cover-orange{background:linear-gradient(145deg,#ef983c,#8f3f18)}.product-body{padding:25px}.product-badges{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.product-badges span{padding:6px 8px;border-radius:999px;background:#f0edf7;color:#5e5571;font-size:9px;font-weight:900;text-transform:uppercase}.product-body h3{margin:0 0 9px;font-size:23px}.product-body p{min-height:66px;color:#6e687d;font-size:14px}.product-price{display:flex;justify-content:space-between;align-items:end;margin-top:20px}.product-price strong{font:800 25px 'Outfit';color:#231e3d}.product-price span{font-size:11px;color:#858091}.product-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px}.text-button{border:0;background:none;color:#6041c7;font-weight:900;cursor:pointer}.shop-empty{text-align:center;padding:40px;color:#777}.bundle-section{background:var(--navy);color:#fff}.bundle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.bundle-card{padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(255,255,255,.06);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px}.bundle-card>span{font-size:34px}.bundle-card small{color:var(--lime);font-weight:900}.bundle-card h3{margin:4px 0}.bundle-card p{margin:0;color:rgba(255,255,255,.58)}.bundle-card>strong{font:800 22px 'Outfit'}.bundle-card button{grid-column:2/4;justify-self:start;border:0;background:none;color:var(--lime);font-weight:900;cursor:pointer}.free-quiz-card{border-radius:30px;padding:45px;background:linear-gradient(135deg,#fff,#efe9fb);display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:50px;box-shadow:0 24px 60px rgba(28,20,57,.1)}.free-quiz-form{display:flex;gap:10px;flex-wrap:wrap}.free-quiz-form input{min-height:52px;flex:1;min-width:220px;padding:0 16px;border:1px solid #d8d0e5;border-radius:12px}.free-quiz-form span{width:100%;font-size:13px;color:#4f7840}.free-quiz-preview{min-height:270px;padding:30px;border-radius:24px;background:linear-gradient(145deg,#704ce7,#33206f);color:#fff;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 24px 50px rgba(62,39,134,.25)}.free-quiz-preview span{align-self:flex-start;padding:6px 9px;border-radius:999px;background:var(--lime);color:#283010;font-weight:900}.free-quiz-preview strong{font:800 34px/1.04 'Outfit'}.studio-section{background:#101022;color:#fff}.studio-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}.studio-copy>p:not(.eyebrow){color:rgba(255,255,255,.65)}.studio-features{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0;list-style:none;margin:28px 0}.studio-features li:before{content:'✓';color:var(--lime);margin-right:8px;font-weight:900}.studio-actions{display:flex;gap:12px;flex-wrap:wrap}.licence-options{display:flex;gap:18px;margin-top:16px;font-size:12px;color:rgba(255,255,255,.6)}.licence-options a{color:var(--lime)}.software-window{border-radius:20px;overflow:hidden;background:#e8e9ef;box-shadow:0 35px 90px rgba(0,0,0,.45);color:#242337}.window-bar{height:40px;background:#29273b;color:#fff;display:flex;align-items:center;gap:7px;padding:0 14px}.window-bar i{width:9px;height:9px;border-radius:50%;background:#8b8999}.window-bar span{margin-left:8px;font-size:11px}.window-layout{display:grid;grid-template-columns:150px 1fr;min-height:330px}.window-layout aside{padding:22px 14px;background:#1b1930;color:#aaa6ba;display:flex;flex-direction:column;gap:18px;font-size:11px}.window-layout aside b{color:var(--lime)}.window-layout main{padding:42px 30px}.window-layout main small{color:#716a86;font-weight:900}.window-layout main h3{font-size:28px;margin:7px 0 25px}.software-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.software-cards span{padding:18px 12px;border-radius:12px;background:#fff;box-shadow:0 8px 18px rgba(30,28,50,.08);font-size:11px;font-weight:800}.account-section{background:#efecf6;color:#242038}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.button-dark{background:var(--navy);color:#fff}.account-panel{padding:25px;border-radius:24px;background:#fff;box-shadow:0 25px 60px rgba(30,22,65,.12)}.account-head{display:flex;align-items:center;gap:14px;padding-bottom:20px;border-bottom:1px solid #eee9f5}.account-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--lime);font-weight:900}.account-head div{display:flex;flex-direction:column}.account-head small{color:#888293}.account-links{display:grid;gap:10px;margin-top:18px}.account-links span{padding:15px;border-radius:12px;background:#f7f5fb;display:flex;justify-content:space-between}.account-links b{color:#6847cc}.phase-toast{position:fixed;right:20px;bottom:20px;z-index:99;max-width:340px;padding:16px 20px;border-radius:15px;background:#211d39;color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.3);transform:translateY(120px);opacity:0;transition:.3s}.phase-toast.show{transform:none;opacity:1}
@media(max-width:900px){.shop-feature-strip,.product-grid{grid-template-columns:repeat(2,1fr)}.studio-grid,.account-grid,.free-quiz-card{grid-template-columns:1fr}.bundle-grid{grid-template-columns:1fr}.free-quiz-preview{max-width:420px}.window-layout{grid-template-columns:120px 1fr}}
@media(max-width:620px){.shop-feature-strip,.product-grid{grid-template-columns:1fr}.shop-filter-row{flex-wrap:nowrap;overflow:auto;padding-bottom:8px}.shop-filter{white-space:nowrap}.bundle-card{grid-template-columns:auto 1fr}.bundle-card>strong{grid-column:2}.bundle-card button{grid-column:2}.studio-features{grid-template-columns:1fr}.software-window{display:none}.free-quiz-card{padding:28px}.account-grid{gap:35px}}
/* Phase 7 commerce demo */
.checkout-backdrop{position:fixed;inset:0;background:rgba(9,9,25,.72);display:none;place-items:center;padding:20px;z-index:1200}.checkout-backdrop.open{display:grid}.checkout-card{background:#fff;color:#131327;width:min(560px,100%);border-radius:24px;padding:28px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.checkout-card h2{margin:0 0 6px}.checkout-summary{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid #e8e4f2}.checkout-row{display:flex;gap:10px;margin:18px 0}.checkout-row input{flex:1;padding:13px;border:1px solid #d9d3e8;border-radius:10px}.checkout-total{display:flex;justify-content:space-between;font-size:20px;font-weight:800;margin:18px 0}.checkout-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkout-close{float:right;border:0;background:#f0edf6;border-radius:50%;width:36px;height:36px;cursor:pointer}.secure-note{font-size:12px;color:#716b7d;margin-top:14px}.admin-link-card{border:1px solid #ded8ec;border-radius:16px;padding:16px;margin-top:16px;background:#faf9fd}


/* Phase 8 — daily quiz, basket and customer account */
.nav-account,.nav-cart{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer;padding:10px 8px}.nav-cart span{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#f0b73f;color:#171326;margin-left:4px}.daily-section{background:linear-gradient(135deg,#17142f,#392375);color:#fff;overflow:hidden}.daily-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:46px;align-items:center}.daily-copy h2{font-size:clamp(2.3rem,5vw,4rem);margin:.2em 0}.daily-copy>p{color:#ddd7ef;max-width:620px}.daily-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}.daily-meta{display:flex;gap:10px;flex-wrap:wrap}.daily-meta span{padding:8px 12px;border:1px solid #ffffff2d;border-radius:999px;color:#eee9ff;font-size:.88rem}.daily-player{background:#fff;color:#171326;border-radius:26px;padding:22px;box-shadow:0 26px 70px #09061780}.daily-player-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ece8f4;padding-bottom:15px}.daily-player-head span{font-size:.78rem;font-weight:800;color:#7257c8}.daily-question{padding:28px 4px 8px}.daily-question small{color:#756e84}.daily-question h3{font-size:1.6rem;line-height:1.25}.daily-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.daily-options button{border:1px solid #ded7eb;background:#f8f6fc;border-radius:14px;padding:15px;text-align:left;font:inherit;font-weight:700;cursor:pointer}.daily-options button:hover{border-color:#765be1;background:#f0ebff}.daily-result{padding:18px;border-radius:14px;background:#f2edff;margin-top:15px;font-weight:700}.phase8-backdrop{position:fixed;inset:0;background:#0d0a1caa;z-index:999;display:grid;place-items:center;padding:20px}.phase8-backdrop[hidden]{display:none}.side-panel{position:absolute;right:0;top:0;height:100%;width:min(440px,100%);background:#fff;padding:34px;overflow:auto;box-shadow:-20px 0 60px #0003}.panel-close{position:absolute;right:20px;top:15px;border:0;background:none;font-size:2rem;cursor:pointer}.cart-items{display:grid;gap:12px;margin:24px 0}.cart-item{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border-bottom:1px solid #eee8f4;padding:12px 0}.cart-item small{display:block;color:#70697a}.cart-item button{border:0;background:none;font-size:1.2rem;cursor:pointer}.cart-summary{display:flex;justify-content:space-between;font-size:1.25rem;padding:20px 0}.wide{width:100%;justify-content:center;margin-top:10px}.account-modal{position:relative;width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:24px;padding:34px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f3eff8;border-radius:12px;padding:4px;margin:20px 0}.auth-tabs button{border:0;background:none;padding:11px;border-radius:9px;font-weight:800}.auth-tabs button.active{background:#fff;box-shadow:0 4px 12px #1a123015}.account-modal form{display:grid;gap:14px}.account-modal label{font-weight:700}.account-modal input{width:100%;padding:13px;border:1px solid #dcd4e8;border-radius:10px;margin-top:6px;font:inherit}.account-welcome{display:flex;align-items:center;gap:14px}.account-welcome .text-button{margin-left:auto}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0}.dashboard-grid article{background:#f5f1fb;border-radius:14px;padding:18px}.dashboard-grid strong{display:block;font-size:1.6rem}.dashboard-grid span{color:#6e6679;font-size:.86rem}.library-item{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #eee8f4;padding:14px 0}.library-item button{border:0;background:#2d2454;color:#fff;border-radius:9px;padding:8px 11px}.account-avatar{display:grid;place-items:center}.phase-toast{z-index:1200}@media(max-width:850px){.daily-grid{grid-template-columns:1fr}.daily-options{grid-template-columns:1fr}.nav-account,.nav-cart{width:100%;text-align:left}.dashboard-grid{grid-template-columns:1fr}.side-panel,.account-modal{padding:28px 20px}}

.phase10-checkout label{display:grid;gap:6px;margin:10px 0;font-weight:700}.phase10-checkout label input{padding:12px;border:1px solid #ddd5ea;border-radius:10px;font:inherit}.checkout-step{border-top:1px solid #eee7f5;padding-top:16px;margin-top:16px}.checkout-line{display:flex;justify-content:space-between;padding:8px 0}.phase10-checkout{max-height:90vh;overflow:auto}
/* Phase 11 launch-candidate additions */
.cookie-banner{position:fixed;z-index:9999;left:18px;right:18px;bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:22px;background:#fff;color:#211b34;padding:18px 20px;border:1px solid #e3dcef;border-radius:18px;box-shadow:0 20px 60px #08061555}.cookie-banner p{margin:.25rem 0 0;max-width:720px}.cookie-banner>div:last-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cookie-banner a{font-weight:700;color:#5c43b2}.launch-toast{position:fixed;z-index:10000;right:20px;bottom:20px;background:#211b34;color:#fff;padding:13px 17px;border-radius:12px;box-shadow:0 12px 35px #0005;font-weight:700}.footer-bottom div{display:flex;gap:14px;flex-wrap:wrap}@media(max-width:760px){.cookie-banner{align-items:flex-start;flex-direction:column}.cookie-banner>div:last-child{width:100%}}

/* Version 1.0 release banner */
.launch-strip{display:inline-flex;gap:.65rem;align-items:center;flex-wrap:wrap;margin:.7rem 0 1rem;padding:.7rem 1rem;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);font-size:.9rem}.launch-strip strong{white-space:nowrap}.launch-strip span{opacity:.9}
@media(max-width:680px){.launch-strip{border-radius:18px;align-items:flex-start}}


/* v1.0.1 launch polish */
.main-nav a.is-active{color:var(--lime);position:relative}.main-nav a.is-active:after{content:"";position:absolute;left:8px;right:8px;bottom:2px;height:2px;border-radius:2px;background:var(--lime)}
.back-to-top{position:fixed;right:22px;bottom:22px;z-index:900;width:48px;height:48px;border:0;border-radius:50%;background:var(--lime);color:#171326;font-size:24px;font-weight:900;box-shadow:0 14px 35px rgba(0,0,0,.22);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:.25s}.back-to-top.show{opacity:1;visibility:visible;transform:none}.back-to-top:focus-visible{outline:3px solid #fff;outline-offset:3px}
body.panel-open{overflow:hidden}.daily-player-head span{text-transform:uppercase;letter-spacing:.05em}.button:focus-visible,.text-button:focus-visible,.shop-filter:focus-visible,.filter-button:focus-visible{outline:3px solid #9d87ff;outline-offset:3px}
@media(max-width:760px){.back-to-top{right:14px;bottom:14px;width:44px;height:44px}.main-nav a.is-active:after{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.reveal,.back-to-top,.product-card,.contact-route{transition:none!important;animation:none!important}}

/* v1.0.2 production readiness */
.service-status-section{background:#f4f1f8;color:#242038}.service-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-status-grid article{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;padding:22px;border:1px solid #ded7e9;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(31,22,58,.06)}.service-status-grid article:first-child{grid-column:1/-1}.service-status-grid h3{margin:.18rem 0 .35rem}.service-status-grid p{margin:0;color:#696174}.service-status-grid small{text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#776b8c}.service-status-grid strong{padding:6px 10px;border-radius:999px;font-size:.78rem;background:#fff1cf;color:#71520a}.service-dot{width:12px;height:12px;border-radius:50%;margin-top:7px;background:#e4ad34;box-shadow:0 0 0 5px #f8edcf}.service-status-grid article[data-state="ready"] .service-dot,.service-status-grid article[data-state="live"] .service-dot{background:#50a96a;box-shadow:0 0 0 5px #dff2e4}.service-status-grid article[data-state="ready"] strong,.service-status-grid article[data-state="live"] strong{background:#e0f4e5;color:#216b35}.service-status-grid article[data-state="maintenance"] .service-dot{background:#d66969;box-shadow:0 0 0 5px #f7dddd}.service-status-grid article[data-state="maintenance"] strong{background:#f7dddd;color:#8a2929}.status-owner-note{margin-top:18px;padding:14px 16px;border-left:4px solid #765be1;background:#fff;border-radius:0 12px 12px 0;color:#5f566b}.status-owner-note code{font-weight:800}.status-page-main{min-height:70vh;padding:120px 0 70px;background:#f4f1f8}.status-page-card{max-width:900px;margin:auto;background:#fff;border-radius:24px;padding:34px;box-shadow:0 20px 55px rgba(31,22,58,.1)}
@media(max-width:760px){.service-status-grid{grid-template-columns:1fr}.service-status-grid article:first-child{grid-column:auto}.service-status-grid article{grid-template-columns:auto 1fr}.service-status-grid article>strong{grid-column:2;justify-self:start}.status-page-card{padding:24px}}
