/* ============================================
   Coin Rush Slot — Main Stylesheet
   Mobile-First, Responsive Design
   ============================================ */

/* === CSS Variables === */
:root {
  --bg: #141829;
  --bg-card: #1c2137;
  --bg-hover: #242a45;
  --text: #e8e8ec;
  --text-muted: #8a8fa3;
  --primary: #d4a846;
  --primary-hover: #e0b84e;
  --accent: #7ec8d9;
  --accent-green: #4ade80;
  --danger: #ef4444;
  --border: #2a3050;
  --radius: 12px;
  --radius-sm: 8px;
  --shadow: 0 4px 24px rgba(0,0,0,.35);
  --transition: .25s ease;
  --max-width: 1200px;
  --header-h: 64px;
}

/* === Reset === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.7;min-height:100vh;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--primary)}
ul,ol{list-style:none}
button{cursor:pointer;font:inherit;border:none;background:none}
table{border-collapse:collapse;width:100%}

/* === Skip Link (a11y) === */
.skip-link{position:absolute;top:-100%;left:16px;background:var(--primary);color:var(--bg);padding:8px 16px;border-radius:var(--radius-sm);z-index:9999;font-weight:600}
.skip-link:focus{top:8px}

/* === Container === */
.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 16px}

/* ============================================
   HEADER
   ============================================ */
.header{position:sticky;top:0;z-index:1000;background:rgba(20,24,41,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);height:var(--header-h)}
.header .container{display:flex;align-items:center;justify-content:space-between;height:100%}
.header__logo{display:flex;align-items:center;gap:8px;min-height:44px;font-size:1.15rem;font-weight:700;color:var(--text);white-space:nowrap}
.header__logo img{height:36px;width:auto}
.header__logo span{color:var(--primary)}

/* Desktop Nav */
.nav{display:none;gap:4px}
.nav a{padding:8px 14px;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;color:var(--text-muted);transition:background var(--transition),color var(--transition)}
.nav a:hover,.nav a.active{color:var(--text);background:var(--bg-hover)}

/* CTA Button */
.btn-cta{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;background:var(--primary);color:var(--bg);padding:10px 22px;border-radius:var(--radius-sm);font-weight:700;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px;transition:background var(--transition),transform var(--transition)}
.btn-cta:hover{background:var(--primary-hover);color:var(--bg);transform:translateY(-1px)}
.btn-cta svg{width:16px;height:16px;fill:currentColor}
.header__cta{display:none}

/* Mobile CTA (always visible) */
.header__cta-mobile{display:flex}
.header__cta-mobile .btn-cta{padding:10px 16px;font-size:.85rem}

/* Burger */
.burger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;padding:0;z-index:1001}
.burger span{display:block;width:24px;height:2px;background:var(--text);border-radius:2px;transition:transform var(--transition),opacity var(--transition)}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobile Menu */
.mobile-menu{position:fixed;top:var(--header-h);left:0;right:0;bottom:0;background:rgba(20,24,41,.98);backdrop-filter:blur(16px);display:flex;flex-direction:column;padding:24px 16px;gap:4px;transform:translateX(100%);transition:transform .3s ease;z-index:999;overflow-y:auto}
.mobile-menu.open{transform:translateX(0)}
.mobile-menu a{display:block;padding:14px 16px;border-radius:var(--radius-sm);font-size:1.1rem;font-weight:500;color:var(--text-muted)}
.mobile-menu a:hover,.mobile-menu a.active{color:var(--text);background:var(--bg-hover)}
.mobile-menu .btn-cta{margin-top:16px;text-align:center;justify-content:center}

/* Sticky Bottom CTA (mobile only) */
.sticky-cta{position:fixed;bottom:0;left:0;right:0;background:rgba(20,24,41,.97);backdrop-filter:blur(12px);border-top:1px solid var(--border);padding:10px 16px;display:none;align-items:center;justify-content:space-between;z-index:998;transform:translateY(100%);transition:transform .3s ease}
.sticky-cta.visible{transform:translateY(0)}
.sticky-cta__text{font-size:.85rem;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}
.sticky-cta__text svg{width:20px;height:20px;fill:var(--primary)}
.sticky-cta .btn-cta{padding:8px 18px;font-size:.85rem}

/* ============================================
   HERO
   ============================================ */
.hero{padding:48px 0 40px;text-align:center}
.hero__badge{display:inline-block;background:var(--bg-card);border:1px solid var(--border);padding:6px 16px;border-radius:20px;font-size:.8rem;color:var(--text-muted);margin-bottom:16px}
.hero h1{font-size:1.8rem;line-height:1.25;margin-bottom:12px;color:var(--text);overflow-wrap:break-word;letter-spacing:0;font-stretch:normal;text-wrap:balance}
.hero h1 span{color:var(--primary)}
.hero__subtitle{font-size:1rem;color:var(--text-muted);max-width:640px;margin:0 auto 24px;line-height:1.6}
.hero__image{max-width:360px;margin:0 auto 28px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.hero__image img{width:100%;border-radius:var(--radius)}
.hero__image video{width:100%;display:block;border-radius:var(--radius);background:#050711}
.hero__image.hero__image--compact{max-width:min(92vw,348px)}
.hero__image--compact img{object-fit:contain;background:#050711}
.hero__image--phone{max-width:min(74vw,260px);padding:10px;background:linear-gradient(180deg,#080b15,#151a2d);border:1px solid rgba(212,168,70,.32)}
.hero__image--phone img{max-height:520px;object-fit:contain;border-radius:var(--radius-sm)}

/* Quick Stats */
.quick-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:520px;margin:0 auto 28px}
.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 12px;text-align:center}
.stat-card__label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.stat-card__value{font-size:1.25rem;font-weight:700;color:var(--primary)}

/* Hero Buttons */
.hero__buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;background:transparent;color:var(--accent);border:2px solid var(--accent);padding:10px 22px;border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;transition:background var(--transition),color var(--transition)}
.btn-secondary:hover{background:var(--accent);color:var(--bg)}

/* Launch Hero */
.hero--launch{position:relative;isolation:isolate;overflow:hidden;display:block;min-height:0;padding:18px 0 20px;text-align:center;background:linear-gradient(180deg,rgba(126,200,217,.08),rgba(20,24,41,0) 34%),linear-gradient(135deg,rgba(212,168,70,.07),rgba(20,24,41,0) 48%)}
.hero--launch::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(126,200,217,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(212,168,70,.06) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.75),rgba(0,0,0,.12));mask-image:linear-gradient(180deg,rgba(0,0,0,.75),rgba(0,0,0,.12));animation:grid-drift 18s linear infinite}
.hero--launch::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(212,168,70,.65),transparent)}
.hero--launch .container{position:relative;z-index:1;display:grid;gap:12px;align-items:start}
.hero--launch .hero__badge{margin-bottom:0;animation:hero-rise .55s ease-out both}
.hero--launch h1{max-width:620px;margin:0 auto;font-size:2.1rem;line-height:1.05;text-shadow:0 12px 34px rgba(0,0,0,.35);animation:hero-rise .65s ease-out .08s both}
.hero--launch h1 span{display:inline-block;background:linear-gradient(90deg,var(--primary),#fff2b8,var(--accent));background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:title-shine 4.5s ease-in-out infinite}
.hero--launch .hero__subtitle{max-width:680px;margin:0 auto;color:#c7ccd9;animation:hero-rise .65s ease-out .16s both}
.hero--launch .hero__image{position:relative;width:100%;max-width:min(90vw,520px);aspect-ratio:16/9;margin:2px auto;border:1px solid rgba(212,168,70,.38);border-radius:var(--radius-sm);background:#050711;box-shadow:0 24px 70px rgba(0,0,0,.48),0 0 36px rgba(212,168,70,.14);animation:hero-media-in .75s ease-out .22s both,hero-float 6s ease-in-out 1s infinite}
.hero--launch .hero__image::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),inset 0 0 48px rgba(126,200,217,.13)}
.hero--launch .hero__image::after{content:"";position:absolute;inset:-35% -70%;z-index:3;pointer-events:none;background:linear-gradient(110deg,transparent 34%,rgba(255,255,255,.2) 45%,rgba(212,168,70,.25) 48%,transparent 60%);transform:translateX(-42%);animation:hero-scan 4.8s ease-in-out 1.2s infinite}
.hero--launch .hero__image video{height:100%;object-fit:cover;object-position:center;transform:scale(1.045);border-radius:var(--radius-sm)}
.hero--launch .quick-stats{margin:0 auto 4px;gap:8px;max-width:720px;animation:hero-rise .65s ease-out .3s both}
.hero--launch .stat-card{padding:9px 10px;background:rgba(28,33,55,.82);backdrop-filter:blur(10px);box-shadow:0 12px 28px rgba(0,0,0,.18)}
.hero--launch .stat-card__value{font-size:1.12rem}
.hero--launch .hero__buttons{margin-top:2px;animation:hero-rise .65s ease-out .38s both}
.hero--launch .btn-cta{box-shadow:0 0 0 rgba(212,168,70,0);animation:cta-pulse 2.8s ease-in-out 1.1s infinite}
.hero:not(.hero--launch){position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,rgba(126,200,217,.06),rgba(20,24,41,0) 36%),linear-gradient(135deg,rgba(212,168,70,.06),rgba(20,24,41,0) 50%)}
.hero:not(.hero--launch)::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(126,200,217,.07) 1px,transparent 1px),linear-gradient(0deg,rgba(212,168,70,.05) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.65),rgba(0,0,0,.08));mask-image:linear-gradient(180deg,rgba(0,0,0,.65),rgba(0,0,0,.08));animation:grid-drift 18s linear infinite}
.hero:not(.hero--launch)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(212,168,70,.5),transparent)}
.hero:not(.hero--launch) > .container > .hero__badge{animation:hero-rise .55s ease-out both}
.hero:not(.hero--launch) > .container > h1{animation:hero-rise .65s ease-out .08s both}
.hero:not(.hero--launch) > .container > h1 span{display:inline-block;background:linear-gradient(90deg,var(--primary),#fff2b8,var(--accent));background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:title-shine 4.5s ease-in-out infinite}
.hero:not(.hero--launch) > .container > .hero__subtitle{animation:hero-rise .65s ease-out .16s both}
.hero:not(.hero--launch) > .container > .hero__image{position:relative;width:100%;border:1px solid rgba(212,168,70,.34);border-radius:var(--radius-sm);background:#050711;box-shadow:0 24px 70px rgba(0,0,0,.42),0 0 32px rgba(212,168,70,.12);animation:hero-media-in .75s ease-out .22s both,hero-float 6s ease-in-out 1s infinite}
.hero:not(.hero--launch) > .container > .hero__image::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),inset 0 0 42px rgba(126,200,217,.12)}
.hero:not(.hero--launch) > .container > .hero__image::after{content:"";position:absolute;inset:-35% -70%;z-index:3;pointer-events:none;background:linear-gradient(110deg,transparent 34%,rgba(255,255,255,.18) 45%,rgba(212,168,70,.22) 48%,transparent 60%);transform:translateX(-42%);animation:hero-scan 5.2s ease-in-out 1.1s infinite}
.hero:not(.hero--launch) > .container > .hero__image img{display:block;border-radius:var(--radius-sm)}
.hero:not(.hero--launch) > .container > .quick-stats{animation:hero-rise .65s ease-out .3s both}
.hero:not(.hero--launch) > .container > .hero__buttons{animation:hero-rise .65s ease-out .38s both}

@keyframes hero-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-media-in{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes hero-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes hero-scan{0%,52%{transform:translateX(-42%)}70%,100%{transform:translateX(42%)}}
@keyframes title-shine{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes cta-pulse{0%,100%{box-shadow:0 0 0 rgba(212,168,70,0)}50%{box-shadow:0 0 24px rgba(212,168,70,.35)}}
@keyframes grid-drift{from{background-position:0 0,0 0}to{background-position:72px 72px,72px 72px}}

/* Quick Links Ticker */
.rush-ticker{position:relative;overflow:hidden;border-block:1px solid rgba(42,48,80,.9);background:linear-gradient(90deg,rgba(126,200,217,.08),rgba(212,168,70,.08),rgba(126,200,217,.08));white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 84%,transparent 100%)}
.rush-ticker::before,.rush-ticker::after{content:"";position:absolute;top:0;bottom:0;width:clamp(120px,18vw,220px);z-index:2;pointer-events:none}
.rush-ticker::before{left:0;background:linear-gradient(90deg,var(--bg),rgba(20,24,41,0))}
.rush-ticker::after{right:0;background:linear-gradient(270deg,var(--bg),rgba(20,24,41,0))}
.rush-ticker__track{display:inline-flex;align-items:center;gap:12px;padding:10px 0;min-width:max-content;animation:ticker-scroll 38s linear infinite}
.rush-ticker:hover .rush-ticker__track{animation-play-state:paused}
.rush-ticker a,.rush-ticker span{display:inline-flex;align-items:center;min-height:40px;padding:7px 14px;border:1px solid rgba(126,200,217,.22);border-radius:999px;background:rgba(28,33,55,.72);color:var(--text);font-size:.86rem;font-weight:700;line-height:1;box-shadow:0 8px 18px rgba(0,0,0,.13)}
.rush-ticker a::before,.rush-ticker span::before{content:"";width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 12px rgba(212,168,70,.65)}
.rush-ticker a:hover{color:var(--bg);background:var(--primary);border-color:var(--primary)}
.rush-ticker a:hover::before{background:var(--bg);box-shadow:none}

@keyframes ticker-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Motion + Animated Data Blocks */
.motion-ready{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease,border-color var(--transition),background var(--transition),box-shadow var(--transition)}
.motion-ready.in-view{opacity:1;transform:translateY(0);transition-delay:calc(var(--reveal-index,0) * 70ms)}
.insight-grid{display:grid;grid-template-columns:1fr;gap:16px;margin:28px 0 30px}
.insight-card{position:relative;overflow:hidden;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;min-height:255px}
.insight-card::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--primary),var(--accent),transparent);transform:translateX(-100%);transition:transform .8s ease}
.insight-card.in-view::before{transform:translateX(0)}
.insight-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}
.info-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid rgba(126,200,217,.4);border-radius:50%;color:var(--accent);font-size:.78rem;font-weight:800;line-height:1;cursor:help}
.info-tip::after{content:attr(data-tip);position:absolute;right:0;bottom:calc(100% + 10px);z-index:5;width:min(230px,70vw);padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#0d1120;color:var(--text);box-shadow:var(--shadow);font-size:.78rem;font-weight:500;line-height:1.4;text-transform:none;letter-spacing:0;opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity var(--transition),transform var(--transition)}
.info-tip:hover::after,.info-tip:focus-visible::after{opacity:1;transform:translateY(0)}
.ring-chart-wrap{position:relative;width:172px;height:172px;margin:0 auto 18px}
.ring-chart{width:100%;height:100%;transform:rotate(-90deg);overflow:visible}
.ring-chart__bg,.ring-chart__value{fill:none;stroke-width:11;stroke-linecap:round}
.ring-chart__bg{stroke:var(--bg-hover)}
.ring-chart__value{stroke:var(--primary);stroke-dasharray:0 100;filter:drop-shadow(0 0 8px rgba(212,168,70,.42));transition:stroke-dasharray 1.25s cubic-bezier(.2,.75,.25,1)}
.insight-card.in-view .ring-chart__value{stroke-dasharray:var(--ring,0) 100}
.ring-chart__label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.ring-chart__label strong{font-size:1.75rem;color:var(--text);line-height:1}
.ring-chart__label span{font-size:.78rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:5px}
.stacked-bar{display:flex;height:10px;overflow:hidden;border-radius:999px;background:var(--bg-hover);border:1px solid rgba(255,255,255,.04)}
.stacked-bar__return,.stacked-bar__edge{display:block;width:0;transition:width 1.1s ease .2s}
.stacked-bar__return{background:linear-gradient(90deg,var(--accent),var(--primary))}
.stacked-bar__edge{background:rgba(239,68,68,.8)}
.insight-card.in-view .stacked-bar__return,.insight-card.in-view .stacked-bar__edge{width:calc(var(--bar,0) * 1%)}
.split-labels,.risk-scale{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px;font-size:.78rem;color:var(--text-muted)}
.split-labels span:last-child,.risk-scale strong{color:var(--primary)}
.risk-meter{position:relative;width:190px;height:106px;margin:14px auto 8px}
.risk-meter__arc{position:absolute;left:0;right:0;bottom:0;height:95px;border:12px solid var(--bg-hover);border-bottom:0;border-radius:190px 190px 0 0;background:linear-gradient(90deg,rgba(74,222,128,.15),rgba(212,168,70,.14),rgba(239,68,68,.14));box-shadow:inset 0 0 22px rgba(0,0,0,.2)}
.risk-meter__arc::before{content:"";position:absolute;left:18px;right:18px;bottom:0;height:70px;border-radius:140px 140px 0 0;border-top:8px solid transparent;background:linear-gradient(90deg,var(--accent-green),var(--primary),var(--danger));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:8px}
.risk-meter__needle{position:absolute;left:50%;bottom:4px;width:4px;height:78px;background:linear-gradient(180deg,var(--primary),#fff2b8);border-radius:999px;transform-origin:50% 100%;transform:translateX(-50%) rotate(-62deg);box-shadow:0 0 14px rgba(212,168,70,.38);transition:transform 1.25s cubic-bezier(.2,.75,.25,1) .2s}
.insight-card.in-view .risk-meter__needle{transform:translateX(-50%) rotate(var(--needle-target,62deg))}
.risk-meter__hub{position:absolute;left:50%;bottom:0;width:20px;height:20px;border-radius:50%;background:var(--primary);transform:translateX(-50%);box-shadow:0 0 0 7px rgba(212,168,70,.13)}
.insight-card p{font-size:.88rem;color:var(--text-muted);margin:10px 0 0}
.ceiling-chart{display:grid;gap:13px;margin:20px 0}
.ceiling-chart__bar{position:relative;display:flex;align-items:center;width:0;min-height:38px;padding-left:12px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--primary),rgba(212,168,70,.34));color:var(--bg);font-weight:800;overflow:hidden;transition:width 1.15s cubic-bezier(.2,.75,.25,1)}
.ceiling-chart__bar--mid{background:linear-gradient(90deg,var(--accent),rgba(126,200,217,.3))}
.ceiling-chart__bar--low{background:linear-gradient(90deg,var(--bg-hover),rgba(126,200,217,.18));color:var(--text)}
.insight-card.in-view .ceiling-chart__bar{width:calc(var(--bar,0) * 1%)}
.ceiling-chart__bar span{position:relative;z-index:1;white-space:nowrap;font-size:.88rem}
.ceiling-chart__bar::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent,rgba(255,255,255,.22),transparent);transform:translateX(-100%);animation:chart-shine 2.8s ease-in-out infinite}

.bonus-flow{position:relative;display:grid;grid-template-columns:1fr;gap:14px;margin:26px 0 24px}
.flow-step{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 16px 16px 58px;min-height:104px}
.flow-step:not(:last-child)::after{content:"";position:absolute;left:28px;top:100%;width:2px;height:14px;background:linear-gradient(180deg,var(--primary),var(--accent));box-shadow:0 0 12px rgba(126,200,217,.35)}
.flow-step__index{position:absolute;left:16px;top:17px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--primary);color:var(--bg);font-weight:800;box-shadow:0 0 0 0 rgba(212,168,70,.28);animation:flow-pulse 2.8s ease-in-out infinite}
.flow-step strong{display:block;color:var(--text);font-size:.98rem;margin-bottom:4px}
.flow-step small{display:block;color:var(--text-muted);font-size:.84rem;line-height:1.45}

@keyframes chart-shine{0%,45%{transform:translateX(-100%)}70%,100%{transform:translateX(100%)}}
@keyframes flow-pulse{0%,100%{box-shadow:0 0 0 0 rgba(212,168,70,.28)}50%{box-shadow:0 0 0 8px rgba(212,168,70,0)}}

/* ============================================
   SECTIONS
   ============================================ */
.section{padding:48px 0}
.section--alt{background:var(--bg-card)}
.section--toc{padding:28px 0 20px}
.section__header{text-align:center;margin-bottom:32px}
.section__header h2{font-size:1.5rem;margin-bottom:8px;color:var(--text)}
.section__header p{color:var(--text-muted);max-width:600px;margin:0 auto}

h2{font-size:1.4rem;margin-bottom:20px;color:var(--text);line-height:1.3}
h3{font-size:1.15rem;margin-bottom:12px;color:var(--text)}
h4{font-size:1rem;margin-bottom:8px;color:var(--text)}
p{margin-bottom:16px}

/* TOC */
.toc{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:32px}
.section--toc .toc{margin-bottom:0}
.toc h2{font-size:1.15rem;margin-bottom:16px;color:var(--primary)}
.toc ol{counter-reset:toc;padding-left:0;display:grid;grid-template-columns:1fr;gap:10px 22px}
.toc li{counter-increment:toc;margin-bottom:0;min-width:0}
.toc li::before{content:counter(toc) ". ";color:var(--primary);font-weight:600}
.toc a{display:inline-flex;align-items:center;min-height:34px;color:var(--accent);font-size:.95rem;line-height:1.35}
.toc a:hover{color:var(--primary)}

/* Spec Table */
.spec-table{overflow-x:auto;margin-bottom:24px}
.spec-table table{min-width:400px}
.spec-table th,.spec-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}
.spec-table th{background:var(--bg-hover);color:var(--text-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.spec-table td{font-size:.95rem}
.spec-table tr:hover td{background:var(--bg-hover)}

/* Casino Card */
.casino-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;max-width:600px;margin:0 auto 24px;position:relative}
.casino-card__badge{position:absolute;top:-12px;right:16px;background:var(--accent-green);color:var(--bg);font-size:.75rem;font-weight:700;padding:4px 12px;border-radius:12px;text-transform:uppercase}
.casino-card__header{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.casino-card__logo{width:80px;height:80px;object-fit:contain;background:var(--bg-hover);border-radius:var(--radius-sm);padding:8px}
.casino-card__info h3{margin-bottom:4px}
.casino-card__info p{font-size:.9rem;color:var(--text-muted);margin-bottom:0}
.casino-card__bonus{background:var(--bg-hover);border-radius:var(--radius-sm);padding:16px;margin-bottom:16px;text-align:center}
.casino-card__bonus .bonus-amount{font-size:1.5rem;font-weight:700;color:var(--primary);margin-bottom:4px}
.casino-card__bonus .bonus-terms{font-size:.8rem;color:var(--text-muted)}

/* Pros/Cons */
.pros-cons{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:16px}
.pros h4,.cons h4{font-size:.85rem;text-transform:uppercase;margin-bottom:8px}
.pros h4{color:var(--accent-green)}
.cons h4{color:var(--danger)}
.pros li,.cons li{padding:4px 0;font-size:.9rem;padding-left:20px;position:relative}
.pros li::before{content:"✓";position:absolute;left:0;color:var(--accent-green);font-weight:700}
.cons li::before{content:"✗";position:absolute;left:0;color:var(--danger);font-weight:700}

.affiliate-notice{font-size:.8rem;color:var(--text-muted);text-align:center;margin-top:12px;font-style:italic}

/* Steps */
.steps{display:grid;gap:16px;margin-bottom:24px}
.step{display:flex;gap:16px;align-items:flex-start;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px}
.step__number{flex-shrink:0;width:36px;height:36px;background:var(--primary);color:var(--bg);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem}
.step__content h3{font-size:1rem;margin-bottom:4px}
.step__content p{font-size:.9rem;color:var(--text-muted);margin-bottom:0}

/* Author Box */
.author-box{display:flex;gap:20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;align-items:flex-start;flex-wrap:wrap}
.author-box__photo{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--primary);flex-shrink:0}
.author-box__info{flex:1;min-width:200px}
.author-box__name{font-weight:700;font-size:1.1rem;margin-bottom:2px}
.author-box__title{font-size:.85rem;color:var(--text-muted);margin-bottom:8px}
.author-box__bio{font-size:.9rem;color:var(--text-muted);margin-bottom:12px}
.author-box__social{display:flex;gap:12px;flex-wrap:wrap}
.author-box__social a{font-size:.85rem;color:var(--accent);font-weight:500}
.author-box__social a:hover{color:var(--primary)}

/* Calculator */
.calculator{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;max-width:480px;margin:0 auto 24px}
.calculator label{display:block;font-size:.9rem;color:var(--text-muted);margin-bottom:6px}
.calculator input{width:100%;padding:10px 14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:1rem;margin-bottom:16px;transition:border-color var(--transition)}
.calculator input:focus{outline:2px solid rgba(212,168,70,.45);outline-offset:2px;border-color:var(--primary)}
.calculator__result{text-align:center;padding:16px;background:var(--bg-hover);border-radius:var(--radius-sm)}
.calculator__result .result-value{font-size:1.5rem;font-weight:700;color:var(--primary)}
.calculator__result .result-label{font-size:.8rem;color:var(--text-muted)}

/* Verdict / Rating */
.verdict{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px}
.verdict__score{text-align:center;margin-bottom:20px}
.verdict__score .score-value{font-size:3rem;font-weight:800;color:var(--primary)}
.verdict__score .score-max{font-size:1.2rem;color:var(--text-muted)}
.rating-bars{display:grid;gap:10px;margin-bottom:20px}
.rating-bar{display:flex;align-items:center;gap:12px}
.rating-bar__label{width:100px;font-size:.85rem;color:var(--text-muted);flex-shrink:0}
.rating-bar__track{flex:1;height:8px;background:var(--bg-hover);border-radius:4px;overflow:hidden}
.rating-bar__fill{height:100%;background:var(--primary);border-radius:4px;transition:width .6s ease}
.rating-bar__value{width:30px;font-size:.85rem;font-weight:600;text-align:right;flex-shrink:0}

/* FAQ */
.faq{margin-bottom:24px}
.faq-item{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;overflow:hidden}
.faq-item__question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-card);color:var(--text);font-weight:600;font-size:.95rem;text-align:left;cursor:pointer;transition:background var(--transition)}
.faq-item__question:hover{background:var(--bg-hover)}
.faq-item__question::after{content:"+";font-size:1.3rem;color:var(--primary);transition:transform var(--transition);flex-shrink:0;margin-left:12px}
.faq-item.active .faq-item__question::after{content:"−"}
.faq-item__answer{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease}
.faq-item.active .faq-item__answer{max-height:600px;padding:0 16px 16px}
.faq-item__answer p{font-size:.9rem;color:var(--text-muted);margin-bottom:8px}
.faq-item__answer p:last-child{margin-bottom:0}

/* Promo Code Box */
.promo-box{background:linear-gradient(135deg,var(--bg-card),var(--bg-hover));border:2px dashed var(--primary);border-radius:var(--radius);padding:24px;text-align:center;margin-bottom:24px}
.promo-box__code{font-size:1.8rem;font-weight:800;color:var(--primary);letter-spacing:3px;margin-bottom:12px;font-family:monospace}
.promo-box .btn-copy{background:var(--primary);color:var(--bg);padding:8px 20px;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;transition:background var(--transition)}
.promo-box .btn-copy:hover{background:var(--primary-hover)}
.promo-box .btn-copy.copied{background:var(--accent-green)}

/* Disclaimer Box */
.disclaimer-box{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-sm);padding:16px;margin-bottom:24px}
.disclaimer-box h3{color:var(--danger);font-size:1rem;margin-bottom:8px}
.disclaimer-box p{font-size:.9rem;color:var(--text-muted);margin-bottom:0}

/* Info Box */
.info-box{background:rgba(126,200,217,.08);border:1px solid rgba(126,200,217,.25);border-radius:var(--radius-sm);padding:16px;margin-bottom:24px}
.info-box p{font-size:.9rem;margin-bottom:0}

/* GEO / AEO Answer Blocks */
.answer-box{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(212,168,70,.12),rgba(126,200,217,.08));border:1px solid rgba(212,168,70,.34);border-radius:var(--radius);padding:18px 20px;margin:22px 0 26px;box-shadow:0 14px 34px rgba(0,0,0,.16)}
.answer-box::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--primary),var(--accent))}
.answer-box strong{color:var(--primary)}
.answer-box p{font-size:.95rem;color:var(--text);margin-bottom:8px}
.answer-box p:last-child{margin-bottom:0}
.direct-answer-grid{display:grid;grid-template-columns:1fr;gap:14px;margin:24px 0}
.direct-answer-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:18px;min-width:0}
.direct-answer-card h3{font-size:1rem;color:var(--primary);margin-bottom:8px}
.direct-answer-card p{font-size:.9rem;color:var(--text-muted);margin-bottom:0}
.entity-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0}
.entity-fact{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;min-width:0}
.entity-fact span{display:block;font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}
.entity-fact strong{display:block;color:var(--text);font-size:.98rem;line-height:1.3;overflow-wrap:anywhere}
.evidence-list{display:grid;grid-template-columns:1fr;gap:12px;margin:22px 0}
.evidence-item{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 16px 16px 42px}
.evidence-item::before{content:"";position:absolute;left:16px;top:21px;width:10px;height:10px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 6px rgba(212,168,70,.12)}
.evidence-item strong{display:block;color:var(--text);margin-bottom:4px}
.evidence-item p{font-size:.9rem;color:var(--text-muted);margin-bottom:0}
.glossary-grid{display:grid;grid-template-columns:1fr;gap:12px;margin:24px 0}
.glossary-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px}
.glossary-item dt{font-weight:800;color:var(--primary);margin-bottom:5px}
.glossary-item dd{font-size:.9rem;color:var(--text-muted);margin:0}
.math-highlight{display:grid;grid-template-columns:1fr;gap:14px;margin:22px 0}
.math-highlight__item{background:rgba(126,200,217,.08);border:1px solid rgba(126,200,217,.24);border-radius:var(--radius-sm);padding:16px}
.math-highlight__item span{display:block;font-size:.76rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}
.math-highlight__item strong{font-size:1.25rem;color:var(--primary)}

/* Media Blocks */
.media-frame{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin:24px 0}
.media-frame img,.media-frame video{width:100%;display:block;background:#050711}
.media-frame--compact{max-width:760px;margin:24px auto}
.media-frame--thin img{max-height:180px;object-fit:contain;padding:12px;background:linear-gradient(180deg,#070a14,#151a2d)}
.media-grid{display:grid;grid-template-columns:1fr;gap:16px;margin:24px 0}
.media-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}
.media-card img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#050711}
.media-card__body{padding:14px}
.media-card__body h3{font-size:1rem;margin-bottom:6px}
.media-card__body p{font-size:.9rem;color:var(--text-muted);margin-bottom:0}
.media-card--contain img{object-fit:contain;padding:12px;max-height:320px}

.visual-panel{display:grid;grid-template-columns:1fr;gap:18px;align-items:center;margin:28px 0;padding:18px;background:linear-gradient(135deg,rgba(28,33,55,.98),rgba(36,42,69,.72));border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 46px rgba(0,0,0,.22)}
.visual-panel__media{position:relative;overflow:hidden;border:1px solid rgba(212,168,70,.28);border-radius:var(--radius-sm);background:#050711}
.visual-panel__media::after{content:"";position:absolute;inset:-40% -70%;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.18),transparent 62%);transform:translateX(-70%);animation:chart-shine 4s ease-in-out infinite;pointer-events:none}
.visual-panel__media img{width:100%;max-height:380px;object-fit:contain;background:#050711}
.visual-panel__media--small img{max-height:260px;padding:10px}
.visual-panel__copy h3{font-size:1.1rem;margin-bottom:8px;color:var(--primary)}
.visual-panel__copy p{font-size:.92rem;color:var(--text-muted);margin-bottom:10px}
.visual-panel__copy p:last-child{margin-bottom:0}
.visual-panel--mini{max-width:820px;margin-left:auto;margin-right:auto}

.symbol-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0 26px}
.symbol-tile{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;text-align:center;overflow:hidden}
.symbol-tile img{width:100%;height:92px;object-fit:contain;margin:0 auto 8px;filter:drop-shadow(0 10px 16px rgba(0,0,0,.3))}
.symbol-tile strong{display:block;font-size:.86rem;color:var(--text);line-height:1.25}
.symbol-tile span{display:block;font-size:.76rem;color:var(--text-muted);margin-top:2px}

.legal-visual{margin:20px 0 26px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg-card);box-shadow:var(--shadow)}
.legal-visual img{width:100%;max-height:260px;object-fit:contain;background:#050711;padding:10px}
.page-404__image{max-width:520px;margin:0 auto 24px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#050711;box-shadow:var(--shadow)}
.page-404__image img{width:100%;max-height:260px;object-fit:contain;padding:8px}

/* Demo Container */
.demo-container{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius);min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;margin-bottom:24px}
.demo-container__icon{font-size:3rem;margin-bottom:16px}
.demo-container p{color:var(--text-muted)}

/* Comparison Table */
.comparison-table{overflow-x:auto;margin-bottom:24px}
.comparison-table table{min-width:500px}
.comparison-table th,.comparison-table td{padding:10px 14px;text-align:center;border:1px solid var(--border);font-size:.9rem}
.comparison-table th{background:var(--bg-hover);color:var(--text-muted);font-weight:600;font-size:.8rem;text-transform:uppercase}
.comparison-table td:first-child{text-align:left;font-weight:500}

/* Casino Compare Table */
.casino-compare{overflow-x:auto;margin-bottom:24px;-webkit-overflow-scrolling:touch}
.casino-compare table{min-width:700px;border-collapse:separate;border-spacing:0;width:100%}
.casino-compare th{background:var(--bg-hover);color:var(--text-muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:14px 16px;text-align:center;border-bottom:2px solid var(--primary);white-space:nowrap}
.casino-compare th:first-child{text-align:left;border-radius:var(--radius-sm) 0 0 0}
.casino-compare th:last-child{border-radius:0 var(--radius-sm) 0 0}
.casino-compare td{padding:16px;text-align:center;border-bottom:1px solid var(--border);vertical-align:middle;font-size:.9rem;transition:background var(--transition)}
.casino-compare td:first-child{text-align:left}
.casino-compare tr:hover td{background:var(--bg-hover)}
.casino-compare tr:last-child td{border-bottom:none}
.casino-compare tr:last-child td:first-child{border-radius:0 0 0 var(--radius-sm)}
.casino-compare tr:last-child td:last-child{border-radius:0 0 var(--radius-sm) 0}
.casino-compare tbody{background:var(--bg-card);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm)}
.casino-compare thead{border:1px solid var(--border);border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0}

.casino-compare__name{display:block;font-weight:700;font-size:1rem;color:var(--text);margin-bottom:2px}
.casino-compare__tag{display:inline-block;font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px;margin-top:4px}
.casino-compare__tag--top{background:var(--accent-green);color:var(--bg)}

.casino-compare__bonus{color:var(--primary);font-size:.95rem}
.casino-compare__detail{font-size:.8rem;color:var(--text-muted)}

.casino-compare__wager{display:inline-block;font-weight:700;font-size:.95rem;padding:4px 10px;border-radius:var(--radius-sm)}
.casino-compare__wager--good{background:rgba(74,222,128,.12);color:var(--accent-green)}
.casino-compare__wager--mid{background:rgba(212,168,70,.12);color:var(--primary)}
.casino-compare__wager--high{background:rgba(239,68,68,.12);color:var(--danger)}

.casino-compare__methods{font-size:.82rem;color:var(--text-muted);line-height:1.5}

.casino-compare__rating{display:flex;flex-direction:column;align-items:center;gap:2px}
.casino-compare__stars{font-size:1rem;color:var(--primary);letter-spacing:1px;background:linear-gradient(90deg,var(--primary) calc(var(--rating)/5*100%),var(--bg-hover) calc(var(--rating)/5*100%));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.casino-compare__score{font-size:.85rem;font-weight:700;color:var(--text)}

.casino-compare__code{display:inline-block;font-family:monospace;font-weight:700;font-size:.85rem;color:var(--primary);background:rgba(212,168,70,.1);border:1px dashed var(--primary);padding:4px 10px;border-radius:var(--radius-sm);letter-spacing:1px}

/* Casino Compare — Mobile Card Layout */
@media(max-width:767px){
  .casino-compare table,.casino-compare thead,.casino-compare tbody,.casino-compare th,.casino-compare td,.casino-compare tr{display:block}
  .casino-compare table{min-width:0}
  .casino-compare thead{position:absolute;top:-9999px;left:-9999px}
  .casino-compare tbody{background:none;border:none}
  .casino-compare tr{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:20px 16px;display:block}
  .casino-compare tr:hover td{background:transparent}
  .casino-compare td{border-bottom:none;padding:6px 0;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:12px}
  .casino-compare td::before{content:attr(data-label);font-size:.78rem;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:.3px;flex-shrink:0;min-width:90px}
  .casino-compare td:first-child{flex-direction:column;align-items:flex-start;padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid var(--border)}
  .casino-compare td:first-child::before{display:none}
  .casino-compare__rating{flex-direction:row;gap:6px}
  .casino-compare tr:last-child td:first-child,.casino-compare tr:last-child td:last-child{border-radius:0}
}

/* Feature Cards */
.feature-cards{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:24px}
.feature-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:20px}
.feature-card__icon{font-size:1.5rem;margin-bottom:8px}
.feature-card h3{font-size:1rem;margin-bottom:6px}
.feature-card p{font-size:.9rem;color:var(--text-muted);margin-bottom:0}

/* Checklist */
.checklist{margin-bottom:24px}
.checklist li{padding:8px 0 8px 28px;position:relative;font-size:.95rem}
.checklist li::before{content:"✓";position:absolute;left:0;color:var(--accent-green);font-weight:700}

/* ============================================
   FOOTER
   ============================================ */
.footer{background:var(--bg-card);border-top:1px solid var(--border);padding:48px 0 24px}
.footer__grid{display:grid;grid-template-columns:1fr;gap:32px;margin-bottom:32px}
.footer__col h4{font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;color:var(--primary);margin-bottom:14px}
.footer__col p{font-size:.85rem;color:var(--text-muted);line-height:1.6}
.footer__col a{display:block;min-height:34px;padding:5px 0;font-size:.85rem;color:var(--text-muted)}
.footer__col a:hover{color:var(--accent)}

/* Trust Badges */
.footer__badges{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:24px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:24px}
.footer__badges img{height:40px;width:auto;opacity:.85;transition:opacity var(--transition);filter:brightness(1.3) grayscale(20%)}
.footer__badges img:hover{opacity:1;filter:none}

/* Footer Disclaimer */
.footer__disclaimer{background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.15);border-radius:var(--radius-sm);padding:16px;margin-bottom:24px;font-size:.8rem;color:var(--text-muted);line-height:1.6;text-align:center}
.footer__disclaimer strong{color:var(--danger)}

.footer__bottom{text-align:center;font-size:.8rem;color:var(--text-muted);padding-top:16px;border-top:1px solid var(--border)}

/* ============================================
   COOKIE CONSENT
   ============================================ */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);border-top:1px solid var(--border);padding:16px;display:none;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;z-index:9999;box-shadow:0 -4px 24px rgba(0,0,0,.4)}
.cookie-banner.show{display:flex}
.cookie-banner p{font-size:.85rem;color:var(--text-muted);margin-bottom:0;max-width:600px}
.cookie-banner a{display:inline-flex;align-items:center;min-height:44px;color:var(--accent)}
.cookie-banner .btn-accept{min-height:44px;background:var(--primary);color:var(--bg);padding:10px 20px;border-radius:var(--radius-sm);font-weight:600;font-size:.85rem}
.cookie-banner .btn-decline{min-height:44px;color:var(--text-muted);padding:10px 16px;font-size:.85rem}

/* ============================================
   BREADCRUMB
   ============================================ */
.breadcrumb{padding:12px 0;font-size:.85rem}
.breadcrumb a{display:inline-flex;align-items:center;min-width:44px;min-height:44px;color:var(--text-muted)}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb span{color:var(--text-muted);margin:0 6px}
.breadcrumb .current{color:var(--text)}

/* ============================================
   PAGE-SPECIFIC
   ============================================ */

/* About Page - Author Profile */
.author-profile{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start;margin-bottom:32px}
.author-profile__photo{width:140px;height:140px;border-radius:50%;object-fit:cover;border:4px solid var(--primary);flex-shrink:0}
.author-profile__details{flex:1;min-width:250px}
.author-profile__name{font-size:1.5rem;font-weight:700;margin-bottom:4px}
.author-profile__role{color:var(--primary);font-weight:600;margin-bottom:8px;font-size:.95rem}
.author-profile__credentials{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.author-profile__credentials span{background:var(--bg-hover);border:1px solid var(--border);padding:4px 10px;border-radius:12px;font-size:.8rem;color:var(--text-muted)}

/* Contact Form */
.contact-form{max-width:600px;margin:0 auto}
.contact-form .form-group{margin-bottom:16px}
.contact-form label{display:block;font-size:.9rem;color:var(--text-muted);margin-bottom:6px}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:10px 14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.95rem;transition:border-color var(--transition)}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:2px solid rgba(212,168,70,.45);outline-offset:2px;border-color:var(--primary)}
.contact-form textarea{min-height:120px;resize:vertical}
.contact-form .btn-submit{width:100%;background:var(--primary);color:var(--bg);padding:12px;border-radius:var(--radius-sm);font-weight:700;font-size:1rem;transition:background var(--transition)}
.contact-form .btn-submit:hover{background:var(--primary-hover)}

/* 404 Page */
.page-404{text-align:center;padding:80px 16px}
.page-404 h1{font-size:5rem;color:var(--primary);margin-bottom:16px}
.page-404 p{font-size:1.1rem;color:var(--text-muted);margin-bottom:24px}

/* Legal Pages */
.legal-content{max-width:800px;margin:0 auto}
.legal-content h2{margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}
.legal-content h2:first-of-type{margin-top:0;padding-top:0;border-top:none}
.legal-content p,.legal-content li{font-size:.95rem;color:var(--text-muted)}
.legal-content ul,.legal-content ol{padding-left:20px;margin-bottom:16px}
.legal-content li{padding:4px 0;list-style:disc}
.legal-content ol li{list-style:decimal}

/* Updated Badge */
.updated-badge{display:inline-flex;align-items:center;gap:6px;background:var(--bg-hover);border:1px solid var(--border);padding:4px 12px;border-radius:12px;font-size:.8rem;color:var(--text-muted);margin-bottom:16px}
.updated-badge svg{width:14px;height:14px;fill:var(--accent-green)}

/* ============================================
   RESPONSIVE — Tablet (640px+)
   ============================================ */
@media(min-width:640px){
  .hero h1{font-size:2.2rem}
  .quick-stats{grid-template-columns:repeat(4,1fr)}
  .pros-cons{grid-template-columns:1fr 1fr}
  .feature-cards{grid-template-columns:repeat(2,1fr)}
  .direct-answer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .entity-facts{grid-template-columns:repeat(4,minmax(0,1fr))}
  .evidence-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .glossary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .math-highlight{grid-template-columns:repeat(3,minmax(0,1fr))}
  .insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .visual-panel{grid-template-columns:minmax(220px,.9fr) minmax(260px,1.1fr)}
  .visual-panel--reverse .visual-panel__media{order:2}
  .visual-panel--reverse .visual-panel__copy{order:1}
  .symbol-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}
  .toc ol{grid-template-columns:repeat(2,minmax(0,1fr))}
  .media-grid{grid-template-columns:repeat(2,1fr)}
  .footer__grid{grid-template-columns:repeat(2,1fr)}
  .section__header h2{font-size:1.6rem}
}

/* ============================================
   RESPONSIVE — Desktop (960px+)
   ============================================ */
@media(min-width:960px){
  .container{padding:0 24px}

  /* Header Desktop */
  .nav{display:flex}
  .header__cta{display:flex}
  .header__cta-mobile{display:none}
  .burger{display:none}
  .mobile-menu{display:none !important}
  .sticky-cta{display:none !important}

  .hero{padding:64px 0 56px}
  .hero h1{font-size:2.6rem}
  .hero__subtitle{font-size:1.1rem}
  .hero__image{max-width:420px}
  .hero--launch{display:block;min-height:0;padding:20px 0 24px;text-align:left}
  .hero--launch .container{grid-template-columns:minmax(360px,.92fr) minmax(420px,1.08fr);grid-template-areas:"badge media" "title media" "subtitle media" "buttons media" "stats media";column-gap:36px;row-gap:10px;align-items:start}
  .hero--launch .hero__badge{grid-area:badge;justify-self:start}
  .hero--launch h1{grid-area:title;margin:0;max-width:600px;font-size:2.85rem}
  .hero--launch .hero__subtitle{grid-area:subtitle;margin:0;max-width:620px;font-size:1.03rem}
  .hero--launch .hero__buttons{grid-area:buttons;justify-content:flex-start}
  .hero--launch .hero__image{grid-area:media;align-self:start;justify-self:end;max-width:min(50vw,600px);margin:0}
  .hero--launch .quick-stats{grid-area:stats;grid-template-columns:repeat(4,minmax(94px,1fr));max-width:620px;margin:6px 0 0}
  .hero:not(.hero--launch){padding:28px 0 30px;text-align:left}
  .hero:not(.hero--launch) > .container{display:grid;grid-template-columns:minmax(360px,.94fr) minmax(400px,1.06fr);grid-template-areas:"badge media" "title media" "subtitle media" "buttons media" "stats media";column-gap:36px;row-gap:10px;align-items:start}
  .hero:not(.hero--launch) > .container > .hero__badge{grid-area:badge;justify-self:start;margin:0}
  .hero:not(.hero--launch) > .container > h1{grid-area:title;margin:0;max-width:610px;font-size:2.65rem;line-height:1.1;text-shadow:0 12px 34px rgba(0,0,0,.32)}
  .hero:not(.hero--launch) > .container > .hero__subtitle{grid-area:subtitle;margin:0;max-width:620px;font-size:1.03rem;line-height:1.5;color:#c7ccd9}
  .hero:not(.hero--launch) > .container > .hero__buttons{grid-area:buttons;justify-content:flex-start;margin-top:2px}
  .hero:not(.hero--launch) > .container > .hero__image{grid-area:media;align-self:start;justify-self:end;max-width:min(50vw,580px);margin:0}
  .hero:not(.hero--launch) > .container > .hero__image:not(.hero__image--compact):not(.hero__image--phone){aspect-ratio:16/9}
  .hero:not(.hero--launch) > .container > .hero__image:not(.hero__image--compact):not(.hero__image--phone) img{height:100%;object-fit:cover;object-position:center}
  .hero:not(.hero--launch) > .container > .hero__image--compact{max-width:min(38vw,420px);aspect-ratio:4/3;padding:12px}
  .hero:not(.hero--launch) > .container > .hero__image--compact img{height:100%;object-fit:contain}
  .hero:not(.hero--launch) > .container > .hero__image--phone{justify-self:center;max-width:min(30vw,300px);padding:10px}
  .hero:not(.hero--launch) > .container > .hero__image--phone img{height:auto;max-height:min(54vh,560px);object-fit:contain}
  .hero:not(.hero--launch) > .container > .quick-stats{grid-area:stats;grid-template-columns:repeat(4,minmax(94px,1fr));max-width:620px;margin:6px 0 0;gap:8px}
  .hero:not(.hero--launch) > .container > .quick-stats .stat-card{padding:9px 10px;background:rgba(28,33,55,.82);backdrop-filter:blur(10px);box-shadow:0 12px 28px rgba(0,0,0,.18)}
  .hero:not(.hero--launch) > .container > .quick-stats .stat-card__value{font-size:1.12rem}
  .toc{padding:28px}
  .toc ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 28px}

  .section{padding:64px 0}
  .section--toc{padding:32px 0 24px}
  h2{font-size:1.6rem}

  .insight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .direct-answer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .glossary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .bonus-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
  .flow-step{min-height:176px;padding:58px 16px 16px}
  .flow-step__index{left:16px;top:16px}
  .flow-step:not(:last-child)::after{left:100%;top:30px;width:16px;height:2px;background:linear-gradient(90deg,var(--primary),var(--accent))}

  .feature-cards{grid-template-columns:repeat(3,1fr)}
  .symbol-gallery{grid-template-columns:repeat(7,minmax(0,1fr))}
  .footer__grid{grid-template-columns:repeat(4,1fr)}

  .author-box{flex-wrap:nowrap}
}

@media(min-width:1200px){
  .hero--launch h1{font-size:3rem}
  .hero--launch .hero__image{max-width:620px}
}

@media(min-width:960px) and (max-height:760px){
  .hero--launch{padding:24px 0}
  .hero--launch h1{font-size:2.5rem}
  .hero--launch .hero__subtitle{font-size:.98rem;line-height:1.5}
  .hero--launch .hero__image{max-width:560px}
  .hero--launch .stat-card{padding:7px 9px}
  .hero--launch .stat-card__label{margin-bottom:2px}
}

@media(max-width:420px){
  .hero:not(.hero--launch){padding:34px 0 30px}
  .hero:not(.hero--launch) h1{font-size:1.55rem;line-height:1.18}
  .hero:not(.hero--launch) > .container > h1 span{display:inline}
  .hero:not(.hero--launch) .hero__subtitle{font-size:.95rem;line-height:1.55}
  .hero:not(.hero--launch) > .container > .hero__image{max-width:100%;margin-bottom:22px}
  .hero--launch{padding:18px 0 14px}
  .hero--launch h1{font-size:1.85rem}
  .hero--launch .hero__subtitle{font-size:.92rem;line-height:1.48}
  .hero--launch .hero__buttons{flex-wrap:nowrap}
  .hero--launch .hero__buttons .btn-cta,
  .hero--launch .hero__buttons .btn-secondary{padding:9px 16px;font-size:.9rem}
  .hero--launch .quick-stats{gap:7px}
  .hero--launch .stat-card{padding:8px 6px}
  .hero--launch .stat-card__value{font-size:1rem}
}

/* ============================================
   RESPONSIVE — Show sticky CTA on mobile
   ============================================ */
@media(max-width:959px){
  .sticky-cta{display:flex}
  body{padding-bottom:60px}
}

/* ============================================
   PRINT
   ============================================ */
@media print{
  .header,.footer,.sticky-cta,.cookie-banner,.btn-cta,.mobile-menu{display:none !important}
  body{background:#fff;color:#000}
  .section--alt{background:#f5f5f5}
  a{color:#000;text-decoration:underline}
}

/* ============================================
   REDUCED MOTION
   ============================================ */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important}
  html{scroll-behavior:auto}
  .rush-ticker__track{animation:none}
  .motion-ready{opacity:1;transform:none}
}

/* ============================================
   NEXT STEPS — bidirectional cluster links (link equity)
   ============================================ */
.next-steps{
  margin-top:3rem;
  padding:2rem 0;
  background:linear-gradient(135deg,rgba(212,168,70,.04) 0%,rgba(212,168,70,0) 100%);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.next-steps__title{
  text-align:center;
  font-size:1.5rem;
  color:var(--primary);
  margin-bottom:0.375rem;
  font-weight:700;
}
.next-steps__lead{
  text-align:center;
  color:var(--text-muted);
  margin-bottom:1.75rem;
  font-size:1rem;
}
.next-steps__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:1rem;
}
.next-steps__card{
  position:relative;
  display:block;
  padding:1.25rem 1.5rem;
  padding-right:calc(1.5rem + 24px);
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  text-decoration:none;
  color:inherit;
  transition:transform var(--transition),border-color var(--transition),background var(--transition),box-shadow var(--transition);
}
.next-steps__card:hover,
.next-steps__card:focus-visible{
  transform:translateY(-3px);
  background:var(--bg-hover);
  border-color:var(--primary);
  box-shadow:var(--shadow);
  color:inherit;
  outline:2px solid rgba(212,168,70,.45);
  outline-offset:3px;
}
.next-steps__tag{
  display:inline-block;
  font-size:.75rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--primary);
  margin-bottom:.5rem;
}
.next-steps__heading{
  font-size:1.0625rem;
  color:var(--text);
  margin:0 0 .35rem;
  line-height:1.3;
  font-weight:600;
}
.next-steps__copy{
  font-size:.875rem;
  color:var(--text-muted);
  margin:0;
  line-height:1.45;
}
.next-steps__card::after{
  content:'→';
  position:absolute;
  right:1.25rem;
  bottom:1rem;
  font-size:1.25rem;
  color:var(--primary);
  transition:transform var(--transition);
}
.next-steps__card:hover::after{transform:translateX(4px)}
