/* posizionamentoia.it, direzione "Loud and flat" (tasteskill v2, seed 79467056). Claude Code, 22/10/2026 */
:root{
  --bg:#ffffff; --surface:#f3f3f3; --ink:#0a0a0a; --muted:#5f5f5f;
  --accent:#2436ff; --accent-ink:#ffffff;
  --blue:#2436ff; --red:#ff3b1f; --black:#0a0a0a; --navy:#050a5c;
  --display:"Big Shoulders","Arial Narrow",sans-serif; --text:"Public Sans",system-ui,sans-serif;
  --step-small:clamp(.875rem,.85rem + .1vw,.9375rem);
  --step-body:clamp(1.0625rem,1rem + .25vw,1.1875rem);
  --step-lead:clamp(1.25rem,1.1rem + .7vw,1.625rem);
  --step-head:clamp(3rem,1.2rem + 6vw,6.5rem);
  --m:clamp(16px,2.2vw,28px);
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--text);font-size:var(--step-body);line-height:1.5}
.wp-site-blocks{padding:0!important}
.wp-site-blocks>*{margin-block-start:0!important}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
::selection{background:var(--accent);color:#fff}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.d{font-family:var(--display);font-weight:800;text-transform:uppercase;line-height:.88;letter-spacing:-.005em}
.wrap{padding:0 var(--m)}
[id]{scroll-margin-top:72px}

/* Barra: nome, pochi link, un'azione */
.top{position:sticky;top:0;z-index:50;background:var(--bg);display:flex;align-items:center;gap:28px;padding:14px var(--m)}
.top .logo{font-family:var(--display);font-weight:800;font-size:26px;text-transform:uppercase;text-decoration:none;letter-spacing:0;margin-right:auto}
.top .logo b{color:var(--accent)}
.top nav{display:flex;gap:24px}
.top nav a{text-decoration:none;font-weight:600;font-size:16px}
.top nav a:hover{color:var(--accent)}
.menu-toggle{display:none}

/* Pulsanti: rettangoli pieni, angoli vivi */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 26px;background:var(--accent);color:var(--accent-ink);font:600 17px/1.2 var(--text);text-decoration:none;border:0;border-radius:0;cursor:pointer;transition:transform .15s ease,background .15s ease}
.btn:hover{background:var(--navy)}
.btn:active{transform:translateY(2px)}
.btn.ink{background:var(--ink);color:#fff}
.btn.ink:hover{background:var(--accent)}
.btn.white{background:#fff;color:var(--ink)}
.btn.white:hover{background:var(--ink);color:#fff}
.btn.small{min-height:44px;padding:10px 18px;font-size:15px}
.u{font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.u:hover{color:var(--accent)}

/* Hero: due righe, la prima a sinistra, la seconda a destra */
.hero{min-height:calc(100svh - 72px);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto;padding:0 var(--m) 28px}
.hero h1{align-self:center;font-size:clamp(88px,15.5vw,250px);padding-top:6svh}
.hero h1 .l{display:block;overflow:hidden}
.hero h1 .l>span{display:block;transform:translateY(0)}
.hero h1 .l2{text-align:right}
.hero-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}
.hero-foot p{font-size:clamp(19px,1.6vw,22px);max-width:44ch}
.hero-foot p b{font-weight:600}

/* Hero del passo 1 (testi di Marco): etichetta, titolo-frase, sottotitolo, azione */
.hero{display:flex;align-items:center;min-height:calc(100svh - 72px);padding:6svh var(--m) 8svh}
.hero-in{max-width:1180px}
.hero-label{font-size:18px;font-weight:600;color:var(--accent);margin-bottom:22px}
.hero h1{font-size:clamp(56px,7.4vw,124px);line-height:.9;padding:0;max-width:14ch}
.hero-sub{font-size:clamp(19px,1.6vw,23px);line-height:1.45;max-width:54ch;margin-top:30px}
.hero-cta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:34px}
.hero-small{font-size:15px;color:var(--muted);max-width:34ch}

/* Perché l'AI consiglia alcuni e non altri */
.why{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;padding:120px var(--m)}
.why h2{grid-column:1/6;font-size:clamp(56px,6.2vw,104px);align-self:start}
.why-txt{grid-column:7/13}
.why-txt p{font-size:clamp(19px,1.6vw,23px);line-height:1.45}
.why-txt p+p{margin-top:22px}
.due-modi:empty{display:none}

/* 1. Tessere: lo slogan, il numero, la foto, il testo */
.tiles{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:38svh 38svh;gap:8px;padding:8px}
.tile{position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:20px}
.tile.a{grid-column:1/9;grid-row:1/3;background:var(--black);color:#fff}
.tile.a h2{font-size:clamp(72px,11vw,170px)}
.tile.b{grid-column:9/13;grid-row:1;background:var(--red);color:var(--ink);flex-direction:column;align-items:flex-start;justify-content:flex-end}
.tile.b .num{font-size:clamp(80px,10vw,150px)}
.tile.b p{font-size:var(--step-small);font-weight:600;margin-top:8px;max-width:28ch}
.tile.c{grid-column:9/13;grid-row:2;padding:0}
.tile.c img{width:100%;height:100%;object-fit:cover}
.tile-text{display:grid;grid-template-columns:repeat(12,1fr);padding:40px 8px 0}
.tile-text div{grid-column:7/13;padding:0 40px 40px}
.tile-text p{font-size:clamp(19px,1.7vw,24px);line-height:1.38}
.tile-text p+p{margin-top:18px}
.tile-text .src{font-size:var(--step-small);color:var(--muted);line-height:1.5}

/* 2. Un verbo alla volta */
.verbs{position:relative}
.verb{position:relative;height:100svh;overflow:hidden;background:var(--black)}
.verb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.verb .w{position:sticky;top:50%;transform:translateY(-50%);z-index:2;text-align:center;color:#fff;font-size:clamp(72px,13.5vw,230px);padding:0 var(--m)}
.verb .w span{background:var(--blue);padding:0 .08em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.verb:nth-of-type(2) .w span{background:var(--red);color:var(--ink)}
.verb:nth-of-type(3) .w span{background:var(--ink)}
.verb .cap{position:absolute;left:0;bottom:0;z-index:2;max-width:560px;background:var(--black);color:#fff;padding:22px var(--m);font-size:18px}

/* 3. I servizi: titolo fermo, blocchi che passano, campo blu */
.services{background:var(--blue);color:#fff;display:grid;grid-template-columns:repeat(12,1fr);gap:0 24px;padding:120px var(--m)}
.services .ph{grid-column:1/6}
.services .phs{position:sticky;top:96px}
.services .ph h2{font-size:clamp(72px,8.5vw,140px)}
.services .ph p{margin-top:18px;max-width:30ch;font-size:var(--step-lead);line-height:1.3}
.svc{grid-column:7/13}
.svc article+article{margin-top:110px}
.svc h3{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(36px,3.4vw,52px);line-height:.95;margin-bottom:22px}
.svc .row{display:flex;gap:28px;align-items:flex-start}
.svc article:nth-child(even) .row{flex-direction:row-reverse}
.svc .row img{width:200px;aspect-ratio:3/4;object-fit:cover;flex:none}
.svc ul{list-style:none;font-size:19px;line-height:1.4}
.svc li+li{margin-top:12px}
.svc li::before{content:"";display:inline-block;width:10px;height:10px;background:currentColor;margin-right:12px;vertical-align:2px}
.svc .go{display:inline-block;margin-top:22px}
.svc .lead-svc{background:#fff;color:var(--ink);padding:32px}
.svc .lead-svc h3{color:var(--accent)}
.svc .tag-new{display:inline-block;background:var(--red);color:var(--ink);font-weight:600;font-size:15px;padding:2px 10px;margin-bottom:12px}

/* 4. I settori: tabellone su campo rosso */
.sectors{background:var(--red);color:var(--ink);padding:120px var(--m)}
.sectors h2{font-size:clamp(72px,9vw,150px);margin-bottom:56px}
.board{width:100%;border-collapse:collapse;font-size:clamp(20px,2vw,30px);line-height:1.25}
.board th{text-align:left;font-size:var(--step-small);font-weight:600;padding-bottom:18px}
.board td{padding:14px 24px 14px 0;vertical-align:top}
.board td:first-child{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:1.25em;line-height:1;width:30%}
.board td:nth-child(2){width:40%}
.board td:last-child{font-size:.7em;padding-top:.6em}
.board a{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px}

/* Promessa, nero */
.promise{background:var(--black);color:#fff;padding:120px var(--m);display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:end}
.promise h2{grid-column:1/9;font-size:clamp(72px,9.5vw,160px)}
.promise p{grid-column:9/13;font-size:var(--step-lead);line-height:1.35}

/* Chi siamo */
.about{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;padding:120px var(--m)}
.about h2{grid-column:1/-1;font-size:clamp(28px,2.6vw,36px);font-family:var(--display);margin-bottom:16px}
.about .tile-p{grid-column:1/5;background:var(--blue)}
.about .tile-p img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1) contrast(1.15);mix-blend-mode:multiply}
.about .who{grid-column:1/5;margin-top:10px}
.about .who b{display:block;font-size:17px}
.about .who span{color:var(--muted);font-size:15px}
.about .txt{grid-column:6/13;grid-row:2/4;align-self:center}
.about .txt p{font-size:clamp(20px,1.8vw,26px);line-height:1.35}
.about .txt p+p{margin-top:22px}
.about .pic{grid-column:6/13;grid-row:4;margin-top:24px}
.about .pic img{width:100%;aspect-ratio:16/7;object-fit:cover}

/* Clienti: nomi che corrono oltre i bordi */
.proof{background:var(--navy);color:#fff;padding:96px 0;overflow:hidden}
.proof h2{font-size:var(--step-lead);font-family:var(--text);font-weight:600;text-transform:none;padding:0 var(--m);margin-bottom:36px}
.run{display:flex;white-space:nowrap;font-size:clamp(64px,9vw,150px);gap:.4em}
.run span{flex:none}
.run i{font-style:normal;color:var(--red)}
.run.r2{color:var(--blue)}
.proof p{padding:36px var(--m) 0}

/* Domande: tessere piene */
.faq{padding:120px var(--m);display:grid;grid-template-columns:repeat(12,1fr);gap:24px}
.faq h2{grid-column:1/5;font-size:clamp(64px,7vw,120px);align-self:start;position:sticky;top:96px}
.faq .list{grid-column:6/13;display:flex;flex-direction:column;gap:8px}
.faq details{background:var(--surface)}
.faq details[open]{background:var(--ink);color:#fff}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:24px 26px;font-size:clamp(20px,1.8vw,26px);font-weight:600;line-height:1.25}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--display);font-weight:800;font-size:36px;line-height:.7;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 26px 26px;font-size:19px;max-width:52ch}

/* Il test */
.testsec{background:var(--surface);padding:120px var(--m);display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:center}
.testsec h2{grid-column:1/8;font-size:clamp(72px,9vw,150px)}
.testsec .intro{grid-column:1/7}
.testsec .intro p{font-size:var(--step-lead);line-height:1.35;max-width:32ch;margin:28px 0 32px}
.testsec .intro ol{list-style:none;counter-reset:x;margin-bottom:36px}
.testsec .intro li{font-size:19px;padding:8px 0}
.testsec .preview{grid-column:8/13;grid-row:1/3;background:#fff;padding:24px}

/* Schermata del test, a tutto schermo */
.lab{position:fixed;inset:0;z-index:100;background:#fff;display:none;grid-template-rows:auto 1fr auto}
.lab.open{display:grid;animation:labIn .3s ease}
@keyframes labIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
html.lab-aperto,html.lab-aperto body{overflow:hidden}
.lab-head{display:flex;align-items:center;gap:16px;padding:14px var(--m);background:var(--ink);color:#fff}
.lab-head .t{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:24px;margin-right:auto}
.lab-head .step{font-size:15px;font-weight:600}
.lab-close{background:none;border:0;color:#fff;font:800 34px/1 var(--display);width:44px;height:44px;cursor:pointer}
.bar{height:6px;background:#dcdcdc}
.bar i{display:block;height:100%;width:0;background:var(--accent);transition:width .4s ease}
.lab-body{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.lab-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;gap:48px;padding:48px var(--m) 32px}
.q{display:none;flex-direction:column;gap:22px}
.q.on{display:flex;animation:qIn .35s ease}
@keyframes qIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
.q h3{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(44px,5vw,76px);line-height:.92}
.q .hint{font-size:19px;color:var(--muted);margin-top:-8px}
.q label.f,.q p.f{font-weight:600;font-size:16px;display:block;margin-bottom:8px}
.q input[type=text],.q input[type=email],.q input[type=tel],.q input[type=url],.q textarea{width:100%;font:inherit;font-size:18px;padding:15px 16px;border:0;border-radius:0;background:var(--surface);color:var(--ink);box-shadow:inset 0 -3px 0 var(--ink)}
.q input:focus,.q textarea:focus{outline:none;box-shadow:inset 0 -3px 0 var(--accent);background:#eaeaff}
.opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.opts.wide{grid-template-columns:1fr}
.opt{position:relative}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt span{display:flex;align-items:center;min-height:56px;padding:12px 16px;background:var(--surface);font-weight:600;font-size:17px;cursor:pointer;transition:background .15s,color .15s}
.opt span:hover{background:#e4e4e4}
.opt input:checked+span{background:var(--accent);color:#fff}
.opt input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:16px}
.check input{width:22px;height:22px;margin-top:2px;accent-color:var(--accent);flex:none}
.err{color:#c4200c;font-weight:600;font-size:16px;min-height:1.3em}
.summary{list-style:none}
.summary li{padding:10px 0 10px 26px;position:relative;font-size:17px}
.summary li::before{content:"";position:absolute;left:0;top:20px;width:12px;height:12px;background:var(--accent)}
.done .ok{font-family:var(--display);font-weight:800;font-size:96px;line-height:.8;color:var(--accent)}
.done p{font-size:19px;max-width:44ch}
.lab-side{display:flex;flex-direction:column;gap:16px}
.card-vis{background:var(--surface);padding:20px}
.card-vis h4{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:28px;line-height:1}
.card-vis .city{color:var(--muted);font-size:15px;margin:4px 0 10px}
.card-vis ul{list-style:none}
.card-vis li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;font-size:15px}
.card-vis li+li{border-top:1px solid #dcdcdc}
.st{font-size:13px;font-weight:600;padding:3px 9px;white-space:nowrap;background:#fff;color:var(--muted)}
.st.si{background:var(--accent);color:#fff}
.st.no{background:var(--red);color:var(--ink)}
.sim{background:var(--ink);color:#fff;padding:20px}
.sim[hidden]{display:none}
.sim .lbl{font-size:13px;font-weight:600;color:#bdbdbd;margin-bottom:12px}
.sim .qq{background:#fff;color:var(--ink);padding:10px 14px;font-weight:600;margin-left:15%}
.sim .aa{margin-top:10px;font-size:16px}
.sim .aa ul{margin:8px 0 8px 20px}
.sim .no{color:var(--red);font-weight:600}
.lab-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px var(--m);background:#fff;box-shadow:0 -1px 0 #dcdcdc}
.lab-foot .back{background:none;border:0;font:600 17px var(--text);cursor:pointer;min-height:48px;padding:0 6px}
.lab-foot .btn{min-width:220px}
.lab-foot[hidden]{display:none}
.vis-toggle{display:none}

/* Piè di pagina: invito sopra il nome tagliato */
.foot{background:var(--black);color:#fff;padding:96px var(--m) 0;overflow:hidden}
.foot .inv{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.foot .inv p{font-size:clamp(26px,2.5vw,36px);font-family:var(--display);font-weight:800;text-transform:uppercase;line-height:.95;max-width:16ch}
.foot .cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:64px}
.foot .cols nav{display:flex;flex-direction:column;gap:10px;font-size:16px}
.foot .cols b{font-size:var(--step-small);color:#a8a8a8;font-weight:600;margin-bottom:4px}
.foot .cols a{text-decoration:none}
.foot .cols a:hover{color:var(--red)}
@media(max-width:760px){.foot .cols{grid-template-columns:1fr 1fr}.foot .cols nav:last-child{grid-column:1/-1}}
.foot .cred{margin-top:28px;font-size:13px;color:#a8a8a8;max-width:110ch;line-height:1.5}
.foot .cred a{color:#d0d0d0}
.foot .name{font-size:clamp(60px,12.2vw,220px);white-space:nowrap;margin:40px 0 -0.14em;color:var(--blue)}

/* Barra in basso su telefono, WhatsApp, consenso */
.stickybar{display:none}
.wa{position:fixed;right:16px;bottom:20px;z-index:45;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;transition:transform .15s}
.wa:hover{transform:scale(1.06)}
.wa svg{width:30px;height:30px;fill:#fff}
.consent{position:fixed;right:16px;top:84px;z-index:60;max-width:380px;background:var(--ink);color:#fff;padding:20px;font-size:15px}
.consent[hidden]{display:none}
.consent p{margin-bottom:14px}
.consent a{color:#fff}
.consent .row{display:flex;gap:8px}

/* Movimento: entrate per parti, titolo che sale dalla maschera */
.rv{opacity:1}
.js .rv{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
.js .hero h1 .l>span{transform:translateY(105%);transition:transform .9s cubic-bezier(.2,.8,.1,1)}
.js .hero h1.in .l>span{transform:none}
.js .hero h1.in .l2>span{transition-delay:.12s}
.run.go{animation:corre 38s linear infinite}
.run.r2.go{animation-direction:reverse;animation-duration:44s}
@keyframes corre{to{transform:translateX(-50%)}}
.verb img{transition:transform 1.2s ease}
.verb:hover img{transform:scale(1.03)}
@media(prefers-reduced-motion:reduce){
  .js .rv,.js .hero h1 .l>span{opacity:1;transform:none;transition:none}
  .run.go{animation:none}
  .lab.open,.q.on{animation:none}
}

/* Tablet */
@media(max-width:1000px){
  .services .ph,.svc,.promise h2,.promise p,.faq h2,.faq .list,.testsec h2,.testsec .intro,.testsec .preview{grid-column:1/-1}
  .services .phs{position:static}
  .services .ph h2{position:sticky;top:64px;z-index:3;background:var(--blue);font-size:9vw;padding:12px 0}
  .svc{margin-top:40px}
  .faq h2{position:static}
  .testsec .preview{grid-row:auto}
  .about .tile-p,.about .who{grid-column:1/6}
  .about .txt{grid-column:6/13}
  .about .pic{grid-column:1/-1}
  .lab-grid{grid-template-columns:1fr}
}

/* Telefono: una composizione sua */
@media(max-width:760px){
  [id]{scroll-margin-top:64px}
  .top{padding:10px 16px;gap:12px}
  .top .logo{font-size:22px}
  .top nav{position:fixed;inset:60px 0 auto 0;flex-direction:column;gap:0;background:var(--ink);padding:8px 16px 20px;display:none}
  .menu-aperto .top nav{display:flex}
  .top nav a{color:#fff;font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:40px;line-height:1;padding:10px 0}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 4px;background:none;border:0;font:600 17px var(--text);cursor:pointer;color:var(--ink)}
  .top .btn.small{display:none}
  .hero{min-height:0;padding:40px 16px 56px}
  .hero-label{font-size:16px;margin-bottom:16px}
  .hero h1{font-size:12.4vw;line-height:.92}
  .hero-sub{font-size:18px;margin-top:22px}
  .hero-cta{flex-direction:column;align-items:stretch;gap:12px;margin-top:26px}
  .hero-cta .btn{width:100%}
  .why{grid-template-columns:1fr;padding:80px 16px}
  .why h2,.why-txt{grid-column:1}
  .why h2{font-size:15vw}
  .why-txt p{font-size:18px}
  .tiles{grid-template-columns:1fr 1fr;grid-template-rows:46svh auto;gap:6px;padding:6px}
  .tile.a{grid-column:1/3;grid-row:1}
  .tile.a h2{font-size:21vw}
  .tile.b{grid-column:1;grid-row:2;aspect-ratio:1}
  .tile.b .num{font-size:22vw}
  .tile.c{grid-column:2;grid-row:2;aspect-ratio:1}
  .tile-text{grid-template-columns:1fr;padding:28px 0 0}
  .tile-text div{grid-column:1;padding:0 20px 20px}
  .tile-text p{font-size:18px}
  .verb .w{font-size:15vw}
  .verb .cap{font-size:16px;max-width:none;right:0}
  .services,.sectors,.promise,.faq,.testsec,.about{padding:80px 16px}
  .services .ph h2{top:56px;font-size:13vw}
  .svc article+article{margin-top:72px}
  .svc .row,.svc article:nth-child(even) .row{flex-direction:column}
  .svc .row img{width:100%;aspect-ratio:4/3}
  .svc .lead-svc{padding:22px}
  .board thead{display:none}
  .board,.board tbody,.board tr,.board td{display:block;width:auto!important}
  .board tr{padding:14px 0}
  .board tr+tr{border-top:2px solid var(--ink)}
  .board td{padding:2px 0;font-size:17px}
  .board td:first-child{font-size:40px}
  .board td:last-child{font-size:15px}
  .about{grid-template-columns:1fr 1fr}
  .about .tile-p,.about .who{grid-column:1/2}
  .about .txt,.about .pic{grid-column:1/-1;grid-row:auto}
  .about .txt p{font-size:21px}
  .run{font-size:17vw}
  .faq summary{padding:20px 18px;font-size:19px}
  .faq details p{padding:0 18px 20px;font-size:17px}
  .stickybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--ink);transition:transform .3s}
  .stickybar.hide{transform:translateY(110%)}
  .stickybar .btn{flex:1}
  .stickybar p{display:none}
  body{padding-bottom:76px}
  .wa{bottom:86px;width:50px;height:50px}
  .consent{left:8px;right:8px;top:70px;max-width:none}
  .foot{padding:72px 16px 0}
  .foot .inv .btn{width:100%}
  .foot .name{font-size:13.8vw}
  /* Test su telefono: tutto lo schermo, la scheda si apre a richiesta */
  .lab-head{padding:10px 16px;gap:10px}
  .lab-head .t{font-size:20px;white-space:nowrap}
  .lab-head .step{font-size:13px;white-space:nowrap}
  .lab-grid{padding:24px 16px;gap:20px}
  .q h3{font-size:44px}
  .lab-side{order:2}
  .vis-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:0 16px;background:var(--surface);border:0;font:600 16px var(--text);cursor:pointer}
  .lab-side .card-vis{display:none}
  .lab-side.aperta .card-vis{display:block}
  .lab-foot .btn{min-width:0;flex:1}
}

/* Pagine di servizio nello stile della home (passo 3) */
.pg .wp-block-post-content>*,.pg .entry-content>*{margin-block-start:0!important}
.hero.pg-hero{min-height:0;padding:12svh var(--m) 10svh}
.hero.pg-hero h1{max-width:18ch}
.btn.white-line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 3px var(--ink)}
.btn.white-line:hover{background:var(--ink);color:#fff}
.quad{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 8px 8px}
.quad li{padding:32px 26px 40px;min-height:46svh;display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.quad li:nth-child(1){background:var(--blue);color:#fff}
.quad li:nth-child(2){background:var(--red);color:var(--ink)}
.quad li:nth-child(3){background:var(--black);color:#fff}
.quad li:nth-child(4){background:var(--navy);color:#fff}
.quad h3{font-size:clamp(34px,3vw,50px);line-height:.95}
.quad p{font-size:18px;line-height:1.45}
.field{padding:120px var(--m)}
.field.blue{background:var(--blue);color:#fff}
.field.red{background:var(--red);color:var(--ink)}
.field.black{background:var(--black);color:#fff}
.field h2{font-size:clamp(56px,6.4vw,108px);max-width:16ch;margin-bottom:64px}
.field.black:has(+ .quad) h2{margin-bottom:0}
.field.black:has(+ .quad){padding-bottom:64px}
.phases{list-style:none;display:flex;flex-direction:column;gap:64px}
.phases li{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:start}
.phases h3{grid-column:1/6;font-size:clamp(34px,3.2vw,52px);line-height:.95}
.phases p{grid-column:7/13;font-size:clamp(19px,1.6vw,23px);line-height:1.45}
.field-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}
.field-lead{grid-column:1/5;font-size:var(--step-lead);line-height:1.3}
.field-grid .biglist{grid-column:6/13}
.biglist{list-style:none;display:flex;flex-direction:column;gap:30px;max-width:62ch}
.biglist li{font-size:clamp(20px,1.8vw,26px);line-height:1.35;padding-left:34px;position:relative}
.biglist li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:14px;background:currentColor}
.band{margin:0}
.band img{width:100%;height:62svh;object-fit:cover}
.testsec.end .intro{grid-column:1/9}
.testsec.end .intro p{max-width:40ch}
.adsim{background:var(--ink);color:#fff;padding:22px;margin-top:32px;max-width:520px}
.adsim .lbl{font-size:13px;font-weight:600;color:#bdbdbd;margin-bottom:12px}
.adsim .qq{background:#fff;color:var(--ink);padding:10px 14px;font-weight:600;margin-left:12%}
.adsim .ans{display:flex;flex-direction:column;gap:9px;margin:18px 0}
.adsim .ans i{display:block;height:12px;background:#3a3a3a}
.adsim .ans i.short{width:60%}
.adsim .ad{background:#fff;color:var(--ink);padding:14px 16px;display:grid;gap:2px}
.adsim .ad span{font-size:13px;font-weight:600;color:var(--muted)}
.adsim .ad b{font-size:18px}
.adsim .ad em{font-style:normal;color:var(--accent);font-weight:600}
@media(max-width:1000px){.quad{grid-template-columns:1fr 1fr}.phases h3,.phases p,.field-lead,.field-grid .biglist{grid-column:1/-1}.testsec.end .intro{grid-column:1/-1}}
@media(max-width:760px){
  .hero.pg-hero{padding:48px 16px 56px}
  .quad{grid-template-columns:1fr;gap:6px;padding:0 6px 6px}
  .quad li{min-height:0;padding:26px 20px 30px}
  .field{padding:80px 16px}
  .field h2{font-size:14vw;margin-bottom:40px}
  .phases{gap:40px}
  .phases li{gap:12px}
  .band img{height:44svh}
  .biglist li{font-size:19px}
}

/* Hero a due colonne con il telefono (aggiunta di Marco) */
.hero.hero-tel{display:block;min-height:0;padding:clamp(40px,7svh,88px) max(24px,var(--m)) clamp(48px,8svh,96px)}
.hero-grid{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);gap:clamp(24px,4vw,64px);align-items:center}
.hero-tel .hero-in{min-width:0;max-width:none}
.hero-tel h1,.hero.pg-hero.hero-tel h1{font-size:clamp(40px,4.9vw,72px);line-height:.95;max-width:none;overflow-wrap:break-word}
.hero-tel .hero-sub{max-width:52ch}
.phone-wrap{display:flex;justify-content:center;min-width:0}

/* Il telefono, solo HTML e CSS */
.phone{container-type:inline-size;width:min(300px,100%);aspect-ratio:300/610;background:#fff;border:10px solid var(--ink);border-radius:44px;display:flex;flex-direction:column;overflow:hidden;color:var(--ink);font-family:var(--text);font-size:4.4cqw;line-height:1.35;user-select:none}
.ph-status{display:flex;justify-content:space-between;align-items:center;padding:3cqw 6cqw 1cqw;font-weight:600;font-size:4cqw}
.ph-icons{display:flex;gap:2cqw;align-items:center}
.ph-icons svg{height:3.6cqw;width:auto;fill:currentColor}
.ph-head{display:flex;align-items:center;gap:2.5cqw;padding:2.5cqw 5cqw 3cqw;background:var(--surface)}
.ph-logo{width:7cqw;height:7cqw;fill:var(--accent);flex:none}
.ph-head b{font-size:4.4cqw}
.ph-chat{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;gap:2.5cqw;padding:3cqw 4cqw;transition:opacity .45s ease}
.ph-chat.fade{opacity:0}
.ph-msg.user{align-self:flex-end;max-width:85%;background:var(--accent);color:#fff;padding:2.4cqw 3.4cqw;font-size:4cqw;animation:phIn .3s ease}
.ph-msg.ai{display:flex;flex-direction:column;gap:2cqw}
.ph-intro{font-size:3.9cqw;margin:0}
.ph-card{display:flex;flex-direction:column;gap:1.4cqw;padding:2.6cqw 3cqw;background:var(--surface);transition:opacity .35s ease,transform .35s ease,background .4s ease,box-shadow .4s ease}
.ph-card.wait,.ph-intro.wait{opacity:0;transform:translateY(2cqw)}
.ph-bar{display:block;height:2.6cqw;background:#c9c9c9;filter:blur(1.2px)}
.ph-bar.thin{height:1.9cqw;background:#dcdcdc}
.ph-stars{font-size:3cqw;letter-spacing:.3cqw;color:#c4c4c4;line-height:1}
.ph-card.yours .ph-name{display:flex;align-items:center;gap:1.6cqw;font-weight:600;font-size:4.2cqw;color:var(--ink)}
.ph-card.yours .ph-name svg{width:4.4cqw;height:4.4cqw;flex:none;color:var(--accent);opacity:0;transition:opacity .3s}
.ph-card.yours .ph-why{font-size:3.4cqw;color:var(--muted)}
.ph-card.yours.on{background:#e8eaff;box-shadow:inset 0 0 0 .7cqw var(--accent)}
.ph-card.yours.on .ph-name svg{opacity:1}
.ph-card.yours.on .ph-stars{color:var(--accent)}
.ph-card.ad{margin-top:1.4cqw;background:#fff;box-shadow:inset 0 0 0 .4cqw #d6d6d6}
.ph-card.ad::before{content:"";display:block;height:.35cqw;background:#d6d6d6;margin:-4cqw -3cqw 2.4cqw}
.ph-tag{font-size:3cqw;font-weight:600;color:var(--muted)}
.ph-card.ad .ph-name{font-weight:600;font-size:4cqw}
.ph-dots{display:flex;gap:1.4cqw;padding:2cqw 0}
.ph-dots i{width:2cqw;height:2cqw;background:#a9a9a9;border-radius:50%;animation:phDot 1s infinite}
.ph-dots i:nth-child(2){animation-delay:.15s}.ph-dots i:nth-child(3){animation-delay:.3s}
.ph-input{display:flex;align-items:center;gap:1cqw;margin:2cqw 3.5cqw 4cqw;padding:2cqw 2cqw 2cqw 3.5cqw;background:var(--surface);min-height:11cqw}
.ph-typed{flex:1;min-width:0;font-size:3.8cqw;white-space:nowrap;overflow:hidden;display:flex;justify-content:flex-end}
.ph-caret{width:.5cqw;height:4.6cqw;background:var(--accent);animation:phBlink 1s steps(1) infinite}
.ph-send{width:8cqw;height:8cqw;background:var(--accent);display:flex;align-items:center;justify-content:center;flex:none}
.ph-send svg{width:4.8cqw;height:4.8cqw}
@keyframes phIn{from{opacity:0;transform:translateY(2cqw)}to{opacity:1;transform:none}}
@keyframes phDot{0%,100%{opacity:.3}50%{opacity:1}}
@keyframes phBlink{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.ph-caret,.ph-dots i{animation:none}.ph-card,.ph-chat{transition:none}}
@media(max-width:1023px){.hero-grid{grid-template-columns:minmax(0,58fr) minmax(0,42fr)}.phone{width:min(260px,100%)}}
@media(max-width:767px){
  .hero.hero-tel{padding:28px 16px 48px}
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .hero-tel h1,.hero.pg-hero.hero-tel h1{font-size:clamp(32px,10vw,40px)}
  .hero-tel .hero-label{font-size:15px;margin-bottom:12px}
  .hero-tel .hero-sub{font-size:17px;margin-top:16px}
  .hero-tel .hero-cta{margin-top:20px;gap:10px}
  .phone{width:min(300px,80%)}
}
