@font-face{font-family:Ronzino;src:url(assets/fonts/ronzino-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Ronzino;src:url(assets/fonts/ronzino-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Mazius;src:url(assets/fonts/mazius-400.woff2) format("woff2");font-weight:400;font-display:swap}

:root{
  --ink:#16181a;--stage:#11161c;--white:#fff;--surface:#f6f7f7;--line:#e1e3e4;--line-dark:#2a323a;
  --muted:#5d6368;--muted-dark:#a9b2b9;--wa:#17793f;--wa-hover:#11612f;--focus:#b33e39;
  --g:clamp(20px,5vw,80px);--max:1360px;--r:12px;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;font:400 18px/1.5 Ronzino,system-ui,sans-serif;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:400;letter-spacing:-.035em;line-height:1}
em{font-style:normal}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.skip{position:absolute;left:16px;top:-80px;z-index:50;background:var(--white);padding:12px 16px;border-radius:8px}
.skip:focus{top:16px}
svg{width:1em;height:1em}

/* Barra in alto */
.top{position:fixed;z-index:40;top:12px;left:var(--g);right:var(--g);max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:24px;padding:8px 8px 8px 20px;border-radius:16px;background:rgba(17,22,28,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--white)}
.top .brand{font-size:24px;text-decoration:none}
.top-nav{display:flex;gap:4px;margin-left:auto}
.top-nav a{font-size:15px;text-decoration:none;padding:8px 14px;border-radius:999px;color:#dfe5ea}
@media (hover:hover){.top-nav a:hover{background:rgba(255,255,255,.08);color:var(--white)}}
.chip{display:flex;align-items:center;gap:10px;text-decoration:none;background:var(--white);color:var(--ink);border-radius:12px;padding:6px 14px 6px 6px}
@media (hover:hover){.chip:hover{background:#eef1f2}}
.chip-face{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#d9dee1;color:var(--ink);font:500 16px/1 Ronzino,sans-serif;flex:none}
.chip-text{display:flex;flex-direction:column;line-height:1.15}
.chip-label{font-size:14px;font-weight:500}
.chip-sub{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}
.dot{width:7px;height:7px;border-radius:50%;background:#1fa35a}

/* Bottoni */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;border-radius:999px;font:500 16px/1 Ronzino,sans-serif;text-decoration:none;border:0;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.btn svg{width:20px;height:20px;flex:none}
.btn-wa{background:var(--wa);color:var(--white)}
@media (hover:hover){.btn-wa:hover{background:var(--wa-hover)}}
.btn-ghost{color:var(--white);border:1px solid rgba(255,255,255,.35);background:transparent}
@media (hover:hover){.btn-ghost:hover{border-color:var(--white)}}
.btn-dark{background:var(--ink);color:var(--white)}
@media (hover:hover){.btn-dark:hover{background:#000}}
.btn-line{border:1px solid var(--ink);color:var(--ink);background:transparent}
@media (hover:hover){.btn-line:hover{background:var(--ink);color:var(--white)}}
.btn-light{background:var(--white);color:var(--ink)}
@media (hover:hover){.btn-light:hover{background:#e7ebee}}
.btn-big{min-height:64px;font-size:18px;padding:0 32px}

/* Apertura */
.hero{background:var(--stage);color:var(--white);padding:150px var(--g) 64px;overflow:hidden}
.hero-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:40px 64px;align-items:end}
.hero h1{font-size:clamp(50px,7.4vw,124px);line-height:.94;letter-spacing:-.045em;max-width:11ch}
.hero h1 em,.founder h2 em,.contact h2 em{font-family:Mazius,serif;letter-spacing:-.02em}
.hero-lead{margin-top:28px;font-size:clamp(18px,1.5vw,22px);color:#d3dade;max-width:34ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.hero-facts{margin:0;display:grid;gap:0}
.hero-facts div{padding:18px 0;border-top:1px solid var(--line-dark)}
.hero-facts dt{font-size:clamp(24px,2.2vw,32px);letter-spacing:-.03em;line-height:1.1}
.hero-facts dd{margin:4px 0 0;color:var(--muted-dark);font-size:15px}

.stage{max-width:var(--max);margin:72px auto 0}
.stage-switch{display:flex;gap:28px;border-bottom:1px solid var(--line-dark);margin-bottom:28px}
.stage-switch button{appearance:none;background:none;border:0;color:#8b959d;font:400 17px/1.2 Ronzino,sans-serif;padding:0 0 14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;text-align:left}
.stage-switch button span{display:block;font-size:13px;margin-top:3px}
.stage-switch button[aria-selected=true]{color:var(--white);border-color:var(--white)}
.stage-frame{position:relative;display:grid}
.stage-shot{grid-area:1/1;margin:0;position:relative;padding-right:min(12%,150px);padding-bottom:40px;opacity:1;transition:opacity .45s var(--ease)}
.stage-shot[hidden]{display:block;visibility:hidden;opacity:0}
.device-desk{border-radius:10px;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.45);border:1px solid #2b333b;aspect-ratio:16/10}
.device-desk img{width:100%;height:100%;object-fit:cover;object-position:top}
.device-phone{position:absolute;right:0;bottom:0;width:min(22%,250px);border-radius:26px;overflow:hidden;border:6px solid #0b0e12;box-shadow:0 30px 70px rgba(0,0,0,.55);aspect-ratio:390/844}
.device-phone img{width:100%;height:100%;object-fit:cover;object-position:top}
.stage-enter{position:absolute;left:24px;bottom:64px;display:inline-flex;gap:10px;align-items:center;background:var(--white);color:var(--ink);text-decoration:none;font-weight:500;padding:14px 20px;border-radius:999px;font-size:15px}
@media (hover:hover){.stage-enter:hover{background:#e7ebee}}
.stage-note{margin-top:8px;font-size:13px;color:#8b959d}

/* Manifesto */
.manifesto{padding:clamp(96px,14vw,200px) var(--g)}
.manifesto-text{max-width:var(--max);margin:0 auto;font-size:clamp(30px,4.3vw,68px);line-height:1.06;letter-spacing:-.035em}
.manifesto-text .w{color:#8c9297}

/* Tre motivi */
.reasons{padding:0 var(--g) clamp(96px,12vw,170px);max-width:calc(var(--max) + 2*var(--g));margin:0 auto}
.eyebrow-title{font-size:16px;letter-spacing:0;font-weight:500;padding-bottom:20px;border-bottom:1px solid var(--ink);margin-bottom:40px}
.reason-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.reason-n{display:block;font-size:15px;color:var(--muted);margin-bottom:56px}
.reason-list h3{font-size:clamp(28px,2.6vw,40px);margin-bottom:16px}
.reason-list p{color:#3b4045;max-width:36ch}

/* Testate di sezione */
.section-head{max-width:var(--max);margin:0 auto 56px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px 64px;align-items:end}
.section-head h2{font-size:clamp(44px,6.2vw,104px);letter-spacing:-.045em;line-height:.95}
.section-head p{color:var(--muted);font-size:clamp(17px,1.3vw,20px);max-width:40ch}

/* Lavori */
.work{padding:clamp(96px,10vw,150px) var(--g);background:var(--white);border-top:1px solid var(--line)}
.work-list{list-style:none;margin:0 auto;padding:0;max-width:var(--max)}
.work-row{border-top:1px solid var(--ink);padding:28px 0 48px}
.work-row:last-child{border-bottom:1px solid var(--ink)}
.work-link{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,1.2fr) auto;gap:16px 32px;align-items:baseline;text-decoration:none}
.work-name{font-size:clamp(34px,4.4vw,72px);letter-spacing:-.04em;line-height:1}
.work-kind{color:var(--muted);font-size:16px}
.work-tags{display:flex;flex-wrap:wrap;gap:8px}
.work-tags span{font-size:13px;border:1px solid var(--line);border-radius:999px;padding:5px 12px}
.work-open{display:inline-flex;gap:8px;align-items:center;font-weight:500;font-size:15px;white-space:nowrap}
.work-open svg{transition:transform .3s var(--ease)}
@media (hover:hover){.work-link:hover .work-open svg{transform:translateX(4px)}}
@media (hover:hover){.work-link:hover .work-name{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}}
.work-strip{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:10px;margin-top:28px}
.work-strip img{width:100%;height:clamp(150px,18vw,260px);object-fit:cover;border-radius:8px;transition:transform .6s var(--ease)}
@media (hover:hover){.work-row:hover .work-strip img:nth-child(odd){transform:translateY(-6px)}}

/* Prezzi */
.prices{background:var(--surface);padding:clamp(96px,10vw,150px) var(--g);border-top:1px solid var(--line)}
.plans{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.plan{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:32px 28px 28px;display:flex;flex-direction:column}
.plan header{padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:22px}
.plan h3{font-size:28px;letter-spacing:-.03em}
.plan-for{color:var(--muted);margin-top:6px;font-size:16px}
.plan-price{margin-top:28px;font-size:clamp(48px,4.6vw,72px);letter-spacing:-.05em;line-height:1}
.plan-price .from{font-size:18px;letter-spacing:0;color:var(--muted);vertical-align:.9em;margin-right:2px}
.plan-later{margin-top:10px;font-size:14px;color:var(--muted)}
.plan-plus{font-weight:500;font-size:15px;margin-bottom:10px}
.plan-list{list-style:none;margin:0 0 28px;padding:0;flex:1}
.plan-list li{position:relative;padding:9px 0 9px 26px;font-size:16px;line-height:1.4;border-bottom:1px solid #eef0f1}
.plan-list li::before{content:"";position:absolute;left:2px;top:15px;width:11px;height:6px;border-left:1.6px solid var(--ink);border-bottom:1.6px solid var(--ink);transform:rotate(-45deg)}
.plan .btn{width:100%}
.plan-best{border:2px solid var(--ink);padding-top:56px}
.plan-flag{position:absolute;top:0;left:0;right:0;background:var(--ink);color:var(--white);font-size:14px;font-weight:500;padding:9px 28px;border-radius:9px 9px 0 0}
.terms{max-width:var(--max);margin:40px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;font-size:15px;color:#3b4045}
.terms strong{font-weight:500;color:var(--ink);display:block;margin-bottom:4px}

/* Aggiunte */
.extras{padding:clamp(96px,10vw,150px) var(--g)}
.extra-list{list-style:none;margin:0 auto;padding:0;max-width:var(--max)}
.extra{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr) minmax(0,.9fr);gap:24px 48px;align-items:center;padding:36px 0;border-top:1px solid var(--line)}
.extra:last-child{border-bottom:1px solid var(--line)}
.extra h3{font-size:clamp(28px,2.8vw,44px);margin-bottom:12px}
.extra-text p{color:#3b4045;max-width:44ch}
.extra-note{margin-top:10px;font-size:15px;color:var(--muted)!important}
.extra-price{font-size:clamp(32px,3vw,48px);letter-spacing:-.04em;line-height:1}
.extra-price span{display:block;font-size:16px;letter-spacing:0;color:var(--muted);margin-top:8px}
.extra-img{width:150px;height:200px;object-fit:cover;object-position:top;border-radius:14px;justify-self:end;border:1px solid var(--line)}
.extra-lang{justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:clamp(20px,1.8vw,28px);letter-spacing:-.02em;color:#6b7176}
.extra-lang span:first-child{color:var(--ink)}
.extra-chat{justify-self:end;width:min(100%,300px);display:flex;flex-direction:column;gap:8px;font-size:15px;line-height:1.35}
.extra-chat .q{align-self:flex-end;background:var(--ink);color:var(--white);padding:10px 14px;border-radius:14px 14px 4px 14px}
.extra-chat .a{background:var(--surface);border:1px solid var(--line);padding:10px 14px;border-radius:14px 14px 14px 4px}
.extras-foot{max-width:var(--max);margin:28px auto 0;color:var(--muted)}
.extras-foot a{color:var(--ink);font-weight:500;text-underline-offset:4px}

/* Come funziona */
.steps{background:var(--stage);color:var(--white);padding:clamp(96px,10vw,150px) var(--g)}
.steps .section-head p{color:var(--muted-dark)}
.step-list{list-style:none;margin:0 auto;padding:0;max-width:var(--max)}
.step{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px 64px;padding:32px 0;border-top:1px solid var(--line-dark);align-items:start}
.step:last-child{border-bottom:1px solid var(--line-dark)}
.step-word{font-size:clamp(48px,7vw,116px);letter-spacing:-.05em;line-height:.9}
.step-body{padding-top:10px;font-size:clamp(17px,1.3vw,20px);color:#d3dade;max-width:42ch}
.step-you{margin-top:14px;color:var(--white)}
.step-you span{color:var(--muted-dark)}

/* Cura */
.care{padding:clamp(96px,10vw,150px) var(--g)}
.care-top{max-width:var(--max);margin:0 auto 56px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px 64px;align-items:center}
.care-top .section-head{display:block;margin:0}
.care-top .section-head p{margin-top:24px}
.care-demo{border:1px solid var(--line);border-radius:var(--r);padding:28px;background:var(--white)}
.care-demo-tag{display:inline-block;font-size:12px;font-weight:500;border:1px solid var(--line);border-radius:999px;padding:3px 10px;margin-bottom:18px}
.care-demo-title{font-size:30px;letter-spacing:-.03em}
.care-demo-days{margin-top:14px;color:var(--muted)}
.care-demo-hours{font-size:44px;letter-spacing:-.04em;line-height:1.1}
.care-demo-closed{color:var(--muted);margin-top:4px;transition:opacity .3s}
.care-demo-btn{margin-top:22px;width:100%;min-height:50px;border-radius:999px;border:1px solid var(--ink);background:var(--white);font:500 15px Ronzino,sans-serif;cursor:pointer}
@media (hover:hover){.care-demo-btn:hover{background:var(--surface)}}
.care-demo-btn[aria-pressed=true]{background:var(--ink);color:var(--white)}
.care-demo-msg{min-height:1.5em;margin-top:10px;font-size:14px;color:var(--muted)}
.care-plans{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.care-plan{border:1px solid var(--line);border-radius:var(--r);padding:28px}
.care-plan h3{font-size:24px;letter-spacing:-.02em}
.care-price{font-size:clamp(40px,3.6vw,56px);letter-spacing:-.05em;line-height:1;margin:18px 0 14px}
.care-price span{font-size:16px;letter-spacing:0;color:var(--muted)}
.care-plan p:last-child{color:#3b4045;font-size:16px}
.care-best{border:2px solid var(--ink)}
.care-foot{max-width:var(--max);margin:24px auto 0;color:var(--muted);font-size:15px}

/* Giovanni */
.founder{background:var(--surface);border-top:1px solid var(--line);padding:clamp(96px,10vw,150px) var(--g);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px 72px;max-width:none}
.founder>*{max-width:100%}
.founder-photo{aspect-ratio:4/5;border-radius:var(--r);background:linear-gradient(160deg,#dfe3e6,#c9cfd3);display:grid;place-items:end start;padding:20px;color:#5d6368;font-size:14px;border:1px dashed #aab2b8}
.founder-copy{align-self:end}
.founder h2{font-size:clamp(48px,6.4vw,108px);letter-spacing:-.045em;line-height:.95;margin-bottom:32px}
.founder-copy p{font-size:clamp(18px,1.5vw,22px);max-width:40ch;color:#2c3135;margin-bottom:18px}
.founder-copy .btn{margin-top:14px}
.faq{grid-column:1/-1;margin-top:40px;border-top:1px solid var(--ink)}
.faq-title{font-size:16px;font-weight:500;letter-spacing:0;padding:20px 0}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:22px 0;font-size:clamp(20px,1.8vw,26px);letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:26px;line-height:1;transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 24px;max-width:62ch;color:#3b4045}

/* Contatto */
.contact{background:var(--stage);color:var(--white);padding:clamp(96px,10vw,150px) var(--g);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px 80px;align-items:start}
.contact h2{font-size:clamp(52px,7.4vw,124px);letter-spacing:-.045em;line-height:.94;margin-bottom:28px}
.contact-left>p{font-size:clamp(18px,1.5vw,22px);color:#d3dade;max-width:36ch;margin-bottom:36px}
.contact-who{display:flex;align-items:center;gap:12px;margin-top:28px;color:var(--muted-dark);font-size:15px}
.contact-who .chip-face{background:#2a333b;color:var(--white)}
.contact-form{display:grid;gap:22px;padding-top:12px}
.form-title{font-size:15px;font-weight:500;color:var(--muted-dark)}
.contact-form label{display:grid;gap:6px;font-size:14px;color:var(--muted-dark)}
.contact-form .opt{color:#7d878f}
.contact-form input,.contact-form select,.contact-form textarea{font:400 18px/1.4 Ronzino,sans-serif;color:var(--white);background:transparent;border:0;border-bottom:1px solid #7d8992;border-radius:0;padding:10px 0;width:100%}
.contact-form select{appearance:none;background:linear-gradient(45deg,transparent 50%,#a9b2b9 50%) calc(100% - 12px) 55%/6px 6px no-repeat,linear-gradient(-45deg,transparent 50%,#a9b2b9 50%) calc(100% - 6px) 55%/6px 6px no-repeat}
.contact-form select option{color:var(--ink)}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-bottom-color:var(--white);box-shadow:0 1px 0 var(--white)}
.contact-form input::placeholder{color:#8f99a1}
.contact-form [aria-invalid=true]{border-bottom-color:#e0857f}
.form-consent{font-size:13px;color:#7d878f}
.contact-form .btn{justify-self:start}
.form-msg{min-height:1.5em;font-size:15px;color:#d3dade}

/* Piede */
.foot{background:var(--stage);color:#c9d1d7;border-top:1px solid var(--line-dark);padding:56px var(--g) 40px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px}
.foot .brand{font-size:26px;color:var(--white);text-decoration:none}
.foot-brand p{margin-top:12px;font-size:15px;max-width:30ch}
.foot-col{display:flex;flex-direction:column;gap:8px;font-size:15px}
.foot-col p{color:#7d878f;margin-bottom:4px}
.foot-col a{text-decoration:none}
@media (hover:hover){.foot-col a:hover{text-decoration:underline}}
.foot-legal{grid-column:1/-1;border-top:1px solid var(--line-dark);padding-top:24px;font-size:13px;color:#7d878f}

/* Schermi medi */
@media (max-width:1080px){
  .top-nav{display:none}
  .chip{margin-left:auto}
  .hero-inner,.section-head,.care-top,.contact{grid-template-columns:1fr}
  .hero-facts{grid-template-columns:repeat(3,1fr);gap:20px}
  .work-link{grid-template-columns:1fr auto}
  .work-kind,.work-tags{grid-column:1/-1}
  .work-name{grid-column:1}
  .work-open{grid-column:2;grid-row:1}
  .plans{grid-template-columns:1fr;max-width:640px}
  .plan-best{order:-1}
  .terms{grid-template-columns:1fr;max-width:640px}
  .extra{grid-template-columns:1fr auto}
  .extra-img,.extra-lang,.extra-chat{display:none}
  .care-plans{grid-template-columns:1fr;max-width:640px}
  .founder{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
  .foot{grid-template-columns:1fr 1fr}
}
/* Telefono */
@media (max-width:640px){
  body{font-size:17px}
  .top{top:8px;left:10px;right:10px;padding:6px 6px 6px 14px}
  .top .brand{font-size:21px}
  .chip{padding:5px 12px 5px 5px}
  .chip-face{width:32px;height:32px}
  .chip-label{font-size:13px}
  .hero{padding-top:118px}
  .hero-actions .btn{width:100%}
  .hero-facts{grid-template-columns:1fr;gap:0}
  .stage{margin-top:48px}
  .stage-shot{padding-right:18%;padding-bottom:28px}
  .device-phone{width:34%;border-width:4px;border-radius:18px}
  .stage-enter{left:12px;bottom:40px;padding:11px 16px;font-size:14px}
  .stage-switch{gap:20px}
  .reason-list{grid-template-columns:1fr;gap:40px}
  .reason-n{margin-bottom:16px}
  .work-strip{grid-template-columns:1.6fr 1fr}
  .work-strip img:nth-child(n+3){display:none}
  .work-strip img{height:150px}
  .work-open{font-size:0;gap:0}
  .work-open svg{width:26px;height:26px}
  .plan{padding:28px 22px 22px}
  .plan-best{padding-top:52px}
  .plan-flag{padding:9px 22px}
  .extra{grid-template-columns:1fr;gap:12px}
  .step{grid-template-columns:1fr;gap:8px;padding:28px 0}
  .step-body{padding-top:0}
  .founder{grid-template-columns:1fr}
  .founder-photo{aspect-ratio:16/10;max-height:280px}
  .contact .btn-big{width:100%}
  .contact-form .btn{width:100%}
  .foot{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}

/* Correzioni 05/10 */
.stage-switch{align-items:flex-end}
.stage-switch .stage-enter{position:static;margin:0 0 10px auto;padding:11px 18px}
.proof{margin-top:64px;padding:28px 32px;border:1px solid var(--line);border-radius:var(--r);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:20px 40px;align-items:start}
.proof-title{font-size:clamp(22px,2vw,30px);letter-spacing:-.03em;line-height:1.1}
.proof-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.proof-list a{display:block;text-decoration:none;font-size:16px;color:#3b4045;padding-top:14px;border-top:2px solid var(--ink)}
@media (hover:hover){.proof-list a:hover strong{text-decoration:underline;text-underline-offset:4px}}
.proof-list strong{font-weight:500;color:var(--ink)}
.plan-index{display:none}
.founder-photo{position:relative;place-items:center;border-style:dashed}
.founder-mono{font:400 clamp(120px,14vw,220px)/1 Mazius,serif;color:#b8c0c6}
.founder-ph{position:absolute;left:20px;bottom:18px;font-size:14px}
.contact-form label>span{display:block}
@media (max-width:1080px){
  .plan-best{order:0}
  .plan-index{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:640px;margin:0 auto 16px}
  .plan-index a{display:block;text-decoration:none;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:17px;letter-spacing:-.02em}
  .plan-index a span{display:block;font-size:13px;color:var(--muted);letter-spacing:0}
  .plan-index a:nth-child(2){border:2px solid var(--ink)}
  .proof{grid-template-columns:1fr}
}
@media (max-width:640px){
  .proof{padding:22px 20px}
  .proof-list{grid-template-columns:1fr;gap:16px}
  .stage-switch{flex-wrap:wrap;gap:16px 20px}
  .stage-switch .stage-enter{margin:0 0 10px;order:3;width:100%;justify-content:center;font-size:15px}
  .founder-mono{font-size:96px}
}
.stage-bar{display:flex;align-items:flex-end;gap:20px;border-bottom:1px solid var(--line-dark);margin-bottom:28px}
.stage-bar .stage-switch{border-bottom:0;margin-bottom:0}
.stage-bar .stage-enter{position:static;margin:0 0 10px auto;padding:11px 18px}
@media (max-width:640px){.stage-bar{flex-wrap:wrap}.stage-bar .stage-enter{margin:0 0 12px;width:100%;justify-content:center}}

.form-help{margin-top:-14px;font-size:13px;color:#8f99a1}

/* ===== Cinema 05/10 ===== */
.cine{position:relative;height:250svh;background:#07090b;color:var(--white)}
.cine-sticky{position:sticky;top:0;height:100svh;overflow:hidden}
.cine-media{position:absolute;inset:0;clip-path:inset(var(--ct,0px) var(--cr,0px) var(--cb,0px) var(--cl,0px) round var(--crad,0px));will-change:clip-path}
.cine-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s var(--ease);background:#07090b}
.cine-video.is-on{opacity:1}
.cine-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,9,11,.55) 0%,rgba(7,9,11,.08) 30%,rgba(7,9,11,.18) 55%,rgba(7,9,11,.82) 100%);opacity:var(--shade,1)}
.cine-bar{position:absolute;left:var(--bl,0px);top:var(--bt,0px);width:var(--bw,0px);height:34px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;background:#151a20;border-radius:10px 10px 0 0;font-size:12px;color:#9aa5ae;opacity:var(--frame,0);pointer-events:none}
.cine-dots{display:flex;gap:6px}.cine-dots i{width:8px;height:8px;border-radius:50%;background:#3a444d}
.cine-phone{position:absolute;left:var(--pl,0px);top:var(--pt,0px);width:var(--pw,0px);aspect-ratio:390/844;border-radius:26px;overflow:hidden;border:6px solid #050608;box-shadow:0 30px 70px rgba(0,0,0,.6);opacity:var(--phone,0);transform:translateY(calc((1 - var(--phone,0)) * 60px));pointer-events:none}
.cine-phone img{width:100%;height:100%;object-fit:cover;object-position:top}
.cine-intro{position:absolute;left:var(--g);right:var(--g);bottom:clamp(28px,6svh,64px);opacity:var(--intro,1);transform:translateY(calc((1 - var(--intro,1)) * -60px));max-width:var(--max);margin:0 auto}
.cine-intro[data-off]{visibility:hidden}
.cine-lead{max-width:34ch;font-size:clamp(17px,1.4vw,21px);color:#e7ecef;margin-bottom:clamp(16px,3svh,32px);text-shadow:0 1px 18px rgba(0,0,0,.35)}
.cine h1{font-size:clamp(54px,9.6vw,170px);line-height:.88;letter-spacing:-.05em;max-width:12ch;text-shadow:0 2px 40px rgba(0,0,0,.25)}
.cine h1 em{font-family:Mazius,serif;letter-spacing:-.02em}
.cine-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:clamp(20px,4svh,40px)}
.cine-price{display:inline-flex;align-items:center;gap:12px;color:var(--white);text-decoration:none;font-size:17px}
.cine-price s{color:#b8c1c8}
.cine-price strong{font-weight:500;font-size:22px}
.sale-badge{display:inline-flex;align-items:center;background:#f2d94e;color:#16181a;font:500 13px/1 Ronzino,sans-serif;padding:7px 10px;border-radius:999px;white-space:nowrap}
.cine-outro{position:absolute;left:var(--g);right:var(--g);top:clamp(80px,11svh,120px);text-align:center;opacity:var(--outro,0);transform:translateY(calc((1 - var(--outro,0)) * 24px));pointer-events:none}
.cine-outro.is-live{pointer-events:auto}
.cine-outro-title{font-size:clamp(26px,3vw,44px);letter-spacing:-.035em;line-height:1}
.cine-outro .stage-note{position:fixed;left:0;right:0;bottom:16px;text-align:center;color:#8b959d;font-size:13px}
.cine-switch{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin-top:16px}
.cine-switch button{appearance:none;border:1px solid rgba(255,255,255,.28);background:rgba(10,13,16,.5);color:#c9d1d7;border-radius:999px;padding:9px 16px;font:400 15px/1.1 Ronzino,sans-serif;cursor:pointer}
.cine-switch button span{color:#8b959d;font-size:13px;margin-left:4px}
.cine-switch button[aria-pressed=true]{background:var(--white);color:var(--ink);border-color:var(--white)}
.cine-switch button[aria-pressed=true] span{color:var(--muted)}
.cine-switch .stage-enter{position:static;margin:0;padding:10px 18px}
.cine-cue{position:absolute;right:var(--g);bottom:clamp(28px,6svh,64px);font-size:13px;color:#c9d1d7;opacity:var(--intro,1);writing-mode:vertical-rl;letter-spacing:.08em}
.cine-cue::after{content:"";display:inline-block;width:1px;height:48px;background:currentColor;margin-top:10px;animation:cue 2.2s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

.facts{background:#07090b;color:var(--white);padding:0 var(--g) clamp(64px,8vw,110px)}
.facts-list{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.facts-list div{border-top:1px solid #2a323a;padding-top:20px}
.facts-list dt{font-size:clamp(24px,2.3vw,34px);letter-spacing:-.03em;line-height:1.1}
.facts-list dd{margin:8px 0 0;color:#a9b2b9;font-size:15px;max-width:30ch}

/* Manifesto parola per parola */
.manifesto-text .w{transition:color .35s linear}
.manifesto-text .w.on{color:var(--ink)}


/* Lavori con film */
.work-video{width:100%;height:clamp(150px,18vw,260px);object-fit:cover;border-radius:8px;display:block;background:#11161c}
.work-strip{transform:translateX(var(--drift,0px));transition:transform .2s linear}

/* Prezzi in saldo */
.sale-line{font-weight:500;color:var(--ink)}
.plan-sale{display:flex;align-items:center;gap:10px;margin-top:22px}
.plan-sale s{color:var(--muted);font-size:15px}
.plan-sale + .plan-price{margin-top:10px}
.plan-index s{color:var(--muted);font-size:12px;margin-left:4px}

/* Come lavoriamo: scena fissata */
.steps{position:relative;overflow:clip}
.steps-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.16;pointer-events:none}
.steps>*:not(.steps-video){position:relative}
.steps-progress{display:none}
html.cine-on .steps{height:calc(100svh + 4 * 70svh);padding:0}
html.cine-on .steps-video{position:sticky;top:0;height:100svh;margin-bottom:-100svh;display:block}
html.cine-on .steps .section-head,html.cine-on .steps .step-list,html.cine-on .steps-progress{position:sticky}
html.cine-on .steps .section-head{top:clamp(90px,12svh,130px);padding:0 var(--g);margin-bottom:0}
html.cine-on .steps-progress{display:flex;gap:8px;top:calc(100svh - 70px);max-width:var(--max);margin:0 auto;padding:0 var(--g)}
html.cine-on .steps-progress i{flex:1;height:2px;background:#2f3942}
html.cine-on .steps-progress i.on{background:var(--white)}
html.cine-on .step-list{top:clamp(330px,46svh,470px);height:0;padding:0 var(--g);max-width:calc(var(--max) + 2*var(--g))}
html.cine-on .step{position:absolute;left:var(--g);right:var(--g);top:0;border:0!important;padding:0;opacity:0;transform:translateY(40px);transition:opacity .5s var(--ease),transform .7s var(--ease)}
html.cine-on .step.is-on{opacity:1;transform:none}
html.cine-on .step.was{opacity:0;transform:translateY(-40px)}

/* Contatto con film */
.contact{position:relative;overflow:hidden}
.contact-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.2;pointer-events:none}
.contact>*:not(.contact-video){position:relative}

/* Giovanni senza foto */
.founder{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
.founder .faq{grid-column:auto;margin-top:0}

@media (max-width:1080px){
  .founder{grid-template-columns:1fr}
  .facts-list{grid-template-columns:1fr;gap:20px}
}
@media (max-width:640px){
  .cine{height:220svh}
  .cine h1{font-size:clamp(46px,13.5vw,64px)}
  .cine-cta .btn{width:100%}
  .cine-cue{display:none}
  .cine-outro{top:84px}
  .cine-switch button{padding:8px 12px;font-size:14px}
  .cine-switch .stage-enter{width:100%;justify-content:center}
  .cine-phone{border-width:4px;border-radius:18px}
  html.cine-on .step-list{top:clamp(300px,48svh,420px)}
  html.cine-on .steps .section-head h2{font-size:44px}
}
@media (prefers-reduced-motion:reduce){
  .cine-cue::after{animation:none}
}
.cine-outro .stage-note{position:static;margin-top:12px}
.work-row{overflow:clip}
.cine-outro[data-off]{visibility:hidden}
.cine-note{position:absolute;left:var(--g);right:var(--g);bottom:14px;text-align:center;color:#9aa5ae;font-size:13px;opacity:var(--outro,0);pointer-events:none}

.film-toggle{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:transparent;color:var(--white);cursor:pointer;flex:none}
@media (hover:hover){.film-toggle:hover{background:rgba(255,255,255,.08)}}
.film-toggle svg{width:18px;height:18px}
.film-toggle .i-play{display:none}
.film-toggle[aria-pressed=true] .i-play{display:block}
.film-toggle[aria-pressed=true] .i-pause{display:none}
@media (max-width:1080px){.film-toggle{margin-left:auto}.top .chip{margin-left:0}}
@media (max-width:640px){.film-toggle{width:36px;height:36px}.cine-note{bottom:10px;font-size:12px}}
@media (prefers-reduced-motion:reduce){.film-toggle{display:none}}

/* ===== Apertura a riquadri (05/10, terzo giro) ===== */
.open{background:var(--surface);padding:clamp(130px,16vw,190px) var(--g) clamp(72px,8vw,120px);border-bottom:1px solid var(--line)}
.open-head{max-width:980px;margin:0 auto;text-align:center}
.open h1{font-size:clamp(46px,7vw,112px);line-height:.95;letter-spacing:-.05em}
.open h1 em{font-family:Mazius,serif;letter-spacing:-.02em}
.open-lead{margin:26px auto 0;max-width:40ch;font-size:clamp(18px,1.5vw,22px);color:#3b4045}
.open-cta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 24px;margin-top:34px}
.open-price{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:17px}
.open-price strong{font-weight:500;font-size:21px}
.bento{max-width:var(--max);margin:clamp(48px,6vw,80px) auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto auto;gap:14px}
.tile{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:12px;overflow:hidden;min-height:230px}
.tile-title{font-size:clamp(20px,1.6vw,24px);letter-spacing:-.025em;line-height:1.1}
.tile-text{color:var(--muted);font-size:15px}
.tile-site{grid-column:span 2;grid-row:span 2;padding:18px;gap:14px}
.tile-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.tile-switch{display:flex;gap:6px;flex-wrap:wrap}
.tile-switch button{appearance:none;border:1px solid var(--line);background:var(--white);color:var(--muted);border-radius:999px;padding:7px 12px;font:400 14px/1.1 Ronzino,sans-serif;cursor:pointer}
.tile-switch button span{opacity:.7}
.tile-switch button[aria-pressed=true]{background:var(--ink);color:var(--white);border-color:var(--ink)}
.browser{flex:1;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;border:1px solid #2b333b;background:#0b0e12;min-height:300px}
.browser-bar{height:32px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:#151a20;color:#9aa5ae;font-size:12px}
.browser-view{position:relative;flex:1;min-height:260px}
.demo-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s var(--ease)}
.demo-video.is-on{opacity:1}
.tile-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:var(--muted)}
.tile-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);font-weight:500;font-size:15px;white-space:nowrap}
.tile-link svg{transition:transform .3s var(--ease)}@media (hover:hover){.tile-link:hover svg{transform:translateX(4px)}}
/* menu dal QR: il telefono scorre piano */
.tile-menu{position:relative;padding-bottom:0}
.mini-phone{margin:auto auto -40px;width:58%;max-width:170px;aspect-ratio:390/600;border-radius:22px 22px 0 0;border:5px solid #11161c;border-bottom:0;overflow:hidden}
.mini-phone img{width:100%;animation:menu-scroll 12s ease-in-out infinite alternate}
@keyframes menu-scroll{0%,12%{transform:translateY(0)}88%,100%{transform:translateY(-38%)}}
/* lingue che si alternano */
.lang-roll{position:relative;flex:1;min-height:90px}
.lang-roll span{position:absolute;left:0;bottom:6px;font-size:clamp(34px,3vw,48px);letter-spacing:-.04em;opacity:0;animation:lang 10s infinite}
.lang-roll span:nth-child(2){animation-delay:2s}.lang-roll span:nth-child(3){animation-delay:4s}.lang-roll span:nth-child(4){animation-delay:6s}.lang-roll span:nth-child(5){animation-delay:8s}
@keyframes lang{0%{opacity:0;transform:translateY(18px)}4%,18%{opacity:1;transform:none}22%,100%{opacity:0;transform:translateY(-18px)}}
/* chat: domanda e risposta entrano */
.chat{display:flex;flex-direction:column;gap:8px;margin-top:auto;font-size:14px;line-height:1.35}
.chat p{opacity:0;animation:chat 9s infinite}
.chat .q{align-self:flex-end;background:var(--ink);color:var(--white);padding:9px 13px;border-radius:14px 14px 4px 14px}
.chat .a{background:var(--surface);border:1px solid var(--line);padding:9px 13px;border-radius:14px 14px 14px 4px;animation-delay:1.4s}
@keyframes chat{0%{opacity:0;transform:translateY(10px)}6%,80%{opacity:1;transform:none}90%,100%{opacity:0}}
/* Cura: chiuso diventa aperto */
.flip{margin-top:auto;display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:14px;font-size:20px;letter-spacing:-.02em}
.flip-state{position:relative;display:inline-block;width:5.2em;height:1.3em;overflow:hidden;text-align:right}
.flip-state b{position:absolute;right:0;font-weight:500;animation:flip 6s infinite}
.flip-state b:first-child{color:var(--muted)}
.flip-state b:last-child{color:var(--wa);animation-delay:-3s}
@keyframes flip{0%,40%{transform:translateY(0);opacity:1}50%,90%{transform:translateY(-120%);opacity:0}100%{transform:translateY(0);opacity:1}}
@media (max-width:1080px){
  .bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tile-site{grid-column:1/-1;grid-row:auto}
}
@media (max-width:640px){
  .open{padding-top:118px}
  .open-cta .btn{width:100%}
  .tile{min-height:190px;padding:16px}
  .tile-title{font-size:18px}
  .browser{min-height:220px}.browser-view{min-height:200px}
  .tile-foot{flex-direction:column;align-items:flex-start}
  .lang-roll span{font-size:28px}
  .flip{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  .mini-phone img,.lang-roll span,.chat p,.flip-state b{animation:none}
  .lang-roll span:first-child,.chat p{opacity:1}
  .flip-state b:last-child{display:none}
}
.open{padding-top:clamp(118px,12vw,160px)}
@media (max-width:640px){.tile-chat,.tile-care{grid-column:1/-1}.tile{min-height:170px}}
.tile-switch button span{opacity:1}
.tile-links{display:flex;flex-wrap:wrap;gap:6px 18px}
html.motion-paused .mini-phone img,html.motion-paused .lang-roll span,html.motion-paused .chat p,html.motion-paused .flip-state b,html.motion-paused .cine-cue::after{animation-play-state:paused}
.tile-site .browser{flex:none;min-height:0}.tile-site .browser-view{flex:none;min-height:0;aspect-ratio:1440/810}.tile-site .tile-foot{margin-top:auto}
@media (max-width:640px){.lang-roll span{font-size:24px}}
