/* RST Consulting — stili del tema v3.0.0 (sistema visivo RST Diagonale).
   Il nome del file contiene la versione: la cache dell'hosting ignora ?ver=. */
@font-face{font-family:"Archivo";font-style:normal;font-weight:400 700;font-display:swap;src:url("../fonts/archivo-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Archivo";font-style:normal;font-weight:400 700;font-display:swap;src:url("../fonts/archivo-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
  /* Layout: sezioni-manifesto come i caroselli V01–V12 (tela 1600×900 su desktop, 1080×1350 su mobile),
     forme in un livello e testo HTML vivo sopra; tra una tela e l'altra, sezioni editoriali in CSS. */
  :root{
    --blue:#2563eb; --blue-deep:#1d4fd1; --navy:#16294c; --navy-deep:#0f1b33;
    --grey-soft:#dde2ea; --grey-bg:#edeff3; --grey-dim:#7a8699; --white:#ffffff;
    --ph-a:#b9c1ce; --ph-b:#c8ced9;
    --core:"Helvetica Neue",Helvetica,Archivo,Arial,sans-serif;
    --head-h:72px;
    color-scheme:light;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{background:var(--grey-bg);color:var(--navy);font-family:var(--core);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}
  h1,h2,h3,p{margin:0}
  h1,h2,h3{text-wrap:balance;font-weight:700}
  a{color:inherit}
  img{max-width:100%;display:block}
  .vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
  :focus-visible{outline:3px solid var(--blue);outline-offset:3px}

  /* ---------- testata ---------- */
  .testata{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--grey-bg);border-bottom:1px solid var(--grey-soft)}
  .testata-in{height:var(--head-h);max-width:1440px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;
    padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
  .testata .logo img{height:26px;width:auto}
  .menu{display:flex;gap:30px;list-style:none;margin:0;padding:0}
  .menu a{text-decoration:none;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding-block:6px;border-bottom:3px solid transparent}
  .menu a:hover,.menu a.attivo{border-bottom-color:var(--blue)}
  .burger{display:none;width:46px;height:40px;border:2px solid var(--navy);background:none;cursor:pointer;position:relative}
  .burger span,.burger span::before,.burger span::after{position:absolute;left:10px;width:22px;height:2px;background:var(--navy);content:""}
  .burger span{top:17px}.burger span::before{top:-7px}.burger span::after{top:7px}

  /* ---------- tele (sezioni-manifesto) ---------- */
  .tela{position:relative;container-type:inline-size;overflow:hidden;background:var(--grey-bg)}
  .tela.bianca{background:var(--white)}
  .tela.blu{background:var(--blue);color:var(--white)}
  .canvas{position:relative;width:100%;aspect-ratio:1600 / var(--dh,900);--u:calc(100cqw / 1600)}
  .p{position:absolute;margin:0;transform-origin:0 0;
     --X:var(--x,0);--Y:var(--y,0);--W:var(--w,1000);--R:var(--r,0deg);--FS:var(--fs,30);
     left:calc(var(--X) * var(--u) + var(--pdx,0) * var(--pp,0) * var(--u));top:calc(var(--Y) * var(--u) + var(--pdy,0) * var(--pp,0) * var(--u));width:calc(var(--W) * var(--u));
     transform:rotate(var(--R));font-size:max(var(--min,0px),calc(var(--FS) * var(--u)))}
  .p.alto{--H:var(--h,100);height:calc(var(--H) * var(--u))}
  .p.centro{transform-origin:50% 50%}
  .fascia{background:var(--blue)}
  .fascia.scura{background:var(--blue-deep)}
  .taglio{position:absolute;inset:0;background:var(--blue);--C:var(--clip);clip-path:var(--C)}
  .d-only{display:block}.m-only{display:none}

  /* tipografia sulle tele */
  .mega{writing-mode:vertical-rl;font-weight:700;line-height:.82;letter-spacing:-.04em;white-space:nowrap;color:var(--white)}
  .headline{font-weight:700;line-height:.95;letter-spacing:-.03em}
  .sub{font-weight:700;line-height:1.08;letter-spacing:-.015em}
  .corpo{font-weight:400;line-height:1.32}
  .numero{font-weight:700;line-height:.82;letter-spacing:-.045em;font-variant-numeric:tabular-nums;white-space:nowrap}
  .etichetta{display:inline-block;text-transform:uppercase;font-weight:700;letter-spacing:.14em;line-height:1.2;padding-bottom:.6em;border-bottom:.22em solid var(--blue)}
  .su-blu .etichetta,.etichetta.chiara{border-bottom-color:var(--white)}
  .tag{display:inline-block;text-transform:uppercase;font-weight:700;letter-spacing:.14em;background:var(--white);color:var(--navy);padding:.55em .9em}
  .accento{color:var(--blue)}
  .prospettiva{transform:rotate(30deg) skewX(-30deg) scaleY(.8)!important}

  /* segnaposto: dove Higgsfield mette persone e oggetti */
  .ph{display:flex;align-items:center;justify-content:center;text-align:center;padding:calc(22 * var(--u));
     background:repeating-linear-gradient(-30deg,var(--ph-a) 0 18px,var(--ph-b) 18px 36px);
     outline:calc(4 * var(--u)) dashed var(--navy);outline-offset:calc(-4 * var(--u));
     color:var(--navy);font-weight:700;text-transform:uppercase;letter-spacing:.08em;line-height:1.25;font-size:max(9px,calc(17 * var(--u)))}
  .ph.tondo{border-radius:50%}
  .ph.blu{background:repeating-linear-gradient(-30deg,var(--blue) 0 18px,var(--blue-deep) 18px 36px);color:var(--white);outline-color:var(--white)}
  .pedana{background:var(--white);border-radius:50%}


  /* ---------- oggetti: livelli separati, animabili ---------- */
  .ogg img{width:100%;height:100%;object-fit:contain;display:block}
  .ombra{filter:drop-shadow(calc(16 * var(--u)) calc(24 * var(--u)) calc(26 * var(--u)) rgba(15,27,51,.26))}
  .ombra-blu{filter:drop-shadow(calc(14 * var(--u)) calc(22 * var(--u)) calc(22 * var(--u)) rgba(8,18,60,.42))}
  .tela.blu .ombra{filter:drop-shadow(calc(14 * var(--u)) calc(22 * var(--u)) calc(22 * var(--u)) rgba(8,18,60,.34))}
  .gira-a{transform:rotate(5.88deg)}
  .gira-b{transform:rotate(1.967deg)}

  @media (prefers-reduced-motion:no-preference){
    .js .entra{opacity:0;translate:var(--da,0 40px);transition:opacity .8s ease,translate 1.5s cubic-bezier(.16,1,.3,1);transition-delay:var(--ritardo,0s)}
    .js .ogg.entra,.js .pedana.entra{scale:.82;rotate:var(--dr,0deg);transition:opacity .7s ease,translate 1.5s cubic-bezier(.34,1.45,.55,1),scale 1.5s cubic-bezier(.34,1.45,.55,1),rotate 1.5s cubic-bezier(.34,1.45,.55,1);transition-delay:var(--ritardo,0s)}
    .js .vista .entra{opacity:1;translate:0 0}
    .js .vista .ogg.entra,.js .vista .pedana.entra{scale:1;rotate:0deg}
    .js .entra-fascia{scale:1 0;transition:scale 1.1s cubic-bezier(.7,0,.2,1)}
    .js .vista .entra-fascia{scale:1 1}
    .js .entra-taglio{translate:18% 22%;transition:translate 1.2s cubic-bezier(.7,0,.2,1)}
    .js .vista .entra-taglio{translate:0 0}
    .galleggia img{animation:galleggia 3.6s ease-in-out infinite}
    .oscilla img{transform-origin:50% 0;animation:oscilla 4.4s ease-in-out infinite}
    .ondeggia img{transform-origin:62% 96%;animation:ondeggia 5.5s ease-in-out infinite}
    .posa img{animation:respira 4.8s ease-in-out infinite}
    /* stesso periodo, versi opposti: i denti restano incastrati */
    .gira-a{animation:gira-a 14s linear infinite}
    .gira-b{animation:gira-b 14s linear infinite}
  }
  @keyframes galleggia{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-16%) rotate(8deg)}}
  @keyframes oscilla{0%,100%{transform:rotate(-3.5deg)}50%{transform:rotate(3.5deg)}}
  @keyframes ondeggia{0%,100%{transform:rotate(-1.8deg)}50%{transform:rotate(1.8deg)}}
  @keyframes respira{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3%) scale(1.03)}}
  @keyframes gira-a{from{transform:rotate(5.88deg)}to{transform:rotate(365.88deg)}}
  @keyframes gira-b{from{transform:rotate(1.967deg)}to{transform:rotate(-358.033deg)}}

  /* pulsanti */
  .btn{display:inline-block;text-decoration:none;font-weight:700;text-transform:uppercase;letter-spacing:.12em;line-height:1.25;
       background:var(--blue);color:var(--white);padding:16px 26px;font-size:13px;border:2px solid var(--blue)}
  .btn:hover{background:var(--navy);border-color:var(--navy)}
  .btn.bianco{background:var(--white);color:var(--navy);border-color:var(--white)}
  .btn.bianco:hover{background:var(--navy-deep);color:var(--white);border-color:var(--navy-deep)}
  .canvas .btn{font-size:max(11px,calc(16 * var(--u)));padding:calc(20 * var(--u)) calc(30 * var(--u))}

  /* ---------- sezioni editoriali ---------- */
  .fascia-ed{padding-block:clamp(64px,8vw,128px)}
  .in{max-width:1280px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
  .ed-etichetta{font-size:13px}
  .ed-titolo{font-size:clamp(36px,4.6vw,64px);line-height:.98;letter-spacing:-.03em;margin-top:22px}
  .ed-intro{font-size:clamp(17px,1.4vw,20px);max-width:58ch;margin-top:22px;color:var(--navy)}
  .su-scuro{background:var(--navy-deep);color:var(--white)}
  .su-scuro .ed-intro{color:var(--grey-soft)}
  .su-blu{background:var(--blue);color:var(--white)}
  .su-bianco{background:var(--white)}

  /* clienti */
  .clienti{background:var(--blue);color:var(--white);padding-block:clamp(44px,5vw,72px)}
  .clienti .in{display:grid;grid-template-columns:auto 1fr 1fr;gap:clamp(24px,5vw,80px);align-items:center}
  .cliente{display:grid;gap:14px;justify-items:start;text-decoration:none}
  .cliente img{height:clamp(40px,4.6vw,60px);width:auto}
  .cliente p{font-size:14px;letter-spacing:.02em;color:var(--white)}

  /* servizi */
  .servizi-griglia{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);margin-top:clamp(40px,5vw,72px)}
  .famiglia h3{font-size:13px;text-transform:uppercase;letter-spacing:.14em}
  .famiglia ul{list-style:none;margin:18px 0 0;padding:0;border-top:4px solid var(--blue)}
  .famiglia li{font-size:clamp(22px,2.2vw,30px);font-weight:700;letter-spacing:-.015em;line-height:1.15;padding-block:20px;border-bottom:1px solid var(--grey-soft)}
  .rimando{display:inline-flex;gap:10px;margin-top:40px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:13px;text-decoration:none;border-bottom:3px solid var(--blue);padding-bottom:6px}

  /* processo */
  .passi{list-style:none;margin:clamp(40px,5vw,72px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,56px)}
  .passo{border-top:4px solid var(--blue);padding-top:26px;display:grid;gap:14px;align-content:start;min-width:0}
  .passo .n{font-size:clamp(56px,6vw,96px);font-weight:700;line-height:.82;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
  .passo h3{font-size:clamp(20px,1.8vw,24px);letter-spacing:-.01em;line-height:1.15}
  .passo p{color:var(--grey-soft);max-width:38ch}

  /* punti di forza sotto la tela */
  .punti{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,56px)}
  .punto{border-top:4px solid var(--blue);padding-top:24px;display:grid;gap:12px;align-content:start;min-width:0}
  .punto h3{font-size:clamp(20px,1.8vw,24px);letter-spacing:-.01em;line-height:1.15}
  .punto p{max-width:40ch}

  /* caso studio sotto la tela */
  .caso-segue{background:var(--blue);color:var(--white);padding-block:0 clamp(64px,8vw,112px)}
  .caso-testo{font-size:clamp(17px,1.4vw,20px);max-width:64ch}
  .apertura{margin-top:clamp(36px,4vw,56px);font-size:13px}
  .cifre{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px);margin-top:28px}
  .cifra{border-top:4px solid var(--white);padding-top:20px;min-width:0}
  .cifra .v{font-size:clamp(40px,5vw,76px);font-weight:700;letter-spacing:-.04em;line-height:.9;font-variant-numeric:tabular-nums}
  .cifra .l{margin-top:10px;font-size:15px;color:var(--grey-soft)}

  /* chi siamo */
  .chi{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(36px,6vw,96px);align-items:center}
  .foto-coppia{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.6vw,22px);align-items:start;max-width:520px;width:100%}
  .foto-coppia img{width:100%;height:auto;aspect-ratio:5/7;object-fit:cover;border-radius:22px}
  .foto-coppia img:last-child{margin-top:clamp(40px,6vw,96px)}
  .chi .testi{display:grid;gap:18px;min-width:0}
  .chi .testi p{max-width:52ch}
  .citazione{margin-top:12px;border-top:4px solid var(--blue);padding-top:22px;font-size:clamp(22px,2.2vw,30px);font-weight:700;line-height:1.15;letter-spacing:-.015em}

  /* contatti sotto la CTA */
  .contatti-segue{background:var(--blue);color:var(--white);padding-block:0 clamp(56px,7vw,96px)}
  .recapiti{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px);border-top:1px solid rgba(255,255,255,.35);padding-top:30px}
  .recapito .k{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-soft)}
  .recapito .v{margin-top:8px;font-size:clamp(18px,1.6vw,22px);font-weight:700;user-select:all;overflow-wrap:anywhere}
  .prova{margin-top:28px;font-size:15px;color:var(--grey-soft)}

  /* piede */
  .piede{background:var(--navy-deep);color:var(--grey-soft);padding-block:64px 36px;font-size:15px}
  .piede-griglia{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
  .piede img{height:26px;width:auto}
  .piede h4{margin:0 0 14px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--white)}
  .piede ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
  .piede a{text-decoration:none}
  .piede a:hover{color:var(--white)}
  .slogan{margin-top:18px;max-width:30ch}
  .legale{margin-top:48px;padding-top:22px;border-top:1px solid rgba(221,226,234,.18);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--grey-dim)}

  /* hero: testo che su mobile scende sotto la tela */
  .hero-segue{background:var(--grey-bg);padding-block:8px 48px}
  .hero-segue .in{display:grid;gap:22px}
  .hero-segue p{max-width:52ch}
  .hero-segue .prova{color:var(--grey-dim);margin-top:0}

  /* nota d'anteprima */
  .nota{position:fixed;left:max(14px,env(safe-area-inset-left,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:50;
        background:var(--navy-deep);color:var(--white);font-size:12px;letter-spacing:.06em;padding:10px 14px;max-width:min(340px,calc(100vw - 28px));line-height:1.4}
  .nota b{display:block;letter-spacing:.14em;text-transform:uppercase;font-size:10.5px;margin-bottom:3px;color:var(--grey-soft)}

  /* ---------- mobile: tele 1080 di larghezza come i caroselli ---------- */
  @media (max-width:999px){
    .canvas{aspect-ratio:1080 / var(--mh,1350);--u:calc(100cqw / 1080)}
    .p{--X:var(--mx,var(--x,0));--Y:var(--my,var(--y,0));--W:var(--mw,var(--w,1000));--R:var(--mr,var(--r,0deg));--FS:var(--mfs,var(--fs,30))}
    .p.alto{--H:var(--mh2,var(--h,100))}
    .taglio{--C:var(--mclip,var(--clip))}
    .d-only{display:none}.m-only{display:block}
    .menu{display:none;position:absolute;top:var(--head-h);left:0;right:0;flex-direction:column;gap:0;background:var(--grey-bg);border-bottom:1px solid var(--grey-soft);
          padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
    .menu.aperto{display:flex}
    .menu li{border-top:1px solid var(--grey-soft)}
    .menu a{display:block;padding-block:16px;border-bottom:0}
    .burger{display:block}
    .clienti .in{grid-template-columns:1fr 1fr}
    .clienti .titolino{grid-column:1/-1}
    .servizi-griglia,.passi,.punti,.cifre,.recapiti,.chi{grid-template-columns:1fr}
    .piede-griglia{grid-template-columns:1fr 1fr}
  }
  @media (max-width:520px){
    .piede-griglia{grid-template-columns:1fr}
    .foto-coppia img{border-radius:16px}
  }

  /* dimensioni del blocco titolo della hero (desktop / mobile) */
  #inizio .canvas > .p:last-child{--fs:52;--mfs:64}
  #inizio .hero-d{margin-top:calc(24 * var(--u))}

  /* scala tipografica delle tele, in unità della tela (desktop 1600 / mobile 1080) */
  .canvas{--sz:40;--hz:84;--nz:250}
  #caso-mrr .canvas{--hz:68}
  #contatti .canvas{--hz:76;--sz:40}
  @media (max-width:999px){
    .canvas{--sz:44;--hz:84;--nz:205}
    [aria-labelledby="t-problema"] .canvas{--sz:40}
    #caso-mrr .canvas{--hz:64}
    #contatti .canvas{--hz:84;--sz:44}
  }


  /* ================= pagine interne ================= */
  body{margin:0}
  .lede{font-size:clamp(17px,1.4vw,20px);max-width:60ch;margin-top:20px}
  .famiglia-tit{margin-top:clamp(52px,6vw,88px);font-size:13px}
  .servizi-lista{margin-top:22px;border-bottom:1px solid var(--grey-soft)}
  .servizio{display:grid;grid-template-columns:clamp(72px,9vw,128px) minmax(0,1fr);gap:clamp(18px,3vw,48px);padding-block:clamp(28px,3.5vw,44px);border-top:1px solid var(--grey-soft)}
  .servizio:first-child{border-top:4px solid var(--blue)}
  .servizio .n{font-size:clamp(44px,5vw,76px);font-weight:700;line-height:.82;letter-spacing:-.04em;color:var(--blue);font-variant-numeric:tabular-nums}
  .servizio h3{font-size:clamp(24px,2.4vw,34px);line-height:1.08;letter-spacing:-.02em}
  .servizio .desc{margin-top:14px;max-width:64ch;font-size:clamp(17px,1.3vw,19px)}
  .dett{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.5vw,36px);margin:28px 0 0}
  .dett div{border-top:3px solid var(--navy);padding-top:14px;min-width:0}
  .dett dt{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
  .dett dd{margin:8px 0 0;font-size:15.5px;line-height:1.45}
  .cifre.quattro{grid-template-columns:repeat(4,minmax(0,1fr))}
  .nota-num{margin-top:30px;font-size:15px;color:var(--grey-soft);max-width:64ch}
  .nota-num a{color:var(--white)}
  .cta-ed{text-align:left}
  .cta-ed .azioni{margin-top:34px;display:flex;flex-wrap:wrap;gap:16px;align-items:center}
  .su-scuro .prova,.su-blu .prova{color:var(--grey-soft)}
  .su-blu .ed-intro,.su-blu .lede{color:var(--white)}
  .aree{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(22px,3vw,44px);margin-top:clamp(36px,4vw,60px)}
  .area{border-top:4px solid var(--blue);padding-top:22px;display:grid;gap:12px;align-content:start;min-width:0}
  .area .n{font-size:clamp(40px,4vw,60px);font-weight:700;line-height:.82;letter-spacing:-.04em;color:var(--blue);font-variant-numeric:tabular-nums}
  .area h3{font-size:clamp(20px,1.8vw,24px);line-height:1.15;letter-spacing:-.01em}
  .metodo{display:grid;gap:18px;min-width:0}
  .metodo p{max-width:56ch}
  .frase{margin-top:10px;border-top:4px solid var(--blue);padding-top:22px;font-size:clamp(20px,2vw,26px);font-weight:700;line-height:1.2;letter-spacing:-.01em;max-width:44ch}
  .split-ed{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(36px,6vw,96px);align-items:start}
  .foto-sola{max-width:440px;width:100%;justify-self:end}
  .foto-sola img{width:100%;height:auto;aspect-ratio:5/7;object-fit:cover;border-radius:22px}
  .ruoli{list-style:none;margin:clamp(28px,3vw,40px) 0 0;padding:0}
  .ruolo{display:grid;grid-template-columns:clamp(56px,6vw,88px) minmax(0,1fr);gap:clamp(14px,2vw,28px);padding-block:24px;border-top:1px solid var(--grey-soft)}
  .ruolo:first-child{border-top:4px solid var(--blue)}
  .ruolo .n{font-size:clamp(32px,3.4vw,48px);font-weight:700;line-height:.85;color:var(--blue);letter-spacing:-.03em}
  .ruolo h3{font-size:clamp(21px,2vw,27px);letter-spacing:-.015em;line-height:1.1}
  .ruolo p{margin-top:8px;max-width:56ch}

  /* moduli */
  .modulo-griglia{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(36px,6vw,96px);align-items:start}
  .modulo{display:grid;gap:22px;position:relative;min-width:0}
  .campo{display:grid;gap:8px;min-width:0}
  .campo label{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
  .campo input,.campo select,.campo textarea{font:inherit;font-size:17px;color:var(--navy);background:var(--white);border:0;border-bottom:2px solid var(--navy);border-radius:0;padding:14px;min-height:54px;width:100%}
  .campo input[type=file]{padding:12px;background:var(--white)}
  .campo textarea{min-height:150px;resize:vertical}
  .campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-bottom-color:var(--blue);box-shadow:0 2px 0 var(--blue)}
  .campo-doppio{display:grid;grid-template-columns:1fr 1fr;gap:22px}
  .hint{font-size:14px;color:var(--grey-dim);line-height:1.45}
  .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
  .modulo .btn{justify-self:start;cursor:pointer;font-family:inherit}
  .avviso-anteprima{background:var(--navy-deep);color:var(--white);padding:14px 16px;font-size:14.5px}
  .info{border-top:4px solid var(--blue);padding-top:18px}
  .info + .info{margin-top:34px}
  .info .k{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
  .info .v{margin-top:8px;font-size:clamp(22px,2.2vw,30px);font-weight:700;letter-spacing:-.015em;overflow-wrap:anywhere;user-select:all}
  .info .nota-info{margin-top:10px;max-width:42ch}
  .fondo-carta{background:var(--white)}

  /* pagine legali */
  .testata-legale{position:relative;overflow:hidden;background:var(--grey-bg);padding-block:clamp(64px,8vw,120px) clamp(40px,5vw,72px)}
  .testata-legale::after{content:"";position:absolute;right:clamp(-120px,-4vw,-40px);top:-60%;width:clamp(110px,13vw,210px);height:220%;background:var(--blue);transform:rotate(-12deg)}
  .testata-legale .in{position:relative;z-index:1}
  .testata-legale h1{font-size:clamp(40px,6vw,88px);line-height:.95;letter-spacing:-.035em;margin-top:22px;max-width:14ch}
  .prosa{max-width:74ch}
  .prosa h2{font-size:clamp(24px,2.4vw,32px);letter-spacing:-.02em;line-height:1.1;margin-top:52px;padding-top:22px;border-top:4px solid var(--blue)}
  .prosa h2:first-child{margin-top:0}
  .prosa h3{font-size:20px;margin-top:30px;line-height:1.2}
  .prosa p,.prosa ul{margin-top:14px}
  .prosa a{color:var(--blue)}
  .tabella{overflow-x:auto;margin-top:18px}
  .prosa table{border-collapse:collapse;min-width:640px;font-size:15px}
  .prosa th,.prosa td{text-align:left;vertical-align:top;border-bottom:1px solid var(--grey-soft);padding:12px 14px}
  .prosa th{font-size:12px;letter-spacing:.12em;text-transform:uppercase}

  @media (max-width:999px){
    .dett,.aree,.cifre.quattro,.campo-doppio,.split-ed,.modulo-griglia{grid-template-columns:1fr}
    .servizio{grid-template-columns:1fr;gap:12px}
    .foto-sola{justify-self:start}
    .cifre.quattro{grid-template-columns:1fr 1fr}
  }
  @media (max-width:520px){.cifre.quattro{grid-template-columns:1fr}}

  /* testate delle pagine interne */
  .ogg.fondo img{object-position:50% 100%}
  @media (min-width:1000px){.sub.ridotto{font-size:calc(28 * var(--u))!important}}
  @media (prefers-reduced-motion:no-preference){
    .respira img{animation:respira 5.2s ease-in-out infinite}
    .squilla img{transform-origin:50% 80%;animation:squilla 4.5s ease-in-out infinite}
  }
  @keyframes squilla{0%,68%,100%{transform:rotate(0)}70%{transform:rotate(-4deg)}72%{transform:rotate(4deg)}74%{transform:rotate(-4deg)}76%{transform:rotate(4deg)}78%{transform:rotate(-3deg)}80%{transform:rotate(3deg)}82%{transform:rotate(0)}}
  .canvas{--hz1:64}
  [aria-labelledby="h1"] .canvas{--sz:32}
  .tela.blu[aria-labelledby="h1"] .canvas{--sz:30}
  @media (max-width:999px){
    .canvas{--hz1:72}
    [aria-labelledby="h1"] .canvas{--sz:38}
    .tela.blu[aria-labelledby="h1"] .canvas{--sz:44}
  }


  /* ================= WordPress ================= */
  /* nomi della v2.1.0 usati dal banner cookie e dagli avvisi dei moduli */
  :root{--blu-950:var(--navy-deep);--blu-900:var(--navy);--blu-800:var(--blue);--blu-600:var(--blue-deep);--hair-dark:rgba(255,255,255,.18);--on-dark:#ffffff;--on-dark-dim:#c9cfdb;--body:var(--core);--paper:#ffffff;--errore:#b42318}
  .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
  .screen-reader-text:focus{position:fixed!important;left:12px;top:12px;width:auto;height:auto;clip:auto;z-index:200;background:#fff;color:var(--navy);padding:10px 16px;font-weight:700;text-decoration:none}
  .admin-bar .testata{top:32px}
  @media(max-width:782px){.admin-bar .testata{top:46px}}
  @media(max-width:600px){.admin-bar .testata{top:0}}
  .menu .current-menu-item > a,.menu a[aria-current="page"]{border-bottom-color:var(--blue)}
  .avviso{padding:16px 20px;margin-bottom:28px;font-size:15.5px;font-weight:600;border:1px solid var(--blu-800);border-left-width:4px;color:var(--blu-800);background:var(--paper)}
  .avviso.errore{border-color:var(--errore);color:var(--errore)}
  /* ---------- banner cookie ---------- */
  .cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:120;display:none;background:var(--blu-950);border-top:1px solid var(--hair-dark);max-height:90vh;overflow-y:auto}
  .cookie-banner.visibile{display:block}
  .cookie-inner{max-width:1180px;margin:0 auto;padding:18px clamp(20px,4vw,48px);display:flex;gap:18px 28px;align-items:center;justify-content:space-between;flex-wrap:wrap}
  .cookie-testo{flex:1 1 520px}
  .cookie-inner p{color:var(--on-dark-dim);font-size:14px;max-width:78ch;line-height:1.6}
  .cookie-inner a{color:var(--on-dark)}
  .cookie-scelte{display:grid;gap:10px;margin-top:14px}
  .cookie-scelte[hidden]{display:none}
  .cookie-scelte label{display:flex;gap:10px;align-items:flex-start;color:var(--on-dark-dim);font-size:13.5px;line-height:1.5;cursor:pointer}
  .cookie-scelte strong{color:#fff;font-weight:600;margin-right:6px}
  .cookie-scelte input{margin-top:3px;width:16px;height:16px;accent-color:#fff;flex:none}
  .cookie-azioni{display:flex;gap:10px;flex-wrap:wrap}
  .cookie-azioni button{font-family:var(--body);font-weight:600;font-size:12px;letter-spacing:.08em;padding:11px 20px;cursor:pointer;border:1px solid #fff;background:#fff;color:var(--blu-900);border-radius:0}
  .cookie-azioni button.secondario{background:none;color:var(--on-dark);border-color:var(--on-dark)}
  .cookie-azioni button[hidden]{display:none}
  .cookie-azioni button:focus-visible{outline:2px solid #fff;outline-offset:3px}
  .cookie-azioni button{font-weight:700}
