@import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;500;600;700;800;900&display=swap");

:root{
  --navy:#050b1f;
  --navy2:#08142d;
  --card:#ffffff;
  --text:#08142d;
  --muted:#66708a;
  --cyan:#19d8e6;
  --blue:#2457ff;
  --purple:#7b3cff;
  --line:rgba(255,255,255,.16);
  --shadow:0 35px 100px rgba(0,0,0,.35);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Avenir Next",Avenir,"Nunito Sans","Helvetica Neue",Arial,sans-serif;
  color:#fff;
  background:var(--navy);
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(1360px,calc(100% - 48px));margin:0 auto}

#networkCanvas{
  position:fixed;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 18%,rgba(25,216,230,.18),transparent 26%),
    radial-gradient(circle at 90% 18%,rgba(36,87,255,.22),transparent 28%),
    linear-gradient(135deg,#04091a 0%,#071733 54%,#050b1f 100%);
}

.topbar{
  position:absolute;
  top:28px;
  left:0;
  right:0;
  z-index:10;
}
.nav-shell{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:0 28px;
  border-radius:26px;
  background:rgba(12,22,48,.78);
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 25px 80px rgba(0,0,0,.28);
  backdrop-filter:blur(22px);
}
.logo img{width:225px;height:auto;filter:brightness(1.1)}
.nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:42px;
  flex:1;
}
.nav a{
  color:#fff;
  font-size:1rem;
  font-weight:800;
}
.top-cta{
  min-height:52px;
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:0 24px;
  border-radius:999px;
  font-size:1rem;
  font-weight:900;
  background:linear-gradient(100deg,#2457ff,#19d8e6);
  box-shadow:0 18px 40px rgba(36,87,255,.28);
}

.hero{
  position:relative;
  z-index:1;
  min-height:860px;
  padding:160px 0 36px;
  overflow:hidden;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:42px;
  align-items:center;
}
.pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(8,20,50,.76);
  border:1px solid rgba(31,216,230,.42);
  color:#fff;
  font-size:.82rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  box-shadow:0 0 30px rgba(25,216,230,.12);
}
.pill span{
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 16px var(--cyan);
}

h1{
  margin:26px 0 24px;
  max-width:760px;
  font-size:clamp(4rem,6.3vw,7.2rem);
  line-height:.92;
  letter-spacing:-.075em;
  font-weight:900;
}
h1 strong{
  display:inline-block;
  background:linear-gradient(95deg,#19d8e6,#2457ff 48%,#8a35ff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.hero-copy p{
  max-width:610px;
  color:rgba(255,255,255,.80);
  font-size:1.23rem;
  line-height:1.65;
  margin:0;
}
.hero-actions{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin-top:30px;
}
.btn{
  min-height:56px;
  display:inline-flex;
  align-items:center;
  gap:12px;
  justify-content:center;
  padding:0 28px;
  border-radius:999px;
  font-weight:900;
  transition:.2s ease;
}
.btn:hover{transform:translateY(-3px)}
.btn-gradient{
  background:linear-gradient(100deg,#19d8e6,#2457ff);
  color:#fff;
  box-shadow:0 18px 48px rgba(36,87,255,.34);
}
.btn-outline{
  border:1px solid rgba(255,255,255,.34);
  background:rgba(255,255,255,.04);
  color:#fff;
}

.metrics{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-top:46px;
  max-width:800px;
}
.metric{
  min-height:92px;
  padding:16px;
  border-radius:14px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 18px 40px rgba(0,0,0,.12);
}
.metric-icon{
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  margin-right:8px;
  background:rgba(255,255,255,.08);
  color:#fff;
}
.metric strong{
  display:inline-block;
  color:var(--cyan);
  font-size:1.6rem;
  font-weight:900;
  vertical-align:middle;
}
.metric span{
  display:block;
  margin-top:7px;
  font-size:.78rem;
  color:#fff;
  opacity:.92;
  text-align:center;
}

.hero-visual{
  min-height:590px;
  position:relative;
}
.city-card{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:140px 34px 34px 34px;
  border:1px solid rgba(77,139,255,.55);
  box-shadow:
    0 0 0 1px rgba(25,216,230,.18),
    0 0 70px rgba(36,87,255,.35),
    var(--shadow);
  transform:skewX(-7deg);
  transform-origin:center;
}
.city-card img{
  width:116%;
  height:100%;
  object-fit:cover;
  transform:skewX(7deg) scale(1.05);
  margin-left:-8%;
  filter:saturate(1.2) contrast(1.12) brightness(.9);
}
.city-glow{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.24)),
    radial-gradient(circle at 80% 18%,rgba(36,87,255,.34),transparent 30%);
}
.floating-panel{
  position:absolute;
  left:23%;
  right:9%;
  bottom:7%;
  display:grid;
  grid-template-columns:64px 1fr;
  gap:20px;
  align-items:start;
  padding:26px;
  border-radius:28px;
  background:rgba(13,24,52,.76);
  border:1px solid rgba(255,255,255,.20);
  backdrop-filter:blur(20px);
  box-shadow:0 24px 70px rgba(0,0,0,.35);
  transform:skewX(7deg);
}
.panel-icon{
  width:56px;
  height:56px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:2rem;
  border:2px solid var(--blue);
  box-shadow:0 0 22px rgba(36,87,255,.45);
}
.floating-panel h3{
  margin:0 0 9px;
  font-size:1.35rem;
}
.floating-panel p{
  margin:0;
  color:rgba(255,255,255,.78);
  line-height:1.55;
}
.progress{
  display:flex;
  gap:4px;
  margin-top:18px;
}
.progress i,.progress span{
  height:6px;
  border-radius:999px;
}
.progress i:nth-child(1){width:90px;background:var(--cyan)}
.progress i:nth-child(2){width:90px;background:linear-gradient(90deg,var(--blue),var(--purple))}
.progress span{width:130px;background:rgba(0,0,0,.28)}

.services-strip{
  position:relative;
  z-index:2;
  padding:30px 0 58px;
  color:var(--text);
  background:
    radial-gradient(circle at 5% 0%,rgba(36,87,255,.12),transparent 24%),
    linear-gradient(180deg,#fff,#f5f8ff);
  color:#071327;
}
.section-kicker{
  color:var(--blue);
  text-transform:uppercase;
  letter-spacing:.10em;
  font-size:.82rem;
  font-weight:900;
  margin-bottom:8px;
}
.section-title-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:28px;
}
.section-title-row h2{
  margin:0 0 8px;
  font-size:2.45rem;
  letter-spacing:-.055em;
  line-height:1;
}
.section-title-row h2 strong{
  color:var(--blue);
}
.section-title-row p{
  margin:0;
  max-width:560px;
  color:#5f6980;
  line-height:1.55;
}
.slider-controls{
  display:flex;
  gap:10px;
}
.slider-controls button{
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:#edf2fb;
  color:#0b1530;
  font-size:1.5rem;
}

.service-cards{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:14px;
}
.service-card{
  min-height:150px;
  padding:18px;
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 48px rgba(10,25,60,.08);
  border:1px solid rgba(10,25,60,.06);
  transition:.2s ease;
}
.service-card:hover{
  transform:translateY(-4px);
  box-shadow:0 28px 60px rgba(10,25,60,.13);
}
.svc-icon{
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  margin-bottom:14px;
  background:linear-gradient(135deg,#1054d6,#1e79ff);
  color:#fff;
  font-weight:900;
}
.svc-icon.purple{background:linear-gradient(135deg,#3140d4,#7b3cff)}
.svc-icon.cyan{background:linear-gradient(135deg,#0ea5b7,#19d8e6)}
.svc-icon.violet{background:linear-gradient(135deg,#6d28d9,#9333ea)}
.service-card h3{
  margin:0 0 10px;
  font-size:1rem;
  line-height:1.22;
  letter-spacing:-.035em;
}
.service-card p{
  margin:0;
  color:#515b72;
  font-size:.86rem;
  line-height:1.55;
}

@media(max-width:1160px){
  .hero-grid{grid-template-columns:1fr}
  .hero-visual{min-height:520px}
  .city-card{position:relative}
  .service-cards{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
  .topbar{top:12px}
  .nav-shell{border-radius:20px;align-items:flex-start;flex-direction:column;padding:16px}
  .logo img{width:170px}
  .nav{gap:14px}
  .top-cta{display:none}
  .hero{padding-top:120px;min-height:auto}
  .metrics{grid-template-columns:repeat(2,1fr)}
  .city-card{transform:none;border-radius:34px}
  .city-card img{transform:none;width:100%;margin-left:0}
  .floating-panel{left:18px;right:18px;transform:none;grid-template-columns:1fr}
  .service-cards{grid-template-columns:1fr}
  .section-title-row{align-items:flex-start;flex-direction:column}
}

/* FIX metriche hero */
.metrics{
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:12px;
}

.metric{
  display:grid;
  grid-template-columns:38px 1fr;
  grid-template-rows:auto auto;
  column-gap:10px;
  align-items:center;
  min-height:96px;
}

.metric-icon{
  grid-row:1 / span 2;
  margin-right:0;
}

.metric strong{
  display:block;
  font-size:clamp(1.35rem,2vw,1.75rem);
  line-height:1;
  white-space:nowrap;
}

.metric span{
  text-align:left;
  margin-top:4px;
  font-size:.78rem;
  line-height:1.2;
}

@media(max-width:900px){
  .metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:520px){
  .metrics{
    grid-template-columns:1fr;
  }
}

/* FIX definitivo metriche */
.metrics{
  grid-template-columns:repeat(4,minmax(155px,1fr)) !important;
  align-items:stretch;
}

.metric{
  display:grid !important;
  grid-template-columns:42px 1fr;
  grid-template-rows:auto auto;
  column-gap:12px;
  align-items:center;
  min-height:100px;
}

.metric-icon{
  grid-row:1 / span 2;
  margin:0 !important;
}

.metric strong{
  display:block;
  line-height:1;
  font-size:clamp(1.45rem,2vw,1.75rem);
  white-space:nowrap;
}

.metric span{
  display:block;
  text-align:left !important;
  margin-top:5px;
  font-size:.78rem;
  line-height:1.2;
}

/* CTA finale + footer */
.final-cta{
  position:relative;
  z-index:2;
  padding:84px 0;
  background:linear-gradient(180deg,#f5f8ff 0%,#ffffff 100%);
  color:#071327;
}

.final-cta-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  padding:44px;
  border-radius:30px;
  background:linear-gradient(135deg,#071327,#123b86);
  color:#fff;
  box-shadow:0 28px 80px rgba(7,19,39,.22);
}

.final-cta-box h2{
  margin:8px 0 12px;
  max-width:760px;
  font-size:clamp(2rem,4vw,4rem);
  line-height:1;
  letter-spacing:-.06em;
}

.final-cta-box p{
  margin:0;
  max-width:680px;
  color:rgba(255,255,255,.74);
  line-height:1.65;
}

.mini-label{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#5eead4;
  text-transform:uppercase;
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.12em;
}

.site-footer{
  position:relative;
  z-index:2;
  background:#050b1f;
  color:#fff;
  padding:68px 0 26px;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.45fr .8fr 1fr 1fr;
  gap:36px;
  align-items:start;
}

.footer-brand img{
  width:240px;
  margin-bottom:18px;
  filter:brightness(1.08);
}

.site-footer h3{
  margin:0 0 16px;
  color:#fff;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.14em;
}

.site-footer p,
.site-footer a{
  display:block;
  color:rgba(255,255,255,.68);
  line-height:1.65;
  margin:0 0 10px;
}

.site-footer a:hover{
  color:#fff;
}

.footer-cta{
  margin-top:12px !important;
  color:#5eead4 !important;
  font-weight:900;
}

.footer-bottom{
  margin-top:34px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  color:rgba(255,255,255,.50);
  font-size:.9rem;
}

@media(max-width:980px){
  .metrics{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .footer-grid{
    grid-template-columns:1fr 1fr;
  }
  .final-cta-box{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media(max-width:620px){
  .metrics,
  .footer-grid{
    grid-template-columns:1fr !important;
  }
}

/* === FIX HERO METRICS DEFINITIVO === */
.metrics{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(170px, 1fr)) !important;
  gap:14px !important;
  max-width:900px !important;
  margin-top:42px !important;
}

.metric{
  min-height:104px !important;
  padding:16px 18px !important;
  display:grid !important;
  grid-template-columns:48px 1fr !important;
  grid-template-rows:auto auto !important;
  column-gap:14px !important;
  row-gap:4px !important;
  align-items:center !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.075) !important;
  border:1px solid rgba(255,255,255,.18) !important;
}

.metric-icon{
  grid-column:1 !important;
  grid-row:1 / 3 !important;
  width:44px !important;
  height:44px !important;
  margin:0 !important;
  border-radius:50% !important;
  border:1px solid rgba(94,234,212,.8) !important;
  background:rgba(255,255,255,.06) !important;
  color:#fff !important;
  font-size:1.25rem !important;
}

.metric strong{
  grid-column:2 !important;
  grid-row:1 !important;
  display:block !important;
  color:#19d8e6 !important;
  font-size:clamp(1.55rem,2vw,1.95rem) !important;
  line-height:1 !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

.metric span{
  grid-column:2 !important;
  grid-row:2 !important;
  display:block !important;
  margin:0 !important;
  color:#fff !important;
  opacity:.95 !important;
  font-size:.88rem !important;
  line-height:1.15 !important;
  text-align:left !important;
  white-space:normal !important;
}

/* sistema specifico per testi lunghi */
.metric:nth-child(3) span,
.metric:nth-child(4) span{
  max-width:115px !important;
}

@media(max-width:1100px){
  .metrics{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    max-width:620px !important;
  }
}

@media(max-width:560px){
  .metrics{
    grid-template-columns:1fr !important;
    max-width:100% !important;
  }
}

/* === METRICHE V2 - layout corretto === */
.metrics-v2{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(190px,1fr)) !important;
  gap:16px !important;
  max-width:980px !important;
  margin-top:42px !important;
}

.metric-v2{
  min-height:118px;
  padding:22px 24px;
  display:grid;
  grid-template-columns:64px 1fr;
  align-items:center;
  gap:20px;
  border-radius:22px;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 22px 54px rgba(0,0,0,.16);
  backdrop-filter:blur(14px);
}

.metric-v2-icon{
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  border:2px solid #19d8e6;
  color:#fff;
  font-size:2rem;
  line-height:1;
  box-shadow:0 0 20px rgba(25,216,230,.24);
}

.metric-v2-copy strong{
  display:block;
  color:#19d8e6;
  font-size:clamp(2rem,3vw,3.1rem);
  line-height:.9;
  font-weight:900;
  letter-spacing:-.05em;
  white-space:nowrap;
}

.metric-v2-copy span{
  display:block;
  margin-top:10px;
  color:#fff;
  font-size:1.02rem;
  line-height:1.18;
  font-weight:700;
  letter-spacing:-.02em;
}

@media(max-width:1120px){
  .metrics-v2{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    max-width:720px !important;
  }
}

@media(max-width:620px){
  .metrics-v2{
    grid-template-columns:1fr !important;
  }
  .metric-v2{
    grid-template-columns:56px 1fr;
    padding:18px;
  }
}



/* =========================================================
   METRICHE HERO FINAL
========================================================= */

.metrics-v2{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:24px !important;
  width:100% !important;
  max-width:1500px !important;
  margin-top:46px !important;
}

.metric-v2{
  position:relative;
  overflow:hidden;
  min-height:190px;
  padding:30px 34px;
  border-radius:34px;
  background:linear-gradient(
    180deg,
    rgba(255,255,255,.11),
    rgba(255,255,255,.05)
  );
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(18px);

  display:flex;
  align-items:center;
  gap:28px;
}

.metric-v2-icon{
  flex:0 0 92px;

  width:92px;
  height:92px;
  border-radius:999px;

  display:flex;
  align-items:center;
  justify-content:center;

  border:3px solid #19d8e6;
  color:#ffffff;

  font-size:3rem;
  line-height:1;

  box-shadow:
    0 0 24px rgba(25,216,230,.22),
    inset 0 0 12px rgba(25,216,230,.14);
}

.metric-v2-copy{
  flex:1;
  min-width:0;
}

.metric-v2-copy strong{
  display:block;

  font-size:clamp(3rem,4vw,5rem);
  line-height:.88;
  font-weight:900;

  color:#19d8e6;
  letter-spacing:-.08em;

  white-space:nowrap;
}

.metric-v2-copy span{
  display:block;

  margin-top:12px;

  font-size:2rem;
  line-height:1.04;
  font-weight:800;

  color:#ffffff;
  letter-spacing:-.03em;
}

@media(max-width:1400px){

  .metric-v2-copy strong{
    font-size:3.7rem;
  }

  .metric-v2-copy span{
    font-size:1.7rem;
  }

}

@media(max-width:1200px){

  .metrics-v2{
    grid-template-columns:repeat(2,1fr) !important;
  }

}

@media(max-width:700px){

  .metrics-v2{
    grid-template-columns:1fr !important;
  }

  .metric-v2{
    min-height:150px;
    padding:22px;
  }

  .metric-v2-icon{
    width:72px;
    height:72px;
    flex-basis:72px;
    font-size:2.2rem;
  }

  .metric-v2-copy strong{
    font-size:3rem;
  }

  .metric-v2-copy span{
    font-size:1.35rem;
  }

}


/* =========================================================
   METRICHE CLEAN - reset definitivo
========================================================= */

.metrics-clean{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(170px, 1fr)) !important;
  gap:14px !important;
  max-width:880px !important;
  margin-top:38px !important;
}

.metric-clean{
  height:104px !important;
  padding:16px 18px !important;
  display:grid !important;
  grid-template-columns:48px 1fr !important;
  gap:14px !important;
  align-items:center !important;

  border-radius:16px !important;
  background:rgba(255,255,255,.075) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.16) !important;
  backdrop-filter:blur(14px) !important;

  overflow:hidden !important;
}

.metric-clean-icon{
  width:44px !important;
  height:44px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  border-radius:999px !important;
  border:1.5px solid #19d8e6 !important;
  color:#fff !important;
  font-size:1.45rem !important;
  line-height:1 !important;
  box-shadow:0 0 16px rgba(25,216,230,.22) !important;
}

.metric-clean strong{
  display:block !important;
  margin:0 0 5px 0 !important;

  color:#19d8e6 !important;
  font-size:2rem !important;
  line-height:.95 !important;
  font-weight:900 !important;
  letter-spacing:-.05em !important;

  white-space:nowrap !important;
}

.metric-clean span{
  display:block !important;
  margin:0 !important;

  color:#fff !important;
  opacity:.94 !important;
  font-size:.86rem !important;
  line-height:1.15 !important;
  font-weight:700 !important;
  letter-spacing:-.02em !important;

  white-space:normal !important;
}

@media(max-width:1120px){
  .metrics-clean{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    max-width:620px !important;
  }
}

@media(max-width:560px){
  .metrics-clean{
    grid-template-columns:1fr !important;
    max-width:100% !important;
  }
}

/* === FIX SEMPLICE DEFINITIVO METRICHE === */
.metrics-clean{
  width:100% !important;
  max-width:720px !important;
  grid-template-columns:repeat(4, 1fr) !important;
  gap:10px !important;
}

.metric-clean{
  height:86px !important;
  min-width:0 !important;
  padding:12px !important;
  grid-template-columns:34px 1fr !important;
  gap:10px !important;
  border-radius:14px !important;
}

.metric-clean-icon{
  width:34px !important;
  height:34px !important;
  font-size:1.05rem !important;
}

.metric-clean strong{
  font-size:1.45rem !important;
  letter-spacing:-.04em !important;
}

.metric-clean span{
  font-size:.72rem !important;
  line-height:1.12 !important;
  max-width:none !important;
}

@media(max-width:1120px){
  .metrics-clean{
    grid-template-columns:repeat(2, 1fr) !important;
    max-width:520px !important;
  }
}

@media(max-width:560px){
  .metrics-clean{
    grid-template-columns:1fr !important;
  }
}

/* === DETTAGLIO SERVIZI SEO + MOBILE === */
.service-detail-hero{
  min-height:520px;
}

.detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:28px;
  align-items:start;
}

.detail-main,
.side-card,
.detail-cta{
  background:#fff;
  border:1px solid rgba(10,25,60,.08);
  box-shadow:0 20px 60px rgba(10,25,60,.08);
  border-radius:24px;
}

.detail-main{
  padding:34px;
}

.detail-main h2{
  margin:0 0 16px;
  font-size:2rem;
  line-height:1;
  letter-spacing:-.05em;
}

.detail-main p{
  color:#5f6980;
  line-height:1.75;
  font-size:1.02rem;
}

.detail-list{
  margin:0 0 34px;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}

.detail-list li{
  position:relative;
  padding:16px 18px 16px 46px;
  border-radius:16px;
  background:#f6f8ff;
  color:#17213a;
  line-height:1.55;
}

.detail-list li:before{
  content:"✓";
  position:absolute;
  left:16px;
  top:15px;
  width:20px;
  height:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:linear-gradient(135deg,#19d8e6,#2457ff);
  color:#fff;
  font-size:.75rem;
  font-weight:900;
}

.detail-cta{
  margin-top:34px;
  padding:28px;
  background:linear-gradient(135deg,#071327,#123b86);
  color:#fff;
}

.detail-cta h3{
  margin:0 0 10px;
  font-size:1.6rem;
  letter-spacing:-.04em;
}

.detail-cta p{
  color:rgba(255,255,255,.72);
}

.side-card{
  position:sticky;
  top:120px;
  padding:24px;
}

.side-card h3{
  margin:0 0 16px;
}

.side-card a{
  display:block;
  padding:13px 0;
  color:#2457ff;
  font-weight:800;
  border-bottom:1px solid rgba(10,25,60,.08);
}

@media(max-width:980px){
  .detail-layout{
    grid-template-columns:1fr;
  }

  .side-card{
    position:static;
  }

  .detail-main{
    padding:24px;
  }
}

@media(max-width:640px){
  .service-detail-hero{
    min-height:auto;
  }

  .detail-main h2{
    font-size:1.65rem;
  }

  .detail-list li{
    padding:14px 14px 14px 42px;
  }
}

/* === SERVICE EDITORIAL PAGES - DIVERSE DA HOME === */
.service-page .topbar{
  position:absolute;
}

.service-hero-compact{
  position:relative;
  z-index:1;
  padding:160px 0 78px;
  color:#fff;
  background:
    radial-gradient(circle at 80% 20%,rgba(25,216,230,.18),transparent 24%),
    linear-gradient(135deg,#050b1f 0%,#071a40 100%);
}

.breadcrumb{
  margin-bottom:24px;
  color:rgba(255,255,255,.58);
  font-size:.9rem;
}

.breadcrumb a{
  color:rgba(255,255,255,.82);
}

.service-chip{
  display:inline-flex;
  padding:9px 13px;
  border-radius:999px;
  border:1px solid rgba(25,216,230,.38);
  color:#19d8e6;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.12em;
  font-size:.72rem;
}

.service-hero-compact h1{
  max-width:930px;
  margin:24px 0 18px;
  font-size:clamp(3rem,6vw,6rem);
  line-height:.92;
  letter-spacing:-.075em;
}

.service-hero-compact h1 strong{
  background:linear-gradient(95deg,#19d8e6,#2457ff 55%,#8a35ff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.service-hero-compact p{
  max-width:720px;
  color:rgba(255,255,255,.76);
  font-size:1.18rem;
  line-height:1.7;
}

.service-editorial{
  position:relative;
  z-index:2;
  padding:74px 0 96px;
  background:#f6f8ff;
  color:#071327;
}

.service-editorial-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:28px;
  align-items:start;
}

.service-article,
.sidebar-box,
.sidebar-links{
  background:#fff;
  border:1px solid rgba(10,25,60,.08);
  box-shadow:0 20px 60px rgba(10,25,60,.08);
  border-radius:26px;
}

.service-article{
  padding:38px;
}

.service-article h2{
  margin:0 0 16px;
  font-size:2.15rem;
  line-height:1;
  letter-spacing:-.055em;
}

.service-article p{
  color:#5f6980;
  line-height:1.78;
  font-size:1.04rem;
}

.info-blocks{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
  margin:30px 0;
}

.info-blocks > div{
  padding:24px;
  border-radius:22px;
  background:#f5f8ff;
  border:1px solid rgba(10,25,60,.07);
}

.info-blocks h3,
.sidebar-box h3,
.sidebar-links h3{
  margin:0 0 14px;
}

.info-blocks ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}

.info-blocks li{
  position:relative;
  padding-left:28px;
  color:#24314d;
  line-height:1.5;
}

.info-blocks li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#2457ff;
  font-weight:900;
}

.service-sidebar{
  position:sticky;
  top:120px;
  display:grid;
  gap:18px;
}

.sidebar-box,
.sidebar-links{
  padding:24px;
}

.sidebar-box p{
  color:#5f6980;
  line-height:1.6;
}

.sidebar-links a{
  display:block;
  padding:13px 0;
  border-bottom:1px solid rgba(10,25,60,.08);
  color:#2457ff;
  font-weight:800;
}

@media(max-width:980px){
  .service-editorial-grid,
  .info-blocks{
    grid-template-columns:1fr;
  }

  .service-sidebar{
    position:static;
  }
}

@media(max-width:640px){
  .service-hero-compact{
    padding:140px 0 58px;
  }

  .service-article{
    padding:24px;
  }

  .service-hero-compact h1{
    font-size:clamp(2.7rem,13vw,4rem);
  }
}

/* === PAGINE PRINCIPALI DAVVERO DIVERSE === */
.about-hero,.services-hub-hero,.resources-hero,.contact-hero,.booking-hero{
  position:relative;
  z-index:1;
  color:#fff;
  padding:160px 0 90px;
}

.about-hero{background:linear-gradient(135deg,#050b1f,#0b315f)}
.services-hub-hero{background:radial-gradient(circle at 80% 20%,rgba(25,216,230,.22),transparent 24%),linear-gradient(135deg,#050b1f,#071a40)}
.resources-hero{background:linear-gradient(135deg,#110f2e,#061126)}
.contact-hero{background:linear-gradient(135deg,#061126,#123b86)}
.booking-hero{background:linear-gradient(135deg,#071327,#062d3c)}

.about-grid,.contact-grid,.booking-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:42px;
  align-items:center;
}

.about-hero h1,.services-hub-hero h1,.resources-hero h1,.contact-hero h1,.booking-hero h1{
  max-width:920px;
  font-size:clamp(3rem,6vw,6.4rem);
  line-height:.9;
  letter-spacing:-.075em;
  margin:24px 0 18px;
}

.about-hero strong,.services-hub-hero strong,.resources-hero strong,.contact-hero strong,.booking-hero strong{
  background:linear-gradient(95deg,#19d8e6,#2457ff 55%,#8a35ff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.about-hero p,.services-hub-hero p,.resources-hero p,.contact-hero p,.booking-hero p{
  max-width:740px;
  color:rgba(255,255,255,.76);
  font-size:1.15rem;
  line-height:1.7;
}

.about-photo{
  overflow:hidden;
  border-radius:44px;
  box-shadow:0 30px 100px rgba(0,0,0,.32);
  border:1px solid rgba(255,255,255,.16);
}
.about-photo img{height:520px;width:100%;object-fit:cover}

.about-story,.services-hub,.resources-list{
  position:relative;
  z-index:2;
  padding:78px 0;
  background:#f6f8ff;
  color:#071327;
}

.story-grid,.resources-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.story-grid article,.resources-grid article,.contact-box,.booking-steps{
  background:#fff;
  border:1px solid rgba(10,25,60,.08);
  border-radius:28px;
  padding:30px;
  box-shadow:0 20px 60px rgba(10,25,60,.08);
}

.story-grid span{
  color:#2457ff;
  font-weight:900;
}

.resources-grid small{
  color:#2457ff;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
}

.contact-box h2{
  margin:0 0 14px;
  font-size:2.4rem;
  letter-spacing:-.06em;
}

.booking-steps{
  display:grid;
  gap:18px;
}

.booking-steps div{
  display:flex;
  align-items:center;
  gap:18px;
  padding:18px;
  border-radius:18px;
  background:#f6f8ff;
}

.booking-steps span{
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:linear-gradient(135deg,#19d8e6,#2457ff);
  color:#fff;
  font-weight:900;
}

.booking-steps p{
  margin:0;
  color:#071327;
  font-weight:800;
}

@media(max-width:980px){
  .about-grid,.contact-grid,.booking-grid,.story-grid,.resources-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:640px){
  .about-hero,.services-hub-hero,.resources-hero,.contact-hero,.booking-hero{
    padding:140px 0 64px;
  }
  .about-photo img{height:340px}
}

.source-note{
  margin:28px 0;
  padding:18px 20px;
  border-radius:18px;
  background:#f5f8ff;
  border:1px solid rgba(10,25,60,.08);
  color:#5f6980;
}

.source-note strong{
  display:block;
  color:#071327;
  margin-bottom:6px;
}

.source-note a{
  color:#2457ff;
  font-weight:800;
}

/* === SERVIZI HUB A SEZIONI SCROLL === */
.services-scroll-section{
  position:relative;
  z-index:2;
  padding:76px 0 96px;
  background:#f6f8ff;
  color:#071327;
}

.services-category{
  margin-bottom:46px;
}

.category-head{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:20px;
  align-items:start;
  margin-bottom:20px;
}

.category-head > span{
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:linear-gradient(135deg,#19d8e6,#2457ff);
  color:#fff;
  font-weight:900;
  box-shadow:0 18px 42px rgba(36,87,255,.22);
}

.category-head h2{
  margin:0 0 8px;
  font-size:clamp(1.9rem,3vw,3rem);
  line-height:1;
  letter-spacing:-.06em;
}

.category-head p{
  margin:0;
  max-width:780px;
  color:#5f6980;
  line-height:1.6;
}

.scroll-row{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(310px,1fr);
  gap:18px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:inline mandatory;
  padding:4px 4px 18px;
}

.scroll-row::-webkit-scrollbar{
  height:9px;
}

.scroll-row::-webkit-scrollbar-track{
  background:#e8eef8;
  border-radius:999px;
}

.scroll-row::-webkit-scrollbar-thumb{
  background:linear-gradient(90deg,#19d8e6,#2457ff);
  border-radius:999px;
}

.service-card-wide{
  scroll-snap-align:start;
  min-height:220px;
}

@media(min-width:1180px){
  .scroll-row{
    grid-auto-flow:initial;
    grid-template-columns:repeat(3,minmax(0,1fr));
    overflow:visible;
    padding-bottom:0;
  }

  .services-category:last-child .scroll-row{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:720px){
  .services-scroll-section{
    padding:56px 0 74px;
  }

  .category-head{
    grid-template-columns:1fr;
  }

  .scroll-row{
    grid-auto-columns:minmax(260px,82vw);
  }
}

/* === FOOTER GLOBALE + MOBILE NAV === */
.mobile-menu-btn{
  display:none;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:1.35rem;
  cursor:pointer;
}

.site-footer-v2{
  position:relative;
  z-index:2;
  padding:72px 0 26px;
  background:
    radial-gradient(circle at 10% 0%,rgba(25,216,230,.14),transparent 26%),
    linear-gradient(135deg,#04091a,#061126);
  color:#fff;
}

.footer-v2-grid{
  display:grid;
  grid-template-columns:1.35fr .8fr 1fr .9fr;
  gap:34px;
  align-items:start;
}

.footer-v2-brand img{
  width:230px;
  margin-bottom:18px;
  filter:brightness(1.08);
}

.site-footer-v2 h3{
  margin:0 0 16px;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#fff;
}

.site-footer-v2 p,
.site-footer-v2 a{
  display:block;
  margin:0 0 10px;
  color:rgba(255,255,255,.68);
  line-height:1.65;
}

.site-footer-v2 a:hover{
  color:#fff;
}

.footer-v2-cta{
  margin-top:12px !important;
  color:#19d8e6 !important;
  font-weight:900;
}

.footer-v2-bottom{
  margin-top:34px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  color:rgba(255,255,255,.50);
  font-size:.9rem;
}

@media(max-width:980px){
  .mobile-menu-btn{
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .nav-shell{
    position:relative;
  }

  .nav{
    display:none;
    width:100%;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    padding:12px 0 4px;
  }

  .nav.is-open{
    display:flex;
  }

  .nav a{
    width:100%;
    padding:12px 0;
    border-top:1px solid rgba(255,255,255,.10);
  }

  .footer-v2-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:640px){
  .footer-v2-grid{
    grid-template-columns:1fr;
  }

  .footer-v2-bottom{
    flex-direction:column;
  }
}

/* === NUOVO LOGO SCS === */
.logo img{
  width:230px !important;
  height:auto !important;
  max-height:70px !important;
  object-fit:contain !important;
}

.footer-v2-brand img,
.footer-brand img{
  width:260px !important;
  height:auto !important;
  object-fit:contain !important;
}

@media(max-width:720px){
  .logo img{
    width:185px !important;
  }
}

.logo img{
  width:210px !important;
  height:auto !important;
  max-height:76px !important;
  object-fit:contain !important;
}

.footer-v2-brand img,
.footer-brand img{
  width:260px !important;
  height:auto !important;
  object-fit:contain !important;
}

@media(max-width:720px){
  .logo img{
    width:170px !important;
    max-height:62px !important;
  }
}

/* Logo trasparente definitivo */
.logo img{
  width:220px !important;
  height:auto !important;
  max-height:72px !important;
  object-fit:contain !important;
}

.footer-v2-brand img,
.footer-brand img{
  width:280px !important;
  height:auto !important;
  object-fit:contain !important;
}

.logo img{
  width:230px !important;
  height:auto !important;
  max-height:68px !important;
  object-fit:contain !important;
}

/* restore logo proportions */
.logo img{
  width:160px !important;
  max-width:160px !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  display:block !important;
}

@media(max-width:720px){
  .logo img{
    width:125px !important;
    max-width:125px !important;
  }
}

/* Logo approvato */
.logo{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:210px !important;
  height:86px !important;
  overflow:hidden !important;
}

.logo img{
  width:210px !important;
  max-width:210px !important;
  height:auto !important;
  display:block !important;
  object-fit:contain !important;
}

.footer-v2-brand img,
.footer-brand img{
  width:280px !important;
  height:auto !important;
  object-fit:contain !important;
}

@media(max-width:720px){
  .logo{
    width:160px !important;
    height:68px !important;
  }

  .logo img{
    width:160px !important;
    max-width:160px !important;
  }
}

/* FIX header/logo + pagina contatti */
.logo{
  width:112px !important;
  height:72px !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.logo img{
  width:112px !important;
  max-width:112px !important;
  height:auto !important;
  display:block !important;
  object-fit:contain !important;
}

.contact-form-hero{
  min-height:auto !important;
  padding:130px 0 80px !important;
}

.contact-form-grid{
  align-items:center !important;
}

@media(max-width:720px){
  .logo{
    width:86px !important;
    height:58px !important;
  }

  .logo img{
    width:86px !important;
    max-width:86px !important;
  }

  .contact-form-hero{
    padding:115px 0 56px !important;
  }
}

/* === CONTACT FORM FIX COMPLETO === */
.contact-page .topbar{
  position:absolute !important;
  top:26px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:min(92%,1500px) !important;
  z-index:20 !important;
}

.contact-form-hero{
  position:relative !important;
  z-index:1 !important;
  min-height:auto !important;
  padding:150px 0 90px !important;
  color:#fff !important;
  background:
    radial-gradient(circle at 80% 20%,rgba(25,216,230,.20),transparent 26%),
    radial-gradient(circle at 10% 70%,rgba(124,58,237,.20),transparent 28%),
    linear-gradient(135deg,#050b1f,#071a40) !important;
}

.contact-form-grid{
  display:grid !important;
  grid-template-columns:.9fr 1.1fr !important;
  gap:38px !important;
  align-items:start !important;
}

.contact-form-copy h1{
  margin:24px 0 18px !important;
  font-size:clamp(3rem,6vw,6.4rem) !important;
  line-height:.9 !important;
  letter-spacing:-.075em !important;
}

.contact-form-copy h1 strong{
  background:linear-gradient(95deg,#19d8e6,#2457ff 55%,#8a35ff) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
}

.contact-form-copy p{
  max-width:650px !important;
  color:rgba(255,255,255,.76) !important;
  font-size:1.15rem !important;
  line-height:1.7 !important;
}

.contact-highlights{
  display:grid !important;
  gap:12px !important;
  margin-top:30px !important;
  max-width:520px !important;
}

.contact-highlights div{
  display:grid !important;
  grid-template-columns:54px 1fr !important;
  gap:14px !important;
  align-items:center !important;
  padding:16px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.12) !important;
}

.contact-highlights strong{
  color:#19d8e6 !important;
  font-weight:900 !important;
}

.scs-form{
  padding:30px !important;
  border-radius:30px !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(255,255,255,.24) !important;
  box-shadow:0 30px 90px rgba(0,0,0,.30) !important;
  color:#071327 !important;
}

.form-row{
  display:grid !important;
  gap:16px !important;
  margin-bottom:16px !important;
}

.form-row.two{
  grid-template-columns:1fr 1fr !important;
}

.scs-form label{
  display:grid !important;
  gap:8px !important;
  margin-bottom:16px !important;
  font-weight:900 !important;
  color:#071327 !important;
  font-size:.92rem !important;
}

.scs-form input,
.scs-form select,
.scs-form textarea{
  width:100% !important;
  border:1px solid rgba(10,25,60,.12) !important;
  border-radius:16px !important;
  padding:14px 15px !important;
  font:inherit !important;
  color:#071327 !important;
  background:#f7f9ff !important;
  outline:none !important;
  box-sizing:border-box !important;
}

.scs-form input:focus,
.scs-form select:focus,
.scs-form textarea:focus{
  border-color:#2457ff !important;
  box-shadow:0 0 0 4px rgba(36,87,255,.10) !important;
  background:#fff !important;
}

.privacy-check{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  font-weight:700 !important;
  color:#5f6980 !important;
}

.privacy-check input{
  width:auto !important;
  margin-top:4px !important;
}

.form-actions{
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  flex-wrap:wrap !important;
}

.form-note{
  margin:0 !important;
  max-width:360px !important;
  color:#6b7280 !important;
  font-size:.82rem !important;
  line-height:1.45 !important;
}

.form-success{
  margin-top:18px !important;
  padding:14px 16px !important;
  border-radius:16px !important;
  background:#ecfdf5 !important;
  color:#047857 !important;
  font-weight:800 !important;
}

@media(max-width:980px){
  .contact-form-grid,
  .form-row.two{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:640px){
  .contact-form-hero{
    padding:125px 0 64px !important;
  }

  .scs-form{
    padding:22px !important;
    border-radius:24px !important;
  }
}

.thankyou-box{
  max-width:900px;
  padding:42px;
  border-radius:34px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 30px 90px rgba(0,0,0,.24);
}

.thankyou-box h1{
  margin:24px 0 18px;
  font-size:clamp(3rem,6vw,6rem);
  line-height:.9;
  letter-spacing:-.075em;
  color:#fff;
}

.thankyou-box h1 strong{
  background:linear-gradient(95deg,#19d8e6,#2457ff 55%,#8a35ff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.thankyou-box p{
  color:rgba(255,255,255,.76);
  font-size:1.15rem;
  line-height:1.7;
}

/* === SCS WAVE MOTION V5 - SOLO LINEE AD ONDA, NO PUNTINI === */

.scs-bg-motion{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
}

.scs-bg-motion .blob{
  display:none !important;
}

.scs-bg-motion .lines{
  position:absolute;
  inset:0;
  opacity:1;
}

.scs-bg-motion .lines::before{
  content:"";
  position:absolute;
  inset:-12%;
  background:
    radial-gradient(circle at 18% 22%,rgba(25,216,230,.22),transparent 28%),
    radial-gradient(circle at 84% 28%,rgba(124,58,237,.22),transparent 30%),
    linear-gradient(135deg,rgba(5,11,31,.15),rgba(7,26,64,.18));
  animation:scsAuroraSoft 14s ease-in-out infinite alternate;
}

.hero,
.services-hub-hero,
.about-hero,
.resources-hero,
.contact-hero,
.booking-hero,
.service-hero-compact,
.contact-form-hero{
  position:relative;
  overflow:hidden;
  padding-top:190px !important;
}

.hero::before,
.services-hub-hero::before,
.about-hero::before,
.resources-hero::before,
.contact-hero::before,
.booking-hero::before,
.service-hero-compact::before,
.contact-form-hero::before{
  content:"";
  position:absolute;
  left:-12%;
  right:-12%;
  bottom:-120px;
  height:520px;
  z-index:0;
  pointer-events:none;
  opacity:.95;
  background-repeat:no-repeat;
  background-size:130% 100%;
  background-position:center bottom;
  background-image:url("data:image/svg+xml,%3Csvg width='1800' height='520' viewBox='0 0 1800 520' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' x2='1'%3E%3Cstop stop-color='%2319d8e6'/%3E%3Cstop offset='.48' stop-color='%232457ff'/%3E%3Cstop offset='1' stop-color='%238a35ff'/%3E%3C/linearGradient%3E%3Cfilter id='glow'%3E%3CfeGaussianBlur stdDeviation='4' result='b'/%3E%3CfeMerge%3E%3CfeMergeNode in='b'/%3E%3CfeMergeNode in='SourceGraphic'/%3E%3C/feMerge%3E%3C/filter%3E%3C/defs%3E%3Cg fill='none' filter='url(%23glow)'%3E%3Cpath d='M-120 330 C 140 150 330 465 590 265 S 950 70 1210 250 S 1540 430 1920 130' stroke='url(%23g)' stroke-width='5' opacity='.95'/%3E%3Cpath d='M-120 360 C 140 180 330 495 590 295 S 950 100 1210 280 S 1540 460 1920 160' stroke='%2319d8e6' stroke-width='3' opacity='.72'/%3E%3Cpath d='M-120 292 C 140 112 330 427 590 227 S 950 32 1210 212 S 1540 392 1920 92' stroke='%238a35ff' stroke-width='3' opacity='.62'/%3E%3Cpath d='M-120 395 C 140 215 330 530 590 330 S 950 135 1210 315 S 1540 495 1920 195' stroke='%232457ff' stroke-width='2' opacity='.48'/%3E%3Cpath d='M-120 430 C 140 250 330 565 590 365 S 950 170 1210 350 S 1540 530 1920 230' stroke='%2319d8e6' stroke-width='1.5' opacity='.36'/%3E%3C/g%3E%3C/svg%3E");
  animation:scsHeroWaveMove 8s ease-in-out infinite alternate;
}

.hero::after,
.services-hub-hero::after,
.about-hero::after,
.resources-hero::after,
.contact-hero::after,
.booking-hero::after,
.service-hero-compact::after,
.contact-form-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(110deg,transparent 0 38%,rgba(25,216,230,.16) 46%,transparent 55%),
    linear-gradient(125deg,transparent 0 54%,rgba(124,58,237,.18) 61%,transparent 69%);
  animation:scsHeroLightSweep 10s ease-in-out infinite alternate;
}

.hero > *,
.services-hub-hero > *,
.about-hero > *,
.resources-hero > *,
.contact-hero > *,
.booking-hero > *,
.service-hero-compact > *,
.contact-form-hero > *{
  position:relative;
  z-index:2;
}

/* SEZIONI BIANCHE: ONDE MOLTO PIU VISIBILI */
.services-scroll-section,
.inner-section,
.about-story,
.resources-list,
.services-hub{
  position:relative;
  overflow:hidden;
}

.services-scroll-section::before,
.inner-section::before,
.about-story::before,
.resources-list::before,
.services-hub::before{
  content:"";
  position:absolute;
  left:-14%;
  right:-14%;
  top:-40px;
  height:520px;
  z-index:0;
  pointer-events:none;
  opacity:.88;
  background-repeat:no-repeat;
  background-size:132% 100%;
  background-position:center top;
  background-image:url("data:image/svg+xml,%3Csvg width='1800' height='520' viewBox='0 0 1800 520' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3ClinearGradient id='w' x1='0' x2='1'%3E%3Cstop stop-color='%2319d8e6' stop-opacity='.88'/%3E%3Cstop offset='.52' stop-color='%232457ff' stop-opacity='.58'/%3E%3Cstop offset='1' stop-color='%238a35ff' stop-opacity='.50'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='none'%3E%3Cpath d='M-140 205 C 130 35 340 365 620 175 S 980 20 1240 190 S 1540 370 1940 100' stroke='url(%23w)' stroke-width='3' opacity='.92'/%3E%3Cpath d='M-140 238 C 130 68 340 398 620 208 S 980 53 1240 223 S 1540 403 1940 133' stroke='%2319d8e6' stroke-width='2' opacity='.58'/%3E%3Cpath d='M-140 270 C 130 100 340 430 620 240 S 980 85 1240 255 S 1540 435 1940 165' stroke='%232457ff' stroke-width='1.8' opacity='.44'/%3E%3Cpath d='M-140 302 C 130 132 340 462 620 272 S 980 117 1240 287 S 1540 467 1940 197' stroke='%238a35ff' stroke-width='1.6' opacity='.36'/%3E%3Cpath d='M-140 334 C 130 164 340 494 620 304 S 980 149 1240 319 S 1540 499 1940 229' stroke='%2319d8e6' stroke-width='1.3' opacity='.28'/%3E%3Cpath d='M-140 160 C 130 -10 340 320 620 130 S 980 -25 1240 145 S 1540 325 1940 55' stroke='%232457ff' stroke-width='1.2' opacity='.26'/%3E%3C/g%3E%3C/svg%3E");
  animation:scsWhiteWaveMove 9s ease-in-out infinite alternate;
}

.services-scroll-section::after,
.inner-section::after,
.about-story::after,
.resources-list::after,
.services-hub::after{
  content:"";
  position:absolute;
  left:-10%;
  right:-10%;
  bottom:-120px;
  height:360px;
  z-index:0;
  pointer-events:none;
  opacity:.45;
  background-repeat:no-repeat;
  background-size:130% 100%;
  background-position:center bottom;
  background-image:url("data:image/svg+xml,%3Csvg width='1800' height='360' viewBox='0 0 1800 360' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3ClinearGradient id='w2' x1='0' x2='1'%3E%3Cstop stop-color='%238a35ff' stop-opacity='.32'/%3E%3Cstop offset='.5' stop-color='%2319d8e6' stop-opacity='.42'/%3E%3Cstop offset='1' stop-color='%232457ff' stop-opacity='.30'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='none'%3E%3Cpath d='M-120 190 C 210 20 420 330 700 160 S 1040 60 1290 175 S 1570 320 1920 80' stroke='url(%23w2)' stroke-width='2.2' opacity='.9'/%3E%3Cpath d='M-120 222 C 210 52 420 362 700 192 S 1040 92 1290 207 S 1570 352 1920 112' stroke='%2319d8e6' stroke-width='1.4' opacity='.45'/%3E%3Cpath d='M-120 254 C 210 84 420 394 700 224 S 1040 124 1290 239 S 1570 384 1920 144' stroke='%238a35ff' stroke-width='1.2' opacity='.34'/%3E%3C/g%3E%3C/svg%3E");
  animation:scsWhiteWaveMoveReverse 12s ease-in-out infinite alternate;
}

.services-scroll-section > *,
.inner-section > *,
.about-story > *,
.resources-list > *,
.services-hub > *{
  position:relative;
  z-index:1;
}

.topbar,
header.topbar{
  z-index:999 !important;
}

main{
  position:relative;
  z-index:2;
}

@keyframes scsAuroraSoft{
  from{transform:translate3d(-2%,0,0) scale(1)}
  to{transform:translate3d(2%,1%,0) scale(1.04)}
}

@keyframes scsHeroWaveMove{
  from{transform:translateX(-3%) translateY(0) scale(1)}
  to{transform:translateX(3%) translateY(-10px) scale(1.04)}
}

@keyframes scsHeroLightSweep{
  from{transform:translateX(-6%)}
  to{transform:translateX(6%)}
}

@keyframes scsWhiteWaveMove{
  from{transform:translateX(-3%) translateY(0) scale(1)}
  to{transform:translateX(3%) translateY(16px) scale(1.04)}
}

@keyframes scsWhiteWaveMoveReverse{
  from{transform:translateX(3%) translateY(0) scale(1)}
  to{transform:translateX(-3%) translateY(-12px) scale(1.04)}
}

@media(max-width:720px){
  .hero,
  .services-hub-hero,
  .about-hero,
  .resources-hero,
  .contact-hero,
  .booking-hero,
  .service-hero-compact,
  .contact-form-hero{
    padding-top:145px !important;
  }

  .hero::before,
  .services-hub-hero::before,
  .about-hero::before,
  .resources-hero::before,
  .contact-hero::before,
  .booking-hero::before,
  .service-hero-compact::before,
  .contact-form-hero::before{
    height:330px;
    bottom:-95px;
    opacity:.78;
  }

  .services-scroll-section::before,
  .inner-section::before,
  .about-story::before,
  .resources-list::before,
  .services-hub::before{
    height:360px;
    opacity:.70;
  }
}

/* === V174 maggiore ampiezza onde e più righe === */
.hero::before,
.services-hub-hero::before,
.about-hero::before,
.resources-hero::before,
.contact-hero::before,
.booking-hero::before,
.service-hero-compact::before,
.contact-form-hero::before{
  height:620px !important;
  bottom:-170px !important;
  opacity:1 !important;
  background-size:160% 115% !important;
  animation:scsHeroWaveBig 7s ease-in-out infinite alternate !important;
}

.services-scroll-section::before,
.inner-section::before,
.about-story::before,
.resources-list::before,
.services-hub::before{
  height:680px !important;
  top:-90px !important;
  opacity:.96 !important;
  background-size:170% 120% !important;
  animation:scsWhiteWaveBig 7.5s ease-in-out infinite alternate !important;
}

.services-scroll-section::after,
.inner-section::after,
.about-story::after,
.resources-list::after,
.services-hub::after{
  height:520px !important;
  bottom:-160px !important;
  opacity:.72 !important;
  background-size:170% 120% !important;
  animation:scsWhiteWaveBigReverse 9s ease-in-out infinite alternate !important;
}

@keyframes scsHeroWaveBig{
  from{transform:translateX(-9%) translateY(14px) scale(1.05)}
  to{transform:translateX(9%) translateY(-22px) scale(1.16)}
}

@keyframes scsWhiteWaveBig{
  from{transform:translateX(-10%) translateY(22px) scale(1.08)}
  to{transform:translateX(10%) translateY(-18px) scale(1.20)}
}

@keyframes scsWhiteWaveBigReverse{
  from{transform:translateX(9%) translateY(-12px) scale(1.05)}
  to{transform:translateX(-9%) translateY(18px) scale(1.18)}
}

/* === APPLICA ONDE A TUTTE LE PAGINE === */

/* qualsiasi main page senza hero dedicata */
main > section:first-child:not(.hero):not(.services-hub-hero):not(.about-hero):not(.resources-hero):not(.contact-hero):not(.booking-hero):not(.service-hero-compact):not(.contact-form-hero){
  position:relative;
  overflow:hidden;
  padding-top:190px;
}

main > section:first-child:not(.hero):not(.services-hub-hero):not(.about-hero):not(.resources-hero):not(.contact-hero):not(.booking-hero):not(.service-hero-compact):not(.contact-form-hero)::before{
  content:"";
  position:absolute;
  left:-18%;
  right:-18%;
  bottom:-170px;
  height:620px;
  z-index:0;
  pointer-events:none;
  opacity:1;
  background:url("/assets/waves/wave-dark.svg") center bottom / 150% 100% no-repeat;
  animation:scsDarkWaves 7s ease-in-out infinite alternate;
}

main > section:first-child:not(.hero):not(.services-hub-hero):not(.about-hero):not(.resources-hero):not(.contact-hero):not(.booking-hero):not(.service-hero-compact):not(.contact-form-hero) > *{
  position:relative;
  z-index:2;
}

/* tutte le sezioni successive chiare/scure prendono onde light */
main > section:nth-child(n+2){
  position:relative;
  overflow:hidden;
}

main > section:nth-child(n+2)::before{
  content:"";
  position:absolute;
  left:-22%;
  right:-22%;
  top:-105px;
  height:710px;
  z-index:0;
  pointer-events:none;
  opacity:.88;
  background:url("/assets/waves/wave-light.svg") center top / 160% 100% no-repeat;
  animation:scsLightWavesA 7s ease-in-out infinite alternate;
}

main > section:nth-child(n+2) > *{
  position:relative;
  z-index:1;
}

/* pagina grazie */
.thankyou-box{
  position:relative;
  z-index:3;
}

/* === MOBILE HARDENING V200 === */
html{
  scroll-behavior:smooth;
  overflow-x:hidden;
}

body{
  overflow-x:hidden;
}

img, video, canvas, svg{
  max-width:100%;
}

@media(max-width:900px){

  .container{
    width:min(100% - 32px, 1200px) !important;
  }

  .topbar{
    top:14px !important;
    width:calc(100% - 24px) !important;
    border-radius:24px !important;
  }

  .nav-shell{
    min-height:72px !important;
    padding:10px 14px !important;
    display:grid !important;
    grid-template-columns:auto 1fr auto !important;
    align-items:center !important;
    gap:10px !important;
  }

  .logo{
    width:72px !important;
    height:54px !important;
  }

  .logo img{
    width:72px !important;
    max-width:72px !important;
  }

  .mobile-menu-btn{
    display:flex !important;
    justify-self:end !important;
    align-items:center !important;
    justify-content:center !important;
    width:44px !important;
    height:44px !important;
    border-radius:14px !important;
    border:1px solid rgba(255,255,255,.18) !important;
    background:rgba(255,255,255,.08) !important;
    color:#fff !important;
    font-size:1.35rem !important;
    cursor:pointer !important;
    grid-column:3 !important;
    grid-row:1 !important;
  }

  .nav{
    display:none !important;
    grid-column:1 / -1 !important;
    width:100% !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    padding:10px 0 4px !important;
  }

  .nav.is-open{
    display:flex !important;
  }

  .nav a{
    display:block !important;
    width:100% !important;
    padding:14px 8px !important;
    border-top:1px solid rgba(255,255,255,.10) !important;
    color:#fff !important;
  }

  .top-cta{
    display:none !important;
  }

  .hero,
  .services-hub-hero,
  .about-hero,
  .resources-hero,
  .contact-hero,
  .booking-hero,
  .service-hero-compact,
  .contact-form-hero,
  main > section:first-child{
    padding-top:120px !important;
  }

  .hero h1,
  .services-hub-hero h1,
  .contact-form-copy h1,
  .service-hero-compact h1,
  .thankyou-box h1{
    font-size:clamp(2.45rem, 13vw, 4.4rem) !important;
    line-height:.92 !important;
    letter-spacing:-.065em !important;
  }

  .hero p,
  .services-hub-hero p,
  .service-hero-compact p,
  .contact-form-copy p{
    font-size:1rem !important;
    line-height:1.65 !important;
  }

  .hero-actions,
  .form-actions{
    flex-direction:column !important;
    align-items:stretch !important;
  }

  .btn{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
  }

  .stats,
  .hero-stats{
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
  }

  .stat-card,
  .stat{
    min-width:0 !important;
    padding:18px !important;
  }

  .services-scroll-section{
    padding:54px 0 72px !important;
  }

  .category-head{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .category-head h2{
    font-size:clamp(2rem, 10vw, 3rem) !important;
  }

  .scroll-row{
    display:grid !important;
    grid-auto-flow:column !important;
    grid-auto-columns:minmax(265px,84vw) !important;
    overflow-x:auto !important;
    gap:16px !important;
    padding-bottom:18px !important;
    scroll-snap-type:x mandatory !important;
  }

  .service-card,
  .service-card-wide{
    min-height:220px !important;
    scroll-snap-align:start !important;
  }

  .service-editorial-grid,
  .contact-form-grid,
  .footer-v2-grid{
    grid-template-columns:1fr !important;
  }

  .service-article,
  .scs-form,
  .thankyou-box{
    padding:22px !important;
    border-radius:24px !important;
  }

  .info-blocks,
  .form-row.two{
    grid-template-columns:1fr !important;
  }

  .service-sidebar{
    position:relative !important;
    top:auto !important;
  }

  .site-footer-v2{
    padding:54px 0 24px !important;
  }

  .footer-v2-brand img{
    width:180px !important;
  }

  .footer-v2-bottom{
    flex-direction:column !important;
    gap:8px !important;
  }

  .scs-bg-motion{
    opacity:.65 !important;
  }

  .hero::before,
  .services-hub-hero::before,
  .about-hero::before,
  .resources-hero::before,
  .contact-hero::before,
  .booking-hero::before,
  .service-hero-compact::before,
  .contact-form-hero::before{
    height:300px !important;
    bottom:-88px !important;
    background-size:210% 100% !important;
  }

  .services-scroll-section::before,
  .inner-section::before,
  .about-story::before,
  .resources-list::before,
  .services-hub::before{
    height:320px !important;
    top:-55px !important;
    background-size:220% 100% !important;
  }
}

@media(max-width:480px){
  .container{
    width:min(100% - 24px, 1200px) !important;
  }

  .pill,
  .service-chip{
    max-width:100% !important;
    font-size:.78rem !important;
    white-space:normal !important;
  }

  .stats,
  .hero-stats{
    grid-template-columns:1fr !important;
  }

  .scs-form input,
  .scs-form select,
  .scs-form textarea{
    font-size:16px !important;
  }
}

@media(max-width:768px){

  /* ---------- spacing globale ---------- */

  section{
    padding-top:56px !important;
    padding-bottom:56px !important;
  }

  .container{
    width:min(100% - 22px, 1200px) !important;
  }

  /* ---------- topbar ---------- */

  .topbar{
    top:12px !important;
  }

  .nav-shell{
    min-height:78px !important;
    border-radius:28px !important;
    padding:12px 14px !important;
  }

  .logo{
    width:74px !important;
    height:auto !important;
  }

  .logo img{
    width:74px !important;
    height:auto !important;
    object-fit:contain !important;
  }

  .mobile-menu-btn{
    width:52px !important;
    height:52px !important;
    border-radius:18px !important;
    font-size:1.5rem !important;
    backdrop-filter:blur(14px);
  }

  /* ---------- hero ---------- */

  .hero,
  .services-hub-hero,
  .about-hero,
  .resources-hero,
  .contact-hero,
  .booking-hero,
  .service-hero-compact,
  .contact-form-hero{
    min-height:auto !important;
    padding-top:132px !important;
    padding-bottom:58px !important;
  }

  .hero-grid,
  .hero-layout{
    gap:26px !important;
  }

  .pill{
    width:100% !important;
    justify-content:flex-start !important;
    border-radius:20px !important;
    padding:14px 18px !important;
    line-height:1.2 !important;
  }

  .hero h1,
  .services-hub-hero h1{
    font-size:clamp(3rem, 16vw, 5rem) !important;
    line-height:.88 !important;
    letter-spacing:-0.08em !important;
    margin-bottom:22px !important;
  }

  .hero p,
  .services-hub-hero p{
    font-size:1.08rem !important;
    line-height:1.7 !important;
    opacity:.92 !important;
  }

  .hero-actions{
    margin-top:28px !important;
  }

  .btn{
    min-height:64px !important;
    border-radius:22px !important;
    font-size:1.08rem !important;
  }

  /* ---------- stats ---------- */

  .stats,
  .hero-stats{
    gap:14px !important;
    margin-top:34px !important;
  }

  .stat-card,
  .stat{
    min-height:auto !important;
    padding:20px !important;
    border-radius:24px !important;
    display:flex !important;
    align-items:center !important;
    gap:18px !important;
  }

  .stat-card h3,
  .stat h3{
    font-size:2.2rem !important;
    line-height:1 !important;
    margin-bottom:6px !important;
  }

  .stat-card p,
  .stat p{
    font-size:1rem !important;
    line-height:1.3 !important;
  }

  /* ---------- onde ---------- */

  .hero::before,
  .services-hub-hero::before,
  .about-hero::before,
  .resources-hero::before,
  .contact-hero::before,
  .booking-hero::before,
  .service-hero-compact::before,
  .contact-form-hero::before{
    opacity:.72 !important;
    height:240px !important;
    bottom:-70px !important;
    background-size:240% 100% !important;
  }

  .services-scroll-section::before,
  .inner-section::before,
  .about-story::before,
  .resources-list::before,
  .services-hub::before{
    opacity:.28 !important;
    height:260px !important;
    top:-40px !important;
    background-size:260% 100% !important;
  }

  .services-scroll-section::after,
  .inner-section::after,
  .about-story::after,
  .resources-list::after,
  .services-hub::after{
    opacity:.18 !important;
  }

  /* ---------- slider servizi ---------- */

  .services-scroll-section{
    padding-top:48px !important;
  }

  .category-head{
    margin-bottom:24px !important;
  }

  .category-head h2{
    font-size:2.35rem !important;
    line-height:.95 !important;
  }

  .scroll-row{
    display:flex !important;
    overflow-x:auto !important;
    gap:16px !important;
    padding:4px 2px 18px !important;
    scroll-snap-type:x mandatory;
  }

  .scroll-row::-webkit-scrollbar{
    display:none;
  }

  .service-card,
  .service-card-wide{
    flex:0 0 86vw !important;
    min-height:unset !important;
    padding:26px !important;
    border-radius:28px !important;
    scroll-snap-align:start;
  }

  .service-card h3,
  .service-card-wide h3{
    font-size:1.9rem !important;
    line-height:1.02 !important;
    margin-bottom:14px !important;
  }

  .service-card p,
  .service-card-wide p{
    font-size:1rem !important;
    line-height:1.7 !important;
  }

  /* ---------- editorial ---------- */

  .service-editorial{
    margin-top:34px !important;
  }

  .service-editorial-card{
    min-height:auto !important;
    border-radius:30px !important;
    overflow:hidden !important;
  }

  .service-editorial-overlay{
    padding:30px 24px !important;
  }

  /* ---------- forms ---------- */

  .scs-form{
    padding:24px !important;
    border-radius:28px !important;
  }

  .scs-form input,
  .scs-form select,
  .scs-form textarea{
    border-radius:18px !important;
    min-height:58px !important;
    padding:16px 18px !important;
  }

  .scs-form textarea{
    min-height:160px !important;
  }

  /* ---------- footer ---------- */

  .site-footer-v2{
    padding-top:58px !important;
    padding-bottom:28px !important;
  }

  .footer-v2-grid{
    gap:34px !important;
  }

  .footer-v2-brand img{
    width:110px !important;
    margin-bottom:16px !important;
  }

  .footer-v2-brand p{
    font-size:1rem !important;
    line-height:1.8 !important;
  }

  .footer-v2-grid h3{
    margin-bottom:14px !important;
  }

  .footer-v2-grid a{
    padding:6px 0 !important;
  }

  .footer-v2-bottom{
    margin-top:34px !important;
    padding-top:22px !important;
    font-size:.85rem !important;
  }

  /* ---------- elimina vuoti bianchi ---------- */

  body{
    background:#020b22 !important;
  }

  .inner-section,
  .services-scroll-section,
  .services-hub,
  .resources-list,
  .about-story{
    background:#f4f7fb !important;
  }

}

/* ultra small */
@media(max-width:390px){

  .hero h1,
  .services-hub-hero h1{
    font-size:2.8rem !important;
  }

  .service-card,
  .service-card-wide{
    flex:0 0 90vw !important;
  }

}

/* =========================================================
   CLEAN MOBILE SYSTEM V300
========================================================= */

@media(max-width:900px){

  body{
    overflow-x:hidden;
  }

  .container{
    width:min(100% - 24px, 1200px) !important;
  }

  /* ---------- HEADER ---------- */

  .topbar{
    top:14px !important;
    width:calc(100% - 24px) !important;
    z-index:5000 !important;
  }

  .nav-shell{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;

    padding:20px 18px !important;

    border-radius:30px !important;
    min-height:auto !important;
  }

  .logo{
    width:auto !important;
    height:auto !important;
  }

  .logo img{
    width:124px !important;
    max-width:none !important;
    height:auto !important;
    display:block !important;
  }

  .mobile-menu-btn{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:56px !important;
    height:56px !important;

    border-radius:18px !important;

    background:rgba(255,255,255,.10) !important;
    border:1px solid rgba(255,255,255,.16) !important;

    color:#fff !important;
    font-size:1.5rem !important;

    cursor:pointer !important;
  }

  .nav{
    display:none !important;
    width:100% !important;

    flex-direction:column !important;
    align-items:center !important;

    gap:0 !important;

    padding-top:8px !important;
  }

  .nav.is-open{
    display:flex !important;
  }

  .nav a{
    width:100% !important;

    padding:16px 12px !important;

    text-align:center !important;

    border-top:1px solid rgba(255,255,255,.10);
  }

  .top-cta{
    display:none !important;
  }

  /* ---------- HERO ---------- */

  .hero,
  .services-hub-hero,
  .about-hero,
  .resources-hero,
  .contact-hero,
  .booking-hero,
  .service-hero-compact,
  .contact-form-hero{
    padding-top:210px !important;
    padding-bottom:70px !important;
  }

  .hero h1,
  .services-hub-hero h1{
    font-size:clamp(3.2rem,15vw,5.5rem) !important;
    line-height:.88 !important;
    letter-spacing:-.08em !important;
  }

  .hero p,
  .services-hub-hero p{
    font-size:1.08rem !important;
    line-height:1.75 !important;
  }

  /* ---------- BOTTONI ---------- */

  .btn,
  .btn-gradient{
    min-height:64px !important;

    border-radius:22px !important;

    font-size:1.08rem !important;

    width:100% !important;
  }

  /* ---------- STATS ---------- */

  .stats,
  .hero-stats{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .stat,
  .stat-card{
    min-height:unset !important;

    padding:20px !important;

    border-radius:26px !important;

    display:flex !important;
    align-items:center !important;
    gap:18px !important;
  }

  .stat h3,
  .stat-card h3{
    font-size:2.3rem !important;
    margin-bottom:4px !important;
  }

  /* ---------- CARDS ---------- */

  .service-card,
  .service-card-wide,
  .editorial-card,
  .visual-card{
    min-height:auto !important;

    padding:24px !important;

    border-radius:28px !important;
  }

  .service-card h3,
  .service-card-wide h3{
    font-size:1.7rem !important;
    line-height:1.08 !important;
  }

  .service-card p,
  .service-card-wide p{
    font-size:1rem !important;
    line-height:1.7 !important;
  }

  /* ---------- SLIDER ---------- */

  .scroll-row{
    display:flex !important;

    overflow-x:auto !important;

    gap:16px !important;

    scroll-snap-type:x mandatory;

    padding-bottom:14px !important;
  }

  .scroll-row::-webkit-scrollbar{
    display:none;
  }

  .service-card{
    flex:0 0 88vw !important;

    scroll-snap-align:start;
  }

  /* ---------- FOOTER ---------- */

  .site-footer-v2{
    padding-top:64px !important;
  }

  .footer-v2-brand img{
    width:110px !important;
  }

}

/* === MOBILE HEADER FLOW FIX V320 === */
@media(max-width:900px){

  .topbar{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    width:calc(100% - 24px) !important;
    margin:14px auto 22px !important;
    z-index:9999 !important;
  }

  .nav-shell{
    width:100% !important;
    min-height:auto !important;
    padding:20px 16px !important;
    border-radius:28px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;
  }

  .logo{
    width:100% !important;
    height:auto !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
  }

  .logo img{
    content:url("/images/brand/icon-scs-mobile.png") !important;
    width:145px !important;
    max-width:145px !important;
    height:auto !important;
    display:block !important;
  }

  .mobile-menu-btn{
    display:flex !important;
    position:relative !important;
    width:54px !important;
    height:54px !important;
    margin:0 auto !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:18px !important;
    z-index:10000 !important;
  }

  .nav{
    display:none !important;
    width:100% !important;
    margin-top:4px !important;
    padding-top:8px !important;
  }

  .nav.is-open{
    display:flex !important;
    flex-direction:column !important;
  }

  .nav a{
    text-align:center !important;
    padding:14px 8px !important;
  }

  .hero,
  .services-hub-hero,
  .about-hero,
  .resources-hero,
  .contact-hero,
  .booking-hero,
  .service-hero-compact,
  .contact-form-hero,
  main > section:first-child{
    padding-top:34px !important;
  }

  .pill{
    margin-top:0 !important;
    position:relative !important;
    z-index:2 !important;
  }
}

/* =========================================================
   MOBILE REPAIR V400 - HEADER, HERO BOX, SWIPE SERVIZI
========================================================= */

@media(max-width:900px){

  .topbar{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    width:calc(100% - 24px) !important;
    margin:14px auto 18px !important;
    z-index:9999 !important;
  }

  .nav-shell{
    width:100% !important;
    min-height:auto !important;
    padding:14px 16px !important;
    border-radius:28px !important;
    display:grid !important;
    grid-template-columns:1fr auto 1fr !important;
    grid-template-areas:
      ". logo ."
      ". menu ." 
      "nav nav nav" !important;
    gap:8px !important;
    align-items:center !important;
  }

  .logo{
    grid-area:logo !important;
    width:auto !important;
    height:auto !important;
    display:flex !important;
    justify-content:center !important;
  }

  .logo img{
    content:url("/images/brand/icon-scs-mobile.png") !important;
    width:132px !important;
    max-width:132px !important;
    height:auto !important;
    display:block !important;
  }

  .mobile-menu-btn{
    grid-area:menu !important;
    display:flex !important;
    width:48px !important;
    height:48px !important;
    margin:0 auto !important;
    border-radius:16px !important;
    align-items:center !important;
    justify-content:center !important;
    background:rgba(255,255,255,.10) !important;
    border:1px solid rgba(255,255,255,.18) !important;
    color:#fff !important;
    font-size:1.4rem !important;
    line-height:1 !important;
  }

  .nav{
    grid-area:nav !important;
    display:none !important;
    width:100% !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    margin-top:8px !important;
    border-top:1px solid rgba(255,255,255,.12) !important;
  }

  .nav.is-open{
    display:flex !important;
  }

  .nav a{
    display:block !important;
    width:100% !important;
    text-align:center !important;
    padding:14px 8px !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
  }

  .top-cta{
    display:none !important;
  }

  .hero{
    padding-top:22px !important;
    padding-bottom:46px !important;
  }

  .hero-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  .pill{
    width:100% !important;
    padding:14px 18px !important;
    border-radius:22px !important;
    font-size:.78rem !important;
    line-height:1.25 !important;
    letter-spacing:.10em !important;
  }

  .hero h1{
    font-size:clamp(3.05rem, 15vw, 4.9rem) !important;
    line-height:.88 !important;
    letter-spacing:-.08em !important;
    margin:26px 0 22px !important;
  }

  .hero p{
    font-size:1.02rem !important;
    line-height:1.68 !important;
    max-width:100% !important;
  }

  .hero-actions{
    margin-top:26px !important;
  }

  .hero-actions .btn-outline{
    display:none !important;
  }

  .btn-gradient{
    min-height:58px !important;
    border-radius:22px !important;
  }

  .metrics-clean,
  .metrics,
  .stats,
  .hero-stats{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-top:24px !important;
  }

  .metric-clean,
  .stat,
  .stat-card{
    min-height:86px !important;
    padding:16px 18px !important;
    border-radius:22px !important;
    display:flex !important;
    align-items:center !important;
    gap:16px !important;
  }

  .metric-clean-icon{
    width:48px !important;
    height:48px !important;
    flex:0 0 48px !important;
    font-size:1.25rem !important;
  }

  .metric-clean strong,
  .stat h3,
  .stat-card h3{
    font-size:2rem !important;
    line-height:1 !important;
  }

  .metric-clean span,
  .stat p,
  .stat-card p{
    font-size:.95rem !important;
    line-height:1.2 !important;
  }

  .hero-visual{
    margin-top:4px !important;
  }

  .city-card{
    min-height:0 !important;
    height:auto !important;
    border-radius:26px !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  .city-card img{
    min-height:260px !important;
    height:260px !important;
    object-fit:cover !important;
  }

  .floating-panel{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
    width:auto !important;
    margin:-72px 16px 18px !important;
    padding:22px !important;
    border-radius:24px !important;
  }

  .floating-panel .panel-icon{
    width:54px !important;
    height:54px !important;
    margin-bottom:10px !important;
  }

  .floating-panel h3{
    font-size:1.45rem !important;
    line-height:1.1 !important;
  }

  .floating-panel p{
    font-size:1rem !important;
    line-height:1.55 !important;
  }

  .services-strip{
    padding:48px 0 58px !important;
  }

  .section-title-row{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    align-items:end !important;
    gap:12px !important;
    margin-bottom:22px !important;
  }

  .section-title-row h2{
    font-size:2.45rem !important;
    line-height:.96 !important;
    margin-bottom:12px !important;
  }

  .section-title-row p{
    font-size:1rem !important;
    line-height:1.55 !important;
  }

  .slider-controls{
    display:flex !important;
    gap:8px !important;
  }

  .slider-controls button{
    width:46px !important;
    height:46px !important;
    border-radius:16px !important;
  }

  .service-cards{
    display:flex !important;
    overflow-x:auto !important;
    gap:16px !important;
    padding:4px 2px 18px !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .service-cards::-webkit-scrollbar{
    display:none !important;
  }

  .service-card{
    flex:0 0 86vw !important;
    min-width:86vw !important;
    min-height:290px !important;
    padding:26px !important;
    border-radius:26px !important;
    scroll-snap-align:start !important;
  }

  .service-card h3{
    font-size:1.55rem !important;
    line-height:1.12 !important;
    margin:18px 0 12px !important;
  }

  .service-card p{
    font-size:1rem !important;
    line-height:1.6 !important;
  }

  .final-cta-box{
    grid-template-columns:1fr !important;
    padding:26px !important;
    border-radius:28px !important;
  }

  .site-footer-v2{
    padding-top:52px !important;
  }

  .footer-v2-grid{
    grid-template-columns:1fr !important;
    gap:26px !important;
  }

  .footer-v2-brand img{
    width:118px !important;
  }
}

/* =========================================================
   MOBILE FINAL FIX V500 - REAL FILE OVERRIDES
   Header compatto, box corretti, servizi swipe
========================================================= */

@media(max-width:900px){

  html,
  body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .container{
    width:calc(100% - 28px) !important;
    max-width:100% !important;
  }

  /* HEADER MOBILE: compatto, logo sopra hamburger, niente box enorme */
  .topbar{
    position:relative !important;
    inset:auto !important;
    transform:none !important;
    width:min(270px, calc(100% - 32px)) !important;
    margin:14px auto 18px !important;
    z-index:9999 !important;
  }

  .nav-shell{
    width:100% !important;
    min-height:0 !important;
    padding:14px 16px !important;
    border-radius:26px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
  }

  .logo{
    width:100% !important;
    height:auto !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
  }

  .logo img{
    content:url("/images/brand/icon-scs-mobile.png") !important;
    width:132px !important;
    max-width:132px !important;
    height:auto !important;
    object-fit:contain !important;
  }

  .mobile-menu-btn{
    display:flex !important;
    width:50px !important;
    height:50px !important;
    margin:0 auto !important;
    border-radius:17px !important;
    align-items:center !important;
    justify-content:center !important;
    background:rgba(255,255,255,.10) !important;
    border:1px solid rgba(255,255,255,.20) !important;
    color:#fff !important;
    font-size:1.45rem !important;
    line-height:1 !important;
    cursor:pointer !important;
  }

  .nav{
    display:none !important;
    width:100% !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    margin-top:6px !important;
    padding-top:6px !important;
    border-top:1px solid rgba(255,255,255,.12) !important;
  }

  .nav.is-open{
    display:flex !important;
  }

  .nav a{
    display:block !important;
    width:100% !important;
    padding:13px 6px !important;
    text-align:center !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    font-size:.95rem !important;
  }

  .top-cta{
    display:none !important;
  }

  /* HERO MOBILE: niente appiccicamenti */
  .hero{
    min-height:0 !important;
    padding-top:22px !important;
    padding-bottom:44px !important;
  }

  .hero-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:24px !important;
    align-items:start !important;
  }

  .pill{
    width:100% !important;
    max-width:100% !important;
    padding:13px 16px !important;
    border-radius:22px !important;
    font-size:.76rem !important;
    line-height:1.25 !important;
    letter-spacing:.09em !important;
  }

  .hero h1{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(2.85rem, 14vw, 4.35rem) !important;
    line-height:.89 !important;
    letter-spacing:-.078em !important;
    margin:24px 0 20px !important;
  }

  .hero p{
    max-width:100% !important;
    font-size:1.02rem !important;
    line-height:1.68 !important;
  }

  .hero-actions{
    margin-top:24px !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .hero-actions .btn-outline{
    display:none !important;
  }

  .btn,
  .btn-gradient{
    width:100% !important;
    min-height:58px !important;
    border-radius:22px !important;
    font-size:1rem !important;
  }

  /* STAT BOX MOBILE: compatti */
  .metrics,
  .metrics-clean,
  .stats,
  .hero-stats{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-top:24px !important;
  }

  .metric,
  .metric-clean,
  .stat,
  .stat-card{
    min-height:84px !important;
    padding:15px 17px !important;
    border-radius:22px !important;
    display:flex !important;
    align-items:center !important;
    gap:15px !important;
  }

  .metric-clean-icon,
  .metric-icon{
    width:46px !important;
    height:46px !important;
    flex:0 0 46px !important;
    margin:0 !important;
  }

  .metric strong,
  .metric-clean strong,
  .stat h3,
  .stat-card h3{
    font-size:2rem !important;
    line-height:1 !important;
    margin:0 0 4px !important;
  }

  .metric span,
  .metric-clean span,
  .stat p,
  .stat-card p{
    font-size:.94rem !important;
    line-height:1.2 !important;
    margin:0 !important;
    text-align:left !important;
  }

  /* BOX IMMAGINE / FLOATING PANEL MOBILE */
  .hero-visual{
    min-height:0 !important;
    height:auto !important;
    margin-top:2px !important;
    position:relative !important;
  }

  .city-card{
    position:relative !important;
    inset:auto !important;
    min-height:0 !important;
    height:auto !important;
    border-radius:26px !important;
    transform:none !important;
    overflow:hidden !important;
  }

  .city-card img{
    width:100% !important;
    height:210px !important;
    min-height:210px !important;
    object-fit:cover !important;
    transform:none !important;
    margin-left:0 !important;
  }

  .floating-panel{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
    width:auto !important;
    display:block !important;
    margin:-54px 14px 14px !important;
    padding:20px !important;
    border-radius:22px !important;
  }

  .floating-panel .panel-icon,
  .panel-icon{
    width:50px !important;
    height:50px !important;
    margin-bottom:10px !important;
    font-size:1.6rem !important;
  }

  .floating-panel h3{
    font-size:1.35rem !important;
    line-height:1.12 !important;
  }

  .floating-panel p{
    font-size:.98rem !important;
    line-height:1.52 !important;
  }

  .progress i:nth-child(1),
  .progress i:nth-child(2){
    width:74px !important;
  }

  .progress span{
    flex:1 !important;
    width:auto !important;
  }

  /* HOME SERVIZI: swipe orizzontale */
  .services-strip{
    padding:44px 0 56px !important;
  }

  .section-title-row{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    align-items:end !important;
    gap:12px !important;
    margin-bottom:20px !important;
  }

  .section-title-row h2{
    font-size:2.25rem !important;
    line-height:.98 !important;
  }

  .section-title-row p{
    font-size:.98rem !important;
    line-height:1.55 !important;
  }

  .slider-controls{
    display:flex !important;
    gap:8px !important;
  }

  .slider-controls button{
    width:44px !important;
    height:44px !important;
    border-radius:15px !important;
    flex:0 0 auto !important;
  }

  .service-cards,
  .scroll-row{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    gap:15px !important;
    padding:4px 2px 18px !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .service-cards::-webkit-scrollbar,
  .scroll-row::-webkit-scrollbar{
    display:none !important;
  }

  .service-card,
  .service-card-wide{
    flex:0 0 84vw !important;
    min-width:84vw !important;
    max-width:84vw !important;
    min-height:245px !important;
    padding:24px !important;
    border-radius:26px !important;
    scroll-snap-align:start !important;
  }

  .service-card h3,
  .service-card-wide h3{
    font-size:1.42rem !important;
    line-height:1.14 !important;
    margin:16px 0 12px !important;
  }

  .service-card p,
  .service-card-wide p{
    font-size:.98rem !important;
    line-height:1.58 !important;
  }

  /* PAGINA SERVIZI: categorie swipe, non elenco verticale */
  .services-category{
    margin-bottom:44px !important;
  }

  .category-head{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-bottom:18px !important;
  }

  .category-head h2{
    font-size:2rem !important;
    line-height:1 !important;
  }

  /* footer più compatto */
  .site-footer-v2{
    padding-top:48px !important;
  }

  .footer-v2-grid{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  .footer-v2-brand img{
    width:110px !important;
    margin:0 0 14px !important;
  }

  .footer-v2-brand p{
    font-size:.98rem !important;
    line-height:1.65 !important;
  }
}

@media(max-width:390px){
  .hero h1{
    font-size:2.65rem !important;
  }

  .service-card,
  .service-card-wide{
    flex-basis:88vw !important;
    min-width:88vw !important;
    max-width:88vw !important;
  }
}

/* === MOBILE TOPBAR REFINEMENT V510 === */
@media(max-width:900px){

  .topbar{
    width:calc(100% - 28px) !important;
    max-width:none !important;
    margin:14px auto 20px !important;
  }

  .nav-shell{
    padding:20px 18px 18px !important;
  }

  .logo img{
    width:190px !important;
    max-width:190px !important;
  }

  .mobile-menu-btn{
    position:relative !important;
    margin-top:26px !important;
  }

  .mobile-menu-btn::before{
    content:"MENU";
    position:absolute;
    top:-22px;
    left:50%;
    transform:translateX(-50%);
    color:rgba(255,255,255,.68);
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.18em;
  }
}

@media(max-width:390px){
  .logo img{
    width:170px !important;
    max-width:170px !important;
  }
}

/* === MOBILE LOGO BIG WITHOUT TOPBAR HEIGHT V511 === */
@media(max-width:900px){

  .nav-shell{
    padding:14px 18px 14px !important;
    gap:6px !important;
    overflow:visible !important;
  }

  .logo{
    height:86px !important;
    overflow:visible !important;
  }

  .logo img{
    width:230px !important;
    max-width:230px !important;
    transform:scale(1.18) !important;
    transform-origin:center center !important;
  }

  .mobile-menu-btn{
    margin-top:18px !important;
  }
}

@media(max-width:390px){
  .logo img{
    width:205px !important;
    max-width:205px !important;
    transform:scale(1.16) !important;
  }
}

/* === MOBILE TOP MENU COMPACT V512 === */
@media(max-width:900px){
  .topbar{
    width:min(260px, calc(100% - 56px)) !important;
    margin:14px auto 22px !important;
  }

  .nav-shell{
    padding:14px 14px 16px !important;
    border-radius:30px !important;
    gap:8px !important;
  }

  .logo img{
    width:150px !important;
    max-width:150px !important;
    transform:none !important;
  }

  .mobile-menu-btn{
    width:48px !important;
    height:48px !important;
    margin-top:20px !important;
    border-radius:999px !important;
  }

  .mobile-menu-btn::before{
    top:-21px !important;
    font-size:.62rem !important;
    letter-spacing:.20em !important;
  }
}

/* === MOBILE HORIZONTAL TOPBAR V520 === */
@media(max-width:900px){

  .topbar{
    position:relative !important;
    inset:auto !important;
    transform:none !important;
    width:calc(100% - 28px) !important;
    margin:14px auto 20px !important;
    z-index:9999 !important;
  }

  .nav-shell{
    width:100% !important;
    min-height:86px !important;
    padding:12px 14px !important;
    border-radius:32px !important;

    display:grid !important;
    grid-template-columns:78px 1fr auto auto !important;
    grid-template-areas:
      "logo dot title menulabel button"
      "nav nav nav nav nav" !important;

    align-items:center !important;
    gap:10px !important;
  }

  .logo{
    grid-area:logo !important;
    width:78px !important;
    height:78px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .logo img{
    content:url("/images/brand/icon-scs-mobile.png") !important;
    width:74px !important;
    max-width:74px !important;
    height:auto !important;
    transform:none !important;
  }

  .nav-shell::before{
    content:"";
    grid-area:dot;
    width:16px;
    height:16px;
    border-radius:999px;
    background:#19d8e6;
    box-shadow:0 0 18px rgba(25,216,230,.9);
  }

  .nav-shell::after{
    content:"CENTRO SERVIZI\A CONSULENZE E SOLUZIONI";
    grid-area:title;
    white-space:pre-line;
    color:#fff;
    font-weight:900;
    font-size:.82rem;
    line-height:1.28;
    letter-spacing:.13em;
    text-transform:uppercase;
  }

  .mobile-menu-btn{
    grid-area:button !important;
    width:52px !important;
    height:52px !important;
    margin:0 !important;
    border-radius:999px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#fff !important;
    font-size:1.45rem !important;
    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(84,145,255,.75) !important;
    box-shadow:0 0 0 1px rgba(25,216,230,.18), 0 0 22px rgba(36,87,255,.35) !important;
  }

  .mobile-menu-btn::before{
    content:"MENU" !important;
    position:static !important;
    transform:none !important;
    margin-right:10px !important;
    color:#fff !important;
    font-size:.78rem !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.14em !important;
  }

  .mobile-menu-btn{
    width:auto !important;
    min-width:112px !important;
    padding:0 14px !important;
  }

  .nav{
    grid-area:nav !important;
    display:none !important;
    width:100% !important;
    margin-top:8px !important;
    padding-top:8px !important;
    border-top:1px solid rgba(255,255,255,.12) !important;
  }

  .nav.is-open{
    display:flex !important;
    flex-direction:column !important;
  }

  .nav a{
    text-align:center !important;
    padding:13px 8px !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
  }

  .top-cta{
    display:none !important;
  }

  .hero{
    padding-top:24px !important;
  }
}

@media(max-width:390px){
  .nav-shell{
    grid-template-columns:66px 12px 1fr auto !important;
    gap:8px !important;
  }

  .logo{
    width:66px !important;
    height:66px !important;
  }

  .logo img{
    width:64px !important;
    max-width:64px !important;
  }

  .nav-shell::after{
    font-size:.72rem !important;
    letter-spacing:.11em !important;
  }

  .mobile-menu-btn{
    min-width:92px !important;
    height:48px !important;
    padding:0 11px !important;
  }

  .mobile-menu-btn::before{
    font-size:.68rem !important;
    margin-right:8px !important;
  }
}

/* === FOOTER CONTACT + SEO PASS V600 === */
.footer-contact-card{
  margin-top:18px;
  padding:18px;
  border-radius:22px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
}

.footer-contact-card p{
  margin:0 0 12px;
}

.footer-contact-card p:last-child{
  margin-bottom:0;
}

.footer-contact-card strong{
  color:#fff;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.78rem;
}

.footer-contact-card a{
  color:rgba(255,255,255,.78);
  text-decoration:none;
}

.footer-contact-card a:hover{
  color:#19d8e6;
}

@media(max-width:900px){
  .footer-contact-card{
    padding:16px;
    border-radius:20px;
  }
}

/* === DESKTOP FOOTER BALANCE V610 === */
@media(min-width:901px){
  .footer-v2-grid{
    grid-template-columns:1.25fr .75fr .95fr .8fr !important;
    gap:56px !important;
    align-items:start !important;
  }

  .footer-v2-brand{
    max-width:430px !important;
  }

  .footer-v2-brand img{
    width:170px !important;
    max-width:170px !important;
    margin-bottom:22px !important;
  }

  .footer-contact-card{
    max-width:360px !important;
    padding:18px 20px !important;
  }

  .site-footer-v2{
    padding:74px 0 30px !important;
  }
}

/* === DESKTOP FOOTER CONTACT INLINE V611 === */
@media(min-width:901px){
  .footer-v2-brand{
    max-width:none !important;
  }

  .footer-v2-grid{
    grid-template-columns:1.45fr .7fr .85fr .75fr !important;
    gap:42px !important;
  }

  .footer-contact-card{
    max-width:none !important;
    display:grid !important;
    grid-template-columns:1.25fr .8fr .9fr !important;
    gap:18px !important;
    align-items:start !important;
  }

  .footer-contact-card p{
    margin:0 !important;
  }
}

/* === DESKTOP FOOTER BALANCED V612 === */
@media(min-width:901px){

  .site-footer-v2{
    padding:64px 0 28px !important;
  }

  .footer-v2-grid{
    display:grid !important;
    grid-template-columns:1.15fr .7fr .85fr .75fr !important;
    gap:34px !important;
    align-items:start !important;
  }

  .footer-v2-brand{
    max-width:420px !important;
  }

  .footer-v2-brand img{
    width:130px !important;
    max-width:130px !important;
    margin-bottom:18px !important;
  }

  .footer-v2-brand p{
    max-width:390px !important;
    margin-bottom:18px !important;
  }

  .footer-contact-card{
    max-width:390px !important;
    display:block !important;
    padding:18px 20px !important;
    border-radius:20px !important;
  }

  .footer-contact-card p{
    margin:0 0 12px !important;
  }

  .footer-contact-card p:last-child{
    margin-bottom:0 !important;
  }

  .footer-v2-grid > div:not(.footer-v2-brand){
    padding-top:34px !important;
  }

  .footer-v2-bottom{
    margin-top:34px !important;
  }
}

/* === FOOTER DESKTOP FINAL FIX V620 === */
@media(min-width:901px){

  .footer-v2-grid-balanced{
    display:grid !important;
    grid-template-columns: 1.15fr 1fr .72fr .9fr .8fr !important;
    gap:42px !important;
    align-items:flex-start !important;
  }

  .footer-v2-grid-balanced > div{
    padding-top:0 !important;
    margin-top:0 !important;
  }

  .footer-v2-brand{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
  }

  .footer-v2-brand img{
    width:120px !important;
    margin-bottom:20px !important;
  }

  .footer-v2-brand p{
    max-width:340px !important;
    line-height:1.7 !important;
    margin:0 !important;
  }

  .footer-contact-card{
    margin:0 !important;
    width:100% !important;
    max-width:none !important;
    min-height:auto !important;
    padding:22px 24px !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.04) !important;
    border:1px solid rgba(255,255,255,.08) !important;
  }

  .footer-contact-card p{
    margin:0 0 16px !important;
    line-height:1.65 !important;
  }

  .footer-contact-card p:last-child{
    margin-bottom:0 !important;
  }

  .footer-v2-grid-balanced h3{
    margin:10px 0 22px !important;
  }

  .footer-v2-grid-balanced a{
    display:block !important;
    margin-bottom:14px !important;
  }

  .footer-v2-bottom{
    margin-top:46px !important;
  }
}
