:root{
  --black:#050505;
  --panel:#0b0b0b;
  --panel-2:#10100f;
  --white:#fff;
  --muted:#a8a8a3;
  --line:#262624;
  --line-strong:#393936;
  --accent:#f92c50;
  --accent-start:#cf0f47;
  --accent-end:#f92c50;
  --accent-gradient:linear-gradient(135deg,var(--accent-start),var(--accent-end));
  --glass-bg:linear-gradient(135deg,rgba(18,18,17,.68),rgba(7,7,7,.46));
  --glass-border:rgba(255,255,255,.11);
  --glass-highlight:rgba(255,255,255,.055);
  --glass-shadow:0 24px 80px rgba(0,0,0,.22);
  --shell:1400px;
  --header-h:76px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h);color-scheme:dark}
body{margin:0;background:var(--black);color:var(--white);font-family:"Inter Tight",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
a{color:inherit}
button,input,textarea,select{font:inherit}
button{color:inherit}
::selection{background:var(--accent);color:#fff}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.shell{width:min(calc(100% - 64px),var(--shell));margin-inline:auto}
.skip-link{position:fixed;left:16px;top:12px;z-index:1000;background:var(--white);color:var(--black);padding:10px 14px;text-decoration:none;font-weight:700;transform:translateY(-160%)}
.skip-link:focus{transform:none}

.site-header{position:fixed;inset:0 0 auto;z-index:50;height:var(--header-h);background:linear-gradient(180deg,rgba(16,16,16,.58),rgba(5,5,5,.38));border-bottom:1px solid rgba(255,255,255,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 10px 36px rgba(0,0,0,.12);backdrop-filter:blur(26px) saturate(135%);-webkit-backdrop-filter:blur(26px) saturate(135%);transition:background .28s ease,border-color .28s ease,box-shadow .28s ease}
.site-header.is-scrolled{background:linear-gradient(180deg,rgba(18,18,18,.72),rgba(5,5,5,.58));border-color:rgba(255,255,255,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.065),0 14px 42px rgba(0,0,0,.20)}
.nav-shell{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}
.wordmark{font-size:.98rem;font-weight:800;letter-spacing:.16em;text-decoration:none;white-space:nowrap}
.main-nav{display:flex;align-items:center;gap:4px}
.main-nav a{padding:11px 13px;text-decoration:none;font-weight:600;font-size:.94rem;color:#d7d7d2;transition:color .2s ease,background-color .2s ease}
.main-nav a:hover{color:#fff}
.main-nav>a:not(.nav-cta){position:relative}
.main-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:13px;right:13px;bottom:4px;height:1px;background:var(--accent-gradient);transform:scaleX(0);transform-origin:left;transition:transform .24s ease}
.main-nav>a:not(.nav-cta).is-active{color:#fff}
.main-nav>a:not(.nav-cta).is-active::after{transform:scaleX(1)}
.main-nav .nav-cta.is-active{box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 0 0 1px rgba(249,44,80,.12)}
.main-nav .nav-cta{margin-left:10px;background:var(--accent-gradient);color:#fff;padding:12px 16px;border:1px solid transparent;background-origin:border-box;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.main-nav .nav-cta:hover{color:#fff}
.menu-toggle{display:none;border:0;background:transparent;padding:10px 0;font-weight:700;cursor:pointer}

.hero{padding:calc(var(--header-h) + 68px) 0 112px;min-height:100svh;display:flex;align-items:center;background:var(--black);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:0;align-items:start}
.eyebrow,.section-index,.application-kicker,.price-label,.fit-column-positive .fit-kicker,.principle-number,.price-detail-index{font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero h1{grid-column:1 / -1;margin:0;font-size:clamp(4.55rem,9.7vw,9.5rem);line-height:.84;letter-spacing:-.028em;font-weight:700;max-width:1260px;text-wrap:balance}
.hero h1 .hero-line>span{color:#fff}
.hero h1 .hero-line-accent>span{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-bottom{grid-column:1 / span 9;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:38px;align-items:end;margin-top:42px;border-top:1px solid var(--line);padding-top:28px;max-width:920px}
.lead{max-width:720px;margin:0;color:var(--muted);font-size:clamp(1.08rem,1.45vw,1.35rem);line-height:1.5}
.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:52px;padding:14px 18px;background:var(--accent-gradient);color:#fff;text-decoration:none;font-weight:750;white-space:nowrap;border:1px solid transparent;background-origin:border-box;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.button:hover{border-color:transparent;color:#fff;transform:translateY(-2px)}
.video-wrap{grid-column:1 / -1;margin-top:78px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);aspect-ratio:16/8.25;background:#0a0a0a;overflow:hidden}
.video-facade{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;border:0;cursor:pointer;background-color:#111;background-image:linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.42)),url("https://i.ytimg.com/vi/-BSQlJxCDcI/maxresdefault.jpg");background-size:cover;background-position:center;color:#fff}
.video-facade:after{content:"";position:absolute;inset:0;border:1px solid transparent;transition:border-color .2s ease,background-color .2s ease}
.video-facade:hover:after{border-color:rgba(255,255,255,.35);background:rgba(0,0,0,.08)}
.video-play{position:relative;z-index:1;width:74px;height:74px;display:grid;place-items:center;border-radius:50%;background:var(--accent-gradient);font-size:1.3rem;padding-left:4px;transition:transform .2s ease,background-color .2s ease}
.video-facade:hover .video-play{transform:scale(1.06);background:#fff;color:#000}
.video-label{position:absolute;z-index:1;left:24px;bottom:22px;font-size:.78rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
.video-wrap iframe{width:100%;height:100%;border:0;display:block}

.section-dark{padding:150px 0;background:var(--black)}
.editorial-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:72px;border-top:1px solid var(--line);padding-top:38px}
.section-meta{align-self:start}
.section-index{margin:0}
.section-side{margin:46px 0 0;color:#5f5f5b;font-size:.92rem;line-height:1.35}
.section-head{width:100%;max-width:none;border-top:1px solid var(--line);padding-top:38px}
.section-head>div,.section-head>h2{max-width:980px}
.section-head h2,.faq h2,.candidate h2,.selection h2{margin:0;padding-bottom:.08em;font-size:clamp(3.55rem,6.75vw,7.05rem);line-height:.94;letter-spacing:-.018em;font-weight:700;text-wrap:balance;overflow:visible}
.nowrap-line{white-space:nowrap}

.body-copy{max-width:900px;margin-top:58px;color:var(--muted);font-size:clamp(1.12rem,1.5vw,1.38rem);line-height:1.58}
.body-copy p{margin:0 0 1.55em}
.body-copy p:first-child{color:#e8e8e3}

/* Principi - matrice editoriale, senza card tradizionali */
.principles{padding-top:26px;padding-bottom:160px}
.principles-head{margin-bottom:76px}
.section-lead{max-width:760px;color:var(--muted);font-size:clamp(1.2rem,1.8vw,1.62rem);line-height:1.42;margin:34px 0 0}
.principle-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.principle-card{position:relative;min-height:430px;padding:34px 38px 42px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;isolation:isolate;transition:background-color .28s ease}
.principle-card::before{content:"";position:absolute;inset:auto -20% -46% auto;width:72%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(249,44,80,.10),rgba(249,44,80,0) 68%);opacity:0;transform:translate(12%,12%);transition:opacity .35s ease,transform .35s ease;z-index:-1}
.principle-card:hover{background:var(--panel)}
.principle-card:hover::before{opacity:1;transform:translate(0,0)}
.principle-card-head{display:flex;align-items:center;gap:18px;margin-bottom:84px}
.principle-number{font-size:.8rem;font-weight:800;letter-spacing:.14em;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.principle-rule{height:1px;background:var(--line-strong);flex:1;transform-origin:left;transition:transform .3s ease,background-color .3s ease}
.principle-card:hover .principle-rule{background:var(--accent);transform:scaleX(.82)}
.principle-card h3{max-width:560px;margin:0;font-size:clamp(2.6rem,4.35vw,4.8rem);line-height:.9;letter-spacing:-.01em;font-weight:650;text-wrap:balance}
.principle-card p{max-width:580px;margin:38px 0 0;color:var(--muted);font-size:1.08rem;line-height:1.56}

/* Selezione clienti - confronto editoriale dark */
.selection{padding-top:40px;padding-bottom:160px}
.selection-head{margin-bottom:76px}
.fit-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);background:var(--panel)}
.fit-column{min-width:0;padding:38px 36px 26px}
.fit-column+ .fit-column{border-left:1px solid var(--line)}
.fit-column-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:34px}
.fit-kicker{margin:0;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.fit-column-positive .fit-kicker{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.fit-column-positive .fit-symbol{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.fit-column-negative .fit-kicker,.fit-column-negative .fit-symbol{color:#777772}
.fit-symbol{font-size:1.35rem;font-weight:500;line-height:1}
.fit-list{list-style:none;margin:0;padding:0}
.fit-list li{position:relative;margin:0;padding:24px 0 24px 32px;border-top:1px solid var(--line);color:#b5b5af;font-size:1.03rem;line-height:1.52}
.fit-list li::before{content:"";position:absolute;left:0;top:32px;width:10px;height:1px;background:var(--line-strong)}
.fit-column-positive .fit-list li::before{background:var(--accent)}
.fit-column-positive .fit-list li:first-child{color:#ecece7}
.fit-column{transition:background-color .25s ease}
.fit-column:hover{background:var(--panel-2)}

.candidate{position:relative;isolation:isolate;padding:118px 0 128px;background:radial-gradient(circle at 14% 28%,rgba(207,15,71,.055),transparent 25%),radial-gradient(circle at 86% 78%,rgba(249,44,80,.045),transparent 28%),var(--black);color:var(--white);border-top:0}
.candidate-panel{display:grid;grid-template-columns:1fr;gap:0;background:linear-gradient(135deg,rgba(17,17,16,.68),rgba(8,8,8,.48));color:#fff;padding:52px 54px 58px;border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight),0 26px 90px rgba(0,0,0,.20);backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%)}
.candidate-meta{display:flex;flex-direction:column;justify-content:space-between;min-height:500px}
.candidate-tag{margin:0;color:#63635f;font-size:.92rem;line-height:1.35}
.candidate-copy{padding-top:4px}
.application-kicker{margin:0}
.candidate-lead{max-width:840px;font-size:clamp(1.45rem,2.45vw,2.45rem);line-height:1.24;letter-spacing:-.005em;margin:26px 0 0;color:#e5e5df}
.candidate-note{max-width:620px;margin:58px 0 0;color:#777772;font-size:.96rem;line-height:1.5}
.button-light{margin-top:18px;background:#fff;border-color:#fff;color:#000}
.button-light:hover{background:var(--accent-gradient);border-color:transparent;color:#fff}
.button.is-placeholder{cursor:not-allowed;opacity:.58;transform:none}
.button.is-placeholder:hover{background:#fff;border-color:#fff;color:#000;transform:none}

.faq{padding:150px 0;background:var(--black);color:var(--white);border-top:0}
.faq-head{border-color:var(--line);margin-bottom:78px}
.faq-list{margin-left:0;border-bottom:1px solid var(--line)}
.faq details{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:30px 56px 30px 0;font-size:clamp(1.25rem,2.05vw,1.85rem);font-weight:650;position:relative;letter-spacing:-.012em;color:#f4f4ef;transition:color .2s ease}
.faq summary:hover{color:var(--accent)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-weight:400;font-size:1.8rem;color:var(--accent)}
.faq details[open] summary:after{content:"−"}
.faq details p{max-width:870px;margin:0;padding:0 56px 34px 0;color:var(--muted);font-size:1.08rem;line-height:1.58}

.site-footer{border-top:1px solid var(--line);padding:76px 0 30px;background:#070707;color:var(--muted)}
.footer-wrap{position:relative}
.footer-grid{display:grid;grid-template-columns:minmax(260px,1.25fr) repeat(3,minmax(150px,.75fr));gap:72px;padding-bottom:72px}
.footer-brand{max-width:330px}
.footer-mark{display:inline-block;color:#fff;margin-bottom:24px}
.footer-brand p{margin:0;color:#b7b7b1;font-size:.98rem;line-height:1.5}
.footer-brand .footer-brand-note{margin-top:18px;color:#696964;font-size:.92rem;line-height:1.55}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:13px;min-width:0}
.footer-column h2{margin:0 0 10px;color:#fff;font-size:.82rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.footer-column a,.footer-pending{color:#8f8f89;text-decoration:none;font-size:.94rem;line-height:1.45;transition:color .2s ease}
.footer-column a:hover{color:#fff}
.footer-status-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}
.footer-status{font-size:.68rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase;color:#666661;white-space:nowrap}
.footer-status.is-active{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.footer-pending{display:flex;align-items:baseline;gap:8px;color:#64645f}
.footer-pending small{font-size:.67rem;letter-spacing:.05em;text-transform:uppercase;color:#444440}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-top:28px;border-top:1px solid var(--line);font-size:.82rem;color:#5f5f5a}
.footer-bottom p{margin:0}
.footer-bottom-right{display:flex;align-items:center;gap:26px}
.back-to-top{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line-strong);color:#fff;text-decoration:none;background:rgba(255,255,255,.015);transition:border-color .2s ease,background-color .2s ease,transform .2s ease}
.back-to-top svg{width:17px;height:17px;transition:transform .2s ease}
.back-to-top:hover{border-color:#5a5a56;background:rgba(255,255,255,.045);transform:translateY(-2px)}
.back-to-top:hover svg{transform:translateY(-2px)}

@media(max-width:980px){
  .shell{width:min(calc(100% - 40px),var(--shell))}
  .hero h1{font-size:clamp(4rem,11.4vw,7rem)}
  .hero-bottom{grid-column:1 / -1;grid-template-columns:1fr;max-width:none}
  .button{justify-self:start}
  .editorial-grid{grid-template-columns:190px minmax(0,1fr);gap:42px}
  .candidate-panel{grid-template-columns:1fr;gap:0}
  .principle-card{min-height:390px;padding:30px 30px 36px}
  .principle-card-head{margin-bottom:64px}
  .principle-card h3{font-size:clamp(2.35rem,5.3vw,3.8rem)}
  .fit-column{padding:32px 28px 22px}
  .fit-list li{padding-left:28px;font-size:.98rem}
  .faq-list{margin-left:0}
}

@media(max-width:900px){
  :root{--header-h:66px}
  .nav-shell{position:relative}
  .menu-toggle{display:block}
  .main-nav{display:none;position:fixed;inset:var(--header-h) 0 0;background:linear-gradient(180deg,rgba(10,10,10,.82),rgba(5,5,5,.90));padding:28px 20px 40px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid rgba(255,255,255,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.035);backdrop-filter:blur(28px) saturate(130%);-webkit-backdrop-filter:blur(28px) saturate(130%);overflow-y:auto}
  .main-nav.is-open{display:flex}
  .main-nav a{font-size:clamp(1.8rem,6vw,3rem);line-height:1;padding:16px 0;color:#fff;letter-spacing:-.02em;border-bottom:1px solid var(--line)}
  .main-nav>a:not(.nav-cta)::after{left:0;right:auto;bottom:8px;width:54px}
  .main-nav .nav-cta{margin:24px 0 0;padding:18px;font-size:1.05rem;line-height:1;justify-content:space-between;display:flex;border:0}
}

@media(max-width:760px){
  :root{--header-h:66px}
  .shell{width:min(calc(100% - 28px),var(--shell))}
  .hero{padding:calc(var(--header-h) + 46px) 0 72px;min-height:auto}
  .hero-grid{grid-template-columns:repeat(6,minmax(0,1fr));column-gap:12px}
  .hero-eyebrow{grid-column:1 / span 5;margin-bottom:34px}
  
  .hero h1{grid-column:1 / -1;font-size:clamp(3.45rem,17.3vw,5.7rem);line-height:.87;letter-spacing:-.034em}
  .hero-bottom{grid-column:1 / -1;margin-top:42px;padding-top:24px;gap:26px}
  .lead{font-size:1.05rem}
  .button{width:100%;justify-content:space-between;padding-inline:16px}
  .video-wrap{grid-column:1 / -1;margin-top:54px;aspect-ratio:4/3}
  .video-play{width:62px;height:62px}

  .section-dark,.faq{padding:92px 0}
  .editorial-grid{grid-template-columns:1fr;gap:34px;padding-top:24px}
  .section-side{display:none}
  .editorial-grid h2,.faq h2,.candidate h2,.selection h2{font-size:clamp(3.05rem,14.6vw,5.15rem);line-height:.95;letter-spacing:-.024em}
  .body-copy{margin-top:38px;font-size:1.06rem;line-height:1.6}

  .principles{padding:0 0 96px}
  .principles-head{margin-bottom:48px}
  .section-lead{font-size:1.16rem;margin-top:28px}
  .principle-matrix{grid-template-columns:1fr}
  .principle-card{min-height:auto;padding:26px 22px 34px}
  .principle-card::before{display:none}
  .principle-card-head{margin-bottom:50px}
  .principle-card h3{font-size:clamp(2rem,8.8vw,3.35rem);line-height:.94;letter-spacing:-.014em;overflow-wrap:anywhere}
  .principle-card p{font-size:1.02rem;margin-top:28px}
  .principle-card:hover{background:transparent}
  .principle-card:hover .principle-rule{transform:none;background:var(--line-strong)}

  .selection{padding:0 0 96px}
  .selection-head{margin-bottom:46px}
  .fit-board{grid-template-columns:1fr}
  .fit-column{padding:26px 20px 18px}
  .fit-column+ .fit-column{border-left:0;border-top:1px solid var(--line)}
  .fit-column-head{padding-bottom:24px}
  .fit-list li{padding:20px 0 20px 26px;font-size:1rem}
  .fit-list li::before{top:29px}
  .fit-column:hover{background:var(--panel)}

  .candidate{padding:14px 0 96px;background:var(--black)}
  .candidate .shell{width:calc(100% - 28px)}
  .candidate-panel{grid-template-columns:1fr;gap:30px;padding:28px 22px 26px}
  .candidate-meta{min-height:auto}
  .candidate-tag{display:none}
  .candidate-lead{font-size:clamp(1.35rem,6.5vw,1.85rem);margin-top:28px}
  .candidate-note{margin-top:40px}

  .faq-head{margin-bottom:46px}
  .faq-list{margin-left:0}
  .faq summary{padding:24px 40px 24px 0;font-size:1.18rem}
  .faq details p{padding:0 28px 28px 0;font-size:1.02rem}

  .site-footer{padding:62px 0 28px}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px;padding-bottom:56px}
  .footer-brand{max-width:none;grid-column:1 / -1}
  .footer-bottom{align-items:flex-start;flex-direction:column;gap:18px}
  .footer-bottom-right{width:100%;justify-content:space-between}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

/* Candidatura - wizard a una domanda per step */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.form-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.application-form{margin-top:72px;border-top:1px solid rgba(255,255,255,.085);padding-top:28px}
.form-progress{margin-bottom:64px}
.form-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:13px;color:#7e7e79;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.form-progress-track{height:1px;background:rgba(255,255,255,.08);overflow:hidden}
.form-progress-track span{display:block;width:7.7%;height:100%;background:var(--accent-gradient);transform-origin:left;transition:width .35s ease}
.form-steps{min-height:430px}
.form-step{border:0;margin:0;padding:0;min-width:0}
.form-step[hidden]{display:none}
.form-step legend{max-width:1020px;padding:0;margin:0 0 46px;font-size:clamp(2.4rem,4.7vw,5.1rem);line-height:.94;letter-spacing:-.018em;font-weight:650;text-wrap:balance}
.form-step legend>span:not(.legend-optional){color:var(--accent)}
.legend-optional{font-size:.28em;vertical-align:middle;color:#74746f;font-weight:600;letter-spacing:.02em;white-space:nowrap}
.choice-list{border-top:1px solid var(--line);max-width:980px}
.choice{width:100%;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:28px;border:0;border-bottom:1px solid var(--line);background:transparent;color:#d8d8d2;text-align:left;padding:18px 4px;cursor:pointer;font-size:clamp(1.05rem,1.55vw,1.32rem);font-weight:600;transition:color .18s ease,padding-color .18s ease,background-color .18s ease}
.choice span:last-child{color:#555550;transition:color .18s ease,transform .18s ease}
.choice:hover,.choice:focus-visible{color:#fff;background:rgba(255,255,255,.018);padding-left:12px;padding-right:12px}
.choice:hover span:last-child,.choice:focus-visible span:last-child{color:var(--accent);transform:translate(2px,-2px)}
.choice.is-selected{color:#fff;background:rgba(249,44,80,.07);padding-left:12px;padding-right:12px}
.choice.is-selected span:last-child{color:var(--accent)}
.form-input{display:block;width:min(100%,980px);border:0;border-bottom:1px solid var(--line-strong);border-radius:0;background:transparent;color:#fff;padding:8px 0 18px;font-size:clamp(1.5rem,2.8vw,2.6rem);line-height:1.2;outline:none;caret-color:var(--accent);transition:border-color .2s ease}
.form-input::placeholder{color:#454541;opacity:1}
.form-input:focus{border-color:var(--accent)}
.form-textarea{resize:vertical;min-height:160px;font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.45}
.form-helper{max-width:720px;margin:-22px 0 34px;color:#777772;font-size:1rem;line-height:1.5}
.form-privacy{max-width:720px;margin:28px 0 0;color:#666661;font-size:.88rem;line-height:1.5}
.form-error{max-width:980px;margin:12px 0 0;color:#ff7088;font-size:.95rem;line-height:1.45}
.form-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:46px;padding-top:24px;border-top:1px solid var(--line)}
.form-actions button{border:0;cursor:pointer;font-weight:750;min-height:50px}
.form-back{background:transparent;color:#777772;padding:12px 0}
.form-back:not(:disabled):hover{color:#fff}
.form-back:disabled{opacity:.28;cursor:default}
.form-next,.form-submit{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;background:var(--accent-gradient);color:#fff;padding:14px 18px;min-width:180px;border:1px solid transparent;background-origin:border-box;transition:background-color .2s ease,color .2s ease,transform .2s ease}
.form-next:hover,.form-submit:hover{background:#fff;color:#000;transform:translateY(-2px)}
.form-submit:disabled{opacity:.6;cursor:wait;transform:none}
.form-next[hidden],.form-submit[hidden]{display:none}
.application-success{border-top:1px solid var(--line);margin-top:72px;padding-top:34px;max-width:980px}
.application-success[hidden]{display:none}
.application-success h3{margin:24px 0 0;font-size:clamp(3.1rem,6vw,6.2rem);line-height:.88;letter-spacing:-.01em;font-weight:650}
.application-success>p:not(.section-index){max-width:700px;margin:34px 0 0;color:var(--muted);font-size:1.22rem;line-height:1.52}
.text-link{display:inline-block;margin-top:36px;color:#fff;text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:3px;font-weight:700}
.text-link:hover{color:var(--accent)}

@media(max-width:760px){
  .candidate-panel{padding-bottom:34px}
  .application-form{margin-top:50px;padding-top:22px}
  .form-progress{margin-bottom:46px}
  .form-steps{min-height:390px}
  .form-step legend{font-size:clamp(2.15rem,11vw,3.55rem);line-height:.94;letter-spacing:-.012em;margin-bottom:36px}
  .legend-optional{display:block;font-size:.35em;margin-top:10px}
  .choice{min-height:62px;padding:16px 2px;font-size:1.04rem}
  .choice:hover,.choice:focus-visible,.choice.is-selected{padding-left:8px;padding-right:8px}
  .form-input{font-size:clamp(1.42rem,7vw,2rem);padding-bottom:14px}
  .form-textarea{font-size:1.18rem;min-height:150px}
  .form-helper{margin-top:-14px;font-size:.95rem}
  .form-actions{margin-top:34px}
  .form-next,.form-submit{min-width:0;flex:1;gap:14px}
  .form-back{padding-right:8px}
  .application-success{margin-top:50px}
}

/* Investimento - prezzo trasparente, senza pricing card SaaS */
.investment{position:relative;isolation:isolate;padding-top:40px;padding-bottom:160px;background:radial-gradient(circle at 82% 46%,rgba(249,44,80,.075),transparent 27%),radial-gradient(circle at 18% 82%,rgba(207,15,71,.035),transparent 24%),var(--black)}
.investment-head{margin-bottom:76px}
.price-board{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);border:1px solid var(--glass-border);background:var(--glass-bg);box-shadow:inset 0 1px 0 var(--glass-highlight),var(--glass-shadow);backdrop-filter:blur(24px) saturate(128%);-webkit-backdrop-filter:blur(24px) saturate(128%);overflow:hidden}
.price-main,.price-details{border-right:1px solid rgba(255,255,255,.075)}
.price-main{min-height:530px;padding:42px 42px 46px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}
.price-main::after{content:"";position:absolute;right:-12%;bottom:-42%;width:64%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(249,44,80,.13),rgba(249,44,80,0) 68%);pointer-events:none}
.price-label{margin:0;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.price-value{display:flex;align-items:flex-end;gap:12px;white-space:nowrap;position:relative;z-index:1}
.price-value strong{font-size:clamp(6.4rem,12vw,11.5rem);line-height:.72;letter-spacing:-.04em;font-weight:700}
.price-currency{align-self:flex-start;margin-top:.08em;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:clamp(2.2rem,4.2vw,4rem);font-weight:700;line-height:1}
.price-period{padding-bottom:.55em;color:#777772;font-size:clamp(1.05rem,1.6vw,1.35rem);font-weight:650}
.price-note{max-width:660px;margin:0;color:var(--muted);font-size:1.08rem;line-height:1.55;position:relative;z-index:1}
.price-details{display:flex;flex-direction:column}
.price-detail{display:grid;grid-template-columns:54px minmax(0,1fr);gap:18px;padding:34px 34px 32px;border-bottom:1px solid rgba(255,255,255,.075);flex:1;align-content:start;background:rgba(255,255,255,.008);transition:background-color .25s ease}
.price-detail:last-child{border-bottom:0}
.price-detail:hover{background:rgba(255,255,255,.025)}
.price-detail-index{color:var(--accent);font-size:.76rem;font-weight:800;letter-spacing:.14em;padding-top:4px}
.price-detail strong{display:block;font-size:1.12rem;letter-spacing:.01em}
.price-detail p{margin:10px 0 0;color:var(--muted);font-size:1rem;line-height:1.5}
.investment-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-top:30px}
.investment-cta p{max-width:650px;margin:0;color:#777772;font-size:.96rem;line-height:1.5}
.investment-cta .button{flex:0 0 auto}

@media(max-width:900px){
  .section-head{padding-top:26px}
  .section-head h2{letter-spacing:-.012em}
  .investment{padding:0 0 96px}
  .investment-head{margin-bottom:46px}
  .price-board{grid-template-columns:1fr}
  .price-main{min-height:440px;padding:28px 22px 32px}
  .price-details{border-left:0}
  .price-value{gap:8px;flex-wrap:wrap}
  .price-value strong{font-size:clamp(5.2rem,25vw,8.2rem)}
  .price-period{padding-bottom:.35em}
  .price-detail{grid-template-columns:42px minmax(0,1fr);padding:26px 20px 24px;gap:10px}
  .investment-cta{align-items:flex-start;flex-direction:column;padding-top:26px}
  .investment-cta .button{width:100%}
}

/* Motion system - progressive enhancement, no scroll hijacking */
.scroll-progress{position:absolute;left:0;bottom:-1px;width:100%;height:2px;overflow:hidden;pointer-events:none}
.scroll-progress::before{content:"";display:block;width:100%;height:100%;background:var(--accent-gradient);transform:scaleX(var(--scroll-progress,0));transform-origin:left center;will-change:transform}

.hero-title-motion{overflow:visible}
.hero-line{display:block;overflow:hidden;padding-bottom:.035em;margin-bottom:-.035em}
.hero-line>span{display:block;will-change:transform,opacity}
.hero-line-accent>span{background:var(--accent-gradient);background-size:180% 180%;-webkit-background-clip:text;background-clip:text;color:transparent}
.motion-ready .hero-line>span{transform:translateY(112%);opacity:.15}
.motion-ready.hero-entered .hero-line>span{transform:translateY(0);opacity:1;transition:transform .78s cubic-bezier(.2,.75,.2,1),opacity .56s ease}
.motion-ready.hero-entered .hero-line:nth-child(2)>span{transition-delay:.09s}
.motion-ready.hero-entered .hero-line:nth-child(3)>span{transition-delay:.18s}
.motion-ready.hero-entered .hero-line-accent>span{animation:accentSweep 1.5s .42s cubic-bezier(.2,.75,.2,1) both}
.motion-ready .hero-bottom{opacity:0;transform:translateY(24px)}
.motion-ready.hero-entered .hero-bottom{opacity:1;transform:translateY(0);transition:opacity .68s .48s ease,transform .8s .48s cubic-bezier(.2,.75,.2,1)}
.motion-ready .video-wrap{opacity:0;transform:translateY(28px)}
.motion-ready.hero-entered .video-wrap{opacity:1;transform:translateY(0);transition:opacity .8s .66s ease,transform .9s .66s cubic-bezier(.2,.75,.2,1)}

.motion-ready .reveal-item{opacity:0;transform:translateY(34px);transition:opacity .72s cubic-bezier(.2,.75,.2,1),transform .82s cubic-bezier(.2,.75,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal-item.reveal-soft{transform:translateY(20px)}
.motion-ready .reveal-item.is-visible{opacity:1;transform:translateY(0)}
.motion-ready .reveal-line{position:relative;border-top-color:transparent}
.motion-ready .reveal-line::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--line);transform:scaleX(0);transform-origin:left;transition:transform 1s cubic-bezier(.2,.75,.2,1) .08s}
.motion-ready .reveal-line.is-visible::before{transform:scaleX(1)}

/* Price reveal: large number lands after the section title */
.motion-ready .price-value strong,.motion-ready .price-currency,.motion-ready .price-period{opacity:0;transform:translateY(34px)}
.motion-ready .price-main.is-visible .price-currency{opacity:1;transform:translateY(0);transition:opacity .45s .18s ease,transform .68s .18s cubic-bezier(.2,.75,.2,1)}
.motion-ready .price-main.is-visible .price-value strong{opacity:1;transform:translateY(0);transition:opacity .5s .25s ease,transform .76s .25s cubic-bezier(.2,.75,.2,1)}
.motion-ready .price-main.is-visible .price-period{opacity:1;transform:translateY(0);transition:opacity .48s .38s ease,transform .7s .38s cubic-bezier(.2,.75,.2,1)}

/* CTA microinteraction: shared ArrowUpRight swap */
.button,.main-nav .nav-cta,.form-next,.form-submit{background-size:180% 180%;background-position:0% 50%;transition:background-position .38s ease,background-color .2s ease,color .2s ease,border-color .2s ease,transform .24s cubic-bezier(.2,.75,.2,1)}
.button:hover,.main-nav .nav-cta:hover,.form-next:hover,.form-submit:hover{background-position:100% 50%}
.cta-motion{display:inline-flex;align-items:center;justify-content:center;gap:18px}
.cta-motion .cta-label{display:inline-block}
.cta-icon{position:relative;display:inline-block;width:17px;height:17px;overflow:hidden;flex:0 0 17px}
.cta-icon-arrow{position:absolute;inset:0;width:100%;height:100%;transition:transform .34s cubic-bezier(.2,.75,.2,1),opacity .22s ease}
.cta-icon-arrow-primary{transform:translate(0,0);opacity:1}
.cta-icon-arrow-secondary{transform:translate(-115%,115%);opacity:0}
.cta-motion:hover .cta-icon-arrow-primary,.cta-motion:focus-visible .cta-icon-arrow-primary{transform:translate(115%,-115%);opacity:0}
.cta-motion:hover .cta-icon-arrow-secondary,.cta-motion:focus-visible .cta-icon-arrow-secondary{transform:translate(0,0);opacity:1}
.button.cta-motion:hover,.main-nav .nav-cta.cta-motion:hover{transform:translateY(-2px)}
.form-next span,.form-submit span{display:inline-block;transition:transform .22s ease}
.form-next:hover span,.form-submit:hover span{transform:translateX(3px)}

/* Principles / selection: staged reading rhythm */
.motion-ready .principle-rule{transform:scaleX(.12)}
.motion-ready .principle-card.is-visible .principle-rule{transform:scaleX(1);transition:transform .72s cubic-bezier(.2,.75,.2,1) .18s,background-color .3s ease}
.motion-ready .fit-list li{opacity:0;transform:translateX(-10px)}
.motion-ready .fit-column.is-visible .fit-list li{opacity:1;transform:translateX(0);transition:opacity .48s ease,transform .58s cubic-bezier(.2,.75,.2,1)}
.motion-ready .fit-column.is-visible .fit-list li:nth-child(1){transition-delay:.14s}
.motion-ready .fit-column.is-visible .fit-list li:nth-child(2){transition-delay:.2s}
.motion-ready .fit-column.is-visible .fit-list li:nth-child(3){transition-delay:.26s}
.motion-ready .fit-column.is-visible .fit-list li:nth-child(4){transition-delay:.32s}
.motion-ready .fit-column.is-visible .fit-list li:nth-child(5){transition-delay:.38s}

/* Form step motion. JS adds leaving/entering classes to preserve accessibility. */
.form-step.is-step-entering{animation:formStepIn .46s cubic-bezier(.2,.75,.2,1) both}
.form-step.is-step-entering.is-backward{animation-name:formStepInBack}
.form-step.is-step-leaving{animation:formStepOut .24s ease both}
.form-step.is-step-leaving.is-backward{animation-name:formStepOutBack}
.form-progress-track span{transition:width .52s cubic-bezier(.2,.75,.2,1)}

/* FAQ opening/closing is animated by JS */
.faq details>p{overflow:hidden;transform-origin:top}
.faq summary::after{transition:transform .26s ease,color .2s ease}
.faq details[open] summary::after{transform:translateY(-50%) rotate(180deg)}

@keyframes accentSweep{
  0%{background-position:0% 50%}
  100%{background-position:100% 50%}
}
@keyframes formStepIn{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes formStepInBack{
  from{opacity:0;transform:translateY(-18px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes formStepOut{
  from{opacity:1;transform:translateY(0)}
  to{opacity:0;transform:translateY(-14px)}
}
@keyframes formStepOutBack{
  from{opacity:1;transform:translateY(0)}
  to{opacity:0;transform:translateY(14px)}
}

@media(prefers-reduced-motion:reduce){
  .motion-ready .hero-line>span,.motion-ready .hero-bottom,.motion-ready .video-wrap,.motion-ready .reveal-item,.motion-ready .price-value strong,.motion-ready .price-currency,.motion-ready .price-period,.motion-ready .fit-list li{opacity:1!important;transform:none!important}
  .motion-ready .reveal-line::before,.motion-ready .principle-rule{transform:none!important}
  .hero-line-accent>span{animation:none!important;background-position:50% 50%!important}
  .form-step.is-step-entering,.form-step.is-step-leaving{animation:none!important}
  .scroll-progress::before{transition:none!important}
}

/* Headline mask adds an editorial reveal inside section entrances. */
.motion-ready .section-head h2{clip-path:inset(0 0 100% 0);transform:translateY(18px)}
.motion-ready .section-head.is-visible h2{clip-path:inset(0 0 0 0);transform:translateY(0);transition:clip-path .9s cubic-bezier(.2,.75,.2,1) .08s,transform .9s cubic-bezier(.2,.75,.2,1) .08s}
@media(prefers-reduced-motion:reduce){.motion-ready .section-head h2{clip-path:none!important;transform:none!important}}

/* Verticali attivi e lista d'attesa */
.verticals{padding-top:40px;padding-bottom:160px}
.verticals-head{margin-bottom:76px}
.vertical-board{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(440px,.92fr);border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--panel)}
.vertical-active,.vertical-waitlist{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.vertical-active{min-height:520px;padding:38px 40px 42px;display:flex;flex-direction:column;align-items:flex-start;position:relative;overflow:hidden}
.vertical-active::after{content:"";position:absolute;right:-16%;bottom:-46%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(249,44,80,.13),rgba(249,44,80,0) 68%);pointer-events:none}
.vertical-status{display:inline-flex;align-items:center;gap:9px;font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-end);box-shadow:0 0 0 5px rgba(249,44,80,.08)}
.vertical-number{margin:92px 0 14px;color:#656560;font-size:.78rem;font-weight:800;letter-spacing:.14em}
.vertical-active h3{margin:0;font-size:clamp(4.4rem,8vw,8rem);line-height:.82;letter-spacing:-.035em;font-weight:700;position:relative;z-index:1}
.vertical-active>p:not(.vertical-number){max-width:650px;margin:34px 0 0;color:var(--muted);font-size:1.12rem;line-height:1.55;position:relative;z-index:1}
.vertical-link{margin-top:auto;position:relative;z-index:1;display:inline-flex;align-items:center;gap:12px;width:max-content}
.vertical-waitlist{display:flex;flex-direction:column}
.vertical-waitlist-head{padding:38px 34px 32px;border-bottom:1px solid var(--line)}
.vertical-waitlist-head p{margin:0;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#777772}
.vertical-waitlist-head span{display:block;max-width:430px;margin-top:14px;color:#777772;font-size:.95rem;line-height:1.45}
.vertical-row{min-height:112px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:16px;align-items:center;padding:24px 32px;border-bottom:1px solid var(--line);text-decoration:none;transition:background-color .22s ease,padding-left .22s ease}
.vertical-row:last-child{border-bottom:0}
.vertical-row>span{color:#5d5d58;font-size:.76rem;font-weight:800;letter-spacing:.14em}
.vertical-row strong{font-size:clamp(1.4rem,2.2vw,2rem);font-weight:650;letter-spacing:-.01em}
.vertical-row em{font-style:normal;color:#777772;font-size:.78rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;text-align:right}
.vertical-row:hover{background:var(--panel-2);padding-left:38px}
.vertical-row:hover em{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Valore del canone */
.service-value{padding-top:40px;padding-bottom:160px}
.service-value-head{margin-bottom:76px}
.service-system{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.system-item{min-width:0;min-height:390px;padding:32px 28px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;transition:background-color .24s ease}
.system-item:hover{background:var(--panel)}
.system-index{font-size:.78rem;font-weight:800;letter-spacing:.14em;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.system-item h3{max-width:100%;margin:94px 0 0;font-size:clamp(2.15rem,2.35vw,2.9rem);line-height:.92;letter-spacing:-.012em;font-weight:650;overflow-wrap:normal;word-break:normal}
.system-item p{margin:auto 0 0;color:var(--muted);font-size:1.02rem;line-height:1.55}
.system-note{max-width:760px;margin:28px 0 0;color:#777772;font-size:.96rem;line-height:1.5}

.choice small{display:inline-block;margin-left:10px;color:#686863;font-size:.65em;font-weight:700;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}
.choice.is-selected small,.choice:hover small,.choice:focus-visible small{color:#a9a9a3}

@media(max-width:1500px){
  .service-system{grid-template-columns:repeat(2,minmax(0,1fr))}
  .system-item{min-height:340px}
  .system-item h3{font-size:clamp(2.45rem,4vw,4rem)}
}

@media(max-width:980px){
  .vertical-board{grid-template-columns:1fr}
  .vertical-active{min-height:430px}
}

@media(max-width:760px){
  .verticals,.service-value{padding:0 0 96px}
  .verticals-head,.service-value-head{margin-bottom:46px}
  .vertical-active{min-height:390px;padding:28px 22px 30px}
  .vertical-number{margin-top:62px}
  .vertical-active h3{font-size:clamp(4.2rem,22vw,6.2rem)}
  .vertical-active>p:not(.vertical-number){font-size:1rem;margin-top:26px}
  .vertical-waitlist-head{padding:26px 20px 24px}
  .vertical-row{min-height:92px;grid-template-columns:34px minmax(0,1fr);padding:20px;gap:10px}
  .vertical-row em{grid-column:2;text-align:left;margin-top:-4px;font-size:.7rem}
  .vertical-row strong{font-size:1.3rem}
  .vertical-row:hover{padding-left:20px}
  .service-system{grid-template-columns:1fr}
  .system-item{min-height:300px;padding:26px 22px 28px}
  .system-item h3{margin-top:58px;font-size:clamp(2.4rem,11.5vw,3.5rem)}
  .choice small{display:block;margin:5px 0 0;font-size:.63em}
}

@media(max-width:560px){
  #principi-title .nowrap-line{font-size:clamp(1.95rem,9.15vw,3.3rem);letter-spacing:-.022em}
}

@media(max-width:430px){
  .section-head h2,.faq h2,.candidate h2,.selection h2{padding-bottom:.06em;font-size:clamp(2.58rem,12.25vw,3.3rem);line-height:.97;letter-spacing:-.018em}
  .section-head>div,.section-head>h2{min-width:0}
  .principle-card h3{font-size:clamp(1.95rem,8.6vw,2.6rem)}
}

/* Principi: il titolo può usare tutta la shell per mantenere la seconda riga integra */
.principles-head>div{max-width:none;width:100%}
#principi-title{max-width:100%}

/* CTA SVG consistency */
.main-nav .nav-cta .cta-icon{width:15px;height:15px;flex-basis:15px}
.vertical-link .cta-icon{width:15px;height:15px;flex-basis:15px}
@media(max-width:900px){
  .main-nav .nav-cta.cta-motion{display:flex;align-items:center;justify-content:space-between;gap:18px}
}


/* Glass navigation fallback */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .site-header{background:rgba(5,5,5,.94)}
  .site-header.is-scrolled{background:rgba(5,5,5,.98)}
  @media(max-width:900px){.main-nav{background:rgba(5,5,5,.98)}}
}

@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .price-board{background:#0d0d0c}
  .candidate-panel{background:#0d0d0c}
}

@media(max-width:560px){
  .footer-grid{grid-template-columns:1fr;gap:38px;padding-bottom:48px}
  .footer-brand{grid-column:auto}
  .footer-column{padding-top:0}
  .footer-bottom-right>span{display:none}
  .footer-bottom-right{justify-content:flex-end}
  .back-to-top{width:44px;height:44px}
}
