:root{
  --primary:#FF5F06; --primary-hover:#FF7A33; --accent:var(--primary);
  --bg-page:#080c12; --bg-main:#0D141C; --bg-elevated:#131c27;
  --text-main:#FFFFFF; --text-muted:#AAACB0;
  --hairline:color-mix(in srgb, var(--text-main) 8%, transparent);
  --hairline-strong:color-mix(in srgb, var(--text-main) 16%, transparent);
  --button-text:#fff;
  --radius:14px;
  --font-body:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-display:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --gold-a:#F8DC8A; --gold-b:#D5A330;

  /* ── engine-shared compat aliases (render_footer_block()/render_cookie_banner()) ── */
  --border-0:var(--hairline);
  --header-border:var(--hairline);
  --footer-bg:var(--bg-page);
  --cookie-bg:var(--bg-elevated);
  --surface-0:var(--bg-elevated);
  --surface-1:color-mix(in srgb, var(--bg-elevated) 82%, white 8%);
  --text-0:var(--text-main);
  --text-1:var(--text-muted);
  --muted:var(--text-muted);
  --accent-0:var(--primary);
  --link:var(--primary);
}

/* ── Phase 4: 5 color palettes via body[data-theme="1..5"] (theme 1 = :root
   defaults above). Canonical variable set shared with brand-v6/brand-v7.
   --gold-a/--gold-b intentionally stay constant across themes — used as a
   fixed "premium/trust" accent (TrustScore pill, VIP top tier, verdict score),
   not a brand color. ── */
body[data-theme="2"]{
  --primary:#2C75FF; --primary-hover:#478CFF;
  --bg-page:#EEF3FB; --bg-main:#F6F9FE; --bg-elevated:#FFFFFF;
  --text-main:#172133; --text-muted:#55657B;
  --hairline:rgba(23,33,51,.12); --hairline-strong:rgba(23,33,51,.22);
  --button-text:#fff;
}
body[data-theme="3"]{
  --primary:#2FDE73; --primary-hover:#53F087;
  --bg-page:#061c15; --bg-main:#0B2A1F; --bg-elevated:#123829;
  --text-main:#E8FFF2; --text-muted:#A2D4B9;
  --hairline:rgba(232,255,242,.08); --hairline-strong:rgba(232,255,242,.16);
  --button-text:#072111;
}
body[data-theme="4"]{
  --primary:#7B42FF; --primary-hover:#A668FF;
  --bg-page:#0A0D2A; --bg-main:#19123C; --bg-elevated:#241a4d;
  --text-main:#F4EFFF; --text-muted:#BCA9EF;
  --hairline:rgba(244,239,255,.08); --hairline-strong:rgba(244,239,255,.16);
  --button-text:#fff;
}
body[data-theme="5"]{
  --primary:#D6B26F; --primary-hover:#E3C88C;
  --bg-page:#1A1611; --bg-main:#221B12; --bg-elevated:#2c2317;
  --text-main:#F6EDD8; --text-muted:#C7B28A;
  --hairline:rgba(246,237,216,.08); --hairline-strong:rgba(246,237,216,.16);
  --button-text:#1c150b;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;overflow-x:hidden;max-width:100%}
body{background:var(--bg-main); color:var(--text-main);
  font-family:var(--font-body); font-size:16px; line-height:1.5;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;}
a{color:inherit;text-decoration:none}
img,video,iframe{max-width:100%;height:auto}
.container{width:min(1180px,100% - 2.5rem);margin-inline:auto}
.container-narrow{width:min(880px,100% - 2.5rem);margin-inline:auto}

/* ── buttons ── */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-family:var(--font-display);
  border-radius:999px;padding:.7rem 1.35rem;font-size:.95rem;cursor:pointer;border:1px solid transparent;
  transition:transform .15s ease, background .15s ease, box-shadow .15s ease;line-height:1;white-space:nowrap}
.btn-lg{padding:.9rem 1.6rem;font-size:1rem}
.btn-arrow svg{width:15px;height:15px;display:block}
.btn-primary{background:var(--primary);color:var(--button-text);box-shadow:0 6px 22px color-mix(in srgb,var(--primary) 45%,transparent)}
.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--text-main);border-color:var(--hairline-strong)}
.btn-ghost:hover{border-color:var(--primary);color:var(--primary)}

/* ── reading progress ── */
.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:120;background:transparent}
.reading-progress-fill{height:100%;transform:scaleX(0);transform-origin:0 50%;
  background:linear-gradient(90deg,var(--primary),var(--gold-a))}

/* ── promo strip ── */
.promo-strip{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.5rem 1rem;
  background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 22%,var(--bg-page)),var(--bg-page));
  border-bottom:1px solid var(--hairline);font-size:.86rem;position:relative;z-index:60}
.promo-dot{width:8px;height:8px;border-radius:50%;background:var(--primary);animation:pulse-dot 2s infinite}
@keyframes pulse-dot{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--primary) 55%,transparent)}70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}
.promo-prefix{color:var(--text-muted);margin-right:.35rem}
.promo-headline{font-weight:700}
.promo-arrow svg{width:15px;height:15px;display:block;transition:transform .15s}
.promo-strip:hover .promo-arrow svg{transform:translateX(3px)}

/* ── header ── */
.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);
  background:color-mix(in srgb,var(--bg-page) 82%,transparent);border-bottom:1px solid var(--hairline)}
.header-shell{display:flex;align-items:center;gap:1.25rem;padding:.7rem 1.25rem;max-width:1220px;margin-inline:auto}
.logo{display:flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-weight:900;font-size:1.15rem}
.logo-img{height:38px;width:auto;display:block}
.primary-nav{margin-left:auto}
.primary-nav ul{display:flex;gap:1.4rem;list-style:none;margin:0;padding:0}
.nav-link{color:var(--text-muted);font-weight:600;font-size:.92rem;transition:color .15s}
.nav-link:hover{color:var(--text-main)}
.header-cta-group{display:flex;gap:.6rem;margin-left:1rem}
@media(max-width:900px){
  .primary-nav,.header-cta-group .btn-ghost{display:none}
  .header-cta-group{margin-left:auto}
}
@media(max-width:560px){
  .logo-lockup{display:none}
  .header-shell{padding:.6rem 1rem}
  .header-cta-group .btn{padding:.6rem 1rem;font-size:.88rem}
}

/* ── generic section header ── */
section{position:relative}
.section-header{margin-bottom:2rem}
.section-header .eyebrow,.eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--primary);margin:0 0 .5rem}
.eyebrow-dot,.proscons-eyebrow-dot,.comparison-eyebrow-dot,.vip-eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--primary)}
h2{font-family:var(--font-display);font-weight:900;letter-spacing:-.02em;font-size:clamp(1.6rem,3vw,2.3rem);margin:0 0 .6rem;line-height:1.12}
h3{font-family:var(--font-display);font-weight:800;font-size:1.15rem;margin:0 0 .4rem}

/* reveal-on-scroll */
[data-reveal],[data-reveal-stagger]>*,[data-prose-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
[data-reveal].is-visible,[data-reveal-stagger].is-visible>*,[data-prose-reveal].is-visible{opacity:1;transform:none}
[data-reveal-stagger].is-visible>*:nth-child(2){transition-delay:.08s}
[data-reveal-stagger].is-visible>*:nth-child(3){transition-delay:.16s}
[data-reveal-stagger].is-visible>*:nth-child(4){transition-delay:.24s}

/* ── decorative hero-anim sprites (shared) ── */
.hero-anim{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.hero-anim .coin,.hero-anim .ember,.hero-anim .star,.hero-anim .particle{position:absolute;border-radius:50%;opacity:.7}
.hero-anim .coin{width:14px;height:14px;background:radial-gradient(circle at 35% 30%,var(--gold-a),var(--gold-b));
  animation:coin-fall 7s linear infinite}
.hero-anim .ember{width:5px;height:5px;background:var(--primary);filter:blur(1px);animation:ember-rise 5.5s ease-in infinite}
.hero-anim .star{width:6px;height:6px;background:var(--gold-a);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
  animation:star-twinkle 3.2s ease-in-out infinite}
.hero-anim .particle{width:3px;height:3px;background:color-mix(in srgb,var(--text-main) 60%,transparent);animation:particle-drift 9s linear infinite}
.hero-anim .pulse-orb{position:absolute;top:20%;left:50%;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--primary) 30%,transparent),transparent 70%);animation:orb-pulse 6s ease-in-out infinite}
@keyframes coin-fall{0%{transform:translateY(-40px) rotate(0)}100%{transform:translateY(560px) rotate(360deg)}}
@keyframes ember-rise{0%{transform:translateY(0);opacity:0}20%{opacity:.9}100%{transform:translateY(-260px);opacity:0}}
@keyframes star-twinkle{0%,100%{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
@keyframes particle-drift{0%{transform:translate(0,0);opacity:0}15%{opacity:.7}100%{transform:translate(40px,-320px);opacity:0}}
@keyframes orb-pulse{0%,100%{transform:scale(1);opacity:.45}50%{transform:scale(1.25);opacity:.7}}
.hero-anim .c1{left:6%;animation-delay:0s}.hero-anim .c2{left:18%;animation-delay:-1.2s}.hero-anim .c3{left:32%;animation-delay:-2.6s}
.hero-anim .c4{left:48%;animation-delay:-3.8s}.hero-anim .c5{left:63%;animation-delay:-.6s}.hero-anim .c6{left:76%;animation-delay:-2s}
.hero-anim .c7{left:88%;animation-delay:-4.4s}.hero-anim .c8{left:95%;animation-delay:-1.8s}
.hero-anim .e1{left:10%;bottom:0;animation-delay:0s}.hero-anim .e2{left:26%;bottom:0;animation-delay:-1s}
.hero-anim .e3{left:44%;bottom:0;animation-delay:-2.3s}.hero-anim .e4{left:60%;bottom:0;animation-delay:-.5s}
.hero-anim .e5{left:78%;bottom:0;animation-delay:-1.8s}.hero-anim .e6{left:92%;bottom:0;animation-delay:-3s}
.hero-anim .st1{top:12%;left:15%}.hero-anim .st2{top:22%;left:70%;animation-delay:-.8s}.hero-anim .st3{top:8%;left:45%;animation-delay:-1.6s}
.hero-anim .st4{top:30%;left:85%;animation-delay:-2.2s}.hero-anim .st5{top:16%;left:60%;animation-delay:-.4s}.hero-anim .st6{top:6%;left:25%;animation-delay:-2.8s}
.hero-anim .pp1{left:8%;top:60%}.hero-anim .pp2{left:22%;top:40%;animation-delay:-1.5s}.hero-anim .pp3{left:38%;top:70%;animation-delay:-3s}
.hero-anim .pp4{left:55%;top:35%;animation-delay:-4.5s}.hero-anim .pp5{left:70%;top:55%;animation-delay:-2s}
.hero-anim .pp6{left:83%;top:30%;animation-delay:-6s}.hero-anim .pp7{left:92%;top:65%;animation-delay:-.9s}

/* ── mag-cover hero (brand-mimicry, not an editorial review) ── */
.mag-cover{position:relative;isolation:isolate;overflow:hidden;padding:2.5rem 0 3rem}
.mag-cover-bg,.mag-cover-bg-blur{position:absolute;inset:0;z-index:-3}
.mag-cover-bg-blur-img{width:100%;height:100%;object-fit:cover;filter:blur(30px) saturate(120%);opacity:.6}
.mag-cover-bg-img{width:100%;height:100%;object-fit:cover;object-position:center top}
.mag-cover-bg-veil{position:absolute;inset:0;z-index:-2;
  background:linear-gradient(180deg,color-mix(in srgb,var(--bg-page) 20%,transparent) 0%,color-mix(in srgb,var(--bg-page) 75%,transparent) 55%,var(--bg-page) 100%)}
.mag-cover-inner{position:relative;max-width:760px}
.mag-kicker-row{display:flex;align-items:center;gap:.6rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-a);margin-bottom:.9rem}
.eyebrow-tag{color:var(--gold-a)}
.mag-issue-sep{color:var(--text-muted)}
.mag-issue-label{color:var(--text-muted);font-weight:600}
.mag-h1{font-family:var(--font-display);font-weight:900;letter-spacing:-.02em;font-size:clamp(2.1rem,5vw,3.2rem);line-height:1.08;margin:0 0 .5rem}
.mag-h1-sub{display:block;color:var(--text-muted);font-size:.55em;font-weight:700;margin-top:.3rem}
.mag-subhead{font-size:1.15rem;font-style:italic;color:var(--text-muted);margin:0 0 1.3rem}
.mag-action-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.6rem}
.mag-rating-pill{display:inline-flex;align-items:center;gap:.4rem;background:color-mix(in srgb,var(--gold-a) 16%,transparent);
  border:1px solid color-mix(in srgb,var(--gold-a) 40%,transparent);color:var(--gold-a);font-weight:800;font-size:.95rem;
  padding:.45rem .9rem;border-radius:999px}
.mag-rating-star{width:14px;height:14px;fill:var(--gold-a)}
.mag-rating-denom{color:var(--text-muted);font-weight:600;font-size:.85em}
.mag-read-link{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;color:var(--text-main);border-bottom:1px solid var(--hairline-strong);padding-bottom:.1rem}
.mag-read-arrow{width:12px;height:12px}
.mag-rule{border:none;border-top:1px solid var(--hairline);margin:1.6rem 0}
.mag-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media(max-width:760px){.mag-pillars{grid-template-columns:1fr}}
.mag-pillar{background:color-mix(in srgb,var(--bg-elevated) 78%,transparent);backdrop-filter:blur(16px);
  border:1px solid var(--hairline);border-radius:16px;padding:1.1rem 1.2rem;position:relative}
.mag-pillar-icon{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;color:var(--primary);
  background:color-mix(in srgb,var(--primary) 16%,transparent);margin-bottom:.6rem}
.mag-pillar-label{display:block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.3rem}
.mag-pillar-verdict{margin:0;font-weight:700;font-size:.95rem;line-height:1.3}
.mag-pillar-score{position:absolute;top:1rem;right:1.1rem;font-family:var(--font-display);font-weight:900;color:var(--gold-a);font-size:1.1rem}

/* ── pill row ── */
.pill-row-section{padding:1.4rem 0;border-bottom:1px solid var(--hairline);background:color-mix(in srgb,var(--bg-page) 55%,transparent)}
.pill-row-shell{display:flex;align-items:center;gap:1rem}
.pill-row-scroll{overflow-x:auto;scrollbar-width:none;flex:1}
.pill-row-scroll::-webkit-scrollbar{display:none}
.pill-row{display:flex;gap:.6rem;list-style:none;margin:0;padding:0;white-space:nowrap}
.pill{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .9rem;border-radius:999px;background:var(--bg-elevated);
  border:1px solid var(--hairline);font-weight:700;font-size:.84rem;transition:border-color .15s,transform .15s}
.pill:hover{border-color:color-mix(in srgb,var(--primary) 50%,transparent);transform:translateY(-1px)}
.pill-icon svg{width:16px;height:16px;display:block;color:var(--primary)}
.pill-row-actions{display:flex;gap:.5rem;flex:none}
.pill-action{background:transparent}

/* ── pros/cons ── */
.pros-cons-section{padding:4rem 0}
.pros-cons-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
@media(max-width:760px){.pros-cons-grid{grid-template-columns:1fr}}
.pros-cons-card{background:var(--bg-elevated);border:1px solid var(--hairline);border-radius:18px;padding:1.5rem}
.pros-cons-card--pros{border-color:color-mix(in srgb,#3DD68C 35%,var(--hairline))}
.pros-cons-card--cons{border-color:color-mix(in srgb,var(--text-muted) 35%,var(--hairline))}
.pros-cons-card-header{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}
.pros-cons-card-icon{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px}
.pros-cons-card--pros .pros-cons-card-icon{color:#3DD68C;background:color-mix(in srgb,#3DD68C 16%,transparent)}
.pros-cons-card--cons .pros-cons-card-icon{color:var(--text-muted);background:color-mix(in srgb,var(--text-muted) 14%,transparent)}
.pros-cons-card-title{margin:0}
.pros-cons-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}
.pros-cons-item{display:flex;gap:.6rem;align-items:flex-start;font-size:.92rem;color:var(--text-muted);line-height:1.5}
.pros-cons-bullet{flex:none;margin-top:.15rem}
.pros-cons-bullet--check svg{color:#3DD68C}
.pros-cons-bullet--dash svg{color:var(--text-muted)}
.pros-cons-footer{text-align:center;margin-top:1.5rem}
.pros-cons-verdict-link{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;color:var(--primary);white-space:nowrap}
.pros-cons-verdict-link svg{width:13px;height:13px;flex:none}

/* ── verdict ── */
.verdict-section{padding:4rem 0}
.verdict-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:start}
@media(max-width:800px){.verdict-grid{grid-template-columns:1fr}}
.verdict-scores{display:flex;flex-direction:column;gap:1rem}
.verdict-score-row{display:grid;grid-template-columns:150px 1fr 40px;align-items:center;gap:.8rem}
.verdict-score-label{font-size:.86rem;color:var(--text-muted);font-weight:600}
.verdict-bar-track{height:8px;border-radius:99px;background:var(--hairline);overflow:hidden}
.verdict-bar-fill{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--primary),var(--gold-a));
  width:0;transition:width 1.1s cubic-bezier(.16,1,.3,1)}
.verdict-bar-fill[data-revealed="true"]{width:var(--w,0)}
.verdict-score-value{font-weight:800;text-align:right}
.verdict-summary.bezel{background:linear-gradient(165deg,color-mix(in srgb,var(--primary) 14%,var(--bg-elevated)),var(--bg-elevated));
  border:1px solid var(--hairline-strong);border-radius:18px;padding:1.6rem;text-align:center}
.verdict-summary-label{color:var(--text-muted);font-size:.8rem;font-weight:700;margin:0 0 .3rem}
.verdict-summary-number{display:flex;align-items:baseline;justify-content:center;gap:.15rem;margin-bottom:.5rem}
.verdict-summary-overall{font-family:var(--font-display);font-size:2.6rem;font-weight:900;color:var(--gold-a)}
.verdict-summary-suffix{color:var(--text-muted);font-weight:700}
.verdict-summary-stars{display:flex;justify-content:center;gap:.15rem;margin-bottom:.6rem}
.verdict-star svg{width:20px;height:20px}
.verdict-summary-byline{color:var(--text-muted);font-size:.78rem;margin:0 0 1rem}
.verdict-summary-cta{display:inline-flex;align-items:center;gap:.4rem;justify-content:center;width:100%;
  background:var(--primary);color:var(--button-text);font-weight:700;padding:.75rem 1rem;border-radius:999px}
.verdict-summary-cta svg{width:14px;height:14px;flex:none}
.verdict-disclosure{color:var(--text-muted);font-size:.76rem;margin:1.2rem 0 0;text-align:center}

/* ── vip tier ladder ── */
.vip-tier-ladder{padding:4rem 0}
.vip-head{text-align:center;max-width:640px;margin:0 auto 2rem}
.vip-sub{color:var(--text-muted);margin-top:.5rem}
.vip-ladder-wrap{position:relative}
.vip-climb-path{display:none}
.vip-tiers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
@media(max-width:1000px){.vip-tiers{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.vip-tiers{grid-template-columns:1fr}}
.vip-tier-card{background:var(--bg-elevated);border:1px solid var(--hairline);border-radius:16px;padding:1.2rem;height:100%;
  transition:transform .18s,border-color .18s}
.vip-tier.is-top .vip-tier-card{border-color:color-mix(in srgb,var(--gold-a) 45%,transparent);
  background:linear-gradient(165deg,color-mix(in srgb,var(--gold-a) 12%,var(--bg-elevated)),var(--bg-elevated))}
.vip-tier-rank{display:block;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin-bottom:.4rem}
.vip-tier-name{margin:0 0 .2rem}
.vip-tier-threshold{color:var(--text-muted);font-size:.82rem;margin:0 0 .8rem}
.vip-tier-cashback-row{display:flex;justify-content:space-between;align-items:baseline;padding-top:.7rem;border-top:1px solid var(--hairline);margin-bottom:.5rem}
.vip-tier-cashback-label{color:var(--text-muted);font-size:.78rem}
.vip-tier-cashback-value{font-family:var(--font-display);font-weight:900;color:var(--gold-a);font-size:1.1rem}
.vip-tier-perk{color:var(--text-muted);font-size:.8rem;margin:0;line-height:1.4}
.vip-cta-row{text-align:center;margin-top:2rem}
.vip-cta-fineprint{color:var(--text-muted);font-size:.76rem;margin-top:.7rem;max-width:520px;margin-inline:auto}

/* ── payment speed matrix ── */
.payment-speed-matrix{padding:4rem 0}
.psm-header{text-align:center;margin-bottom:1.6rem}
.psm-card{background:var(--bg-elevated);border:1px solid var(--hairline);border-radius:18px;overflow:hidden}
.psm-table-wrap{overflow-x:auto}
.psm-table{width:100%;border-collapse:collapse;min-width:520px}
.psm-table th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);
  padding:.85rem 1rem;border-bottom:1px solid var(--hairline)}
.psm-table td{padding:.85rem 1rem;border-bottom:1px solid var(--hairline);font-size:.9rem}
.psm-band{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.76rem;font-weight:700}
.psm-band-instant{background:color-mix(in srgb,#3DD68C 18%,transparent);color:#3DD68C}
.psm-band-fast{background:color-mix(in srgb,var(--gold-a) 18%,transparent);color:var(--gold-a)}
.psm-band-standard{background:color-mix(in srgb,var(--primary) 16%,transparent);color:var(--primary)}
.psm-band-slow{background:color-mix(in srgb,var(--text-muted) 20%,transparent);color:var(--text-muted)}
.psm-caption{padding:1rem 1.25rem;color:var(--text-muted);font-size:.78rem}
.psm-cta-row{text-align:center;margin-top:1.6rem}

/* ── trust ── */
.trust-section{padding:4rem 0}
.trust-conquer-card{background:var(--bg-elevated);border:1px solid var(--hairline);border-radius:20px;padding:2rem}
.trust-conquer-heading{text-align:center;margin-bottom:1.6rem}
.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}
.trust-pillar{text-align:center}
.trust-icon{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:14px;margin-bottom:.8rem;
  color:var(--primary);background:color-mix(in srgb,var(--primary) 14%,transparent)}
.trust-icon svg{width:26px;height:26px}
.trust-label{margin:0 0 .3rem}
.trust-proof{color:var(--text-muted);font-size:.9rem;margin:.3rem 0 0}

/* ── seo article ── */
.seo-section{padding:4rem 0}
.seo-grid{width:min(1180px,100% - 2.5rem);margin-inline:auto;display:grid;grid-template-columns:220px minmax(0,1fr) 300px;gap:2.5rem;align-items:start}
@media(max-width:1080px){.seo-grid{grid-template-columns:220px minmax(0,1fr)}.seo-sidebar{display:none}}
@media(max-width:900px){.seo-grid{grid-template-columns:1fr}.seo-toc{display:none}}
.seo-toc{position:sticky;top:24px}
.seo-toc-label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-weight:800;margin-bottom:.6rem;padding-left:.875rem}
.seo-toc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.seo-toc-link{display:block;padding:.5rem 0 .5rem .875rem;border-left:2px solid var(--hairline);color:var(--text-muted);font-size:.85rem;line-height:1.4;
  transition:color .15s,border-left-color .15s}
.seo-toc-link:hover{color:var(--text-main);border-left-color:var(--hairline-strong)}
.seo-toc-link.is-active{color:var(--primary);border-left-color:var(--primary);font-weight:600}
.seo-sidebar{position:sticky;top:24px}
.sidebar-bonus{background:linear-gradient(165deg,color-mix(in srgb,var(--primary) 14%,var(--bg-elevated)),var(--bg-elevated));
  border:1px solid var(--hairline-strong);border-radius:18px;padding:1.5rem 1.25rem;box-shadow:0 18px 50px rgba(0,0,0,.4)}
.sidebar-bonus-eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0 0 .75rem}
.sidebar-bonus-dot{width:6px;height:6px;border-radius:50%;background:var(--primary);box-shadow:0 0 6px var(--primary)}
.sidebar-bonus-percent{font-family:var(--font-display);font-size:2.6rem;font-weight:900;color:var(--primary);line-height:.95;margin:0 0 .4rem;letter-spacing:-.04em}
.sidebar-bonus-detail{color:var(--text-muted);margin:0 0 1.1rem;line-height:1.5}
.sidebar-bonus-detail strong{color:var(--text-main)}
.sidebar-bonus-cta{width:100%;justify-content:center}
.sidebar-bonus-fineprint{color:var(--text-muted);font-size:.72rem;margin:.8rem 0 0;line-height:1.4}
.prose{max-width:70ch}
.prose h2{position:relative;padding-left:1.1rem;margin:2rem 0 .7rem}
.prose h2:before{content:"";position:absolute;left:0;top:.55em;width:.75rem;height:.18rem;background:var(--primary);border-radius:1px;box-shadow:0 0 8px color-mix(in srgb,var(--primary) 50%,transparent)}
.prose h3{margin:1.4rem 0 .4rem;color:var(--primary)}
.prose p{color:var(--text-muted);line-height:1.7;margin:.6rem 0}
.prose ul{color:var(--text-muted);line-height:1.7;padding-left:1.2rem}
.prose table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.88rem}
.prose table td{padding:.55rem .7rem;border-bottom:1px solid var(--hairline);vertical-align:top}
.prose table td:first-child{color:var(--text-muted);white-space:nowrap;padding-right:1.2rem}
.prose blockquote{margin:1.2rem 0;padding:1rem 1.2rem;border-left:3px solid var(--primary);
  background:color-mix(in srgb,var(--primary) 8%,transparent);border-radius:0 10px 10px 0;font-weight:600}
.prose blockquote p{margin:0}
.prose .content-block{margin:0}

/* ── faq ── */
.faq-section{padding:4rem 0}
.faq-list{display:flex;flex-direction:column;gap:.6rem;max-width:820px;margin-inline:auto}
/* engine's render_faq_items() emits button.faq-question + div.faq-answer */
.faq-item{background:var(--bg-elevated);border:1px solid var(--hairline);border-radius:12px;overflow:hidden}
.faq-item summary{cursor:pointer;list-style:none;padding:1rem 1.2rem;font-weight:700;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:var(--primary);font-size:1.3rem;font-weight:400;transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{color:var(--text-muted);line-height:1.6;padding:0 1.2rem 1.1rem;margin:0}
.faq-question{width:100%;background:transparent;border:0;cursor:pointer;padding:1rem 1.2rem;font-weight:700;
  font-family:inherit;font-size:1rem;color:var(--text-main);display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq-icon{color:var(--primary);font-size:1.3rem;font-weight:400;transition:transform .2s}
.faq-question[aria-expanded="true"] .faq-icon{transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .25s ease}
.faq-answer p{color:var(--text-muted);line-height:1.6;padding:0 1.2rem 1.1rem;margin:0}

/* ── sticky banner ── */
.sticky-banner-wrap{position:fixed;left:0;right:0;bottom:0;z-index:70;padding:.6rem}
.sticky-banner{max-width:1100px;margin-inline:auto;display:flex;align-items:center;gap:1rem;
  background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 10%,var(--bg-elevated)),var(--bg-elevated));
  backdrop-filter:blur(12px);
  border:1px solid color-mix(in srgb,var(--primary) 45%,transparent);border-radius:16px;padding:.85rem 1.25rem;
  box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 0 1px color-mix(in srgb,var(--primary) 12%,transparent),0 0 34px color-mix(in srgb,var(--primary) 22%,transparent)}
.banner-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}
.banner-label{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--text-muted);font-weight:800}
.banner-dot{width:7px;height:7px;border-radius:50%;background:var(--primary);animation:pulse-dot 2s infinite}
.banner-headline{font-weight:800;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.banner-cta{margin-left:auto;flex:none}
@media(max-width:520px){.banner-headline{font-size:.85rem}}

/* ── footer / cookie-banner (verbatim from assets/brand-v5/styles.css, via
   the var() aliases declared at the top of this file) ── */
.site-footer{border-top:1px solid var(--border-0);margin-top:28px;background:var(--footer-bg)}
.footer-top-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:26px;padding:22px 0 26px}
.footer-col h3{margin:0 0 8px;font-size:15px}
.footer-col p,.footer-col li,.footer-col a{font-size:13px;color:var(--text-1);line-height:1.45}
.footer-links-list{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.footer-links-list a{color:var(--text-1)}
.footer-links-list a:hover{color:var(--accent-0)}
.footer-accordion{display:none}
.footer-acc-item{border-top:1px solid var(--header-border)}
.footer-acc-trigger{width:100%;border:0;background:transparent;color:var(--text-0);font:inherit;font-size:16px;font-weight:800;
  text-align:left;display:flex;align-items:center;justify-content:space-between;padding:16px 2px;cursor:pointer}
.footer-acc-chevron{color:var(--muted);transition:transform .2s ease}
.footer-acc-panel{max-height:0;overflow:hidden;transition:max-height .25s ease}
.footer-acc-panel .footer-links-list{padding:0 2px 14px;gap:10px}
.footer-acc-item.is-open .footer-acc-chevron{transform:rotate(90deg)}
.footer-nav-row{border-top:1px solid var(--header-border);border-bottom:1px solid var(--header-border);padding:14px 0;
  display:flex;align-items:center;justify-content:space-between;gap:12px}
.footer-nav-row p{margin:0;color:var(--text-1);font-size:13px}
.footer-page-nav{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}
.footer-page-nav a{color:var(--link);font-weight:700;font-size:14px}
.social-links{display:inline-flex;align-items:center;gap:10px}
.social-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;
  border:1px solid var(--border-0);background:var(--surface-0);color:var(--text-1);
  transition:transform .18s ease,color .18s ease,border-color .18s ease,background .18s ease}
.social-link svg{width:18px;height:18px;fill:currentColor}
.social-link:hover{color:var(--accent-0);border-color:var(--accent-0);transform:translateY(-2px)}
.footer-logo-block{padding:12px 0 10px;text-align:center;position:relative;z-index:2}
.footer-logo-block h3{margin:0 0 14px;font-size:22px;font-weight:800;letter-spacing:.01em;font-family:var(--font-display)}
.footer-logo-row{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 20px;align-items:center;position:relative;z-index:2}
.footer-logo-row.collaborators{margin-bottom:28px}
.footer-logo-row.payments{margin-bottom:0}
.footer-logo-row.trust{margin-top:22px}
.footer-logo-row.collaborators li,.footer-logo-row.payments li{min-height:48px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.footer-logo-row img{width:120px;height:56px;object-fit:contain;max-width:min(120px,100%);max-height:56px;opacity:1;filter:none;transition:transform .25s ease}
@media(hover:hover){.footer-logo-row li:hover img{transform:scale(1.04)}}
.footer-legal{border-top:1px solid var(--header-border);padding:16px 0 84px}
.footer-legal p{margin:6px 0;text-align:center;color:var(--muted);font-size:13px}
.footer-legal a{color:var(--link);font-weight:700;text-decoration:underline}

.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--cookie-bg);border-top:1px solid var(--border-0)}
.cookie-banner-inner{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0}
.cookie-banner p{margin:0;font-size:12px;color:var(--muted)}
.cookie-banner p a{color:var(--link);font-weight:700}
.cookie-actions{display:flex;gap:8px}
.cookie-actions button{border:1px solid var(--border-0);border-radius:8px;min-width:72px;height:30px;font-size:12px;font-weight:800;
  color:var(--text-0);background:var(--surface-0);cursor:pointer}
.cookie-actions button:hover{background:var(--surface-1)}

@media(max-width:900px){
  .footer-top-grid{display:none}
  .footer-accordion{display:block}
}
@media(max-width:640px){
  .footer-nav-row{flex-direction:column;align-items:flex-start}
  .footer-page-nav{justify-content:flex-start}
  .cookie-banner-inner{flex-direction:column;align-items:flex-start}
}

.footer-inner{display:flex;flex-wrap:wrap;gap:2.5rem;justify-content:space-between}
.footer-logo-img{height:32px;width:auto}

/* ── Фаза 5: compat shim for the engine's shared subpage layout
   (templates/brand-template-v3-page.html — about-us/privacy/responsible-
   gaming/terms-of-use). See assets/brand-v6/styles.css for rationale;
   identical block, same canonical vars. ── */
.site-header{border-bottom:1px solid var(--hairline);background:var(--bg-page)}
.site-header .header-inner{display:flex;align-items:center;gap:1.2rem;padding:1rem 0}
.site-logo img{height:34px;width:auto}
.main-nav{display:flex;gap:1.2rem;margin-left:auto}
.main-nav a{color:var(--text-muted);font-weight:600;font-size:.92rem}
.main-nav a:hover{color:var(--text-main)}
.header-actions{display:flex;gap:.6rem}
.menu-toggle{display:none}
.casino-hero{padding:3rem 0}
.casino-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:center}
.casino-hero-eyebrow{color:var(--text-muted);font-weight:700;text-transform:uppercase;font-size:.8rem;letter-spacing:.04em}
.casino-hero-title{margin:.5rem 0 1.2rem}
.hero-title-subpage{font-family:var(--font-display);font-weight:900;font-size:clamp(1.8rem,4vw,2.6rem);margin:0;line-height:1.1}
.casino-hero-cta-row{display:flex;gap:.8rem;flex-wrap:wrap}
.casino-hero-btn{height:50px;padding:0 1.6rem;border-radius:999px;font-weight:800;display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap}
.casino-hero-btn .btn-icon svg{width:18px;height:18px;fill:currentColor}
.casino-hero-right{display:flex;justify-content:center}
.casino-hero-img{width:100%;border-radius:16px;display:block}
.main-content{padding:2rem 0 3rem}
.content-card{background:var(--bg-elevated);border:1px solid var(--hairline);border-radius:16px;padding:2rem}
@media(max-width:760px){.casino-hero-inner{grid-template-columns:1fr}.casino-hero-right{display:none}.main-nav{display:none}}

/* bonus-card interstitials (render_bonus_card_html / inject_content_interstitials)
   injected into long-form prose content. No sizing existed for this family, so
   the inline fire-icon <svg> (viewBox only, no width/height) expanded to fill
   its whole container. Identical block in brand-v6/brand-v7. */
.bonus-card-wrap{margin:28px 0;max-width:100%}
.bonus-card{border-radius:var(--radius);padding:18px 20px;background:var(--bg-elevated);border:1px solid var(--hairline)}
.bonus-card__body{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.bonus-card__text{flex:1 1 auto;min-width:0}
.bonus-card__label{margin:0 0 4px;display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;
  background:var(--primary);color:var(--button-text);font-size:12px;font-weight:700;letter-spacing:.02em}
.bonus-card__headline{margin:0;display:flex;align-items:center;gap:8px;font-size:19px;line-height:1.15;color:var(--text-main);font-weight:800}
.bonus-card__icon{width:.9em;height:.9em;color:var(--primary);flex:0 0 auto}
.bonus-card__icon svg{width:100%;height:100%;fill:currentColor}
.bonus-card__subtext{margin:3px 0 0;color:var(--text-muted);font-weight:500;font-size:13px;line-height:1.3}
.bonus-card__button{min-width:130px;height:38px;padding:0 16px;border-radius:12px;display:inline-flex;align-items:center;
  justify-content:center;font-size:14px;font-weight:800;white-space:nowrap;color:var(--button-text);background:var(--primary);flex:0 0 auto}
.bonus-card__button:hover{background:var(--primary-hover)}
@media(max-width:560px){.bonus-card__body{flex-direction:column;align-items:flex-start}.bonus-card__button{width:100%}}
