:root{
  --cv-dark:#1F6B5C;
  --cv:#E07A45;
  --cv-mid:#F0B896;
  --cv-light:#FBE8D9;
  --cv-pale:#FDF6EF;
  --teal-mid:#4C9A88;
  --bg:#FEFCFA;
  --white:#FFFFFF;
  --text:#2A2E27;
  --text-soft:#6E6862;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Nunito',Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.65;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;color:var(--cv-dark);}
a{color:inherit;text-decoration:none;}
img,svg{max-width:100%;display:block;}
.container{max-width:1140px;margin:0 auto;padding:0 1.5rem;}
.section-tag{
  display:inline-block;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--cv);font-weight:700;margin-bottom:.5rem;
}
.section-title{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:.8rem;}
.section-intro{color:var(--text-soft);max-width:640px;margin-bottom:2.2rem;font-size:1.02rem;}
.servizi-icons{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:2rem 1rem;max-width:820px;margin:0 auto 2.2rem;
}
.servizi-icon-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.7rem;}
.servizi-icon{width:56px;height:56px;flex-shrink:0;object-fit:contain;}
@media (min-width:901px){.servizi-icon{width:76px;height:76px;}}
.servizi-icon-item span{
  font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;
  color:var(--cv);line-height:1.3;
}

/* SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in-view{opacity:1;transform:translateY(0);}
.servizi-grid.reveal-group > *,
.steps-grid.reveal-group > *,
.dove-grid.reveal-group > *,
.aside-cards.reveal-group > *,
.tl-list.reveal-group > *,
.info-grid.reveal-group > *{opacity:0;transform:translateY(24px);transition:opacity .55s ease, transform .55s ease;}
.reveal-group.in-view > *{opacity:1;transform:translateY(0);}
.servizi-grid.reveal-group > *:nth-child(1),.steps-grid.reveal-group > *:nth-child(1),.dove-grid.reveal-group > *:nth-child(1),.aside-cards.reveal-group > *:nth-child(1),.tl-list.reveal-group > *:nth-child(1),.info-grid.reveal-group > *:nth-child(1){transition-delay:.05s;}
.servizi-grid.reveal-group > *:nth-child(2),.steps-grid.reveal-group > *:nth-child(2),.dove-grid.reveal-group > *:nth-child(2),.aside-cards.reveal-group > *:nth-child(2),.tl-list.reveal-group > *:nth-child(2),.info-grid.reveal-group > *:nth-child(2){transition-delay:.14s;}
.servizi-grid.reveal-group > *:nth-child(3),.steps-grid.reveal-group > *:nth-child(3),.dove-grid.reveal-group > *:nth-child(3),.aside-cards.reveal-group > *:nth-child(3),.info-grid.reveal-group > *:nth-child(3){transition-delay:.23s;}
.servizi-grid.reveal-group > *:nth-child(4),.aside-cards.reveal-group > *:nth-child(4),.info-grid.reveal-group > *:nth-child(4){transition-delay:.32s;}
.servizi-grid.reveal-group > *:nth-child(5){transition-delay:.41s;}
@keyframes heroFadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
.hero-text > *{animation:heroFadeUp .7s ease both;}
.hero-text > *:nth-child(2){animation-delay:.08s;}
.hero-text > *:nth-child(3){animation-delay:.16s;}
.hero-text > *:nth-child(4){animation-delay:.24s;}
.hero-visual{animation:heroFadeUp .8s ease .1s both;}
@media (prefers-reduced-motion: reduce){
  .reveal,.reveal-group > *,.hero-text > *,.hero-visual{opacity:1!important;transform:none!important;animation:none!important;transition:none!important;}
}

/* HEADER / NAVBAR */
header{
  position:sticky;top:0;z-index:1000;
  background:rgba(254,252,250,.96);
  backdrop-filter:blur(6px);
  box-shadow:0 2px 14px rgba(31,107,92,.08);
}
.navbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem 1.5rem;max-width:1140px;margin:0 auto;
}
.logo{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:700;color:var(--cv-dark);}
.logo span{color:var(--cv);}
.nav-links{display:flex;align-items:center;gap:1.1rem;list-style:none;}
.nav-links a{
  font-size:.85rem;color:var(--text);font-weight:500;padding-bottom:2px;
  border-bottom:2px solid transparent;transition:.2s;white-space:nowrap;
}
.nav-links a:hover{color:var(--cv);}
.nav-links a.nav-active{
  color:var(--cv);font-weight:700;border-bottom:2px solid var(--cv);
}
.hamburger{
  display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;
  margin-left:auto;padding:6px;z-index:1210;
}
.hamburger span{width:24px;height:2px;background:var(--cv-dark);transition:.28s;}

/* MOBILE MENU — canonico transform/inset/mobile-menu-inner */
.mobile-menu{
  position:fixed;inset:0 0 0 auto;width:280px;
  background:var(--cv-dark);z-index:1100;
  transform:translate3d(100%,0,0);
  transition:transform .22s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
  -webkit-backface-visibility:hidden;backface-visibility:hidden;
  box-shadow:-4px 0 24px rgba(0,0,0,.18);
}
.mobile-menu.open{transform:translate3d(0,0,0);}
.mobile-menu-inner{
  position:absolute;top:3.5rem;left:0;right:0;bottom:0;
  overflow-y:auto;-webkit-overflow-scrolling:touch;
  display:flex;flex-direction:column;padding:0 1.5rem 2rem;
}
.mobile-menu-close{
  position:absolute;top:1.2rem;right:1.2rem;z-index:5;background:none;border:none;
  color:var(--white);font-size:1.6rem;cursor:pointer;padding:8px;
}
.mobile-menu nav{display:flex;flex-direction:column;gap:1.1rem;}
.mobile-menu nav a{
  text-decoration:none;font-size:1rem;color:var(--white);
  font-family:Arial,sans-serif;padding:.5rem 0;
  border-bottom:1px solid rgba(255,255,255,.15);
}
.mobile-menu nav a.nav-active{color:var(--cv-light);font-weight:700;}
.overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1050;
  opacity:0;pointer-events:none;transition:opacity .2s ease;
  will-change:opacity;
}
.overlay.open{opacity:1;pointer-events:all;}

/* HERO */
.hero{padding:5rem 1.5rem 4rem;overflow:visible;}
.hero-inner{
  max-width:1140px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;
  gap:3rem;align-items:center;
}
.hero-tag{
  display:inline-block;background:var(--cv-pale);color:var(--cv-dark);
  padding:.4rem 1rem;border-radius:20px;font-size:.8rem;font-weight:700;
  letter-spacing:.05em;margin-bottom:1.2rem;
}
.hero h1{font-size:clamp(2.1rem,4.4vw,3.1rem);line-height:1.15;margin-bottom:1.1rem;}
.hero h1 em{font-style:normal;color:var(--cv);}
.hero-sub{font-size:1.06rem;color:var(--text-soft);max-width:520px;margin-bottom:1.8rem;}
.hero-sub-strong{font-weight:700;color:var(--cv-dark,var(--text));font-size:1.12rem;line-height:1.45;max-width:520px;margin-bottom:1.8rem;}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;}
.btn{
  display:inline-block;padding:.85rem 1.7rem;border-radius:8px;font-weight:700;
  font-size:.95rem;transition:.2s;border:2px solid transparent;
}
.btn-primary{background:var(--cv-dark);color:var(--white);}
.btn-primary:hover{background:var(--cv);}
.btn-outline{border:2px solid var(--cv-dark);color:var(--cv-dark);}
.btn-outline:hover{background:var(--cv-dark);color:var(--white);}

.hero-visual{display:flex;justify-content:center;align-items:center;}
.hero-photo{width:380px;max-width:100%;aspect-ratio:1/1;border-radius:50%;overflow:hidden;background:#FBE8D9;border:6px solid #fff;box-shadow:0 20px 50px rgba(31,107,92,.18);}
.hero-photo img{width:100%;height:100%;object-fit:cover;display:block;}

/* INFO STRIP */
/* INFO STRIP — pillole animate invece della striscia scura */
.info-strip{padding:2.5rem 0;background:var(--cv-pale);border-top:1px solid var(--cv-light);border-bottom:1px solid var(--cv-light);}
.info-grid{
  display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;
  max-width:1140px;margin:0 auto;padding:0 1.5rem;
}
.info-pill{
  background:var(--white);border:1px solid var(--cv-light);border-radius:14px;
  padding:1rem 1.4rem;text-align:center;min-width:150px;
  transition:transform .25s ease, box-shadow .25s ease;
}
.info-pill .ic-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--cv);font-weight:700;margin-bottom:.3rem;}
.info-pill .ic-value{font-size:.88rem;color:var(--cv-dark);font-weight:600;}
@media (hover:hover){
  .info-pill:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(31,107,92,.14);}
}

/* PAGE HEADER (sottopagine) */
.page-header{background:var(--cv-pale);padding:3rem 0 2.6rem;border-bottom:1px solid var(--cv-light);}
.breadcrumb{font-size:.82rem;color:var(--text-soft);margin-bottom:.8rem;}
.breadcrumb a{color:var(--cv-dark);font-weight:700;}
.page-header h1{font-size:clamp(1.8rem,3.6vw,2.5rem);margin-bottom:.6rem;}
.page-header h1.page-title-nunito{font-family:'Nunito',Arial,sans-serif;font-weight:800;letter-spacing:-.01em;}
.page-header p{color:var(--text-soft);max-width:640px;font-size:1.02rem;}

/* CHI SONO — INTRO full-width con foto in trasparenza */
.chi-sono-intro{position:relative;padding:4.5rem 0;overflow:hidden;isolation:isolate;background:var(--cv-pale);}
.chi-sono-intro--top{padding-top:7rem;}
.chi-sono-intro-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;}
.chi-sono-intro-bg::before{
  content:'';position:absolute;inset:0;
  background-image:url('img/logopedista-angri-terapia-linguaggio-bambini.jpg');
  background-size:cover;background-position:center 42%;
  opacity:.26;
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 100%);
  mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 100%);
}
.chi-sono-intro-bg::after{
  content:'';position:absolute;inset:0;
  background:rgba(253,246,239,.5);
}
.chi-sono-intro-text{max-width:760px;margin:0 auto;text-align:center;}
.chi-sono-intro-text h1{font-family:'Nunito',Arial,sans-serif;font-size:clamp(2.1rem,4.5vw,2.7rem);font-weight:800;letter-spacing:-.01em;margin-bottom:1.2rem;}
.chi-sono-intro-text p{color:var(--text-soft);font-size:1.08rem;margin-bottom:1rem;}
.chi-sono-intro-text p:last-child{margin-bottom:0;font-weight:600;color:var(--cv-dark);}

/* CHI SONO */
.chi-sono{padding:5rem 0;}
.chi-sono-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:start;}
.bio p{margin-bottom:1.1rem;color:var(--text-soft);font-size:1.02rem;}
.bio h3{font-size:1.2rem;margin:2rem 0 .8rem;color:var(--cv-dark);}
.bio h3:first-child{margin-top:0;}

/* SERVIZI — riga testo + icona più a destra, centrata sul blocco testo/paragrafo */
.servizio-row{display:flex;align-items:center;gap:1.4rem;margin:2.4rem 0 0;}
.servizio-row:first-child{margin-top:0;}
.servizio-copy{flex:1 1 auto;max-width:620px;}
.servizio-copy h3{margin-top:0;}
.servizio-icon-btn{
  display:flex;align-items:center;justify-content:center;
  width:96px;height:96px;border-radius:50%;flex-shrink:0;
  background:var(--white);border:1px solid var(--cv-light);
  transition:transform .25s ease, box-shadow .25s ease;
}
.servizio-icon{width:56px;height:56px;object-fit:contain;}
@media (hover:hover){
  .servizio-icon-btn:hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(31,107,92,.18);}
}
@media (max-width:640px){
  .servizio-row{gap:1rem;}
  .servizio-icon-btn{width:68px;height:68px;}
  .servizio-icon{width:40px;height:40px;}
}
.bio strong{color:var(--cv-dark);}
.bio .approccio-lead{
  font-family:'Nunito',Arial,sans-serif;font-weight:800;
  font-size:clamp(1.6rem,3.4vw,2.15rem);line-height:1.28;letter-spacing:-.01em;
  color:var(--cv);margin:0 0 1.3rem;
}
.bio-photo{border-radius:14px;overflow:hidden;box-shadow:0 10px 28px rgba(31,107,92,.14);margin:1.6rem 0 2rem;}
.bio-photo img{width:100%;height:auto;display:block;}
.quote-line{
  border-left:3px solid var(--cv);padding-left:1.2rem;margin:1.6rem 0;
  font-style:italic;color:var(--cv-dark);font-size:1.06rem;font-family:'Cormorant Garamond',serif;
}
.aside-cards{display:flex;flex-direction:column;gap:1.2rem;}
.aside-card{
  background:var(--cv-pale);border-radius:12px;padding:1.5rem;
  border:1px solid var(--cv-light);
}
.aside-card.featured{background:var(--cv-dark);color:var(--white);border:none;}
.aside-card.featured h4{color:var(--cv-light);}
.aside-card.featured p{color:#F6ECE2;}
.aside-card h4{font-size:1.02rem;color:var(--cv-dark);margin-bottom:.5rem;font-family:'Cormorant Garamond',serif;}
.aside-card p{font-size:.9rem;color:var(--text-soft);margin-bottom:.5rem;}
.aside-card p:last-child{margin-bottom:0;}
.aside-card p strong{color:var(--cv-dark);}
.aside-card.featured p strong{color:var(--cv-light);}
.aside-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem;}
.aside-list li{font-size:.9rem;color:var(--text-soft);padding-left:1.1rem;position:relative;}
.aside-list li::before{content:'';position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--cv);}

.aside-photo{border-radius:14px;overflow:hidden;box-shadow:0 10px 28px rgba(31,107,92,.16);}
.aside-photo img{width:100%;height:auto;display:block;}

/* TIMELINE — Percorso Universitario, pallini che si accendono allo scroll */
.tl-list{display:flex;flex-direction:column;gap:0;margin-top:.9rem;}
.tl-item{display:grid;grid-template-columns:14px 1fr;column-gap:.9rem;position:relative;padding-bottom:1.3rem;}
.tl-item:last-child{padding-bottom:0;}
.tl-item::after{
  content:'';position:absolute;top:1.05rem;left:6px;width:2px;
  height:calc(100% - .5rem);background:rgba(255,255,255,.22);
}
.tl-item:last-child::after{display:none;}
.tl-dot{
  grid-column:1;grid-row:1;width:14px;height:14px;border-radius:50%;
  background:rgba(255,255,255,.25);margin-top:.28rem;transform:scale(.55);
  transition:transform .5s ease, background .5s ease, box-shadow .5s ease;
}
.tl-list.reveal-group.in-view .tl-dot{
  background:var(--cv);transform:scale(1);
  box-shadow:0 0 0 4px rgba(224,122,69,.28);
}
.tl-list.reveal-group.in-view > *:nth-child(2) .tl-dot{transition-delay:.14s;}
.tl-content{grid-column:2;grid-row:1;}
.tl-year{display:block;font-size:.74rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--cv-light);margin-bottom:.2rem;}
.tl-content p{font-size:.9rem;color:#F6ECE2;margin:0;}

/* MICRO-INTERAZIONI CARD — servizi, aside-card (chi sono), dove */
@media (hover:hover){
  .servizi-card,.aside-card,.dove-card{transition:transform .25s ease, box-shadow .25s ease;}
  .servizi-card:hover,.aside-card:hover,.dove-card:hover{
    transform:translateY(-6px);
    box-shadow:0 16px 32px rgba(31,107,92,.18);
  }
}

/* TEASER (home) */
.teaser-link{font-weight:700;color:var(--cv-dark);border-bottom:2px solid var(--cv);padding-bottom:2px;}
.teaser-link:hover{color:var(--cv);}
.section-more{text-align:center;margin-top:2.4rem;}

/* SERVIZI grid */
.servizi{padding:5rem 0;background:var(--cv-pale);}
.servizi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;}
.servizi-grid.servizi-grid-3{grid-template-columns:repeat(3,1fr);}
.servizi-card{
  background:var(--white);border-radius:12px;padding:1.8rem;
  border:1px solid var(--cv-light);
}
.servizi-card h3{font-size:1.05rem;margin-bottom:.5rem;}
.servizi-card p{font-size:.9rem;color:var(--text-soft);}
.servizi-card .servizi-target{font-size:.82rem;color:var(--cv-dark);font-weight:700;margin-top:.7rem;}

/* COME FUNZIONA */
.come-funziona{background:var(--cv-dark);padding:5rem 0;color:var(--white);}
.come-funziona .section-tag{color:var(--cv-light);}
.come-funziona .section-title{color:var(--white);}
.come-funziona .section-intro{color:#F6ECE2;}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
.step-card{background:rgba(255,255,255,.08);border-radius:12px;padding:1.8rem;border:1px solid rgba(255,255,255,.14);}
.step-num{font-family:'Cormorant Garamond',serif;font-size:2rem;color:var(--cv-light);margin-bottom:.5rem;}
.step-card h3{color:var(--cv);font-size:1.3rem;margin-bottom:.5rem;}
.step-card p{color:#F6ECE2;font-size:.9rem;}
.come-funziona-note{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:1.6rem 1.8rem;margin-top:2.2rem;}
.come-funziona-note p{color:#F6ECE2;font-size:.96rem;}

/* DOVE */
.dove{padding:5rem 0;background:var(--cv-pale);}
.dove-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;}
.dove-grid.dove-grid-3{grid-template-columns:repeat(3,1fr);}
.dove-card{
  background:var(--white);border:1px solid var(--cv-light);border-radius:12px;
  padding:1.8rem;
}
.dove-card.featured{background:var(--cv-dark);color:var(--white);border:none;}
.dove-card.featured h3{color:var(--white);}
.dove-card.featured p{color:#F6ECE2;}
.dove-card h3{font-size:1.1rem;margin-bottom:.5rem;}
.dove-card p{font-size:.92rem;color:var(--text-soft);margin-bottom:.6rem;}
.dove-card a.maps-link{font-size:.85rem;font-weight:700;color:var(--cv);}
.dove-card.featured a.maps-link{color:var(--cv-light);}
.dove-nota{color:var(--text-soft);font-size:.92rem;margin-top:1.6rem;max-width:none;white-space:nowrap;}
@media (max-width:640px){
  .dove-nota{white-space:normal;}
}

/* CONTATTI */
.contatti{padding:5rem 0;}
.contatti-wrap{display:grid;grid-template-columns:1fr 360px;gap:3rem;}
.contatti-form{display:flex;flex-direction:column;gap:1rem;}
.contatti-form input:not([type="checkbox"]),.contatti-form select,.contatti-form textarea{
  width:100%;padding:.85rem 1rem;border:1px solid var(--cv-light);border-radius:8px;
  font-family:'Nunito',Arial,sans-serif;font-size:.95rem;background:var(--white);
}
.contatti-form textarea{resize:vertical;min-height:110px;}
.gdpr-check{display:flex;align-items:flex-start;gap:.6rem;font-size:.85rem;color:var(--text-soft);}
.gdpr-check input[type="checkbox"]{width:16px;height:16px;flex-shrink:0;margin-top:2px;}
.hp-field{position:absolute;left:-9999px;opacity:0;pointer-events:none;}
.contatti-form button{
  background:var(--cv-dark);color:var(--white);border:none;padding:.95rem 1.6rem;
  border-radius:8px;font-weight:700;cursor:pointer;font-size:.98rem;transition:.2s;
}
.contatti-form button:hover{background:var(--cv);}
.form-feedback{font-size:.88rem;min-height:1.2em;}
.form-feedback.success{color:var(--cv-dark);font-weight:700;}
.form-feedback.error{color:#B23B3B;font-weight:700;}

.contatti-alt{display:flex;flex-direction:column;gap:1.4rem;}
.contatti-direct p{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;margin-bottom:.7rem;}
.contatti-direct a{word-break:break-all;font-weight:600;color:var(--cv-dark);}
.ext-btns{display:flex;flex-direction:column;gap:.7rem;}
.ext-btns a{
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.8rem 1rem;border-radius:8px;font-weight:700;font-size:.9rem;color:var(--white);
  text-align:center;
}
.btn-whatsapp{background:#25D366;}
.btn-instagram{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);}

/* FOOTER */
footer{background:var(--cv-dark);color:#F6ECE2;padding:2.5rem 0;text-align:center;font-size:.85rem;}
footer a{color:var(--cv-light);}
.footer-links{display:flex;justify-content:center;gap:1.2rem;flex-wrap:wrap;margin-top:.6rem;}
.footer-credit{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.12);font-size:.72rem;color:rgba(246,236,226,.55);}
.footer-credit a{color:rgba(246,236,226,.75);text-decoration:underline;}

/* COOKIE BANNER */
#cookieBanner{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:1300;
  background:var(--cv-dark);color:#F6ECE2;padding:1rem 1.5rem;
  align-items:center;justify-content:space-between;gap:1.2rem;flex-wrap:wrap;
  box-shadow:0 -4px 18px rgba(0,0,0,.18);
}
#cookieBanner p{font-size:.85rem;max-width:640px;}
#cookieBanner a{color:var(--cv-light);font-weight:700;}
.cookie-btns{display:flex;gap:.7rem;flex-shrink:0;}
.cookie-btns button{
  padding:.6rem 1.2rem;border-radius:8px;border:none;font-weight:700;cursor:pointer;font-size:.85rem;
}
#cookieAccept{background:var(--cv);color:var(--white);}
#cookieReject{background:transparent;color:#F6ECE2;border:1px solid rgba(255,255,255,.4)!important;}

/* MOBILE */
@media (max-width:900px){
  .nav-links{display:none;}
  .hamburger{display:flex;}
  .hero-inner{grid-template-columns:1fr;gap:2rem;text-align:center;}
  .hero{padding:6rem 1.5rem 3rem;overflow:visible;}
  .hero-visual{order:-1;}
  .hero-photo{width:220px;}
  .hero-btns{justify-content:center;}
  .info-grid{gap:.8rem;}
  .info-pill{flex:1 1 100%;min-width:0;}
  .chi-sono-intro{padding:3.2rem 0;}
  .chi-sono-intro--top{padding-top:5.5rem;}
  .chi-sono-intro-bg::before{background-position:center 38%;}
  .chi-sono-intro-text{text-align:left;}
  .chi-sono-intro-text p{font-size:1rem;}
  .chi-sono-grid{grid-template-columns:1fr;}
  .servizi-grid,.servizi-grid.servizi-grid-3{grid-template-columns:1fr;}
  .steps-grid{grid-template-columns:1fr;}
  .dove-grid,.dove-grid.dove-grid-3{grid-template-columns:1fr;}
  .contatti-wrap{grid-template-columns:1fr;}
  #cookieBanner{flex-direction:column;align-items:stretch;text-align:center;}
  .cookie-btns{justify-content:center;}
}
@media (max-width:520px){
  .section-title{font-size:1.5rem;}
}
