*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}p{margin:0}
.in{max-width:1180px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.ribbon{position:sticky;top:0;z-index:50;background:#111;color:#fff;font:600 12px/1 system-ui,sans-serif;letter-spacing:.06em;text-align:center;padding:8px 12px}
.ribbon a{color:#9fe3da;margin-left:10px}
.play{width:84px;height:84px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;box-shadow:0 18px 40px rgba(0,0,0,.35);transition:transform .2s}
.play::before{content:"";margin-left:6px;border-left:26px solid #13233f;border-top:16px solid transparent;border-bottom:16px solid transparent}
a:hover .play,button:hover .play{transform:scale(1.06)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.play{transition:none}}
/* Lead form, FAQ and mobile CTA shared by all concepts; colours come from each page's --sc-* tokens */
form.lead{display:grid;gap:12px}
form.lead label{display:grid;gap:5px;font-size:.8rem;font-weight:600}
form.lead input,form.lead select,form.lead textarea{width:100%;min-width:0;font:500 .95rem var(--sc-font-text,system-ui);padding:12px 13px;border-radius:12px;border:1px solid rgba(0,0,0,.14);background:#fff;color:#14213a}
form.lead textarea{min-height:84px;resize:vertical}
form.lead .r2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
form.lead button{font:600 1rem var(--sc-font-text,system-ui);border:0;border-radius:12px;padding:15px;cursor:pointer}
form.lead .fine{font-size:.75rem;opacity:.75;text-align:center;margin:0}
form.lead .sent{padding:18px;border-radius:14px;background:rgba(37,211,102,.12)}form.lead .sent b{display:block;font-size:1.2rem;margin-bottom:6px}
.faq details{border-bottom:1px solid rgba(127,127,127,.25);padding:20px 0}
.faq summary{cursor:pointer;list-style:none;font-weight:600;font-size:1.1rem;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";font-size:1.4rem;line-height:1}.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:10px;max-width:68ch;opacity:.85}
.mcta{display:none}
@media (max-width:760px){.mcta{display:flex;position:fixed;left:10px;right:10px;bottom:10px;z-index:60;gap:8px;padding:8px;border-radius:18px;background:rgba(20,20,24,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 12px 30px rgba(0,0,0,.3)}
.mcta a{flex:1;text-align:center;font:600 .95rem system-ui,sans-serif;padding:13px 10px;border-radius:12px;text-decoration:none;background:#fff;color:#111}.mcta a.w{flex:0 0 auto;background:#25d366;color:#08331d}
body{padding-bottom:80px}}
.mcta{transition:opacity .25s,transform .25s}.mcta.off{opacity:0;transform:translateY(20px);pointer-events:none}
@media (max-width:440px){form.lead .r2{grid-template-columns:1fr}.formcard{padding:18px!important}.cta{padding:28px 18px!important;border-radius:26px!important}}
