/* ===== shared layout helpers ===== */
.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:24px;position:relative;overflow:hidden}
.glass{background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow-glow)}
.grid-2{display:grid;gap:var(--gap);grid-template-columns:1fr}
.grid-3{display:grid;gap:var(--gap);grid-template-columns:1fr}
.grid-4{display:grid;gap:var(--gap);grid-template-columns:1fr}
@media(min-width:640px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr}.grid-4{grid-template-columns:1fr 1fr}}
@media(min-width:780px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}

/* panel hover lift + scanline */
.panel-hover{transition:transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease)}
.panel-hover:hover{transform:translateY(-4px);border-color:var(--border-glow);box-shadow:var(--shadow-glow)}
.panel-hover::after{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--bull),transparent);opacity:0;transition:opacity .3s,transform 1.2s linear}
.panel-hover:hover::after{opacity:.8;transform:translateY(120px)}
@media(prefers-reduced-motion:reduce){.panel-hover:hover{transform:none}.panel-hover::after{display:none}}

/* ===== HERO / BENTO ===== */
.hero{padding:72px 0 64px;text-align:center}
.hero .lead{font-size:1.15rem;max-width:60ch;margin:18px auto 0}
.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.bento{display:grid;gap:18px;grid-template-columns:1fr;margin-top:48px;text-align:left}
@media(min-width:640px){.bento{grid-template-columns:repeat(2,1fr)}}
@media(min-width:780px){.bento{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(140px,auto)}.bento-wide{grid-column:span 2}.bento-tall{grid-row:span 2}}
.bento-cell{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:10px}
.bento-cell .big{font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums}
.bento-cell .label{color:var(--text-muted);font-size:.85rem}

/* ===== TICKER ===== */
.ticker-viewport{overflow:hidden;border-block:1px solid var(--border);background:var(--bg-panel);padding:12px 0}
.ticker-marquee{display:flex;width:max-content}
.ticker-track{display:flex;gap:34px;padding-right:34px;animation:tickerScroll 38s linear infinite;will-change:transform}
.ticker-viewport:hover .ticker-track,.ticker-viewport:focus-within .ticker-track{animation-play-state:paused}
@keyframes tickerScroll{to{transform:translateX(-100%)}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}}
.ticker-item{display:flex;align-items:center;gap:8px;font-size:.9rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.ticker-item .sym{font-weight:700}
.ticker-item .up{color:var(--bull)}
.ticker-item .down{color:var(--bear)}

/* session band */
.session-band{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:640px){.session-band{grid-template-columns:repeat(2,1fr)}}
@media(min-width:780px){.session-band{grid-template-columns:repeat(4,1fr)}}
.session-card{padding:18px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-panel);transition:.3s var(--ease)}
.session-card.is-live{border-color:var(--bull);box-shadow:0 0 0 1px var(--border-glow)}
.session-card .dot{width:9px;height:9px;border-radius:50%;background:var(--text-dim);display:inline-block;margin-right:8px}
.session-card.is-live .dot{background:var(--bull);box-shadow:0 0 8px var(--bull)}

/* ===== TABS ===== */
.tab-list{display:flex;gap:6px;flex-wrap:wrap;background:var(--bg-panel);padding:6px;border-radius:var(--radius-sm);border:1px solid var(--border);margin-bottom:24px}
.tab-btn{padding:10px 18px;border-radius:6px;font-weight:600;color:var(--text-muted);font-size:.92rem;transition:.2s var(--ease)}
.tab-btn[aria-selected="true"],.tab-btn.is-active{background:var(--bg-elev);color:var(--text)}
.tab-panel{display:none;animation:fadeIn .3s var(--ease)}
.tab-panel.is-active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.tab-panel.is-active{animation:none}}

/* SEG control */
.seg-control{display:inline-flex;gap:4px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px;margin-bottom:22px}
.seg-btn{padding:9px 18px;border-radius:6px;font-weight:600;color:var(--text-muted);font-size:.9rem;transition:.2s var(--ease)}
.seg-btn.is-active{background:var(--cta);color:var(--cta-ink)}
.seg-panel{display:none}
.seg-panel.is-active{display:block}

/* pill toggle */
.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.pill{padding:8px 16px;border-radius:999px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-muted);font-size:.86rem;font-weight:600;transition:.2s var(--ease)}
.pill.is-active{background:var(--bull);color:var(--cta-ink);border-color:var(--bull)}
.chip-hidden{display:none!important}

/* ===== ACCORDION ===== */
.accordion-item,.faq-item,.checklist-item{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:12px;background:var(--bg-panel);overflow:hidden}
.accordion-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:18px 20px;font-weight:600;font-size:1rem;text-align:left}
.accordion-trigger::after{content:'+';font-size:1.4rem;color:var(--bull);transition:transform .3s var(--ease);line-height:1}
.accordion-item.open .accordion-trigger::after,.faq-item.open .accordion-trigger::after,.checklist-item.open .accordion-trigger::after{content:'\2212'}
.accordion-body,.faq-body,.checklist-body{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.accordion-body>*,.faq-body>*,.checklist-body>*{padding:0 20px 18px}
@media(prefers-reduced-motion:reduce){.accordion-body,.faq-body,.checklist-body{transition:none}}

/* ===== EXPAND CARD ===== */
.expand-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);overflow:hidden;transition:border-color .3s}
.expand-card.open{border-color:var(--border-glow)}
.expand-trigger{width:100%;text-align:left;padding:20px;display:flex;justify-content:space-between;align-items:center;font-weight:600}
.expand-body{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.expand-card.open .expand-body{max-height:600px}
.expand-body-inner{padding:0 20px 20px}

/* ===== TABLES / MATRIX ===== */
.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel)}
.matrix{min-width:560px}
.matrix th,.matrix td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border);font-size:.92rem;font-variant-numeric:tabular-nums}
.matrix thead th{position:sticky;top:0;background:var(--bg-elev);z-index:2;font-weight:700;color:var(--text)}
.matrix tbody tr{transition:background .2s}
.matrix tbody tr:hover{background:var(--bg-panel-2)}
.matrix td:first-child,.matrix th:first-child{position:sticky;left:0;background:var(--bg-elev);font-weight:600;z-index:1}
.matrix .yes{color:var(--bull);font-weight:700}
.matrix .no{color:var(--bear)}
.sortable th{cursor:pointer;user-select:none}
.sortable th[data-sort]::after{content:'\2195';opacity:.4;margin-left:6px;font-size:.8rem}
.cell-hover td:hover{background:rgba(0,197,130,.08)}

/* ===== STEPS / STEPPER ===== */
.steps{display:grid;gap:18px;grid-template-columns:1fr;counter-reset:step}
@media(min-width:780px){.steps{grid-template-columns:repeat(4,1fr)}.steps.steps-3{grid-template-columns:repeat(3,1fr)}}
.step{position:relative;padding:24px 20px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius)}
.step::before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--bull),var(--system));color:#fff;font-weight:800;margin-bottom:14px}
.step h3{font-size:1.05rem;margin-bottom:6px}

/* step rail (neon vertical/horizontal) */
.step-rail{position:relative;display:grid;gap:0}
.rail-item{position:relative;padding:0 0 28px 44px}
.rail-item::before{content:'';position:absolute;left:14px;top:6px;bottom:-6px;width:2px;background:var(--border)}
.rail-item:last-child::before{display:none}
.rail-item .rail-dot{position:absolute;left:6px;top:2px;width:18px;height:18px;border-radius:50%;background:var(--bg-base);border:2px solid var(--bull);box-shadow:0 0 10px var(--border-glow)}
.rail-item h3{font-size:1.05rem;margin-bottom:4px}

/* horizontal step progress */
.step-progress{display:flex;gap:0;margin-bottom:28px;overflow-x:auto}
.step-node{flex:1;min-width:120px;text-align:center;position:relative;padding-top:34px}
.step-node::before{content:'';position:absolute;top:12px;left:0;right:0;height:2px;background:var(--border)}
.step-node::after{content:'';position:absolute;top:6px;left:50%;transform:translateX(-50%);width:14px;height:14px;border-radius:50%;background:var(--bg-base);border:2px solid var(--border)}
.step-node.is-done::after{background:var(--bull);border-color:var(--bull)}
.step-node .sn-label{font-size:.84rem;color:var(--text-muted)}

/* ===== PLATFORM MOCK FRAMES ===== */
.browser-frame,.video-frame{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg-panel);box-shadow:var(--shadow)}
.frame-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bg-elev);border-bottom:1px solid var(--border)}
.frame-dot{width:11px;height:11px;border-radius:50%}
.frame-dot.r{background:var(--bear)}.frame-dot.y{background:var(--cta)}.frame-dot.g{background:var(--bull)}
.frame-url{margin-left:10px;flex:1;background:var(--bg-base);border-radius:6px;padding:5px 12px;font-size:.78rem;color:var(--text-muted)}
.frame-body{padding:28px;min-height:240px;display:grid;place-items:center;color:var(--text-muted);background:repeating-linear-gradient(45deg,var(--bg-panel),var(--bg-panel) 10px,var(--bg-panel-2) 10px,var(--bg-panel-2) 20px)}
.video-frame .play{width:64px;height:64px;border-radius:50%;background:var(--cta);display:grid;place-items:center;color:var(--cta-ink);font-size:1.4rem}

/* responsive viewport slider */
.viewport-demo{margin:0 auto;transition:max-width .4s var(--ease);max-width:100%}
.viewport-slider{display:flex;align-items:center;gap:14px;justify-content:center;margin-bottom:22px}
.viewport-slider input[type=range]{width:240px;accent-color:var(--bull)}

/* ===== CAROUSEL ===== */
.carousel{position:relative;overflow:hidden;border-radius:var(--radius)}
.carousel-track{display:flex;transition:transform .4s var(--ease)}
@media(prefers-reduced-motion:reduce){.carousel-track{transition:none}}
.carousel-slide{min-width:100%;flex-shrink:0}
.carousel-slide .frame-body{min-height:300px}
.carousel-btns{display:flex;gap:10px;justify-content:center;margin-top:16px}
.carousel-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:var(--bg-panel);color:var(--text);font-size:1.1rem;transition:.2s}
.carousel-btn:hover{border-color:var(--bull);color:var(--bull)}
.carousel-dots{display:flex;gap:8px;justify-content:center;margin-top:14px}
.carousel-dots button{width:9px;height:9px;border-radius:50%;background:var(--border)}
.carousel-dots button.is-active{background:var(--bull);width:24px;border-radius:5px}
.fade-carousel .carousel-slide{position:absolute;inset:0;opacity:0;transition:opacity .5s;min-width:0}
.fade-carousel{position:relative;min-height:200px}
.fade-carousel .carousel-slide.is-active{position:relative;opacity:1}

/* ===== CTA BAND ===== */
.cta-band{background:linear-gradient(135deg,var(--bg-panel),var(--bg-panel-2));border-top:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;color:var(--text)}
.cta-band *{color:inherit}
.cta-band p{color:var(--text-muted)}
.cta-band .container{max-width:780px}
.cta-band .hero-actions{margin-top:26px}

/* official ribbon */
.official-ribbon{display:flex;align-items:center;gap:10px;justify-content:center;border:1px dashed var(--cta);border-radius:var(--radius-sm);padding:12px 18px;color:var(--cta);font-weight:600;font-size:.9rem;background:repeating-linear-gradient(45deg,transparent,transparent 12px,rgba(240,165,46,.06) 12px,rgba(240,165,46,.06) 24px);margin:0 0 20px}

/* risk banner */
.risk-banner{background:#141820;border:1px solid var(--border);border-radius:var(--radius);padding:24px;color:#f4f6f9}
.risk-banner *{color:inherit}
.risk-banner p{color:var(--text-muted);font-size:.9rem;margin-top:8px}
.risk-banner .risk-flag{color:var(--bear);font-weight:700}

/* dark section enforce */
.dark-section{background:#141820;color:#f4f6f9}
.dark-section *{color:inherit}
.dark-section .muted,.dark-section p{color:var(--text-muted)}

/* ===== VALUES / FEATURE GRID ===== */
.value-card{padding:26px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius)}
.value-card .ic{width:48px;height:48px;border-radius:12px;background:var(--bg-elev);display:grid;place-items:center;color:var(--bull);font-size:1.4rem;margin-bottom:16px}

/* stats band */
.stats-band{display:grid;gap:24px;grid-template-columns:repeat(2,1fr);text-align:center}
@media(min-width:780px){.stats-band{grid-template-columns:repeat(4,1fr)}}
.stat .stat-num{font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--bull);font-variant-numeric:tabular-nums}
.stat .stat-label{color:var(--text-muted);font-size:.9rem;margin-top:4px}

/* timeline */
.timeline{position:relative;max-width:760px;margin:0 auto}
.timeline-item{position:relative;padding:0 0 32px 40px}
.timeline-item::before{content:'';position:absolute;left:9px;top:4px;bottom:-4px;width:2px;background:var(--border)}
.timeline-item:last-child::before{display:none}
.timeline-item::after{content:'';position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;border:2px solid var(--bull);background:var(--bg-base)}
.timeline-item .yr{color:var(--bull);font-weight:700;font-size:.9rem}

/* sticky TOC */
.toc-layout{display:grid;gap:32px;grid-template-columns:1fr}
@media(min-width:780px){.toc-layout{grid-template-columns:240px 1fr}}
.toc{position:sticky;top:96px;align-self:start;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px}
.toc h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:12px}
.toc a{display:block;padding:7px 10px;border-radius:6px;color:var(--text-muted);font-size:.88rem;border-left:2px solid transparent}
.toc a:hover,.toc a.is-active{color:var(--bull);border-left-color:var(--bull);background:var(--bg-elev)}
.legal-section{margin-bottom:36px;scroll-margin-top:100px}
.legal-section h2{margin-bottom:12px}
.legal-section p{margin-bottom:12px}

/* info cards / contact */
.info-card{padding:26px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);transition:.3s var(--ease)}
.info-card:hover{border-color:var(--border-glow);box-shadow:var(--shadow-glow)}
.channel-icon{display:inline-grid;place-items:center;width:50px;height:50px;border-radius:12px;background:var(--bg-elev);color:var(--bull);font-size:1.3rem;transition:transform .3s var(--ease)}
.info-card:hover .channel-icon{transform:translateY(-4px)}
.map-frame{border:1px solid var(--border);border-radius:var(--radius);min-height:260px;background:repeating-linear-gradient(0deg,var(--bg-panel),var(--bg-panel) 24px,var(--bg-panel-2) 24px,var(--bg-panel-2) 25px),repeating-linear-gradient(90deg,var(--bg-panel),var(--bg-panel) 24px,var(--bg-panel-2) 24px,var(--bg-panel-2) 25px);display:grid;place-items:center;color:var(--text-muted)}

/* tier flip cards */
.flip-card{perspective:1200px;min-height:300px}
.flip-inner{position:relative;width:100%;height:100%;min-height:300px;transition:transform .6s var(--ease);transform-style:preserve-3d}
.flip-card.is-flipped .flip-inner{transform:rotateY(180deg)}
.flip-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid var(--border);border-radius:var(--radius);padding:26px;background:var(--bg-panel);display:flex;flex-direction:column;gap:10px}
.flip-back{transform:rotateY(180deg);background:var(--bg-panel-2)}
@media(prefers-reduced-motion:reduce){.flip-inner{transition:none}}

/* download cards press depth */
.dl-card{padding:24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);text-align:center;transition:transform .15s var(--ease),box-shadow .15s}
.dl-card:active{transform:translateY(3px) scale(.99);box-shadow:inset 0 4px 12px rgba(0,0,0,.4)}

/* shortcut grid */
.shortcut-grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.shortcut-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:780px){.shortcut-grid{grid-template-columns:repeat(4,1fr)}}
.shortcut{padding:16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel)}
.kbd{display:inline-block;padding:3px 9px;border-radius:5px;background:var(--bg-elev);border:1px solid var(--border);border-bottom-width:2px;font-family:monospace;font-size:.82rem;margin-right:4px}

/* tooltip */
.tooltip-wrap{position:relative;display:inline-flex;align-items:center;gap:5px}
.tooltip-trigger{width:18px;height:18px;border-radius:50%;background:var(--bg-elev);border:1px solid var(--border);color:var(--text-muted);font-size:.7rem;display:grid;place-items:center;cursor:help}
.tooltip-bubble{position:absolute;bottom:130%;left:50%;transform:translateX(-50%) translateY(6px);background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:.8rem;width:200px;color:var(--text);opacity:0;visibility:hidden;transition:.2s var(--ease);z-index:30;box-shadow:var(--shadow)}
.tooltip-wrap.is-open .tooltip-bubble,.tooltip-wrap:hover .tooltip-bubble{opacity:1;visibility:visible;transform:translateX(-50%)}

/* sticky dual CTA bar */
.sticky-cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:850;background:rgba(11,14,17,.95);backdrop-filter:blur(12px);border-top:1px solid var(--border-glow);padding:12px 16px;display:flex;gap:12px;justify-content:center;transform:translateY(120%);transition:transform .4s var(--ease)}
.sticky-cta-bar.is-visible{transform:translateY(0)}
.sticky-cta-bar .btn-primary,.sticky-cta-bar .btn-secondary{flex:1;max-width:280px}
@media(prefers-reduced-motion:reduce){.sticky-cta-bar{transition:none}}

.dual-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* cta pulse */
.cta-pulse{position:relative}
.cta-pulse::before{content:'';position:absolute;inset:-4px;border-radius:inherit;border:2px solid var(--cta);animation:pulseRing 2s ease-out infinite;pointer-events:none}
@keyframes pulseRing{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(1.12)}}
@media(prefers-reduced-motion:reduce){.cta-pulse::before{animation:none;opacity:.5}}

/* method/icon grid */
.method-card{padding:20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);text-align:center;transition:.3s var(--ease)}
.method-card:hover{border-color:var(--border-glow);transform:translateY(-3px)}
.method-card .m-ic{width:46px;height:46px;border-radius:10px;background:var(--bg-elev);display:grid;place-items:center;margin:0 auto 12px;color:var(--system);font-weight:700}

/* calculator mock */
.calc-mock{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:24px;max-width:480px;margin:0 auto}
.calc-mock label{display:block;font-size:.85rem;color:var(--text-muted);margin:14px 0 6px}
.calc-mock input[type=range]{width:100%;accent-color:var(--bull)}
.calc-result{margin-top:20px;padding:18px;border-radius:var(--radius-sm);background:var(--bg-elev);text-align:center}
.calc-result .cr-num{font-size:2rem;font-weight:800;color:var(--bull);font-variant-numeric:tabular-nums}

/* promo code copy */
.promo-code-box{display:flex;align-items:center;gap:14px;justify-content:center;background:var(--bg-panel);border:1px dashed var(--cta);border-radius:var(--radius);padding:18px 24px;max-width:420px;margin:24px auto}
.promo-code-box .code{font-family:monospace;font-size:1.6rem;font-weight:800;letter-spacing:.1em;color:var(--cta)}
.copy-hint{font-size:.78rem;color:var(--bull);min-height:1em}

/* countdown */
.countdown{display:flex;gap:14px;justify-content:center;margin:24px 0}
.cd-cell{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 18px;min-width:74px;text-align:center}
.cd-cell .cd-num{font-size:2rem;font-weight:800;color:var(--cta);font-variant-numeric:tabular-nums}
.cd-cell .cd-lab{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}

/* checklist interactive */
.check-list li{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:10px;background:var(--bg-panel);cursor:pointer;transition:.2s}
.check-list li .box{width:22px;height:22px;border-radius:6px;border:2px solid var(--border);flex-shrink:0;display:grid;place-items:center;font-size:.8rem;color:transparent}
.check-list li.checked .box{background:var(--bull);border-color:var(--bull);color:var(--cta-ink)}
.check-list li.checked{border-color:var(--border-glow)}

/* trust badges */
.trust-badges{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.trust-badge{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--border);border-radius:999px;background:var(--bg-panel);font-size:.85rem;color:var(--text-muted)}
.trust-badge .tb-ic{color:var(--bull)}

/* status banner */
.status-banner{display:flex;align-items:center;gap:10px;justify-content:center;background:rgba(59,130,246,.12);border:1px solid var(--system);border-radius:var(--radius-sm);padding:12px 18px;color:var(--text);font-size:.9rem}

/* helpful vote */
.vote-row{display:flex;gap:10px;align-items:center;margin-top:10px}
.vote-btn{padding:6px 14px;border:1px solid var(--border);border-radius:999px;font-size:.82rem;color:var(--text-muted);transition:.2s}
.vote-btn:hover{border-color:var(--bull);color:var(--bull)}

/* faq search */
.faq-search{width:100%;max-width:440px;margin:0 auto 26px;display:block;padding:13px 18px;border-radius:var(--radius-sm);background:var(--bg-panel);border:1px solid var(--border);color:var(--text);font-size:.95rem}
.faq-search::placeholder{color:var(--text-dim)}
.faq-item.search-hidden{display:none}

/* flow diagram */
.flow-diagram{display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:center}
.flow-node{padding:16px 20px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);text-align:center;font-size:.88rem}
.flow-arrow{color:var(--bull);font-size:1.4rem}

/* toggle switch */
.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);margin-bottom:10px}
.switch{position:relative;width:46px;height:26px;border-radius:999px;background:var(--bg-elev);border:1px solid var(--border);flex-shrink:0;transition:.2s;cursor:pointer}
.switch::after{content:'';position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--text-muted);transition:.2s}
.switch.on{background:var(--bull)}
.switch.on::after{transform:translateX(20px);background:#fff}
.switch.locked{opacity:.5;cursor:not-allowed}

/* print btn */
.print-btn{margin-bottom:20px}
@media print{.site-header,.site-footer,.toc,.sticky-cta-bar,.cta-band,#scroll-progress{display:none!important}body{background:#fff;color:#000}}

/* definition expand inline */
.def-term{border-bottom:1px dashed var(--bull);color:var(--bull);cursor:pointer}
.def-body{max-height:0;overflow:hidden;transition:max-height .3s var(--ease);font-size:.88rem;color:var(--text-muted)}
.def-open .def-body{max-height:200px;margin-top:8px}

/* selection guide */
.guide-card{padding:24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel)}
.guide-card.recommended{border-color:var(--cta);box-shadow:0 0 0 1px rgba(240,165,46,.3)}
.guide-card .tag{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:4px 10px;border-radius:999px;background:var(--cta);color:var(--cta-ink);margin-bottom:10px}

/* pipeline horizontal scroll snap */
.pipeline{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px}
.pipeline-step{scroll-snap-align:start;min-width:260px;flex-shrink:0;padding:24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel)}
.pipeline-step .ps-num{font-size:2rem;font-weight:800;color:var(--bull);opacity:.4}

/* support callout */
.support-callout{text-align:center;padding:40px;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--bg-panel),var(--bg-panel-2))}

/* parallax */
.parallax-img{will-change:transform}
@media(prefers-reduced-motion:reduce){.parallax-img{transform:none!important}}

.last-updated{text-align:center;color:var(--text-muted);font-size:.88rem}
