@font-face{font-family:"Archivo";src:url(/static/fonts/archivo-latin.woff2) format("woff2");font-weight:400 900;font-display:swap}
@font-face{font-family:"Bebas Neue";src:url(/static/fonts/bebas-neue-latin.woff2) format("woff2");font-weight:400;font-display:swap}

:root{--max:1180px;--gut:20px;--r:6px}
.theme-dark{--bg:#161616;--bg2:#1f1f1f;--fg:#fff;--fg2:#cfcfcf;--mute:#8d8d8d;--line:#2e2e2e;--btn-bg:#fff;--btn-fg:#161616;--card:#1d1d1d;--overlay:rgba(22,22,22,.72)}
.theme-light{--bg:#fff;--bg2:#f4f4f2;--fg:#161616;--fg2:#3d3d3d;--mute:#7a7a7a;--line:#e3e3e3;--btn-bg:#161616;--btn-fg:#fff;--card:#fff;--overlay:rgba(255,255,255,.80)}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font:400 17px/1.6 Archivo,system-ui,sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:var(--btn-bg);color:var(--btn-fg);padding:8px 12px;z-index:99}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.narrow{max-width:780px}
.muted{color:var(--mute)}.small{font-size:.85rem}
.todo{background:#ffe08a;color:#161616;padding:0 4px}

.display{font-family:"Bebas Neue",Impact,sans-serif;font-weight:400;text-transform:uppercase;line-height:.95;letter-spacing:.3px}
h1.display{font-size:clamp(2.6rem,7vw,5rem)}
h2.display{font-size:clamp(2rem,4.6vw,3.2rem);margin-bottom:18px}
.dim{color:var(--mute)}
.kicker{font-weight:800;text-transform:uppercase;letter-spacing:2.5px;font-size:.78rem;color:var(--mute);margin-bottom:12px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--btn-bg);color:var(--btn-fg);border:2px solid var(--btn-bg);font-weight:800;text-transform:uppercase;letter-spacing:.6px;font-size:.92rem;padding:14px 22px;border-radius:var(--r);text-decoration:none;cursor:pointer;transition:opacity .15s}
.btn:hover{opacity:.88}
.btn-ghost{background:transparent;color:var(--fg);border-color:var(--fg)}
.btn-sm{padding:9px 14px;font-size:.8rem}
.link{font-weight:800;text-transform:uppercase;font-size:.85rem;letter-spacing:.6px}

/* header */
.hdr{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand img{height:44px;width:auto}
.burger{display:none;width:44px;height:44px;background:none;border:0;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px}
.burger span{display:block;width:26px;height:2px;background:var(--fg)}
.nav{display:flex;align-items:center;gap:22px}
.nav a{text-decoration:none;font-weight:600;font-size:.93rem}
.nav a[aria-current]{text-decoration:underline;text-underline-offset:6px}
.nav .btn{color:var(--btn-fg)}
@media (max-width:980px){
 .js .burger{display:flex}
 .js .nav{display:none}
 .nav{position:absolute;left:0;right:0;top:72px;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:0;padding:8px var(--gut) 20px}
 .no-js .nav,.hdr.open .nav{display:flex}
 .nav a{padding:12px 0;width:100%;border-bottom:1px solid var(--line)}
 .nav .btn{margin-top:14px;border-bottom:0;width:auto}
}

/* hero */
.hero{position:relative;min-height:min(86vh,760px);display:flex;align-items:flex-end;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 20%,var(--bg) 96%),linear-gradient(90deg,rgba(22,22,22,.85) 0%,rgba(22,22,22,.6) 40%,rgba(0,0,0,0) 75%)}
.theme-light .hero::after{background:linear-gradient(180deg,rgba(255,255,255,0) 30%,var(--bg) 97%),linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.86) 38%,rgba(255,255,255,0) 72%)}
.hero-in{position:relative;z-index:2;padding-bottom:56px;padding-top:120px}
.hero-h{font-size:clamp(3.2rem,10vw,7rem)}
.hero-h span{display:block}.hero-h span:nth-child(n+2){color:var(--mute)}
.theme-dark .hero-h span:nth-child(n+2){color:#bdbdbd}
.hero-p{max-width:560px;margin-top:18px;font-size:1.08rem;color:var(--fg2)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

.stripe{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stripe-in{display:grid;grid-template-columns:repeat(4,1fr)}
.stripe-in span{font-family:"Bebas Neue";font-size:1.5rem;text-align:center;padding:18px 8px;text-transform:uppercase}
.stripe-in span+span{border-left:1px solid var(--line)}
@media (max-width:700px){.hero::after{background:linear-gradient(180deg,var(--overlay) 0%,var(--bg) 95%)!important}.stripe-in{grid-template-columns:1fr 1fr}.stripe-in span:nth-child(3){border-left:0}.stripe-in span:nth-child(n+3){border-top:1px solid var(--line)}}

.sec{padding:76px 0}
.sec-alt{background:var(--bg2)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cards-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.cards,.cards-3{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.cards,.cards-3{grid-template-columns:1fr}}
.card{display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;text-decoration:none;transition:border-color .15s,transform .15s}
.card:hover{border-color:var(--fg);transform:translateY(-2px)}
.card-n{font-size:.75rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--mute)}
.card h3{font-family:"Bebas Neue";font-weight:400;font-size:1.7rem;line-height:1;text-transform:uppercase}
.card p{color:var(--fg2);font-size:.95rem;flex:1}
.card-go{font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:1px}
.card-go::after{content:" →"}

.split{display:grid;grid-template-columns:1.2fr 1fr;gap:44px;align-items:center}
.split img{border-radius:var(--r);width:100%;aspect-ratio:16/10;object-fit:cover}
.split p{color:var(--fg2);margin-bottom:16px}
@media (max-width:860px){.split{grid-template-columns:1fr}}

.price-band{display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center;border:2px solid var(--fg);border-radius:var(--r);padding:34px}
.price{display:flex;align-items:flex-start;font-weight:900;line-height:.85}
.price-n{font-size:clamp(4.5rem,11vw,7rem);letter-spacing:-4px}
.price-e{font-size:2rem;margin-top:8px}
.price-note{font-weight:800;text-transform:uppercase;margin-top:6px}
.ticks{list-style:none;display:grid;gap:10px}
.ticks li{padding-left:30px;position:relative;font-weight:600}
.ticks li::before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;border:2px solid var(--fg);border-radius:4px;display:grid;place-items:center;font-size:.75rem;font-weight:900}
.price-band .small{margin-top:10px;max-width:240px}
@media (max-width:860px){.price-band{grid-template-columns:1fr;gap:24px}}

/* pagine */
.phero{padding:64px 0 46px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.phero-img{padding:120px 0 56px}
.phero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32}
.theme-light .phero-bg{opacity:.22}
.phero .wrap{position:relative}
.phero-lead{max-width:680px;font-size:1.12rem;color:var(--fg2);margin-top:16px}
.crumbs{font-size:.82rem;color:var(--mute);margin-bottom:22px;display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{text-decoration:none}
.meta{color:var(--mute);margin-top:14px;font-size:.9rem}

.prose{font-size:1.06rem;color:var(--fg2)}
.prose>*+*{margin-top:1.05em}
.prose h2{font-family:"Bebas Neue";font-weight:400;text-transform:uppercase;font-size:2.1rem;line-height:1;color:var(--fg);margin-top:1.8em}
.prose h3{font-size:1.15rem;color:var(--fg);margin-top:1.4em}
.prose strong{color:var(--fg)}
.prose ul,.prose ol{padding-left:1.3em}
.prose li+li{margin-top:.4em}
.prose a{text-underline-offset:3px;font-weight:600;color:var(--fg)}
.prose table{width:100%;border-collapse:collapse;font-size:.98rem}
.prose th,.prose td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)}
.prose th{color:var(--fg);font-weight:800;text-transform:uppercase;font-size:.8rem;letter-spacing:1px}
.prose blockquote{border-left:3px solid var(--fg);padding-left:18px;color:var(--fg)}

.faq{display:grid;gap:10px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px}
.faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::after{content:"+";font-weight:900}
.faq details[open] summary::after{content:"–"}
.faq p{margin-top:10px;color:var(--fg2)}

/* lead form */
.lead{background:var(--bg2);padding:76px 0;border-top:1px solid var(--line)}
.lead-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start}
.lead-copy p{color:var(--fg2);margin-top:12px}
.lead-copy a{font-weight:700}
.lead-form{display:grid;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.lead-form label{display:grid;gap:6px;font-weight:700;font-size:.9rem}
.lead-form input,.lead-form select,.lead-form textarea{font:inherit;font-weight:400;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:12px}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:2px solid var(--fg);outline-offset:1px}
.lead-form .check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.85rem;color:var(--fg2)}
.lead-form .check input{margin-top:3px}
.lead-form .hp{position:absolute;left:-9999px}
.form-msg{font-size:.9rem;min-height:1.2em}
.form-msg.err{color:#d9534f}
@media (max-width:860px){.lead-grid{grid-template-columns:1fr}}

/* footer */
.ftr{border-top:1px solid var(--line);padding:56px 0 24px;font-size:.92rem}
.theme-light .ftr{background:#161616;color:#fff;--fg:#fff;--fg2:#cfcfcf;--mute:#8d8d8d;--line:#2e2e2e}
.ftr-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px}
.ftr-logo{height:48px;width:auto;margin-bottom:12px}
.ftr-tag{font-weight:700;margin-bottom:10px}
.ftr p{color:var(--fg2)}
.ftr-h{font-weight:800;text-transform:uppercase;letter-spacing:1.5px;font-size:.78rem;margin-bottom:12px;color:var(--fg)!important}
.ftr ul{list-style:none;display:grid;gap:8px}
.ftr a{text-decoration:none;color:var(--fg2)}.ftr a:hover{color:var(--fg)}
.ftr-legal{margin-top:40px;padding-top:18px;border-top:1px solid var(--line);font-size:.78rem;color:var(--mute);display:grid;gap:6px}
.ftr-legal p{color:var(--mute)}
@media (max-width:800px){.ftr-grid{grid-template-columns:1fr}}

.wa-float{position:fixed;right:18px;bottom:18px;z-index:60;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.25)}

/* ---------- home v2 ---------- */
.h-hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;margin-top:-72px;padding-top:72px}
.h-hero-media{position:absolute;inset:0}
.h-hero-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);animation:kb 14s ease-out forwards}
@keyframes kb{to{transform:scale(1)}}
.h-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,0) 30%,var(--bg) 98%),linear-gradient(90deg,var(--overlay) 0%,rgba(0,0,0,0) 70%)}
.theme-light .h-hero::after{background:linear-gradient(180deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,0) 30%,var(--bg) 98%),linear-gradient(90deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.7) 40%,rgba(255,255,255,0) 75%)}
.h-hero-in{position:relative;z-index:2;padding-bottom:72px;width:100%}
.h-hero-h{font-size:clamp(3.4rem,11.5vw,10rem);line-height:.86;letter-spacing:-.5px}
.h-hero-h .line{display:block;overflow:hidden}
.h-hero-h .line>span{display:inline-block;transform:translateY(105%);animation:up .9s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:var(--d)}
.h-hero-h .line:nth-child(n+2)>span{color:var(--mute)}
.theme-dark .h-hero-h .line:nth-child(n+2)>span{color:#bdbdbd}
@keyframes up{to{transform:none}}
.h-hero-row{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:28px;flex-wrap:wrap}
.h-hero-p{max-width:520px;font-size:1.1rem;color:var(--fg2)}
.h-scroll{position:absolute;z-index:3;right:var(--gut);bottom:28px;writing-mode:vertical-rl;font-size:.72rem;letter-spacing:3px;text-transform:uppercase;text-decoration:none;color:var(--mute)}
.h-scroll::after{content:"";display:block;width:1px;height:48px;background:currentColor;margin:10px auto 0;animation:sc 1.8s infinite}
@keyframes sc{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:20px 0;background:var(--bg)}
.marquee-track{display:flex;gap:28px;width:max-content;animation:mq 38s linear infinite}
.marquee span{font-family:"Bebas Neue";font-size:clamp(1.8rem,4vw,3rem);text-transform:uppercase;white-space:nowrap;line-height:1}
.marquee i{font-style:normal;color:var(--mute);font-size:1.4rem;align-self:center}
@keyframes mq{to{transform:translateX(-33.333%)}}

.h-intro{padding:110px 0}
.h-statement{font-size:clamp(1.7rem,4.2vw,3.4rem);line-height:1.15;font-weight:600;letter-spacing:-1px;max-width:1050px}
.h-statement em{font-style:normal;font-family:"Bebas Neue";font-weight:400;font-size:1.15em;letter-spacing:.5px;text-transform:uppercase;border-bottom:3px solid var(--fg)}

.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:14px}
.bento-item{position:relative;overflow:hidden;border-radius:var(--r);text-decoration:none;background:var(--card);border:1px solid var(--line);color:#fff}
.bento-big{grid-column:span 2;grid-row:span 2}
.bento-item:nth-child(4),.bento-item:nth-child(5),.bento-item:nth-child(6){grid-column:span 2}
.bento-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.bento-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.78) 100%)}
.bento-item:hover img{transform:scale(1.06)}
.bento-txt{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px;display:grid;gap:6px}
.bento-txt .card-n{color:rgba(255,255,255,.75)}
.bento-txt h3{font-family:"Bebas Neue";font-weight:400;font-size:1.9rem;line-height:1;text-transform:uppercase}
.bento-big .bento-txt h3{font-size:clamp(2.2rem,4vw,3.4rem)}
.bento-txt p{color:rgba(255,255,255,.85);max-width:460px;font-size:.98rem}
.bento-txt .card-go{color:#fff}
@media (max-width:900px){.bento{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.bento-big,.bento-item:nth-child(6){grid-column:span 2}.bento-item:nth-child(4),.bento-item:nth-child(5){grid-column:span 1}}
@media (max-width:560px){.bento{grid-template-columns:1fr}.bento-big,.bento-item:nth-child(n){grid-column:span 1;grid-row:span 1}.bento-big{grid-row:span 2}}

.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:30px;border-top:1px solid var(--line)}
.steps li{padding:28px 24px 10px 0;border-right:1px solid var(--line);margin-right:24px}
.steps li:last-child{border-right:0;margin-right:0}
.step-n{font-family:"Bebas Neue";font-size:4.2rem;line-height:1;color:var(--mute)}
.steps h3{font-family:"Bebas Neue";font-weight:400;font-size:1.9rem;text-transform:uppercase;margin:8px 0}
.steps p{color:var(--fg2);font-size:.97rem}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}.steps li{border-right:0;margin-right:0;border-bottom:1px solid var(--line);padding-bottom:22px}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

.h-sede{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden}
.h-sede-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.h-sede-in{position:relative;z-index:2;width:100%}
.h-sede-card{max-width:520px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:34px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.h-sede-card p{color:var(--fg2);margin-bottom:14px}
.h-sede-card .hero-cta{margin:18px 0 10px}

.gallery{overflow:hidden;padding:56px 0}
.gallery-track{display:flex;gap:14px;width:max-content;animation:mq 60s linear infinite}
.gallery:hover .gallery-track{animation-play-state:paused}
.g-item{width:min(420px,70vw);aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;flex:none}
.g-item:nth-child(even){aspect-ratio:3/4;width:min(300px,52vw)}
.g-item img{width:100%;height:100%;object-fit:cover}

.card-img{padding:0;overflow:hidden}
.card-img>img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .6s}
.card-img:hover>img{transform:scale(1.04)}
.card-body{display:flex;flex-direction:column;gap:10px;padding:22px 24px 24px;flex:1}

.phero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:center}
.phero-fig{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3}
.phero-fig img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.phero-grid{grid-template-columns:1fr}.phero-fig{order:-1;aspect-ratio:16/10}}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.reveal.in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.marquee-track,.gallery-track,.h-hero-media img{animation:none}.h-hero-h .line>span{transform:none;animation:none}}

/* ---------- sticky bar + quiz ---------- */
.sticky-bar{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:70;display:flex;align-items:center;gap:14px;background:var(--btn-bg);color:var(--btn-fg);border-radius:60px;padding:8px 8px 8px 20px;box-shadow:0 10px 30px rgba(0,0,0,.3);max-width:calc(100% - 100px)}
.sticky-bar[hidden]{display:none}
.sticky-bar p{font-weight:700;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky-bar .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#25d366;margin-right:8px;animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.3}}
.sticky-bar .btn{background:var(--btn-fg);color:var(--btn-bg);border-color:var(--btn-fg);border-radius:40px;white-space:nowrap}
.sticky-x{background:none;border:0;color:inherit;font-size:1.4rem;cursor:pointer;padding:0 8px;opacity:.7}
@media (max-width:640px){.sticky-bar{left:12px;right:84px;transform:none;max-width:none;padding-left:14px}.sticky-bar p{display:none}.sticky-bar .btn{flex:1}}

.quiz{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);display:grid;place-items:center;padding:16px}
.quiz[hidden]{display:none}
.quiz-box{position:relative;width:min(560px,100%);max-height:92vh;overflow:auto;background:var(--bg);color:var(--fg);border-radius:12px;padding:34px 30px 28px;border:1px solid var(--line)}
.quiz-x{position:absolute;right:12px;top:8px;background:none;border:0;color:var(--fg);font-size:1.8rem;cursor:pointer}
.quiz-bar{height:3px;background:var(--line);border-radius:3px;margin-bottom:24px;overflow:hidden}
.quiz-bar span{display:block;height:100%;width:0;background:var(--fg);transition:width .4s}
.quiz-step{display:none;border:0}
.quiz-step.is-on{display:grid;gap:14px;animation:fade .35s}
@keyframes fade{from{opacity:0;transform:translateY(8px)}}
.quiz-step h2.display{font-size:2.6rem}
.quiz-intro{color:var(--fg2)}
.quiz-q{font-family:"Bebas Neue";font-size:2rem;line-height:1;text-transform:uppercase;margin-bottom:6px}
.quiz-opts{display:grid;gap:10px}
.opt{display:block;cursor:pointer}
.opt input{position:absolute;opacity:0}
.opt span{display:block;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;font-weight:600;transition:border-color .15s,background .15s}
.opt:hover span{border-color:var(--fg)}
.opt input:checked+span{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.opt input:focus-visible+span{outline:2px solid var(--fg);outline-offset:2px}
.quiz label:not(.opt){display:grid;gap:6px;font-weight:700;font-size:.9rem}
.quiz input:not([type=radio]):not([type=checkbox]){font:inherit;font-weight:400;color:var(--fg);background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:12px}
.quiz .check{display:flex!important;gap:10px;font-weight:400!important;color:var(--fg2)}
.quiz .hp{position:absolute;left:-9999px}
.quiz-back{background:none;border:0;color:var(--mute);cursor:pointer;justify-self:start;font:inherit;font-size:.85rem;text-decoration:underline}
.ftr-legal strong{color:var(--fg2)}

/* body map */
.theme-dark{--fig:#2a2a2a;--fig-line:#3c3c3c;--hot:#fff;--hot-soft:rgba(255,255,255,.22)}
.theme-light{--fig:#e9e7e2;--fig-line:#d2cfc8;--hot:#161616;--hot-soft:rgba(22,22,22,.16)}
.bm-head{max-width:760px;margin-bottom:34px}
.bm-intro{color:var(--fg2);font-size:1.08rem}
.bm-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:44px;align-items:start}
.bm-visual{position:sticky;top:96px;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.bm-visual svg{width:100%;height:auto;display:block;overflow:visible}
.bm-fig ellipse,.bm-fig circle,.bm-fig rect,.bm-fig path{fill:var(--fig)}
.bm-fig .bm-limb{fill:none;stroke:var(--fig);stroke-linecap:round;stroke-linejoin:round}
.bm-fig .bm-line{fill:none;stroke:var(--fig-line);stroke-width:1.5;stroke-linecap:round}
.bm-lab{font:800 11px Archivo,sans-serif;letter-spacing:2px;text-transform:uppercase;fill:var(--mute)}
.bm-area{fill:var(--hot-soft);stroke:var(--hot);stroke-width:1;stroke-dasharray:3 3;transition:fill .25s,stroke-width .25s}
.bm-dot{fill:var(--hot);transform:translate(var(--dx,0),var(--dy,0))}
.bm-num{font:800 10px Archivo,sans-serif;fill:var(--bg);pointer-events:none}
.bm-pulse{fill:none;stroke:var(--hot);stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center}
.bm-zone{cursor:pointer}
.bm-zone.on .bm-area{fill:var(--hot);fill-opacity:.42;stroke-width:2;stroke-dasharray:none}
.bm-zone.on .bm-pulse{animation:bmPulse 1.8s ease-out infinite}
@keyframes bmPulse{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(4.2)}}
.bm-list{list-style:none;display:grid;gap:10px;counter-reset:none}
.bm-item{all:unset;box-sizing:border-box;display:grid;grid-template-columns:38px 1fr;gap:14px;width:100%;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r);cursor:pointer;transition:background .2s,border-color .2s}
.bm-item:hover,.bm-item:focus-visible,.bm-item[aria-pressed=true]{border-color:var(--fg);background:var(--bg2)}
.bm-item:focus-visible{outline:2px solid var(--fg);outline-offset:2px}
.bm-n{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.85rem;border:1.5px solid var(--fg)}
.bm-item[aria-pressed=true] .bm-n{background:var(--fg);color:var(--bg)}
.bm-txt strong{display:block;font-family:"Bebas Neue",sans-serif;font-weight:400;font-size:1.45rem;line-height:1;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}
.bm-what{display:block;color:var(--fg2);font-size:.96rem}
.bm-src{display:block;margin-top:6px;font-size:.76rem;color:var(--mute)}
.bm-note{margin-top:22px;max-width:760px}
@media (max-width:900px){.bm-grid{grid-template-columns:1fr;gap:22px}.bm-visual{position:sticky;top:72px;z-index:3;padding:10px}.bm-visual svg{max-height:38vh}}
@media (prefers-reduced-motion:reduce){.bm-zone.on .bm-pulse{animation:none}}

/* hero proof strip */
.h-hero{flex-direction:column;justify-content:flex-end;align-items:stretch}
.h-hero-in{padding-bottom:40px}
.h-proof{position:relative;z-index:2;border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg) 70%,transparent);backdrop-filter:blur(8px)}
.h-proof-in{display:grid;grid-template-columns:repeat(4,1fr)}
.h-proof-i{padding:18px 20px 18px 0;display:grid;gap:2px;border-right:1px solid var(--line);margin-right:20px}
.h-proof-i:last-child{border-right:0;margin-right:0}
.h-proof-i strong{font-family:"Bebas Neue";font-weight:400;font-size:1.6rem;line-height:1;text-transform:uppercase}
.h-proof-i span{font-size:.82rem;color:var(--fg2);line-height:1.35}
@media (max-width:860px){.h-proof-in{grid-template-columns:1fr 1fr}.h-proof-i{border-right:0;margin-right:0;border-bottom:1px solid var(--line);padding:12px 0}.h-proof-i:nth-child(odd){padding-right:14px}}

/* mechanism */
.mech-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.mech-copy p{color:var(--fg2);font-size:1.06rem;margin-top:14px}
.mech-copy p strong{color:var(--fg)}
.mech-fig{border-radius:var(--r);overflow:hidden;aspect-ratio:4/5}
.mech-fig img{width:100%;height:100%;object-fit:cover}
.mech-pillars{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:56px;border-top:1px solid var(--line)}
.mech-pillars li{padding:26px 26px 6px 0;border-right:1px solid var(--line);margin-right:26px}
.mech-pillars li:last-child{border-right:0;margin-right:0}
.mech-pillars h3{font-family:"Bebas Neue";font-weight:400;font-size:1.9rem;text-transform:uppercase;margin:8px 0;line-height:1}
.mech-pillars p{color:var(--fg2);font-size:.97rem}
@media (max-width:860px){.mech-grid{grid-template-columns:1fr;gap:28px}.mech-fig{aspect-ratio:4/3}.mech-pillars{grid-template-columns:1fr}.mech-pillars li{border-right:0;margin-right:0;border-bottom:1px solid var(--line);padding-bottom:20px}}

/* evidence */
.evid-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.evid-i{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px 22px;display:flex;flex-direction:column;gap:10px}
.evid-n{font-family:"Bebas Neue";font-size:clamp(3rem,5vw,4.4rem);line-height:.9}
.evid-i figcaption p{color:var(--fg2);font-size:.96rem}
.evid-i cite{display:block;margin-top:10px;font-style:normal;font-size:.75rem;color:var(--mute);line-height:1.4}
.evid-note{margin-top:18px;max-width:820px}
@media (max-width:980px){.evid-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.evid-grid{grid-template-columns:1fr}}

/* team */
.team-head{max-width:760px;margin-bottom:34px}
.team-head p:last-child{color:var(--fg2);font-size:1.06rem}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.team-i{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.team-lead{grid-column:span 3;flex-direction:row}
.team-ph{aspect-ratio:4/3;background:var(--bg2);display:grid;place-items:center;border-bottom:1px solid var(--line)}
.team-lead .team-ph{aspect-ratio:auto;flex:0 0 38%;border-bottom:0;border-right:1px solid var(--line);min-height:300px}
.team-ph img{width:100%;height:100%;object-fit:cover}
.team-ph span{font-family:"Bebas Neue";font-size:4.5rem;color:var(--mute);letter-spacing:2px}
.team-body{padding:22px}
.team-lead .team-body{padding:34px;align-self:center}
.team-role{font-weight:800;text-transform:uppercase;letter-spacing:2px;font-size:.72rem;color:var(--mute)}
.team-body h3{font-family:"Bebas Neue";font-weight:400;font-size:2rem;text-transform:uppercase;line-height:1;margin:6px 0 10px}
.team-lead h3{font-size:clamp(2.4rem,4vw,3.4rem)}
.team-creds{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.team-creds li{font-size:.78rem;font-weight:700;border:1px solid var(--line);border-radius:99px;padding:4px 10px}
.team-body p{color:var(--fg2);font-size:.96rem}
.team-note{margin-top:16px}
@media (max-width:860px){.team-grid{grid-template-columns:1fr}.team-lead{grid-column:auto;flex-direction:column}.team-lead .team-ph{flex:none;border-right:0;border-bottom:1px solid var(--line);min-height:0;aspect-ratio:4/3}.team-lead .team-body{padding:22px}}

/* header over hero */
.hdr{transition:background .3s,border-color .3s}
.over-hero .hdr:not(.scrolled):not(.open){background:transparent;border-bottom-color:transparent}
.theme-dark.over-hero .hdr:not(.scrolled):not(.open){background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,0))}
.hdr.scrolled{background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px)}

/* giant footer wordmark */
.ftr-word{font-family:"Bebas Neue",sans-serif;text-transform:uppercase;font-size:clamp(5rem,27vw,24rem);line-height:.78;text-align:center;letter-spacing:-.01em;color:transparent;-webkit-text-stroke:1px var(--line);margin:40px 0 0;user-select:none;white-space:nowrap;overflow:hidden}

/* coach photos */
.team-ph img{filter:grayscale(1);transition:filter .5s}
.team-i:hover .team-ph img{filter:none}

/* ink-on-scroll titles */
@supports (animation-timeline: view()){
 @media (prefers-reduced-motion:no-preference){
  .ink{background:linear-gradient(90deg,var(--fg) 0 50%,var(--line) 50% 100%) 100% 0/200% 100% no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;animation:ink linear both;animation-timeline:view();animation-range:entry 20% cover 45%}
  @keyframes ink{to{background-position:0 0}}
 }
}
.team-grid{grid-template-columns:repeat(2,1fr)}
.team-lead{grid-column:span 2}
.team-i:not(.team-lead){flex-direction:row;align-items:flex-start;gap:0}
.team-i:not(.team-lead) .team-ph{flex:0 0 96px;width:96px;height:96px;aspect-ratio:auto;border-radius:50%;margin:22px 0 22px 22px;border:1px solid var(--line);overflow:hidden}
.team-i:not(.team-lead) .team-ph span{font-size:2rem}
.ftr-word{line-height:.92;padding-top:.06em;-webkit-text-stroke:1px #3a3a3a}
@media (max-width:860px){.team-lead{grid-column:auto}.team-grid{grid-template-columns:1fr}}
.h-hero-h .line{padding-top:.12em;margin-top:-.12em}
.team-grid{grid-template-columns:repeat(var(--cols,2),1fr)}
.team-lead{grid-column:1/-1}
@media (max-width:980px){.team-grid{grid-template-columns:1fr}}
.team-grid[style*="--cols:3"] .team-i:not(.team-lead){flex-direction:column}
.team-grid[style*="--cols:3"] .team-i:not(.team-lead) .team-ph{margin:22px 22px 0;flex:none}

@font-face{font-family:"Instrument Serif";src:url(/static/fonts/instrument-serif-italic-latin.woff2) format("woff2");font-style:italic;font-weight:400;font-display:swap}

/* cinematic full-bleed statements */
.cine{position:relative;height:100svh;min-height:560px;overflow:hidden;display:flex;align-items:flex-end;color:#fff;background:#111}
.cine-media{position:absolute;inset:-12% 0;will-change:transform;transform:translate3d(0,var(--py,0),0)}
.cine-media img{width:100%;height:100%;object-fit:cover}
.cine::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,10,.78) 0%,rgba(10,10,10,.15) 55%,rgba(10,10,10,0) 100%)}
.theme-light .cine::after{background:linear-gradient(0deg,rgba(20,20,20,.55) 0%,rgba(20,20,20,.08) 50%,rgba(0,0,0,0) 100%)}
.cine-in{position:relative;z-index:2;padding-bottom:clamp(40px,8vh,90px);width:100%}
.cine-right .cine-in{text-align:right}
.cine-h{font-family:"Bebas Neue",sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(4.2rem,15vw,15rem);line-height:.84;letter-spacing:-.01em}
.cine-l{display:block;overflow:hidden;padding-top:.1em;margin-top:-.1em}
.cine-l>span{display:inline-block;transform:translateY(105%);transition:transform 1.1s cubic-bezier(.2,.7,.1,1)}
.cine-l:nth-child(2)>span{transition-delay:.12s}.cine-l:nth-child(3)>span{transition-delay:.24s}
.cine.in .cine-l>span{transform:none}
.cine-sub{margin-top:18px;max-width:420px;font-size:1.05rem;color:rgba(255,255,255,.86);opacity:0;transition:opacity 1s .4s}
.cine-right .cine-sub{margin-left:auto}
.cine.in .cine-sub{opacity:1}
.theme-light .cine-l:nth-child(2) span,.theme-light .cine-l:nth-child(3) span{font-family:"Instrument Serif",serif;font-style:italic;text-transform:none;font-size:.92em;letter-spacing:0}

/* pilates serif accents */
.theme-light .display .dim{font-family:"Instrument Serif",serif;font-style:italic;text-transform:none;letter-spacing:0;font-size:1.04em;color:var(--fg2)}
.theme-light .h-statement em{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;text-transform:none;border:0;font-size:1.18em;letter-spacing:0}
.theme-light .h-hero-h .line:nth-child(n+2)>span{font-family:"Instrument Serif",serif;font-style:italic;text-transform:none;letter-spacing:0;font-size:.9em;color:var(--fg2)}

/* hero detaching on scroll */
.h-hero-media{clip-path:inset(calc(var(--p,0)*2.6vw) round calc(var(--p,0)*22px));transition:clip-path .05s linear}
.h-hero-media img{animation:none;transform:scale(calc(1.1 - var(--p,0)*.1))}
.h-hero-in{transform:translateY(calc(var(--p,0)*-60px));opacity:calc(1 - var(--p,0)*1.2)}

/* counters */
.evid-n{font-variant-numeric:tabular-nums}

/* custom cursor */
.cur{position:fixed;left:0;top:0;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#fff;mix-blend-mode:difference;pointer-events:none;z-index:200;transition:width .25s,height .25s,margin .25s;display:none}
.cur.big{width:56px;height:56px;margin:-28px 0 0 -28px}
@media (hover:hover) and (pointer:fine){.has-cur .cur{display:block}}

/* preloader */
.pre{position:fixed;inset:0;z-index:300;background:var(--bg);display:grid;place-items:center;transition:clip-path .8s cubic-bezier(.7,0,.2,1);clip-path:inset(0 0 0 0)}
.pre span{font-family:"Bebas Neue",sans-serif;font-size:clamp(4rem,16vw,12rem);line-height:1;letter-spacing:.02em;color:transparent;-webkit-text-stroke:1px var(--fg);background:linear-gradient(var(--fg),var(--fg)) 0 100%/100% 0 no-repeat;-webkit-background-clip:text;background-clip:text;animation:preFill .7s .1s cubic-bezier(.6,0,.2,1) forwards}
@keyframes preFill{to{background-size:100% 100%}}
.pre.out{clip-path:inset(0 0 100% 0)}

@media (prefers-reduced-motion:reduce){.cine-l>span{transform:none;transition:none}.cine-sub{opacity:1}.cine-media{transform:none}.h-hero-media{clip-path:none}.h-hero-in{transform:none;opacity:1}.pre{display:none}}
.pre{display:none}.js .pre{display:grid}
.btn{transition:opacity .15s,transform .35s cubic-bezier(.2,.7,.2,1)}

/* anatomical plate */
.bm-plate{position:sticky;padding:0;overflow:hidden;background:#151515}
.theme-light .bm-plate{background:#f3eee4}
.bm-img{width:100%;height:auto;display:block}
.bm-over{position:absolute;inset:0;width:100%;height:100%}
.bm-plate .bm-area{fill:rgba(255,255,255,.06);stroke:rgba(255,255,255,.55);stroke-width:1.2;stroke-dasharray:3 4}
.theme-light .bm-plate .bm-area{fill:rgba(22,22,22,.04);stroke:rgba(22,22,22,.5)}
.bm-plate .bm-zone.on .bm-area{fill:var(--accent-hot);fill-opacity:.38;stroke:var(--accent-hot);stroke-dasharray:none;stroke-width:1.6;filter:drop-shadow(0 0 10px var(--accent-hot))}
.bm-plate .bm-dot{fill:var(--accent-hot)}
.bm-plate .bm-pulse{stroke:var(--accent-hot)}
.bm-plate .bm-num{fill:#fff}
.theme-dark{--accent-hot:#e8ff3a}
.theme-light{--accent-hot:#c2410c}
.bm-tag{position:absolute;top:14px;font:800 10px Archivo,sans-serif;letter-spacing:2.5px;text-transform:uppercase;color:var(--mute)}
.bm-tag-l{left:18px}.bm-tag-r{right:18px}
.bm-plate::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:40px 40px;opacity:.18;mix-blend-mode:screen}
.theme-light .bm-plate::before{mix-blend-mode:multiply;opacity:.25}
@media (max-width:900px){.bm-plate{max-height:none}.bm-plate .bm-img{max-height:46vh;width:auto;margin:0 auto}}
.bm-grid:has(.bm-plate){grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:32px}
.bm-plate~.bm-list .bm-item,.bm-grid:has(.bm-plate) .bm-item{padding:13px 16px}
.bm-grid:has(.bm-plate) .bm-what{font-size:.92rem}
@media (max-width:900px){.bm-grid:has(.bm-plate){grid-template-columns:1fr}}

/* ===== 3D body ===== */
.b3d-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:36px;align-items:start}
.b3d-stage{position:sticky;top:90px;height:min(78vh,760px);border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:radial-gradient(120% 80% at 50% 20%,var(--b3d-hi) 0%,var(--b3d-bg) 70%)}
.theme-dark{--b3d-hi:#2a2a2a;--b3d-bg:#121212}
.theme-light{--b3d-hi:#ffffff;--b3d-bg:#efe9de}
.b3d-stage::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:44px 44px;opacity:.22;-webkit-mask-image:radial-gradient(70% 70% at 50% 50%,#000,transparent);mask-image:radial-gradient(70% 70% at 50% 50%,#000,transparent)}
.b3d-mv{width:100%;height:100%;--poster-color:transparent;background:transparent;cursor:grab}
.b3d-mv:active{cursor:grabbing}
.b3d-load{position:absolute;left:20%;right:20%;bottom:24px;height:2px;background:var(--line)}
.b3d-load span{display:block;height:100%;width:var(--prog,0%);background:var(--fg);transition:width .2s}
.hs{width:30px;height:30px;border-radius:50%;border:0;padding:0;background:var(--accent-hot);color:#111;font:800 12px Archivo,sans-serif;display:grid;place-items:center;cursor:pointer;box-shadow:0 0 0 0 var(--accent-hot);transition:transform .25s,opacity .3s;position:relative}
.theme-light .hs{color:#fff}
.hs::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px solid var(--accent-hot);opacity:0}
.hs.on{transform:scale(1.18)}
.hs.on::after{animation:hsPulse 1.6s ease-out infinite}
.hs:not([data-visible]){opacity:.0;pointer-events:none}
.hs:focus-visible{outline:2px solid var(--fg);outline-offset:3px}
@keyframes hsPulse{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(2.2)}}
.b3d-hint{position:absolute;left:50%;top:18px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;font:700 11px Archivo,sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--mute);pointer-events:none;transition:opacity .4s}
.b3d-stage.touched .b3d-hint{opacity:0}
.b3d-views{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:99px;padding:4px}
.b3d-views button{all:unset;cursor:pointer;font:800 11px Archivo,sans-serif;letter-spacing:1.5px;text-transform:uppercase;padding:9px 16px;border-radius:99px;color:var(--fg2)}
.b3d-views button[aria-pressed=true]{background:var(--fg);color:var(--bg)}
.b3d-views button:focus-visible{outline:2px solid var(--fg)}
.b3d-chips,.b3d-card{display:none}
.b3d-list .bm-item{padding:14px 16px}
.b3d-list .bm-item[aria-pressed=true] .bm-n{background:var(--accent-hot);border-color:var(--accent-hot);color:#111}
.theme-light .b3d-list .bm-item[aria-pressed=true] .bm-n{color:#fff}

/* tablet */
@media (max-width:1024px){
 .b3d-grid{grid-template-columns:1fr;gap:18px}
 .b3d-stage{position:relative;top:0;height:min(68svh,640px)}
 .b3d-list{grid-template-columns:1fr 1fr}
}
/* mobile: stage + chip rail + single card */
@media (max-width:700px){
 .b3d .wrap{padding:0 var(--gut)}
 .b3d-stage{height:62svh;min-height:420px;margin:0 calc(var(--gut) * -1);border-radius:0;border-left:0;border-right:0}
 .b3d-list{display:none}
 .b3d-chips{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 0 10px;margin:0 calc(var(--gut) * -1);padding-left:var(--gut);padding-right:var(--gut);scrollbar-width:none}
 .b3d-chips::-webkit-scrollbar{display:none}
 .b3d-chip{all:unset;flex:0 0 auto;scroll-snap-align:start;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line);border-radius:99px;font:700 .86rem Archivo,sans-serif;white-space:nowrap;cursor:pointer;min-height:24px}
 .b3d-chip b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--fg);font-size:.72rem}
 .b3d-chip[aria-selected=true]{background:var(--fg);color:var(--bg)}
 .b3d-chip[aria-selected=true] b{background:var(--accent-hot);border-color:var(--accent-hot);color:#111}
 .b3d-card{display:block;position:relative;border:1px solid var(--line);border-radius:var(--r);background:var(--bg2);padding:20px 18px 64px;min-height:220px}
 .b3d-info{display:none}.b3d-info.on{display:block;animation:fadeUp .35s ease}
 .b3d-n{font:800 11px Archivo,sans-serif;letter-spacing:2px;color:var(--mute)}
 .b3d-info h3{font-family:"Bebas Neue";font-weight:400;font-size:2.1rem;line-height:1;text-transform:uppercase;margin:6px 0 8px}
 .b3d-info p{color:var(--fg2)}
 .b3d-nav{position:absolute;right:14px;bottom:14px;display:flex;gap:8px}
 .b3d-nav button{all:unset;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;cursor:pointer;font-size:1.1rem}
 .b3d-nav button:active{background:var(--fg);color:var(--bg)}
 .hs{width:34px;height:34px}
}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.hs.on::after{animation:none}.b3d-info.on{animation:none}}
.b3d-grid>*{min-width:0}
.b3d-mv.ok .b3d-load{display:none}
@media (max-width:700px){.b3d-hint{top:14px;left:16px;transform:none;font-size:10px}}
.hs{width:14px;height:14px;font-size:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-hot) 30%,transparent)}
.hs span{display:none}
.hs.on{width:32px;height:32px;font-size:12px;transform:none}
.hs.on span{display:block}
.b3d-hint{left:20px;top:18px;transform:none}
@media (max-width:860px){.team-lead .team-ph{aspect-ratio:auto;height:170px}.team-lead .team-ph:has(img){height:auto;aspect-ratio:4/3}}

/* banner cookie */
.ck{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;max-width:560px;background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:12px;padding:22px 22px 18px;box-shadow:0 18px 50px rgba(0,0,0,.28);font-size:.9rem;line-height:1.5}
.ck[hidden]{display:none}
.ck-x{position:absolute;top:8px;right:10px;background:none;border:0;color:var(--fg);font-size:1.6rem;line-height:1;cursor:pointer;padding:4px 8px;opacity:.75}
.ck-x:hover{opacity:1}
.ck-h{font-weight:800;font-size:1rem;margin-bottom:6px;padding-right:28px}
.ck-p{color:var(--fg2)}
.ck-p a{text-decoration:underline}
.ck-prefs{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.ck-prefs[hidden]{display:none}
.ck-row{display:flex;gap:10px;align-items:flex-start;color:var(--fg2);cursor:pointer}
.ck-row input{margin-top:4px;width:18px;height:18px;flex:none;accent-color:var(--fg)}
.ck-row strong{display:block;color:var(--fg)}
.ck-btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}
.ck-b{flex:1 1 140px;background:var(--btn-bg);color:var(--btn-fg);border:2px solid var(--btn-bg);border-radius:var(--r);padding:12px 16px;font:800 .82rem/1 Archivo,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.6px;cursor:pointer}
.ck-b[hidden],.ck-link[hidden]{display:none}
.ck-link{flex:1 1 100%;background:none;border:0;color:var(--fg);text-decoration:underline;font:600 .85rem Archivo,system-ui,sans-serif;cursor:pointer;padding:4px 0}
.ck-save{flex-basis:100%}
@media (min-width:700px){.ck{left:24px;bottom:24px;right:auto}}
.tbl{overflow-x:auto;margin:14px 0 18px;-webkit-overflow-scrolling:touch}
.tbl table{min-width:560px;font-size:.88rem}
.tbl td{vertical-align:top}
@media (max-width:700px){
.tbl table{min-width:0}
.tbl thead{display:none}
.tbl table,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}
.tbl tr{border:1px solid var(--line);border-radius:8px;padding:6px 14px;margin-bottom:10px}
.tbl td{border:0;padding:6px 0}
.tbl td::before{content:attr(data-label);display:block;font-size:.68rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--mute)}
}

/* pagine interne */
.ph-hero{position:relative;min-height:min(86svh,860px);display:flex;align-items:flex-end;overflow:hidden;margin-top:-72px;padding-top:72px;color:#fff}
.ph-hero-media{position:absolute;inset:0}
.ph-hero-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);animation:kb 14s ease-out forwards}
.ph-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.05) 35%,rgba(0,0,0,.72) 100%)}
.ph-hero-in{position:relative;z-index:2;padding-bottom:56px;width:100%}
.ph-hero .crumbs,.ph-hero .crumbs a{color:rgba(255,255,255,.78)}
.ph-hero .kicker{color:rgba(255,255,255,.85)}
.ph-hero-h{font-size:clamp(3rem,8.4vw,7.4rem);line-height:.9;max-width:14ch;color:#fff}
.ph-hero-row{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;margin-top:18px}
.ph-hero .phero-lead{color:rgba(255,255,255,.9);margin-top:0;max-width:560px}
.ph-hero .btn{background:#fff;color:#161616;border-color:#fff}
.ph-hero .btn-ghost{background:transparent;color:#fff;border-color:#fff}
.ph-facts{border-bottom:1px solid var(--line);background:var(--bg)}
.ph-facts-in{display:grid;grid-template-columns:repeat(4,1fr)}
.ph-facts-in>div{padding:20px 18px;border-left:1px solid var(--line);display:grid;gap:4px}
.ph-facts-in>div:first-child{border-left:0;padding-left:0}
.ph-facts span{font-size:.7rem;letter-spacing:1.6px;text-transform:uppercase;color:var(--mute);font-weight:700}
.ph-facts strong{font-size:.98rem}
.ph-facts a{text-underline-offset:3px}
.ph-split-in{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start}
.ph-split-rev .ph-split-in{grid-template-columns:.9fr 1.1fr}
.ph-split-rev .ph-fig{order:-1}
.ph-split .prose>h2:first-child{margin-top:0}
.ph-fig{position:sticky;top:96px;border-radius:var(--r);overflow:hidden;aspect-ratio:3/4;background:var(--bg2)}
.ph-fig img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.ph-fig:hover img{transform:scale(1.03)}
.ph-band{position:relative;height:min(78vh,720px);overflow:hidden;margin:0}
.ph-band img{position:absolute;inset:-10% 0;width:100%;height:120%;object-fit:cover;will-change:transform}
.ph-more .prose>h2:first-child,.ph-band+.sec .prose>h2:first-child{margin-top:0}
.ph-steps-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px;padding:0}
.ph-steps-list li{border-top:2px solid var(--fg);padding-top:18px}
.ph-steps-list h3{font-family:"Bebas Neue";font-weight:400;font-size:1.9rem;line-height:1;margin:8px 0}
.ph-steps-list p{color:var(--fg2)}
.ph-steps-cta{margin-top:30px;display:flex;gap:22px;align-items:center;flex-wrap:wrap}
@media (max-width:1024px){
  .ph-split-in,.ph-split-rev .ph-split-in{grid-template-columns:1fr 1fr;gap:36px}
}
@media (max-width:760px){
  .ph-hero{min-height:78svh}
  .ph-hero-in{padding-bottom:34px}
  .ph-facts-in{grid-template-columns:1fr 1fr}
  .ph-facts-in>div{padding:14px 12px;border-left:0;border-top:1px solid var(--line)}
  .ph-facts-in>div:nth-child(-n+2){border-top:0}
  .ph-facts-in>div:nth-child(odd){padding-left:0}
  .ph-split-in,.ph-split-rev .ph-split-in{grid-template-columns:1fr;gap:26px}
  .ph-split-rev .ph-fig{order:0}
  .ph-fig{position:relative;top:0;aspect-ratio:4/5}
  .ph-band{height:56vh}
  .ph-steps-list{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.ph-hero-media img{animation:none;transform:none}}
.theme-light .ph-hero::after{background:linear-gradient(180deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,0) 26%,rgba(0,0,0,0) 45%,rgba(0,0,0,.66) 100%)}
.ph-more{padding-top:0}
.ph-split+.ph-more,.ph-band+.sec+.ph-more{padding-top:0}
@media (max-width:760px){
  .ph-hero::after{background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.35) 30%,rgba(0,0,0,.82) 70%,rgba(0,0,0,.9) 100%)}
  .theme-light .ph-hero::after{background:linear-gradient(180deg,rgba(255,255,255,.8) 0%,rgba(255,255,255,0) 18%,rgba(0,0,0,.45) 42%,rgba(0,0,0,.85) 100%)}
}
.quiz .check,.lead-form .check{display:flex!important;align-items:flex-start;gap:10px;font-size:.82rem!important;line-height:1.45;font-weight:400!important;text-transform:none!important;letter-spacing:0!important;color:var(--fg2)}
.quiz .check input,.lead-form .check input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--fg)}
.quiz .check a,.lead-form .check a{text-decoration:underline;color:var(--fg)}
.ph-hero-h--long{font-size:clamp(2.3rem,5vw,4.6rem);max-width:20ch}
/* hero interne snelle + benefici */
.ph-hero{min-height:min(72svh,720px)}
.ph-facts span{font-size:.86rem;letter-spacing:0;text-transform:none;font-weight:400;color:var(--fg2)}
.ph-facts strong{font-family:"Bebas Neue";font-weight:400;font-size:1.45rem;line-height:1;text-transform:uppercase}
.ph-intro{padding-top:34px}
.ph-intro .crumbs{margin-bottom:14px}
.ph-lead{font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.45;max-width:760px;color:var(--fg)}
.ph-intro+.sec{padding-top:40px}
@media (max-width:760px){.ph-hero{min-height:62svh}.ph-hero-in .hero-cta .btn-ghost{display:none}}
h1.kicker{font-family:inherit}

/* home: statement con parole in evidenza nello stesso font, card grande leggibile su telefono */
.theme-dark .h-statement em{font-family:inherit;font-size:1em;font-weight:800;letter-spacing:inherit;text-transform:none;border:0;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:.14em}
@media (max-width:560px){
  .h-statement{line-height:1.25;letter-spacing:-.5px}
  .bento .bento-item.bento-big{grid-row:span 2}
  .bento-big .bento-txt h3{font-size:2.3rem}
  .bento-big .bento-txt p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .bento-item::after{background:linear-gradient(180deg,rgba(0,0,0,0) 20%,rgba(0,0,0,.85) 100%)}
}

/* ---------- quiz funnel ---------- */
.quiz-box{width:min(620px,100%);padding:22px 28px 0}
.quiz-top{display:grid;gap:10px;margin:0 34px 18px 0}
.quiz-brand{font-weight:800;text-transform:uppercase;letter-spacing:2px;font-size:.7rem;color:var(--mute)}
.quiz-top .quiz-bar{margin:0;height:5px}
.quiz-step{padding-bottom:4px}
.quiz-step h2.display,.quiz-h2{font-size:clamp(1.9rem,5vw,2.5rem);margin:0}
.quiz-step .kicker{margin-bottom:-6px}
.quiz-fig{margin:0;border-radius:10px;overflow:hidden;background:var(--bg2)}
.quiz-fig img{width:100%;aspect-ratio:16/9;object-fit:cover}
.quiz-fig--portrait{width:132px;border-radius:50%;border:3px solid var(--line)}
.quiz-fig--portrait img{aspect-ratio:1;object-position:50% 20%}
.quiz-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.quiz-chips li{border:1px solid var(--line);border-radius:40px;padding:5px 12px;font-size:.8rem;font-weight:700}
.quiz-chips li::before{content:"✓ ";color:#25a35a}
.quiz-q{font-size:clamp(1.7rem,4.6vw,2.2rem);line-height:1.02;margin-bottom:14px}
.quiz-opts--tiles{grid-template-columns:1fr 1fr}
.opt b{font-weight:700}
.opt--tile span{padding:0;overflow:hidden;height:100%}
.opt--tile img{width:100%;aspect-ratio:4/3;object-fit:cover}
.opt--tile b{display:block;padding:10px 12px;font-size:.92rem;line-height:1.25}
.opt input:checked+span{box-shadow:0 0 0 2px var(--fg)}
.quiz-ok{min-height:1.5em;font-size:.92rem;color:var(--fg2);opacity:0;transform:translateY(4px);transition:opacity .25s,transform .25s}
.quiz-ok.on{opacity:1;transform:none}
.quiz-ok.on::before{content:"✓ ";color:#25a35a;font-weight:800}
.quiz-nav{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg);padding:14px 0 20px;margin-top:4px;border-top:1px solid var(--line)}
.quiz-intro-step .quiz-nav{justify-content:flex-end}
.quiz-nav--end{flex-wrap:wrap}
.quiz-go{min-width:150px}
.quiz-go:disabled{opacity:.3;cursor:not-allowed}
.quiz-stat{display:grid;gap:4px;border-left:4px solid var(--fg);padding:4px 0 4px 16px}
.quiz-stat strong{font-family:"Bebas Neue";font-weight:400;font-size:clamp(3.2rem,10vw,4.4rem);line-height:.9}
.quiz-stat span{color:var(--fg2);font-size:.95rem;line-height:1.4}
.quiz-points{list-style:none;counter-reset:qp;display:grid;gap:8px}
.quiz-points li{counter-increment:qp;display:flex;gap:12px;align-items:center;background:var(--bg2);border-radius:var(--r);padding:10px 14px;font-weight:600;font-size:.95rem}
.quiz-points li::before{content:counter(qp,decimal-leading-zero);font-family:"Bebas Neue";font-size:1.5rem;line-height:1;color:var(--mute)}
.quiz-source{font-size:.75rem;color:var(--mute);line-height:1.45}
.quiz-loading{text-align:center;justify-items:center;padding:30px 0 40px}
.quiz-ring{width:64px;height:64px;border-radius:50%;border:4px solid var(--line);border-top-color:var(--fg);animation:qspin 1s linear infinite}
@keyframes qspin{to{transform:rotate(360deg)}}
.quiz-lines{list-style:none;display:grid;gap:10px;text-align:left;width:min(340px,100%)}
.quiz-lines li{color:var(--mute);transition:color .3s}
.quiz-lines li::before{content:"○";display:inline-block;width:1.6em;color:var(--mute)}
.quiz-lines li.on{color:var(--fg);font-weight:600}
.quiz-lines li.on::before{content:"✓";color:#25a35a;font-weight:800}
.quiz-preview{border:1px solid var(--line);border-radius:10px;padding:16px 18px;background:var(--bg2);display:grid;gap:6px}
.quiz-preview .kicker{margin:0}
.quiz-preview-t{font-family:"Bebas Neue";font-size:1.7rem;line-height:1;text-transform:uppercase}
.quiz-blur{filter:blur(5px);user-select:none;color:var(--fg2)}
.quiz-path{list-style:none;counter-reset:qs;display:grid;gap:10px}
.quiz-path li{counter-increment:qs;display:grid;grid-template-columns:auto 1fr;column-gap:14px;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}
.quiz-path li::before{content:counter(qs,decimal-leading-zero);grid-row:span 2;font-family:"Bebas Neue";font-size:2rem;line-height:1}
.quiz-path span{color:var(--fg2);font-size:.92rem}
.quiz-done{background:var(--bg2);border-radius:var(--r);padding:14px 16px;font-size:.95rem}
@media (max-width:640px){
  .quiz{padding:0;place-items:stretch}
  .quiz-box{max-height:100dvh;height:100dvh;border-radius:0;border:0;padding:16px 18px 0}
  .quiz-go{flex:1}
}
/* quiz a pagina intera */
.quiz--inline{position:static;inset:auto;z-index:auto;background:none;backdrop-filter:none;display:block;padding:0}
.quiz--inline .quiz-box{margin:0 auto;max-height:none;height:auto;border:1px solid var(--line);border-radius:12px;overflow:visible}
.quiz-page{padding:28px 0 60px;background:var(--bg2)}
@media (max-width:640px){.quiz-page{padding:0}.quiz--inline .quiz-box{border:0;border-radius:0}}

/* form contatti */
.lead-copy{display:grid;gap:14px}
.lead-copy>*{margin-top:0!important}
.lead-fig{margin:0;border-radius:10px;overflow:hidden}
.lead-fig img{width:100%;aspect-ratio:16/8;object-fit:cover}
.lead-copy h2.display{margin:0}
.lead-next{list-style:none;counter-reset:ln;display:grid;gap:10px}
.lead-next li{counter-increment:ln;display:grid;grid-template-columns:auto 1fr;column-gap:14px}
.lead-next li::before{content:counter(ln,decimal-leading-zero);grid-row:span 2;font-family:"Bebas Neue";font-size:1.9rem;line-height:1;color:var(--mute)}
.lead-next span{color:var(--fg2);font-size:.92rem}
.lead-quiz{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;background:var(--card)}
.lead-quiz p{margin:0!important;font-size:.92rem}
.lead-form{position:sticky;top:96px;box-shadow:0 18px 40px rgba(0,0,0,.12)}
@media (max-width:860px){.lead-form{position:static}.lead-quiz{flex-direction:column;align-items:flex-start}}

/* home Performance: movimento leggero sulla prima schermata (solo transform e opacity) */
.h-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.10) 50%,transparent 60%);transform:translateX(-100%);animation:hsweep 9s ease-in-out 1.6s infinite;pointer-events:none}
@keyframes hsweep{0%{transform:translateX(-100%)}35%,100%{transform:translateX(100%)}}
.h-hero-fx{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.h-hero-fx i{position:absolute;right:-30%;height:2px;width:clamp(120px,22vw,320px);border-radius:2px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.55));opacity:0;animation:hstreak 3.4s cubic-bezier(.4,0,.2,1) infinite}
.h-hero-fx i:nth-child(1){top:22%;animation-delay:1.2s}
.h-hero-fx i:nth-child(2){top:34%;width:clamp(80px,14vw,200px);animation-delay:2.3s;animation-duration:2.8s}
.h-hero-fx i:nth-child(3){top:47%;animation-delay:3.1s;animation-duration:3.8s}
.h-hero-fx i:nth-child(4){top:58%;width:clamp(60px,10vw,160px);animation-delay:4.4s}
.h-hero-fx i:nth-child(5){top:15%;width:clamp(90px,16vw,240px);animation-delay:5.2s;animation-duration:3s}
@keyframes hstreak{0%{transform:translateX(0);opacity:0}15%{opacity:.9}70%{opacity:.5}100%{transform:translateX(-170vw);opacity:0}}
.h-hero-cue{position:absolute;z-index:3;right:clamp(16px,4vw,48px);bottom:28px;width:2px;height:56px;background:rgba(255,255,255,.18);border-radius:2px;overflow:hidden}
.h-hero-cue::after{content:"";position:absolute;left:0;top:0;width:100%;height:40%;background:#fff;animation:hcue 1.8s ease-in-out infinite}
@keyframes hcue{0%{transform:translateY(-100%)}100%{transform:translateY(250%)}}
h1.h-hero-p{font:inherit;font-size:1.1rem;font-weight:500;line-height:1.55}
.h-hero-row.reveal{transition-delay:.45s}
@media (max-width:640px){.h-hero-cue{display:none}.h-hero-fx i{height:1.5px}}
@media (prefers-reduced-motion:reduce){.h-hero-media::after,.h-hero-fx,.h-hero-cue{display:none}}
