/* v3 bold home hero (public-v3). Flat purple, white italic caps headline, Bo big + bottom-cropped (desktop),
   real-fact cards (never prices), ticker. Contrast: white on #5A2BD6 = 7.9:1; #F3EAD0 on #141210 = 15:1. */
.home-v3{--pp:#5A2BD6;--pk:#141210}
.home-v3 .top{background:var(--pp);border-bottom-color:rgba(255,255,255,.18);-webkit-backdrop-filter:none;backdrop-filter:none}
.home-v3 .top .logo,.home-v3 .top .logo *{color:#fff}
.home-v3 .mainnav .nav-row a{border-color:#fff;color:#fff}
.home-v3 .mainnav .nav-row a[aria-current],.home-v3 .mainnav .nav-row a:hover{background:#fff;color:#2a1170}
.home-v3 .top .btn-signin,.home-v3 .lang summary{background:transparent;border-color:#fff;color:#fff}
.home-v3 .hdr-help{border-color:#fff}
.home-v3 .burger summary{background:transparent;border-color:#fff;color:#fff}
.home-v3 .hdr-help:focus-visible,.home-v3 .burger summary:focus-visible,.home-v3 .hero a:focus-visible,.home-v3 .hero button:focus-visible{outline:3px solid #FFD23F;outline-offset:2px}
.home-v3 .hero{background:var(--pp)!important;color:#fff;padding-bottom:16px;overflow:hidden}
.home-v3 .hero .kicker-pill{background:transparent;border:1.5px solid #fff;color:#fff;box-shadow:none}
.home-v3 .hero .kicker-pill .live{background:#FFD23F}
.home-v3 .hero .lede,.home-v3 .hero .flabel,.home-v3 .hero .for-tg legend{color:#fff}
.home-v3 .hero .hero-help,.home-v3 .hero .hero-needs{display:none}
.home-v3 .for-tg{background:transparent;border-color:rgba(255,255,255,.7);box-shadow:none}
.home-v3 .for-tg label span{color:#fff}
.home-v3 .for-tg label:hover span{background:rgba(255,255,255,.14)}
.home-v3 .for-tg input:checked+span{background:#fff;color:#2a1170}
.home-v3 .hero-copy{container-type:inline-size}
.home-v3 .hero h1.h1-v3{color:#fff;font-family:"Poppins",system-ui,sans-serif;font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.035em;line-height:.92;
 font-size:clamp(2.2rem,calc(100cqi / (var(--n) * .64)),6.4rem);margin:.15em 0 .3em;overflow-wrap:normal;hyphens:none}
.home-v3 .hero h1.h1-v3 .h1l{display:block;white-space:nowrap;padding-right:.12em}
.home-v3 .hero .btn-primary{background:var(--pk);color:#fff;box-shadow:none}
.home-v3 .hero .btn-primary:hover{background:#000}
.home-v3 .hero .btn-ghost{background:transparent;border-color:#fff;color:#fff}
.home-v3 .hero .btn-lg{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:8px 20px;font-size:.98rem;line-height:1.2}
.home-v3 .bo-tip{box-shadow:0 4px 0 var(--pk)}
.home-v3 .bo-img{filter:drop-shadow(0 26px 30px rgba(0,0,0,.35))}
.v3-cards{list-style:none;margin:8px 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;grid-column:1/-1}
.v3-card{display:flex;gap:10px;align-items:center;background:#141210;color:#F3EAD0;border-radius:16px;padding:10px 14px 10px 10px;font-size:.86rem;line-height:1.3;width:min(100%,260px);box-shadow:0 12px 28px rgba(0,0,0,.3)}
.v3-card svg{flex:none;width:38px;height:38px;padding:8px;border-radius:10px;background:#2e2a3a;color:#FFD23F}
.v3-card strong{display:block;color:#fff;font-size:.95rem}
.v3-tick{background:#141210;color:#fff;overflow:hidden;height:36px;display:flex;align-items:center;font:800 .8rem/1 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.v3-tick-in{display:inline-flex;flex:none}
.v3-tick-in span{padding:0 14px}
.v3-tick-in span::after{content:"·";padding-left:28px}
@media (prefers-reduced-motion:no-preference){html:not(.motion-off) .v3-tick-in{animation:v3t 40s linear infinite}}
@keyframes v3t{to{transform:translateX(-50%)}}
@media (min-width:768px){
 .home-v3 .hero .hero-in{grid-template-columns:minmax(0,1fr) var(--bo-col);align-items:end}
 .home-v3 .hero-copy{align-self:center;padding-bottom:24px}
 .home-v3 .hero{--bo-col:clamp(240px,min(36vw,(100vh - 320px) * .63),400px)}
 .v3-cards{justify-content:flex-start}
}
@media (min-width:1200px){
 .home-v3 .hero{--bo-col:clamp(300px,min(30vw,(100vh - 275px) * .63),460px)}
 .home-v3 .hero .hero-in{grid-template-columns:minmax(0,1fr) var(--bo-col) 220px;gap:24px}
 .v3-cards{grid-column:auto;flex-direction:column;align-self:center;margin:0}
 .v3-card{width:100%}
}
@media (max-width:767px){.home-v3 .bo-fig{width:min(72vw,300px)}}
/* headline line-length buckets (classes, not inline style: CSP blocks style attrs) */
.h1n-6{--n:6}.h1n-7{--n:7}.h1n-8{--n:8}.h1n-9{--n:9}.h1n-10{--n:10}.h1n-11{--n:11}.h1n-12{--n:12}.h1n-13{--n:13}.h1n-14{--n:14}.h1n-15{--n:15}.h1n-16{--n:16}.h1n-17{--n:17}.h1n-18{--n:18}.h1n-19{--n:19}.h1n-20{--n:20}.h1n-21{--n:21}.h1n-22{--n:22}
/* v3.4: Bo shown in full (no crop) */
.home-v3 .bo-img{aspect-ratio:auto;object-fit:contain;height:auto;max-width:100%}
/* v3.5: tighter hero padding on wide screens so Bo + ticker fit above the fold on short laptops */
@media (min-width:1200px){.home-v3 .hero .hero-in{padding-top:20px;padding-bottom:0}}
/* v3.6: toggle without fieldset border (label no longer sits on the border); each choice is its own pill */
.home-v3 .for-tg{border:0;padding:0;background:transparent;gap:8px;border-radius:0}
.home-v3 .for-tg legend{float:none;width:100%;padding:0 0 6px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800}
.home-v3 .for-tg label span{border:1.5px solid rgba(255,255,255,.85);padding:8px 16px}
.home-v3 .hero .kicker-pill{white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
/* v3.6: re-matted Bo sits in the scene: soft contact shadow under the feet + faint purple ambient rim */
.home-v3 .bo-fig{background:radial-gradient(ellipse 38% 3.2% at 52% 98.6%,rgba(24,8,70,.55),rgba(24,8,70,0) 72%) no-repeat}
.home-v3 .bo-img{filter:drop-shadow(0 0 1.5px rgba(120,80,240,.45)) drop-shadow(0 22px 26px rgba(24,8,70,.28))}
/* v3.7: Bo hops. Space for the peak is reserved INSIDE the image box (padding-top), so at the top of the hop his
   drawn figure never rises above the box's resting top: no overlap with the bubble, text, cards or ticker. */
.home-v3 .bo-fig{position:relative;background:none}
.home-v3 .bo-img{padding-top:11%;box-sizing:border-box;transform-origin:50% 100%;will-change:transform}
.home-v3 .bo-fig::after{content:"";position:absolute;left:24%;right:20%;bottom:-6px;height:16px;border-radius:50%;
 background:radial-gradient(closest-side,rgba(24,8,70,.55),rgba(24,8,70,0));pointer-events:none;transform-origin:50% 50%}
@keyframes bohop{
 0%,56%,100%{transform:translateY(0) scale(1,1)}
 8%{transform:translateY(0) scale(1.04,.95);animation-timing-function:ease-out}
 13%{transform:translateY(0) scale(.97,1.04);animation-timing-function:cubic-bezier(.2,.7,.35,1)}
 28%{transform:translateY(-6.5%) scale(1,1);animation-timing-function:cubic-bezier(.6,0,.85,.4)}
 42%{transform:translateY(0) scale(1.05,.94);animation-timing-function:ease-out}
 50%{transform:translateY(0) scale(.99,1.01)}}
@keyframes boshadow{0%,13%,42%,100%{transform:scale(1);opacity:1}28%{transform:scale(.62);opacity:.4}}
@media (prefers-reduced-motion:no-preference){
 html:not(.motion-off) .home-v3 .bo-img{animation:bohop 2.8s infinite 1.2s}
 html:not(.motion-off) .home-v3 .bo-fig::after{animation:boshadow 2.8s infinite 1.2s}
 html.bo-off .home-v3 .bo-img,html.bo-off .home-v3 .bo-fig::after{animation-play-state:paused}}
html.bo-peak .home-v3 .bo-img{animation:none!important;transform:translateY(-6.5%)!important}
html.bo-peak .home-v3 .bo-fig::after{animation:none!important}
/* mini header Bo hidden while the hero Bo is visible (JS adds the class; without JS it stays) */
.hdr-help{transition:opacity .2s ease,visibility 0s linear 0s}
html.hero-bo-vis .hdr-help{opacity:0;visibility:hidden;transition:opacity .2s ease,visibility 0s linear .2s}
