:root{--navy:#061426;--blue:#062d70;--blue2:#0b5cff;--cyan:#2aa7df;--gold:#c89b3c;--teal:#12a99b;--red:#e65d3d;--ink:#122033;--muted:#64748b;--bg:#f4f7fb;--white:#fff;--line:#dce5ef;--shadow:0 24px 70px rgba(2,18,44,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Segoe UI", Arial, Helvetica, sans-serif;color:var(--ink);background:var(--bg);overflow-x:hidden}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.topbar{position:sticky;top:0;z-index:50;height:84px;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,56px);border-bottom:1px solid rgba(6,45,112,.1)}.brand img{height:56px}nav{display:flex;gap:24px;align-items:center;text-transform:uppercase;letter-spacing:.07em;font-size:13px;font-weight:800;color:var(--blue)}nav a{position:relative;padding:10px 0}nav a.active:after,nav a:hover:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--cyan);border-radius:20px}.menu-btn{display:none;background:var(--blue);border:0;border-radius:12px;padding:10px}.menu-btn span{display:block;width:24px;height:2px;background:#fff;margin:5px}.hero{min-height:calc(100vh - 84px);display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding:80px clamp(24px,6vw,90px);color:#fff;background:radial-gradient(circle at 18% 18%,rgba(42,167,223,.3),transparent 25%),radial-gradient(circle at 80% 70%,rgba(200,155,60,.25),transparent 28%),linear-gradient(135deg,#061426 0%,#062d70 60%,#001b45 100%);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:58px 58px;opacity:.15}.hero-copy,.hero-mark{position:relative;z-index:1}.eyebrow{margin:0 0 16px;text-transform:uppercase;color:var(--cyan);font-weight:900;letter-spacing:.14em}h1{font-size:clamp(48px,7vw,100px);line-height:.92;letter-spacing:-.05em;margin:0}.hero-text{font-size:clamp(19px,2vw,25px);line-height:1.55;color:rgba(255,255,255,.88);max-width:820px}.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-width:170px;padding:14px 23px;border-radius:999px;font-weight:900;border:1px solid transparent;cursor:pointer}.btn.primary{background:linear-gradient(135deg,var(--cyan),var(--blue2));color:#fff}.btn.light{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.45);color:#fff}.omega-auto{position:relative;height:430px;display:flex;align-items:center;justify-content:center}.omega-auto:before{content:"";position:absolute;width:540px;height:540px;border-radius:50%;border:1px solid rgba(42,167,223,.25);box-shadow:inset 0 0 0 70px rgba(255,255,255,.025),0 0 80px rgba(42,167,223,.22)}.omega-layer,.omega-final{position:absolute;filter:brightness(0) invert(1) drop-shadow(0 0 24px rgba(42,167,223,.7))}.omega-layer{width:155px;opacity:.25}.omega-l1{transform:translateX(-170px) scale(.75);animation:ol1 4.8s infinite ease-in-out}.omega-l2{transform:translateX(-45px) scale(.95);animation:ol2 4.8s infinite ease-in-out}.omega-l3{transform:translateX(85px) scale(1.12);animation:ol3 4.8s infinite ease-in-out}.omega-final{width:250px;opacity:0;animation:ofin 4.8s infinite ease-in-out}@keyframes ol1{50%{opacity:.35;transform:translateX(-145px) scale(.82)}}@keyframes ol2{50%{opacity:.55;transform:translateX(-20px) scale(1)}}@keyframes ol3{50%{opacity:.9;transform:translateX(110px) scale(1.18)}}@keyframes ofin{0%,58%{opacity:0;transform:scale(.9)}70%,92%{opacity:1;transform:scale(1)}100%{opacity:0}}.section{padding:90px clamp(24px,6vw,90px)}.section-head{text-align:center;margin:0 auto 42px;max-width:760px}.section-head p{color:var(--gold);font-weight:900;letter-spacing:.14em;text-transform:uppercase}.section-head h2,.page-hero h1{font-size:clamp(40px,5vw,76px);line-height:.98;color:var(--blue);margin:0}.macro-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.macro-card{min-height:330px;border-radius:32px;padding:30px;color:#fff;position:relative;overflow:hidden;box-shadow:var(--shadow);transition:.2s}.macro-card:hover{transform:translateY(-7px)}.macro-card:after{content:"";position:absolute;right:-70px;bottom:-70px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.14)}.macro-card span{display:inline-flex;width:54px;height:54px;align-items:center;justify-content:center;border-radius:18px;background:rgba(255,255,255,.15);font-weight:900}.macro-card h3{font-size:clamp(24px,2.3vw,34px);line-height:1.05;margin:26px 0 14px}.macro-card p{line-height:1.55;color:rgba(255,255,255,.88)}.blue{background:linear-gradient(155deg,#062d70,#0b5cff)}.teal{background:linear-gradient(155deg,#064d66,#12a99b)}.gold{background:linear-gradient(155deg,#5b3a05,#c89b3c)}.cyan{background:linear-gradient(155deg,#003b8f,#2aa7df)}.split-impact{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}.impact-card{border-radius:34px;padding:42px;box-shadow:var(--shadow)}.impact-card.dark{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff}.impact-card.contacts{background:#fff}.impact-card p{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.12em}.impact-card h2{font-size:clamp(32px,4vw,56px);line-height:1;margin:0 0 24px}.impact-card ul{padding-left:18px;color:#334155;line-height:1.9}.page-hero{padding:100px clamp(24px,6vw,90px);color:#fff;background:linear-gradient(135deg,var(--navy),var(--blue));position:relative;overflow:hidden}.page-hero h1{color:#fff}.page-hero p:not(.eyebrow){max-width:840px;font-size:22px;line-height:1.5;color:rgba(255,255,255,.86)}.service-page{display:grid;grid-template-columns:.35fr .65fr;gap:30px}.service-page aside,.service-block,.client-grid article,.cert-grid article,.contact-data,.contact-form,.join-grid article{background:#fff;border-radius:28px;padding:30px;box-shadow:var(--shadow)}.service-block{margin-bottom:24px}.service-block h2{color:var(--blue);font-size:32px;margin:0 0 14px}.service-block li{margin:10px 0;line-height:1.55}.history-section{background:#fff;overflow-x:auto}.history-line{display:flex;gap:26px;min-width:1220px;position:relative;padding:70px 0 35px}.history-line:before{content:"";position:absolute;left:0;right:0;top:30px;height:5px;border-radius:99px;background:linear-gradient(90deg,var(--cyan),var(--blue),var(--gold),var(--red))}.hist-node{width:250px;position:relative;background:#f7f9fc;border:1px solid var(--line);border-radius:22px;padding:22px}.hist-node:before{content:"";position:absolute;top:-50px;left:24px;width:24px;height:24px;border-radius:50%;background:#fff;border:7px solid var(--cyan)}.hist-node span{font-size:28px;font-weight:900;color:var(--blue)}.hist-node h3{margin:8px 0;color:var(--blue);font-size:20px}.hist-node p{color:#516276;line-height:1.45}.omega-section{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;background:linear-gradient(180deg,#eef4fb,#fff)}.omega-section h2{font-size:clamp(36px,4vw,62px);color:var(--blue);margin:0}.client-grid,.cert-grid,.join-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.client-grid article span{color:var(--gold);font-weight:900}.client-grid article h3,.cert-grid article h3,.join-grid article h2{color:var(--blue);font-size:26px}.cert-grid img{height:86px;object-fit:contain;margin-bottom:18px}.contact-page{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px}.contact-form input,.contact-form textarea{width:100%;margin:0 0 14px;padding:16px;border:1px solid var(--line);border-radius:14px;font:inherit}.contact-form textarea{min-height:160px}.footer{background:var(--navy);color:#fff;padding:46px clamp(24px,6vw,90px) 18px}.footer-grid{display:grid;grid-template-columns:1.2fr .9fr .9fr 1fr;gap:30px}.footer-logo{width:220px;filter:brightness(0) invert(1);margin-bottom:12px}.footer p{color:rgba(255,255,255,.75);line-height:1.65}.footer-links a{color:rgba(255,255,255,.82);text-decoration:none;transition:opacity .2s ease}.footer-links a:hover{opacity:1;text-decoration:underline}.footer-bottom{text-align:center;border-top:1px solid rgba(255,255,255,.13);padding-top:18px;color:rgba(255,255,255,.55)}@media(max-width:1050px){.hero,.service-page,.split-impact,.omega-section,.contact-page{grid-template-columns:1fr}.macro-grid,.client-grid,.cert-grid,.join-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.topbar{height:auto;min-height:76px}.menu-btn{display:block}nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:20px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start}.menu-open nav{display:flex}.brand img{height:46px}.hero{padding-top:55px}.macro-grid,.client-grid,.cert-grid,.join-grid,.footer-grid{grid-template-columns:1fr}.omega-auto{height:300px}.omega-auto:before{width:320px;height:320px}.omega-final{width:180px}.omega-layer{width:105px}.section{padding:65px 22px}}

/* ===== V2 hero fotografico colorato sfumato verso sinistra ===== */
.hero{
  min-height:calc(100vh - 84px);
  grid-template-columns:minmax(0, 1.05fr) minmax(320px, .95fr);
  gap:40px;
  padding:90px clamp(24px,6vw,90px);
  background-image:
    linear-gradient(90deg, rgba(6,20,38,0.96) 0%, rgba(6,32,74,0.93) 26%, rgba(6,38,92,0.78) 40%, rgba(6,41,102,0.36) 58%, rgba(6,45,112,0.12) 70%),
    url('assets/images/hero-architectural-fade.png');
  background-size:cover;
  background-position:center right;
}
.hero:before{
  opacity:.08;
}
.hero-copy{max-width:760px;padding-right:10px;}
.hero-copy h1{font-size:clamp(56px,7vw,108px);line-height:.9;text-wrap:balance;text-shadow:0 12px 40px rgba(0,0,0,.25);}
.hero-text{max-width:760px;font-size:clamp(20px,2vw,26px);color:rgba(255,255,255,.92);text-shadow:0 6px 24px rgba(0,0,0,.22);}
.actions{margin-top:34px;}
.hero-mark{display:flex;justify-content:center;align-items:center;}
.omega-auto{height:360px;width:min(100%,480px);border-radius:34px;background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.06));backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 60px rgba(0,0,0,.22);}
.omega-auto:before{width:340px;height:340px;border-color:rgba(255,255,255,.12);box-shadow:inset 0 0 0 48px rgba(255,255,255,.025),0 0 40px rgba(42,167,223,.16);}
.omega-layer{width:120px;opacity:.20;}
.omega-l1{transform:translateX(-100px) scale(.72);}
.omega-l2{transform:translateX(-12px) scale(.88);}
.omega-l3{transform:translateX(78px) scale(1.03);}
.omega-final{width:210px;}
@media(max-width:1050px){
  .hero{grid-template-columns:1fr;align-items:end;padding-top:70px;padding-bottom:70px;background-position:66% center;}
  .hero-copy{max-width:none;}
  .hero-mark{justify-content:flex-start;}
  .omega-auto{height:300px;max-width:420px;}
}
@media(max-width:720px){
  .hero{padding-top:56px;padding-bottom:56px;background-position:72% center;}
  .hero-copy h1{font-size:44px;}
  .hero-text{font-size:18px;}
  .omega-auto{height:240px;max-width:100%;}
  .omega-auto:before{width:240px;height:240px;}
  .omega-layer{width:86px;}
  .omega-l1{transform:translateX(-72px) scale(.72);}
  .omega-l2{transform:translateX(-8px) scale(.88);}
  .omega-l3{transform:translateX(54px) scale(1.02);}
  .omega-final{width:155px;}
}


/* ===== V3 meno blu, palette più equilibrata ===== */
:root{
  --sand:#f7f3eb;
  --warm:#f3ede3;
  --coral:#e07a4d;
}
body{background:linear-gradient(180deg,#f7f3eb 0%, #f4f7fb 24%, #ffffff 100%);}
.topbar{
  background:rgba(250,248,244,.96);
  border-bottom:1px solid rgba(160,126,62,.16);
}
nav{color:#2f4876}
nav a.active:after,nav a:hover:after{background:var(--gold)}
.hero{
  background-image:
    linear-gradient(90deg, rgba(18,24,38,0.92) 0%, rgba(25,35,56,0.86) 20%, rgba(18,84,98,0.58) 40%, rgba(224,122,77,0.18) 62%, rgba(255,214,150,0.04) 78%),
    url('assets/images/hero-architectural-fade.png');
  background-position:center right;
}
.hero:before{opacity:.05}
.eyebrow{color:#82e6ec}
.btn.primary{background:linear-gradient(135deg,var(--gold),var(--coral));color:#fff}
.btn.light{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.55)}
.omega-auto{
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.2);
}
.section{padding:90px clamp(24px,6vw,90px)}
.home-services{background:linear-gradient(180deg,#fff 0%, #faf6ee 100%)}
.section-head p{color:var(--coral)}
.section-head h2,.page-hero h1{color:#2f4876}
.blue{background:linear-gradient(155deg,#3b4f86,#5f76ba)}
.teal{background:linear-gradient(155deg,#157b7b,#33b8b0)}
.gold{background:linear-gradient(155deg,#9b6a26,#d7a445)}
.cyan{background:linear-gradient(155deg,#2d6073,#49a8c0)}
.macro-card{box-shadow:0 18px 50px rgba(58,54,46,.12)}
.split-impact{background:linear-gradient(180deg,#faf6ee 0%, #f5f8fc 100%)}
.impact-card.dark{background:linear-gradient(135deg,#223352,#315777)}
.impact-card.contacts{background:#fff8ef}
.impact-card p{color:var(--coral)}
.page-hero{
  background:linear-gradient(135deg,#2a344c 0%, #315777 46%, #3f7f8f 100%);
}
.history-section{background:linear-gradient(180deg,#fffaf3 0%,#ffffff 100%)}
.history-line:before{background:linear-gradient(90deg,var(--coral),var(--gold),var(--cyan),#5f76ba)}
.hist-node{background:#fff;border:1px solid #eadfcf}
.hist-node:before{border-color:var(--gold)}
.omega-section{background:linear-gradient(180deg,#fff8ef,#f2f7fb)}
.client-grid article,.cert-grid article,.join-grid article,.contact-data,.contact-form,.service-block,.service-page aside{
  box-shadow:0 18px 50px rgba(58,54,46,.10);
  border:1px solid rgba(189,166,122,.12);
}
.footer{background:linear-gradient(135deg,#2a344c,#315777)}
@media(max-width:720px){
  .hero{background-position:72% center;}
}


/* ===== V4 home meno blu e senza animazione grande a destra ===== */
.hero.hero-v4{
  display:block;
  min-height:calc(100vh - 84px);
  padding:90px clamp(24px,6vw,90px);
  background-image:
    linear-gradient(90deg, rgba(26,22,20,0.88) 0%, rgba(36,33,34,0.82) 22%, rgba(49,71,78,0.54) 40%, rgba(224,122,77,0.20) 62%, rgba(255,233,203,0.05) 82%),
    url('assets/images/hero-architectural-fade.png');
  background-size:cover;
  background-position:center right;
}
.hero.hero-v4:before{opacity:.04}
.hero-copy-v4{max-width:760px;position:relative;z-index:2;padding-top:16px;padding-bottom:16px}
.hero-copy-v4 .eyebrow{color:#8ce7e1}
.hero-copy-v4 h1{font-size:clamp(58px,7vw,110px);line-height:.9;text-shadow:0 12px 40px rgba(0,0,0,.24)}
.hero-copy-v4 .hero-text{max-width:760px;color:rgba(255,255,255,.93);text-shadow:0 6px 24px rgba(0,0,0,.2)}
.hero-copy-v4 .actions{margin-bottom:28px}
.omega-inline-block{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  width:min(100%, 460px);padding:16px 18px 16px 18px;border-radius:24px;
  background:linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(12px);
  box-shadow:0 18px 50px rgba(0,0,0,.18);
}
.omega-inline-copy{display:flex;flex-direction:column;gap:4px;color:#fff}
.mini-label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#f3c57c;font-weight:800}
.omega-inline-copy strong{font-size:22px;line-height:1.1}
.omega-inline-stage{margin-left:auto}
.omega-auto.compact{height:92px;width:175px;background:none;border:0;box-shadow:none;backdrop-filter:none}
.omega-auto.compact:before{width:110px;height:110px;border-color:rgba(255,255,255,.1);box-shadow:none}
.omega-auto.compact .omega-layer{width:54px;opacity:.22}
.omega-auto.compact .omega-l1{transform:translateX(-35px) scale(.7)}
.omega-auto.compact .omega-l2{transform:translateX(-4px) scale(.88)}
.omega-auto.compact .omega-l3{transform:translateX(25px) scale(1)}
.omega-auto.compact .omega-final{width:126px}
@media(max-width:1050px){
  .hero.hero-v4{background-position:68% center;padding-top:72px;padding-bottom:72px}
}
@media(max-width:720px){
  .hero.hero-v4{padding-top:56px;padding-bottom:56px;background-position:74% center}
  .hero-copy-v4 h1{font-size:46px}
  .omega-inline-block{width:100%;padding:14px 16px;flex-direction:column;align-items:flex-start}
  .omega-inline-stage{margin-left:0}
}


/* ===== V5 hero bianco a sinistra, senza eyebrow e senza blocco omega ===== */
.hero.hero-v5{
  min-height:calc(100vh - 84px);
  display:grid;
  grid-template-columns:minmax(340px, 44%) 1fr;
  gap:0;
  padding:0;
  background:#ffffff;
}
.hero.hero-v5:before{display:none}
.hero-panel-white{
  background:#ffffff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:90px clamp(28px, 5vw, 72px);
}
.hero-panel-white h1{
  margin:0;
  color:#1f355d;
  font-size:clamp(54px,6.8vw,106px);
  line-height:.9;
  letter-spacing:-.05em;
}
.hero-panel-white .hero-text{
  margin-top:28px;
  max-width:700px;
  color:#334155;
  font-size:clamp(20px,1.9vw,26px);
  line-height:1.58;
  text-shadow:none;
}
.hero-panel-white .actions{margin-top:34px}
.btn.white-outline{
  background:#ffffff;
  border:1px solid #cfd7e4;
  color:#1f355d;
}
.hero-photo-side{
  min-height:calc(100vh - 84px);
  background-image:url('assets/images/hero-architectural-fade.png');
  background-size:cover;
  background-position:center center;
  position:relative;
}
.hero-photo-side:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 18%, rgba(0,0,0,0) 100%);
}
@media(max-width:1050px){
  .hero.hero-v5{grid-template-columns:1fr;}
  .hero-panel-white{padding-top:64px;padding-bottom:48px}
  .hero-photo-side{min-height:360px;background-position:center right;}
}
@media(max-width:720px){
  .hero-panel-white{padding:48px 24px 34px}
  .hero-panel-white h1{font-size:46px}
  .hero-panel-white .hero-text{font-size:18px}
  .hero-photo-side{min-height:260px;}
}


/* ===== V6 logo sopra titolo + testi hero ridotti ===== */
.brand-hidden{
  width:220px;
  min-height:56px;
  display:block;
}
.brand-hidden img{display:none}

.hero-logo-large{
  width:min(360px, 82%);
  height:auto;
  margin:0 0 34px 0;
}

.hero-panel-white h1{
  font-size:clamp(42px, 5.1vw, 78px) !important;
  line-height:.94 !important;
  letter-spacing:-.035em !important;
}

.hero-panel-white .hero-text{
  font-size:clamp(17px, 1.45vw, 21px) !important;
  line-height:1.55 !important;
  max-width:640px !important;
  margin-top:22px !important;
}

.hero-panel-white{
  padding-top:68px !important;
  padding-bottom:68px !important;
}

@media(max-width:1050px){
  .brand-hidden{width:160px;min-height:46px}
  .hero-logo-large{width:min(300px, 78%);margin-bottom:28px}
  .hero-panel-white h1{font-size:clamp(40px, 8vw, 64px) !important}
}

@media(max-width:720px){
  .brand-hidden{width:90px;min-height:40px}
  .hero-logo-large{width:235px;margin-bottom:22px}
  .hero-panel-white h1{font-size:38px !important}
  .hero-panel-white .hero-text{font-size:16px !important}
}


/* ===== V7: senza pulsanti hero, macroaree eleganti, foto meno blu ===== */
.hero.hero-v5{
  background:#ffffff !important;
  grid-template-columns:minmax(360px, 48%) 1fr !important;
}

.hero-photo-side{
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.04) 18%, rgba(255,255,255,0) 36%),
    linear-gradient(135deg, rgba(244,186,104,.20) 0%, rgba(224,122,77,.24) 38%, rgba(60,122,126,.18) 68%, rgba(255,255,255,0) 100%),
    url('assets/images/hero-architectural-fade.png') !important;
  background-size:cover !important;
  background-position:center right !important;
  filter:saturate(.86) brightness(1.08) contrast(.94);
}

.hero-photo-side:after{
  background:
    radial-gradient(circle at 42% 42%, rgba(255,210,142,.24), transparent 32%),
    linear-gradient(90deg, rgba(255,255,255,.16), rgba(255,255,255,0) 26%) !important;
}

.hero-panel-white{
  background:linear-gradient(180deg,#ffffff 0%,#fffaf3 100%) !important;
}

.macro-elegant-section{
  background:linear-gradient(180deg,#fffaf3 0%,#ffffff 100%) !important;
  padding-top:78px !important;
}

.macro-elegant-wrap{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:.38fr .62fr;
  gap:38px;
  align-items:start;
}

.macro-elegant-head{
  position:sticky;
  top:110px;
  background:#ffffff;
  border:1px solid rgba(200,155,60,.18);
  border-radius:30px;
  padding:32px;
  box-shadow:0 18px 50px rgba(58,54,46,.10);
}

.macro-elegant-head p{
  margin:0 0 10px;
  color:#d18441;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:13px;
}

.macro-elegant-head h2{
  margin:0 0 16px;
  color:#1f355d;
  font-size:clamp(34px,3.2vw,54px);
  line-height:1;
  letter-spacing:-.03em;
}

.macro-elegant-head span{
  color:#64748b;
  font-size:18px;
  line-height:1.55;
}

.macro-button-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}

.macro-button{
  display:grid;
  grid-template-columns:72px 1fr;
  grid-template-areas:
    "num title"
    "num text";
  align-items:center;
  gap:4px 22px;
  min-height:132px;
  border-radius:28px;
  padding:24px 28px;
  color:#fff;
  position:relative;
  overflow:hidden;
  box-shadow:0 18px 50px rgba(58,54,46,.12);
  transition:transform .22s ease, box-shadow .22s ease;
}

.macro-button:hover{
  transform:translateY(-4px);
  box-shadow:0 28px 70px rgba(58,54,46,.18);
}

.macro-button:after{
  content:"";
  position:absolute;
  right:-54px;
  top:-70px;
  width:190px;
  height:190px;
  border-radius:50%;
  background:rgba(255,255,255,.13);
}

.macro-button span{
  grid-area:num;
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:rgba(255,255,255,.16);
  font-weight:900;
  font-size:18px;
}

.macro-button strong{
  grid-area:title;
  font-size:26px;
  line-height:1.08;
  position:relative;
  z-index:1;
}

.macro-button em{
  grid-area:text;
  font-style:normal;
  color:rgba(255,255,255,.86);
  font-size:16px;
  position:relative;
  z-index:1;
}

@media(max-width:1050px){
  .hero.hero-v5{
    grid-template-columns:1fr !important;
  }
  .macro-elegant-wrap{
    grid-template-columns:1fr;
  }
  .macro-elegant-head{
    position:relative;
    top:auto;
  }
}

@media(max-width:720px){
  .macro-elegant-section{
    padding:58px 22px !important;
  }
  .macro-button{
    grid-template-columns:1fr;
    grid-template-areas:"num" "title" "text";
    min-height:auto;
  }
  .macro-button strong{
    font-size:22px;
  }
}


/* ===== V8: macro aree integrate nel primo viewport della Home ===== */
.hero.hero-v5{
  min-height:calc(100vh - 84px) !important;
  grid-template-columns:minmax(390px, 48%) 1fr !important;
}

.hero-panel-white{
  justify-content:center !important;
  padding-top:44px !important;
  padding-bottom:42px !important;
}

.hero-logo-large{
  width:min(310px, 74%) !important;
  margin-bottom:12px !important;
}

.hero-panel-white h1{
  font-size:clamp(38px, 4.45vw, 68px) !important;
  line-height:.94 !important;
}

.hero-panel-white .hero-text{
  font-size:clamp(15.5px, 1.18vw, 18px) !important;
  line-height:1.52 !important;
  margin-top:18px !important;
  max-width:640px !important;
}

.hero-macro-inline{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:26px;
  max-width:660px;
}

.hero-area{
  min-height:74px;
  border-radius:18px;
  padding:14px 16px;
  color:#fff;
  display:grid;
  grid-template-columns:38px 1fr;
  gap:12px;
  align-items:center;
  box-shadow:0 14px 34px rgba(44,50,62,.12);
  position:relative;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease;
}

.hero-area:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 44px rgba(44,50,62,.18);
}

.hero-area:after{
  content:"";
  position:absolute;
  right:-34px;
  top:-42px;
  width:110px;
  height:110px;
  border-radius:50%;
  background:rgba(255,255,255,.12);
}

.hero-area span{
  width:36px;
  height:36px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.17);
  font-weight:900;
  font-size:13px;
  position:relative;
  z-index:1;
}

.hero-area strong{
  font-size:15px;
  line-height:1.13;
  position:relative;
  z-index:1;
}

.area-blue{background:linear-gradient(145deg,#355184,#5e76b7)}
.area-teal{background:linear-gradient(145deg,#147a7a,#2cafaa)}
.area-gold{background:linear-gradient(145deg,#9a6927,#d7973b)}
.area-cyan{background:linear-gradient(145deg,#316274,#55a8bb)}

.hero-photo-side{
  filter:saturate(.9) brightness(1.1) contrast(.93) !important;
}

@media(max-width:1050px){
  .hero.hero-v5{
    grid-template-columns:1fr !important;
  }
  .hero-panel-white{
    padding-top:48px !important;
  }
  .hero-macro-inline{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:720px){
  .hero-panel-white h1{
    font-size:36px !important;
  }
  .hero-logo-large{
    width:220px !important;
  }
  .hero-macro-inline{
    grid-template-columns:1fr;
    gap:10px;
  }
  .hero-area{
    min-height:64px;
  }
}


/* ===== V9: macroaree con foto di sfondo riferite all'argomento ===== */
.hero-macro-inline{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:24px;
  max-width:690px;
}
.hero-area{
  min-height:112px;
  padding:18px 18px;
  border-radius:22px;
  grid-template-columns:42px 1fr;
  align-items:end;
  box-shadow:0 18px 40px rgba(33,39,52,.16);
  border:1px solid rgba(255,255,255,.14);
  background-size:cover !important;
  background-position:center 44% !important;
}
.hero-area:before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(13,27,42,.78) 0%, rgba(13,27,42,.44) 45%, rgba(13,27,42,.18) 100%);
  z-index:0;
}
.hero-area:after{
  width:120px;
  height:120px;
  background:rgba(255,255,255,.10);
  z-index:0;
}
.hero-area span,.hero-area strong{position:relative;z-index:1}
.hero-area span{
  width:40px;height:40px;border-radius:13px;
  background:rgba(255,255,255,.18);
  backdrop-filter:blur(3px);
}
.hero-area strong{
  font-size:16px;
  line-height:1.15;
  text-shadow:0 4px 18px rgba(0,0,0,.24);
}
.area-blue{
  background-image:url('assets/images/cards/ingegneria-architettura-card.png');
}
.area-teal{
  background-image:url('assets/images/cards/consulenza-card.png?v=202');
}
.area-gold{
  background-image:url('assets/images/cards/sicurezza-card.png');
}
.area-cyan{
  background-image:url('assets/images/cards/formazione-card.png');
}
.area-blue:before{background:linear-gradient(135deg, rgba(18,45,76,.80) 0%, rgba(18,45,76,.52) 45%, rgba(18,45,76,.20) 100%)}
.area-teal:before{background:linear-gradient(135deg, rgba(14,72,74,.82) 0%, rgba(14,72,74,.46) 46%, rgba(14,72,74,.16) 100%)}
.area-gold:before{background:linear-gradient(135deg, rgba(96,64,17,.82) 0%, rgba(96,64,17,.48) 42%, rgba(96,64,17,.18) 100%)}
.area-cyan:before{background:linear-gradient(135deg, rgba(39,82,102,.82) 0%, rgba(39,82,102,.44) 45%, rgba(39,82,102,.16) 100%)}
@media(max-width:720px){
  .hero-macro-inline{grid-template-columns:1fr;max-width:none}
  .hero-area{min-height:96px}
  .hero-area strong{font-size:15px}
}


/* ===== V10: scritte macro aree più grandi + loghi piccoli in basso a destra ===== */
.hero-macro-inline{
  gap:16px;
  max-width:720px;
}
.hero-area{
  min-height:122px;
  padding:18px 18px 20px 18px;
}
.hero-area strong{
  font-size:18px;
  line-height:1.14;
}
.hero-area span{
  width:42px;
  height:42px;
  font-size:14px;
}
.hero-photo-side{
  position:relative;
}
.hero-certifications{
  position:absolute;
  right:18px;
  bottom:18px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:8px;
  width:min(420px, calc(100% - 36px));
  padding:8px;
  border-radius:18px;
  background:rgba(255,255,255,.76);
  backdrop-filter:blur(8px);
  box-shadow:0 16px 34px rgba(34,40,53,.16);
  border:1px solid rgba(255,255,255,.55);
}
.hero-certifications img{
  width:100%;
  height:62px;
  object-fit:contain;
  border-radius:12px;
  background:rgba(255,255,255,.88);
  padding:6px;
}
@media(max-width:1200px){
  .hero-certifications{width:min(360px, calc(100% - 28px)); right:14px; bottom:14px;}
  .hero-certifications img{height:56px;}
}
@media(max-width:1050px){
  .hero-area strong{font-size:17px;}
  .hero-certifications{left:14px; right:14px; width:auto; grid-template-columns:repeat(4,1fr);}
}
@media(max-width:720px){
  .hero-area{min-height:104px;}
  .hero-area strong{font-size:17px;}
  .hero-certifications{
    grid-template-columns:repeat(2,1fr);
    gap:6px;
    padding:7px;
    border-radius:14px;
  }
  .hero-certifications img{height:52px; padding:5px;}
}


/* ===== V11: fascia bianca lunga per certificazioni, loghi più grandi ===== */
.hero-photo-side{
  display:flex;
  align-items:flex-end;
  justify-content:stretch;
}
.hero-certifications{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  width:100%;
  display:grid;
  grid-template-columns:2.2fr 1fr 1fr 1fr;
  gap:14px;
  padding:16px 22px;
  border-radius:0;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(6px);
  box-shadow:0 -8px 26px rgba(34,40,53,.10);
  border-top:1px solid rgba(31,53,93,.08);
  border-left:none;
  border-right:none;
  border-bottom:none;
}
.hero-certifications img{
  width:100%;
  height:88px;
  object-fit:contain;
  border-radius:12px;
  background:#ffffff;
  padding:8px 10px;
  box-shadow:0 4px 14px rgba(44,50,62,.06);
}
@media(max-width:1200px){
  .hero-certifications{
    grid-template-columns:1.8fr 1fr 1fr 1fr;
    gap:12px;
    padding:14px 18px;
  }
  .hero-certifications img{height:78px;}
}
@media(max-width:1050px){
  .hero-certifications{
    grid-template-columns:2fr 1fr 1fr 1fr;
  }
}
@media(max-width:720px){
  .hero-photo-side{min-height:320px !important;}
  .hero-certifications{
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:12px;
  }
  .hero-certifications img{
    height:66px;
    padding:6px 8px;
  }
}


/* ===== V12: contatti a sinistra della fascia bianca, loghi allineati a destra ===== */
.hero-certifications{
  grid-template-columns:minmax(260px, 1.15fr) minmax(420px, 1fr) !important;
  align-items:center;
  gap:18px !important;
  padding:16px 22px !important;
}
.hero-cert-text{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  min-width:0;
}
.hero-cert-text span{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:800;
  color:#b27b35;
  margin-bottom:6px;
}
.hero-cert-text strong{
  font-size:24px;
  line-height:1;
  color:#1f355d;
  margin-bottom:8px;
}
.hero-cert-text p{
  margin:0;
  color:#445269;
  font-size:15px;
  line-height:1.45;
}
.hero-cert-logos{
  display:grid;
  grid-template-columns:1.8fr .9fr .9fr 1fr;
  gap:10px;
  justify-items:end;
  align-items:center;
}
.hero-cert-logos img{
  width:100%;
  height:84px;
  object-fit:contain;
  border-radius:12px;
  background:#fff;
  padding:8px 10px;
  box-shadow:0 4px 14px rgba(44,50,62,.06);
}
@media(max-width:1200px){
  .hero-certifications{grid-template-columns:1fr 1.15fr !important; gap:14px !important;}
  .hero-cert-text strong{font-size:21px}
  .hero-cert-text p{font-size:14px}
  .hero-cert-logos{grid-template-columns:1.6fr .9fr .9fr 1fr; gap:8px}
  .hero-cert-logos img{height:76px}
}
@media(max-width:900px){
  .hero-certifications{grid-template-columns:1fr !important;}
  .hero-cert-logos{grid-template-columns:1.6fr .9fr .9fr 1fr; justify-items:stretch;}
}
@media(max-width:720px){
  .hero-certifications{padding:12px !important; gap:10px !important;}
  .hero-cert-text strong{font-size:18px}
  .hero-cert-text p{font-size:13px; line-height:1.35}
  .hero-cert-logos{grid-template-columns:1fr 1fr; gap:8px}
  .hero-cert-logos img{height:64px; padding:6px 8px}
}


/* ===== V13: nuova foto ponteggi/HVAC + loghi a sinistra, contatti eleganti a destra ===== */
.hero-photo-side{
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.26) 0%, rgba(255,255,255,.10) 16%, rgba(255,255,255,0) 32%),
    linear-gradient(135deg, rgba(244,186,104,.16) 0%, rgba(224,122,77,.10) 32%, rgba(89,103,117,.08) 74%, rgba(255,255,255,0) 100%),
    url('assets/images/hero-rooftop-hvac-scaffolding.png') !important;
  background-size:cover !important;
  background-position:center 42% !important;
  filter:saturate(.92) brightness(1.03) contrast(.97) !important;
}
.hero-photo-side:after{
  background:
    linear-gradient(90deg, rgba(255,255,255,.18), rgba(255,255,255,0) 24%) !important;
}
.hero-certifications{
  grid-template-columns:minmax(420px, 1.2fr) minmax(290px, .92fr) !important;
  gap:22px !important;
  align-items:center !important;
  padding:16px 22px !important;
}
.hero-cert-logos{
  display:grid;
  grid-template-columns:1.85fr .92fr .92fr 1.05fr;
  gap:10px;
  align-items:center;
}
.hero-cert-text{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding-left:6px;
}
.hero-cert-text span{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-weight:800;
  color:#b27b35;
  margin-bottom:7px;
}
.hero-cert-text strong{
  font-size:26px;
  line-height:1;
  color:#1f355d;
  margin-bottom:10px;
  letter-spacing:-.02em;
}
.hero-cert-text p{
  margin:0 0 4px 0;
  color:#49566d;
  font-size:14px;
  line-height:1.4;
}
.hero-cert-text b{
  color:#1f355d;
  font-weight:800;
}
.hero-cert-logos img{
  height:84px;
}
@media(max-width:1200px){
  .hero-certifications{grid-template-columns:1.15fr .9fr !important; gap:16px !important;}
  .hero-cert-text strong{font-size:23px}
  .hero-cert-text p{font-size:13px}
  .hero-cert-logos img{height:78px}
}
@media(max-width:950px){
  .hero-certifications{grid-template-columns:1fr !important;}
  .hero-cert-logos{order:1}
  .hero-cert-text{order:2;padding-left:0}
}
@media(max-width:720px){
  .hero-photo-side{min-height:360px !important;}
  .hero-certifications{padding:12px !important;}
  .hero-cert-logos{grid-template-columns:1fr 1fr; gap:8px;}
  .hero-cert-text strong{font-size:18px}
  .hero-cert-text p{font-size:12px; line-height:1.35}
  .hero-cert-logos img{height:62px}
}


/* ===== V15: foto reale con sfumatura a sinistra, senza effetti ===== */
.hero-photo-side{
  background-image:
    linear-gradient(90deg, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.52) 16%, rgba(255,255,255,0.18) 28%, rgba(255,255,255,0.00) 40%),
    url('assets/images/hero-rooftop-hvac-scaffolding.png') !important;
  background-size:cover !important;
  background-position:center center !important;
  filter:none !important;
}
.hero-photo-side:after{
  content:"";
  position:absolute;
  inset:0;
  background:none !important;
}
.hero-certifications{
  grid-template-columns:minmax(420px,1.18fr) minmax(290px,.92fr) !important;
  gap:22px !important;
  align-items:center !important;
  padding:16px 22px !important;
  background:rgba(255,255,255,.96) !important;
}
.hero-cert-logos{
  display:grid;
  grid-template-columns:1.85fr .92fr .92fr 1.05fr;
  gap:10px;
  align-items:center;
}
.hero-cert-logos img{
  width:100%;
  height:84px;
  object-fit:contain;
  border-radius:12px;
  background:#fff;
  padding:8px 10px;
  box-shadow:0 4px 14px rgba(44,50,62,.06);
}
.hero-cert-text{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding-left:8px;
}
.hero-cert-text span{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-weight:800;
  color:#b27b35;
  margin-bottom:7px;
}
.hero-cert-text strong{
  font-size:26px;
  line-height:1;
  color:#1f355d;
  margin-bottom:10px;
  letter-spacing:-.02em;
}
.hero-cert-text p{
  margin:0 0 4px 0;
  color:#49566d;
  font-size:14px;
  line-height:1.4;
}
.hero-cert-text b{color:#1f355d;font-weight:800;}
@media(max-width:1200px){
  .hero-certifications{grid-template-columns:1.15fr .9fr !important; gap:16px !important;}
  .hero-cert-text strong{font-size:23px}
  .hero-cert-text p{font-size:13px}
  .hero-cert-logos img{height:78px}
}
@media(max-width:950px){
  .hero-certifications{grid-template-columns:1fr !important;}
  .hero-cert-logos{order:1}
  .hero-cert-text{order:2;padding-left:0}
}
@media(max-width:720px){
  .hero-photo-side{min-height:360px !important;}
  .hero-certifications{padding:12px !important;}
  .hero-cert-logos{grid-template-columns:1fr 1fr; gap:8px;}
  .hero-cert-text strong{font-size:18px}
  .hero-cert-text p{font-size:12px; line-height:1.35}
  .hero-cert-logos img{height:62px}
}


/* ===== V16: macroaree senza numeri, testi più grandi ===== */
.hero-area{
  grid-template-columns:1fr !important;
  align-items:end !important;
  padding:20px 20px 22px 20px !important;
}
.hero-area span{display:none !important;}
.hero-area strong{
  font-size:20px !important;
  line-height:1.14 !important;
  display:block;
  max-width:92%;
}
@media(max-width:1050px){
  .hero-area strong{font-size:19px !important;}
}
@media(max-width:720px){
  .hero-area{
    min-height:90px !important;
    padding:16px 16px 18px 16px !important;
  }
  .hero-area strong{font-size:18px !important;max-width:100%;}
}


/* ===== V17: barra superiore blu con scritte bianche ===== */
.topbar{
  background:linear-gradient(90deg,#1f355d 0%, #284673 100%) !important;
  border-bottom:1px solid rgba(255,255,255,.14) !important;
}
nav{
  color:#ffffff !important;
}
nav a{
  color:#ffffff !important;
}
nav a.active:after,
nav a:hover:after{
  background:#d6a041 !important;
}
.brand img{
  filter:brightness(0) invert(1);
}
@media(max-width:720px){
  nav{
    background:linear-gradient(180deg,#1f355d 0%, #284673 100%) !important;
  }
}


/* ===== V18: colori più omogenei, elimina fascia giallognola ===== */
body{
  background:#ffffff !important;
}
.hero.hero-v5{
  background:#ffffff !important;
}
.hero-panel-white{
  background:#ffffff !important;
}
.home-services,
.split-impact,
.history-section,
.omega-section{
  background:#ffffff !important;
}
.impact-card.contacts{
  background:#ffffff !important;
}


/* ===== V19: dati aziendali corretti e blocco contatti più leggibile ===== */
.hero-cert-text p{
  margin:0 0 3px 0 !important;
  font-size:13.5px !important;
  line-height:1.34 !important;
}
.hero-cert-text strong{
  margin-bottom:8px !important;
}
@media(max-width:1200px){
  .hero-cert-text p{font-size:12.5px !important;}
}


/* ===== V21: pagine Servizi + 4 pagine specifiche ===== */
.services-hero{
  padding:110px clamp(24px,6vw,90px) 72px;
  background:linear-gradient(135deg,#1f355d 0%,#284673 100%);
  color:#fff;
}
.services-hero > div{
  max-width:1040px;
}
.services-kicker{
  margin:0 0 14px;
  color:#d6a041;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:900;
  font-size:13px;
}
.services-hero h1{
  margin:0;
  font-size:clamp(44px,5.8vw,88px);
  line-height:.96;
  letter-spacing:-.045em;
}
.services-hero p:not(.services-kicker){
  max-width:850px;
  margin:22px 0 0;
  font-size:clamp(18px,1.6vw,24px);
  line-height:1.52;
  color:rgba(255,255,255,.86);
}
.services-overview{
  padding:72px clamp(24px,6vw,90px) 88px;
  background:#fff;
}
.services-overview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26px;
  max-width:1180px;
  margin:0 auto;
}
.services-area-card{
  min-height:320px;
  border-radius:30px;
  overflow:hidden;
  position:relative;
  display:flex;
  align-items:flex-end;
  color:#fff;
  box-shadow:0 24px 70px rgba(2,18,44,.14);
  transition:transform .22s ease, box-shadow .22s ease;
}
.services-area-card:hover{
  transform:translateY(-6px);
  box-shadow:0 30px 90px rgba(2,18,44,.20);
}
.services-area-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.02);
}
.services-area-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(5,17,37,.10) 0%,rgba(5,17,37,.55) 45%,rgba(5,17,37,.86) 100%);
}
.services-area-content{
  position:relative;
  z-index:1;
  padding:30px;
}
.services-area-content span{
  display:inline-flex;
  width:46px;
  height:46px;
  align-items:center;
  justify-content:center;
  border-radius:15px;
  background:rgba(255,255,255,.18);
  font-weight:900;
  margin-bottom:18px;
}
.services-area-content h2{
  margin:0 0 12px;
  font-size:clamp(28px,3vw,42px);
  line-height:1.04;
  letter-spacing:-.025em;
}
.services-area-content p{
  margin:0;
  max-width:640px;
  color:rgba(255,255,255,.88);
  font-size:17px;
  line-height:1.5;
}
.services-note{
  padding:0 clamp(24px,6vw,90px) 92px;
  background:#fff;
}
.services-note > div{
  max-width:1180px;
  margin:0 auto;
  border-radius:30px;
  padding:42px;
  background:linear-gradient(135deg,#f5f7fb 0%,#ffffff 100%);
  border:1px solid rgba(31,53,93,.08);
  box-shadow:0 18px 50px rgba(2,18,44,.08);
}
.services-note h2{
  margin:0 0 12px;
  color:#1f355d;
  font-size:clamp(30px,3vw,48px);
  letter-spacing:-.03em;
}
.services-note p{
  margin:0;
  color:#445269;
  font-size:19px;
  line-height:1.6;
}

.service-detail-hero{
  min-height:520px;
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  align-items:stretch;
  background:#1f355d;
  color:#fff;
}
.service-detail-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:90px clamp(24px,6vw,90px);
}
.service-detail-copy h1{
  margin:0;
  font-size:clamp(46px,5.7vw,84px);
  line-height:.96;
  letter-spacing:-.045em;
}
.service-detail-copy p:not(.services-kicker){
  margin:22px 0 0;
  color:rgba(255,255,255,.88);
  font-size:clamp(18px,1.6vw,24px);
  line-height:1.5;
}
.service-detail-image{
  min-height:420px;
  background-size:cover;
  background-position:center;
  position:relative;
}
.service-detail-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(31,53,93,.42),rgba(31,53,93,0));
}
.service-detail-hero.service-blue{background:linear-gradient(135deg,#1f355d,#355184);}
.service-detail-hero.service-teal{background:linear-gradient(135deg,#154f5c,#147a7a);}
.service-detail-hero.service-gold{background:linear-gradient(135deg,#5c3b0d,#9a6927);}
.service-detail-hero.service-cyan{background:linear-gradient(135deg,#24556a,#316274);}

.service-detail-intro{
  padding:82px clamp(24px,6vw,90px);
  display:grid;
  grid-template-columns:minmax(260px,.38fr) minmax(0,.62fr);
  gap:34px;
  align-items:start;
  background:#fff;
}
.service-detail-intro aside{
  position:sticky;
  top:110px;
  border-radius:28px;
  padding:30px;
  background:#f7f9fc;
  border:1px solid rgba(31,53,93,.08);
  box-shadow:0 18px 50px rgba(2,18,44,.08);
}
.service-detail-intro aside span{
  color:#d6a041;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:900;
}
.service-detail-intro aside h2{
  margin:10px 0 14px;
  color:#1f355d;
  font-size:34px;
  line-height:1.05;
}
.service-detail-intro aside p{
  color:#445269;
  line-height:1.6;
  font-size:17px;
}
.service-detail-list{
  display:grid;
  gap:22px;
}
.service-detail-block{
  border-radius:28px;
  padding:30px;
  background:#fff;
  border:1px solid rgba(31,53,93,.08);
  box-shadow:0 18px 50px rgba(2,18,44,.08);
}
.service-detail-block h2{
  margin:0 0 18px;
  color:#1f355d;
  font-size:32px;
  line-height:1.1;
}
.service-detail-block ul{
  margin:0;
  padding-left:20px;
  columns:1;
}
.service-detail-block li{
  margin:10px 0;
  color:#334155;
  line-height:1.52;
  font-size:17px;
}
.service-back{
  padding:0 clamp(24px,6vw,90px) 80px;
  background:#fff;
}
.service-back a{
  display:inline-flex;
  border-radius:999px;
  padding:14px 22px;
  background:#1f355d;
  color:#fff;
  font-weight:800;
}

@media(max-width:1050px){
  .services-overview-grid,
  .service-detail-hero,
  .service-detail-intro{
    grid-template-columns:1fr;
  }
  .service-detail-intro aside{
    position:relative;
    top:auto;
  }
}
@media(max-width:720px){
  .services-hero,
  .services-overview,
  .service-detail-copy,
  .service-detail-intro,
  .services-note,
  .service-back{
    padding-left:22px;
    padding-right:22px;
  }
  .services-area-card{
    min-height:270px;
  }
  .services-area-content{
    padding:24px;
  }
  .service-detail-image{
    min-height:280px;
  }
}


/* ===== V22: pagina servizi più compatta e con nuovo testo introduttivo ===== */
.services-hero{
  padding:72px clamp(24px,6vw,90px) 42px !important;
}
.services-hero > div{
  max-width:1120px !important;
}
.services-kicker{
  margin:0 0 10px !important;
  font-size:17px !important;
}
.services-hero h1{
  margin:0 !important;
  font-size:clamp(38px,4.8vw,64px) !important;
  line-height:.98 !important;
  letter-spacing:-.035em !important;
}
.services-hero p:not(.services-kicker){
  max-width:980px !important;
  margin:18px 0 0 !important;
  font-size:clamp(17px,1.35vw,21px) !important;
  line-height:1.5 !important;
}

.services-overview{
  padding:34px clamp(24px,6vw,90px) 54px !important;
}
.services-overview-grid{
  gap:20px !important;
}
.services-area-card{
  min-height:240px !important;
}
.services-area-content{
  padding:24px !important;
}
.services-area-content span{
  width:40px !important;
  height:40px !important;
  margin-bottom:14px !important;
  font-size:15px !important;
}
.services-area-content h2{
  font-size:clamp(24px,2.4vw,34px) !important;
  margin:0 0 10px !important;
}
.services-area-content p{
  font-size:15px !important;
  line-height:1.45 !important;
}
.services-note{
  padding:0 clamp(24px,6vw,90px) 72px !important;
}

@media(max-width:720px){
  .services-hero{
    padding:54px 22px 32px !important;
  }
  .services-hero h1{
    font-size:34px !important;
  }
  .services-hero p:not(.services-kicker){
    font-size:16px !important;
  }
  .services-overview{
    padding:24px 22px 42px !important;
  }
  .services-area-card{
    min-height:210px !important;
  }
  .services-area-content{
    padding:20px !important;
  }
}


/* ===== FINALE: foto dx approvata, testi e card invariati ===== */
.hero-photo-side{
  background-image:
    linear-gradient(90deg,
      rgba(255,255,255,0.90) 0%,
      rgba(255,255,255,0.56) 13%,
      rgba(255,255,255,0.24) 24%,
      rgba(255,255,255,0.06) 34%,
      rgba(255,255,255,0.00) 44%),
    url('assets/images/hero-sepli-foto-approvata.png') !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center center !important;
  filter:saturate(1.06) contrast(1.02) brightness(1.02) !important;
}
.hero-photo-side:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,
      rgba(255,255,255,0.14) 0%,
      rgba(255,255,255,0.05) 16%,
      rgba(255,255,255,0.00) 30%) !important;
  pointer-events:none;
}


/* ===== Certificazioni home: solo loghi, più visibili, senza contatti ===== */
.hero-certifications-only{
  position:absolute;
  left:clamp(18px,2.2vw,28px);
  right:clamp(18px,2.2vw,28px);
  bottom:clamp(18px,2vw,28px);
  z-index:3;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(18,32,51,.08);
  border-radius:24px;
  box-shadow:0 16px 42px rgba(10,22,40,.12);
  padding:18px 20px;
}
.hero-cert-logos-prominent{
  display:grid;
  grid-template-columns:1.55fr 1fr 1fr 1.15fr;
  gap:14px;
  align-items:stretch;
}
.cert-tile{
  margin:0;
  min-height:110px;
  background:#fff;
  border:1px solid rgba(18,32,51,.08);
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 14px;
  overflow:hidden;
}
.cert-tile img{
  width:100%;
  height:100%;
  max-height:92px;
  object-fit:contain;
}
.cert-primary img{
  max-height:90px;
}
.cert-ebafos img{
  max-height:82px;
}
.hero-cert-text{
  display:none !important;
}

@media (max-width: 1200px){
  .hero-certifications-only{left:18px; right:18px; bottom:18px;}
  .hero-cert-logos-prominent{grid-template-columns:1.45fr 1fr 1fr 1.1fr; gap:12px;}
  .cert-tile{min-height:98px;}
}
@media (max-width: 900px){
  .hero-certifications-only{position:relative; left:auto; right:auto; bottom:auto; margin:18px;}
  .hero-cert-logos-prominent{grid-template-columns:1fr 1fr;}
  .cert-primary{grid-column:1 / -1;}
}
@media (max-width: 560px){
  .hero-cert-logos-prominent{grid-template-columns:1fr;}
  .cert-primary{grid-column:auto;}
}

/* ===== 2026-06-12: HOME certificazioni più grandi e nitide ===== */
.hero-certifications-only{
  left:clamp(18px,2vw,26px) !important;
  right:clamp(18px,2vw,26px) !important;
  bottom:clamp(16px,1.8vw,24px) !important;
  padding:16px 18px !important;
  border-radius:26px !important;
  background:rgba(255,255,255,.97) !important;
  box-shadow:0 18px 42px rgba(10,22,40,.12) !important;
}
.hero-cert-logos-prominent{
  grid-template-columns:2.45fr 1.12fr 1.12fr 1.38fr !important;
  gap:14px !important;
  align-items:stretch !important;
}
.hero-certifications-only .cert-tile{
  min-height:128px !important;
  padding:8px 10px !important;
  border-radius:18px !important;
  border:1px solid rgba(18,32,51,.06) !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(10,22,40,.06) !important;
}
.hero-certifications-only .cert-tile img{
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:108px !important;
  object-fit:contain !important;
  display:block !important;
}
.hero-certifications-only .cert-primary img{
  max-height:92px !important;
}
.hero-certifications-only .cert-ebafos img{
  max-height:96px !important;
}
@media (max-width: 1360px){
  .hero-cert-logos-prominent{
    grid-template-columns:2.2fr 1.06fr 1.06fr 1.28fr !important;
    gap:12px !important;
  }
  .hero-certifications-only .cert-tile{
    min-height:118px !important;
  }
  .hero-certifications-only .cert-tile img{
    max-height:98px !important;
  }
  .hero-certifications-only .cert-primary img{
    max-height:86px !important;
  }
}
@media (max-width: 1200px){
  .hero-certifications-only{
    left:16px !important;
    right:16px !important;
    bottom:16px !important;
    padding:14px 16px !important;
  }
  .hero-cert-logos-prominent{
    grid-template-columns:2.05fr 1fr 1fr 1.18fr !important;
    gap:10px !important;
  }
  .hero-certifications-only .cert-tile{
    min-height:108px !important;
    padding:8px !important;
  }
  .hero-certifications-only .cert-tile img{
    max-height:88px !important;
  }
  .hero-certifications-only .cert-primary img{
    max-height:78px !important;
  }
}
@media (max-width: 900px){
  .hero-certifications-only{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    margin:18px !important;
  }
  .hero-cert-logos-prominent{
    grid-template-columns:1fr 1fr !important;
  }
  .hero-certifications-only .cert-tile{
    min-height:100px !important;
  }
  .hero-certifications-only .cert-tile img{
    max-height:78px !important;
  }
  .hero-certifications-only .cert-primary{
    grid-column:1 / -1;
  }
}
@media (max-width: 560px){
  .hero-cert-logos-prominent{
    grid-template-columns:1fr !important;
  }
  .hero-certifications-only .cert-primary{
    grid-column:auto;
  }
}


/* ===== V3 DEFINITIVA: loghi certificazioni grandi, proporzionati e nitidi ===== */
.hero-certifications-only{
  position:absolute !important;
  left:clamp(90px,7vw,150px) !important;
  right:clamp(18px,2vw,28px) !important;
  bottom:clamp(16px,1.8vw,24px) !important;
  z-index:3 !important;
  display:block !important;
  background:rgba(255,255,255,.97) !important;
  border:1px solid rgba(18,32,51,.08) !important;
  border-radius:24px !important;
  box-shadow:0 16px 42px rgba(10,22,40,.12) !important;
  padding:10px 12px !important;
}

/* Ordine invariato: Giordano+Accredia / ISO 45001 / ISO 14001 / EBAFoS */
.hero-cert-logos-prominent{
  display:grid !important;
  grid-template-columns:2.45fr 1.12fr 1.12fr 1.52fr !important;
  gap:10px !important;
  align-items:center !important;
}

.hero-certifications-only .cert-tile{
  margin:0 !important;
  height:116px !important;
  min-height:116px !important;
  padding:3px 5px !important;
  border-radius:18px !important;
  border:1px solid rgba(18,32,51,.06) !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(10,22,40,.06) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}

.hero-certifications-only .cert-tile img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:98% !important;
  max-height:106px !important;
  object-fit:contain !important;
}

/* Giordano + Accredia: più largo e più leggibile */
.hero-certifications-only .cert-primary img{
  max-width:99% !important;
  max-height:104px !important;
}

/* ISO 45001 e ISO 14001: più grandi dentro il box */
.hero-certifications-only .cert-tile:not(.cert-primary):not(.cert-ebafos) img{
  max-width:96% !important;
  max-height:108px !important;
}

/* EBAFoS: più grande e leggibile */
.hero-certifications-only .cert-ebafos img{
  max-width:98% !important;
  max-height:104px !important;
}

.hero-cert-text{
  display:none !important;
}

@media (max-width: 1360px){
  .hero-certifications-only{
    left:clamp(58px,5vw,100px) !important;
    right:18px !important;
    padding:9px 10px !important;
  }
  .hero-cert-logos-prominent{
    grid-template-columns:2.25fr 1.05fr 1.05fr 1.38fr !important;
    gap:9px !important;
  }
  .hero-certifications-only .cert-tile{
    height:106px !important;
    min-height:106px !important;
  }
  .hero-certifications-only .cert-tile img{
    max-height:96px !important;
  }
}

@media (max-width: 1200px){
  .hero-certifications-only{
    left:24px !important;
    right:16px !important;
    bottom:16px !important;
    padding:8px !important;
  }
  .hero-cert-logos-prominent{
    grid-template-columns:2.1fr 1fr 1fr 1.25fr !important;
    gap:8px !important;
  }
  .hero-certifications-only .cert-tile{
    height:94px !important;
    min-height:94px !important;
    padding:3px 4px !important;
  }
  .hero-certifications-only .cert-tile img{
    max-height:86px !important;
  }
}

@media (max-width: 900px){
  .hero-certifications-only{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    margin:18px !important;
  }
  .hero-cert-logos-prominent{
    grid-template-columns:1fr 1fr !important;
  }
  .hero-certifications-only .cert-tile{
    height:105px !important;
    min-height:105px !important;
  }
  .hero-certifications-only .cert-primary{
    grid-column:1 / -1;
  }
}

@media (max-width: 560px){
  .hero-cert-logos-prominent{
    grid-template-columns:1fr !important;
  }
  .hero-certifications-only .cert-primary{
    grid-column:auto;
  }
}


/* ===== V4: correzione posizione fascia certificazioni ===== */
.hero-certifications-only{
  left:clamp(170px,15vw,260px) !important;
  right:clamp(34px,3vw,54px) !important;
  bottom:clamp(18px,1.8vw,24px) !important;
  padding:10px 12px !important;
  border-radius:24px !important;
}

.hero-cert-logos-prominent{
  grid-template-columns:2.15fr 1fr 1fr 1.32fr !important;
  gap:10px !important;
}

.hero-certifications-only .cert-tile{
  height:112px !important;
  min-height:112px !important;
  padding:3px 5px !important;
}

.hero-certifications-only .cert-tile img{
  max-height:104px !important;
}

.hero-certifications-only .cert-primary img{
  max-height:102px !important;
}

.hero-certifications-only .cert-tile:not(.cert-primary):not(.cert-ebafos) img{
  max-height:104px !important;
}

.hero-certifications-only .cert-ebafos img{
  max-height:100px !important;
}

@media (max-width: 1360px){
  .hero-certifications-only{
    left:clamp(120px,10vw,180px) !important;
    right:28px !important;
  }

  .hero-cert-logos-prominent{
    grid-template-columns:2.05fr .96fr .96fr 1.2fr !important;
    gap:9px !important;
  }

  .hero-certifications-only .cert-tile{
    height:104px !important;
    min-height:104px !important;
  }

  .hero-certifications-only .cert-tile img{
    max-height:96px !important;
  }
}

@media (max-width: 1200px){
  .hero-certifications-only{
    left:58px !important;
    right:20px !important;
  }

  .hero-cert-logos-prominent{
    grid-template-columns:1.9fr .92fr .92fr 1.12fr !important;
    gap:8px !important;
  }

  .hero-certifications-only .cert-tile{
    height:94px !important;
    min-height:94px !important;
  }

  .hero-certifications-only .cert-tile img{
    max-height:86px !important;
  }
}


/* ===== V5: EBAFoS visibile, fascia riequilibrata ===== */
.hero-certifications-only{
  left:clamp(80px,6vw,120px) !important;
  right:clamp(18px,2vw,28px) !important;
  bottom:clamp(18px,1.8vw,24px) !important;
  padding:10px 12px !important;
  border-radius:24px !important;
  overflow:visible !important;
}

.hero-cert-logos-prominent{
  grid-template-columns:2.05fr .92fr .92fr 1.28fr !important;
  gap:10px !important;
  width:100% !important;
}

.hero-certifications-only .cert-tile{
  height:112px !important;
  min-height:112px !important;
  padding:3px 5px !important;
}

.hero-certifications-only .cert-tile img{
  max-height:104px !important;
  max-width:96% !important;
}

.hero-certifications-only .cert-primary img{
  max-height:98px !important;
  max-width:98% !important;
}

.hero-certifications-only .cert-tile:not(.cert-primary):not(.cert-ebafos) img{
  max-height:104px !important;
  max-width:94% !important;
}

.hero-certifications-only .cert-ebafos img{
  max-height:98px !important;
  max-width:96% !important;
}

@media (max-width: 1360px){
  .hero-certifications-only{
    left:56px !important;
    right:18px !important;
  }

  .hero-cert-logos-prominent{
    grid-template-columns:1.95fr .9fr .9fr 1.18fr !important;
    gap:8px !important;
  }

  .hero-certifications-only .cert-tile{
    height:104px !important;
    min-height:104px !important;
  }

  .hero-certifications-only .cert-tile img{
    max-height:96px !important;
  }

  .hero-certifications-only .cert-primary img,
  .hero-certifications-only .cert-ebafos img{
    max-height:92px !important;
  }
}

@media (max-width: 1200px){
  .hero-certifications-only{
    left:24px !important;
    right:16px !important;
  }

  .hero-cert-logos-prominent{
    grid-template-columns:1.8fr .85fr .85fr 1.05fr !important;
    gap:7px !important;
  }

  .hero-certifications-only .cert-tile{
    height:94px !important;
    min-height:94px !important;
  }

  .hero-certifications-only .cert-tile img{
    max-height:86px !important;
  }
}


/* ===== V6: spazi ridotti tra i loghi ===== */
.hero-certifications-only{
  padding: 8px 10px !important;
}

.hero-cert-logos-prominent{
  grid-template-columns: 2.08fr 0.93fr 0.93fr 1.18fr !important;
  gap: 6px !important;
}

.hero-certifications-only .cert-tile{
  padding: 2px 3px !important;
  min-height: 108px !important;
  height: 108px !important;
}

.hero-certifications-only .cert-primary img{
  max-width: 99% !important;
}

.hero-certifications-only .cert-ebafos img{
  max-width: 98% !important;
}

@media (max-width: 1360px){
  .hero-cert-logos-prominent{
    grid-template-columns: 2.0fr 0.92fr 0.92fr 1.14fr !important;
    gap: 5px !important;
  }
  .hero-certifications-only .cert-tile{
    min-height: 102px !important;
    height: 102px !important;
  }
}

@media (max-width: 1200px){
  .hero-cert-logos-prominent{
    grid-template-columns: 1.86fr 0.88fr 0.88fr 1.08fr !important;
    gap: 4px !important;
  }
  .hero-certifications-only .cert-tile{
    min-height: 92px !important;
    height: 92px !important;
  }
}


/* ===== V7: loghi più compatti e tutti visibili ===== */
.hero-certifications-only{
  left: auto !important;
  right: 18px !important;
  width: min(940px, calc(100% - 110px)) !important;
  padding: 8px 10px !important;
  box-sizing: border-box !important;
}
.hero-cert-logos-prominent{
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 8px !important;
}
.hero-certifications-only .cert-tile{
  flex: 0 0 138px !important;
  width: 138px !important;
  min-width: 138px !important;
  height: 108px !important;
  min-height: 108px !important;
  padding: 4px !important;
}
.hero-certifications-only .cert-primary{
  flex: 0 0 380px !important;
  width: 380px !important;
  min-width: 380px !important;
}
.hero-certifications-only .cert-ebafos{
  flex: 0 0 170px !important;
  width: 170px !important;
  min-width: 170px !important;
}
.hero-certifications-only .cert-tile img{
  max-height: 98px !important;
  max-width: 96% !important;
}
.hero-certifications-only .cert-primary img{
  max-height: 92px !important;
  max-width: 97% !important;
}
.hero-certifications-only .cert-ebafos img{
  max-height: 90px !important;
  max-width: 95% !important;
}
@media (max-width: 1360px){
  .hero-certifications-only{
    width: min(860px, calc(100% - 80px)) !important;
    right: 14px !important;
  }
  .hero-cert-logos-prominent{gap: 6px !important;}
  .hero-certifications-only .cert-primary{
    flex-basis: 340px !important; width: 340px !important; min-width: 340px !important;
  }
  .hero-certifications-only .cert-tile{
    flex-basis: 126px !important; width: 126px !important; min-width: 126px !important;
    height: 102px !important; min-height: 102px !important;
  }
  .hero-certifications-only .cert-ebafos{
    flex-basis: 154px !important; width: 154px !important; min-width: 154px !important;
  }
}
@media (max-width: 1200px){
  .hero-certifications-only{
    width: min(760px, calc(100% - 40px)) !important;
    left: auto !important;
    right: 10px !important;
    padding: 6px 8px !important;
  }
  .hero-cert-logos-prominent{gap: 5px !important;}
  .hero-certifications-only .cert-primary{
    flex-basis: 300px !important; width: 300px !important; min-width: 300px !important;
  }
  .hero-certifications-only .cert-tile{
    flex-basis: 110px !important; width: 110px !important; min-width: 110px !important;
    height: 92px !important; min-height: 92px !important;
  }
  .hero-certifications-only .cert-ebafos{
    flex-basis: 138px !important; width: 138px !important; min-width: 138px !important;
  }
  .hero-certifications-only .cert-tile img{max-height: 82px !important;}
  .hero-certifications-only .cert-primary img,
  .hero-certifications-only .cert-ebafos img{max-height: 78px !important;}
}
@media (max-width: 900px){
  .hero-certifications-only{
    position: relative !important;
    width: auto !important;
    left: auto !important;
    right: auto !important;
    margin: 18px !important;
  }
  .hero-cert-logos-prominent{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .hero-certifications-only .cert-primary,
  .hero-certifications-only .cert-tile,
  .hero-certifications-only .cert-ebafos{
    width: auto !important; min-width: 0 !important; flex: initial !important;
  }
  .hero-certifications-only .cert-primary{grid-column: 1 / -1 !important;}
}
@media (max-width: 560px){
  .hero-cert-logos-prominent{grid-template-columns: 1fr !important;}
}


/* ===== V8: gap più ridotto + EBAFoS più grande ===== */
.hero-certifications-only{
  width: min(930px, calc(100% - 96px)) !important;
  padding: 8px 8px !important;
}
.hero-cert-logos-prominent{
  gap: 4px !important;
}
.hero-certifications-only .cert-tile{
  flex: 0 0 136px !important;
  width: 136px !important;
  min-width: 136px !important;
  padding: 2px !important;
}
.hero-certifications-only .cert-primary{
  flex: 0 0 378px !important;
  width: 378px !important;
  min-width: 378px !important;
}
.hero-certifications-only .cert-ebafos{
  flex: 0 0 190px !important;
  width: 190px !important;
  min-width: 190px !important;
}
.hero-certifications-only .cert-ebafos img{
  max-height: 96px !important;
  max-width: 97% !important;
}
@media (max-width: 1360px){
  .hero-cert-logos-prominent{gap: 4px !important;}
  .hero-certifications-only .cert-primary{
    flex-basis: 340px !important; width: 340px !important; min-width: 340px !important;
  }
  .hero-certifications-only .cert-tile{
    flex-basis: 122px !important; width: 122px !important; min-width: 122px !important;
    padding: 2px !important;
  }
  .hero-certifications-only .cert-ebafos{
    flex-basis: 166px !important; width: 166px !important; min-width: 166px !important;
  }
  .hero-certifications-only .cert-ebafos img{max-height: 92px !important;}
}
@media (max-width: 1200px){
  .hero-cert-logos-prominent{gap: 4px !important;}
  .hero-certifications-only .cert-primary{
    flex-basis: 298px !important; width: 298px !important; min-width: 298px !important;
  }
  .hero-certifications-only .cert-tile{
    flex-basis: 104px !important; width: 104px !important; min-width: 104px !important;
    padding: 2px !important;
  }
  .hero-certifications-only .cert-ebafos{
    flex-basis: 144px !important; width: 144px !important; min-width: 144px !important;
  }
  .hero-certifications-only .cert-ebafos img{max-height: 82px !important;}
}


/* ===== V9: loghi ISO 45001 e 14001 più visibili e nitidi ===== */
.hero-cert-logos-prominent{
  gap: 4px !important;
}
.hero-certifications-only{
  width: min(940px, calc(100% - 96px)) !important;
  padding: 8px 8px !important;
}
.hero-certifications-only .cert-primary{
  flex: 0 0 366px !important;
  width: 366px !important;
  min-width: 366px !important;
}
.hero-certifications-only .cert-iso{
  flex: 0 0 148px !important;
  width: 148px !important;
  min-width: 148px !important;
  height: 112px !important;
  min-height: 112px !important;
  padding: 1px !important;
}
.hero-certifications-only .cert-iso img{
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 108px !important;
  object-fit: contain !important;
  display: block !important;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  filter: contrast(1.08) saturate(1.02);
  transform: scale(1.12);
  transform-origin: center center;
}
.hero-certifications-only .cert-ebafos{
  flex: 0 0 182px !important;
  width: 182px !important;
  min-width: 182px !important;
}
.hero-certifications-only .cert-ebafos img{
  max-height: 98px !important;
  max-width: 98% !important;
}
@media (max-width: 1360px){
  .hero-cert-logos-prominent{gap: 4px !important;}
  .hero-certifications-only .cert-primary{
    flex-basis: 338px !important; width: 338px !important; min-width: 338px !important;
  }
  .hero-certifications-only .cert-iso{
    flex-basis: 136px !important; width: 136px !important; min-width: 136px !important;
    height: 106px !important; min-height: 106px !important;
  }
  .hero-certifications-only .cert-iso img{
    max-height: 102px !important;
    transform: scale(1.11);
  }
  .hero-certifications-only .cert-ebafos{
    flex-basis: 166px !important; width: 166px !important; min-width: 166px !important;
  }
}
@media (max-width: 1200px){
  .hero-certifications-only{
    width: min(780px, calc(100% - 30px)) !important;
    padding: 6px !important;
  }
  .hero-cert-logos-prominent{gap: 3px !important;}
  .hero-certifications-only .cert-primary{
    flex-basis: 302px !important; width: 302px !important; min-width: 302px !important;
  }
  .hero-certifications-only .cert-iso{
    flex-basis: 120px !important; width: 120px !important; min-width: 120px !important;
    height: 96px !important; min-height: 96px !important;
  }
  .hero-certifications-only .cert-iso img{
    max-height: 92px !important;
    transform: scale(1.08);
  }
  .hero-certifications-only .cert-ebafos{
    flex-basis: 146px !important; width: 146px !important; min-width: 146px !important;
  }
  .hero-certifications-only .cert-ebafos img{
    max-height: 84px !important;
  }
}
@media (max-width: 900px){
  .hero-certifications-only .cert-iso img{
    transform: none !important;
    max-height: 82px !important;
  }
}


/* ===== V11: ISO 45001 e ISO 14001 più leggibili senza sfocatura ===== */
.hero-certifications-only{
  left:auto !important;
  right:18px !important;
  width:min(960px, calc(100% - 70px)) !important;
  padding:8px 8px !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

.hero-cert-logos-prominent{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:4px !important;
}

/* Giordano resta leggibile ma viene leggermente contenuto per dare spazio agli ISO */
.hero-certifications-only .cert-primary{
  flex:0 0 340px !important;
  width:340px !important;
  min-width:340px !important;
  height:120px !important;
  min-height:120px !important;
  padding:4px !important;
}
.hero-certifications-only .cert-primary img{
  width:96% !important;
  max-width:96% !important;
  height:auto !important;
  max-height:104px !important;
  object-fit:contain !important;
}

/* ISO: box più largo e immagine non deformata */
.hero-certifications-only .cert-iso{
  flex:0 0 170px !important;
  width:170px !important;
  min-width:170px !important;
  height:120px !important;
  min-height:120px !important;
  padding:1px !important;
}
.hero-certifications-only .cert-iso img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:99% !important;
  max-height:116px !important;
  object-fit:contain !important;
  transform:none !important;
  filter:none !important;
  image-rendering:auto !important;
}

/* EBAFoS: mantiene dimensione leggibile e rientra nella fascia */
.hero-certifications-only .cert-ebafos{
  flex:0 0 185px !important;
  width:185px !important;
  min-width:185px !important;
  height:120px !important;
  min-height:120px !important;
  padding:4px !important;
}
.hero-certifications-only .cert-ebafos img{
  width:96% !important;
  max-width:96% !important;
  height:auto !important;
  max-height:104px !important;
  object-fit:contain !important;
  transform:none !important;
  filter:none !important;
}

/* regola generale coerente */
.hero-certifications-only .cert-tile{
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(10,22,40,.06) !important;
  border:1px solid rgba(18,32,51,.06) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}

@media (max-width:1360px){
  .hero-certifications-only{
    width:min(890px, calc(100% - 54px)) !important;
    right:14px !important;
  }
  .hero-cert-logos-prominent{
    gap:3px !important;
  }
  .hero-certifications-only .cert-primary{
    flex-basis:320px !important;
    width:320px !important;
    min-width:320px !important;
    height:112px !important;
    min-height:112px !important;
  }
  .hero-certifications-only .cert-iso{
    flex-basis:158px !important;
    width:158px !important;
    min-width:158px !important;
    height:112px !important;
    min-height:112px !important;
  }
  .hero-certifications-only .cert-iso img{
    max-height:108px !important;
  }
  .hero-certifications-only .cert-ebafos{
    flex-basis:172px !important;
    width:172px !important;
    min-width:172px !important;
    height:112px !important;
    min-height:112px !important;
  }
}

@media (max-width:1200px){
  .hero-certifications-only{
    width:min(790px, calc(100% - 26px)) !important;
    right:10px !important;
    padding:6px !important;
  }
  .hero-cert-logos-prominent{
    gap:3px !important;
  }
  .hero-certifications-only .cert-primary{
    flex-basis:285px !important;
    width:285px !important;
    min-width:285px !important;
    height:98px !important;
    min-height:98px !important;
  }
  .hero-certifications-only .cert-iso{
    flex-basis:140px !important;
    width:140px !important;
    min-width:140px !important;
    height:98px !important;
    min-height:98px !important;
  }
  .hero-certifications-only .cert-iso img{
    max-height:94px !important;
  }
  .hero-certifications-only .cert-ebafos{
    flex-basis:150px !important;
    width:150px !important;
    min-width:150px !important;
    height:98px !important;
    min-height:98px !important;
  }
}

@media (max-width:900px){
  .hero-certifications-only{
    position:relative !important;
    width:auto !important;
    left:auto !important;
    right:auto !important;
    margin:18px !important;
  }
  .hero-cert-logos-prominent{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }
  .hero-certifications-only .cert-primary,
  .hero-certifications-only .cert-iso,
  .hero-certifications-only .cert-ebafos,
  .hero-certifications-only .cert-tile{
    width:auto !important;
    min-width:0 !important;
    flex:initial !important;
  }
  .hero-certifications-only .cert-primary{
    grid-column:1 / -1 !important;
  }
}
@media (max-width:560px){
  .hero-cert-logos-prominent{
    grid-template-columns:1fr !important;
  }
  .hero-certifications-only .cert-primary{
    grid-column:auto !important;
  }
}


/* ===== V12: ISO ancora più visibili e fascia più compatta ===== */
.hero-certifications-only{
  left:auto !important;
  right:16px !important;
  width:min(1015px, calc(100% - 34px)) !important;
  padding:6px 6px !important;
  border-radius:28px !important;
  box-sizing:border-box !important;
}
.hero-cert-logos-prominent{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:2px !important;
}
.hero-certifications-only .cert-tile{
  border-radius:16px !important;
  padding:1px !important;
  min-height:126px !important;
  height:126px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.hero-certifications-only .cert-primary{
  flex:0 0 365px !important;
  width:365px !important;
  min-width:365px !important;
}
.hero-certifications-only .cert-primary img{
  width:96% !important;
  max-width:96% !important;
  max-height:108px !important;
  height:auto !important;
  object-fit:contain !important;
}
.hero-certifications-only .cert-iso{
  flex:0 0 158px !important;
  width:158px !important;
  min-width:158px !important;
}
.hero-certifications-only .cert-iso img{
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:120px !important;
  object-fit:contain !important;
  image-rendering:-webkit-optimize-contrast !important;
  image-rendering:auto !important;
}
.hero-certifications-only .cert-ebafos{
  flex:0 0 196px !important;
  width:196px !important;
  min-width:196px !important;
}
.hero-certifications-only .cert-ebafos img{
  width:98% !important;
  max-width:98% !important;
  max-height:110px !important;
  height:auto !important;
  object-fit:contain !important;
}
@media (max-width:1360px){
  .hero-certifications-only{
    width:min(940px, calc(100% - 28px)) !important;
    right:12px !important;
  }
  .hero-cert-logos-prominent{gap:2px !important;}
  .hero-certifications-only .cert-tile{min-height:118px !important; height:118px !important;}
  .hero-certifications-only .cert-primary{flex-basis:340px !important; width:340px !important; min-width:340px !important;}
  .hero-certifications-only .cert-iso{flex-basis:148px !important; width:148px !important; min-width:148px !important;}
  .hero-certifications-only .cert-iso img{max-height:112px !important;}
  .hero-certifications-only .cert-ebafos{flex-basis:182px !important; width:182px !important; min-width:182px !important;}
}
@media (max-width:1200px){
  .hero-certifications-only{
    width:min(840px, calc(100% - 20px)) !important;
    right:8px !important;
    padding:5px !important;
  }
  .hero-cert-logos-prominent{gap:2px !important;}
  .hero-certifications-only .cert-tile{min-height:104px !important; height:104px !important;}
  .hero-certifications-only .cert-primary{flex-basis:300px !important; width:300px !important; min-width:300px !important;}
  .hero-certifications-only .cert-primary img{max-height:92px !important;}
  .hero-certifications-only .cert-iso{flex-basis:132px !important; width:132px !important; min-width:132px !important;}
  .hero-certifications-only .cert-iso img{max-height:98px !important;}
  .hero-certifications-only .cert-ebafos{flex-basis:155px !important; width:155px !important; min-width:155px !important;}
  .hero-certifications-only .cert-ebafos img{max-height:92px !important;}
}
@media (max-width:900px){
  .hero-certifications-only{
    position:relative !important;
    width:auto !important;
    left:auto !important;
    right:auto !important;
    margin:18px !important;
  }
  .hero-cert-logos-prominent{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }
  .hero-certifications-only .cert-primary,
  .hero-certifications-only .cert-iso,
  .hero-certifications-only .cert-ebafos,
  .hero-certifications-only .cert-tile{
    width:auto !important;
    min-width:0 !important;
    flex:initial !important;
  }
  .hero-certifications-only .cert-primary{grid-column:1 / -1 !important;}
}
@media (max-width:560px){
  .hero-cert-logos-prominent{grid-template-columns:1fr !important;}
  .hero-certifications-only .cert-primary{grid-column:auto !important;}
}


/* ===== V13: aumento risoluzione e leggibilità loghi ISO ===== */
.hero-certifications-only .cert-tile.cert-iso{
  padding: 0 !important;
}
.hero-certifications-only .cert-tile.cert-iso img{
  width: auto !important;
  max-width: 92% !important;
  height: auto !important;
  max-height: 122px !important;
  object-fit: contain !important;
  transform: scale(1.08) !important;
  transform-origin: center center !important;
  image-rendering: auto !important;
}
@media (max-width:1360px){
  .hero-certifications-only .cert-tile.cert-iso img{
    max-height: 116px !important;
    transform: scale(1.07) !important;
  }
}
@media (max-width:1200px){
  .hero-certifications-only .cert-tile.cert-iso img{
    max-height: 106px !important;
    transform: scale(1.05) !important;
  }
}


/* ===== V14: ulteriormente aumentata la risoluzione di SEPLI + ISO ===== */
.hero-logo-large,
.footer-logo,
.hero-certifications-only .cert-tile.cert-iso img{
  image-rendering:auto !important;
  backface-visibility:hidden;
  -webkit-font-smoothing:antialiased;
}


/* ===== HOME: card servizi stile split con foto preferite, dimensioni home ===== */
.hero-macro-split-home{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:26px;
  max-width:660px;
}
.home-split-card{
  display:grid;
  grid-template-columns:44% 56%;
  min-height:124px;
  background:#fff;
  border-radius:22px;
  overflow:hidden;
  text-decoration:none;
  color:#17305d;
  box-shadow:0 14px 34px rgba(44,50,62,.12);
  transition:transform .18s ease, box-shadow .18s ease;
}
.home-split-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 44px rgba(44,50,62,.18);
}
.home-split-image{
  min-height:124px;
  background-size:cover;
  background-position:center;
}
.home-split-content{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:10px;
  padding:16px 14px 14px;
  background:#fff;
}
.home-split-content::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:8px;
  background:#1d4d95;
}
.service-teal .home-split-content::before{ background:#1ea7b6; }
.service-gold .home-split-content::before{ background:#e1a321; }
.service-cyan .home-split-content::before{ background:#4f88d9; }
.home-split-content h3{
  margin:0;
  padding-left:10px;
  color:#16325f;
  font-size:clamp(1.1rem,1.35vw,1.45rem);
  line-height:1.02;
  letter-spacing:-.02em;
}
.home-split-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding-left:10px;
  font-size:.9rem;
  font-weight:900;
  letter-spacing:.01em;
  color:#144b98;
}
.home-split-link strong{font-size:1.08em;}
.service-teal .home-split-link{ color:#16899a; }
.service-gold .home-split-link{ color:#cb8a0d; }
.service-cyan .home-split-link{ color:#2f67b8; }

@media (max-width: 1100px){
  .hero-macro-split-home{ grid-template-columns:1fr; max-width:none; }
  .home-split-card{ min-height:132px; }
  .home-split-image{ min-height:132px; }
}
@media (max-width: 640px){
  .home-split-card{ grid-template-columns:40% 60%; min-height:116px; }
  .home-split-image{ min-height:116px; }
  .home-split-content h3{ font-size:1.02rem; }
  .home-split-link{ font-size:.82rem; }
}


/* ===== V26: pagina Servizi con foto hero, home lasciata come v23 ===== */
.services-hero.services-hero-photo{
  position:relative;
  padding:120px clamp(24px,6vw,92px) 90px;
  color:#fff;
  background-image:linear-gradient(90deg, rgba(18,42,82,.86) 0%, rgba(23,48,93,.70) 28%, rgba(23,48,93,.25) 55%, rgba(23,48,93,.15) 100%), url('assets/images/services-hero-photo.png');
  background-size:cover;
  background-position:center center;
  overflow:hidden;
}
.services-hero.services-hero-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0) 55%, rgba(255,255,255,.05));
  pointer-events:none;
}
.services-hero-inner{
  position:relative;
  z-index:1;
  max-width:920px;
}
.services-hero .services-kicker{
  display:none !important;
}
.services-hero.services-hero-photo h1{
  margin:0;
  font-size:clamp(46px,6vw,88px);
  line-height:.96;
  letter-spacing:-.045em;
  color:#fff;
}
.services-hero.services-hero-photo p{
  margin:22px 0 0;
  max-width:860px;
  font-size:clamp(18px,1.6vw,24px);
  line-height:1.55;
  color:rgba(255,255,255,.92);
}
.services-overview-split{
  padding:32px clamp(24px,6vw,90px) 90px;
  background:#fff;
}
.services-overview-grid-split{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.services-split-card{
  display:grid;
  grid-template-columns:40% 60%;
  min-height:246px;
  background:#fff;
  border-radius:30px;
  overflow:hidden;
  text-decoration:none;
  color:#16325f;
  box-shadow:0 18px 52px rgba(15,27,48,.12);
  transition:transform .2s ease, box-shadow .2s ease;
}
.services-split-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 64px rgba(15,27,48,.18);
}
.services-split-image{
  background-size:cover;
  background-position:center;
  min-height:246px;
}
.services-split-content{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:34px 30px 28px;
  background:#fff;
}
.services-split-content::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:8px;
  background:#1d4d95;
}
.service-teal .services-split-content::before{ background:#1ea7b6; }
.service-gold .services-split-content::before{ background:#e0a320; }
.service-cyan .services-split-content::before{ background:#4e88d8; }
.services-split-content h2{
  margin:0;
  padding-left:18px;
  color:#16325f;
  font-size:clamp(32px,2.5vw,40px);
  line-height:1.02;
  letter-spacing:-.03em;
}
.services-split-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding-left:18px;
  font-size:1.02rem;
  font-weight:900;
  color:#144b98;
  letter-spacing:.01em;
}
.service-teal .services-split-link{ color:#16899a; }
.service-gold .services-split-link{ color:#c78912; }
.service-cyan .services-split-link{ color:#3068b8; }
@media (max-width: 1100px){
  .services-overview-grid-split{ grid-template-columns:1fr; }
  .services-split-card{ min-height:228px; }
}
@media (max-width: 720px){
  .services-hero.services-hero-photo{ padding:88px 22px 62px; background-position:center center; }
  .services-split-card{ grid-template-columns:42% 58%; min-height:188px; }
  .services-split-image{ min-height:188px; }
  .services-split-content{ padding:22px 18px 20px; }
  .services-split-content h2{ font-size:clamp(24px,7vw,34px); padding-left:14px; }
  .services-split-link{ font-size:.92rem; padding-left:14px; }
}
@media (max-width: 560px){
  .services-split-card{ grid-template-columns:1fr; }
  .services-split-image{ min-height:180px; }
  .services-split-content::before{ width:100%; height:6px; top:0; bottom:auto; }
  .services-split-content h2,
  .services-split-link{ padding-left:0; }
}


/* ===== V29: Storia - video originale omega SEPLI da WordPress ===== */
.omega-section{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:34px;
  align-items:center;
  background:linear-gradient(180deg,#eef4fb,#fff);
}
.omega-video-box{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:390px;
  padding:28px;
  background:#fff;
  border:1px solid rgba(6,45,112,.08);
  border-radius:34px;
  box-shadow:0 24px 60px rgba(7,28,68,.12);
  overflow:hidden;
}
.omega-video-box video{
  width:78%;
  max-width:460px;
  height:auto;
  display:block;
  border:0;
  outline:0;
}
@media(max-width:1050px){
  .omega-section{
    grid-template-columns:1fr;
  }
  .omega-video-box{
    min-height:320px;
  }
}
@media(max-width:720px){
  .omega-video-box{
    min-height:260px;
    padding:18px;
    border-radius:26px;
  }
  .omega-video-box video{
    width:88%;
  }
}


/* ===== V30: HERO STORIA con omega animata sulla destra ===== */
.story-hero{
  display:grid !important;
  grid-template-columns:minmax(0, 1.1fr) minmax(340px, .9fr) !important;
  gap:40px !important;
  align-items:center !important;
  padding:74px clamp(24px,6vw,90px) 78px !important;
  min-height:420px;
  color:var(--ink) !important;
  background:
    radial-gradient(circle at 82% 28%, rgba(42,167,223,.18), transparent 24%),
    radial-gradient(circle at 90% 72%, rgba(200,155,60,.16), transparent 22%),
    linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(248,251,255,.94) 42%, rgba(233,243,251,.98) 100%) !important;
  position:relative;
  overflow:hidden;
  border-bottom:1px solid rgba(18,32,51,.06);
}
.story-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(17,63,120,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17,63,120,.07) 1px, transparent 1px);
  background-size:34px 34px;
  opacity:.42;
  pointer-events:none;
}
.story-hero::after{
  content:"";
  position:absolute;
  right:-120px;
  top:-110px;
  width:360px;
  height:360px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(201,155,60,.20) 0%, rgba(42,167,223,.06) 46%, rgba(42,167,223,0) 72%);
  filter:blur(6px);
  pointer-events:none;
}
.story-hero-copy,
.story-hero-media{
  position:relative;
  z-index:1;
}
.story-hero .eyebrow{
  color:var(--cyan) !important;
  margin-bottom:14px;
}
.story-hero h1{
  color:var(--blue) !important;
  font-size:clamp(48px,5.5vw,88px) !important;
  line-height:.95;
  margin:0 0 18px;
}
.story-hero p:not(.eyebrow){
  margin:0;
  max-width:700px;
  color:#314861 !important;
  font-size:clamp(19px,1.8vw,28px) !important;
  line-height:1.55;
}
.story-hero-media{
  display:flex;
  justify-content:flex-end;
}
.story-omega-card{
  width:min(100%, 520px);
  min-height:300px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  border-radius:34px;
  background:linear-gradient(135deg, rgba(255,255,255,.97), rgba(241,247,252,.95));
  border:1px solid rgba(18,32,51,.08);
  box-shadow:0 24px 70px rgba(5,21,48,.13);
  position:relative;
  overflow:hidden;
}
.story-omega-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,.16), rgba(255,255,255,0) 28%, rgba(42,167,223,.05) 100%);
  pointer-events:none;
}
.story-omega-card video{
  width:min(100%, 420px);
  height:auto;
  display:block;
  position:relative;
  z-index:1;
  mix-blend-mode:multiply;
}
@media(max-width:1050px){
  .story-hero{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }
  .story-hero-media{
    justify-content:flex-start;
  }
  .story-omega-card{
    width:min(100%, 480px);
    min-height:260px;
  }
}
@media(max-width:720px){
  .story-hero{
    padding:56px 22px 58px !important;
  }
  .story-hero h1{
    font-size:clamp(38px,11vw,56px) !important;
  }
  .story-hero p:not(.eyebrow){
    font-size:18px !important;
  }
  .story-omega-card{
    min-height:220px;
    border-radius:26px;
    padding:18px;
  }
  .story-omega-card video{
    width:min(100%, 320px);
  }
}

/* ===== V31: STORIA più compatta, più colorata, timeline tutta visibile ===== */
.story-hero{
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.78fr) !important;
  gap:26px !important;
  align-items:center !important;
  padding:54px clamp(24px,5vw,72px) 52px !important;
  min-height:340px !important;
  background:
    linear-gradient(105deg, rgba(255,255,255,.97) 0%, rgba(249,251,253,.96) 42%, rgba(232,241,249,.94) 100%) !important;
}
.story-hero::before{
  background-image:
    linear-gradient(rgba(17,63,120,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17,63,120,.06) 1px, transparent 1px);
  background-size:28px 28px;
  opacity:.42;
}
.story-hero::after{
  content:"";
  position:absolute;
  right:clamp(18px,3vw,44px);
  top:34px;
  width:min(40vw, 520px);
  height:calc(100% - 68px);
  border-radius:34px;
  background:
    linear-gradient(135deg, rgba(233,125,44,.26), rgba(42,167,223,.24)),
    url('assets/images/services-hero-photo.png') center center / cover no-repeat;
  opacity:.30;
  filter:saturate(1.15);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);
  pointer-events:none;
}
.story-hero-copy{max-width:760px;}
.story-hero-copy::after{
  content:"";
  display:block;
  width:150px;
  height:6px;
  margin-top:24px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--gold), var(--cyan), #5f76ba);
}
.story-hero h1{
  font-size:clamp(40px,4.9vw,72px) !important;
  margin:0 0 14px;
}
.story-hero p:not(.eyebrow){
  max-width:620px;
  font-size:clamp(18px,1.45vw,24px) !important;
}
.story-hero-media{
  justify-content:flex-end;
}
.story-omega-card{
  width:min(100%, 420px);
  min-height:238px;
  padding:18px;
  border-radius:28px;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(18,32,51,.08);
  box-shadow:0 20px 54px rgba(5,21,48,.10);
  backdrop-filter:blur(4px);
}
.story-omega-card::before{
  background:
    linear-gradient(135deg, rgba(42,167,223,.10), rgba(255,255,255,0) 34%, rgba(233,125,44,.08) 100%);
}
.story-omega-card video{
  width:min(100%, 300px);
}

.history-section{
  background:#fff;
  padding-top:54px;
  padding-bottom:56px;
  overflow-x:visible;
}
.history-line{
  display:grid;
  grid-template-columns:repeat(12, minmax(96px, 1fr));
  gap:12px;
  min-width:0;
  padding:44px 0 0;
  align-items:start;
}
.history-line:before{
  top:16px;
  height:4px;
  background:linear-gradient(90deg, #e57f43 0%, #d8a43e 18%, #9eb554 36%, #34b5c8 62%, #2682d7 82%, #5f76ba 100%);
}
.hist-node{
  width:auto;
  min-width:0;
  padding:14px 12px 16px;
  border-radius:18px;
  background:linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
  border:1px solid #eadfcf;
  box-shadow:0 10px 28px rgba(18,32,51,.05);
}
.hist-node:before{
  top:-27px;
  left:50%;
  transform:translateX(-50%);
  width:18px;
  height:18px;
  border-width:5px;
  border-color:var(--gold);
}
.hist-node span{
  display:block;
  font-size:17px;
  line-height:1;
  margin-bottom:8px;
}
.hist-node h3{
  margin:0 0 8px;
  font-size:13px;
  line-height:1.12;
  min-height:42px;
}
.hist-node p{
  margin:0;
  font-size:11px;
  line-height:1.35;
  color:#53657c;
}

@media(max-width:1500px){
  .history-line{
    grid-template-columns:repeat(12, minmax(90px, 1fr));
    gap:10px;
  }
  .hist-node{padding:14px 12px 16px;}
  .hist-node span{font-size:17px;}
  .hist-node h3{font-size:13px; min-height:46px;}
  .hist-node p{font-size:11px;}
}

@media(max-width:1200px){
  .story-hero{
    grid-template-columns:1fr !important;
    gap:24px !important;
    min-height:auto !important;
  }
  .story-hero::after{
    width:46%;
    height:180px;
    top:24px;
    opacity:.22;
  }
  .story-hero-media{
    justify-content:flex-start;
  }
  .history-section{overflow-x:auto;}
  .history-line{
    display:flex;
    min-width:1480px;
    gap:16px;
    padding-top:52px;
  }
  .hist-node{
    width:180px;
    flex:0 0 180px;
    padding:18px 16px 18px;
  }
  .hist-node h3{font-size:15px; min-height:auto;}
  .hist-node p{font-size:12px;}
}

@media(max-width:720px){
  .story-hero{
    padding:44px 22px 44px !important;
  }
  .story-hero::after{
    display:none;
  }
  .story-hero h1{
    font-size:clamp(34px,11vw,52px) !important;
  }
  .story-hero p:not(.eyebrow){
    font-size:17px !important;
  }
  .story-hero-copy::after{
    width:110px;
    height:5px;
    margin-top:18px;
  }
  .story-omega-card{
    width:min(100%, 340px);
    min-height:210px;
    padding:16px;
    border-radius:24px;
  }
  .story-omega-card video{
    width:min(100%, 250px);
  }
}

/* ===== V32: HOME - ISO 45001 e ISO 14001 da file vettoriali PDF ===== */
.hero-certifications-only .cert-iso img{
  image-rendering:auto !important;
  object-fit:contain !important;
  max-height:128px !important;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
}
.hero-certifications-only .cert-iso{
  padding:8px 8px !important;
  background:#fff !important;
}
@media(max-width:1400px){
  .hero-certifications-only .cert-iso img{max-height:116px !important;}
}
@media(max-width:1200px){
  .hero-certifications-only .cert-iso img{max-height:104px !important;}
}


/* ===== V36: STORIA con una sola foto di sfondo, senza sovrapposizioni ===== */

/* La pagina Storia usa una foto unica continua come sfondo */
body:has(.story-hero){
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.96) 0%,
      rgba(255,255,255,.90) 36%,
      rgba(255,255,255,.64) 62%,
      rgba(255,255,255,.42) 100%),
    url('assets/images/services-hero-photo.png') center center / cover fixed no-repeat !important;
}

/* Hero pulita, trasparente, senza riquadri fotografici aggiunti */
.story-hero{
  background:transparent !important;
  padding-top:56px !important;
  padding-bottom:42px !important;
  min-height:300px !important;
  border-bottom:0 !important;
}

.story-hero::before{
  background-image:
    linear-gradient(rgba(17,63,120,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17,63,120,.045) 1px, transparent 1px) !important;
  background-size:30px 30px !important;
  opacity:.45 !important;
}

.story-hero::after{
  display:none !important;
}

.story-hero-copy{
  max-width:760px !important;
  padding:22px 28px 24px !important;
  border-radius:28px !important;
  background:rgba(255,255,255,.78) !important;
  box-shadow:0 18px 46px rgba(6,45,112,.08) !important;
  backdrop-filter:blur(8px);
}

.story-hero-copy::before{
  content:"";
  position:absolute;
  left:0;
  top:26px;
  bottom:26px;
  width:6px;
  border-radius:999px;
  background:linear-gradient(180deg, var(--cyan), var(--gold), #e57f43);
}

.story-hero-copy::after{
  content:"";
  display:block;
  width:160px;
  height:6px;
  margin-top:22px;
  border-radius:999px;
  background:linear-gradient(90deg, #e57f43, var(--gold), var(--cyan), #346fd6);
}

.story-hero h1{
  font-size:clamp(42px,5vw,74px) !important;
}

.story-hero p:not(.eyebrow){
  font-size:clamp(18px,1.55vw,24px) !important;
}

/* Omega integrata e più leggera */
.story-omega-card{
  width:min(100%, 390px) !important;
  min-height:230px !important;
  padding:18px !important;
  border-radius:30px !important;
  background:rgba(255,255,255,.78) !important;
  border:1px solid rgba(255,255,255,.55) !important;
  box-shadow:0 22px 56px rgba(6,45,112,.10) !important;
  backdrop-filter:blur(8px);
}

.story-omega-card::before{
  display:none !important;
}

.story-omega-card video{
  width:min(100%, 285px) !important;
}

/* Timeline: nessuna seconda foto, solo pannello chiaro sopra la stessa immagine */
.history-section{
  position:relative;
  background:rgba(255,255,255,.70) !important;
  backdrop-filter:blur(7px);
  overflow:hidden !important;
  padding-top:42px !important;
  padding-bottom:54px !important;
  border-top:1px solid rgba(255,255,255,.55);
}

.history-section::before,
.history-section::after{
  display:none !important;
}

.history-line{
  position:relative;
  z-index:1;
  padding-top:48px !important;
}

.history-line:before{
  height:5px !important;
  background:linear-gradient(90deg, #e57f43, #d8a43e, #34b5c8, #2682d7, #5f76ba) !important;
  box-shadow:0 8px 20px rgba(42,167,223,.14);
}

.hist-node{
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(216,164,62,.34) !important;
  box-shadow:0 12px 30px rgba(18,32,51,.06) !important;
  backdrop-filter:blur(8px);
}

.hist-node:nth-child(3n+1){
  border-top:4px solid #e57f43 !important;
}
.hist-node:nth-child(3n+2){
  border-top:4px solid var(--cyan) !important;
}
.hist-node:nth-child(3n){
  border-top:4px solid #346fd6 !important;
}

@media(max-width:1200px){
  body:has(.story-hero){
    background-attachment:scroll !important;
  }
  .history-section{
    overflow-x:auto !important;
  }
}

@media(max-width:720px){
  .story-hero{
    padding:42px 22px 34px !important;
  }
  .story-hero-copy{
    padding:20px 20px 22px !important;
  }
  .story-hero-copy::before{
    display:none;
  }
  .story-omega-card{
    width:min(100%, 330px) !important;
    min-height:205px !important;
  }
}


/* ===== V37: PAGINA CLIENTI più dinamica e colorata ===== */
.clients-page{
  background:
    radial-gradient(circle at 8% 10%, rgba(229,127,67,.11), transparent 20%),
    radial-gradient(circle at 90% 18%, rgba(42,167,223,.12), transparent 22%),
    linear-gradient(180deg, #f7f9fc 0%, #fffaf3 55%, #f4f8fc 100%);
}

.clients-hero{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:42px;
  align-items:center;
  padding:72px clamp(26px,6vw,90px) 34px;
  position:relative;
  overflow:hidden;
}
.clients-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(17,63,120,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17,63,120,.05) 1px, transparent 1px);
  background-size:36px 36px;
  opacity:.45;
  pointer-events:none;
}
.clients-hero > *{
  position:relative;
  z-index:1;
}
.clients-hero-copy{
  max-width:860px;
}
.clients-kicker{
  margin:0 0 14px;
  color:#2aa7df;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:14px;
}
.clients-hero-copy h1{
  margin:0 0 24px;
  color:#243a67;
  font-size:clamp(48px,6vw,88px);
  line-height:.94;
}
.clients-lead{
  margin:0 0 22px;
  font-size:clamp(20px,2vw,28px);
  line-height:1.55;
  color:#334155;
  max-width:980px;
}
.clients-lead.secondary{
  font-size:clamp(18px,1.6vw,24px);
  color:#213559;
  margin-top:4px;
}
.clients-profession-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:16px;
  margin-top:26px;
}
.profession-pill{
  min-height:86px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:16px 18px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(47,72,118,.10);
  border-radius:24px;
  box-shadow:0 14px 36px rgba(36,58,103,.08);
  font-size:clamp(15px,1.2vw,18px);
  font-weight:900;
  color:#243a67;
  letter-spacing:.02em;
  position:relative;
  overflow:hidden;
}
.profession-pill::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:6px;
  background:linear-gradient(180deg, #e57f43, #d8a43e, #2aa7df);
}

.clients-hero-visual{
  min-height:440px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.clients-photo-card{
  width:min(100%, 560px);
  aspect-ratio: 4 / 3;
  border-radius:34px;
  overflow:hidden;
  box-shadow:0 22px 60px rgba(36,58,103,.14);
  border:10px solid rgba(255,255,255,.88);
  position:relative;
  background:#fff;
}
.clients-photo-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(36,58,103,.08) 0%, rgba(42,167,223,.05) 48%, rgba(229,127,67,.08) 100%);
}
.clients-photo-card img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.floating-sector-card{
  position:absolute;
  min-width:170px;
  padding:16px 18px;
  border-radius:22px;
  background:rgba(255,255,255,.95);
  box-shadow:0 16px 40px rgba(36,58,103,.14);
  border:1px solid rgba(36,58,103,.08);
}
.floating-label{
  display:block;
  margin-bottom:6px;
  color:#2aa7df;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.14em;
  font-weight:900;
}
.floating-sector-card strong{
  color:#243a67;
  font-size:19px;
  line-height:1.2;
}
.floating-one{
  left:-6px;
  top:34px;
}
.floating-two{
  right:0;
  bottom:18px;
}

.clients-sector-section{
  padding:26px clamp(26px,6vw,90px) 82px;
  position:relative;
}
.clients-sector-head{
  max-width:1240px;
  margin:0 auto 34px;
}
.clients-sector-head h2{
  margin:0;
  color:#243a67;
  font-size:clamp(34px,4vw,62px);
  line-height:1.14;
  letter-spacing:-.03em;
}
.clients-sector-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:22px;
}
.sector-card{
  min-height:220px;
  background:rgba(255,255,255,.92);
  border-radius:28px;
  padding:28px 24px;
  box-shadow:0 18px 46px rgba(36,58,103,.10);
  border:1px solid rgba(36,58,103,.08);
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  transition:transform .18s ease, box-shadow .18s ease;
}
.sector-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 52px rgba(36,58,103,.16);
}
.sector-card::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:7px;
}
.sector-card::after{
  content:"";
  position:absolute;
  right:-34px;
  bottom:-34px;
  width:110px;
  height:110px;
  border-radius:50%;
  background:rgba(36,58,103,.05);
}
.sector-icon{
  position:absolute;
  top:24px;
  left:24px;
  width:62px;
  height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:20px;
  font-size:28px;
  font-weight:900;
  line-height:1;
  background:rgba(255,255,255,.88);
  box-shadow:0 10px 22px rgba(36,58,103,.08);
}
.sector-card h3{
  margin:0;
  color:#243a67;
  font-size:clamp(20px,1.45vw,26px);
  line-height:1.15;
  font-weight:900;
  text-transform:uppercase;
}

.sector-luxury::before{background:linear-gradient(90deg,#e57f43,#d8a43e);}
.sector-luxury .sector-icon{color:#b27a23;background:#fff7ea;}
.sector-facility::before{background:linear-gradient(90deg,#2aa7df,#346fd6);}
.sector-facility .sector-icon{color:#2f66c6;background:#eef8fd;}
.sector-insurance::before{background:linear-gradient(90deg,#12a99b,#4cc8bc);}
.sector-insurance .sector-icon{color:#118d83;background:#edfbf9;}
.sector-editorial::before{background:linear-gradient(90deg,#5f76ba,#2aa7df);}
.sector-editorial .sector-icon{color:#4766b0;background:#f2f5ff;}
.sector-retail::before{background:linear-gradient(90deg,#d8a43e,#e57f43);}
.sector-retail .sector-icon{color:#b37c24;background:#fff7eb;}
.sector-airport::before{background:linear-gradient(90deg,#346fd6,#2aa7df);}
.sector-airport .sector-icon{color:#2c62c0;background:#eef5ff;}
.sector-religious::before{background:linear-gradient(90deg,#12a99b,#2aa7df);}
.sector-religious .sector-icon{color:#168c8d;background:#eefcfb;}
.sector-public::before{background:linear-gradient(90deg,#5f76ba,#12a99b);}
.sector-public .sector-icon{color:#4464b0;background:#f1f4ff;}

@media(max-width:1150px){
  .clients-hero{
    grid-template-columns:1fr;
    gap:28px;
    padding-bottom:24px;
  }
  .clients-hero-visual{
    min-height:350px;
  }
  .clients-profession-grid,
  .clients-sector-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}
@media(max-width:720px){
  .clients-hero{
    padding:54px 22px 22px;
  }
  .clients-profession-grid,
  .clients-sector-grid{
    grid-template-columns:1fr;
  }
  .clients-hero-visual{
    min-height:280px;
  }
  .clients-photo-card{
    border-width:7px;
    border-radius:26px;
  }
  .floating-sector-card{
    min-width:138px;
    padding:12px 14px;
    border-radius:18px;
  }
  .clients-sector-section{
    padding:18px 22px 64px;
  }
  .sector-card{
    min-height:170px;
  }
}


/* ===== V39: CLIENTI più compatta, settori visibili subito ===== */
.clients-hero{
  grid-template-columns: 1.05fr .9fr;
  gap: 28px;
  align-items: center;
  padding: 44px clamp(24px,4vw,72px) 14px;
}
.clients-hero-copy{
  max-width: 760px;
}
.clients-kicker{
  margin: 0 0 10px;
}
.clients-hero-copy h1{
  margin: 0 0 16px;
  font-size: clamp(42px,5.2vw,78px);
}
.clients-lead{
  margin: 0 0 14px;
  font-size: clamp(16px,1.55vw,22px);
  line-height: 1.45;
  max-width: 830px;
}
.clients-lead.secondary{
  margin-top: 0;
  font-size: clamp(16px,1.35vw,20px);
}
.clients-profession-grid{
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
  margin-top: 18px;
  max-width: 760px;
}
.profession-pill{
  min-height: 72px;
  border-radius: 20px;
  padding: 14px 16px;
  font-size: clamp(14px,1.05vw,17px);
}
.clients-hero-visual{
  min-height: 320px;
}
.clients-photo-card{
  width: min(100%, 500px);
  aspect-ratio: 1.28 / 1;
  border-radius: 28px;
  border-width: 8px;
}
.clients-sector-section{
  padding: 8px clamp(24px,4vw,72px) 56px;
}
.clients-sector-head{
  max-width: 1180px;
  margin: 0 auto 18px;
}
.clients-sector-head h2{
  font-size: clamp(28px,3vw,48px);
  line-height: 1.08;
}
.clients-sector-grid{
  gap: 18px;
}
.sector-card{
  min-height: 170px;
  padding: 22px 20px;
  border-radius: 24px;
}
.sector-icon{
  top: 18px;
  left: 18px;
  width: 52px;
  height: 52px;
  border-radius: 16px;
  font-size: 24px;
}
.sector-card h3{
  font-size: clamp(18px,1.2vw,22px);
}
@media(max-width:1150px){
  .clients-hero{
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 38px 22px 10px;
  }
  .clients-profession-grid{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .clients-hero-visual{
    min-height: 280px;
  }
  .clients-sector-section{
    padding: 8px 22px 50px;
  }
}
@media(max-width:720px){
  .clients-hero-copy h1{
    font-size: clamp(38px,12vw,58px);
  }
  .clients-profession-grid,
  .clients-sector-grid{
    grid-template-columns: 1fr;
  }
  .profession-pill{
    min-height: 64px;
  }
  .clients-photo-card{
    width: min(100%, 420px);
  }
  .clients-sector-head h2{
    font-size: clamp(24px,8vw,34px);
  }
}


/* ===== V40: CLIENTI più compatta con foto di sfondo e card più eleganti ===== */
.clients-hero{
  grid-template-columns: 1fr;
  gap: 0;
  padding: 34px clamp(22px,4vw,64px) 8px;
  background:
    linear-gradient(90deg, rgba(255,250,244,.96) 0%, rgba(255,251,246,.93) 44%, rgba(244,249,255,.78) 68%, rgba(238,246,255,.70) 100%),
    url('assets/images/services-hero-photo.png') right center / cover no-repeat;
  border-bottom: 1px solid rgba(36,58,103,.06);
}
.clients-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:120px;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,248,240,.72) 100%);
  pointer-events:none;
}
.clients-hero-copy{
  max-width: 980px;
}
.clients-kicker{
  margin: 0 0 8px;
  font-size: 13px;
}
.clients-hero-copy h1{
  margin: 0 0 14px;
  font-size: clamp(38px,4.7vw,74px);
  line-height: .95;
}
.clients-lead{
  margin: 0 0 10px;
  max-width: 880px;
  font-size: clamp(15px,1.38vw,20px);
  line-height: 1.42;
}
.clients-lead.secondary{
  font-size: clamp(15px,1.22vw,18px);
  margin-bottom: 0;
}
.clients-profession-grid{
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 10px;
  max-width: 980px;
  margin-top: 14px;
}
.profession-pill{
  min-height: 62px;
  padding: 12px 14px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.88));
  border: 1px solid rgba(218,184,126,.26);
  box-shadow: 0 12px 28px rgba(36,58,103,.08);
  color: #213b6b;
  font-size: clamp(13px,0.95vw,16px);
  letter-spacing: .03em;
}
.profession-pill::before{
  width: 5px;
  background: linear-gradient(180deg, #ef8c4a 0%, #d7aa43 48%, #34b5e8 100%);
}
.profession-pill::after{
  content:"";
  position:absolute;
  right:14px;
  top:14px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:rgba(52,181,232,.9);
  box-shadow:0 0 0 6px rgba(52,181,232,.10);
}
.clients-hero-visual{
  display:none;
}
.clients-sector-section{
  padding: 4px clamp(22px,4vw,64px) 54px;
}
.clients-sector-head{
  max-width: 1320px;
  margin: 0 auto 14px;
}
.clients-sector-head h2{
  font-size: clamp(26px,2.6vw,42px);
}
@media(max-width: 1200px){
  .clients-profession-grid{
    grid-template-columns: repeat(2, minmax(0,1fr));
    max-width: 760px;
  }
}
@media(max-width: 720px){
  .clients-hero{
    padding: 28px 18px 8px;
    background-position: 72% center;
  }
  .clients-profession-grid{
    grid-template-columns: 1fr;
    max-width: 100%;
  }
  .profession-pill{
    min-height: 58px;
  }
  .clients-sector-section{
    padding: 0 18px 48px;
  }
}


/* ===== V41: CLIENTI con card settori fotografiche ===== */
.clients-sector-grid{
  gap: 18px;
}
.sector-card{
  min-height: 220px;
  padding: 0;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.55);
  box-shadow: 0 18px 38px rgba(36,58,103,.12);
  background-color: #dce6f2;
  background-size: cover;
  background-position: center center;
  isolation: isolate;
}
.sector-card::before{
  content: "";
  position: absolute;
  inset: 0;
  height: auto;
  background:
    linear-gradient(180deg, rgba(16,34,63,.05) 0%, rgba(16,34,63,.08) 38%, rgba(16,34,63,.58) 100%),
    linear-gradient(90deg, rgba(255,255,255,.00) 42%, rgba(255,255,255,.08) 100%);
  z-index: 0;
}
.sector-card::after{
  content: "";
  position: absolute;
  inset: 0;
  border-top: 4px solid rgba(255,255,255,.65);
  background: none;
  z-index: 1;
  pointer-events: none;
}
.sector-card:hover{
  transform: translateY(-5px);
  box-shadow: 0 24px 46px rgba(36,58,103,.18);
}
.sector-icon{display:none;}
.sector-card h3{
  position: relative;
  z-index: 2;
  margin: 0;
  width: 100%;
  padding: 56px 18px 18px;
  color: #fff;
  font-size: clamp(18px,1.18vw,22px);
  line-height: 1.12;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .02em;
  text-shadow: 0 2px 10px rgba(0,0,0,.22);
}
.sector-card h3::before{
  content: "";
  position: absolute;
  left: 18px;
  top: 18px;
  width: 56px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ef8c4a 0%, #d9a53e 48%, #27a8df 100%);
}
.sector-luxury{background-image:url('assets/images/clienti-lusso.png');}
.sector-facility{background-image:url('assets/images/clienti-facility.png');}
.sector-insurance{background-image:url('assets/images/clienti-assicurazioni.png');}
.sector-editorial{background-image:url('assets/images/clienti-editoria.png');}
.sector-retail{background-image:url('assets/images/clienti-retail.png');}
.sector-airport{background-image:url('assets/images/clienti-aeroportuale-v266.png');}
.sector-religious{background-image:url('assets/images/clienti-istituti-religiosi.png');}
.sector-public{background-image:url('assets/images/clienti-pubblica-amministrazione.png');}
@media(max-width:1150px){
  .sector-card{min-height: 200px;}
}
@media(max-width:720px){
  .sector-card{min-height: 180px;}
  .sector-card h3{padding: 54px 16px 16px;}
}


/* ===== V42: CLIENTI - card settori solo foto + titolo ===== */
.clients-sector-grid{
  gap:18px !important;
}

.sector-card{
  min-height:210px !important;
  padding:0 !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:flex-start !important;
  border-radius:24px !important;
  overflow:hidden !important;
  border:1px solid rgba(255,255,255,.72) !important;
  background-size:cover !important;
  background-position:center center !important;
  box-shadow:0 18px 42px rgba(36,58,103,.13) !important;
}

.sector-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  height:auto !important;
  background:linear-gradient(180deg, rgba(6,20,38,.04) 0%, rgba(6,20,38,.10) 42%, rgba(6,20,38,.54) 100%) !important;
  z-index:0 !important;
}

.sector-card::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:none !important;
  border-top:0 !important;
  pointer-events:none !important;
}

.sector-icon{
  display:none !important;
}

.sector-card h3{
  position:relative !important;
  z-index:2 !important;
  margin:0 !important;
  width:100% !important;
  padding:18px 20px !important;
  background:linear-gradient(90deg, rgba(255,255,255,.94), rgba(255,255,255,.82)) !important;
  color:#243a67 !important;
  font-size:clamp(18px,1.15vw,23px) !important;
  line-height:1.12 !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.02em !important;
  text-shadow:none !important;
  border-top:4px solid transparent !important;
  border-image:linear-gradient(90deg,#ef8c4a,#d9a53e,#27a8df) 1 !important;
  backdrop-filter:blur(8px);
}

.sector-card h3::before{
  display:none !important;
}

.sector-card:hover{
  transform:translateY(-5px) !important;
  box-shadow:0 26px 54px rgba(36,58,103,.18) !important;
}

@media(max-width:1150px){
  .sector-card{
    min-height:200px !important;
  }
}

@media(max-width:720px){
  .sector-card{
    min-height:180px !important;
  }
  .sector-card h3{
    padding:16px 18px !important;
  }
}


/* ===== V43: CLIENTI hero sistemato, più elegante e compatto ===== */
.clients-page{
  background: linear-gradient(180deg,#fbfcfe 0%, #f6f9fd 100%);
}

.clients-hero{
  display:grid !important;
  grid-template-columns: minmax(0,1.12fr) minmax(320px,.88fr) !important;
  gap: 28px !important;
  align-items: center !important;
  padding: 28px clamp(24px,4vw,56px) 18px !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(239,140,74,.10), transparent 20%),
    radial-gradient(circle at 100% 100%, rgba(42,167,223,.10), transparent 22%),
    linear-gradient(90deg, rgba(255,251,247,.96) 0%, rgba(255,255,255,.94) 44%, rgba(240,248,255,.96) 100%) !important;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(36,58,103,.08);
}
.clients-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(36,58,103,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(36,58,103,.045) 1px, transparent 1px);
  background-size: 32px 32px;
  opacity: .32;
  pointer-events:none;
}
.clients-hero::after{
  display:none !important;
}
.clients-hero > *{
  position: relative;
  z-index: 1;
}
.clients-hero-copy{
  max-width: 860px !important;
}
.clients-kicker{
  margin:0 0 8px !important;
  font-size: 13px !important;
  letter-spacing: .18em !important;
  color:#22a4df !important;
}
.clients-hero-copy h1{
  margin:0 0 12px !important;
  font-size: clamp(42px,5.2vw,72px) !important;
  line-height: .93 !important;
  color:#213d72 !important;
}
.clients-lead{
  margin:0 0 10px !important;
  max-width: 780px !important;
  font-size: clamp(15px,1.25vw,18px) !important;
  line-height:1.45 !important;
  color:#243a67 !important;
}
.clients-lead.secondary{
  margin-bottom: 12px !important;
  color:#2f456f !important;
  font-size: clamp(15px,1.15vw,17px) !important;
}
.clients-profession-grid{
  display:grid !important;
  grid-template-columns: repeat(2, minmax(190px, 1fr)) !important;
  gap: 12px !important;
  max-width: 760px !important;
  margin-top: 0 !important;
}
.profession-pill{
  min-height: 72px !important;
  padding: 16px 20px 16px 24px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.87) !important;
  color:#223c6c !important;
  border:1px solid rgba(197,212,230,.85) !important;
  box-shadow: 0 14px 28px rgba(36,58,103,.08) !important;
  font-size: clamp(14px,1vw,18px) !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  backdrop-filter: blur(7px);
}
.profession-pill::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:12px !important;
  bottom:12px !important;
  width:5px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg,#ef8c4a 0%, #d4ac47 48%, #2aa7df 100%) !important;
}
.profession-pill::after{
  display:none !important;
}
.clients-hero-visual{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
}
.clients-photo-card{
  display:block !important;
  width:min(100%, 480px) !important;
  border-radius: 30px !important;
  overflow:hidden !important;
  position:relative !important;
  background: #fff !important;
  padding: 10px !important;
  box-shadow: 0 22px 48px rgba(36,58,103,.14) !important;
  border:1px solid rgba(255,255,255,.85) !important;
}
.clients-photo-card::before{
  content:"";
  position:absolute;
  inset:-50px auto auto -40px;
  width:120px;
  height:120px;
  background: radial-gradient(circle, rgba(239,140,74,.28), rgba(239,140,74,0));
  pointer-events:none;
}
.clients-photo-card::after{
  content:"" !important;
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  bottom:18px !important;
  height:72px !important;
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(8,28,56,.18)) !important;
  border-radius: 0 0 22px 22px !important;
}
.clients-photo-card img{
  display:block !important;
  width:100% !important;
  aspect-ratio: 16 / 10;
  object-fit: cover !important;
  border-radius: 22px !important;
  filter: saturate(1.06) contrast(1.02);
}
.clients-sector-section{
  padding: 8px clamp(24px,4vw,56px) 56px !important;
}
.clients-sector-head{
  margin: 0 auto 8px !important;
  max-width: 1320px !important;
}
.clients-sector-head h2{
  margin: 0 !important;
  max-width: 1200px;
  font-size: clamp(28px,2.85vw,50px) !important;
  line-height: 1.03 !important;
  color:#223d72 !important;
}

@media (max-width: 1100px){
  .clients-hero{
    grid-template-columns: 1fr !important;
    gap:18px !important;
  }
  .clients-hero-visual{
    order:-1;
  }
  .clients-photo-card{
    width:min(100%, 540px) !important;
  }
}
@media (max-width: 720px){
  .clients-hero{
    padding: 24px 18px 14px !important;
  }
  .clients-profession-grid{
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }
  .profession-pill{
    min-height: 56px !important;
    padding:14px 18px 14px 22px !important;
  }
  .clients-sector-section{
    padding: 6px 18px 44px !important;
  }
}


/* ===== V44: CLIENTI hero senza foto a destra, testo su tutta larghezza ===== */
.clients-page{
  background: linear-gradient(180deg,#fbfcfe 0%, #f5f8fc 100%);
}
.clients-hero{
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  padding: 30px clamp(28px,4.6vw,60px) 24px !important;
  min-height: 420px;
  align-items: start !important;
  background:
    linear-gradient(90deg, rgba(252,248,243,.97) 0%, rgba(252,248,243,.95) 36%, rgba(248,250,252,.88) 62%, rgba(240,246,252,.74) 100%),
    url('assets/images/hero-architectural-fade.png') center right / cover no-repeat !important;
  position: relative;
  overflow: hidden;
}
.clients-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(36,58,103,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(36,58,103,.04) 1px, transparent 1px);
  background-size: 32px 32px;
  opacity:.5;
  pointer-events:none;
}
.clients-hero::after{
  content:"";
  position:absolute;
  right:-120px;
  top:-80px;
  width:440px;
  height:440px;
  background: radial-gradient(circle, rgba(42,167,223,.15) 0%, rgba(42,167,223,0) 68%);
  pointer-events:none;
}
.clients-hero > *{ position:relative; z-index:1; }
.clients-hero-visual{ display:none !important; }
.clients-hero-copy{
  max-width: 1220px !important;
}
.clients-kicker{
  margin-bottom: 8px !important;
  font-size: 14px !important;
  letter-spacing: .18em !important;
  color:#22a4df !important;
}
.clients-hero-copy h1{
  margin:0 0 16px !important;
  font-size: clamp(52px,7vw,84px) !important;
  line-height: .92 !important;
  color:#203d72 !important;
  max-width: 760px;
}
.clients-lead,
.clients-lead.secondary{
  max-width: 1220px !important;
  font-size: clamp(16px,1.35vw,20px) !important;
  line-height: 1.46 !important;
  color:#233b67 !important;
}
.clients-lead{ margin-bottom: 10px !important; }
.clients-lead.secondary{ margin-bottom: 16px !important; }
.clients-profession-grid{
  grid-template-columns: repeat(4, minmax(180px,1fr)) !important;
  max-width: 1180px !important;
  gap: 12px !important;
}
.profession-pill{
  min-height: 78px !important;
  padding: 16px 18px 16px 26px !important;
  justify-content: center !important;
  text-align: center !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(191,208,226,.85) !important;
  box-shadow: 0 12px 24px rgba(36,58,103,.08) !important;
  backdrop-filter: blur(6px);
}
.profession-pill::before{
  left:0 !important;
  top:10px !important;
  bottom:10px !important;
  width:6px !important;
  border-radius:999px !important;
  background: linear-gradient(180deg,#ef8c4a 0%, #d8b04a 46%, #2aa7df 100%) !important;
}
.profession-pill span,
.profession-pill{
  font-size: clamp(14px,1vw,18px) !important;
  font-weight: 900 !important;
  letter-spacing: .035em !important;
  color:#223d72 !important;
}
.clients-sector-section{
  padding-top: 12px !important;
}
.clients-sector-head{
  margin-top: 0 !important;
}
.clients-sector-head h2{
  font-size: clamp(30px,3vw,58px) !important;
  max-width: 1280px !important;
}
@media (max-width: 1100px){
  .clients-hero{
    min-height: auto;
    padding: 26px 22px 20px !important;
    background:
      linear-gradient(180deg, rgba(252,248,243,.96) 0%, rgba(247,250,253,.93) 100%),
      url('assets/images/hero-architectural-fade.png') center / cover no-repeat !important;
  }
  .clients-hero-copy h1{
    max-width: none;
  }
  .clients-profession-grid{
    grid-template-columns: repeat(2, minmax(180px,1fr)) !important;
    max-width: 900px !important;
  }
}
@media (max-width: 700px){
  .clients-hero{
    padding: 22px 18px 18px !important;
  }
  .clients-hero-copy h1{
    font-size: clamp(42px,13vw,62px) !important;
  }
  .clients-lead,
  .clients-lead.secondary{
    font-size: 16px !important;
  }
  .clients-profession-grid{
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }
}


/* ===== V45: CLIENTI più compatta e ordinata ===== */
.clients-hero{
  padding: 16px clamp(22px,3vw,44px) 12px !important;
  min-height: 250px !important;
  background:
    linear-gradient(90deg, rgba(252,249,245,.96) 0%, rgba(250,250,249,.93) 42%, rgba(242,247,252,.76) 100%),
    url('assets/images/hero-architectural-fade.png') center right / cover no-repeat !important;
}
.clients-hero::after{
  width: 320px !important;
  height: 320px !important;
  right: -90px !important;
  top: -70px !important;
  opacity: .8;
}
.clients-hero-copy{
  max-width: 1220px !important;
}
.clients-kicker{
  font-size: 13px !important;
  margin-bottom: 6px !important;
}
.clients-hero-copy h1{
  font-size: clamp(38px,4.6vw,56px) !important;
  line-height: .94 !important;
  margin: 0 0 8px !important;
  max-width: 520px !important;
}
.clients-lead,
.clients-lead.secondary{
  font-size: clamp(14px,1.02vw,16.5px) !important;
  line-height: 1.36 !important;
  max-width: 1180px !important;
}
.clients-lead{ margin-bottom: 6px !important; }
.clients-lead.secondary{ margin-bottom: 12px !important; }
.clients-profession-grid{
  grid-template-columns: repeat(4, minmax(150px,1fr)) !important;
  gap: 8px !important;
  max-width: 1060px !important;
  margin-top: 4px !important;
}
.profession-pill{
  min-height: 56px !important;
  padding: 10px 14px 10px 20px !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 18px rgba(36,58,103,.06) !important;
}
.profession-pill::before{
  top: 8px !important;
  bottom: 8px !important;
  width: 5px !important;
}
.profession-pill span,
.profession-pill{
  font-size: clamp(12px,0.9vw,15px) !important;
  letter-spacing: .02em !important;
}
.clients-sector-section{
  padding: 34px clamp(20px,3vw,42px) 40px !important;
}

.clients-sector-head{
  max-width: 1120px !important;
  margin: 0 auto 20px !important;
}

.clients-sector-head h2{
  font-size: clamp(22px,2.2vw,34px) !important;
  line-height: 1.12 !important;
  max-width: 980px !important;
  margin: 0 !important;
}

.clients-sector-grid{
  gap: 14px !important;
  margin-top: 14px !important;
}

.sector-card{
  min-height: 185px !important;
  padding: 14px 14px 16px !important;
  border-radius: 22px !important;
  box-shadow: 0 12px 26px rgba(36,58,103,.08) !important;
}
.sector-card::before{
  height: 5px !important;
}
.sector-card h3{
  font-size: clamp(17px,1.02vw,21px) !important;
  line-height: 1.12 !important;
}
/* riduci spazio bianco sopra le foto nelle card settore */
.sector-card .sector-image,
.sector-card img{
  border-radius: 16px !important;
}
@media (max-width: 1200px){
  .clients-profession-grid{
    grid-template-columns: repeat(2, minmax(180px,1fr)) !important;
    max-width: 760px !important;
  }
}
@media (max-width: 720px){
  .clients-hero{
    padding: 22px 16px 16px !important;
    min-height: auto !important;
  }
  .clients-hero-copy h1{
    font-size: clamp(38px,11vw,54px) !important;
  }
  .clients-lead,
  .clients-lead.secondary{
    font-size: 15px !important;
  }
  .clients-profession-grid,
  .clients-sector-grid{
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }
  .clients-sector-head h2{
    font-size: clamp(24px,8vw,34px) !important;
  }
}


/* ===== V49: CLIENTI cartellina colorata per le professionalità ===== */
.clients-hero{
  padding: 16px clamp(22px,3vw,44px) 28px !important;
  min-height: 270px !important;
  overflow: visible !important;
}
.clients-hero-copy{
  max-width: 1280px !important;
}
.clients-hero-copy h1{
  margin-bottom: 10px !important;
}
.clients-lead,
.clients-lead.secondary{
  max-width: 1160px !important;
}
.clients-profession-folder{
  position: relative;
  max-width: 1120px;
  margin-top: 18px;
  padding: 28px 20px 20px;
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(255,246,236,.96) 0%, rgba(241,249,255,.94) 100%);
  border: 1px solid rgba(177,196,220,.55);
  box-shadow: 0 18px 36px rgba(33,53,95,.08);
}
.clients-profession-folder::after{
  content:"";
  position:absolute;
  inset: 0;
  border-radius: 24px;
  padding: 2px;
  background: linear-gradient(90deg, rgba(242,155,67,.9), rgba(92,200,171,.85), rgba(76,153,255,.85));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events:none;
  opacity:.75;
}
.clients-profession-folder__tab{
  position:absolute;
  top:-18px;
  left:24px;
  padding: 10px 18px 9px;
  border-radius: 14px 14px 0 0;
  background: linear-gradient(90deg, rgba(242,155,67,.92) 0%, rgba(99,190,255,.92) 100%);
  color: #173b74;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
  box-shadow: 0 10px 20px rgba(36,58,103,.12);
}
.clients-profession-grid{
  grid-template-columns: repeat(4, minmax(150px,1fr)) !important;
  gap: 10px !important;
  max-width: none !important;
  margin-top: 0 !important;
}
.profession-pill{
  min-height: 58px !important;
  background: rgba(255,255,255,.82) !important;
  border: 1px solid rgba(173,194,218,.55) !important;
  box-shadow: 0 8px 18px rgba(36,58,103,.06) !important;
}
.clients-sector-section{
  padding: 52px clamp(20px,3vw,42px) 42px !important;
}
.clients-sector-head{
  max-width: 1080px !important;
  margin: 0 auto 24px !important;
}
.clients-sector-head h2{
  font-size: clamp(22px,2.1vw,32px) !important;
  line-height: 1.12 !important;
  max-width: 900px !important;
}
@media (max-width: 1200px){
  .clients-profession-folder{
    max-width: 820px;
  }
  .clients-profession-grid{
    grid-template-columns: repeat(2, minmax(180px,1fr)) !important;
  }
}
@media (max-width: 720px){
  .clients-profession-folder{
    padding: 24px 14px 14px;
    border-radius: 18px;
  }
  .clients-profession-folder__tab{
    left: 16px;
    top: -14px;
    padding: 8px 12px 7px;
    font-size: 10px;
  }
  .clients-profession-grid{
    grid-template-columns: 1fr !important;
  }
  .clients-sector-section{
    padding-top: 34px !important;
  }
}


/* ===== V50: Pagina Ingegneria e Architettura - elenco servizi semplice ===== */
.service-simple-section{
  padding:56px clamp(24px,5vw,78px) 72px;
  background:
    radial-gradient(circle at 8% 10%, rgba(42,167,223,.08), transparent 28%),
    radial-gradient(circle at 92% 20%, rgba(216,164,62,.10), transparent 24%),
    linear-gradient(180deg,#ffffff 0%,#f6f9fd 100%);
}

.service-simple-head{
  max-width:1080px;
  margin:0 auto 26px;
}

.service-simple-head .eyebrow{
  color:#c89b3c;
  margin-bottom:10px;
}

.service-simple-head h2{
  margin:0 0 14px;
  color:#062d70;
  font-size:clamp(34px,4vw,62px);
  line-height:1;
}

.service-simple-head p{
  margin:0;
  max-width:960px;
  color:#334155;
  font-size:clamp(17px,1.45vw,22px);
  line-height:1.5;
}

.service-list-card{
  max-width:1180px;
  margin:0 auto;
  padding:34px;
  border-radius:30px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(6,45,112,.10);
  box-shadow:0 18px 48px rgba(18,32,51,.08);
}

.service-check-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 22px;
}

.service-check-list li{
  position:relative;
  padding:15px 18px 15px 48px;
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  border:1px solid rgba(6,45,112,.08);
  color:#17325c;
  font-weight:700;
  line-height:1.35;
  box-shadow:0 8px 20px rgba(18,32,51,.04);
}

.service-check-list li::before{
  content:"";
  position:absolute;
  left:18px;
  top:50%;
  width:14px;
  height:14px;
  transform:translateY(-50%);
  border-radius:50%;
  background:linear-gradient(135deg,#c89b3c,#2aa7df);
  box-shadow:0 0 0 5px rgba(42,167,223,.10);
}

@media(max-width:850px){
  .service-simple-section{
    padding:42px 20px 56px;
  }
  .service-list-card{
    padding:20px;
    border-radius:24px;
  }
  .service-check-list{
    grid-template-columns:1fr;
  }
}


/* ===== V51: Hero più bassa per mostrare prima l'elenco ===== */
.service-detail-hero{
  min-height: 390px !important;
  grid-template-columns: .88fr 1.12fr !important;
}
.service-detail-copy{
  padding: 56px clamp(24px,5vw,76px) !important;
}
.service-detail-copy h1{
  font-size: clamp(42px,5vw,72px) !important;
}
.service-detail-copy p:not(.services-kicker){
  margin-top: 16px !important;
  font-size: clamp(17px,1.35vw,22px) !important;
  line-height: 1.42 !important;
}
.service-detail-image{
  min-height: 390px !important;
}
.service-simple-section{
  padding-top: 40px !important;
}
.service-simple-head{
  margin-bottom: 20px !important;
}
@media(max-width:1050px){
  .service-detail-hero{
    min-height: auto !important;
  }
  .service-detail-copy{
    padding-top: 36px !important;
    padding-bottom: 30px !important;
  }
  .service-detail-image{
    min-height: 240px !important;
  }
}


/* ===== V52: Ingegneria e Architettura - hero compatto + elenco subito visibile ===== */
.service-detail-hero{
  min-height:300px !important;
  grid-template-columns:.82fr 1.18fr !important;
}

.service-detail-copy{
  padding:34px clamp(24px,4vw,64px) !important;
}

.service-detail-copy h1{
  font-size:clamp(38px,4.4vw,62px) !important;
  line-height:.94 !important;
  letter-spacing:-.04em !important;
}

.service-detail-copy p:not(.services-kicker){
  margin-top:14px !important;
  font-size:clamp(16px,1.25vw,20px) !important;
  line-height:1.38 !important;
  max-width:620px !important;
}

.services-kicker{
  margin-bottom:12px !important;
}

.service-detail-image{
  min-height:300px !important;
}

/* sotto l'hero parte direttamente l'elenco, senza ripetere titolo/descrizione */
.service-simple-section{
  padding:26px clamp(24px,5vw,78px) 58px !important;
  background:
    radial-gradient(circle at 8% 10%, rgba(42,167,223,.07), transparent 28%),
    radial-gradient(circle at 92% 20%, rgba(216,164,62,.09), transparent 24%),
    linear-gradient(180deg,#ffffff 0%,#f7f9fd 100%) !important;
}

.service-simple-head{
  display:none !important;
}

.service-list-card{
  max-width:1180px !important;
  padding:26px !important;
  border-radius:26px !important;
}

.service-check-list{
  gap:12px 18px !important;
}

.service-check-list li{
  padding:13px 16px 13px 44px !important;
  border-radius:16px !important;
  font-size:15px !important;
}

.service-check-list li::before{
  left:17px !important;
}

@media(max-width:1050px){
  .service-detail-hero{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }

  .service-detail-copy{
    padding:30px 22px 26px !important;
  }

  .service-detail-image{
    min-height:210px !important;
  }

  .service-simple-section{
    padding:24px 20px 48px !important;
  }
}

@media(max-width:720px){
  .service-detail-copy h1{
    font-size:clamp(36px,12vw,52px) !important;
  }

  .service-list-card{
    padding:18px !important;
  }

  .service-check-list{
    grid-template-columns:1fr !important;
  }
}


/* ===== V54: Collegamenti tra pagine servizi + card contatti ===== */
.service-cross-nav{
  padding:0 clamp(24px,5vw,78px) 68px;
  background:linear-gradient(180deg,#f7f9fd 0%,#ffffff 100%);
}

.service-cross-head{
  max-width:1180px;
  margin:0 auto 20px;
}

.service-cross-head .eyebrow{
  color:#c89b3c;
  margin:0 0 8px;
}

.service-cross-head h2{
  margin:0;
  color:#062d70;
  font-size:clamp(26px,2.7vw,44px);
  line-height:1.08;
}

.service-cross-grid{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.service-link-card{
  position:relative;
  min-height:170px;
  padding:22px 20px;
  border-radius:24px;
  text-decoration:none;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(6,45,112,.10);
  box-shadow:0 14px 34px rgba(18,32,51,.08);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

.service-link-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:7px;
  background:linear-gradient(90deg,#c89b3c,#2aa7df);
}

.service-link-card::after{
  content:"";
  position:absolute;
  right:-42px;
  bottom:-42px;
  width:130px;
  height:130px;
  border-radius:50%;
  background:rgba(42,167,223,.10);
}

.service-link-card:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 46px rgba(18,32,51,.13);
  border-color:rgba(6,45,112,.18);
}

.service-link-number{
  position:absolute;
  top:22px;
  left:20px;
  width:42px;
  height:42px;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  color:#062d70;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(6,45,112,.08);
  box-shadow:0 8px 18px rgba(18,32,51,.06);
}

.service-link-card strong{
  position:relative;
  z-index:1;
  color:#062d70;
  font-size:clamp(19px,1.35vw,25px);
  line-height:1.12;
  margin-bottom:10px;
}

.service-link-card em{
  position:relative;
  z-index:1;
  color:#53657c;
  font-style:normal;
  font-size:14px;
  line-height:1.35;
}

.service-link-blue::before{background:linear-gradient(90deg,#244f91,#2aa7df);}
.service-link-teal::before{background:linear-gradient(90deg,#147a7a,#2aa7df);}
.service-link-gold::before{background:linear-gradient(90deg,#c89b3c,#e57f43);}
.service-link-cyan::before{background:linear-gradient(90deg,#2aa7df,#5f76ba);}

.service-link-contact{
  background:linear-gradient(135deg,#062d70 0%,#244f91 60%,#2aa7df 100%);
}

.service-link-contact::before{
  background:linear-gradient(90deg,#e57f43,#c89b3c,#ffffff);
}

.service-link-contact .service-link-number{
  color:#062d70;
  background:#fff;
}

.service-link-contact strong,
.service-link-contact em{
  color:#fff;
}

.service-link-contact em{
  color:rgba(255,255,255,.82);
}

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

@media(max-width:650px){
  .service-cross-nav{
    padding:0 20px 52px;
  }

  .service-cross-grid{
    grid-template-columns:1fr;
  }

  .service-link-card{
    min-height:150px;
  }
}


/* ===== V55: collegamenti servizi laterali, visibili subito ===== */

.service-content-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 300px;
  gap:24px;
  align-items:start;
  padding:28px clamp(24px,5vw,78px) 64px;
  background:
    radial-gradient(circle at 8% 10%, rgba(42,167,223,.07), transparent 28%),
    radial-gradient(circle at 92% 20%, rgba(216,164,62,.09), transparent 24%),
    linear-gradient(180deg,#ffffff 0%,#f7f9fd 100%);
}

.service-main-list{
  min-width:0;
}

.service-content-layout .service-list-card{
  max-width:none !important;
  margin:0 !important;
  padding:24px !important;
  border-radius:26px !important;
}

.service-side-nav{
  position:sticky;
  top:118px;
  padding:20px;
  border-radius:26px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(6,45,112,.10);
  box-shadow:0 18px 42px rgba(18,32,51,.08);
}

.service-side-label{
  margin:0 0 6px;
  color:#c89b3c;
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.service-side-nav h3{
  margin:0 0 16px;
  color:#062d70;
  font-size:28px;
  line-height:1.05;
}

.service-side-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.service-side-card{
  position:relative;
  display:grid;
  grid-template-columns:38px 1fr;
  align-items:center;
  gap:12px;
  min-height:70px;
  padding:14px;
  border-radius:18px;
  text-decoration:none;
  background:linear-gradient(180deg,#fff,#f8fbff);
  border:1px solid rgba(6,45,112,.09);
  box-shadow:0 8px 18px rgba(18,32,51,.04);
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease;
}

.service-side-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,#c89b3c,#2aa7df);
}

.service-side-card:hover{
  transform:translateX(4px);
  box-shadow:0 12px 26px rgba(18,32,51,.09);
}

.service-side-card span{
  width:36px;
  height:36px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#062d70;
  background:#fff;
  border:1px solid rgba(6,45,112,.10);
  font-weight:900;
  box-shadow:0 6px 14px rgba(18,32,51,.05);
}

.service-side-card strong{
  color:#062d70;
  font-size:15px;
  line-height:1.15;
}

.service-side-blue::before{background:linear-gradient(180deg,#244f91,#2aa7df);}
.service-side-teal::before{background:linear-gradient(180deg,#147a7a,#2aa7df);}
.service-side-gold::before{background:linear-gradient(180deg,#c89b3c,#e57f43);}
.service-side-cyan::before{background:linear-gradient(180deg,#2aa7df,#5f76ba);}

.service-side-contact{
  margin-top:18px;
  background:linear-gradient(135deg,#e57f43 0%, #ef8c4a 58%, #c89b3c 100%);
  box-shadow:0 14px 28px rgba(229,127,67,.24);
}

.service-side-contact::before{
  background:linear-gradient(180deg,#f6c37c,#ef8c4a,#d96a2c);
}

.service-side-contact span{
  background:#fff7ef;
  color:#d96a2c;
  border-color:rgba(217,106,44,.16);
}

.service-side-contact strong{
  color:#fff;
}

.service-cross-nav{
  display:none !important;
}

@media(max-width:1050px){
  .service-content-layout{
    grid-template-columns:1fr;
    padding:24px 20px 54px;
  }

  .service-side-nav{
    position:relative;
    top:auto;
  }

  .service-side-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:650px){
  .service-side-grid{
    grid-template-columns:1fr;
  }

  .service-content-layout .service-list-card{
    padding:18px !important;
  }
}


/* ===== V59: Contatti funzionante - hero compatto + mappa piccola vicino indirizzo ===== */
.contact-hero.compact-hero{
  padding:46px clamp(24px,6vw,90px) 42px !important;
  min-height:auto !important;
  background:linear-gradient(135deg,#1f355d 0%,#2f5872 100%) !important;
}

.contact-hero.compact-hero h1{
  font-size:clamp(42px,5vw,68px) !important;
  line-height:1.02 !important;
  margin:0 0 12px !important;
  color:#fff !important;
}

.contact-hero.compact-hero p:not(.eyebrow){
  max-width:760px !important;
  font-size:clamp(17px,1.8vw,20px) !important;
  line-height:1.45 !important;
}

.contact-page-v59{
  align-items:start !important;
}

.office-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) 230px;
  gap:22px;
  align-items:start;
  background:#fff;
  border:1px solid rgba(6,45,112,.10);
  border-radius:28px;
  padding:28px;
  box-shadow:var(--shadow);
}

.office-meta h2{
  margin:0 0 18px;
  color:var(--blue);
  font-size:28px;
}

.office-meta p{
  margin:0 0 15px;
  color:#062d70;
  line-height:1.42;
}

.office-mini-map{
  display:block;
  text-decoration:none;
  align-self:start;
}

.office-mini-map img{
  width:100%;
  height:auto;
  display:block;
  border-radius:18px;
  border:1px solid rgba(6,45,112,.12);
  background:#fff;
}

.office-mini-caption{
  margin-top:10px;
  padding:12px 14px;
  border-radius:16px;
  color:#fff;
  background:linear-gradient(135deg,#062d70,#2aa7df);
  box-shadow:0 10px 20px rgba(6,45,112,.15);
}

.office-mini-caption strong{
  display:block;
  font-size:18px;
  line-height:1.05;
  margin-bottom:4px;
}

.office-mini-caption span{
  font-size:13px;
  font-weight:800;
  color:rgba(255,255,255,.88);
}

.gdpr-consent{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:18px 0 20px;
  color:#062d70;
  font-size:15px;
  line-height:1.45;
  cursor:pointer;
}

.gdpr-consent input{
  flex:0 0 auto;
  width:22px;
  height:22px;
  margin-top:1px;
  accent-color:#062d70;
  cursor:pointer;
}

.gdpr-consent strong{
  color:#c89b3c;
  font-weight:900;
}

@media(max-width:1050px){
  .office-card{
    grid-template-columns:1fr;
  }
  .office-mini-map{
    max-width:260px;
  }
}

@media(max-width:720px){
  .contact-hero.compact-hero{
    padding:38px 22px 34px !important;
  }
  .office-card{
    padding:22px;
    border-radius:24px;
  }
}


/* ===== V60 Contatti: mappa nella fascia blu stile Martino ===== */
.contact-hero.contact-hero-map{
  padding:40px clamp(24px,5vw,80px) 34px !important;
  background:linear-gradient(135deg,#1f355d 0%, #37617b 100%) !important;
}

.contact-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:28px;
  align-items:center;
}

.contact-hero-copy h1{
  font-size:clamp(42px,5vw,72px) !important;
  line-height:1.02 !important;
  margin:0 0 14px !important;
}

.contact-hero-copy p:not(.eyebrow){
  max-width:720px !important;
  font-size:clamp(18px,1.8vw,22px) !important;
  margin:0 !important;
}

.contact-hero-map-card{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 18px 45px rgba(4,21,49,.22);
  min-height:220px;
}

.contact-hero-map-card iframe{
  display:block;
  width:100%;
  height:240px;
  border:0;
  filter:saturate(.95) contrast(1.02);
}

.contact-hero-map-link{
  position:absolute;
  left:14px;
  top:14px;
  padding:9px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#062d70;
  font-size:12px;
  font-weight:900;
  letter-spacing:.03em;
  box-shadow:0 10px 24px rgba(4,21,49,.16);
}

.office-card-no-map{
  grid-template-columns:1fr !important;
}

.office-card-no-map .office-meta h2{
  margin-bottom:20px;
}

@media(max-width:1050px){
  .contact-hero-grid{
    grid-template-columns:1fr;
  }
  .contact-hero-map-card{
    max-width:720px;
  }
}

@media(max-width:720px){
  .contact-hero.contact-hero-map{
    padding:34px 22px 30px !important;
  }
  .contact-hero-map-card iframe{
    height:220px;
  }
}


/* ===== V61 Contatti: solo mappa nella fascia blu ===== */
.contact-hero.contact-hero-map.contact-hero-map-only{
  padding:0 !important;
  background:#1f355d !important;
  overflow:hidden;
}

.contact-hero-map-only .contact-hero-map-full{
  position:relative;
  width:100%;
  height:320px;
  background:#dfe6ef;
}

.contact-hero-map-only .contact-hero-map-full iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}

.contact-hero-map-only .contact-hero-map-link{
  position:absolute;
  left:18px;
  top:18px;
  padding:8px 12px;
  border-radius:10px;
  background:rgba(255,255,255,.92);
  color:#18458a;
  font-size:14px;
  font-weight:800;
  letter-spacing:.02em;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}

@media(max-width:980px){
  .contact-hero-map-only .contact-hero-map-full{
    height:260px;
  }
}

@media(max-width:640px){
  .contact-hero-map-only .contact-hero-map-full{
    height:220px;
  }
  .contact-hero-map-only .contact-hero-map-link{
    left:12px;
    top:12px;
    font-size:13px;
    padding:7px 10px;
  }
}


/* ===== V62 Contatti: blocchi più in alto e campi modulo colorati ===== */
.contact-page.contact-page-v59{
  padding-top:52px !important;
  padding-bottom:72px !important;
  margin-top:0 !important;
  align-items:start !important;
}

.contact-page-v59 .contact-data,
.contact-page-v59 .contact-form{
  margin-top:0 !important;
}

.contact-page-v59 .office-card,
.contact-page-v59 .contact-form{
  border:1px solid rgba(6,45,112,.08);
}

.contact-page-v59 .contact-form input,
.contact-page-v59 .contact-form textarea{
  background:#edf5ff;
  border:1px solid #c9d9ee;
  color:#062d70;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.contact-page-v59 .contact-form input::placeholder,
.contact-page-v59 .contact-form textarea::placeholder{
  color:#5d7088;
}

.contact-page-v59 .contact-form input:focus,
.contact-page-v59 .contact-form textarea:focus{
  outline:none;
  background:#f8fbff;
  border-color:#2aa7df;
  box-shadow:0 0 0 4px rgba(42,167,223,.14);
}

.contact-page-v59 .contact-form textarea{
  min-height:190px;
}

@media(max-width:720px){
  .contact-page.contact-page-v59{
    padding-top:36px !important;
    padding-bottom:54px !important;
  }
}


/* ===== V63 Contatti: layout più compatto con mappa Italia a destra ===== */
.contact-hero-map-only .contact-hero-map-full{
  height:220px !important;
}

.contact-page.contact-page-v63{
  grid-template-columns:minmax(250px,.72fr) minmax(420px,1.08fr) minmax(180px,.42fr);
  gap:18px !important;
  padding-top:24px !important;
  padding-bottom:28px !important;
  align-items:start !important;
}

.contact-page-v63 .office-card,
.contact-page-v63 .contact-form,
.contact-page-v63 .contact-italy-link{
  background:#fff;
  border:1px solid rgba(6,45,112,.10);
  border-radius:24px;
  box-shadow:var(--shadow);
}

.contact-page-v63 .office-card{
  padding:22px 24px;
}

.contact-page-v63 .office-meta h2{
  margin:0 0 16px;
  font-size:24px;
}

.contact-page-v63 .office-meta p{
  margin:0 0 12px;
  font-size:15px;
  line-height:1.38;
}

.contact-page-v63 .contact-form{
  padding:18px;
}

.contact-page-v63 .contact-form input,
.contact-page-v63 .contact-form textarea{
  margin:0 0 10px;
  padding:13px 14px;
  border-radius:12px;
}

.contact-page-v63 .contact-form textarea{
  min-height:150px;
}

.contact-page-v63 .gdpr-consent{
  margin:10px 0 14px;
  gap:10px;
  font-size:13px;
  line-height:1.35;
}

.contact-page-v63 .gdpr-consent input{
  width:18px;
  height:18px;
}

.contact-page-v63 .btn.primary{
  width:100%;
  padding:14px 20px;
  border-radius:14px;
}

.contact-italy-panel{
  display:flex;
  align-items:stretch;
}

.contact-page-v63 .contact-italy-link{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  padding:10px;
  overflow:hidden;
}

.contact-page-v63 .contact-italy-link img{
  display:block;
  width:100%;
  height:auto;
  max-height:460px;
  object-fit:contain;
  border-radius:18px;
}

@media(max-width:1280px){
  .contact-page.contact-page-v63{
    grid-template-columns:minmax(240px,.8fr) minmax(390px,1fr) minmax(170px,.4fr);
  }
}

@media(max-width:1100px){
  .contact-page.contact-page-v63{
    grid-template-columns:1fr 1fr;
  }
  .contact-page-v63 .contact-italy-panel{
    grid-column:1 / -1;
  }
  .contact-page-v63 .contact-italy-link{
    max-width:260px;
  }
}

@media(max-width:720px){
  .contact-hero-map-only .contact-hero-map-full{
    height:200px !important;
  }
  .contact-page.contact-page-v63{
    grid-template-columns:1fr;
    gap:16px !important;
    padding-top:20px !important;
    padding-bottom:24px !important;
  }
  .contact-page-v63 .office-card,
  .contact-page-v63 .contact-form{
    padding:18px;
    border-radius:20px;
  }
  .contact-page-v63 .contact-italy-link{
    max-width:220px;
  }
}


/* ===== V67: footer con contatti unificati e senza colonna indirizzo ===== */
.footer-grid{
  grid-template-columns:1.35fr 1fr 1fr !important;
  align-items:start;
}

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


/* ===== V68: timeline storia aggiornata e più leggibile ===== */
.history-line{
  min-width:2550px !important;
  gap:18px !important;
}

.hist-node{
  width:142px !important;
  padding:16px 14px !important;
  border-radius:18px !important;
}

.hist-node span{
  font-size:25px !important;
}

.hist-node h3{
  font-size:15px !important;
  line-height:1.12 !important;
}

.hist-node p{
  font-size:12px !important;
  line-height:1.32 !important;
}

@media(max-width:720px){
  .history-line{
    min-width:2300px !important;
  }
  .hist-node{
    width:132px !important;
  }
}


/* ===== V69: STORIA TIMELINE COMPATTA SU UN SOLO LIVELLO ===== */
.history-section--compact{
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}

.history-compact-wrap{
  max-width: 1540px;
  margin: 0 auto;
  padding: 0 28px;
}

.history-detail-card{
  max-width: 980px;
  margin: 0 auto 34px auto;
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(27,73,148,0.12);
  border-radius: 24px;
  box-shadow: 0 14px 38px rgba(14,33,66,0.08);
  padding: 24px 28px 22px;
  text-align: center;
}

.history-detail-year{
  font-size: 40px;
  line-height: 1;
  font-weight: 800;
  color: #143f8f;
  margin-bottom: 8px;
}

.history-detail-title{
  margin: 0 0 10px 0;
  font-size: 24px;
  line-height: 1.15;
  color: #153a78;
  font-weight: 800;
}

.history-detail-desc{
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: #40516d;
}

.history-timeline-shell{
  position: relative;
  padding: 28px 0 10px;
}

.history-timeline-line{
  position: absolute;
  left: 10px;
  right: 10px;
  top: 41px;
  height: 4px;
  border-radius: 99px;
  background: linear-gradient(90deg,#ef8d4f 0%, #d2a737 20%, #6db18b 55%, #37b2df 80%, #2e73ff 100%);
}

.history-timeline-grid{
  display: grid;
  grid-template-columns: repeat(16, minmax(72px, 1fr));
  gap: 10px;
  align-items: start;
}

.timeline-dot{
  position: relative;
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  min-height: 88px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

.timeline-dot-circle{
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 4px solid #c7962e;
  background: #ffffff;
  box-shadow: 0 0 0 5px rgba(255,255,255,0.7);
  transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
  margin-bottom: 16px;
  z-index: 2;
}

.timeline-dot-year{
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .01em;
  color: #1f4589;
  line-height: 1.15;
  transition: color .18s ease, transform .18s ease;
}

.timeline-dot:hover .timeline-dot-circle,
.timeline-dot:focus .timeline-dot-circle,
.timeline-dot.is-active .timeline-dot-circle{
  transform: scale(1.16);
  background: #1f67ff;
  border-color: #1f67ff;
  box-shadow: 0 0 0 6px rgba(31,103,255,0.12);
}

.timeline-dot:hover .timeline-dot-year,
.timeline-dot:focus .timeline-dot-year,
.timeline-dot.is-active .timeline-dot-year{
  color: #0e326e;
  transform: translateY(-1px);
}

.timeline-dot:focus-visible{
  outline: none;
}

.history-timeline-note{
  margin-top: 6px;
  text-align: center;
  font-size: 13px;
  color: #6a7890;
}

@media (max-width: 1280px){
  .history-timeline-grid{
    grid-template-columns: repeat(16, minmax(78px, 1fr));
    width: max-content;
    min-width: 100%;
  }
  .history-timeline-shell{
    overflow-x: auto;
    padding-bottom: 18px;
  }
  .history-timeline-line{
    width: 1360px;
    right: auto;
  }
}

@media (max-width: 900px){
  .history-detail-card{
    padding: 20px 18px;
    margin-bottom: 26px;
  }
  .history-detail-year{
    font-size: 34px;
  }
  .history-detail-title{
    font-size: 21px;
  }
  .history-detail-desc{
    font-size: 14px;
  }
}


/* ===== V70: pagina Clienti più elegante e meno carica ===== */
.clients-page{
  background:linear-gradient(180deg,#f8fafc 0%,#ffffff 46%,#f4f7fb 100%) !important;
}

.clients-hero{
  display:block !important;
  min-height:auto !important;
  padding:34px clamp(28px,5vw,80px) 34px !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.88) 46%, rgba(255,255,255,.68) 100%),
    url('assets/images/hero-architectural-fade.png') right center / cover no-repeat !important;
  border-bottom:1px solid rgba(6,45,112,.08);
}

.clients-hero::before{
  opacity:.22 !important;
}

.clients-hero-copy{
  max-width:1120px !important;
}

.clients-kicker{
  margin-bottom:8px !important;
  color:#2aa7df !important;
  font-size:12px !important;
}

.clients-hero-copy h1{
  font-size:clamp(38px,4.2vw,62px) !important;
  margin:0 0 10px !important;
  color:#173b74 !important;
  letter-spacing:-.045em !important;
}

.clients-lead{
  max-width:980px !important;
  margin:0 0 18px !important;
  font-size:clamp(15px,1.22vw,18px) !important;
  line-height:1.42 !important;
  color:#17325c !important;
}

.clients-profession-folder{
  display:none !important;
}

.clients-profession-panel{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  max-width:1040px;
  padding:0;
  margin-top:14px;
}

.profession-chip{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:12px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(21,58,120,.14);
  color:#173b74;
  font-weight:850;
  letter-spacing:.02em;
  box-shadow:0 10px 26px rgba(24,45,85,.06);
  position:relative;
  overflow:hidden;
}

.profession-chip::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(180deg,#e57f43,#d8a43e,#2aa7df);
}

.clients-hero-visual{
  display:none !important;
}

.clients-sector-section{
  padding:44px clamp(28px,5vw,80px) 70px !important;
  background:
    radial-gradient(circle at 12% 10%, rgba(42,167,223,.07), transparent 24%),
    radial-gradient(circle at 88% 18%, rgba(229,127,67,.06), transparent 24%),
    linear-gradient(180deg,#fff 0%,#f7f9fc 100%) !important;
}

.clients-sector-head{
  max-width:1040px !important;
  margin:0 auto 28px !important;
  text-align:left !important;
}

.clients-sector-head h2{
  margin:0 !important;
  color:#173b74 !important;
  font-size:clamp(24px,2.4vw,38px) !important;
  line-height:1.16 !important;
  letter-spacing:-.025em !important;
  font-weight:850 !important;
}

.clients-sector-grid{
  max-width:1440px;
  margin:0 auto;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
}

.sector-card{
  min-height:160px !important;
  border-radius:22px !important;
  padding:0 !important;
  background:rgba(255,255,255,.86) !important;
  border:1px solid rgba(15,48,92,.10) !important;
  box-shadow:0 14px 32px rgba(20,42,80,.08) !important;
  overflow:hidden !important;
  justify-content:flex-end !important;
}

.sector-card::before{
  height:4px !important;
  z-index:3;
}

.sector-card::after{
  display:none !important;
}

.sector-icon{
  display:none !important;
}

.sector-card h3{
  width:auto !important;
  margin:0 14px 14px !important;
  padding:13px 16px !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.88) !important;
  backdrop-filter:blur(8px);
  color:#173b74 !important;
  font-size:clamp(16px,1.05vw,22px) !important;
  line-height:1.12 !important;
  box-shadow:0 8px 22px rgba(10,28,60,.08);
}

/* foto settori più sobrie, senza effetto cartellone */
.sector-card[class*="sector-"]{
  background-size:cover !important;
  background-position:center !important;
}

.sector-luxury{background-image:linear-gradient(180deg,rgba(255,255,255,.08),rgba(8,23,48,.22)), url('assets/images/sectors/lusso.jpg') !important;}
.sector-facility{background-image:linear-gradient(180deg,rgba(255,255,255,.10),rgba(8,23,48,.20)), url('assets/images/sectors/facility-management.jpg') !important;}
.sector-insurance{background-image:linear-gradient(180deg,rgba(255,255,255,.10),rgba(8,23,48,.20)), url('assets/images/sectors/assicurazioni.jpg') !important;}
.sector-editorial{background-image:linear-gradient(180deg,rgba(255,255,255,.08),rgba(8,23,48,.20)), url('assets/images/sectors/editoria.jpg') !important;}
.sector-retail{background-image:linear-gradient(180deg,rgba(255,255,255,.08),rgba(8,23,48,.20)), url('assets/images/sectors/retail.jpg') !important;}
.sector-airport{background-image:linear-gradient(180deg,rgba(255,255,255,.08),rgba(8,23,48,.20)), url('assets/images/sectors/aeroportuale.jpg') !important;}
.sector-religious{background-image:linear-gradient(180deg,rgba(255,255,255,.08),rgba(8,23,48,.20)), url('assets/images/sectors/istituti-religiosi.jpg') !important;}
.sector-public{background-image:linear-gradient(180deg,rgba(255,255,255,.08),rgba(8,23,48,.20)), url('assets/images/sectors/pubblica-amministrazione.jpg') !important;}

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

@media(max-width:680px){
  .clients-hero{
    padding:28px 20px 28px !important;
  }
  .clients-profession-panel,
  .clients-sector-grid{
    grid-template-columns:1fr !important;
  }
  .sector-card{
    min-height:150px !important;
  }
}


/* ===== V71: Clienti ispirata al vecchio sito, ma più pulita ===== */
.clients-sector-section--minimal{
  padding: 56px clamp(28px,5vw,80px) 74px !important;
  background: linear-gradient(180deg,#fbfcfe 0%, #f5f7fb 100%) !important;
}

.clients-sector-head--centered{
  max-width: 1220px !important;
  margin: 0 auto 34px !important;
  text-align: center !important;
}

.clients-sector-head--centered h2{
  max-width: 1220px;
  margin: 0 auto 12px !important;
  font-size: clamp(30px, 3vw, 52px) !important;
  line-height: 1.16 !important;
  color: #173b74 !important;
  letter-spacing: -.03em !important;
  font-weight: 800 !important;
}

.clients-sector-subtitle{
  max-width: 900px;
  margin: 0 auto;
  font-size: clamp(16px,1.15vw,19px);
  line-height: 1.45;
  color: #42506a;
}

.clients-sector-grid--minimal{
  max-width: 1220px;
  margin: 0 auto;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 26px 30px !important;
}

.sector-card--minimal{
  min-height: 240px !important;
  background: #fff !important;
  border: 1px solid rgba(19,58,122,.13) !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 24px rgba(15,40,80,.04) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 26px 20px !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.sector-card--minimal::before,
.sector-card--minimal::after,
.sector-card--minimal .sector-icon{
  display:none !important;
}

.sector-card--minimal:hover{
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(15,40,80,.08) !important;
  border-color: rgba(19,58,122,.2) !important;
}

.sector-card__icon{
  width: 88px;
  height: 88px;
  object-fit: contain;
  margin-bottom: 26px;
}

.sector-card--minimal h3{
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  color: #16386e !important;
  font-size: clamp(18px,1.2vw,22px) !important;
  font-weight: 400 !important;
  letter-spacing: -.02em !important;
  line-height: 1.18 !important;
  text-align: center !important;
  text-transform: uppercase;
}

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

@media (max-width: 680px){
  .clients-sector-grid--minimal{
    grid-template-columns: 1fr !important;
  }
  .sector-card--minimal{
    min-height: 180px !important;
  }
  .sector-card__icon{
    width: 72px;
    height: 72px;
    margin-bottom: 18px;
  }
}


/* ===== V72: sezione SU DI NOI più sobria ed elegante ===== */
.clients-hero-clean{
  display:grid !important;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr) !important;
  gap:34px !important;
  align-items:center !important;
  padding:46px clamp(28px,5vw,82px) 44px !important;
  background:
    radial-gradient(circle at 92% 12%, rgba(42,167,223,.08), transparent 24%),
    linear-gradient(180deg,#ffffff 0%,#f6f9fd 100%) !important;
  border-bottom:1px solid rgba(6,45,112,.08) !important;
  min-height:auto !important;
}

.clients-hero-clean::before{
  opacity:.16 !important;
}

.clients-hero-clean .clients-hero-copy{
  max-width:880px !important;
}

.clients-hero-clean .clients-kicker{
  margin:0 0 10px !important;
  color:#2aa7df !important;
  font-size:12px !important;
  letter-spacing:.18em !important;
}

.clients-hero-clean h1{
  margin:0 0 18px !important;
  color:#173b74 !important;
  font-size:clamp(44px,5vw,72px) !important;
  line-height:.95 !important;
  letter-spacing:-.045em !important;
  text-transform:none !important;
}

.clients-hero-clean .clients-lead{
  margin:0 0 10px !important;
  max-width:780px !important;
  color:#17325c !important;
  font-size:clamp(17px,1.35vw,21px) !important;
  line-height:1.5 !important;
}

.clients-hero-clean .clients-lead-secondary{
  color:#42506a !important;
}

.clients-profession-card{
  position:relative;
  padding:28px;
  border-radius:28px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(6,45,112,.10);
  box-shadow:0 18px 42px rgba(18,32,51,.08);
  overflow:hidden;
}

.clients-profession-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:6px;
  background:linear-gradient(90deg,#e57f43,#d8a43e,#2aa7df);
}

.clients-profession-card h2{
  margin:0 0 20px;
  color:#173b74;
  font-size:clamp(22px,2vw,30px);
  line-height:1.1;
  letter-spacing:-.02em;
}

.clients-profession-card .clients-profession-panel{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  max-width:none !important;
  margin:0 !important;
}

.clients-profession-card .profession-chip{
  min-height:58px !important;
  border-radius:18px !important;
  background:#f8fbff !important;
  border:1px solid rgba(21,58,120,.12) !important;
  box-shadow:none !important;
  padding:12px 14px !important;
  font-weight:850 !important;
  color:#173b74 !important;
}

.clients-profession-card .profession-chip::before{
  width:4px !important;
}

@media(max-width:1000px){
  .clients-hero-clean{
    grid-template-columns:1fr !important;
  }
  .clients-profession-card{
    max-width:720px;
  }
}

@media(max-width:620px){
  .clients-hero-clean{
    padding:34px 20px 34px !important;
  }
  .clients-profession-card{
    padding:22px;
  }
  .clients-profession-card .clients-profession-panel{
    grid-template-columns:1fr !important;
  }
}


/* ===== V73: certificazioni reali con certificati scaricabili ===== */
.cert-page-v73{
  background:linear-gradient(180deg,#f8fafc 0%,#ffffff 44%,#f4f7fb 100%);
}

.cert-hero-v73{
  padding:56px clamp(28px,6vw,90px) 46px;
  background:
    radial-gradient(circle at 88% 22%, rgba(42,167,223,.12), transparent 22%),
    linear-gradient(135deg,#ffffff 0%,#eef6fb 52%,#fff7ec 100%);
  border-bottom:1px solid rgba(6,45,112,.08);
}

.cert-hero-v73 .eyebrow{
  color:#2aa7df;
  margin:0 0 12px;
}

.cert-hero-v73 h1{
  color:#173b74;
  font-size:clamp(42px,5vw,72px);
  line-height:.98;
  letter-spacing:-.05em;
  margin:0 0 16px;
}

.cert-hero-v73 p:not(.eyebrow){
  margin:0;
  max-width:820px;
  color:#253858;
  font-size:clamp(17px,1.45vw,22px);
  line-height:1.46;
}

.cert-section-v73{
  padding:58px clamp(28px,6vw,90px) 78px;
}

.cert-grid-v73{
  max-width:1460px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}

.cert-card-v73{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(6,45,112,.10);
  box-shadow:0 18px 46px rgba(18,32,51,.08);
  position:relative;
  min-height:100%;
}

.cert-card-v73::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:6px;
  background:linear-gradient(90deg,#e57f43,#d8a43e,#2aa7df);
  z-index:2;
}

.cert-thumb{
  height:230px;
  background:linear-gradient(180deg,#f8fbff,#eef4fb);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  border-bottom:1px solid rgba(6,45,112,.08);
}

.cert-thumb-pdf img{
  height:100%;
  width:auto;
  max-width:100%;
  object-fit:contain;
  border-radius:8px;
  box-shadow:0 10px 24px rgba(20,42,80,.13);
  background:#fff;
}

.cert-thumb-logo img{
  max-width:86%;
  max-height:132px;
  object-fit:contain;
}

.cert-content{
  padding:24px 24px 26px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.cert-label{
  color:#c8912f;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:10px;
}

.cert-content h2{
  margin:0 0 10px;
  color:#173b74;
  font-size:clamp(22px,1.7vw,31px);
  line-height:1.08;
}

.cert-content p{
  margin:0 0 14px;
  color:#42506a;
  line-height:1.45;
  font-size:15px;
}

.cert-content ul{
  margin:0 0 22px;
  padding-left:18px;
  color:#253858;
  line-height:1.55;
  font-size:14px;
}

.cert-btn{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  padding:12px 18px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,#173b74,#2aa7df);
  text-decoration:none;
  font-size:14px;
  font-weight:900;
  box-shadow:0 10px 24px rgba(23,59,116,.16);
}

.cert-btn:hover{
  filter:brightness(1.05);
  transform:translateY(-1px);
}

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

@media(max-width:700px){
  .cert-hero-v73,
  .cert-section-v73{
    padding-left:22px;
    padding-right:22px;
  }
  .cert-grid-v73{
    grid-template-columns:1fr;
  }
  .cert-thumb{
    height:210px;
  }
}


/* ===== V74: tocco arancione diffuso e coerente su tutte le pagine ===== */
:root{
  --sepli-orange:#d98449;
  --sepli-orange-dark:#bf6c33;
  --sepli-orange-soft:#fff4ea;
  --sepli-orange-line:rgba(217,132,73,.18);
  --sepli-orange-shadow:rgba(191,108,51,.18);
}

body{
  background:linear-gradient(180deg,#fcfaf7 0%,#f8fbff 22%,#ffffff 100%) !important;
}

.topbar{
  border-bottom:1px solid rgba(217,132,73,.20) !important;
  box-shadow:0 8px 26px rgba(23,59,116,.05);
}

nav a{
  transition:color .22s ease;
}
nav a:hover,
nav a.active{
  color:var(--sepli-orange-dark) !important;
}
nav a.active:after,
nav a:hover:after{
  background:linear-gradient(90deg,var(--sepli-orange-dark),#efb36f) !important;
}

.eyebrow,
.section-head p,
.services-kicker,
.clients-kicker,
.timeline-kicker,
.cert-label,
.mini-label,
.service-detail-intro aside span,
.clients-hero-clean .clients-kicker{
  color:var(--sepli-orange-dark) !important;
}

.page-hero,
.services-hero,
.service-detail-hero,
.cert-hero-v73,
.clients-hero-clean,
.contact-page{
  position:relative;
  overflow:hidden;
}

.page-hero::after,
.services-hero::after,
.service-detail-hero::after,
.cert-hero-v73::after,
.clients-hero-clean::after{
  content:"";
  position:absolute;
  right:-90px;
  top:-70px;
  width:280px;
  height:280px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(217,132,73,.18) 0%, rgba(217,132,73,0) 70%);
  pointer-events:none;
}

.btn.primary,
.cert-btn{
  background:linear-gradient(135deg,var(--sepli-orange-dark),var(--sepli-orange)) !important;
  box-shadow:0 14px 30px var(--sepli-orange-shadow) !important;
}
.btn.primary:hover,
.cert-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(191,108,51,.24) !important;
}
.btn.white-outline{
  border-color:rgba(217,132,73,.30) !important;
}
.btn.white-outline:hover{
  background:var(--sepli-orange-soft) !important;
  color:#1f355d !important;
}

.home-split-card,
.services-split-card,
.service-page aside,
.service-block,
.contact-data,
.contact-form,
.join-grid article,
.cert-card-v73,
.sector-card,
.clients-profession-card,
.history-detail-card,
.service-detail-intro aside,
.service-detail-block{
  border:1px solid var(--sepli-orange-line) !important;
  box-shadow:0 18px 48px rgba(23,59,116,.08), 0 0 0 1px rgba(217,132,73,.03) !important;
}

.home-split-card,
.services-split-card,
.service-page aside,
.service-block,
.contact-data,
.contact-form,
.join-grid article,
.sector-card,
.clients-profession-card,
.history-detail-card,
.service-detail-intro aside,
.service-detail-block{
  position:relative;
  overflow:hidden;
}

.home-split-card::before,
.services-split-card::before,
.service-page aside::before,
.service-block::before,
.contact-data::before,
.contact-form::before,
.join-grid article::before,
.sector-card::before,
.clients-profession-card::before,
.history-detail-card::before,
.service-detail-intro aside::before,
.service-detail-block::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,var(--sepli-orange-dark),#efb36f);
}

.service-block h2,
.service-detail-block h2,
.contact-data h2,
.contact-form h2,
.join-grid article h2,
.clients-profession-card h2,
.clients-sector-head h2,
.sector-card--minimal h3,
.cert-content h2{
  color:#173b74 !important;
}

.home-split-link,
.services-split-link,
.client-grid article span,
.impact-card p,
.footer h4{
  color:var(--sepli-orange-dark) !important;
}

.footer{
  background:linear-gradient(135deg,#28334c,#315777) !important;
}
.footer h4{
  margin-top:0;
}
.footer-links a:hover{
  color:#ffd2ae !important;
  text-decoration:none !important;
}
.footer-bottom{
  border-top:1px solid rgba(255,208,172,.16) !important;
}

.contact-form input,
.contact-form textarea{
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.contact-form input:focus,
.contact-form textarea:focus{
  outline:none;
  border-color:var(--sepli-orange) !important;
  box-shadow:0 0 0 4px rgba(217,132,73,.14);
  background:#fffdfb;
}

.timeline-dot-circle{
  border-color:var(--sepli-orange-dark) !important;
}
.timeline-dot:hover .timeline-dot-circle,
.timeline-dot:focus .timeline-dot-circle,
.timeline-dot.is-active .timeline-dot-circle{
  background:var(--sepli-orange) !important;
  border-color:var(--sepli-orange) !important;
  box-shadow:0 0 0 6px rgba(217,132,73,.16) !important;
}
.timeline-dot-year,
.history-detail-year{
  color:#173b74 !important;
}
.history-timeline-line{
  background:linear-gradient(90deg,var(--sepli-orange-dark) 0%, #efb36f 24%, #6db18b 58%, #37b2df 84%, #2e73ff 100%) !important;
}

.clients-profession-card .profession-chip{
  background:var(--sepli-orange-soft) !important;
  border:1px solid rgba(217,132,73,.22) !important;
}
.clients-profession-card .profession-chip::before{
  background:linear-gradient(180deg,var(--sepli-orange-dark),#efb36f) !important;
}
.clients-sector-subtitle,
.clients-hero-clean .clients-lead-secondary,
.cert-content p,
.service-detail-intro aside p,
.service-detail-block li,
.contact-data p,
.contact-form p{
  color:#4e5f77 !important;
}

.sector-card--minimal{
  border-color:rgba(217,132,73,.18) !important;
  box-shadow:0 12px 28px rgba(23,59,116,.05), 0 0 0 1px rgba(217,132,73,.03) !important;
}
.sector-card--minimal:hover{
  border-color:rgba(217,132,73,.34) !important;
  box-shadow:0 18px 36px rgba(23,59,116,.08), 0 0 0 1px rgba(217,132,73,.08) !important;
}

.cert-card-v73::before{
  background:linear-gradient(90deg,var(--sepli-orange-dark),#efb36f,#2aa7df) !important;
}
.cert-thumb{
  background:linear-gradient(180deg,#fffaf5,#f3f7fb) !important;
}
.cert-label{
  letter-spacing:.16em !important;
}

.services-hero,
.cert-hero-v73{
  box-shadow:inset 0 -1px 0 rgba(217,132,73,.12);
}

.hero-certifications-only{
  box-shadow:0 22px 50px rgba(23,59,116,.14), 0 0 0 1px rgba(217,132,73,.08) !important;
}
.hero-certifications-only .cert-tile{
  border-color:rgba(217,132,73,.14) !important;
}

@media(max-width:720px){
  .page-hero::after,
  .services-hero::after,
  .service-detail-hero::after,
  .cert-hero-v73::after,
  .clients-hero-clean::after{
    width:180px;
    height:180px;
    right:-50px;
    top:-40px;
  }
}


/* ===== V75: box azzurro sotto mappa Italia in contatti ===== */
.contact-page-v63 .contact-italy-panel{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.contact-quick-actions{
  display:flex;
  gap:10px;
  align-items:stretch;
  justify-content:space-between;
  background:#2f78f2;
  border-radius:4px;
  padding:10px 12px;
  box-shadow:0 10px 24px rgba(47,120,242,.18);
}

.contact-quick-action{
  flex:1 1 0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:42px;
  color:#fff;
  font-size:15px;
  font-weight:500;
  text-decoration:none;
  border-radius:4px;
  transition:background .2s ease, transform .2s ease;
}

.contact-quick-action:hover{
  background:rgba(255,255,255,.12);
  transform:translateY(-1px);
}

.contact-quick-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  min-width:20px;
  font-size:20px;
  line-height:1;
}

@media(max-width:1100px){
  .contact-page-v63 .contact-italy-panel{
    align-items:flex-start;
  }
  .contact-quick-actions{
    width:100%;
    max-width:260px;
  }
}

@media(max-width:720px){
  .contact-quick-actions{
    flex-direction:column;
    max-width:220px;
    width:100%;
  }
}


/* ===== V76: CLIENTI con foto nei settori, più pieni ma eleganti ===== */
.clients-sector-section--minimal{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 10% 0%, rgba(42,167,223,.06), transparent 26%),
    radial-gradient(circle at 92% 20%, rgba(217,132,73,.08), transparent 18%),
    linear-gradient(180deg,#f8fbfe 0%, #f4f7fb 54%, #f7fafc 100%) !important;
}

.clients-sector-section--minimal::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 88% 18%, rgba(42,167,223,.10), transparent 18%),
    radial-gradient(circle at 78% 72%, rgba(229,127,67,.08), transparent 16%),
    linear-gradient(90deg, rgba(255,255,255,0) 55%, rgba(255,255,255,.28) 100%);
  opacity:1;
  pointer-events:none;
}

.clients-sector-section--minimal > *{
  position:relative;
  z-index:1;
}

.clients-sector-head--centered{
  margin-bottom: 28px !important;
}

.clients-sector-grid--minimal{
  gap: 22px !important;
}

.sector-card--minimal{
  position:relative !important;
  min-height: 220px !important;
  padding: 0 !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:flex-start !important;
  background-color:#dce7f2 !important;
  background-size:cover !important;
  background-position:center center !important;
  border:1px solid rgba(217,132,73,.16) !important;
  box-shadow:0 16px 34px rgba(23,59,116,.08), 0 0 0 1px rgba(217,132,73,.03) !important;
}

.sector-card--minimal .sector-card__icon{
  display:none !important;
}

.sector-card--minimal::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  height:auto !important;
  background:linear-gradient(180deg, rgba(7,24,48,.04) 0%, rgba(7,24,48,.10) 40%, rgba(7,24,48,.62) 100%) !important;
}

.sector-card--minimal::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 24%) !important;
  pointer-events:none !important;
}

.sector-card--minimal:hover{
  transform:translateY(-6px) !important;
  box-shadow:0 22px 42px rgba(23,59,116,.12), 0 0 0 1px rgba(217,132,73,.06) !important;
}

.sector-card--minimal h3{
  position:relative !important;
  z-index:2 !important;
  width:100% !important;
  margin:0 !important;
  padding:18px 18px 18px !important;
  color:#ffffff !important;
  text-align:left !important;
  font-size:clamp(16px,1.05vw,20px) !important;
  font-weight:800 !important;
  line-height:1.14 !important;
  letter-spacing:.01em !important;
  text-shadow:0 2px 10px rgba(0,0,0,.24) !important;
  background:linear-gradient(180deg, rgba(9,28,56,0) 0%, rgba(9,28,56,.10) 100%) !important;
}

.sector-card--minimal h3::before{
  content:"";
  position:absolute;
  left:18px;
  top:14px;
  width:54px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#ef8c4a 0%, #d8a43e 52%, #2aa7df 100%);
}

.sector-luxury{background-image:url('assets/images/clienti-lusso.png') !important;}
.sector-facility{background-image:url('assets/images/clienti-facility.png') !important;}
.sector-insurance{background-image:url('assets/images/clienti-assicurazioni.png') !important;}
.sector-editorial{background-image:url('assets/images/clienti-editoria.png') !important;}
.sector-retail{background-image:url('assets/images/clienti-retail.png') !important;}
.sector-airport{background-image:url('assets/images/clienti-aeroportuale-v266.png') !important;}
.sector-religious{background-image:url('assets/images/clienti-istituti-religiosi.png') !important;}
.sector-public{background-image:url('assets/images/clienti-pubblica-amministrazione.png') !important;}

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

@media (max-width:680px){
  .clients-sector-section--minimal::before{
    opacity:1;
    background:
      radial-gradient(circle at 86% 14%, rgba(42,167,223,.08), transparent 24%),
      radial-gradient(circle at 78% 76%, rgba(229,127,67,.06), transparent 22%);
  }
  .sector-card--minimal{
    min-height: 200px !important;
  }
  .sector-card--minimal h3{
    padding:16px !important;
    font-size:17px !important;
  }
  .sector-card--minimal h3::before{
    left:16px;
    top:12px;
    width:48px;
  }
}


/* ===== V78: logo più grande SOLO nella home ===== */
main > .hero.hero-v5 .hero-logo-large{
  width:min(390px, 82%) !important;
  margin-bottom:24px !important;
}
@media(max-width:720px){
  main > .hero.hero-v5 .hero-logo-large{
    width:260px !important;
  }
}


/* ===== V81: card servizi con icona occhio, senza testo "Apri pagina area" ===== */
.home-split-link,
.services-split-link{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  color:#cf7630 !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
}

.home-split-link .icon-eye,
.services-split-link .icon-eye{
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1.5px solid currentColor;
  border-radius:999px;
  background:#fff;
  font-size:16px;
  line-height:1;
  box-shadow:0 8px 18px rgba(207,118,48,.12);
}

.home-split-link strong,
.services-split-link strong{
  font-size:18px;
  line-height:1;
}


/* ===== V82: pagina Carriere / Unisciti a noi ===== */
.career-page{background:linear-gradient(180deg,#f8fbfe 0%,#ffffff 44%,#f5f7fb 100%);}
.career-hero{
  position:relative;
  overflow:hidden;
  padding:64px clamp(28px,6vw,90px) 58px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(245,250,253,.95) 34%, rgba(244,248,252,.82) 58%, rgba(244,248,252,.72) 100%),
    radial-gradient(circle at 86% 18%, rgba(42,167,223,.10), transparent 24%),
    radial-gradient(circle at 72% 74%, rgba(217,132,73,.10), transparent 20%),
    url("assets/images/services-hero-photo.png") right center/cover no-repeat;
  border-bottom:1px solid rgba(6,45,112,.08);
}
.career-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.06) 100%);
  pointer-events:none;
}
.career-hero > *{position:relative;z-index:1;}
.career-hero h1{color:#173b74;font-size:clamp(46px,5.2vw,78px);line-height:.96;letter-spacing:-.05em;margin:0 0 18px;max-width:760px;}
.career-hero p:not(.eyebrow){max-width:760px;margin:0;color:#253858;font-size:clamp(17px,1.35vw,22px);line-height:1.48;}
.career-section{padding-top:54px;padding-bottom:72px;}
.career-card,
.career-grid article{
  background:#fff;
  border:1px solid rgba(217,132,73,.16);
  border-radius:28px;
  box-shadow:0 14px 36px rgba(23,59,116,.08);
  position:relative;
  overflow:hidden;
}
.career-card::before,
.career-grid article::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#d98449,#efb36f,#2aa7df);}
.career-layout{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);gap:26px;align-items:start;}
.career-intro{margin:0;padding:34px 34px 34px 38px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(250px,.98fr);gap:24px;align-items:center;}
.career-intro-copy{display:flex;flex-direction:column;align-items:flex-start;gap:16px;}
.career-intro h2{margin:0;color:#173b74;font-size:clamp(28px,2.5vw,42px);line-height:1.05;}
.career-intro p{margin:0;color:#4e5f77;font-size:18px;line-height:1.55;max-width:640px;}
.career-intro-photo{margin:0;min-height:250px;border-radius:22px;overflow:hidden;box-shadow:0 14px 36px rgba(23,59,116,.12);background:linear-gradient(180deg,#f7fafc,#eef4fa);display:flex;align-items:center;justify-content:center;padding:12px;}
.career-intro-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;}
.career-grid{margin:0;display:grid;grid-template-columns:1fr;gap:18px;}
.career-grid article{padding:24px 26px;min-height:154px;display:flex;flex-direction:column;justify-content:flex-start;}
.career-grid article span{color:#d98449;font-weight:900;letter-spacing:.14em;text-transform:uppercase;}
.career-grid article h3{margin:12px 0 10px;color:#173b74;font-size:25px;line-height:1.1;}
.career-grid article p{margin:0;color:#4e5f77;line-height:1.55;font-size:16px;}
@media(max-width:1100px){.career-layout{grid-template-columns:1fr}.career-grid{grid-template-columns:repeat(3,1fr)}.career-grid article{min-height:auto}}
@media(max-width:900px){.career-hero{padding:52px 22px 46px;background:linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(245,250,253,.94) 52%, rgba(244,248,252,.86) 100%),url("assets/images/services-hero-photo.png") center/cover no-repeat}.career-intro{grid-template-columns:1fr;padding:28px}.career-intro-photo{min-height:220px}.career-grid{grid-template-columns:1fr}.career-section{padding:42px 22px 62px}}


/* ===== V89: icona occhio a destra, senza cerchio e senza freccia ===== */
.home-split-link,
.services-split-link{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  align-self:flex-end !important;
  margin-top:auto !important;
  margin-left:auto !important;
  width:auto !important;
  padding:0 !important;
  gap:0 !important;
  color:#cf7630 !important;
  line-height:1 !important;
}

.home-split-link .icon-eye,
.services-split-link .icon-eye{
  width:auto !important;
  height:auto !important;
  display:inline-block !important;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  font-size:22px !important;
  line-height:1 !important;
}

.home-split-link strong,
.services-split-link strong{
  display:none !important;
}

@media (max-width: 720px){
  .home-split-link .icon-eye,
  .services-split-link .icon-eye{
    font-size:20px !important;
  }
}


/* ===== V90 Area Download ===== */
.download-page{
  background: linear-gradient(180deg,#f4f6f8 0%,#ffffff 100%);
}
.download-hero{
  position: relative;
  min-height: 340px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.94) 0%, rgba(255,255,255,0.90) 40%, rgba(255,255,255,0.55) 100%),
    url('assets/images/hero-rooftop-hvac-scaffolding.png') center/cover no-repeat;
  border-bottom: 1px solid rgba(16,42,92,0.08);
}
.download-hero-inner{
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 52px 0;
}
.download-hero h1{
  margin: 8px 0 14px;
  font-size: clamp(42px,5vw,72px);
  line-height: 0.95;
  color: #173f86;
}
.download-hero p:not(.eyebrow){
  max-width: 760px;
  font-size: 1.2rem;
  line-height: 1.6;
  color: #173f86;
}
.download-section{
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 42px 0 72px;
}
.download-panel{
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 26px;
  align-items: stretch;
  background: #fff;
  border: 1px solid rgba(207,118,48,0.22);
  border-radius: 32px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(16,42,92,0.08);
}
.download-panel-copy{
  padding: 38px 40px;
}
.download-mini-label{
  display:inline-block;
  margin-bottom:12px;
  color:#cf7630;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0.16em;
  font-size:0.8rem;
}
.download-panel-copy h2{
  margin:0 0 16px;
  color:#173f86;
  font-size: clamp(30px,3vw,46px);
  line-height:1.05;
}
.download-panel-copy p{
  margin:0 0 18px;
  color:#40516f;
  font-size:1.05rem;
  line-height:1.8;
}
.download-message-box{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:24px 0 20px;
  padding:18px 22px;
  background: linear-gradient(135deg, rgba(207,118,48,0.12), rgba(23,63,134,0.06));
  border-left:4px solid #cf7630;
  border-radius:18px;
}
.download-message-box strong{
  color:#173f86;
  font-size:1.1rem;
}
.download-message-box span{
  color:#51627d;
}
.download-back-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#173f86;
  font-weight:800;
  text-decoration:none;
}
.download-back-link:hover{ color:#cf7630; }
.download-panel-photo{
  min-height: 100%;
  background: linear-gradient(180deg, rgba(23,63,134,0.1), rgba(23,63,134,0.04));
}
.download-panel-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.download-placeholder-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:22px;
  margin-top:28px;
}
.download-placeholder-card{
  background:#fff;
  border-radius:24px;
  border:1px solid rgba(23,63,134,0.08);
  padding:28px 24px;
  box-shadow:0 10px 28px rgba(16,42,92,0.05);
}
.download-placeholder-icon{
  width:46px;height:46px;border-radius:14px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#2f74f3,#245cc3);
  color:#fff;font-size:1.3rem;font-weight:800;
  margin-bottom:16px;
}
.download-placeholder-card h3{
  margin:0 0 8px;
  color:#173f86;
  font-size:1.28rem;
}
.download-placeholder-card p{
  margin:0;
  color:#cf7630;
  font-weight:700;
}
@media (max-width: 900px){
  .download-panel{ grid-template-columns: 1fr; }
  .download-panel-photo{ min-height: 280px; order:-1; }
  .download-placeholder-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 640px){
  .download-hero{ min-height: 300px; }
  .download-hero-inner, .download-section{ width:min(100% - 28px, 1180px); }
  .download-panel-copy{ padding:26px 22px; }
}


/* ===== V91: evidenziazione più forte voce menu attiva ===== */
.topbar nav a.active{
  padding:10px 16px !important;
  border-radius:999px;
  background:linear-gradient(135deg,var(--sepli-orange-dark),#efb36f) !important;
  color:#ffffff !important;
  box-shadow:0 8px 18px rgba(217,132,73,.28);
}
.topbar nav a.active:after{
  display:none !important;
}
.topbar nav a.active:hover{
  color:#ffffff !important;
  filter:brightness(1.03);
}
@media (max-width:720px){
  .topbar nav a.active{
    padding:10px 14px !important;
  }
}


/* ===== V93: pagina Clienti - card leggibili da mobile ===== */
@media (max-width: 900px){
  .clients-sector-grid,
  .clients-sector-grid--minimal{
    display:grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap:14px !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .sector-card,
  .sector-card--minimal{
    min-height:150px !important;
    height:auto !important;
    overflow:hidden !important;
  }

  .sector-card h3,
  .sector-card--minimal h3{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    hyphens:auto !important;
    font-size:clamp(14px, 3.8vw, 18px) !important;
    line-height:1.12 !important;
    letter-spacing:0 !important;
    padding:14px 12px 16px !important;
    max-width:100% !important;
  }
}

@media (max-width: 520px){
  .clients-sector-grid,
  .clients-sector-grid--minimal{
    grid-template-columns: 1fr !important;
    gap:14px !important;
  }

  .sector-card,
  .sector-card--minimal{
    min-height:128px !important;
    border-radius:18px !important;
  }

  .sector-card h3,
  .sector-card--minimal h3{
    font-size:17px !important;
    line-height:1.12 !important;
    padding:14px 16px 15px !important;
  }

  .sector-card--minimal h3::before{
    left:16px !important;
    top:10px !important;
    width:44px !important;
  }
}

.clients-sector-section,
.clients-sector-section--minimal{
  overflow:visible !important;
}


/* ===== V96: popup Area Riservata ===== */
.reserved-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.reserved-modal.is-open{
  display:flex;
}
.reserved-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(6,20,38,.68);
  backdrop-filter:blur(6px);
}
.reserved-modal-card{
  position:relative;
  z-index:1;
  width:min(520px,100%);
  background:#fff;
  border-radius:28px;
  padding:34px;
  border:1px solid rgba(217,132,73,.24);
  box-shadow:0 28px 80px rgba(2,18,44,.30);
  overflow:hidden;
}
.reserved-modal-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:6px;
  background:linear-gradient(90deg,#d98449,#efb36f,#2aa7df);
}
.reserved-modal-close{
  position:absolute;
  right:18px;
  top:16px;
  width:36px;
  height:36px;
  border:none;
  border-radius:50%;
  background:#f2f6fb;
  color:#173b74;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.reserved-modal-card h2{
  margin:0 0 12px;
  color:#173b74;
  font-size:clamp(34px,4vw,52px);
  line-height:1;
}
.reserved-modal-intro{
  margin:0 0 22px;
  color:#4e5f77;
  line-height:1.55;
}
.reserved-login-form{
  display:grid;
  gap:14px;
}
.reserved-login-form label span{
  display:block;
  margin-bottom:7px;
  color:#173b74;
  font-weight:800;
  font-size:.92rem;
}
.reserved-login-form input{
  width:100%;
  padding:15px 16px;
  border:1px solid rgba(23,59,116,.18);
  border-radius:14px;
  background:#f6f9fc;
  font:inherit;
  color:#173b74;
  outline:none;
}
.reserved-login-form input:focus{
  border-color:#d98449;
  box-shadow:0 0 0 4px rgba(217,132,73,.12);
  background:#fff;
}
.reserved-login-form .btn{
  width:100%;
  margin-top:6px;
}
.reserved-password-link{
  border:none;
  background:transparent;
  color:#d98449;
  font-weight:800;
  cursor:pointer;
  padding:6px 0 0;
  text-align:center;
  font:inherit;
}
.reserved-password-link:hover{
  color:#173b74;
  text-decoration:underline;
}
.reserved-progress-note{
  margin-top:20px;
  padding:14px 16px;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(217,132,73,.12),rgba(42,167,223,.09));
  color:#4e5f77;
}
.reserved-progress-note strong{
  display:block;
  color:#173b74;
  margin-bottom:4px;
}
@media(max-width:560px){
  .reserved-modal{
    padding:16px;
  }
  .reserved-modal-card{
    padding:28px 22px 24px;
    border-radius:22px;
  }
}


/* ===== V98: footer con Documenti vicino ai Contatti + Certificazioni a destra ===== */
.footer-v98 .footer-grid-v98{
  grid-template-columns: minmax(260px,1.25fr) minmax(190px,.72fr) minmax(190px,.72fr) minmax(330px,1.32fr) !important;
  gap: clamp(28px,4vw,62px) !important;
  align-items:start !important;
}

.footer-v98 .footer-doc-col{
  margin-left:-18px;
}

.footer-v98 .footer-cert-col{
  justify-self:start;
}

.footer-v98 h4 a{
  color:inherit;
  text-decoration:none;
}

.footer-v98 h4 a:hover,
.footer-v98 .footer-links a:hover{
  color:#efb36f;
}

.footer-v98 .footer-cert-links{
  line-height:1.65;
}

.footer-v98 .footer-cert-links a{
  display:inline-block;
  margin-bottom:4px;
}

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

  .footer-v98 .footer-doc-col{
    margin-left:0;
  }
}

@media(max-width:700px){
  .footer-v98 .footer-grid-v98{
    grid-template-columns: 1fr !important;
    gap:26px !important;
  }
}


/* ===== V99: footer - font uniforme e certificazioni stessa dimensione dei contatti ===== */
.footer-v98,
.footer-v98 p,
.footer-v98 a,
.footer-v98 span,
.footer-v98 li{
  font-family: "Segoe UI", Arial, Helvetica, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.footer-v98 h4,
.footer-v98 h4 a{
  font-family: "Segoe UI", Arial, Helvetica, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.footer-v98 .footer-cert-links,
.footer-v98 .footer-cert-links a{
  font-family: "Segoe UI", Arial, Helvetica, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.footer-v98 .footer-links a{
  color: rgba(255,255,255,.94);
}

.footer-v98 h4,
.footer-v98 h4 a{
  color:#ef7f35 !important;
}


/* ===== V100: footer con azioni a destra, colonne ravvicinate ===== */
.footer-v100{
  padding-top:46px !important;
}

.footer-v100 .footer-grid-v100{
  display:grid !important;
  grid-template-columns: minmax(220px,.95fr) 190px 180px minmax(330px,1fr) 250px !important;
  column-gap:28px !important;
  row-gap:30px !important;
  align-items:start !important;
}

.footer-v100 .footer-contact-col,
.footer-v100 .footer-doc-col,
.footer-v100 .footer-cert-col{
  justify-self:start;
}

.footer-v100 .footer-actions-col{
  justify-self:end;
  align-self:start;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:230px;
}

.footer-v100 .footer-action-btn{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:48px;
  padding:12px 18px;
  border-radius:12px;
  background:linear-gradient(135deg,#2f74f3,#245cc3);
  color:#fff !important;
  text-decoration:none;
  box-shadow:0 12px 24px rgba(36,92,195,.20);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.footer-v100 .footer-action-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(36,92,195,.26);
  filter:brightness(1.04);
}

.footer-v100 .footer-action-btn span{
  width:22px;
  text-align:center;
  font-size:18px !important;
  line-height:1 !important;
}

.footer-v100 .footer-action-btn strong{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-size:16px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  color:#fff !important;
}

.footer-v100,
.footer-v100 p,
.footer-v100 a,
.footer-v100 span{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-size:16px !important;
  line-height:1.62 !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
}

.footer-v100 h4,
.footer-v100 h4 a{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-size:16px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  color:#ef7f35 !important;
  text-decoration:none;
}

.footer-v100 .footer-links a{
  color:rgba(255,255,255,.94);
  text-decoration:none;
}

.footer-v100 .footer-links a:hover,
.footer-v100 h4 a:hover{
  color:#efb36f !important;
}

@media(max-width:1200px){
  .footer-v100 .footer-grid-v100{
    grid-template-columns: 1fr 190px 180px minmax(300px,1fr) !important;
  }
  .footer-v100 .footer-actions-col{
    grid-column:2 / span 3;
    justify-self:start;
    flex-direction:row;
    flex-wrap:wrap;
  }
}

@media(max-width:900px){
  .footer-v100 .footer-grid-v100{
    grid-template-columns:1fr 1fr !important;
  }
  .footer-v100 .footer-actions-col{
    grid-column:auto;
    flex-direction:column;
    justify-self:start;
  }
}

@media(max-width:640px){
  .footer-v100 .footer-grid-v100{
    grid-template-columns:1fr !important;
  }
  .footer-v100 .footer-actions-col{
    width:100%;
  }
  .footer-v100 .footer-action-btn{
    width:100%;
  }
}


/* ===== V101: Certificazioni - titolo corretto e font coerente con testi storia ===== */
.cert-page-v73,
.cert-page-v73 p,
.cert-page-v73 a,
.cert-page-v73 li,
.cert-page-v73 span,
.cert-page-v73 h1,
.cert-page-v73 h2,
.cert-page-v73 h3,
.cert-page-v73 .eyebrow,
.cert-page-v73 .cert-label,
.cert-page-v73 .cert-btn{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
}

.cert-hero-v73 h1{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-weight:700 !important;
  letter-spacing:-0.04em !important;
}

.cert-hero-v73 p,
.cert-card-v73 p,
.cert-card-v73 li{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  line-height:1.55 !important;
}

.cert-card-v73 h2{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-weight:700 !important;
  letter-spacing:-0.02em !important;
}

.cert-page-v73 .eyebrow,
.cert-page-v73 .cert-label{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-weight:700 !important;
}


/* ===== V103: Home con foto centrale, servizi in colonna a destra e loghi a sinistra ===== */
.hero.hero-home-v103{
  display:grid !important;
  grid-template-columns:minmax(420px, 42%) minmax(360px, 36%) minmax(260px, 22%) !important;
  gap:0 !important;
  align-items:stretch !important;
  min-height:calc(100vh - 82px) !important;
  padding:0 !important;
  background:#fff !important;
}

.hero-home-v103 .hero-panel-white{
  padding:clamp(42px,4.8vw,78px) clamp(32px,4vw,66px) 42px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-height:0 !important;
}

.hero-home-v103 .hero-logo-large{
  width:clamp(230px,18vw,330px) !important;
  margin-bottom:clamp(24px,3vw,42px) !important;
}

.hero-home-v103 h1{
  font-size:clamp(48px,4.7vw,82px) !important;
  line-height:.94 !important;
  margin-bottom:18px !important;
}

.hero-home-v103 .hero-text{
  max-width:650px !important;
  font-size:clamp(16px,1.05vw,19px) !important;
  line-height:1.55 !important;
}

.hero-photo-v103{
  position:relative !important;
  min-height:100% !important;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,0) 24%, rgba(255,255,255,0) 100%),
    url('assets/images/hero-sepli.jpg') !important;
  background-size:cover !important;
  background-position:center center !important;
}

.hero-photo-v103::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(90deg,rgba(255,255,255,.18),rgba(255,255,255,0) 26%) !important;
  pointer-events:none !important;
}

.hero-services-column-v103{
  padding:clamp(18px,2vw,34px) clamp(16px,1.8vw,30px) !important;
  display:grid !important;
  grid-template-rows:repeat(4, minmax(118px, 1fr)) !important;
  gap:clamp(12px,1.4vw,18px) !important;
  align-content:stretch !important;
  background:linear-gradient(180deg,#ffffff 0%,#f7fafc 100%) !important;
}

.hero-services-column-v103 .home-split-card{
  min-height:0 !important;
  height:100% !important;
  grid-template-columns:42% 58% !important;
  border-radius:20px !important;
  box-shadow:0 10px 26px rgba(44,50,62,.10) !important;
}

.hero-services-column-v103 .home-split-image{
  min-height:0 !important;
}

.hero-services-column-v103 .home-split-content{
  padding:15px 13px 12px !important;
}

.hero-services-column-v103 .home-split-content h3{
  font-size:clamp(18px,1.18vw,24px) !important;
  line-height:1.08 !important;
}

.hero-services-column-v103 .home-split-link{
  justify-content:flex-end !important;
  padding-left:0 !important;
  padding-right:4px !important;
}

.home-cert-showcase-v103{
  margin-top:clamp(26px,3vw,44px) !important;
  display:grid !important;
  grid-template-columns:1.28fr .86fr .86fr .96fr !important;
  gap:12px !important;
  max-width:710px !important;
}

.home-cert-item-v103{
  min-height:92px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fff !important;
  border:1px solid rgba(23,59,116,.09) !important;
  border-radius:18px !important;
  padding:10px 12px !important;
  box-shadow:0 8px 20px rgba(44,50,62,.08) !important;
  text-decoration:none !important;
  overflow:hidden !important;
}

.home-cert-item-v103 img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:70px !important;
  object-fit:contain !important;
}

.home-cert-primary-v103 img{
  max-height:54px !important;
}

.home-cert-iso-v103 img{
  max-height:76px !important;
}

.home-cert-ebafos-v103 img{
  max-height:60px !important;
}

@media(max-width:1320px){
  .hero.hero-home-v103{
    grid-template-columns:1fr 1fr !important;
  }
  .hero-services-column-v103{
    grid-column:1 / -1;
    grid-template-columns:repeat(4,1fr) !important;
    grid-template-rows:none !important;
  }
  .hero-services-column-v103 .home-split-card{
    min-height:132px !important;
  }
}

@media(max-width:900px){
  .hero.hero-home-v103{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }
  .hero-photo-v103{
    min-height:360px !important;
  }
  .hero-services-column-v103{
    grid-template-columns:1fr 1fr !important;
  }
  .home-cert-showcase-v103{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:620px){
  .hero-home-v103 .hero-panel-white{
    padding:38px 22px 32px !important;
  }
  .hero-services-column-v103{
    grid-template-columns:1fr !important;
  }
  .home-cert-showcase-v103{
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }
  .home-cert-item-v103{
    min-height:82px !important;
  }
  .home-cert-primary-v103,
  .home-cert-ebafos-v103{
    grid-column:1 / -1 !important;
  }
}


/* ===== V104: Home - ripristino foto hero della v101 ===== */
.hero-photo-v103{
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,0) 22%, rgba(255,255,255,0) 100%),
    url('assets/images/hero-sepli.jpg') !important;
  background-size:cover !important;
  background-position:center center !important;
}


/* V105: ripristinata in home la foto ESATTA della v101 rimuovendo l'override hero-photo-v103 */


/* ===== V106: home - elimina l'effetto bianco sopra la colonna servizi ===== */
.hero-services-column-v103{
  position:relative !important;
  overflow:hidden !important;
}

.hero-services-column-v103::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  height:12px !important;
  background:linear-gradient(90deg, rgba(227,233,241,0) 0%, rgba(188,201,219,.95) 42%, rgba(144,166,196,.95) 50%, rgba(188,201,219,.95) 58%, rgba(227,233,241,0) 100%) !important;
  pointer-events:none !important;
  z-index:0 !important;
}

.hero-services-column-v103 .home-split-card{
  position:relative !important;
  z-index:1 !important;
}

@media(max-width:900px){
  .hero-services-column-v103::before{
    height:10px !important;
  }
}


/* ===== V107: separazione colonna card con riga arancione, senza bianco brutto ===== */
.hero-home-v103{
  overflow:hidden !important;
}

.hero-services-column-v103{
  padding-top:12px !important;
  border-top:5px solid #d77f33 !important;
  background:linear-gradient(180deg,#f8fafc 0%, #ffffff 22%, #f7fafc 100%) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65) !important;
}

.hero-services-column-v103::before{
  display:none !important;
}

@media(max-width:900px){
  .hero-services-column-v103{
    padding-top:10px !important;
    border-top-width:4px !important;
  }
}


/* ===== V108: riga arancione sfumata verso il bianco sopra colonna card ===== */
.hero-services-column-v103{
  position:relative !important;
  overflow:hidden !important;
  padding-top:16px !important;
  border-top:none !important;
  background:linear-gradient(180deg,#fbfcfe 0%, #ffffff 24%, #f7fafc 100%) !important;
}

.hero-services-column-v103::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  height:16px !important;
  background:linear-gradient(180deg, rgba(215,127,51,0.95) 0%, rgba(215,127,51,0.65) 26%, rgba(215,127,51,0.28) 56%, rgba(255,255,255,0) 100%) !important;
  pointer-events:none !important;
  z-index:0 !important;
}

.hero-services-column-v103 .home-split-card{
  position:relative !important;
  z-index:1 !important;
}

@media(max-width:900px){
  .hero-services-column-v103{
    padding-top:14px !important;
  }
  .hero-services-column-v103::before{
    height:14px !important;
  }
}

/* ===== V111: home - card servizi più eleganti e foto centrale leggermente più ampia verso sinistra ===== */
.hero.hero-home-v103{
  grid-template-columns:minmax(390px, 39%) minmax(430px, 40%) minmax(250px, 21%) !important;
}

.hero-photo-side{
  background-position:42% center !important;
}

.hero-services-column-v103{
  padding:18px 18px 18px !important;
  gap:14px !important;
}

.hero-services-column-v103 .home-split-card{
  position:relative !important;
  grid-template-columns:40% 60% !important;
  border-radius:28px 14px 28px 14px !important;
  border:1px solid rgba(206,216,230,.95) !important;
  background:linear-gradient(145deg,#ffffff 0%,#f8fbfe 100%) !important;
  box-shadow:0 14px 32px rgba(31,53,93,.10) !important;
  overflow:hidden !important;
  transition:transform .22s ease, box-shadow .22s ease !important;
}

.hero-services-column-v103 .home-split-card:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 18px 38px rgba(31,53,93,.14) !important;
}

.hero-services-column-v103 .home-split-card::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  border-radius:inherit !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55) !important;
  pointer-events:none !important;
}

.hero-services-column-v103 .home-split-image{
  min-height:0 !important;
  position:relative !important;
  overflow:hidden !important;
}

.hero-services-column-v103 .home-split-image::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(90deg, rgba(18,31,53,.08) 0%, rgba(18,31,53,0) 36%) !important;
  pointer-events:none !important;
}

.hero-services-column-v103 .home-split-content{
  padding:18px 16px 14px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.97) 0%, rgba(247,250,253,.98) 100%) !important;
}

.hero-services-column-v103 .home-split-content::before{
  left:0 !important;
  top:18px !important;
  bottom:18px !important;
  width:4px !important;
  border-radius:6px !important;
}

.hero-services-column-v103 .home-split-content h3{
  font-size:clamp(18px,1.14vw,23px) !important;
  line-height:1.08 !important;
  letter-spacing:-0.02em !important;
  max-width:92% !important;
}

.hero-services-column-v103 .home-split-link{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  border-radius:50% !important;
  background:#ffffff !important;
  box-shadow:0 10px 18px rgba(31,53,93,.16) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:flex-end !important;
  margin-top:10px !important;
  color:#d77f33 !important;
  padding:0 !important;
}

.hero-services-column-v103 .home-split-link .icon-eye{
  font-size:15px !important;
  line-height:1 !important;
}

@media(max-width:1320px){
  .hero.hero-home-v103{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:900px){
  .hero-photo-side{
    background-position:center center !important;
  }

  .hero-services-column-v103 .home-split-card{
    border-radius:24px 12px 24px 12px !important;
  }
}


/* ===== V112: Chi siamo - fascia fotografica discreta, senza modificare la struttura ===== */
.about-photo-strip{
  max-width:1320px;
  margin:0 auto 56px;
  padding:0 clamp(28px,4vw,60px);
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:22px;
}

.about-photo-card{
  background:#fff;
  border:1px solid rgba(215,127,51,.20);
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 18px 42px rgba(31,53,93,.10);
}

.about-photo-card img{
  width:100%;
  height:170px;
  object-fit:cover;
  display:block;
}

.about-photo-card div{
  padding:20px 22px 22px;
}

.about-photo-card h3{
  margin:0 0 8px;
  color:#173b73;
  font-family:"Segoe UI", Arial, Helvetica, sans-serif;
  font-size:1.18rem;
  line-height:1.18;
  letter-spacing:-.02em;
}

.about-photo-card p{
  margin:0;
  color:#334155;
  font-family:"Segoe UI", Arial, Helvetica, sans-serif;
  font-size:.98rem;
  line-height:1.5;
}

@media(max-width:900px){
  .about-photo-strip{
    grid-template-columns:1fr;
    margin-bottom:42px;
  }

  .about-photo-card img{
    height:210px;
  }
}

/* ===== V113: Chi siamo - box professionalità più colorato ===== */
.clients-profession-card{
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,251,255,.96) 100%) !important;
  border:1px solid rgba(229,127,67,.20) !important;
  box-shadow:0 22px 48px rgba(23,59,116,.10) !important;
}

.clients-profession-card::before{
  height:8px !important;
  background:linear-gradient(90deg,#f08d49 0%, #f3b454 35%, #6fb8ff 70%, #3f86e8 100%) !important;
}

.clients-profession-card h2{
  color:#163c76 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.55);
}

.clients-profession-card .clients-profession-panel{
  gap:14px !important;
}

.clients-profession-card .profession-chip{
  position:relative;
  overflow:hidden;
  border-radius:20px !important;
  border:1px solid rgba(222,231,244,.9) !important;
  box-shadow:0 8px 18px rgba(23,59,116,.08) !important;
  font-weight:800 !important;
}

.clients-profession-card .profession-chip::before{
  width:6px !important;
  border-radius:999px !important;
}

.clients-profession-card .profession-chip:nth-child(1){
  background:linear-gradient(135deg,#fff5ed 0%, #fffaf6 100%) !important;
  color:#9a4f16 !important;
}
.clients-profession-card .profession-chip:nth-child(1)::before{
  background:linear-gradient(180deg,#f08d49,#e57f43) !important;
}

.clients-profession-card .profession-chip:nth-child(2){
  background:linear-gradient(135deg,#edf5ff 0%, #f8fbff 100%) !important;
  color:#184a93 !important;
}
.clients-profession-card .profession-chip:nth-child(2)::before{
  background:linear-gradient(180deg,#63a8ff,#2f7de1) !important;
}

.clients-profession-card .profession-chip:nth-child(3){
  background:linear-gradient(135deg,#f6f1ff 0%, #fbf9ff 100%) !important;
  color:#5e3f9f !important;
}
.clients-profession-card .profession-chip:nth-child(3)::before{
  background:linear-gradient(180deg,#9b7cf4,#6f57cc) !important;
}

.clients-profession-card .profession-chip:nth-child(4){
  background:linear-gradient(135deg,#eefbf6 0%, #f8fffb 100%) !important;
  color:#18734e !important;
}
.clients-profession-card .profession-chip:nth-child(4)::before{
  background:linear-gradient(180deg,#42c98b,#1d9c6a) !important;
}


/* ===== V115: Home con foto full width sfumata a sinistra e card sotto al testo ===== */
.hero.hero-home-v115{
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(360px, 43%) 1fr !important;
  grid-template-rows:minmax(470px, calc(100vh - 230px)) auto !important;
  gap:0 !important;
  min-height:auto !important;
  padding:0 !important;
  background:#ffffff !important;
  overflow:hidden !important;
}

.hero-home-v115 .hero-panel-white{
  grid-column:1 !important;
  grid-row:1 !important;
  position:relative !important;
  z-index:2 !important;
  background:transparent !important;
  padding:clamp(14px, 2vw, 28px) clamp(32px, 4.2vw, 68px) clamp(12px, 1.6vw, 20px) !important;
  justify-content:flex-start !important;
  align-self:stretch !important;
}

.hero-home-v115 .hero-logo-large{
  width:clamp(230px, 18vw, 330px) !important;
  margin-bottom:clamp(10px, 1.4vw, 18px) !important;
}

.hero-home-v115 h1{
  font-size:clamp(52px, 5vw, 88px) !important;
  line-height:.94 !important;
  margin-bottom:18px !important;
}

.hero-home-v115 .hero-text{
  max-width:620px !important;
  font-size:clamp(16px, 1.05vw, 19px) !important;
  line-height:1.6 !important;
}

.hero-home-v115 .hero-photo-side{
  grid-column:1 / -1 !important;
  grid-row:1 !important;
  min-height:100% !important;
  z-index:1 !important;
  background-image:
    linear-gradient(90deg,
      rgba(255,255,255,1) 0%,
      rgba(255,255,255,.98) 13%,
      rgba(255,255,255,.94) 22%,
      rgba(255,255,255,.82) 31%,
      rgba(255,255,255,.58) 40%,
      rgba(255,255,255,.26) 50%,
      rgba(255,255,255,.08) 58%,
      rgba(255,255,255,0) 66%),
    url('assets/images/hero-sepli-foto-approvata.png') !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
}

.hero-home-v115 .hero-photo-side:after{
  display:none !important;
}

.hero-home-v115 .hero-services-column-v103,
.hero-home-v115 .hero-services-row-v115{
  grid-column:1 / -1 !important;
  grid-row:2 !important;
  padding:18px clamp(32px, 4.2vw, 68px) 40px !important;
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  grid-template-rows:none !important;
  gap:18px !important;
  align-items:stretch !important;
  background:#ffffff !important;
}

.hero-home-v115 .hero-services-column-v103 .home-split-card{
  min-height:148px !important;
  height:100% !important;
  grid-template-columns:40% 60% !important;
  border-radius:22px !important;
  box-shadow:0 14px 34px rgba(44,50,62,.12) !important;
}

.hero-home-v115 .hero-services-column-v103 .home-split-image{
  min-height:148px !important;
}

.hero-home-v115 .hero-services-column-v103 .home-split-content{
  padding:18px 16px 14px !important;
}

.hero-home-v115 .hero-services-column-v103 .home-split-content h3{
  font-size:clamp(18px, 1.18vw, 24px) !important;
  line-height:1.05 !important;
}

.hero-home-v115 .home-cert-showcase-v103{
  display:none !important;
}

@media (max-width: 1320px){
  .hero.hero-home-v115{
    grid-template-columns:minmax(320px, 45%) 1fr !important;
    grid-template-rows:minmax(560px, auto) auto !important;
  }
  .hero-home-v115 .hero-services-column-v103,
  .hero-home-v115 .hero-services-row-v115{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px){
  .hero.hero-home-v115{
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto auto !important;
  }
  .hero-home-v115 .hero-panel-white{
    grid-column:1 !important;
    grid-row:1 !important;
    padding:38px 22px 28px !important;
  }
  .hero-home-v115 .hero-photo-side{
    grid-column:1 !important;
    grid-row:2 !important;
    min-height:380px !important;
    background-image:
      linear-gradient(180deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 18%),
      url('assets/images/hero-sepli-foto-approvata.png') !important;
    background-position:center center !important;
  }
  .hero-home-v115 .hero-services-column-v103,
  .hero-home-v115 .hero-services-row-v115{
    grid-column:1 !important;
    grid-row:3 !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    padding:18px 22px 32px !important;
  }
}

@media (max-width: 620px){
  .hero-home-v115 h1{
    font-size:42px !important;
  }
  .hero-home-v115 .hero-services-column-v103,
  .hero-home-v115 .hero-services-row-v115{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .hero-home-v115 .hero-services-column-v103 .home-split-card{
    min-height:132px !important;
  }
  .hero-home-v115 .hero-services-column-v103 .home-split-image{
    min-height:132px !important;
  }
}


/* ===== V118: font unico su tutto il sito ===== */
:root{
  --font-sepli:"Segoe UI", Arial, Helvetica, sans-serif;
}

html,
body,
header,
nav,
main,
section,
article,
aside,
footer,
div,
p,
a,
span,
strong,
em,
small,
label,
input,
textarea,
button,
select,
option,
h1,
h2,
h3,
h4,
h5,
h6,
li,
ul,
ol,
table,
th,
td{
  font-family:var(--font-sepli) !important;
}

/* Mantiene le differenze solo con dimensione, peso e spaziatura */
h1,
.hero-panel-white h1,
.hero-home-v115 h1{
  font-weight:900 !important;
}

h2,
h3,
h4,
nav a,
.btn,
.footer-action-btn,
.profession-chip,
.home-split-content h3{
  font-weight:800 !important;
}

p,
li,
input,
textarea,
label,
.footer-links,
.hero-text{
  font-weight:400 !important;
}

strong{
  font-weight:800 !important;
}


/* ===== V119: font uniforme forzato + titolo home su righe controllate ===== */
500;600;700;800;900&display=swap');

body,
body *{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
}

.hero-home-v115 h1{
  max-width:none !important;
}

.hero-home-v115 h1 .home-title-nowrap{
  white-space:nowrap !important;
  display:inline-block !important;
}

@media(max-width:780px){
  .hero-home-v115 h1 .home-title-nowrap{
    white-space:normal !important;
  }
}


/* ===== V120: FONT UNICO REALE SU TUTTO IL SITO ===== */
/* Uso Arial/Helvetica per avere lo stesso carattere anche aprendo i file in locale, senza dipendere da Google Fonts. */
:root{
  --font-sepli:"Segoe UI", Arial, Helvetica, sans-serif;
}

html,
body,
body *,
body *::before,
body *::after,
input,
textarea,
button,
select{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-style: normal !important;
}

/* Le differenze restano solo: grandezza, grassetto, interlinea e colore */
h1,
.hero-panel-white h1,
.hero-home-v115 h1{
  font-weight: 900 !important;
}

h2,
h3,
h4,
nav a,
.btn,
.footer-action-btn,
.profession-chip,
.home-split-content h3{
  font-weight: 800 !important;
}

p,
li,
label,
input,
textarea,
.footer-links,
.hero-text{
  font-weight: 400 !important;
}


/* ===== V122: Bottone consulenza sotto testo Home ===== */
.hero-consult-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  margin-top:24px !important;
  padding:15px 24px !important;
  border-radius:999px !important;
  background:#d77f33 !important;
  color:#ffffff !important;
  text-decoration:none !important;
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-size:16px !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
  box-shadow:0 12px 26px rgba(215,127,51,.28) !important;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.hero-consult-btn:hover{
  transform:translateY(-2px) !important;
  background:#c96f25 !important;
  box-shadow:0 16px 34px rgba(215,127,51,.34) !important;
}

@media(max-width:620px){
  .hero-consult-btn{
    width:100% !important;
    max-width:330px !important;
    margin-top:20px !important;
  }
}


/* ===== V123: Testo Home giustificato e footer pulito ===== */
.hero-home-v115 .hero-text,
.hero-text{
  text-align:justify !important;
  text-justify:inter-word !important;
  hyphens:auto !important;
}


/* ===== V124: giustificato corretto senza sillabazione ===== */
.hero-home-v115 .hero-text,
.hero-text{
  text-align: justify !important;
  text-align-last: left !important;
  text-justify: inter-word !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
  -ms-hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
}

.hero-home-v115 .hero-text{
  max-width: 680px !important;
  line-height: 1.7 !important;
}


/* ===== V125: Home - testo leggibile, non giustificato ===== */
.hero-home-v115 .hero-text{
  text-align:left !important;
  text-align-last:left !important;
  text-justify:auto !important;
  hyphens:none !important;
  -webkit-hyphens:none !important;
  -ms-hyphens:none !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  white-space:normal !important;
  max-width:640px !important;
  line-height:1.62 !important;
}


/* ===== V127: Chi siamo - font e impaginazione coerenti con il resto del sito ===== */
.clients-hero-copy,
.clients-hero-copy *,
.clients-page,
.clients-page *{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
}

.clients-hero-copy h1{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-weight:900 !important;
  color:#173b73 !important;
  letter-spacing:-0.045em !important;
}

.clients-hero-copy p{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-size:clamp(18px, 1.25vw, 22px) !important;
  line-height:1.55 !important;
  font-weight:400 !important;
  color:#173b73 !important;
  max-width:900px !important;
  text-align:left !important;
  text-align-last:left !important;
  hyphens:none !important;
  -webkit-hyphens:none !important;
  -ms-hyphens:none !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}


/* ===== V128: Servizi - sottotitoli card e font uniforme ===== */
.services-page,
.services-page *,
.services-grid,
.services-grid *,
.service-card-subtitle{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
}

.service-card-subtitle{
  margin:14px 0 0 !important;
  max-width:360px !important;
  font-size:clamp(15px, .95vw, 17px) !important;
  line-height:1.42 !important;
  font-weight:400 !important;
  color:#173b73 !important;
  letter-spacing:0 !important;
  text-align:left !important;
  text-align-last:left !important;
  hyphens:none !important;
  -webkit-hyphens:none !important;
  -ms-hyphens:none !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.home-split-content .service-card-subtitle,
.service-card .service-card-subtitle{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
}


/* ===== V129: Servizi - sottotitoli visibili sotto i titoli delle card ===== */
.services-macro-grid .home-split-content,
.services-grid .home-split-content,
.home-split-content{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
}

.home-split-content .service-card-subtitle,
.service-card-subtitle{
  display:block !important;
  margin:14px 0 0 !important;
  padding:0 !important;
  max-width:360px !important;
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-size:clamp(14px, .88vw, 16px) !important;
  line-height:1.38 !important;
  font-weight:400 !important;
  color:#173b73 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  text-align:left !important;
  text-align-last:left !important;
  hyphens:none !important;
  -webkit-hyphens:none !important;
  -ms-hyphens:none !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.home-split-content h3 + .service-card-subtitle{
  margin-top:12px !important;
}


/* ===== V130: Servizi - sottotitoli REALI nelle card della pagina servizi ===== */
.services-split-content,
.services-split-content *{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
}

.services-split-content{
  justify-content:flex-start !important;
  gap:12px !important;
  padding:30px 30px 24px !important;
}

.services-split-content h2{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-size:clamp(30px, 2.25vw, 38px) !important;
  line-height:1.04 !important;
  font-weight:900 !important;
  margin:0 !important;
  padding-left:18px !important;
  color:#173b73 !important;
  letter-spacing:-0.03em !important;
}

.services-card-subtitle{
  display:block !important;
  margin:0 !important;
  padding-left:18px !important;
  max-width:390px !important;
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-size:clamp(14px, .92vw, 16px) !important;
  line-height:1.38 !important;
  font-weight:400 !important;
  color:#173b73 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  text-align:left !important;
  text-align-last:left !important;
  hyphens:none !important;
  -webkit-hyphens:none !important;
  -ms-hyphens:none !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.services-split-link{
  position:absolute !important;
  right:26px !important;
  bottom:24px !important;
}

@media(max-width:900px){
  .services-card-subtitle{
    font-size:14px !important;
  }
}


/* ===== V132: font uniforme reale nelle card Servizi ===== */
.services-hero,
.services-hero *,
.services-overview,
.services-overview *,
.services-split-card,
.services-split-card *,
.services-split-content,
.services-split-content *,
.services-card-subtitle{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-style: normal !important;
}

.services-split-content h2{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-weight: 900 !important;
  font-size: clamp(28px, 2.15vw, 38px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.035em !important;
  color: #173b73 !important;
}

.services-card-subtitle{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-weight: 400 !important;
  font-size: clamp(16px, 1vw, 18px) !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
  color: #173b73 !important;
}


/* ===== V133: Pagina Ingegneria e Architettura - contenuti riorganizzati ===== */
.service-main-list-v133,
.service-main-list-v133 *,
.service-intro-card-v133,
.service-intro-card-v133 *,
.service-family-grid-v133,
.service-family-grid-v133 *{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-style:normal !important;
}

.service-main-list-v133{
  display:flex !important;
  flex-direction:column !important;
  gap:24px !important;
}

.service-intro-card-v133{
  background:#ffffff !important;
  border:1px solid rgba(217,132,73,.35) !important;
  border-radius:28px !important;
  padding:32px 34px !important;
  box-shadow:0 18px 48px rgba(23,59,116,.08) !important;
  position:relative !important;
  overflow:hidden !important;
}

.service-intro-card-v133::before{
  content:"" !important;
  position:absolute !important;
  inset:0 0 auto 0 !important;
  height:4px !important;
  background:linear-gradient(90deg,#d77f33,#2767c9) !important;
}

.service-intro-card-v133 h2{
  margin:0 0 14px !important;
  font-size:clamp(28px,2.4vw,40px) !important;
  line-height:1.08 !important;
  font-weight:900 !important;
  letter-spacing:-0.035em !important;
  color:#173b73 !important;
}

.service-intro-card-v133 p{
  margin:0 !important;
  font-size:clamp(17px,1.05vw,19px) !important;
  line-height:1.62 !important;
  font-weight:400 !important;
  color:#173b73 !important;
  text-align:left !important;
  text-align-last:left !important;
  hyphens:none !important;
  -webkit-hyphens:none !important;
  -ms-hyphens:none !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.service-family-grid-v133{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:20px !important;
}

.service-family-grid-v133 article{
  background:#ffffff !important;
  border:1px solid rgba(217,132,73,.28) !important;
  border-radius:24px !important;
  padding:24px 26px !important;
  box-shadow:0 14px 36px rgba(23,59,116,.07) !important;
}

.service-family-grid-v133 article:last-child{
  grid-column:1 / -1 !important;
}

.service-family-grid-v133 h3{
  margin:0 0 12px !important;
  font-size:clamp(20px,1.35vw,26px) !important;
  line-height:1.12 !important;
  font-weight:900 !important;
  letter-spacing:-0.022em !important;
  color:#173b73 !important;
}

.service-family-grid-v133 p{
  margin:0 !important;
  font-size:clamp(16px,.98vw,18px) !important;
  line-height:1.5 !important;
  font-weight:400 !important;
  color:#173b73 !important;
}

@media(max-width:900px){
  .service-family-grid-v133{
    grid-template-columns:1fr !important;
  }
  .service-family-grid-v133 article:last-child{
    grid-column:auto !important;
  }
}


/* ===== V134: Ingegneria e Architettura - hero testo e liste puntate ===== */
.service-detail-hero .service-detail-copy > p:not(.services-kicker){
  max-width: 720px !important;
  font-size: clamp(16px,1vw,19px) !important;
  line-height: 1.48 !important;
}

.service-family-grid-v133 article ul,
.service-family-grid-v133 article ol{
  margin: 0 !important;
  padding-left: 1.2em !important;
  color: #173b73 !important;
  column-count: 2 !important;
  column-gap: 28px !important;
}

.service-family-grid-v133 article li{
  margin: 0 0 8px 0 !important;
  font-size: clamp(15px,.92vw,17px) !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  color: #173b73 !important;
  break-inside: avoid !important;
  page-break-inside: avoid !important;
  -webkit-column-break-inside: avoid !important;
}

.service-family-grid-v133 article li:last-child{ margin-bottom: 0 !important; }

@media(max-width: 1200px){
  .service-family-grid-v133 article ul,
  .service-family-grid-v133 article ol{
    column-count: 1 !important;
  }
}


/* ===== V140: Consulenza tecnica e servizi specialistici ===== */
.service-main-list-v140,
.service-main-list-v140 *,
.service-family-grid-v140,
.service-family-grid-v140 *{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-style:normal !important;
}

.service-main-list-v140{
  display:flex !important;
  flex-direction:column !important;
  gap:24px !important;
}

.service-family-grid-v140{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:20px !important;
}

.service-family-grid-v140 article{
  background:#ffffff !important;
  border:1px solid rgba(217,132,73,.28) !important;
  border-radius:24px !important;
  padding:24px 26px !important;
  box-shadow:0 14px 36px rgba(23,59,116,.07) !important;
}

.service-family-grid-v140 h3{
  margin:0 0 12px !important;
  font-size:clamp(20px,1.35vw,26px) !important;
  line-height:1.12 !important;
  font-weight:900 !important;
  letter-spacing:-0.022em !important;
  color:#173b73 !important;
}

.service-family-grid-v140 article ul,
.service-family-grid-v140 article ol{
  margin:0 !important;
  padding-left:1.2em !important;
  color:#173b73 !important;
  column-count:1 !important;
}

.service-family-grid-v140 article li{
  margin:0 0 8px 0 !important;
  font-size:clamp(15px,.92vw,17px) !important;
  line-height:1.42 !important;
  font-weight:400 !important;
  color:#173b73 !important;
  break-inside:avoid !important;
  page-break-inside:avoid !important;
  -webkit-column-break-inside:avoid !important;
}

.service-family-grid-v140 article li:last-child{ margin-bottom:0 !important; }

.service-side-contact{
  margin-top:30px !important;
}

@media(max-width:900px){
  .service-family-grid-v140{
    grid-template-columns:1fr !important;
  }
}


/* ===== V142: Sicurezza riorganizzata ===== */
.service-detail-copy-safety p:not(.services-kicker){
  font-size:clamp(14px,1.02vw,17px) !important;
  line-height:1.48 !important;
  max-width:690px !important;
}

.service-main-list-v142,
.service-main-list-v142 *,
.service-family-grid-v142,
.service-family-grid-v142 *{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-style:normal !important;
}

.service-main-list-v142{
  display:flex !important;
  flex-direction:column !important;
  gap:24px !important;
}

.service-family-grid-v142{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px !important;
}

.service-family-grid-v142 article{
  background:#ffffff !important;
  border:1px solid rgba(217,132,73,.26) !important;
  border-radius:24px !important;
  padding:24px 26px !important;
  box-shadow:0 14px 36px rgba(23,59,116,.07) !important;
}

.service-family-grid-v142 h3{
  margin:0 0 12px !important;
  font-size:clamp(20px,1.35vw,26px) !important;
  line-height:1.12 !important;
  font-weight:900 !important;
  letter-spacing:-0.022em !important;
  color:#173b73 !important;
}

.service-family-grid-v142 article ul{
  margin:0 !important;
  padding-left:1.2em !important;
  color:#173b73 !important;
}

.service-family-grid-v142 article li{
  margin:0 0 8px 0 !important;
  font-size:clamp(15px,.92vw,17px) !important;
  line-height:1.42 !important;
  font-weight:400 !important;
  color:#173b73 !important;
  break-inside:avoid !important;
  page-break-inside:avoid !important;
  -webkit-column-break-inside:avoid !important;
}

.service-family-grid-v142 article li:last-child{ margin-bottom:0 !important; }

.safety-side-nav .service-side-contact{
  margin-top:42px !important;
}

@media(max-width:900px){
  .service-family-grid-v142{
    grid-template-columns:1fr !important;
  }
}


/* Formazione - hero aggiornato con accreditamento EBAFoS */
.formazione-hero-visual{
  background-color:#dfeaf4;
  background-size:cover;
  background-position:center;
}

.training-accreditation-box{
  margin-top:28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px;
  border-radius:20px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 14px 32px rgba(7,24,45,.10);
  max-width:640px;
}

.training-accreditation-copy{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.training-accreditation-kicker{
  display:block;
  color:#ffd67c;
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.training-accreditation-copy strong{
  color:#ffffff;
  font-size:clamp(24px,2vw,32px);
  line-height:1;
  letter-spacing:-.03em;
}

.training-accreditation-copy p{
  margin:0 !important;
  color:rgba(255,255,255,.86) !important;
  font-size:15px !important;
  line-height:1.4 !important;
}

.training-accreditation-box img{
  flex:0 0 auto;
  width:min(240px,42%);
  max-height:92px;
  object-fit:contain;
  border-radius:12px;
  background:#ffffff;
  padding:8px 12px;
}

@media(max-width:860px){
  .training-accreditation-box{
    flex-direction:column;
    align-items:flex-start;
  }

  .training-accreditation-box img{
    width:min(260px,100%);
    max-width:100%;
  }
}


/* Formazione - accreditamento EBAFoS sotto le card */
.service-family-grid-v142 .training-accreditation-card{
  grid-column:1 / -1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
  margin-top:2px !important;
  background:#ffffff !important;
  border:1px solid rgba(217,132,73,.26) !important;
  border-radius:24px !important;
  padding:24px 26px !important;
  box-shadow:0 14px 36px rgba(23,59,116,.07) !important;
}

.service-family-grid-v142 .training-accreditation-card .training-accreditation-copy{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
}

.service-family-grid-v142 .training-accreditation-card .training-accreditation-kicker{
  display:block !important;
  color:#c89b3c !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
}

.service-family-grid-v142 .training-accreditation-card h3{
  margin:0 !important;
  font-size:clamp(24px,1.8vw,34px) !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  letter-spacing:-0.022em !important;
  color:#173b73 !important;
}

.service-family-grid-v142 .training-accreditation-card p{
  margin:0 !important;
  color:#173b73 !important;
  font-size:clamp(15px,.92vw,17px) !important;
  line-height:1.42 !important;
  font-weight:400 !important;
}

.service-family-grid-v142 .training-accreditation-card img{
  flex:0 0 auto !important;
  width:min(340px,42%) !important;
  max-height:120px !important;
  object-fit:contain !important;
  border-radius:14px !important;
  background:#ffffff !important;
}

@media(max-width:860px){
  .service-family-grid-v142 .training-accreditation-card{
    flex-direction:column !important;
    align-items:flex-start !important;
  }

  .service-family-grid-v142 .training-accreditation-card img{
    width:min(340px,100%) !important;
    max-width:100% !important;
  }
}


/* Storia - timeline orizzontale con descrizione al passaggio sull’anno */
.history-section--horizontal-hover{
  padding:54px clamp(28px,5vw,80px) 90px !important;
  background:
    radial-gradient(circle at 10% 8%, rgba(42,167,223,.08), transparent 26%),
    radial-gradient(circle at 90% 15%, rgba(229,127,67,.07), transparent 24%),
    linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%) !important;
  overflow:visible !important;
}

.history-hover-wrap{
  max-width:1320px;
  margin:0 auto;
  overflow-x:auto;
  overflow-y:visible;
  padding:132px 18px 42px;
  scrollbar-width:thin;
}

.history-hover-track{
  position:relative;
  display:flex;
  justify-content:space-between;
  gap:18px;
  min-width:1120px;
  min-height:178px;
}

.history-hover-track::before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:44px;
  height:5px;
  border-radius:999px;
  background:linear-gradient(90deg,#e57f43 0%,#d8a43e 28%,#2aa7df 68%,#2e73ff 100%);
  box-shadow:0 8px 22px rgba(23,59,116,.10);
}

.history-hover-item{
  position:relative;
  flex:1 0 74px;
  min-width:74px;
  display:flex;
  flex-direction:column;
  align-items:center;
  outline:none;
}

.history-hover-dot{
  position:relative;
  z-index:2;
  width:24px;
  height:24px;
  margin-top:34px;
  border-radius:50%;
  background:#ffffff;
  border:6px solid #d38d45;
  box-shadow:0 0 0 8px rgba(255,255,255,.88), 0 8px 22px rgba(23,59,116,.16);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.history-hover-item:nth-child(4n+2) .history-hover-dot{border-color:#d8a43e;}
.history-hover-item:nth-child(4n+3) .history-hover-dot{border-color:#2aa7df;}
.history-hover-item:nth-child(4n+4) .history-hover-dot{border-color:#2e73ff;}

.history-hover-year{
  margin-top:14px;
  color:#173b73;
  font-size:15px;
  line-height:1;
  font-weight:900;
  letter-spacing:.02em;
  text-align:center;
  white-space:nowrap;
  cursor:default;
}

.history-hover-card{
  position:absolute;
  left:50%;
  bottom:96px;
  width:330px;
  min-height:118px;
  padding:20px 22px;
  border-radius:22px;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(217,132,73,.24);
  box-shadow:0 18px 44px rgba(23,59,116,.16);
  transform:translateX(-50%) translateY(12px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  z-index:8;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.history-hover-card::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-10px;
  width:20px;
  height:20px;
  transform:translateX(-50%) rotate(45deg);
  background:rgba(255,255,255,.98);
  border-right:1px solid rgba(217,132,73,.24);
  border-bottom:1px solid rgba(217,132,73,.24);
}

.history-hover-card h3{
  margin:0 0 8px;
  color:#173b73;
  font-size:22px;
  line-height:1.12;
  font-weight:900;
  letter-spacing:-.02em;
}

.history-hover-card p{
  margin:0;
  color:#40516d;
  font-size:14px;
  line-height:1.5;
}

.history-hover-item:hover,
.history-hover-item:focus,
.history-hover-item:focus-within{
  z-index:20;
}

.history-hover-item:hover .history-hover-dot,
.history-hover-item:focus .history-hover-dot,
.history-hover-item:focus-within .history-hover-dot{
  transform:scale(1.22);
  border-color:#e57f43;
  box-shadow:0 0 0 10px rgba(229,127,67,.14), 0 12px 30px rgba(23,59,116,.20);
}

.history-hover-item:hover .history-hover-card,
.history-hover-item:focus .history-hover-card,
.history-hover-item:focus-within .history-hover-card{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}

.history-hover-note{
  margin:10px 0 0;
  color:#6b7890;
  text-align:center;
  font-size:13px;
}

@media(max-width:760px){
  .history-section--horizontal-hover{
    padding:36px 18px 70px !important;
  }

  .history-hover-wrap{
    padding:132px 6px 38px;
  }

  .history-hover-track{
    justify-content:flex-start;
    min-width:1040px;
    gap:16px;
  }

  .history-hover-item{
    flex:0 0 72px;
  }

  .history-hover-card{
    width:300px;
  }
}


/* Clienti - aggiornamento Settori di Competenza */
.clients-sector-head--centered .clients-kicker{
  margin:0 0 10px !important;
  color:#d98449 !important;
  font-size:12px !important;
  letter-spacing:.20em !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
}

.clients-sector-head--centered .clients-sector-subtitle{
  max-width:980px !important;
  margin:0 auto !important;
  color:#32435f !important;
  font-size:clamp(15px,1vw,17px) !important;
  line-height:1.56 !important;
  font-weight:400 !important;
}

.clients-sector-grid--minimal{
  margin-top:30px !important;
}

.sector-card--minimal{
  min-height:258px !important;
  align-items:flex-start !important;
  justify-content:flex-end !important;
}

.sector-card--minimal::before{
  background:linear-gradient(180deg, rgba(7,24,48,.02) 0%, rgba(7,24,48,.12) 34%, rgba(7,24,48,.78) 100%) !important;
}

.sector-card--minimal h3{
  padding:18px 18px 6px !important;
  color:#ffffff !important;
  font-size:clamp(16px,1.02vw,20px) !important;
  font-weight:900 !important;
  line-height:1.12 !important;
  text-shadow:0 2px 12px rgba(0,0,0,.28) !important;
}

.sector-card-desc{
  position:relative !important;
  z-index:2 !important;
  width:100% !important;
  margin:0 !important;
  padding:0 18px 18px !important;
  color:rgba(255,255,255,.92) !important;
  font-size:clamp(12px,.78vw,13px) !important;
  line-height:1.35 !important;
  font-weight:400 !important;
  text-align:left !important;
  text-shadow:0 2px 12px rgba(0,0,0,.32) !important;
}

@media(max-width:1150px){
  .sector-card--minimal{
    min-height:238px !important;
  }
}

@media(max-width:680px){
  .sector-card--minimal{
    min-height:230px !important;
  }
  .sector-card-desc{
    font-size:13px !important;
  }
}






/* Certificazioni - hero con immagine a destra sfumata verso sinistra */
.cert-hero-v73--visual{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);
  gap:34px;
  align-items:center;
}

.cert-hero-copy{
  min-width:0;
  position:relative;
  z-index:2;
}

.cert-hero-visual-image{
  position:relative;
  min-height:300px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.cert-hero-image-shell{
  position:relative;
  width:100%;
  min-height:280px;
  border-radius:34px;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 22%, rgba(42,167,223,.08), transparent 22%),
    linear-gradient(135deg,#ffffff 0%,#eef6fb 52%,#fff7ec 100%);
}

.cert-hero-image-fade{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center right;
  background-repeat:no-repeat;
}

.cert-hero-image-fade::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      #f6fafc 0%,
      rgba(246,250,252,.98) 10%,
      rgba(246,250,252,.90) 18%,
      rgba(246,250,252,.72) 28%,
      rgba(246,250,252,.38) 40%,
      rgba(246,250,252,.10) 52%,
      rgba(246,250,252,0) 66%);
}

.cert-hero-image-fade::after{
  content:"";
  position:absolute;
  inset:0;
  box-shadow:inset 0 0 0 1px rgba(6,45,112,.08);
  border-radius:34px;
  pointer-events:none;
}

@media(max-width:980px){
  .cert-hero-v73--visual{
    grid-template-columns:1fr;
    gap:24px;
  }

  .cert-hero-visual-image{
    min-height:240px;
  }

  .cert-hero-image-shell{
    min-height:230px;
  }

  .cert-hero-image-fade::before{
    background:
      linear-gradient(90deg,
        #f6fafc 0%,
        rgba(246,250,252,.94) 14%,
        rgba(246,250,252,.70) 28%,
        rgba(246,250,252,.18) 48%,
        rgba(246,250,252,0) 68%);
  }
}

@media(max-width:560px){
  .cert-hero-visual-image{
    min-height:210px;
  }

  .cert-hero-image-shell{
    min-height:200px;
    border-radius:24px;
  }

  .cert-hero-image-fade::after{
    border-radius:24px;
  }
}


/* Contatti - privacy disclosure obbligatoria */
.privacy-disclosure{
  margin:6px 0 10px;
  border-radius:16px;
  background:#ffffff;
  border:1px solid rgba(6,45,112,.12);
  box-shadow:0 10px 26px rgba(18,32,51,.05);
  overflow:hidden;
}

.privacy-disclosure summary{
  list-style:none;
  cursor:pointer;
  padding:14px 16px;
  font-weight:800;
  color:#173b74;
  position:relative;
}

.privacy-disclosure summary::-webkit-details-marker{
  display:none;
}

.privacy-disclosure summary::after{
  content:"+";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  color:#d98449;
  font-size:22px;
  line-height:1;
  font-weight:700;
}

.privacy-disclosure[open] summary::after{
  content:"−";
}

.privacy-disclosure-content{
  padding:0 16px 16px;
}

.privacy-disclosure-content p{
  margin:0;
  color:#42506a;
  font-size:14px;
  line-height:1.55;
}

.gdpr-consent-disabled{
  opacity:.68;
}

.gdpr-consent input[disabled]{
  cursor:not-allowed;
}

.gdpr-consent.gdpr-consent-enabled{
  opacity:1;
}

.gdpr-consent-helper{
  display:block;
  margin-top:6px;
  color:#6a7790;
  font-size:12px;
}


/* Storia - soluzione pulita con video e timeline */
.story-hero-clean-video{
  display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr) !important;
  gap:44px !important;
  align-items:center !important;
  min-height:430px !important;
  padding:62px clamp(28px,5vw,82px) 64px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 15% 12%, rgba(42,167,223,.11), transparent 25%),
    radial-gradient(circle at 85% 18%, rgba(217,132,73,.12), transparent 22%),
    linear-gradient(135deg,#f8fbfe 0%,#eef6fb 56%,#fff7ed 100%) !important;
  border-bottom:1px solid rgba(6,45,112,.08) !important;
}

.story-hero-clean-video::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(rgba(23,59,116,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23,59,116,.045) 1px, transparent 1px) !important;
  background-size:30px 30px !important;
  opacity:.50 !important;
  pointer-events:none !important;
}

.story-hero-clean-video::after{
  content:"" !important;
  position:absolute !important;
  right:-120px !important;
  top:-140px !important;
  width:440px !important;
  height:440px !important;
  border-radius:50% !important;
  background:
    radial-gradient(circle, rgba(42,167,223,.18) 0%, rgba(42,167,223,.08) 38%, rgba(42,167,223,0) 70%) !important;
  filter:blur(2px) !important;
  opacity:1 !important;
  box-shadow:none !important;
  pointer-events:none !important;
}

.story-hero-clean-video .story-hero-copy{
  position:relative !important;
  z-index:2 !important;
  max-width:780px !important;
  padding:34px 38px !important;
  border-radius:30px !important;
  background:rgba(255,255,255,.82) !important;
  border:1px solid rgba(6,45,112,.08) !important;
  box-shadow:0 20px 52px rgba(18,32,51,.08) !important;
}

.story-hero-clean-video .story-hero-copy::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:24px !important;
  bottom:24px !important;
  width:5px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#d98449,#d8a43e,#2aa7df) !important;
}

.story-hero-clean-video .eyebrow{
  margin:0 0 12px !important;
  color:#2aa7df !important;
  font-size:13px !important;
  letter-spacing:.18em !important;
  font-weight:900 !important;
}

.story-hero-clean-video h1{
  margin:0 0 18px !important;
  color:#173b74 !important;
  font-size:clamp(44px,5vw,72px) !important;
  line-height:.96 !important;
  letter-spacing:-.045em !important;
}

.story-hero-clean-video p:not(.eyebrow){
  margin:0 !important;
  max-width:720px !important;
  color:#2b405c !important;
  font-size:clamp(17px,1.25vw,21px) !important;
  line-height:1.55 !important;
}

.story-hero-clean-video .story-hero-media{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  justify-content:center !important;
}

.story-video-panel{
  width:min(100%,520px);
  padding:24px;
  border-radius:34px;
  background:
    linear-gradient(135deg, rgba(23,59,116,.96) 0%, rgba(33,86,126,.94) 62%, rgba(42,167,223,.76) 100%);
  border:1px solid rgba(255,255,255,.24);
  box-shadow:0 24px 64px rgba(18,32,51,.20);
  position:relative;
  overflow:hidden;
}

.story-video-panel::before{
  content:"";
  position:absolute;
  right:-80px;
  top:-90px;
  width:240px;
  height:240px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.24), rgba(255,255,255,0) 70%);
  pointer-events:none;
}

.story-video-meta{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:16px;
  color:#fff;
}

.story-video-meta span{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  color:#ffdca0;
  background:rgba(255,255,255,.10);
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
}

.story-video-meta strong{
  max-width:260px;
  color:#ffffff;
  font-size:18px;
  line-height:1.25;
  text-align:right;
}

.story-hero-clean-video .story-omega-card{
  width:100% !important;
  min-height:240px !important;
  padding:18px !important;
  border-radius:26px !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(255,255,255,.36) !important;
  box-shadow:0 18px 42px rgba(3,18,45,.18) !important;
}

.story-hero-clean-video .story-omega-card::before{
  background:
    linear-gradient(135deg, rgba(42,167,223,.06), rgba(217,132,73,.08)) !important;
}

.story-hero-clean-video .story-omega-card video{
  width:min(100%,380px) !important;
  max-height:210px !important;
  object-fit:contain !important;
  mix-blend-mode:multiply !important;
}

.history-section--horizontal-hover{
  padding-top:42px !important;
}

@media(max-width:1050px){
  .story-hero-clean-video{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  .story-hero-clean-video .story-hero-media{
    justify-content:flex-start !important;
  }

  .story-video-panel{
    width:min(100%,560px);
  }
}

@media(max-width:720px){
  .story-hero-clean-video{
    padding:42px 22px 48px !important;
  }

  .story-hero-clean-video .story-hero-copy{
    padding:28px 26px !important;
    border-radius:24px !important;
  }

  .story-hero-clean-video h1{
    font-size:clamp(38px,11vw,56px) !important;
  }

  .story-video-panel{
    padding:18px;
    border-radius:26px;
  }

  .story-video-meta{
    flex-direction:column;
  }

  .story-video-meta strong{
    text-align:left;
  }

  .story-hero-clean-video .story-omega-card{
    min-height:210px !important;
  }
}






/* Home demo V3 - layout più vicino alla reference */
html, body{
  overflow-x:hidden !important;
}

.hero-home-v115{
  position:relative !important;
  display:grid !important;
  grid-template-columns:34% 66% !important;
  grid-template-rows:minmax(470px, calc(100vh - 210px)) auto !important;
  gap:0 !important;
  min-height:auto !important;
  padding:0 !important;
  background:#fff !important;
  overflow:hidden !important;
}

.hero-home-v115::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(90deg,#fff 0%,#fff 33%,rgba(248,251,255,.72) 58%,#fff 100%) !important;
  pointer-events:none !important;
  z-index:0 !important;
}

.hero-home-v115 .hero-panel-white{
  grid-column:1 !important;
  grid-row:1 !important;
  position:relative !important;
  z-index:5 !important;
  background:transparent !important;
  padding:32px 18px 18px clamp(30px,3vw,50px) !important;
  align-self:stretch !important;
  justify-content:flex-start !important;
  max-width:none !important;
  min-width:0 !important;
}

.hero-home-v115 .hero-logo-large{
  width:clamp(210px,17vw,300px) !important;
  margin:0 0 22px !important;
}

.hero-home-v115 h1{
  margin:0 0 16px !important;
  color:#17315f !important;
  font-size:clamp(58px,5.4vw,92px) !important;
  line-height:.91 !important;
  letter-spacing:-.055em !important;
  white-space:normal !important;
  max-width:600px !important;
}

.hero-home-v115 .hero-text{
  max-width:455px !important;
  margin:0 0 22px !important;
  color:#17315f !important;
  font-size:clamp(14px,1vw,17px) !important;
  line-height:1.58 !important;
}

.hero-home-v115 .hero-consult-btn{
  margin-top:0 !important;
  padding:14px 22px !important;
  border-radius:18px !important;
  font-size:15px !important;
  box-shadow:0 13px 26px rgba(217,116,34,.18) !important;
}

.hero-home-v115 .hero-photo-collage{
  grid-column:2 !important;
  grid-row:1 !important;
  position:relative !important;
  z-index:2 !important;
  min-height:100% !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 82% 16%, rgba(42,167,223,.08), transparent 20%),
    radial-gradient(circle at 86% 82%, rgba(217,132,73,.08), transparent 17%),
    linear-gradient(180deg,#fff 0%,#fbfdff 100%) !important;
}

.hero-home-v115 .hero-photo-collage::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background-image:
    linear-gradient(rgba(31,69,135,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(31,69,135,.07) 1px, transparent 1px) !important;
  background-size:23px 23px !important;
  opacity:.34 !important;
  pointer-events:none !important;
}

.hero-home-v115 .hero-photo-collage::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,1) 0%,
      rgba(255,255,255,.94) 4%,
      rgba(255,255,255,.50) 11%,
      rgba(255,255,255,.08) 19%,
      rgba(255,255,255,0) 29%) !important;
  pointer-events:none !important;
}

.home-collage-stage{
  position:absolute !important;
  left:-82px !important;
  top:-2px !important;
  width:980px !important;
  height:510px !important;
  min-height:0 !important;
  margin:0 !important;
  transform:none !important;
}

.home-tech-line{
  position:absolute !important;
  pointer-events:none !important;
  border:2px solid rgba(30,76,150,.55) !important;
  border-left:none !important;
  border-bottom:none !important;
}

.tech-line-1{
  left:38px !important;
  top:26px !important;
  width:190px !important;
  height:68px !important;
}

.tech-line-2{
  left:540px !important;
  top:38px !important;
  width:218px !important;
  height:70px !important;
}

.tech-line-3{
  left:300px !important;
  bottom:30px !important;
  width:500px !important;
  height:70px !important;
  border-top:none !important;
  border-bottom:2px solid rgba(30,76,150,.55) !important;
  border-right:2px solid rgba(30,76,150,.55) !important;
}

.home-tech-node{
  position:absolute !important;
  width:9px !important;
  height:9px !important;
  border-radius:50% !important;
  background:#174f9d !important;
  box-shadow:0 0 0 4px #fff !important;
}

.tech-node-a{ left:34px !important; top:22px !important; }
.tech-node-b{ left:210px !important; top:92px !important; background:#f08324 !important; }
.tech-node-c{ left:754px !important; top:104px !important; }
.tech-node-d{ left:790px !important; bottom:27px !important; background:#f08324 !important; }

.home-sketch-card{
  position:absolute !important;
  left:155px !important;
  top:54px !important;
  width:300px !important;
  height:168px !important;
  background:rgba(255,255,255,.86) !important;
  border:4px solid #fff !important;
  box-shadow:0 18px 36px rgba(17,33,61,.12) !important;
  transform:rotate(-3deg) !important;
  overflow:hidden !important;
  opacity:.92 !important;
}

.sketch-grid{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(31,69,135,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(31,69,135,.06) 1px, transparent 1px);
  background-size:20px 20px;
}

.sketch-arch{
  position:absolute !important;
  bottom:32px !important;
  width:58px !important;
  height:72px !important;
  border:2px solid rgba(30,53,85,.26) !important;
  border-bottom:none !important;
  background:rgba(255,255,255,.4) !important;
}

.arch-1{ left:54px !important; }
.arch-2{ left:118px !important; }
.arch-3{ left:182px !important; }

.sketch-arch::before{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  top:-19px;
  height:36px;
  border:2px solid rgba(30,53,85,.26);
  border-bottom:none;
  border-radius:36px 36px 0 0;
}

.sketch-base{
  position:absolute;
  left:38px;
  right:38px;
  bottom:24px;
  height:2px;
  background:rgba(30,53,85,.30);
}

.home-collage-item{
  position:absolute !important;
  overflow:hidden !important;
  background:#fff !important;
  border:5px solid #fff !important;
  box-shadow:0 18px 42px rgba(10,28,60,.20) !important;
}

.home-collage-item img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

/* posizione foto: più piena, più simile alla reference */
.item-01{
  left:285px !important;
  top:158px !important;
  width:190px !important;
  height:166px !important;
  transform:rotate(0deg) !important;
  z-index:5 !important;
}

.item-02{
  left:440px !important;
  top:70px !important;
  width:260px !important;
  height:188px !important;
  transform:rotate(-1.2deg) !important;
  z-index:7 !important;
}

.item-03{
  left:635px !important;
  top:30px !important;
  width:182px !important;
  height:135px !important;
  transform:rotate(2deg) !important;
  z-index:9 !important;
}

.item-04{
  left:800px !important;
  top:38px !important;
  width:190px !important;
  height:137px !important;
  transform:rotate(1deg) !important;
  z-index:9 !important;
}

.item-05{
  left:245px !important;
  top:332px !important;
  width:240px !important;
  height:130px !important;
  transform:rotate(-4deg) !important;
  z-index:8 !important;
}

.item-06{
  left:470px !important;
  top:302px !important;
  width:218px !important;
  height:148px !important;
  transform:rotate(2deg) !important;
  z-index:10 !important;
}

.item-07{
  left:650px !important;
  top:298px !important;
  width:176px !important;
  height:150px !important;
  transform:rotate(-4deg) !important;
  z-index:10 !important;
}

.item-08{
  left:805px !important;
  top:212px !important;
  width:158px !important;
  height:242px !important;
  transform:rotate(2.4deg) !important;
  z-index:12 !important;
}

.hero-home-v115 .hero-services-row-demo{
  grid-column:1 / -1 !important;
  grid-row:2 !important;
  position:relative !important;
  z-index:8 !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  padding:10px 32px 18px !important;
  background:#ffffff !important;
  border-top:1px solid rgba(217,132,73,.25) !important;
  box-shadow:0 -2px 0 rgba(217,132,73,.46) !important;
}

.home-feature-card{
  display:grid !important;
  grid-template-columns:96px minmax(0,1fr) !important;
  min-height:132px !important;
  background:#fff !important;
  border-radius:14px !important;
  overflow:hidden !important;
  text-decoration:none !important;
  border:1px solid rgba(10,44,109,.08) !important;
  box-shadow:0 10px 24px rgba(15,31,57,.08) !important;
  color:#173b74 !important;
}

.home-feature-thumb{
  min-height:132px !important;
  background-size:cover !important;
  background-position:center !important;
}

.home-feature-body{
  position:relative !important;
  display:grid !important;
  grid-template-columns:54px minmax(0,1fr) 22px !important;
  gap:12px !important;
  padding:12px 12px 12px 12px !important;
}

.home-feature-icon{
  width:48px !important;
  height:48px !important;
  border-radius:13px !important;
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#eef4ff !important;
  color:#173b74 !important;
  font-weight:900 !important;
}

.home-feature-copy h3{
  margin:2px 0 6px !important;
  font-size:clamp(16px,1vw,20px) !important;
  line-height:1.06 !important;
  letter-spacing:-.03em !important;
  color:#173b74 !important;
}

.home-feature-copy p{
  margin:0 !important;
  color:#4b5e79 !important;
  font-size:12.5px !important;
  line-height:1.42 !important;
}

.home-feature-arrow{
  align-self:end !important;
  justify-self:end !important;
  color:#ef7f22 !important;
  font-size:27px !important;
  line-height:1 !important;
}

.icon-grid::before,
.icon-grid::after,
.icon-helmet::before,
.icon-shield::before{
  content:"";
  position:absolute;
}

.icon-grid::before{
  width:24px;
  height:24px;
  border:2px solid currentColor;
  border-radius:4px;
  background:
    linear-gradient(currentColor,currentColor) 50% 33% / 100% 2px no-repeat,
    linear-gradient(currentColor,currentColor) 50% 66% / 100% 2px no-repeat,
    linear-gradient(currentColor,currentColor) 33% 50% / 2px 100% no-repeat,
    linear-gradient(currentColor,currentColor) 66% 50% / 2px 100% no-repeat;
}

.icon-grid::after{
  width:16px;
  height:2px;
  background:#ef8a23;
  right:8px;
  bottom:10px;
  transform:rotate(-35deg);
  box-shadow:6px 5px 0 -1px #ef8a23;
}

.icon-helmet::before{
  width:26px;
  height:14px;
  top:12px;
  left:11px;
  background:currentColor;
  border-radius:14px 14px 6px 6px;
}

.icon-helmet::after{
  content:"";
  position:absolute;
  width:34px;
  height:8px;
  left:7px;
  top:24px;
  border-top:3px solid currentColor;
}

.icon-shield::before{
  width:24px;
  height:30px;
  top:9px;
  left:12px;
  border:3px solid currentColor;
  clip-path:polygon(50% 0, 100% 12%, 100% 58%, 50% 100%, 0 58%, 0 12%);
}

.icon-hse{
  background:#eef8ff !important;
  color:#1e6fb7 !important;
  font-size:16px !important;
  letter-spacing:.03em !important;
}

.feature-blue .home-feature-icon{background:#eef4ff !important;color:#1d4d95 !important;}
.feature-orange .home-feature-icon{background:#fff2e6 !important;color:#e27c2b !important;}
.feature-gold .home-feature-icon{background:#fff7e8 !important;color:#c78c1f !important;}
.feature-cyan .home-feature-icon{background:#eef8ff !important;color:#1e6fb7 !important;}

@media (max-width: 1500px){
  .home-collage-stage{
    left:-120px !important;
    transform:scale(.92) !important;
    transform-origin:top left !important;
  }
}

@media (max-width: 1280px){
  .hero-home-v115{
    grid-template-columns:36% 64% !important;
  }
  .home-collage-stage{
    left:-150px !important;
    top:4px !important;
    transform:scale(.82) !important;
    transform-origin:top left !important;
  }
  .hero-home-v115 h1{
    font-size:clamp(50px,5vw,78px) !important;
  }
  .hero-home-v115 .hero-services-row-demo{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width: 980px){
  .hero-home-v115{
    grid-template-columns:1fr !important;
    grid-template-rows:auto 380px auto !important;
  }
  .hero-home-v115 .hero-panel-white{
    grid-column:1 !important;
    grid-row:1 !important;
    padding:28px 22px 18px !important;
  }
  .hero-home-v115 .hero-photo-collage{
    grid-column:1 !important;
    grid-row:2 !important;
  }
  .home-collage-stage{
    left:0 !important;
    top:0 !important;
    transform:scale(.67) !important;
    transform-origin:top left !important;
  }
  .hero-home-v115 .hero-services-row-demo{
    grid-column:1 !important;
    grid-row:3 !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    padding:12px 22px 22px !important;
  }
}

@media (max-width: 620px){
  .hero-home-v115{
    grid-template-rows:auto 300px auto !important;
  }
  .hero-home-v115 h1{
    font-size:48px !important;
  }
  .home-collage-stage{
    transform:scale(.50) !important;
  }
  .hero-home-v115 .hero-services-row-demo{
    grid-template-columns:1fr !important;
    padding:12px 18px 22px !important;
  }
}


/* ===== V143: Home finale - collage dinamico + 4 aree + footer blu invariato ===== */
body{ background:#ffffff !important; }
.topbar{
  height:78px !important;
  background:linear-gradient(90deg,#072653 0%,#082d61 52%,#06234e 100%) !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 10px 28px rgba(7,38,83,.12) !important;
}
.topbar .brand-hidden{width:clamp(260px,34vw,620px) !important; min-height:1px !important;}
.topbar nav{gap:clamp(17px,1.55vw,28px) !important; color:#fff !important;}
.topbar nav a{color:#fff !important; font-size:clamp(12px,.78vw,14px) !important; letter-spacing:.035em !important; padding:10px 0 !important;}
.topbar nav a.active{padding:10px 18px !important; border-radius:999px !important; background:linear-gradient(135deg,#f08a30,#d66f24) !important; color:#fff !important; box-shadow:0 10px 22px rgba(231,118,35,.28) !important;}
.topbar nav a.active:after{display:none !important;}

.home-final-v143{
  --final-blue:#0a3270;
  --final-navy:#092b5d;
  --final-orange:#ef7f22;
  position:relative;
  display:grid;
  grid-template-columns:minmax(360px,34%) minmax(0,66%);
  grid-template-rows:minmax(540px, calc(100vh - 236px)) auto;
  min-height:calc(100vh - 78px);
  overflow:hidden;
  background:#fff;
}
.home-final-v143:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(90deg,#fff 0%,#fff 31%,rgba(247,251,255,.72) 57%,#fff 100%);
  pointer-events:none;
}
.home-final-copy{
  position:relative;
  z-index:3;
  grid-column:1;
  grid-row:1;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:clamp(28px,3.25vw,52px) 18px 22px clamp(30px,3.5vw,62px);
  background:transparent;
}
.home-final-logo{width:clamp(230px,17.5vw,325px);height:auto;margin:0 0 clamp(34px,4vw,58px);}
.home-final-copy h1{
  margin:0;
  color:#0a2c61;
  font-size:clamp(58px,5.45vw,96px);
  line-height:.90;
  letter-spacing:-.058em;
  font-weight:900;
}
.home-final-copy h1 span{white-space:nowrap;}
.home-final-rule{display:block;width:58px;height:4px;border-radius:99px;background:var(--final-orange);margin:18px 0 14px;}
.home-final-copy p{
  max-width:505px;
  margin:0 0 22px;
  color:#153260;
  font-size:clamp(14px,.96vw,17px);
  line-height:1.55;
}
.home-final-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:max-content;
  min-width:240px;
  padding:14px 20px 14px 22px;
  border-radius:19px;
  background:linear-gradient(135deg,#f28e35,#df7222);
  color:#fff !important;
  font-weight:800;
  font-size:15px;
  box-shadow:0 14px 28px rgba(220,112,32,.20);
  transition:transform .2s ease, box-shadow .2s ease;
}
.home-final-cta:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(220,112,32,.26);}
.home-final-cta span{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border:2px solid rgba(255,255,255,.92);border-radius:50%;font-size:26px;line-height:20px;font-weight:500;}

.home-final-visual{
  position:relative;
  z-index:2;
  grid-column:2;
  grid-row:1;
  min-width:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 84% 14%,rgba(62,148,221,.12),transparent 22%),
    radial-gradient(circle at 90% 86%,rgba(239,127,34,.10),transparent 18%),
    linear-gradient(180deg,#fff 0%,#fbfdff 100%);
}
.final-blueprint-grid{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(14,70,142,.075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(14,70,142,.075) 1px, transparent 1px);
  background-size:24px 24px;
  opacity:.42;
}
.home-final-visual:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.95) 5%,rgba(255,255,255,.56) 13%,rgba(255,255,255,.13) 22%,rgba(255,255,255,0) 34%);
}
.final-collage{
  position:absolute;
  left:clamp(-150px,-6.5vw,-72px);
  top:clamp(6px,1.1vw,18px);
  width:1090px;
  height:548px;
  transform-origin:top left;
}
.final-line{position:absolute;pointer-events:none;border:2px solid rgba(25,77,153,.55);border-left:none;border-bottom:none;border-radius:2px;z-index:1;}
.line-a{left:18px;top:18px;width:310px;height:98px;}
.line-b{left:605px;top:24px;width:386px;height:108px;}
.line-c{left:250px;bottom:20px;width:720px;height:72px;border-top:none;border-bottom:2px solid rgba(25,77,153,.55);border-right:2px solid rgba(25,77,153,.55);}
.final-node{position:absolute;width:10px;height:10px;border-radius:50%;background:#0f4697;box-shadow:0 0 0 4px #fff;z-index:12;}
.node-a{left:14px;top:14px}.node-b{left:198px;top:100px;background:#ef7f22}.node-c{left:968px;top:112px}.node-d{left:1002px;bottom:18px;background:#ef7f22}.node-e{left:700px;bottom:21px;background:#ef7f22}
.final-tile{
  position:absolute;
  margin:0;
  overflow:hidden;
  background:#fff;
  border:5px solid #fff;
  box-shadow:0 18px 40px rgba(11,35,75,.19);
  z-index:3;
}
.final-tile:after{content:"";position:absolute;inset:0;border:1px solid rgba(19,64,130,.16);pointer-events:none;}
.final-tile img{width:100%;height:100%;display:block;object-fit:cover;}
.tile-sketch{left:176px;top:45px;width:315px;height:168px;transform:rotate(-2.5deg);opacity:.93;z-index:4;}
.tile-sketch img{object-fit:contain;background:#fff;filter:contrast(.96) brightness(1.04);}
.tile-facade{left:480px;top:22px;width:190px;height:185px;transform:rotate(2deg);z-index:8;}
.tile-terrace-a{left:650px;top:25px;width:215px;height:146px;transform:rotate(1.6deg);z-index:9;}
.tile-interior{left:844px;top:38px;width:218px;height:150px;transform:rotate(1deg);z-index:9;}
.tile-electrical{left:268px;top:204px;width:200px;height:168px;transform:rotate(-3deg);z-index:7;}
.tile-hall{left:454px;top:166px;width:348px;height:203px;transform:rotate(.6deg);z-index:10;}
.tile-terrace-b{left:774px;top:196px;width:246px;height:164px;transform:rotate(2deg);z-index:8;}
.tile-industrial{left:232px;top:390px;width:286px;height:134px;transform:rotate(-2.5deg);z-index:8;}
.tile-foundation-a{left:518px;top:360px;width:244px;height:150px;transform:rotate(2deg);z-index:12;}
.tile-foundation-b{left:752px;top:360px;width:230px;height:158px;transform:rotate(-2.2deg);z-index:12;}
.tile-cabling{left:970px;top:330px;width:164px;height:205px;transform:rotate(2.4deg);z-index:13;}

.home-final-services{
  position:relative;
  z-index:6;
  grid-column:1 / -1;
  grid-row:2;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  padding:12px clamp(28px,3vw,50px) 22px;
  background:#fff;
  border-top:1px solid rgba(239,127,34,.22);
  box-shadow:0 -2px 0 rgba(239,127,34,.34);
}
.final-service-card{
  min-height:142px;
  display:grid;
  grid-template-columns:118px 56px minmax(0,1fr) 28px;
  align-items:stretch;
  gap:10px;
  background:#fff;
  border:1px solid rgba(10,44,109,.08);
  border-radius:16px;
  overflow:hidden;
  color:#0c3271 !important;
  box-shadow:0 10px 24px rgba(15,31,57,.08);
  transition:transform .2s ease, box-shadow .2s ease;
}
.final-service-card:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(15,31,57,.12);}
.final-service-thumb{display:block;min-height:142px;background-size:cover;background-position:center;}
.final-service-icon{position:relative;align-self:center;justify-self:center;width:52px;height:52px;border-radius:15px;background:#eef4ff;color:#164a92;display:flex;align-items:center;justify-content:center;font-weight:900;}
.final-service-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:12px 0;}
.final-service-copy strong{display:block;color:#0c3271;font-size:clamp(16px,1vw,21px);line-height:1.06;letter-spacing:-.035em;}
.final-service-copy small{display:block;margin-top:8px;color:#3c4f6d;font-size:12.8px;line-height:1.42;}
.final-service-arrow{align-self:end;justify-self:center;padding-bottom:16px;color:#ef7f22;font-size:29px;line-height:1;}
.final-icon-plan:before,.final-icon-plan:after,.final-icon-helmet:before,.final-icon-helmet:after,.final-icon-shield:before,.final-icon-shield:after{content:"";position:absolute;}
.final-icon-plan:before{width:28px;height:28px;border:2px solid currentColor;border-radius:4px;background:linear-gradient(currentColor,currentColor) 50% 33%/100% 2px no-repeat,linear-gradient(currentColor,currentColor) 50% 66%/100% 2px no-repeat,linear-gradient(90deg,currentColor,currentColor) 33% 50%/2px 100% no-repeat,linear-gradient(90deg,currentColor,currentColor) 66% 50%/2px 100% no-repeat;}
.final-icon-plan:after{width:18px;height:3px;background:#ef7f22;right:8px;bottom:10px;transform:rotate(-36deg);border-radius:2px;}
.final-icon-helmet{background:#fff2e6;color:#e27c2b;}
.final-icon-helmet:before{width:30px;height:16px;top:13px;left:11px;background:currentColor;border-radius:16px 16px 6px 6px;}
.final-icon-helmet:after{width:36px;height:9px;left:8px;top:27px;border-top:3px solid currentColor;}
.final-icon-shield{background:#fff7e8;color:#c88d1f;}
.final-icon-shield:before{width:27px;height:33px;top:8px;left:12px;border:3px solid #164a92;clip-path:polygon(50% 0,100% 14%,100% 58%,50% 100%,0 58%,0 14%);}
.final-icon-shield:after{width:17px;height:8px;left:18px;top:24px;border-left:3px solid #ef7f22;border-bottom:3px solid #ef7f22;transform:rotate(-45deg);}
.final-icon-hse{background:#eef8ff;color:#1e6fb7;font-size:16px;letter-spacing:.03em;}

@media (max-width:1540px){
  .final-collage{transform:scale(.92);left:-122px;top:8px;}
  .home-final-copy h1{font-size:clamp(52px,5.2vw,84px);}
  .home-final-copy p{font-size:15.5px;}
  .final-service-card{grid-template-columns:104px 50px minmax(0,1fr) 24px;}
}
@media (max-width:1280px){
  .home-final-v143{grid-template-columns:36% 64%;grid-template-rows:minmax(500px,auto) auto;}
  .final-collage{transform:scale(.80);left:-152px;top:18px;}
  .home-final-services{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:980px){
  .topbar .brand-hidden{width:160px !important;}
  .home-final-v143{grid-template-columns:1fr;grid-template-rows:auto 390px auto;}
  .home-final-copy{grid-column:1;grid-row:1;padding:34px 24px 24px;}
  .home-final-logo{margin-bottom:28px;}
  .home-final-visual{grid-column:1;grid-row:2;}
  .final-collage{left:0;top:6px;transform:scale(.70);}
  .home-final-services{grid-column:1;grid-row:3;padding:14px 22px 26px;}
}
@media (max-width:720px){
  .topbar{height:auto !important;min-height:76px !important;}
  .topbar nav{background:#06234e !important;color:#fff !important;top:76px !important;}
  .home-final-v143{grid-template-rows:auto 300px auto;}
  .home-final-copy h1{font-size:46px;}
  .home-final-copy p{font-size:15px;}
  .final-collage{transform:scale(.52);}
  .home-final-services{grid-template-columns:1fr;gap:14px;}
  .final-service-card{grid-template-columns:104px 50px minmax(0,1fr) 24px;min-height:132px;}
  .final-service-thumb{min-height:132px;}
}

/* ===== HOME V144 - uso immagine di riferimento esatta ===== */
.topbar-hidden-home{display:none !important;}
.home-image-page{
  background:#f3f5f8;
  padding:0 0 26px;
}
.home-image-frame{
  position:relative;
  width:min(1695px, calc(100vw - 12px));
  margin:0 auto;
  box-shadow:0 10px 30px rgba(7,24,53,.08);
  background:#fff;
}
.home-image-hero{
  width:100%;
  height:auto;
  display:block;
}
.home-image-overlay{
  position:absolute;
  inset:0;
}
.home-image-overlay .hit{
  position:absolute;
  display:block;
  border-radius:12px;
}
.home-image-overlay .hit:focus-visible,
.home-image-overlay .hit:hover{
  outline:2px solid rgba(255,140,38,.9);
  outline-offset:2px;
  background:rgba(255,140,38,.06);
}
/* nav zones based on 1695x936 image */
.hit-home{left:37.3%;top:0.4%;width:5.4%;height:6.2%;border-radius:18px;}
.hit-servizi{left:43.0%;top:0.4%;width:6.5%;height:6.2%;}
.hit-storia{left:49.3%;top:0.4%;width:5.2%;height:6.2%;}
.hit-chi{left:54.4%;top:0.4%;width:7.4%;height:6.2%;}
.hit-settori{left:62.0%;top:0.4%;width:13.0%;height:6.2%;}
.hit-cert{left:75.4%;top:0.4%;width:10.0%;height:6.2%;}
.hit-carriere{left:85.3%;top:0.4%;width:7.6%;height:6.2%;}
.hit-contatti{left:92.8%;top:0.4%;width:6.4%;height:6.2%;}
.hit-cta{left:2.4%;top:65.4%;width:17.8%;height:7.2%;border-radius:22px;}
.hit-card1{left:1.7%;top:76.6%;width:24.5%;height:19.0%;border-radius:16px;}
.hit-card2{left:27.0%;top:76.6%;width:23.3%;height:19.0%;border-radius:16px;}
.hit-card3{left:51.2%;top:76.6%;width:20.6%;height:19.0%;border-radius:16px;}
.hit-card4{left:72.4%;top:76.6%;width:26.1%;height:19.0%;border-radius:16px;}

@media (max-width: 900px){
  .home-image-frame{width:min(1695px, 100vw);}
  .home-image-page{padding-bottom:12px;}
}


/* Home v144 - topbar come altre pagine e rimozione linee laterali */
html,
body{
  margin-left:0 !important;
  margin-right:0 !important;
  border-left:0 !important;
  border-right:0 !important;
  box-shadow:none !important;
  background:#ffffff !important;
}

html::before,
html::after,
body::before,
body::after{
  border-left:0 !important;
  border-right:0 !important;
  box-shadow:none !important;
}

.topbar{
  left:0 !important;
  right:0 !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  border-left:0 !important;
  border-right:0 !important;
  box-shadow:none !important;
}

.topbar .brand,
.topbar a.brand{
  width:auto !important;
  min-height:auto !important;
  display:flex !important;
  align-items:center !important;
}

.topbar .brand img,
.topbar a.brand img{
  display:block !important;
}

.topbar .brand-hidden{
  width:auto !important;
  min-height:auto !important;
}

.topbar .brand-hidden img{
  display:block !important;
}

main,
.hero-home-v115,
.hero-home-v115::before,
.hero-home-v115::after{
  border-left:0 !important;
  border-right:0 !important;
  box-shadow:none !important;
}

.hero-home-v115{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}


/* Home v144 - TOPBAR STANDARD FIX DEFINITIVO */
html,
body{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow-x:hidden !important;
  background:#ffffff !important;
  border:0 !important;
  box-shadow:none !important;
}

html::before,
html::after,
body::before,
body::after{
  content:none !important;
  display:none !important;
}

.topbar.topbar-standard-home{
  position:relative !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  width:100vw !important;
  max-width:none !important;
  min-height:84px !important;
  margin:0 !important;
  padding:0 clamp(18px,3vw,52px) !important;
  transform:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
  background:#213f6d !important;
  border:0 !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
}

.topbar.topbar-standard-home .brand{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex:0 0 auto !important;
  width:160px !important;
  min-width:160px !important;
  min-height:auto !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  visibility:visible !important;
  opacity:1 !important;
}

.topbar.topbar-standard-home .brand img{
  display:block !important;
  width:118px !important;
  max-width:118px !important;
  height:auto !important;
  visibility:visible !important;
  opacity:1 !important;
}

.topbar.topbar-standard-home nav{
  margin-left:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:clamp(16px,1.7vw,30px) !important;
  flex:1 1 auto !important;
  width:auto !important;
}

.topbar.topbar-standard-home nav a{
  color:#ffffff !important;
  text-decoration:none !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  font-size:14px !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.topbar.topbar-standard-home nav a.active{
  background:#e28b40 !important;
  color:#ffffff !important;
  border-radius:999px !important;
  padding:13px 20px !important;
  box-shadow:0 12px 28px rgba(226,139,64,.28) !important;
}

/* rimozione bande laterali scure/contenimenti */
main,
main::before,
main::after,
.hero,
.hero::before,
.hero::after,
.hero-home-v115,
.hero-home-v115::before,
.hero-home-v115::after,
footer,
footer::before,
footer::after{
  border-left:0 !important;
  border-right:0 !important;
  box-shadow:none !important;
}

body > *,
main,
footer{
  max-width:none !important;
}

.hero-home-v115{
  width:100vw !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

.brand-hidden{
  width:auto !important;
  min-height:auto !important;
}

.brand-hidden img{
  display:block !important;
}

@media(max-width:980px){
  .topbar.topbar-standard-home{
    min-height:76px !important;
    padding:0 22px !important;
  }

  .topbar.topbar-standard-home .brand{
    width:120px !important;
    min-width:120px !important;
  }

  .topbar.topbar-standard-home .brand img{
    width:96px !important;
    max-width:96px !important;
  }
}


/* Home v144 - NAV UNICA E SENZA BANDE LATERALI */
html,
body{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow-x:hidden !important;
  background:#ffffff !important;
  border:0 !important;
  box-shadow:none !important;
}

html::before,
html::after,
body::before,
body::after{
  content:none !important;
  display:none !important;
}

/* topbar unica, come pagine interne */
.topbar.topbar-standard-home{
  position:relative !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  width:100% !important;
  max-width:none !important;
  min-height:84px !important;
  margin:0 !important;
  padding:0 clamp(18px,3vw,52px) !important;
  transform:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
  background:#213f6d !important;
  border:0 !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
  z-index:50 !important;
}

.topbar.topbar-standard-home .brand{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex:0 0 auto !important;
  width:160px !important;
  min-width:160px !important;
  min-height:auto !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  visibility:visible !important;
  opacity:1 !important;
}

.topbar.topbar-standard-home .brand img{
  display:block !important;
  width:118px !important;
  max-width:118px !important;
  height:auto !important;
  visibility:visible !important;
  opacity:1 !important;
}

.topbar.topbar-standard-home nav{
  margin-left:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:clamp(16px,1.7vw,30px) !important;
  flex:1 1 auto !important;
  width:auto !important;
}

.topbar.topbar-standard-home nav a{
  color:#ffffff !important;
  text-decoration:none !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  font-size:14px !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.topbar.topbar-standard-home nav a.active{
  background:#e28b40 !important;
  color:#ffffff !important;
  border-radius:999px !important;
  padding:13px 20px !important;
  box-shadow:0 12px 28px rgba(226,139,64,.28) !important;
}

/* elimina il vecchio effetto di menu/fascia blu dentro alla home */
.hero-home-v115{
  margin-top:0 !important;
  border-top:0 !important;
}

.hero-home-v115::before{
  top:0 !important;
}

/* rimozione fasce laterali nere/scure e cornici */
main,
main::before,
main::after,
.hero,
.hero::before,
.hero::after,
.hero-home-v115,
.hero-home-v115::before,
.hero-home-v115::after,
.hero-photo-collage,
.hero-photo-collage::before,
.hero-photo-collage::after,
footer,
footer::before,
footer::after{
  border-left:0 !important;
  border-right:0 !important;
  box-shadow:none !important;
}

body > *,
main,
footer{
  max-width:none !important;
}

.hero-home-v115{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

.brand-hidden{
  width:auto !important;
  min-height:auto !important;
}

.brand-hidden img{
  display:block !important;
}

@media(max-width:980px){
  .topbar.topbar-standard-home{
    min-height:76px !important;
    padding:0 22px !important;
  }

  .topbar.topbar-standard-home .brand{
    width:120px !important;
    min-width:120px !important;
  }

  .topbar.topbar-standard-home .brand img{
    width:96px !important;
    max-width:96px !important;
  }
}


/* ===== HOME FIX MATTINA ===== */
.home-image-page{
  background:#ffffff !important;
  padding:0 0 18px !important;
}
.home-image-frame{
  position:relative !important;
  width:100vw !important;
  max-width:100vw !important;
  margin:0 !important;
  box-shadow:none !important;
  background:#fff !important;
  overflow:hidden !important;
}
.home-image-hero{
  width:100% !important;
  height:auto !important;
  display:block !important;
}
/* disattiva vecchie hitbox nav dell'immagine */
.hit-home,.hit-servizi,.hit-storia,.hit-chi,.hit-settori,.hit-cert,.hit-carriere,.hit-contatti{display:none !important;}
/* hitbox ricalibrate per immagine croppata 1695x858 */
.hit-cta{left:2.4% !important; top:62.4% !important; width:17.8% !important; height:7.9% !important; border-radius:22px !important;}
.hit-card1{left:1.7% !important; top:74.6% !important; width:24.5% !important; height:20.8% !important; border-radius:16px !important;}
.hit-card2{left:27.0% !important; top:74.6% !important; width:23.3% !important; height:20.8% !important; border-radius:16px !important;}
.hit-card3{left:51.2% !important; top:74.6% !important; width:20.6% !important; height:20.8% !important; border-radius:16px !important;}
.hit-card4{left:72.4% !important; top:74.6% !important; width:26.1% !important; height:20.8% !important; border-radius:16px !important;}

.topbar.topbar-standard-home{
  position:sticky !important;
  top:0 !important;
  width:100% !important;
  min-height:84px !important;
  padding:0 clamp(20px,4vw,56px) !important;
  background:#213f6d !important;
  z-index:100 !important;
}
.topbar.topbar-standard-home nav{
  display:flex !important;
  align-items:center !important;
  gap:24px !important;
}
.topbar.topbar-standard-home nav a{
  color:#fff !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
}
.topbar.topbar-standard-home nav a.active{
  background:#e28b40 !important;
  border-radius:999px !important;
  padding:10px 18px !important;
  box-shadow:0 12px 28px rgba(226,139,64,.28) !important;
}
@media (max-width: 900px){
  .home-image-frame{width:100vw !important; max-width:100vw !important;}
}


/* ===== HOME FIX LATERALI ===== */
html, body, main, .home-image-page{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  overflow-x:hidden !important;
  background:#ffffff !important;
}
.home-image-page,
.home-image-frame{
  box-shadow:none !important;
}
.home-image-frame{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  left:0 !important;
  right:0 !important;
}
.home-image-hero{
  width:100% !important;
  max-width:100% !important;
}
.topbar,
.topbar.topbar-standard-home{
  width:100% !important;
  max-width:100% !important;
}


/* HOME - rimuovi piccolo logo in alto a sinistra */
.topbar.topbar-standard-home.topbar-no-logo-home{
  justify-content:center !important;
}
.topbar.topbar-standard-home.topbar-no-logo-home nav{
  margin-left:0 !important;
  width:100% !important;
  justify-content:center !important;
}
.topbar.topbar-standard-home.topbar-no-logo-home .brand{
  display:none !important;
}
@media (max-width: 980px){
  .topbar.topbar-standard-home.topbar-no-logo-home{
    padding-left:16px !important;
    padding-right:16px !important;
  }
  .topbar.topbar-standard-home.topbar-no-logo-home nav{
    justify-content:flex-start !important;
    overflow-x:auto !important;
    -ms-overflow-style:none;
    scrollbar-width:none;
  }
  .topbar.topbar-standard-home.topbar-no-logo-home nav::-webkit-scrollbar{display:none;}
}


/* === HOME REBUILT EDITABLE COLLAGE === */
.topbar.topbar-standard-home.topbar-no-logo-home{position:sticky;top:0;z-index:80;background:linear-gradient(90deg,#143b75 0%,#274b7e 100%);border-bottom:none;min-height:84px;height:auto;padding:16px clamp(18px,3vw,36px);justify-content:center;box-shadow:0 12px 24px rgba(6,20,38,.15)}
.topbar.topbar-standard-home.topbar-no-logo-home nav{justify-content:center;gap:34px;flex-wrap:wrap;color:#fff}
.topbar.topbar-standard-home.topbar-no-logo-home nav a{color:#fff;font-size:14px;font-weight:800;letter-spacing:.04em;padding:10px 0}
.topbar.topbar-standard-home.topbar-no-logo-home nav a.active{background:linear-gradient(135deg,#efac57,#e9891a);padding:11px 20px;border-radius:999px;box-shadow:0 10px 24px rgba(233,137,26,.35)}
.topbar.topbar-standard-home.topbar-no-logo-home nav a.active:after,.topbar.topbar-standard-home.topbar-no-logo-home nav a:hover:after{display:none}

.home-rebuilt{background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);padding:26px clamp(18px,3vw,36px) 18px;overflow:hidden}
.home-rebuilt-shell{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:minmax(340px, 41%) minmax(500px, 59%);gap:30px;align-items:center}
.home-rebuilt-copy{padding:12px 14px 0 14px;align-self:start;position:relative;z-index:2}
.home-rebuilt-logo{width:min(330px,72%);height:auto;margin-bottom:18px}
.home-rebuilt-copy h1{margin:0;font-size:clamp(58px,6.4vw,104px);line-height:.92;letter-spacing:-.055em;color:#08286f}
.home-rebuilt-accent{display:block;width:54px;height:5px;border-radius:999px;background:#f28b1a;margin:24px 0 22px}
.home-rebuilt-copy p{margin:0;max-width:620px;font-size:clamp(18px,1.5vw,22px);line-height:1.55;color:#24395d}
.home-rebuilt-cta{display:inline-flex;align-items:center;gap:18px;margin-top:32px;background:linear-gradient(135deg,#f08c1f,#f19a3a);color:#fff;padding:18px 28px;border-radius:999px;font-weight:800;font-size:17px;box-shadow:0 16px 32px rgba(233,137,26,.28)}
.home-rebuilt-cta strong{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:2px solid rgba(255,255,255,.8);font-size:19px;line-height:1}

.home-collage{position:relative;min-height:760px;isolation:isolate}
.blueprint-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(9,60,130,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(9,60,130,.06) 1px,transparent 1px);background-size:34px 34px;opacity:.5;z-index:0}
.bp-line{position:absolute;border:2px solid rgba(44,98,184,.45);border-radius:18px;z-index:0}
.bp-line-1{left:0;top:68px;width:280px;height:220px;border-right:none;border-bottom:none}
.bp-line-2{right:66px;top:34px;width:310px;height:150px;border-left:none;border-bottom:none}
.bp-line-3{left:34px;bottom:86px;width:370px;height:120px;border-right:none;border-top:none}
.bp-line-4{right:38px;bottom:52px;width:250px;height:94px;border-left:none;border-top:none}
.bp-dot{position:absolute;width:13px;height:13px;background:#143b75;border-radius:50%;z-index:0}
.bp-dot-1{left:-5px;top:84px}.bp-dot-2{right:52px;top:156px}.bp-dot-3{right:160px;bottom:42px}
.home-collage:before,.home-collage:after{content:"";position:absolute;background:#f08c1f;z-index:0}
.home-collage:before{width:14px;height:14px;left:92px;top:178px}.home-collage:after{width:14px;height:14px;left:0;top:350px;border-radius:50%}
.collage-tile{position:absolute;margin:0;background:#fff;padding:8px;border-radius:4px;box-shadow:0 16px 34px rgba(24,43,76,.18);overflow:hidden;transform-origin:center center;z-index:2}
.collage-tile img{display:block;width:100%;height:100%;object-fit:cover;border-radius:1px}
.tile-plan{left:84px;top:94px;width:390px;height:210px;transform:rotate(-2deg);z-index:2}
.tile-detail{left:464px;top:66px;width:210px;height:278px;transform:rotate(3deg);z-index:4}
.tile-terrace{left:654px;top:64px;width:270px;height:238px;transform:rotate(-1.2deg);z-index:4}
.tile-lounge{right:16px;top:92px;width:282px;height:240px;transform:rotate(1.1deg);z-index:4}
.tile-electrical{left:128px;top:290px;width:242px;height:288px;transform:rotate(1.4deg);z-index:4}
.tile-hall{left:360px;top:304px;width:420px;height:286px;transform:rotate(.8deg);z-index:5}
.tile-brick{left:140px;top:555px;width:320px;height:214px;transform:rotate(-3deg);z-index:4}
.tile-found-close{left:454px;top:586px;width:246px;height:218px;transform:rotate(2deg);z-index:4}
.tile-found-long{left:684px;top:563px;width:236px;height:248px;transform:rotate(-2.4deg);z-index:4}
.tile-cabling{right:0;top:520px;width:228px;height:270px;transform:rotate(1.6deg);z-index:4}

.home-service-cards{max-width:1600px;margin:18px auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.service-card{background:#fff;border-radius:18px;padding:16px;display:grid;grid-template-columns:110px 1fr 26px;gap:16px;align-items:center;border:1px solid #e6edf6;box-shadow:0 14px 28px rgba(12,32,69,.08);min-height:190px}
.service-card-thumb{height:140px;border-radius:12px;overflow:hidden;background:#f3f6fb}
.service-card-thumb img{width:100%;height:100%;object-fit:cover}
.service-card-body h3{margin:0 0 8px;font-size:17px;line-height:1.18;color:#08286f}
.service-card-body p{margin:0;font-size:14px;line-height:1.55;color:#3b4f71}
.service-card-arrow{font-size:38px;line-height:1;color:#f08c1f;justify-self:end}

@media (max-width:1400px){
  .home-rebuilt-shell{grid-template-columns:1fr;gap:26px}
  .home-rebuilt-copy{max-width:960px}
  .home-collage{min-height:840px}
}
@media (max-width:1100px){
  .home-service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-collage{min-height:700px}
  .tile-plan{left:34px;top:70px;width:300px;height:165px}
  .tile-detail{left:325px;top:54px;width:165px;height:220px}
  .tile-terrace{left:474px;top:54px;width:206px;height:184px}
  .tile-lounge{right:8px;top:74px;width:218px;height:184px}
  .tile-electrical{left:48px;top:250px;width:190px;height:228px}
  .tile-hall{left:225px;top:254px;width:330px;height:228px}
  .tile-brick{left:44px;top:470px;width:250px;height:170px}
  .tile-found-close{left:290px;top:492px;width:192px;height:165px}
  .tile-found-long{left:470px;top:474px;width:182px;height:192px}
  .tile-cabling{right:0;top:430px;width:172px;height:210px}
}
@media (max-width:760px){
  .topbar.topbar-standard-home.topbar-no-logo-home nav{gap:18px;justify-content:flex-start;overflow:auto;white-space:nowrap;padding-bottom:4px}
  .home-rebuilt{padding:18px 14px 14px}
  .home-rebuilt-copy h1{font-size:clamp(40px,14vw,66px)}
  .home-rebuilt-copy p{font-size:17px}
  .home-collage{min-height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:8px}
  .blueprint-grid,.bp-line,.bp-dot,.home-collage:before,.home-collage:after{display:none}
  .collage-tile{position:relative!important;left:auto!important;top:auto!important;right:auto!important;width:100%!important;height:165px!important;transform:none!important;padding:6px}
  .tile-plan{grid-column:span 2;height:190px!important}
  .tile-hall{grid-column:span 2;height:180px!important}
  .home-service-cards{grid-template-columns:1fr}
  .service-card{grid-template-columns:96px 1fr 22px;min-height:unset;padding:14px}
  .service-card-thumb{height:110px}
}


/* === HOME V145 - correzione layout: collage contenuto, titolo compatto, card visibili === */
.home-rebuilt{
  padding:22px clamp(18px,2.6vw,34px) 16px !important;
  overflow:hidden !important;
}

.home-rebuilt-shell{
  max-width:1600px !important;
  grid-template-columns:minmax(390px,40%) minmax(0,60%) !important;
  gap:18px !important;
  align-items:start !important;
}

.home-rebuilt-copy{
  padding:8px 8px 0 8px !important;
}

.home-rebuilt-logo{
  width:min(305px,68%) !important;
  margin-bottom:16px !important;
}

.home-rebuilt-copy h1{
  font-size:clamp(54px,4.7vw,82px) !important;
  line-height:.93 !important;
  letter-spacing:-.052em !important;
  max-width:720px !important;
}

.home-title-nowrap{
  white-space:nowrap !important;
}

.home-rebuilt-accent{
  margin:18px 0 18px !important;
  width:52px !important;
  height:4px !important;
}

.home-rebuilt-copy p{
  max-width:560px !important;
  font-size:clamp(16px,1.16vw,19px) !important;
  line-height:1.52 !important;
}

.home-rebuilt-cta{
  margin-top:24px !important;
  padding:15px 24px !important;
  font-size:16px !important;
}

.home-rebuilt-cta strong{
  width:30px !important;
  height:30px !important;
}

.home-collage{
  min-height:620px !important;
  width:100% !important;
  max-width:920px !important;
  margin:0 auto !important;
  overflow:visible !important;
}

/* sfondo tecnico più compatto dentro il blocco */
.bp-line-1{left:8px !important;top:62px !important;width:230px !important;height:185px !important;}
.bp-line-2{right:40px !important;top:34px !important;width:250px !important;height:126px !important;}
.bp-line-3{left:60px !important;bottom:78px !important;width:330px !important;height:96px !important;}
.bp-line-4{right:32px !important;bottom:42px !important;width:210px !important;height:78px !important;}
.bp-dot-1{left:3px !important;top:78px !important;}
.bp-dot-2{right:30px !important;top:146px !important;}
.bp-dot-3{right:132px !important;bottom:34px !important;}

/* foto del collage tutte dentro il disegno */
.tile-plan{
  left:52px !important;
  top:50px !important;
  width:312px !important;
  height:168px !important;
  transform:rotate(-2deg) !important;
  z-index:3 !important;
}
.tile-detail{
  left:354px !important;
  top:38px !important;
  width:178px !important;
  height:230px !important;
  transform:rotate(2.4deg) !important;
  z-index:5 !important;
}
.tile-terrace{
  left:518px !important;
  top:44px !important;
  width:238px !important;
  height:188px !important;
  transform:rotate(-1deg) !important;
  z-index:5 !important;
}
.tile-lounge{
  right:6px !important;
  top:70px !important;
  width:230px !important;
  height:190px !important;
  transform:rotate(1.2deg) !important;
  z-index:5 !important;
}
.tile-electrical{
  left:92px !important;
  top:220px !important;
  width:210px !important;
  height:248px !important;
  transform:rotate(1.1deg) !important;
  z-index:5 !important;
}
.tile-hall{
  left:286px !important;
  top:225px !important;
  width:372px !important;
  height:246px !important;
  transform:rotate(.7deg) !important;
  z-index:6 !important;
}
.tile-brick{
  left:66px !important;
  top:456px !important;
  width:276px !important;
  height:162px !important;
  transform:rotate(-2.8deg) !important;
  z-index:4 !important;
}
.tile-found-close{
  left:340px !important;
  top:480px !important;
  width:220px !important;
  height:156px !important;
  transform:rotate(1.8deg) !important;
  z-index:4 !important;
}
.tile-found-long{
  left:552px !important;
  top:466px !important;
  width:205px !important;
  height:180px !important;
  transform:rotate(-2.2deg) !important;
  z-index:4 !important;
}
.tile-cabling{
  right:6px !important;
  top:370px !important;
  width:174px !important;
  height:220px !important;
  transform:rotate(1.5deg) !important;
  z-index:6 !important;
}

.home-service-cards{
  margin-top:10px !important;
  gap:12px !important;
}

.service-card{
  min-height:158px !important;
  grid-template-columns:100px 1fr 24px !important;
  padding:14px !important;
}

.service-card-thumb{
  height:126px !important;
}

.service-card-body h3{
  font-size:16px !important;
}

.service-card-body p{
  font-size:13px !important;
  line-height:1.45 !important;
}

/* adattamento laptop / viewport medi */
@media (max-width:1400px){
  .home-rebuilt-shell{
    grid-template-columns:minmax(360px,39%) minmax(0,61%) !important;
  }
  .home-rebuilt-copy h1{
    font-size:clamp(48px,4.5vw,72px) !important;
  }
  .home-collage{
    min-height:580px !important;
    transform:scale(.92) !important;
    transform-origin:top center !important;
  }
  .home-service-cards{
    margin-top:-24px !important;
  }
}

@media (max-width:1180px){
  .home-rebuilt-shell{
    grid-template-columns:1fr !important;
  }
  .home-rebuilt-copy{
    max-width:760px !important;
  }
  .home-collage{
    min-height:610px !important;
    transform:none !important;
    max-width:920px !important;
  }
  .home-service-cards{
    margin-top:12px !important;
  }
}

@media (max-width:760px){
  .home-title-nowrap{
    white-space:normal !important;
  }
  .home-collage{
    min-height:auto !important;
    transform:none !important;
  }
  .home-service-cards{
    margin-top:14px !important;
  }
}


/* ==== HOME HERO PUZZLE REBUILD v146 ==== */
.home-rebuilt{
  padding:24px clamp(18px,2.2vw,34px) 16px !important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%) !important;
  overflow:hidden !important;
}
.home-rebuilt-shell{
  max-width:1560px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:minmax(420px, 40%) minmax(660px, 60%) !important;
  gap:18px !important;
  align-items:start !important;
}
.home-rebuilt-copy{padding:8px 16px 0 10px !important; position:relative !important; z-index:5 !important;}
.home-rebuilt-logo{width:min(320px,68%) !important; margin-bottom:18px !important;}
.home-rebuilt-copy h1{font-size:clamp(76px,5vw,98px) !important; line-height:.92 !important; letter-spacing:-.06em !important; max-width:610px !important;}
.home-rebuilt-copy p{font-size:clamp(17px,1.12vw,20px) !important; line-height:1.56 !important; max-width:560px !important;}
.home-rebuilt-accent{margin:16px 0 18px !important;}
.home-rebuilt-cta{margin-top:26px !important; padding:16px 26px !important; font-size:16px !important;}
.home-collage{
  position:relative !important;
  min-height:620px !important;
  width:940px !important;
  max-width:100% !important;
  margin:0 0 0 auto !important;
  isolation:isolate !important;
}
.blueprint-grid{
  position:absolute !important; inset:10px 18px 20px 20px !important;
  opacity:.55 !important;
  background-image:linear-gradient(rgba(32,104,194,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(32,104,194,.08) 1px, transparent 1px) !important;
  background-size:24px 24px !important;
}
.bp-line{position:absolute !important; border-color:rgba(47,108,196,.45) !important;}
.bp-line-1{left:24px !important; top:36px !important; width:165px !important; height:124px !important;}
.bp-line-2{right:42px !important; top:24px !important; width:228px !important; height:130px !important;}
.bp-line-3{left:116px !important; bottom:34px !important; width:318px !important; height:108px !important;}
.bp-line-4{right:72px !important; bottom:20px !important; width:212px !important; height:76px !important;}
.bp-dot{position:absolute !important; width:8px !important; height:8px !important; border-radius:50% !important; box-shadow:0 0 0 4px rgba(255,255,255,.94) !important;}
.bp-dot-1{left:18px !important; top:72px !important; background:#174f9d !important;}
.bp-dot-2{left:204px !important; top:300px !important; background:#f08c1f !important;}
.bp-dot-3{right:82px !important; bottom:22px !important; background:#174f9d !important;}
.home-collage::before,
.home-collage::after{content:""; position:absolute !important; pointer-events:none !important; opacity:.8 !important;}
.home-collage::before{left:112px !important; top:96px !important; width:54px !important; height:54px !important; border:2px solid rgba(240,140,31,.55) !important;}
.home-collage::after{right:32px !important; top:66px !important; width:80px !important; height:80px !important; background:radial-gradient(circle, rgba(39,110,203,.45) 1.4px, transparent 1.5px) !important; background-size:12px 12px !important;}
.collage-tile{
  position:absolute !important;
  margin:0 !important;
  padding:5px !important;
  background:rgba(255,255,255,.98) !important;
  box-shadow:0 10px 28px rgba(25,51,92,.18), 0 0 0 1px rgba(255,255,255,.72) inset, 0 0 18px rgba(77,145,255,.10) !important;
  overflow:hidden !important;
  z-index:3 !important;
}
.collage-tile::before{
  content:""; position:absolute; inset:-5px; z-index:-1;
  background:linear-gradient(135deg, rgba(82,159,255,.38), rgba(255,166,76,.22));
  filter:blur(12px); opacity:.72;
}
.collage-tile img{display:block !important; width:100% !important; height:100% !important; object-fit:cover !important;}
.tile-sketch,.tile-facade,.tile-terrace-a,.tile-interior,.tile-electrical,.tile-hall,.tile-terrace-b,.tile-industrial,.tile-foundation-a,.tile-foundation-b,.tile-cabling{transform:none !important; border-radius:0 !important;}
.tile-sketch{left:120px !important; top:30px !important; width:262px !important; height:146px !important; z-index:4 !important; clip-path:polygon(0 0, 74% 0, 74% 10%, 84% 10%, 84% 0, 100% 0, 100% 74%, 90% 74%, 90% 84%, 100% 84%, 100% 100%, 0 100%, 0 0) !important;}
.tile-facade{left:386px !important; top:16px !important; width:176px !important; height:182px !important; z-index:8 !important; clip-path:polygon(0 0, 100% 0, 100% 36%, 90% 36%, 90% 46%, 100% 46%, 100% 100%, 0 100%, 0 64%, 10% 64%, 10% 54%, 0 54%, 0 0) !important;}
.tile-terrace-a{left:560px !important; top:24px !important; width:206px !important; height:146px !important; z-index:9 !important; clip-path:polygon(0 0, 100% 0, 100% 28%, 92% 28%, 92% 38%, 100% 38%, 100% 100%, 74% 100%, 74% 90%, 62% 90%, 62% 100%, 0 100%, 0 0) !important;}
.tile-interior{left:742px !important; top:44px !important; width:224px !important; height:156px !important; z-index:9 !important; clip-path:polygon(0 0, 20% 0, 20% 10%, 32% 10%, 32% 0, 100% 0, 100% 100%, 12% 100%, 12% 90%, 0 90%, 0 80%, 12% 80%, 12% 0, 0 0) !important;}
.tile-electrical{left:166px !important; top:194px !important; width:180px !important; height:188px !important; z-index:7 !important; clip-path:polygon(0 0, 100% 0, 100% 42%, 90% 42%, 90% 54%, 100% 54%, 100% 100%, 0 100%, 0 0) !important;}
.tile-hall{left:344px !important; top:190px !important; width:330px !important; height:202px !important; z-index:10 !important; clip-path:polygon(0 0, 26% 0, 26% 10%, 38% 10%, 38% 0, 100% 0, 100% 38%, 90% 38%, 90% 50%, 100% 50%, 100% 100%, 72% 100%, 72% 90%, 60% 90%, 60% 100%, 0 100%, 0 62%, 10% 62%, 10% 50%, 0 50%, 0 0) !important;}
.tile-terrace-b{left:670px !important; top:212px !important; width:214px !important; height:150px !important; z-index:8 !important; clip-path:polygon(0 0, 100% 0, 100% 62%, 92% 62%, 92% 74%, 100% 74%, 100% 100%, 0 100%, 0 0) !important;}
.tile-industrial{left:134px !important; top:392px !important; width:252px !important; height:150px !important; z-index:8 !important; clip-path:polygon(0 0, 72% 0, 72% 10%, 84% 10%, 84% 0, 100% 0, 100% 100%, 0 100%, 0 70%, 10% 70%, 10% 56%, 0 56%, 0 0) !important;}
.tile-foundation-a{left:392px !important; top:382px !important; width:206px !important; height:154px !important; z-index:12 !important; clip-path:polygon(0 0, 100% 0, 100% 100%, 64% 100%, 64% 90%, 52% 90%, 52% 100%, 0 100%, 0 0) !important;}
.tile-foundation-b{left:594px !important; top:384px !important; width:204px !important; height:154px !important; z-index:12 !important; clip-path:polygon(0 0, 30% 0, 30% 10%, 42% 10%, 42% 0, 100% 0, 100% 100%, 0 100%, 0 54%, 10% 54%, 10% 42%, 0 42%, 0 0) !important;}
.tile-cabling{left:792px !important; top:356px !important; width:154px !important; height:196px !important; z-index:13 !important; clip-path:polygon(0 0, 100% 0, 100% 30%, 92% 30%, 92% 42%, 100% 42%, 100% 100%, 0 100%, 0 66%, 10% 66%, 10% 54%, 0 54%, 0 0) !important;}

.home-service-cards{max-width:1560px !important; margin:12px auto 0 !important; display:grid !important; grid-template-columns:repeat(4, minmax(0,1fr)) !important; gap:12px !important;}
.service-card{min-height:132px !important; padding:12px !important; grid-template-columns:98px 1fr 20px !important; gap:12px !important;}
.service-card-thumb{height:108px !important;}
.service-card-body h3{font-size:15px !important; line-height:1.12 !important; margin-bottom:6px !important;}
.service-card-body p{font-size:12px !important; line-height:1.46 !important;}
.service-card-arrow{font-size:34px !important;}
@media (max-width: 1460px){
  .home-rebuilt-shell{grid-template-columns:minmax(390px, 39%) minmax(620px, 61%) !important;}
  .home-rebuilt-copy h1{font-size:clamp(62px,4.7vw,88px) !important;}
  .home-collage{transform:scale(.9) !important; transform-origin:top left !important; min-height:560px !important;}
  .home-service-cards{margin-top:-18px !important;}
}
@media (max-width: 1220px){
  .home-rebuilt-shell{grid-template-columns:1fr !important;}
  .home-collage{transform:none !important; width:940px !important; margin:0 auto !important;}
  .home-service-cards{grid-template-columns:repeat(2,minmax(0,1fr)) !important; margin-top:10px !important;}
}
@media (max-width: 760px){
  .home-collage{width:auto !important; min-height:auto !important; display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important;}
  .blueprint-grid,.bp-line,.bp-dot,.home-collage::before,.home-collage::after{display:none !important;}
  .collage-tile{position:relative !important; left:auto !important; top:auto !important; width:auto !important; height:156px !important; clip-path:none !important;}
  .tile-hall,.tile-sketch{grid-column:span 2 !important; height:182px !important;}
  .home-service-cards{grid-template-columns:1fr !important;}
}


/* ==== HOME HERO PUZZLE REBUILD v147 - classi finali corrette ==== */
.home-collage{position:relative !important;min-height:620px !important;width:940px !important;max-width:100% !important;margin:0 0 0 auto !important;isolation:isolate !important;}
.collage-tile{position:absolute !important;margin:0 !important;padding:5px !important;background:rgba(255,255,255,.98) !important;overflow:hidden !important;box-shadow:0 12px 28px rgba(21,45,84,.18),0 0 0 1px rgba(255,255,255,.82) inset,0 0 14px rgba(82,159,255,.12) !important;border-radius:0 !important;transform:none !important;z-index:3 !important;}
.collage-tile::before{content:"";position:absolute;inset:-5px;z-index:-1;background:linear-gradient(135deg, rgba(82,159,255,.34), rgba(255,166,76,.20));filter:blur(11px);opacity:.72;}
.collage-tile img{display:block !important;width:100% !important;height:100% !important;object-fit:cover !important;border-radius:0 !important;}
.tile-plan{left:116px !important;top:34px !important;width:266px !important;height:150px !important;z-index:5 !important;clip-path:polygon(0 0,72% 0,72% 10%,84% 10%,84% 0,100% 0,100% 76%,90% 76%,90% 86%,100% 86%,100% 100%,0 100%,0 0) !important;}
.tile-plan img{object-fit:contain !important;background:#fff !important;filter:contrast(.98) brightness(1.02) !important;}
.tile-detail{left:386px !important;top:18px !important;width:176px !important;height:182px !important;z-index:8 !important;clip-path:polygon(0 0,100% 0,100% 38%,92% 38%,92% 48%,100% 48%,100% 100%,0 100%,0 62%,10% 62%,10% 52%,0 52%,0 0) !important;}
.tile-terrace{left:560px !important;top:25px !important;width:206px !important;height:146px !important;z-index:9 !important;clip-path:polygon(0 0,100% 0,100% 30%,92% 30%,92% 40%,100% 40%,100% 100%,74% 100%,74% 90%,62% 90%,62% 100%,0 100%,0 0) !important;}
.tile-lounge{left:742px !important;top:42px !important;width:224px !important;height:156px !important;z-index:9 !important;clip-path:polygon(0 0,20% 0,20% 10%,32% 10%,32% 0,100% 0,100% 100%,12% 100%,12% 90%,0 90%,0 80%,12% 80%,12% 0,0 0) !important;}
.tile-electrical{left:166px !important;top:194px !important;width:180px !important;height:188px !important;z-index:7 !important;clip-path:polygon(0 0,100% 0,100% 42%,90% 42%,90% 54%,100% 54%,100% 100%,0 100%,0 0) !important;}
.tile-hall{left:344px !important;top:190px !important;width:330px !important;height:202px !important;z-index:10 !important;clip-path:polygon(0 0,26% 0,26% 10%,38% 10%,38% 0,100% 0,100% 38%,90% 38%,90% 50%,100% 50%,100% 100%,72% 100%,72% 90%,60% 90%,60% 100%,0 100%,0 62%,10% 62%,10% 50%,0 50%,0 0) !important;}
.tile-brick{left:670px !important;top:212px !important;width:214px !important;height:150px !important;z-index:8 !important;clip-path:polygon(0 0,100% 0,100% 62%,92% 62%,92% 74%,100% 74%,100% 100%,0 100%,0 0) !important;}
.tile-found-close{left:134px !important;top:392px !important;width:252px !important;height:150px !important;z-index:8 !important;clip-path:polygon(0 0,72% 0,72% 10%,84% 10%,84% 0,100% 0,100% 100%,0 100%,0 70%,10% 70%,10% 56%,0 56%,0 0) !important;}
.tile-found-long{left:392px !important;top:382px !important;width:206px !important;height:154px !important;z-index:12 !important;clip-path:polygon(0 0,100% 0,100% 100%,64% 100%,64% 90%,52% 90%,52% 100%,0 100%,0 0) !important;}
.tile-cabling{left:594px !important;top:384px !important;width:204px !important;height:154px !important;z-index:12 !important;clip-path:polygon(0 0,30% 0,30% 10%,42% 10%,42% 0,100% 0,100% 100%,0 100%,0 54%,10% 54%,10% 42%,0 42%,0 0) !important;}
/* extra tall piece on right using same cabling image in separate area is not used; keep final cabling as vertical rightmost */
.tile-cabling{left:792px !important;top:356px !important;width:154px !important;height:196px !important;z-index:13 !important;clip-path:polygon(0 0,100% 0,100% 30%,92% 30%,92% 42%,100% 42%,100% 100%,0 100%,0 66%,10% 66%,10% 54%,0 54%,0 0) !important;}

@media (max-width:760px){
  .collage-tile{clip-path:none !important;position:relative !important;left:auto !important;top:auto !important;width:auto !important;height:156px !important;}
  .tile-hall,.tile-plan{grid-column:span 2 !important;height:182px !important;}
}


/* ==== HOME HERO REFINEMENT v148 ==== */
.home-rebuilt{
  position:relative !important;
  padding:22px clamp(16px,2vw,30px) 14px !important;
  background:
    radial-gradient(circle at 18% 34%, rgba(228,238,252,.75) 0%, rgba(255,255,255,0) 34%),
    linear-gradient(180deg,#ffffff 0%,#fbfdff 100%) !important;
  overflow:hidden !important;
}
.home-rebuilt-shell{
  position:relative !important;
  max-width:1580px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:minmax(460px,40%) minmax(760px,60%) !important;
  gap:8px !important;
  align-items:start !important;
}
.home-rebuilt-shell::before{
  content:"";
  position:absolute;
  inset:18px 0 12px 0;
  background-image:
    linear-gradient(rgba(42,109,204,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(42,109,204,.05) 1px, transparent 1px);
  background-size:26px 26px;
  mask-image:linear-gradient(90deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.28) 26%, rgba(0,0,0,.72) 54%, rgba(0,0,0,.9) 100%);
  -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.28) 26%, rgba(0,0,0,.72) 54%, rgba(0,0,0,.9) 100%);
  pointer-events:none;
  opacity:.9;
}
.home-rebuilt-copy{position:relative !important; z-index:5 !important; padding:14px 8px 0 10px !important;}
.home-rebuilt-copy::before{
  content:"";
  position:absolute;
  left:-10px; top:86px;
  width:360px; height:330px;
  background:
    linear-gradient(rgba(32,104,194,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32,104,194,.07) 1px, transparent 1px);
  background-size:28px 28px;
  clip-path:polygon(0 0, 88% 0, 88% 72%, 100% 72%, 100% 100%, 0 100%);
  opacity:.35;
  z-index:-1;
}
.home-rebuilt-logo{width:min(320px,68%) !important; margin-bottom:18px !important;}
.home-rebuilt-copy h1{font-size:clamp(76px,5vw,98px) !important; line-height:.91 !important; letter-spacing:-.055em !important; max-width:640px !important; margin-bottom:10px !important;}
.home-rebuilt-copy p{font-size:clamp(17px,1.08vw,20px) !important; line-height:1.54 !important; max-width:590px !important;}
.home-rebuilt-cta{margin-top:26px !important; padding:16px 28px !important;}

.home-collage{
  position:relative !important;
  min-height:615px !important;
  width:980px !important;
  max-width:none !important;
  margin:-6px 0 0 -72px !important;
  z-index:4 !important;
  isolation:isolate !important;
}
.blueprint-grid{position:absolute !important; inset:16px 24px 12px 26px !important; opacity:.55 !important;}
.bp-line{position:absolute !important; border:2px solid rgba(45,105,198,.42) !important; border-radius:16px !important;}
.bp-line-1{left:70px !important; top:28px !important; width:248px !important; height:140px !important; border-right:0 !important;}
.bp-line-2{right:46px !important; top:34px !important; width:246px !important; height:112px !important; border-left:0 !important;}
.bp-line-3{left:148px !important; bottom:50px !important; width:284px !important; height:88px !important; border-top:0 !important;}
.bp-line-4{right:54px !important; bottom:34px !important; width:198px !important; height:84px !important; border-top:0 !important;}
.bp-dot{position:absolute !important; width:10px !important; height:10px !important; border-radius:50% !important; box-shadow:0 0 0 4px rgba(255,255,255,.94) !important;}
.bp-dot-1{left:58px !important; top:60px !important; background:#1b56ab !important;}
.bp-dot-2{left:176px !important; top:345px !important; background:#f08c1f !important;}
.bp-dot-3{right:66px !important; bottom:26px !important; background:#1b56ab !important;}
.home-collage::before{content:""; position:absolute !important; left:128px !important; top:110px !important; width:72px !important; height:72px !important; background:radial-gradient(circle, rgba(42,109,204,.45) 1.5px, transparent 1.6px) !important; background-size:12px 12px !important; opacity:.65 !important;}
.home-collage::after{content:""; position:absolute !important; right:60px !important; top:48px !important; width:74px !important; height:74px !important; background:radial-gradient(circle, rgba(42,109,204,.46) 1.5px, transparent 1.6px) !important; background-size:12px 12px !important; opacity:.65 !important;}
.collage-tile{
  position:absolute !important;
  margin:0 !important;
  padding:5px !important;
  background:#fff !important;
  border-radius:2px !important;
  box-shadow:0 14px 30px rgba(18,43,85,.16), 0 2px 0 rgba(255,255,255,.9) inset !important;
  overflow:visible !important;
  transform:none !important;
}
.collage-tile::before{content:none !important;}
.collage-tile img{display:block !important; width:100% !important; height:100% !important; object-fit:cover !important; border-radius:0 !important;}
/* subtle puzzle tabs */
.collage-tile::after{content:""; position:absolute; background:#fff; box-shadow:0 8px 16px rgba(18,43,85,.10); width:24px; height:24px; border-radius:7px;}
.tile-plan,.tile-detail,.tile-terrace,.tile-lounge,.tile-electrical,.tile-hall,.tile-brick,.tile-found-close,.tile-found-long,.tile-cabling{clip-path:none !important;}
.tile-plan{left:108px !important; top:10px !important; width:268px !important; height:152px !important; z-index:5 !important; transform:rotate(-2deg) !important;}
.tile-plan::after{right:-13px; top:58px;}
.tile-plan img{object-fit:contain !important; background:#fff !important;}
.tile-detail{left:392px !important; top:0 !important; width:176px !important; height:186px !important; z-index:9 !important; transform:rotate(1deg) !important;}
.tile-detail::after{left:60px; bottom:-13px;}
.tile-terrace{left:568px !important; top:14px !important; width:204px !important; height:150px !important; z-index:10 !important; transform:rotate(-1.2deg) !important;}
.tile-terrace::after{left:-13px; top:58px;}
.tile-lounge{left:750px !important; top:34px !important; width:226px !important; height:162px !important; z-index:11 !important; transform:rotate(1deg) !important;}
.tile-lounge::after{left:-13px; bottom:42px;}
.tile-electrical{left:154px !important; top:178px !important; width:182px !important; height:186px !important; z-index:7 !important; transform:rotate(-1.4deg) !important;}
.tile-electrical::after{right:-13px; top:76px;}
.tile-hall{left:338px !important; top:172px !important; width:332px !important; height:202px !important; z-index:12 !important; transform:rotate(-1deg) !important;}
.tile-hall::after{right:-13px; top:78px;}
.tile-brick{left:676px !important; top:194px !important; width:214px !important; height:156px !important; z-index:8 !important; transform:rotate(1deg) !important;}
.tile-brick::after{left:92px; bottom:-13px;}
.tile-found-close{left:130px !important; top:380px !important; width:256px !important; height:160px !important; z-index:7 !important; transform:rotate(-2deg) !important;}
.tile-found-close::after{right:-13px; top:58px;}
.tile-found-long{left:392px !important; top:384px !important; width:206px !important; height:160px !important; z-index:8 !important; transform:rotate(1deg) !important;}
.tile-found-long::after{left:78px; top:-13px;}
.tile-cabling{left:598px !important; top:374px !important; width:170px !important; height:208px !important; z-index:9 !important; transform:rotate(-1.5deg) !important;}
.tile-cabling::after{left:60px; top:-13px;}

.home-service-cards{max-width:1560px !important; margin:8px auto 0 !important; display:grid !important; grid-template-columns:repeat(4, minmax(0,1fr)) !important; gap:12px !important;}
.service-card{min-height:132px !important;}

@media (max-width: 1500px){
  .home-rebuilt-shell{grid-template-columns:minmax(420px,39%) minmax(700px,61%) !important;}
  .home-rebuilt-copy h1{font-size:clamp(68px,4.8vw,92px) !important;}
  .home-collage{transform:scale(.92) !important; transform-origin:top left !important; min-height:570px !important; margin:-2px 0 0 -46px !important;}
}
@media (max-width: 1280px){
  .home-rebuilt-shell{grid-template-columns:1fr !important;}
  .home-collage{transform:none !important; margin:10px auto 0 !important; width:980px !important;}
  .home-service-cards{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width: 760px){
  .home-rebuilt-copy::before,.blueprint-grid,.bp-line,.bp-dot,.home-collage::before,.home-collage::after{display:none !important;}
  .home-collage{width:auto !important; min-height:auto !important; display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; margin:8px auto 0 !important;}
  .collage-tile{position:relative !important; left:auto !important; top:auto !important; width:auto !important; height:156px !important; transform:none !important;}
  .collage-tile::after{display:none !important;}
  .tile-hall,.tile-plan{grid-column:span 2 !important; height:182px !important;}
  .home-service-cards{grid-template-columns:1fr !important;}
}


/* ==== FINAL HOME HERO - STATIC RENDER REPLICA v149 ==== */
.home-rebuilt{
  position:relative !important;
  padding:18px clamp(16px,1.8vw,30px) 14px !important;
  background:
    radial-gradient(circle at 18% 38%, rgba(233,240,250,.92) 0%, rgba(255,255,255,.25) 32%, rgba(255,255,255,0) 56%),
    linear-gradient(180deg,#ffffff 0%,#fbfdff 100%) !important;
  overflow:hidden !important;
}
.home-rebuilt::before{
  content:"";
  position:absolute;
  inset:20px 0 10px 0;
  background-image:
    linear-gradient(rgba(43,111,203,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(43,111,203,.045) 1px, transparent 1px);
  background-size:26px 26px;
  opacity:.85;
  mask-image:linear-gradient(90deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.55) 28%, rgba(0,0,0,.92) 58%, rgba(0,0,0,.95) 100%);
  -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.55) 28%, rgba(0,0,0,.92) 58%, rgba(0,0,0,.95) 100%);
  pointer-events:none;
}
.home-rebuilt-shell{
  position:relative !important;
  z-index:1 !important;
  max-width:1600px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:minmax(430px,39%) minmax(760px,61%) !important;
  gap:8px !important;
  align-items:start !important;
}
.home-rebuilt-copy{
  position:relative !important;
  z-index:4 !important;
  padding:14px 6px 0 10px !important;
}
.home-rebuilt-copy::before{
  content:"";
  position:absolute;
  left:2px;
  top:72px;
  width:360px;
  height:360px;
  background:
    linear-gradient(rgba(40,103,196,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(40,103,196,.07) 1px, transparent 1px);
  background-size:28px 28px;
  opacity:.36;
  clip-path:polygon(0 0, 100% 0, 100% 56%, 82% 56%, 82% 100%, 0 100%);
  z-index:-1;
}
.home-rebuilt-logo{width:min(330px,70%) !important;margin-bottom:14px !important;}
.home-rebuilt-copy h1{
  margin:0 !important;
  max-width:640px !important;
  font-size:clamp(74px,5vw,98px) !important;
  line-height:.92 !important;
  letter-spacing:-.058em !important;
  color:#08286f !important;
}
.home-rebuilt-accent{width:56px !important;height:5px !important;margin:20px 0 18px !important;background:#f08c1f !important;}
.home-rebuilt-copy p{max-width:600px !important;font-size:clamp(17px,1.08vw,20px) !important;line-height:1.56 !important;color:#24395d !important;}
.home-rebuilt-cta{margin-top:24px !important;padding:16px 28px !important;font-size:16px !important;box-shadow:0 14px 26px rgba(240,140,31,.22) !important;}
.home-rebuilt-cta strong{width:32px !important;height:32px !important;}

.home-collage{
  position:relative !important;
  z-index:3 !important;
  width:1020px !important;
  max-width:none !important;
  min-height:640px !important;
  margin:-6px 0 0 -122px !important;
  isolation:isolate !important;
}
.blueprint-grid{
  position:absolute !important;
  inset:10px 14px 14px 10px !important;
  background-image:
    linear-gradient(rgba(52,116,206,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(52,116,206,.06) 1px, transparent 1px) !important;
  background-size:24px 24px !important;
  opacity:.7 !important;
}
.bp-line{
  position:absolute !important;
  border:2px solid rgba(39,103,194,.42) !important;
  border-radius:18px !important;
}
.bp-line-1{left:78px !important;top:28px !important;width:254px !important;height:142px !important;border-right:none !important;}
.bp-line-2{right:52px !important;top:32px !important;width:258px !important;height:126px !important;border-left:none !important;}
.bp-line-3{left:164px !important;bottom:46px !important;width:292px !important;height:88px !important;border-top:none !important;}
.bp-line-4{right:70px !important;bottom:34px !important;width:206px !important;height:88px !important;border-top:none !important;}
.bp-dot{position:absolute !important;width:10px !important;height:10px !important;border-radius:50% !important;box-shadow:0 0 0 4px rgba(255,255,255,.94) !important;}
.bp-dot-1{left:66px !important;top:62px !important;background:#174f9d !important;}
.bp-dot-2{left:190px !important;top:340px !important;background:#f08c1f !important;}
.bp-dot-3{right:82px !important;bottom:28px !important;background:#174f9d !important;}
.home-collage::before{
  content:"";
  position:absolute !important;
  left:134px !important;
  top:108px !important;
  width:74px !important;
  height:74px !important;
  background:radial-gradient(circle, rgba(43,111,203,.46) 1.4px, transparent 1.5px) !important;
  background-size:12px 12px !important;
  opacity:.7 !important;
}
.home-collage::after{
  content:"";
  position:absolute !important;
  right:54px !important;
  top:34px !important;
  width:78px !important;
  height:78px !important;
  background:radial-gradient(circle, rgba(43,111,203,.46) 1.4px, transparent 1.5px) !important;
  background-size:12px 12px !important;
  opacity:.72 !important;
}
.collage-tile{
  position:absolute !important;
  margin:0 !important;
  padding:6px !important;
  background:#fff !important;
  border-radius:2px !important;
  overflow:visible !important;
  transform-origin:center center !important;
  box-shadow:
    0 18px 36px rgba(18,43,85,.15),
    0 0 0 1px rgba(255,255,255,.94) inset,
    0 0 0 1px rgba(191,214,245,.25) !important;
}
.collage-tile::before{
  content:"";
  position:absolute;
  inset:-9px;
  border-radius:16px;
  z-index:-1;
  filter:blur(14px);
  opacity:.92;
  background:radial-gradient(circle at 40% 50%, rgba(255,175,92,.42) 0%, rgba(255,175,92,.12) 32%, rgba(255,175,92,0) 70%);
}
.collage-tile img{display:block !important;width:100% !important;height:100% !important;object-fit:cover !important;border-radius:0 !important;}
.tile-plan img{object-fit:contain !important;background:#fff !important;filter:brightness(1.02) contrast(.98) !important;}
.tile-terrace::before,.tile-hall::before,.tile-cabling::before{background:radial-gradient(circle at 55% 55%, rgba(118,183,255,.44) 0%, rgba(118,183,255,.16) 32%, rgba(118,183,255,0) 72%) !important;}
.tile-detail::before,.tile-lounge::before,.tile-found-close::before{background:radial-gradient(circle at 50% 50%, rgba(255,183,104,.44) 0%, rgba(255,183,104,.14) 34%, rgba(255,183,104,0) 74%) !important;}

/* positions based on the preferred static layout */
.tile-plan{
  left:128px !important; top:18px !important; width:284px !important; height:160px !important;
  transform:rotate(-2deg) !important; z-index:4 !important;
  clip-path:polygon(0 0, 100% 0, 100% 78%, 90% 78%, 90% 88%, 100% 88%, 100% 100%, 0 100%, 0 0) !important;
}
.tile-detail{
  left:420px !important; top:-2px !important; width:176px !important; height:202px !important;
  transform:rotate(1.4deg) !important; z-index:8 !important;
  clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%, 0 66%, 10% 66%, 10% 54%, 0 54%, 0 0) !important;
}
.tile-terrace{
  left:596px !important; top:18px !important; width:258px !important; height:186px !important;
  transform:rotate(-1deg) !important; z-index:9 !important;
  clip-path:polygon(0 0, 100% 0, 100% 100%, 74% 100%, 74% 90%, 62% 90%, 62% 100%, 0 100%, 0 0) !important;
}
.tile-lounge{
  left:846px !important; top:34px !important; width:244px !important; height:192px !important;
  transform:rotate(1.2deg) !important; z-index:10 !important;
  clip-path:polygon(0 0, 22% 0, 22% 10%, 34% 10%, 34% 0, 100% 0, 100% 100%, 0 100%, 0 82%, 10% 82%, 10% 70%, 0 70%, 0 0) !important;
}
.tile-electrical{
  left:172px !important; top:202px !important; width:202px !important; height:208px !important;
  transform:rotate(1.3deg) !important; z-index:6 !important;
  clip-path:polygon(0 0, 100% 0, 100% 42%, 90% 42%, 90% 54%, 100% 54%, 100% 100%, 0 100%, 0 0) !important;
}
.tile-hall{
  left:372px !important; top:192px !important; width:376px !important; height:224px !important;
  transform:rotate(.6deg) !important; z-index:11 !important;
  clip-path:polygon(0 0, 24% 0, 24% 10%, 36% 10%, 36% 0, 100% 0, 100% 42%, 90% 42%, 90% 54%, 100% 54%, 100% 100%, 0 100%, 0 58%, 10% 58%, 10% 46%, 0 46%, 0 0) !important;
}
.tile-brick{
  left:688px !important; top:232px !important; width:220px !important; height:182px !important;
  transform:rotate(1.3deg) !important; z-index:8 !important;
  clip-path:polygon(0 0, 100% 0, 100% 62%, 92% 62%, 92% 74%, 100% 74%, 100% 100%, 0 100%, 0 0) !important;
}
.tile-found-close{
  left:108px !important; top:428px !important; width:286px !important; height:176px !important;
  transform:rotate(-2.6deg) !important; z-index:7 !important;
  clip-path:polygon(0 0, 72% 0, 72% 10%, 84% 10%, 84% 0, 100% 0, 100% 100%, 0 100%, 0 72%, 10% 72%, 10% 58%, 0 58%, 0 0) !important;
}
.tile-found-long{
  left:396px !important; top:436px !important; width:208px !important; height:176px !important;
  transform:rotate(1.4deg) !important; z-index:9 !important;
  clip-path:polygon(0 0, 100% 0, 100% 100%, 64% 100%, 64% 90%, 52% 90%, 52% 100%, 0 100%, 0 0) !important;
}
.tile-cabling{
  left:600px !important; top:430px !important; width:248px !important; height:196px !important;
  transform:rotate(-1.5deg) !important; z-index:10 !important;
  clip-path:polygon(0 0, 30% 0, 30% 10%, 42% 10%, 42% 0, 100% 0, 100% 100%, 0 100%, 0 58%, 10% 58%, 10% 46%, 0 46%, 0 0) !important;
}

.home-service-cards{max-width:1600px !important;margin:10px auto 0 !important;display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:14px !important;}
.service-card{background:#fff !important;border-radius:18px !important;padding:16px !important;display:grid !important;grid-template-columns:110px 1fr 26px !important;gap:16px !important;align-items:center !important;border:1px solid #e6edf6 !important;box-shadow:0 14px 28px rgba(12,32,69,.08) !important;min-height:186px !important;}
.service-card-thumb{height:138px !important;border-radius:12px !important;overflow:hidden !important;}
.service-card-body h3{margin:0 0 8px !important;font-size:17px !important;line-height:1.18 !important;color:#08286f !important;}
.service-card-body p{margin:0 !important;font-size:14px !important;line-height:1.55 !important;color:#3b4f71 !important;}
.service-card-arrow{font-size:38px !important;color:#f08c1f !important;}

@media (max-width: 1540px){
  .home-rebuilt-shell{grid-template-columns:minmax(410px,39%) minmax(690px,61%) !important;}
  .home-rebuilt-copy h1{font-size:clamp(66px,4.8vw,92px) !important;}
  .home-collage{transform:scale(.89) !important;transform-origin:top left !important;min-height:590px !important;margin:-6px 0 0 -88px !important;}
  .home-service-cards{margin-top:-16px !important;}
}
@media (max-width: 1280px){
  .home-rebuilt-shell{grid-template-columns:1fr !important;gap:16px !important;}
  .home-rebuilt-copy{max-width:860px !important;}
  .home-collage{transform:none !important;width:1000px !important;min-height:640px !important;max-width:100% !important;margin:8px auto 0 !important;}
  .home-service-cards{grid-template-columns:repeat(2,minmax(0,1fr)) !important;margin-top:12px !important;}
}
@media (max-width: 760px){
  .home-rebuilt{padding:18px 14px 14px !important;}
  .home-rebuilt::before,.home-rebuilt-copy::before,.blueprint-grid,.bp-line,.bp-dot,.home-collage::before,.home-collage::after{display:none !important;}
  .home-rebuilt-copy h1{font-size:clamp(40px,14vw,66px) !important;}
  .home-rebuilt-copy p{font-size:17px !important;}
  .home-collage{width:auto !important;min-height:auto !important;display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important;margin:8px auto 0 !important;}
  .collage-tile{position:relative !important;left:auto !important;top:auto !important;width:auto !important;height:170px !important;transform:none !important;clip-path:none !important;padding:6px !important;}
  .collage-tile::before{display:none !important;}
  .tile-plan,.tile-hall{grid-column:span 2 !important;height:190px !important;}
  .home-service-cards{grid-template-columns:1fr !important;}
  .service-card{grid-template-columns:96px 1fr 22px !important;min-height:unset !important;padding:14px !important;}
  .service-card-thumb{height:110px !important;}
}


/* ==== HOME V150 - render statico fedele ==== */
.home-static-final-main{
  background:#ffffff !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

.home-static-final{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:#ffffff !important;
  overflow:hidden !important;
}

.home-static-final-frame{
  position:relative !important;
  width:100% !important;
  max-width:1664px !important;
  margin:0 auto !important;
  line-height:0 !important;
  background:#ffffff !important;
}

.home-static-final-img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}

.home-static-hotspot{
  position:absolute !important;
  display:block !important;
  z-index:5 !important;
  background:rgba(255,255,255,0) !important;
  border-radius:24px !important;
}

.home-static-hotspot:hover{
  background:rgba(255,255,255,.06) !important;
}

/* coordinate percentuali sul render 1632x893 */
.home-static-cta{left:3.7%; top:57.4%; width:16.6%; height:6.0%;}
.home-static-card-1{left:2.7%; top:71.0%; width:23.5%; height:20.6%;}
.home-static-card-2{left:27.1%; top:71.0%; width:22.4%; height:20.6%;}
.home-static-card-3{left:50.7%; top:71.0%; width:22.2%; height:20.6%;}
.home-static-card-4{left:74.2%; top:71.0%; width:22.8%; height:20.6%;}

/* disattivo eventuali vecchie regole della home ricostruita */
.home-rebuilt,
.home-rebuilt-shell,
.home-collage,
.home-service-cards{
  display:none !important;
}

@media(max-width:760px){
  .home-static-final-frame{
    width:1180px !important;
    max-width:none !important;
    margin-left:50% !important;
    transform:translateX(-28%) !important;
  }
}


/* v153 - maschera bianca per eliminare definitivamente la linea verticale residua a sinistra */
.home-static-final-main{
  position:relative !important;
}
.home-static-final-main::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  bottom:0 !important;
  width:96px !important;
  background:#ffffff !important;
  z-index:2 !important;
  pointer-events:none !important;
}
.home-static-final-frame{
  position:relative !important;
  z-index:3 !important;
}
@media(max-width:900px){
  .home-static-final-main::before{
    width:48px !important;
  }
}


/* v154 - sposta il menu più verso destra nella home */
.topbar.topbar-standard-home{
  justify-content:flex-end !important;
}
.topbar.topbar-standard-home nav{
  margin-left:auto !important;
  margin-right:12px !important;
  justify-content:flex-end !important;
}
@media (min-width: 1200px){
  .topbar.topbar-standard-home{
    padding-left:24px !important;
    padding-right:40px !important;
  }
  .topbar.topbar-standard-home nav{
    margin-right:20px !important;
  }
}


/* v155 - ripristino logo grande home + menu spostato più a destra */
.home-static-overlay-logo{
  position:absolute !important;
  left:4.4% !important;
  top:5.7% !important;
  width:19.5% !important;
  max-width:340px !important;
  min-width:220px !important;
  height:auto !important;
  z-index:4 !important;
  display:block !important;
  pointer-events:none !important;
}

.topbar.topbar-standard-home.topbar-no-logo-home{
  justify-content:flex-end !important;
  padding-right:58px !important;
}
.topbar.topbar-standard-home.topbar-no-logo-home nav{
  width:auto !important;
  margin-left:auto !important;
  margin-right:24px !important;
  justify-content:flex-end !important;
  transform:translateX(95px) !important;
}
@media (min-width: 1400px){
  .topbar.topbar-standard-home.topbar-no-logo-home nav{
    transform:translateX(120px) !important;
  }
}
@media (max-width: 980px){
  .home-static-overlay-logo{
    left:4.5% !important;
    top:4.5% !important;
    width:24% !important;
    min-width:120px !important;
  }
  .topbar.topbar-standard-home.topbar-no-logo-home{
    padding-right:16px !important;
  }
  .topbar.topbar-standard-home.topbar-no-logo-home nav{
    width:100% !important;
    margin-right:0 !important;
    transform:none !important;
    justify-content:flex-start !important;
  }
}

/* v157 - correzioni effettive: menu visibile, linea sx rimossa */
.home-static-final-main::before{
  width:140px !important;
  z-index:20 !important;
}
.home-static-overlay-logo{
  left:4.8% !important;
  top:5.8% !important;
  width:18.8% !important;
  max-width:335px !important;
  min-width:230px !important;
  z-index:21 !important;
}
.topbar.topbar-standard-home.topbar-no-logo-home{
  position:sticky !important;
  top:0 !important;
  display:flex !important;
  justify-content:flex-end !important;
  padding-left:28px !important;
  padding-right:0 !important;
  overflow:hidden !important;
}
.topbar.topbar-standard-home.topbar-no-logo-home nav{
  position:absolute !important;
  top:50% !important;
  right:92px !important;
  left:auto !important;
  transform:translateY(-50%) !important;
  width:auto !important;
  margin:0 !important;
  justify-content:flex-end !important;
  gap:26px !important;
  white-space:nowrap !important;
}
.topbar.topbar-standard-home.topbar-no-logo-home nav a{
  font-size:13px !important;
}
@media (min-width:1500px){
  .topbar.topbar-standard-home.topbar-no-logo-home nav{
    right:105px !important;
    gap:28px !important;
  }
}
@media(max-width:1200px){
  .topbar.topbar-standard-home.topbar-no-logo-home nav{
    position:static !important;
    transform:none !important;
    margin-left:auto !important;
    margin-right:18px !important;
    gap:18px !important;
    overflow:auto !important;
  }
}
@media(max-width:900px){
  .home-static-final-main::before{
    width:58px !important;
  }
}


/* v159 - logo home ancora leggermente più in alto */
.home-static-overlay-logo{top:3.75% !important;}
@media (max-width:980px){.home-static-overlay-logo{top:3.2% !important;}}


/* v160 - logo ancora più su e home leggermente più a sinistra */
.home-static-final-main::before{width:52px !important;}
.home-static-overlay-logo{left:3.8% !important; top:2.95% !important;}
@media(max-width:900px){.home-static-final-main::before{width:28px !important;}}
@media (max-width:980px){.home-static-overlay-logo{left:3.9% !important; top:2.6% !important;}}


/* v162 - rimozione linea verticale residua, logo un po' più su, contenuto leggermente più a sinistra */
.home-static-final-main::before{display:none !important;}
.home-static-final-main::after{content:"" !important;position:absolute !important;left:65px !important;top:0 !important;bottom:0 !important;width:3px !important;background:#ffffff !important;z-index:24 !important;pointer-events:none !important;}
.home-static-final-frame{transform:translateX(-18px) !important;}
.home-static-overlay-logo{top:2.0% !important;}
@media (max-width:980px){.home-static-final-frame{transform:translateX(-8px) !important;}.home-static-final-main::after{left:42px !important;width:2px !important;}.home-static-overlay-logo{top:1.8% !important;}}


/* v164 - rimuove definitivamente le maschere verticali residue e pulisce il bordo sinistro */
.home-static-final-main::before,
.home-static-final-main::after{display:none !important; content:none !important;}
.home-static-final-main, .home-static-final, .home-static-final-frame, .home-static-final-img{border:none !important; outline:none !important; box-shadow:none !important;}
.home-static-final-frame{transform:translateX(-18px) !important;}
@media (max-width:980px){.home-static-final-frame{transform:translateX(-8px) !important;}}

/* v166 - ripristino pulito: nessuna maschera verticale sovrapposta */
.home-left-seam-mask{display:none !important;}
.home-static-final-main::before,
.home-static-final-main::after{display:none !important; content:none !important;}
.home-static-final-main,
.home-static-final,
.home-static-final-frame,
.home-static-final-img{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}
.home-static-final-frame{
  transform:none !important;
  left:auto !important;
  width:100% !important;
  max-width:1664px !important;
}


/* v172 - desktop piena larghezza + mobile Android dedicato */
.home-mobile-v172{
  display:none !important;
}

/* PC: non rimpicciolire la home */
@media(min-width:1025px){
  .home-static-final{
    display:block !important;
    width:100vw !important;
    margin-left:50% !important;
    transform:translateX(-50%) !important;
    overflow:hidden !important;
  }

  .home-static-final-frame{
    width:100vw !important;
    max-width:none !important;
    margin:0 !important;
    transform:none !important;
    left:auto !important;
  }

  .home-static-final-img{
    width:100vw !important;
    max-width:none !important;
    height:auto !important;
    display:block !important;
  }

  .home-static-final-main::before,
  .home-static-final-main::after,
  .home-left-seam-mask{
    display:none !important;
    content:none !important;
  }
}

/* Card desktop: comportamento da bottone, senza overlay visibile */
@media(min-width:1025px){
  .home-static-card-1,
  .home-static-card-2,
  .home-static-card-3,
  .home-static-card-4{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    cursor:pointer !important;
    transition:filter .14s ease, transform .14s ease !important;
  }

  .home-static-card-1:hover,
  .home-static-card-2:hover,
  .home-static-card-3:hover,
  .home-static-card-4:hover{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    filter:brightness(1.025) !important;
    transform:translateY(-1px) !important;
  }

  .home-static-card-1:active,
  .home-static-card-2:active,
  .home-static-card-3:active,
  .home-static-card-4:active{
    transform:translateY(1px) !important;
    filter:brightness(.99) !important;
  }
}

/* Mobile/Android: applico anche su device touch, non solo con larghezza stretta */
@media(max-width:1024px), (hover:none) and (pointer:coarse){
  html, body{
    overflow-x:hidden !important;
  }

  .topbar.topbar-standard-home.topbar-no-logo-home{
    position:relative !important;
    top:auto !important;
    min-height:54px !important;
    height:auto !important;
    padding:7px 10px !important;
    background:#244878 !important;
    box-shadow:none !important;
    justify-content:flex-start !important;
    overflow:hidden !important;
  }

  .topbar.topbar-standard-home.topbar-no-logo-home .menu-btn{
    display:none !important;
  }

  .topbar.topbar-standard-home.topbar-no-logo-home nav{
    position:static !important;
    display:flex !important;
    width:100% !important;
    margin:0 !important;
    padding:0 0 2px !important;
    transform:none !important;
    justify-content:flex-start !important;
    gap:14px !important;
    overflow-x:auto !important;
    white-space:nowrap !important;
    scrollbar-width:none !important;
  }

  .topbar.topbar-standard-home.topbar-no-logo-home nav::-webkit-scrollbar{
    display:none !important;
  }

  .topbar.topbar-standard-home.topbar-no-logo-home nav a{
    flex:0 0 auto !important;
    font-size:11px !important;
    padding:7px 0 !important;
    color:#fff !important;
  }

  .topbar.topbar-standard-home.topbar-no-logo-home nav a.active{
    padding:8px 14px !important;
  }

  .home-static-final{
    display:none !important;
  }

  .home-mobile-v172{
    display:block !important;
    background:#ffffff !important;
    padding:22px 18px 30px !important;
    color:#062d70 !important;
  }

  .home-mobile-logo-wrap{
    display:flex !important;
    justify-content:flex-start !important;
    margin:0 0 18px !important;
  }

  .home-mobile-logo{
    width:230px !important;
    max-width:75vw !important;
    height:auto !important;
  }

  .home-mobile-copy h1{
    margin:0 !important;
    color:#062d70 !important;
    text-transform:uppercase !important;
    font-weight:900 !important;
    letter-spacing:-.055em !important;
    font-size:clamp(44px, 14.5vw, 76px) !important;
    line-height:.90 !important;
  }

  .home-mobile-title-line{
    display:block !important;
    width:64px !important;
    height:4px !important;
    border-radius:99px !important;
    background:#f47c13 !important;
    margin:18px 0 18px !important;
  }

  .home-mobile-copy p{
    color:#153358 !important;
    font-size:16px !important;
    line-height:1.48 !important;
    margin:0 0 22px !important;
  }

  .home-mobile-cta{
    display:inline-flex !important;
    align-items:center !important;
    gap:12px !important;
    background:linear-gradient(135deg,#ff8a16,#ef6f00) !important;
    color:#fff !important;
    font-weight:900 !important;
    border-radius:999px !important;
    padding:15px 20px !important;
    font-size:15px !important;
    box-shadow:0 12px 22px rgba(239,111,0,.26) !important;
    margin:0 0 22px !important;
  }

  .home-mobile-cta span{
    width:25px !important;
    height:25px !important;
    border:2px solid rgba(255,255,255,.75) !important;
    border-radius:50% !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:1 !important;
  }

  .home-mobile-visual{
    margin:4px -18px 22px !important;
    overflow:hidden !important;
    background:#f7fbff !important;
  }

  .home-mobile-visual img{
    width:100% !important;
    height:auto !important;
    display:block !important;
    transform:scale(1.04) !important;
    transform-origin:center !important;
  }

  .home-mobile-card-list{
    display:grid !important;
    gap:14px !important;
  }

  .home-mobile-card{
    display:grid !important;
    grid-template-columns:92px minmax(0,1fr) 28px !important;
    gap:14px !important;
    align-items:center !important;
    background:#fff !important;
    border:1px solid rgba(213,225,241,.95) !important;
    border-radius:18px !important;
    padding:13px !important;
    box-shadow:0 14px 28px rgba(15,31,57,.10) !important;
    color:#062d70 !important;
  }

  .home-mobile-card img{
    width:92px !important;
    height:92px !important;
    object-fit:cover !important;
    border-radius:12px !important;
  }

  .home-mobile-card strong{
    display:block !important;
    font-size:18px !important;
    line-height:1.1 !important;
    margin-bottom:6px !important;
    color:#062d70 !important;
  }

  .home-mobile-card em{
    display:block !important;
    font-style:normal !important;
    font-size:14px !important;
    line-height:1.35 !important;
    color:#334b6b !important;
  }

  .home-mobile-card b{
    color:#f47c13 !important;
    font-size:30px !important;
    line-height:1 !important;
    justify-self:end !important;
  }
}


/* v173 - desktop menu leggibile, card come bottoni veri, mobile hamburger */
.home-mobile-v173{
  display:none !important;
}

/* Desktop */
@media(min-width:1025px){
  .topbar.topbar-standard-home.topbar-no-logo-home{
    min-height:84px !important;
    padding:16px 38px !important;
    overflow:hidden !important;
  }

  .topbar.topbar-standard-home.topbar-no-logo-home nav{
    position:static !important;
    display:flex !important;
    width:auto !important;
    margin-left:auto !important;
    margin-right:28px !important;
    transform:none !important;
    justify-content:flex-end !important;
    gap:34px !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }

  .topbar.topbar-standard-home.topbar-no-logo-home nav a{
    font-size:15px !important;
    font-weight:900 !important;
    letter-spacing:.04em !important;
    color:#fff !important;
  }

  .topbar.topbar-standard-home.topbar-no-logo-home nav a.active{
    padding:12px 22px !important;
    border-radius:999px !important;
  }

  .home-static-final{
    display:block !important;
    width:100vw !important;
    margin-left:50% !important;
    transform:translateX(-50%) !important;
    overflow:hidden !important;
  }

  .home-static-final-frame{
    position:relative !important;
    width:100vw !important;
    max-width:none !important;
    margin:0 !important;
    transform:none !important;
    left:auto !important;
  }

  .home-static-final-img{
    width:100vw !important;
    max-width:none !important;
    height:auto !important;
    display:block !important;
  }

  .home-static-final-main::before,
  .home-static-final-main::after,
  .home-left-seam-mask{
    display:none !important;
    content:none !important;
  }

  .home-desktop-card-buttons{
    position:absolute !important;
    left:2.72% !important;
    right:4.5% !important;
    top:73.45% !important;
    height:23.8% !important;
    z-index:18 !important;
    pointer-events:none !important;
  }

  .home-desktop-card-btn{
    position:absolute !important;
    display:block !important;
    border-radius:18px !important;
    overflow:hidden !important;
    pointer-events:auto !important;
    line-height:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    transition:transform .18s ease, filter .18s ease, box-shadow .18s ease !important;
    will-change:transform !important;
  }

  .home-desktop-card-btn img{
    width:100% !important;
    height:100% !important;
    object-fit:fill !important;
    display:block !important;
    pointer-events:none !important;
  }

  .home-desktop-card-btn:hover{
    transform:translateY(-6px) !important;
    filter:brightness(1.025) !important;
    box-shadow:0 20px 34px rgba(16,33,67,.17) !important;
  }

  .home-desktop-card-btn:active{
    transform:translateY(-1px) !important;
    filter:brightness(.995) !important;
    box-shadow:0 10px 20px rgba(16,33,67,.12) !important;
  }

  .home-desktop-card-btn-1{left:0%; top:0%; width:24.65%; height:100%;}
  .home-desktop-card-btn-2{left:25.72%; top:0%; width:23.60%; height:100%;}
  .home-desktop-card-btn-3{left:50.55%; top:0%; width:23.67%; height:100%;}
  .home-desktop-card-btn-4{left:75.25%; top:0%; width:23.67%; height:100%;}

  .home-static-card-1,
  .home-static-card-2,
  .home-static-card-3,
  .home-static-card-4{
    display:none !important;
  }
}

/* Mobile / Android */
@media(max-width:1024px), (hover:none) and (pointer:coarse){
  html, body{
    overflow-x:hidden !important;
  }

  .topbar.topbar-standard-home.topbar-no-logo-home{
    position:relative !important;
    top:auto !important;
    min-height:58px !important;
    height:58px !important;
    padding:0 14px !important;
    background:#244878 !important;
    box-shadow:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    overflow:visible !important;
  }

  .topbar.topbar-standard-home.topbar-no-logo-home .menu-btn{
    display:block !important;
    order:2 !important;
    margin-left:auto !important;
    width:42px !important;
    height:42px !important;
    padding:7px !important;
    background:#173b6d !important;
    border-radius:10px !important;
    z-index:110 !important;
  }

  .topbar.topbar-standard-home.topbar-no-logo-home .menu-btn span{
    width:24px !important;
    height:2px !important;
    margin:5px auto !important;
    background:#fff !important;
  }

  .topbar.topbar-standard-home.topbar-no-logo-home nav{
    display:none !important;
  }

  body.menu-open .topbar.topbar-standard-home.topbar-no-logo-home nav{
    display:flex !important;
    position:absolute !important;
    top:58px !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    margin:0 !important;
    padding:14px 18px 18px !important;
    background:#244878 !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:10px !important;
    transform:none !important;
    z-index:100 !important;
    box-shadow:0 18px 30px rgba(10,30,60,.18) !important;
  }

  body.menu-open .topbar.topbar-standard-home.topbar-no-logo-home nav a{
    color:#fff !important;
    font-size:13px !important;
    padding:9px 0 !important;
  }

  body.menu-open .topbar.topbar-standard-home.topbar-no-logo-home nav a.active{
    padding:9px 16px !important;
    border-radius:999px !important;
  }

  .home-static-final{
    display:none !important;
  }

  .home-mobile-v173{
    display:block !important;
    background:#ffffff !important;
    padding:22px 18px 30px !important;
    color:#062d70 !important;
  }

  .home-mobile-logo-wrap{
    display:flex !important;
    justify-content:flex-start !important;
    margin:0 0 18px !important;
  }

  .home-mobile-logo{
    width:230px !important;
    max-width:75vw !important;
    height:auto !important;
  }

  .home-mobile-copy h1{
    margin:0 !important;
    color:#062d70 !important;
    text-transform:uppercase !important;
    font-weight:900 !important;
    letter-spacing:-.055em !important;
    font-size:clamp(44px, 14.5vw, 76px) !important;
    line-height:.90 !important;
  }

  .home-mobile-title-line{
    display:block !important;
    width:64px !important;
    height:4px !important;
    border-radius:99px !important;
    background:#f47c13 !important;
    margin:18px 0 18px !important;
  }

  .home-mobile-copy p{
    color:#153358 !important;
    font-size:16px !important;
    line-height:1.48 !important;
    margin:0 0 22px !important;
  }

  .home-mobile-cta{
    display:inline-flex !important;
    align-items:center !important;
    gap:12px !important;
    background:linear-gradient(135deg,#ff8a16,#ef6f00) !important;
    color:#fff !important;
    font-weight:900 !important;
    border-radius:999px !important;
    padding:15px 20px !important;
    font-size:15px !important;
    box-shadow:0 12px 22px rgba(239,111,0,.26) !important;
    margin:0 0 22px !important;
  }

  .home-mobile-cta span{
    width:25px !important;
    height:25px !important;
    border:2px solid rgba(255,255,255,.75) !important;
    border-radius:50% !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:1 !important;
  }

  .home-mobile-visual{
    margin:4px -18px 22px !important;
    overflow:hidden !important;
    background:#f7fbff !important;
  }

  .home-mobile-visual img{
    width:100% !important;
    height:auto !important;
    display:block !important;
    transform:scale(1.04) !important;
    transform-origin:center !important;
  }

  .home-mobile-card-list{
    display:grid !important;
    gap:14px !important;
  }

  .home-mobile-card{
    display:grid !important;
    grid-template-columns:96px minmax(0,1fr) 30px !important;
    gap:14px !important;
    align-items:center !important;
    background:#fff !important;
    border:1px solid rgba(213,225,241,.95) !important;
    border-radius:18px !important;
    padding:14px !important;
    box-shadow:0 14px 28px rgba(15,31,57,.10) !important;
    color:#062d70 !important;
  }

  .home-mobile-card img{
    width:96px !important;
    height:96px !important;
    object-fit:cover !important;
    border-radius:12px !important;
  }

  .home-mobile-card strong{
    display:block !important;
    font-size:18px !important;
    line-height:1.1 !important;
    margin-bottom:6px !important;
    color:#062d70 !important;
  }

  .home-mobile-card em{
    display:block !important;
    font-style:normal !important;
    font-size:14px !important;
    line-height:1.35 !important;
    color:#334b6b !important;
  }

  .home-mobile-card b{
    color:#f47c13 !important;
    font-size:31px !important;
    line-height:1 !important;
    justify-self:end !important;
  }
}


/* v183 - testo CTA overlay con dimensioni corrette anche da WP */
@media(min-width:1025px){
  .home-copy-redraw-cover{
    position:absolute !important;
    left:1.8% !important;
    top:37.2% !important;
    width:39.5% !important;
    height:36.5% !important;
    z-index:12 !important;
    pointer-events:none !important;
    background:linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 76%, rgba(255,255,255,.90) 88%, rgba(255,255,255,0) 100%) !important;
    -webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 10%, rgba(0,0,0,1) 90%, rgba(0,0,0,0) 100%) !important;
    mask-image:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 10%, rgba(0,0,0,1) 90%, rgba(0,0,0,0) 100%) !important;
  }

  .home-copy-redraw{
    position:absolute !important;
    left:4.2% !important;
    top:39.8% !important;
    width:34.8% !important;
    z-index:16 !important;
    color:#253f78 !important;
    font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
    line-height:normal !important;
  }

  .home-copy-redraw-line{
    display:block !important;
    width:68px !important;
    height:4px !important;
    border-radius:999px !important;
    background:#f7820c !important;
    margin:0 0 39px 0 !important;
  }

  .home-copy-redraw p{
    margin:0 !important;
    color:#29477e !important;
    font-size:clamp(16px,1.18vw,20px) !important;
    font-weight:500 !important;
    letter-spacing:.005em !important;
    line-height:1.58 !important;
  }

  .home-copy-redraw-cta{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:18px !important;
    height:58px !important;
    margin-top:22px !important;
    padding:0 15px 0 25px !important;
    min-width:315px !important;
    border-radius:999px !important;
    background:#f7840c !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:900 !important;
    text-decoration:none !important;
    box-shadow:0 14px 25px rgba(28,54,92,.14) !important;
    white-space:nowrap !important;
    line-height:1 !important;
  }

  .home-copy-redraw-cta span{
    width:26px !important;
    height:26px !important;
    border:2px solid rgba(255,255,255,.95) !important;
    border-radius:50% !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:18px !important;
    font-weight:500 !important;
    line-height:1 !important;
    transform:translateY(-.5px) !important;
  }

  .home-copy-redraw-cta:hover{
    transform:translateY(-2px) !important;
    box-shadow:0 18px 30px rgba(28,54,92,.18) !important;
  }

  .home-copy-redraw-dots{
    display:flex !important;
    align-items:center !important;
    gap:16px !important;
    margin-top:26px !important;
  }

  .home-copy-redraw-dots i{
    display:block !important;
    width:9px !important;
    height:9px !important;
    border-radius:50% !important;
    background:#c8d0dd !important;
  }

  .home-copy-redraw-dots i.active{
    width:22px !important;
    height:4px !important;
    border-radius:999px !important;
    background:#f7840c !important;
  }
}

@media(max-width:1024px), (hover:none) and (pointer:coarse){
  .home-copy-redraw-cover,
  .home-copy-redraw{
    display:none !important;
  }
}


/* v183 override finale: dimensioni testo/bottone home desktop */
@media(min-width:1025px){
  .home-copy-redraw p{
    font-size:clamp(16px,1.18vw,20px) !important;
    line-height:1.58 !important;
    color:#18366f !important;
    font-weight:500 !important;
  }

  .home-copy-redraw-line{
    width:78px !important;
    height:4px !important;
    margin-bottom:36px !important;
  }

  .home-copy-redraw-cta{
    height:58px !important;
    min-width:315px !important;
    padding:0 15px 0 25px !important;
    font-size:17px !important;
    gap:18px !important;
    margin-top:22px !important;
  }

  .home-copy-redraw-cta span{
    width:30px !important;
    height:30px !important;
    font-size:20px !important;
  }

  .home-copy-redraw-dots{
    margin-top:27px !important;
  }
}


/* ===== v184 nuova timeline storia ===== */
.history-section--milestones{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 10% 20%, rgba(42,167,223,.10), transparent 28%),
    radial-gradient(circle at 90% 10%, rgba(200,155,60,.10), transparent 25%),
    linear-gradient(180deg,#f8fbff 0%, #ffffff 100%);
  border-top:1px solid rgba(6,45,112,.06);
}
.history-milestones-header{
  max-width:880px;
  margin:0 auto 34px;
  text-align:center;
}
.history-milestones-header .eyebrow{
  margin-bottom:12px;
  color:#2aa7df;
}
.history-milestones-header h2{
  margin:0;
  color:#062d70;
  font-size:clamp(34px,4vw,58px);
  line-height:1;
}
.history-milestones-header p:not(.eyebrow){
  margin:16px auto 0;
  max-width:760px;
  color:#4b5f79;
  font-size:18px;
  line-height:1.65;
}
.history-milestones-scroll{
  overflow-x:auto;
  padding:10px 0 12px;
  scrollbar-width:thin;
  scrollbar-color:#9fb6cc transparent;
}
.history-milestones-track{
  position:relative;
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:260px;
  gap:18px;
  min-width:max-content;
  padding:28px 14px;
}
.history-milestones-track::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:4px;
  transform:translateY(-50%);
  border-radius:999px;
  background:linear-gradient(90deg,#e38a32 0%, #2aa7df 32%, #12a99b 66%, #2e73ff 100%);
  box-shadow:0 0 0 1px rgba(6,45,112,.04);
}
.timeline-milestone{
  position:relative;
  height:470px;
}
.timeline-card{
  position:absolute;
  left:0;
  width:100%;
  background:#fff;
  border:1px solid rgba(6,45,112,.08);
  border-radius:24px;
  padding:18px 18px 20px;
  box-shadow:0 18px 48px rgba(6,45,112,.10);
}
.timeline-card::after{
  content:"";
  position:absolute;
  left:50%;
  width:2px;
  background:rgba(6,45,112,.16);
  transform:translateX(-50%);
}
.timeline-milestone.is-top .timeline-card{
  top:0;
}
.timeline-milestone.is-top .timeline-card::after{
  top:100%;
  height:54px;
}
.timeline-milestone.is-bottom .timeline-card{
  bottom:0;
}
.timeline-milestone.is-bottom .timeline-card::after{
  bottom:100%;
  height:54px;
}
.timeline-year-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:74px;
  padding:8px 14px;
  border-radius:999px;
  font-size:14px;
  font-weight:900;
  letter-spacing:.04em;
  color:#fff;
  margin-bottom:14px;
}
.timeline-card h3{
  margin:0 0 10px;
  color:#062d70;
  font-size:22px;
  line-height:1.14;
}
.timeline-card p{
  margin:0;
  color:#4b5f79;
  font-size:15px;
  line-height:1.62;
}
.timeline-node{
  position:absolute;
  left:50%;
  top:50%;
  width:28px;
  height:28px;
  transform:translate(-50%, -50%);
  border-radius:50%;
  background:#fff;
  border:6px solid #2aa7df;
  box-shadow:0 0 0 8px rgba(255,255,255,.95), 0 10px 18px rgba(6,45,112,.12);
  z-index:2;
}
.tone-orange .timeline-year-pill,
.tone-orange .timeline-node{ border-color:#e38a32; }
.tone-orange .timeline-year-pill{ background:#e38a32; }
.tone-teal .timeline-year-pill,
.tone-teal .timeline-node{ border-color:#12a99b; }
.tone-teal .timeline-year-pill{ background:#12a99b; }
.tone-blue .timeline-year-pill,
.tone-blue .timeline-node{ border-color:#2e73ff; }
.tone-blue .timeline-year-pill{ background:#2e73ff; }
.tone-gold .timeline-year-pill,
.tone-gold .timeline-node{ border-color:#c89b3c; }
.tone-gold .timeline-year-pill{ background:#c89b3c; }
.timeline-milestone:hover .timeline-card,
.timeline-milestone:focus-within .timeline-card{
  transform:translateY(-4px);
  box-shadow:0 22px 58px rgba(6,45,112,.16);
}
.timeline-card,
.timeline-node{
  transition:transform .22s ease, box-shadow .22s ease;
}
.timeline-milestone:hover .timeline-node,
.timeline-milestone:focus-within .timeline-node{
  transform:translate(-50%, -50%) scale(1.08);
}
@media (max-width: 900px){
  .history-milestones-header p:not(.eyebrow){font-size:16px;}
  .history-milestones-track{grid-auto-columns:230px;}
  .timeline-milestone{height:500px;}
  .timeline-card h3{font-size:20px;}
}
@media (max-width: 640px){
  .history-section--milestones{padding-left:22px;padding-right:22px;}
  .history-milestones-header{text-align:left;margin-bottom:24px;}
  .history-milestones-header h2{font-size:34px;}
  .history-milestones-track{grid-auto-columns:220px;gap:16px;padding:18px 8px 18px 4px;}
  .timeline-milestone{height:470px;}
  .timeline-card{padding:16px; border-radius:22px;}
  .timeline-card h3{font-size:18px;}
  .timeline-card p{font-size:14px; line-height:1.55;}
  .timeline-year-pill{min-width:66px;padding:7px 12px;font-size:13px;}
}


/* ===== v185 timeline semplice orizzontale ===== */
.history-section--timeline-simple{
  background:linear-gradient(180deg,#f8fbff 0%, #ffffff 100%);
  border-top:1px solid rgba(6,45,112,.06);
}
.history-milestones-header--simple{
  max-width:900px;
  margin:0 auto 28px;
  text-align:center;
}
.history-milestones-header--simple .eyebrow{
  color:#2aa7df;
  margin-bottom:12px;
}
.history-milestones-header--simple h2{
  margin:0;
  color:#062d70;
  font-size:clamp(34px,4vw,58px);
  line-height:1;
}
.timeline-simple-wrap{
  overflow-x:auto;
  padding:78px 10px 18px;
  scrollbar-width:thin;
  scrollbar-color:#9fb6cc transparent;
}
.timeline-simple{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:22px;
  min-width:max-content;
  padding:0 8px 8px;
}
.timeline-simple::before{
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  top:14px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#e38a32 0%, #2aa7df 30%, #12a99b 65%, #2e73ff 100%);
  box-shadow:0 0 0 1px rgba(6,45,112,.05);
}
.timeline-simple-item{
  position:relative;
  flex:0 0 auto;
  width:72px;
  padding:0;
  background:transparent;
  border:0;
  cursor:pointer;
  text-align:center;
  font-family:inherit;
}
.timeline-simple-dot{
  position:relative;
  z-index:2;
  display:block;
  width:28px;
  height:28px;
  margin:0 auto;
  border-radius:50%;
  background:#fff;
  border:5px solid #2aa7df;
  box-shadow:0 0 0 6px rgba(255,255,255,.95), 0 10px 22px rgba(6,45,112,.12);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.timeline-simple-year{
  display:block;
  margin-top:14px;
  color:#062d70;
  font-size:14px;
  font-weight:800;
  letter-spacing:.02em;
}
.timeline-simple-tooltip{
  position:absolute;
  left:50%;
  bottom:calc(100% + 18px);
  transform:translateX(-50%) translateY(8px);
  width:270px;
  padding:16px 18px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(6,45,112,.08);
  box-shadow:0 20px 48px rgba(6,45,112,.14);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease, transform .22s ease;
  text-align:left;
  z-index:5;
}
.timeline-simple-tooltip::after{
  content:"";
  position:absolute;
  left:50%;
  top:100%;
  width:14px;
  height:14px;
  background:#fff;
  border-right:1px solid rgba(6,45,112,.08);
  border-bottom:1px solid rgba(6,45,112,.08);
  transform:translateX(-50%) rotate(45deg);
}
.timeline-simple-tooltip strong{
  display:block;
  margin-bottom:8px;
  color:#062d70;
  font-size:16px;
  line-height:1.25;
}
.timeline-simple-tooltip span,
.timeline-simple-tooltip em{
  display:block;
  color:#4b5f79;
  font-size:14px;
  line-height:1.55;
  font-style:normal;
}
.timeline-simple-item:hover .timeline-simple-tooltip,
.timeline-simple-item:focus-visible .timeline-simple-tooltip,
.timeline-simple-item.is-active .timeline-simple-tooltip{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}
.timeline-simple-item:hover .timeline-simple-dot,
.timeline-simple-item:focus-visible .timeline-simple-dot,
.timeline-simple-item.is-active .timeline-simple-dot{
  transform:scale(1.12);
  box-shadow:0 0 0 7px rgba(255,255,255,.98), 0 14px 26px rgba(6,45,112,.18);
}
.timeline-simple-item:focus-visible{
  outline:none;
}
.timeline-simple-item.tone-orange .timeline-simple-dot{border-color:#e38a32;}
.timeline-simple-item.tone-teal .timeline-simple-dot{border-color:#12a99b;}
.timeline-simple-item.tone-blue .timeline-simple-dot{border-color:#2e73ff;}
.timeline-simple-item.tone-gold .timeline-simple-dot{border-color:#c89b3c;}
.timeline-simple-note{
  margin:12px auto 0;
  text-align:center;
  color:#6a7b92;
  font-size:14px;
}
@media (max-width: 900px){
  .timeline-simple-tooltip{width:240px;}
}
@media (max-width: 640px){
  .history-section--timeline-simple{padding-left:22px;padding-right:22px;}
  .history-milestones-header--simple{text-align:left;margin-bottom:22px;}
  .history-milestones-header--simple h2{font-size:34px;}
  .timeline-simple-wrap{padding-top:70px;}
  .timeline-simple{gap:18px;}
  .timeline-simple-item{width:64px;}
  .timeline-simple-year{font-size:13px;}
  .timeline-simple-tooltip{width:220px;padding:14px 15px;}
  .timeline-simple-note{text-align:left;font-size:13px;}
}


/* ===== v186 - pagina storia meno bianca + video senza cornice pesante ===== */

/* sfondo generale pagina storia */
body:has(.story-hero-clean-video){
  background:
    radial-gradient(circle at 10% 18%, rgba(42,167,223,.13), transparent 26%),
    radial-gradient(circle at 88% 24%, rgba(247,132,12,.10), transparent 28%),
    linear-gradient(180deg,#eef6fb 0%, #f7fbff 42%, #ffffff 100%) !important;
}

/* hero storia: più piena, meno vuota */
.story-hero-clean-video{
  background:
    linear-gradient(rgba(255,255,255,.70), rgba(255,255,255,.70)),
    linear-gradient(90deg, rgba(42,167,223,.12), rgba(247,132,12,.08)),
    repeating-linear-gradient(0deg, rgba(6,45,112,.045) 0 1px, transparent 1px 32px),
    repeating-linear-gradient(90deg, rgba(6,45,112,.045) 0 1px, transparent 1px 32px) !important;
}

/* tolta la cornice/pannello blu del video, lasciando logo e video puliti */
.story-video-panel{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
}

.story-video-meta{
  background:transparent !important;
  color:#062d70 !important;
  padding:0 0 14px !important;
}

.story-video-meta span{
  background:#062d70 !important;
  color:#fff !important;
}

.story-video-meta strong{
  color:#062d70 !important;
}

/* video più integrato nella pagina */
.story-omega-card{
  background:rgba(255,255,255,.78) !important;
  border:1px solid rgba(6,45,112,.10) !important;
  box-shadow:0 22px 55px rgba(6,45,112,.12) !important;
  border-radius:28px !important;
  padding:22px !important;
}

.story-omega-card::before{
  display:none !important;
}

/* sezione timeline con fondale tecnico leggero, non bianco piatto */
.history-section--timeline-simple{
  background:
    radial-gradient(circle at 8% 22%, rgba(42,167,223,.12), transparent 25%),
    radial-gradient(circle at 90% 18%, rgba(247,132,12,.10), transparent 26%),
    linear-gradient(180deg,#f4f9fd 0%,#ffffff 100%) !important;
  position:relative !important;
}

.history-section--timeline-simple::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background-image:
    linear-gradient(rgba(6,45,112,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(6,45,112,.035) 1px, transparent 1px) !important;
  background-size:34px 34px !important;
  opacity:.65 !important;
}

.history-section--timeline-simple > *{
  position:relative !important;
  z-index:1 !important;
}

/* mobile: video senza cornice ingombrante */
@media(max-width:720px){
  .story-omega-card{
    padding:14px !important;
    border-radius:22px !important;
  }
}



/* ===== v191 - timeline popup corretta ===== */
.history-section--decade-popup{
  padding:58px 24px 86px !important;
  position:relative !important;
  overflow:hidden !important;
  background:radial-gradient(circle at 9% 18%, rgba(42,167,223,.14), transparent 26%),
             radial-gradient(circle at 88% 16%, rgba(247,132,12,.10), transparent 26%),
             linear-gradient(90deg,#edf6fb 0%,#f8fbff 50%,#f7f3ef 100%) !important;
}
.history-section--decade-popup::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(6,45,112,.035) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(6,45,112,.035) 1px, transparent 1px);
  background-size:34px 34px; opacity:.55;
}
.history-section--decade-popup > *{position:relative;z-index:1;}
.decade-popup-head{max-width:980px;margin:0 auto 36px;text-align:center;}
.decade-popup-head .eyebrow{color:#d77d28;margin-bottom:10px;}
.decade-popup-head h2{margin:0;color:#062d70;font-size:clamp(36px,4.8vw,66px);line-height:.96;letter-spacing:-.045em;}
.decade-popup-head p:not(.eyebrow){max-width:760px;margin:16px auto 0;color:#51627d;font-size:18px;line-height:1.6;}
.decade-popup-line{display:flex;align-items:center;justify-content:center;gap:0;max-width:1240px;margin:34px auto 0;padding:22px 0 10px;}
.decade-popup-node{
  position:relative;width:220px;height:220px;border-radius:50%;border:15px solid #cfe4ea;background:#fff;color:#153b84;
  box-shadow:0 18px 42px rgba(24,48,96,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:18px 16px;cursor:pointer;font-family:inherit;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.decade-popup-node::before,.decade-popup-node::after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;opacity:.54;}
.decade-popup-node::before{top:-30px;border-bottom:18px solid currentColor;}
.decade-popup-node::after{bottom:-30px;border-top:18px solid currentColor;}
.decade-popup-node:hover,.decade-popup-node:focus-visible{transform:translateY(-6px);border-color:#78b9c5;box-shadow:0 24px 54px rgba(24,48,96,.20);outline:0;}
.decade-popup-range{font-size:50px;line-height:.95;font-weight:900;letter-spacing:-.04em;color:#46514f;}
.decade-popup-range small{display:block;font-size:34px;line-height:1.05;}
.decade-popup-title{margin-top:12px;font-size:13px;line-height:1.35;font-weight:900;letter-spacing:.055em;text-transform:uppercase;color:#647895;}
.decade-click-badge{
  position:absolute;right:12px;top:50%;transform:translate(50%,-50%);width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;background:#fff;border:4px solid currentColor;color:currentColor;
  font-size:23px;font-weight:900;line-height:1;box-shadow:0 10px 24px rgba(24,48,96,.14);transition:transform .22s ease,background .22s ease,color .22s ease;
}
.decade-click-badge span{display:block;color:currentColor;transform:translateX(1px);}
.decade-popup-node:hover .decade-click-badge,.decade-popup-node:focus-visible .decade-click-badge{transform:translate(50%,-50%) scale(1.1);background:currentColor;}
.decade-popup-node:hover .decade-click-badge span,.decade-popup-node:focus-visible .decade-click-badge span{color:#fff;}
.decade-popup-connector{width:74px;height:9px;background:currentColor;position:relative;flex:0 0 74px;}
.decade-popup-connector::before,.decade-popup-connector::after{content:"";position:absolute;top:50%;width:18px;height:18px;border:4px solid currentColor;border-radius:50%;background:#fff;transform:translateY(-50%);}
.decade-popup-connector::before{left:-11px}.decade-popup-connector::after{right:-11px}
.decade-popup-node.tone-1{border-color:#cfe4ea;color:#8ebcc6}.decade-popup-node.tone-2{border-color:#d4eaf7;color:#8cc3dc}
.decade-popup-node.tone-3{border-color:#cae6ef;color:#6ab2d4}.decade-popup-node.tone-4{border-color:#e6cfd5;color:#c88f9b}
.decade-popup-connector.tone-1{color:#8ebcc6}.decade-popup-connector.tone-2{color:#8cc3dc}.decade-popup-connector.tone-3{color:#6ab2d4}
.decade-popup-hint{margin:28px auto 0;text-align:center;color:#6f7f95;font-size:15px;}
.decade-modal{position:fixed;inset:0;display:none;z-index:999999;}
.decade-modal.is-open{display:block;}
.decade-modal-backdrop{position:absolute;inset:0;background:rgba(3,23,55,.58);backdrop-filter:blur(4px);}
.decade-modal-card{
  position:relative;width:min(1040px, calc(100vw - 48px));max-height:calc(100vh - 72px);overflow:auto;margin:36px auto;
  background:#fff;border-radius:30px;box-shadow:0 34px 90px rgba(0,0,0,.30);border:1px solid rgba(255,255,255,.55);padding:34px 38px 38px;
}
.decade-modal-close{
  position:absolute;right:22px;top:18px;width:44px;height:44px;border:0;border-radius:50%;background:#062d70;color:#fff;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 12px 26px rgba(6,45,112,.22);
}
.decade-modal-head{padding-right:54px;margin-bottom:28px}.decade-modal-head .eyebrow{margin:0 0 8px;color:#d77d28}
.decade-modal-head h3{margin:0;color:#062d70;font-size:clamp(32px,4vw,52px);line-height:1;letter-spacing:-.04em}
.decade-modal-subtitle{margin:12px 0 0;color:#5a6b82;font-size:17px;line-height:1.55}
.decade-modal-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}
.decade-modal-event{display:grid;grid-template-columns:92px 1fr;gap:16px;padding:17px 0;border-top:1px solid rgba(15,56,133,.10)}
.decade-modal-event:nth-child(1),.decade-modal-event:nth-child(2){border-top:0}
.decade-modal-year{font-size:30px;line-height:1;font-weight:900;color:#ef8b1d}
.decade-modal-title{display:block;margin-bottom:6px;color:#163b84;font-size:18px;font-weight:900}
.decade-modal-text{display:block;color:#43506b;font-size:16px;line-height:1.56}
body.decade-modal-open{overflow:hidden}
@media(max-width:1240px){.decade-popup-node{width:190px;height:190px;border-width:12px}.decade-popup-range{font-size:42px}.decade-popup-range small{font-size:30px}.decade-popup-connector{width:48px;flex-basis:48px}}
@media(max-width:980px){.decade-popup-line{flex-wrap:wrap;gap:24px 18px}.decade-popup-connector{display:none}.decade-modal-events{grid-template-columns:1fr}.decade-modal-event,.decade-modal-event:nth-child(1),.decade-modal-event:nth-child(2){border-top:1px solid rgba(15,56,133,.10)}.decade-modal-event:first-child{border-top:0}}
@media(max-width:640px){.history-section--decade-popup{padding:38px 16px 54px!important}.decade-popup-head{text-align:left}.decade-popup-head h2{font-size:34px}.decade-popup-head p:not(.eyebrow){font-size:15px}.decade-popup-node{width:158px;height:158px;border-width:10px}.decade-popup-range{font-size:34px}.decade-popup-range small{font-size:24px}.decade-popup-title{font-size:11px}.decade-click-badge{width:34px;height:34px;font-size:18px;border-width:3px}.decade-modal-card{width:calc(100vw - 24px);max-height:calc(100vh - 32px);margin:16px auto;padding:26px 18px 28px;border-radius:24px}.decade-modal-close{right:14px;top:12px;width:38px;height:38px;font-size:26px}.decade-modal-head{padding-right:44px}.decade-modal-events{gap:0}.decade-modal-event{grid-template-columns:1fr;gap:6px}.decade-modal-year{font-size:25px}.decade-modal-title{font-size:17px}.decade-modal-text{font-size:15px}}

/* === V203: menu a tendina Servizi / Chi siamo === */
.topbar nav .nav-dropdown{
  position:relative;
  display:inline-flex;
  align-items:center;
}
.topbar nav .nav-parent{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.topbar nav .nav-caret{
  font-size:.72em;
  line-height:1;
  opacity:.9;
  transform:translateY(-1px);
}
.topbar nav .nav-submenu{
  position:absolute;
  left:0;
  top:calc(100% + 10px);
  min-width:285px;
  display:none;
  flex-direction:column;
  gap:4px;
  padding:10px;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(8,45,97,.14);
  border-radius:18px;
  box-shadow:0 18px 38px rgba(3,24,56,.22);
  z-index:999;
  text-transform:none;
  letter-spacing:0;
}
.topbar nav .nav-submenu:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-12px;
  height:12px;
}
.topbar nav .nav-dropdown:hover .nav-submenu,
.topbar nav .nav-dropdown:focus-within .nav-submenu{
  display:flex;
}
.topbar nav .nav-submenu a,
.topbar.topbar-standard-home.topbar-no-logo-home nav .nav-submenu a{
  color:#0a2d63 !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1.18 !important;
  letter-spacing:.01em !important;
  padding:11px 13px !important;
  border-radius:12px !important;
  white-space:nowrap !important;
  background:transparent !important;
  box-shadow:none !important;
  text-transform:none !important;
}
.topbar nav .nav-submenu a:hover,
.topbar nav .nav-submenu a.active,
.topbar.topbar-standard-home.topbar-no-logo-home nav .nav-submenu a:hover,
.topbar.topbar-standard-home.topbar-no-logo-home nav .nav-submenu a.active{
  color:#fff !important;
  background:linear-gradient(135deg,#efac57,#e9891a) !important;
}
.topbar nav .nav-submenu a:after,
.topbar nav .nav-submenu a:hover:after,
.topbar nav .nav-submenu a.active:after{
  display:none !important;
}
@media(max-width:720px){
  body.menu-open .topbar nav .nav-dropdown,
  body.menu-open .topbar.topbar-standard-home.topbar-no-logo-home nav .nav-dropdown{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    width:100% !important;
    gap:6px !important;
  }
  body.menu-open .topbar nav .nav-submenu,
  body.menu-open .topbar.topbar-standard-home.topbar-no-logo-home nav .nav-submenu{
    position:static !important;
    display:flex !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 0 6px 0 !important;
    padding:6px 0 4px 14px !important;
    background:rgba(255,255,255,.08) !important;
    border:0 !important;
    border-radius:14px !important;
    box-shadow:none !important;
  }
  body.menu-open .topbar nav .nav-submenu a,
  body.menu-open .topbar.topbar-standard-home.topbar-no-logo-home nav .nav-submenu a{
    color:#fff !important;
    white-space:normal !important;
    width:100% !important;
    padding:8px 10px !important;
    font-size:13px !important;
  }
  body.menu-open .topbar nav .nav-submenu a:hover,
  body.menu-open .topbar nav .nav-submenu a.active,
  body.menu-open .topbar.topbar-standard-home.topbar-no-logo-home nav .nav-submenu a:hover,
  body.menu-open .topbar.topbar-standard-home.topbar-no-logo-home nav .nav-submenu a.active{
    color:#fff !important;
    background:rgba(255,255,255,.16) !important;
  }
}



/* === V205: fix visibilità menu tendina home === */
.topbar.topbar-standard-home.topbar-no-logo-home{
  overflow:visible !important;
  z-index:300 !important;
}
.topbar.topbar-standard-home.topbar-no-logo-home nav{
  overflow:visible !important;
  z-index:301 !important;
}
.topbar.topbar-standard-home.topbar-no-logo-home nav .nav-dropdown{
  overflow:visible !important;
  z-index:302 !important;
}
.topbar.topbar-standard-home.topbar-no-logo-home nav .nav-submenu,
.topbar nav .nav-submenu{
  z-index:9999 !important;
}
@media(max-width:1200px){
  .topbar.topbar-standard-home.topbar-no-logo-home nav{
    overflow:visible !important;
  }
}


/* V220 partner menu fit */
.topbar.topbar-standard-home.topbar-no-logo-home nav{gap:clamp(14px,1.35vw,26px)!important;}
.topbar.topbar-standard-home.topbar-no-logo-home nav a{font-size:clamp(12px,.72vw,14px)!important;}


/* === V221: icone social footer === */
.footer-social{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:14px;
}
.footer-social a{
  width:38px;
  height:38px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.footer-social a:hover{
  transform:translateY(-2px);
  background:linear-gradient(135deg,#2aa7df,#0b5cff);
  box-shadow:0 10px 22px rgba(0,0,0,.20);
}
.footer-social svg{
  width:19px;
  height:19px;
  fill:currentColor;
  display:block;
}


/* === V226: Hero Formazione con video === */
.formazione-hero-visual{
  background:
    radial-gradient(circle at 14% 18%, rgba(255,255,255,.24), transparent 22%),
    radial-gradient(circle at 82% 24%, rgba(255,209,102,.26), transparent 20%),
    radial-gradient(circle at 85% 78%, rgba(42,167,223,.22), transparent 24%),
    linear-gradient(135deg,#dbe7f6 0%, #bfd3ea 40%, #8ba8ca 100%) !important;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  overflow:hidden;
  position:relative;
}
.formazione-hero-visual::after{
  display:none !important;
}
.formazione-hero-visual::before{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.34);
  background:linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,.07));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
}
.formazione-hero-scene{
  position:relative;
  width:min(100%, 760px);
  height:100%;
  min-height:244px;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:1;
}
.formazione-hero-scene::before,
.formazione-hero-scene::after{
  content:"";
  position:absolute;
  border-radius:28px;
  background:rgba(255,255,255,.24);
  backdrop-filter: blur(2px);
  box-shadow:0 22px 50px rgba(20,49,92,.16);
}
.formazione-hero-scene::before{
  width:150px;
  height:150px;
  left:10px;
  top:18px;
}
.formazione-hero-scene::after{
  width:190px;
  height:120px;
  right:10px;
  bottom:20px;
}
.formazione-hero-video{
  position:relative;
  z-index:2;
  width:min(100%, 560px);
  aspect-ratio:16 / 9;
  border-radius:24px;
  object-fit:cover;
  background:#09131f;
  border:1px solid rgba(255,255,255,.48);
  box-shadow:0 28px 60px rgba(6,27,54,.28), 0 8px 20px rgba(6,27,54,.20);
}
.formazione-hero-chip{
  position:absolute;
  z-index:3;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(12,49,98,.84);
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 12px 28px rgba(7,24,45,.18);
}
.formazione-chip-top{
  left:24px;
  top:14px;
}
.formazione-chip-bottom{
  right:22px;
  bottom:12px;
  background:rgba(255,255,255,.88);
  color:#1d4d72;
  letter-spacing:.03em;
  text-transform:none;
  font-weight:700;
}
@media(max-width:900px){
  .formazione-hero-visual{padding:22px;}
  .formazione-hero-scene{min-height:220px;}
  .formazione-hero-scene::before,
  .formazione-hero-scene::after,
  .formazione-hero-chip{display:none;}
  .formazione-hero-video{width:100%; border-radius:20px;}
}


/* === V235: riduzione scritta home 'Ingegneria in evoluzione' === */
.hero-evolution-title,
.hero-title-evolution,
.home-evolution-title,
.home-claim-evolution,
.hero-render-title,
.hero-render-claim,
.hero-claim,
.home-hero-claim{
  font-size: clamp(28px, 3.15vw, 54px) !important;
  line-height: .96 !important;
  letter-spacing: -0.035em !important;
}
@media (max-width: 900px){
  .hero-evolution-title,
  .hero-title-evolution,
  .home-evolution-title,
  .home-claim-evolution,
  .hero-render-title,
  .hero-render-claim,
  .hero-claim,
  .home-hero-claim{
    font-size: clamp(26px, 9vw, 42px) !important;
  }
}


/* === V236: home titolo più piccolo e logo leggermente più grande === */
@media(min-width:1025px){
  .home-static-overlay-logo{
    width:20.7% !important;
    max-width:372px !important;
    min-width:246px !important;
    left:3.6% !important;
    top:1.75% !important;
  }
}
@media(max-width:1024px), (hover:none) and (pointer:coarse){
  .home-mobile-logo{
    width:248px !important;
    max-width:78vw !important;
  }
  .home-mobile-copy h1{
    font-size:clamp(40px, 13.2vw, 68px) !important;
    line-height:.92 !important;
  }
}


/* === V238: Settori di competenza - card solo con titolo === */
.sector-card p,
.sectors-card p,
.competence-card p,
.settori-card p,
.area-card p,
.domain-card p,
.sector-card .card-text,
.sectors-card .card-text,
.competence-card .card-text,
.settori-card .card-text,
.area-card .card-text,
.domain-card .card-text,
.sector-card .card-desc,
.sectors-card .card-desc,
.competence-card .card-desc,
.settori-card .card-desc,
.area-card .card-desc,
.domain-card .card-desc,
.sector-card .sector-description,
.sectors-card .sector-description,
.competence-card .sector-description,
.settori-card .sector-description{
  display:none !important;
}

.sector-card h3,
.sectors-card h3,
.competence-card h3,
.settori-card h3,
.area-card h3,
.domain-card h3{
  margin-bottom:0 !important;
}

.sector-card .card-overlay,
.sectors-card .card-overlay,
.competence-card .card-overlay,
.settori-card .card-overlay,
.area-card .card-overlay,
.domain-card .card-overlay,
.sector-card .sector-card-content,
.sectors-card .sector-card-content,
.competence-card .sector-card-content,
.settori-card .sector-card-content{
  padding-bottom:24px !important;
}

/* === V240: sottomenu più leggibile in WordPress === */
.topbar nav .nav-submenu,
.topbar.topbar-standard-home.topbar-no-logo-home nav .nav-submenu{
  min-width:330px !important;
  padding:14px !important;
  gap:6px !important;
}

.topbar nav .nav-submenu a,
.topbar.topbar-standard-home.topbar-no-logo-home nav .nav-submenu a,
body .topbar nav .nav-submenu a,
body .topbar.topbar-standard-home.topbar-no-logo-home nav .nav-submenu a{
  font-size:16px !important;
  line-height:1.34 !important;
  font-weight:900 !important;
  letter-spacing:.005em !important;
  padding:13px 16px !important;
}

.topbar nav .nav-submenu a:hover,
.topbar nav .nav-submenu a.active,
.topbar.topbar-standard-home.topbar-no-logo-home nav .nav-submenu a:hover,
.topbar.topbar-standard-home.topbar-no-logo-home nav .nav-submenu a.active{
  font-size:16px !important;
  line-height:1.34 !important;
}

@media(max-width:720px){
  body.menu-open .topbar nav .nav-submenu,
  body.menu-open .topbar.topbar-standard-home.topbar-no-logo-home nav .nav-submenu{
    padding:8px 0 8px 14px !important;
    gap:4px !important;
  }

  body.menu-open .topbar nav .nav-submenu a,
  body.menu-open .topbar.topbar-standard-home.topbar-no-logo-home nav .nav-submenu a,
  body.menu-open .topbar nav .nav-submenu a:hover,
  body.menu-open .topbar nav .nav-submenu a.active,
  body.menu-open .topbar.topbar-standard-home.topbar-no-logo-home nav .nav-submenu a:hover,
  body.menu-open .topbar.topbar-standard-home.topbar-no-logo-home nav .nav-submenu a.active{
    font-size:15px !important;
    line-height:1.34 !important;
    font-weight:900 !important;
    padding:10px 12px !important;
  }
}

/* === V241: font unico compatibile WordPress, senza Google Fonts === */
:root{
  --font-sepli-wp:"Segoe UI", Arial, Helvetica, sans-serif;
  --font-sepli:"Segoe UI", Arial, Helvetica, sans-serif;
}
html,
body,
body *:not(svg):not(svg *),
body *::before,
body *::after,
button,
input,
textarea,
select{
  font-family:var(--font-sepli-wp) !important;
}


/* === V243: pagina Mercati - macroaree e tendina aggiornata === */
.topbar nav .nav-submenu-mercati{
  min-width:360px !important;
}
.topbar nav .nav-dropdown-mercati .nav-parent.active{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
}
.mercati-section{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  padding:clamp(44px,5.5vw,82px) clamp(22px,5vw,74px) clamp(58px,6vw,96px) !important;
  background:
    radial-gradient(circle at 8% 4%, rgba(42,167,223,.08), transparent 30%),
    radial-gradient(circle at 92% 10%, rgba(239,138,48,.08), transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f7fafc 100%) !important;
  color:#092b63 !important;
}
.mercati-head{
  max-width:980px;
  margin:0 auto 34px;
  text-align:left;
}
.mercati-head .clients-kicker{
  margin:0 0 8px !important;
  color:#ec7b26 !important;
  font-size:13px !important;
  line-height:1 !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  font-weight:900 !important;
}
.mercati-head h1{
  margin:0 !important;
  color:#123a7a !important;
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-size:clamp(52px,6vw,86px) !important;
  font-weight:900 !important;
  line-height:.94 !important;
  letter-spacing:-.05em !important;
}
.mercati-title-line{
  display:block;
  width:94px;
  height:5px;
  border-radius:999px;
  margin:18px 0 16px;
  background:linear-gradient(90deg,#ef7f22 0%,#ef7f22 70%,#2aa7df 100%);
}
.mercati-intro{
  max-width:760px;
  margin:0 !important;
  color:#173866 !important;
  font-size:clamp(18px,1.35vw,23px) !important;
  line-height:1.45 !important;
  font-weight:500 !important;
}
.mercati-grid{
  max-width:1280px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:28px;
  align-items:stretch;
}
.mercato-card{
  grid-column:span 2;
  min-height:302px;
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(18,58,122,.13);
  box-shadow:0 18px 42px rgba(3,28,68,.13);
  position:relative;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.mercato-card:nth-child(4){grid-column:2 / span 2;}
.mercato-card:nth-child(5){grid-column:4 / span 2;}
.mercato-card:hover{
  transform:translateY(-5px);
  box-shadow:0 24px 54px rgba(3,28,68,.18);
  border-color:rgba(239,127,34,.34);
}
.mercato-card-media{
  height:128px;
  position:relative;
  background-size:cover;
  background-position:center;
}
.mercato-card-media:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.20),rgba(4,30,68,.20));
}
.mercato-card-media:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:7px;
  background:linear-gradient(90deg,#ef7f22 0%,#ef7f22 28%,#2aa7df 28%,#123a7a 100%);
}
.mercato-card-icon{
  position:absolute;
  left:24px;
  top:22px;
  width:76px;
  height:76px;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 24px rgba(3,28,68,.18);
  z-index:2;
}
.mercato-card-icon img{
  width:40px !important;
  height:40px !important;
  object-fit:contain !important;
}
.mercato-card-body{
  padding:20px 28px 24px;
}
.mercato-card-body h2{
  margin:0 0 13px !important;
  color:#082a63 !important;
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-size:clamp(21px,1.6vw,29px) !important;
  font-weight:900 !important;
  line-height:1.08 !important;
  letter-spacing:-.025em !important;
}
.mercato-card-body ul{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
.mercato-card-body li{
  position:relative;
  margin:8px 0 !important;
  padding-left:22px !important;
  color:#123a7a !important;
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-size:clamp(15px,1vw,18px) !important;
  font-weight:600 !important;
  line-height:1.22 !important;
}
.mercato-card-body li:before{
  content:"›";
  position:absolute;
  left:0;
  top:-1px;
  color:#ef7f22;
  font-weight:900;
  font-size:22px;
  line-height:1;
}
.mercato-edifici .mercato-card-media{
  background-image:linear-gradient(180deg,rgba(255,255,255,.06),rgba(8,23,48,.18)), url('assets/images/clienti-facility.png');
}
.mercato-infrastrutture .mercato-card-media{
  background-image:linear-gradient(180deg,rgba(255,255,255,.06),rgba(8,23,48,.18)), url('assets/images/clienti-aeroportuale-v266.png');
}
.mercato-enti .mercato-card-media{
  background-image:linear-gradient(180deg,rgba(255,255,255,.04),rgba(8,23,48,.18)), url('assets/images/clienti-istituti-religiosi.png');
}
.mercato-industria .mercato-card-media{
  background-image:linear-gradient(180deg,rgba(255,255,255,.07),rgba(8,23,48,.20)), url('assets/images/home-demo/electrical_room.png');
  background-position:center 48%;
}
.mercato-cultura .mercato-card-media{
  background-image:linear-gradient(180deg,rgba(255,255,255,.07),rgba(8,23,48,.20)), url('assets/images/clienti-editoria.png');
}
@media(max-width:1120px){
  .mercati-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .mercato-card,
  .mercato-card:nth-child(4),
  .mercato-card:nth-child(5){
    grid-column:auto;
  }
}
@media(max-width:720px){
  .topbar nav .nav-submenu-mercati{
    min-width:0 !important;
  }
  .mercati-section{
    padding:34px 18px 56px !important;
  }
  .mercati-head{
    margin-bottom:24px;
  }
  .mercati-grid{
    grid-template-columns:1fr;
    gap:20px;
  }
  .mercato-card{
    min-height:0;
    border-radius:22px;
  }
  .mercato-card-media{
    height:116px;
  }
  .mercato-card-icon{
    width:64px;
    height:64px;
    left:18px;
    top:20px;
  }
  .mercato-card-icon img{
    width:34px !important;
    height:34px !important;
  }
  .mercato-card-body{
    padding:18px 22px 22px;
  }
}

/* === V244: Mercati senza tendina + card più compatte === */
.topbar nav .nav-dropdown-mercati,
.topbar nav .nav-submenu-mercati{
  display:none !important;
}
.mercati-section{
  padding:clamp(34px,4vw,56px) clamp(20px,4vw,58px) clamp(44px,5vw,72px) !important;
}
.mercati-head{
  max-width:900px !important;
  margin:0 auto 26px !important;
}
.mercati-head h1{
  font-size:clamp(44px,4.8vw,68px) !important;
  letter-spacing:-.045em !important;
}
.mercati-title-line{
  width:82px !important;
  height:4px !important;
  margin:14px 0 13px !important;
}
.mercati-intro{
  max-width:720px !important;
  font-size:clamp(16px,1.05vw,19px) !important;
  line-height:1.42 !important;
}
.mercati-grid{
  max-width:1120px !important;
  gap:20px !important;
}
.mercato-card{
  min-height:240px !important;
  border-radius:19px !important;
  box-shadow:0 12px 28px rgba(3,28,68,.11) !important;
}
.mercato-card:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 16px 36px rgba(3,28,68,.15) !important;
}
.mercato-card-media{
  height:92px !important;
}
.mercato-card-media:after{
  height:5px !important;
}
.mercato-card-icon{
  left:18px !important;
  top:17px !important;
  width:54px !important;
  height:54px !important;
}
.mercato-card-icon img{
  width:29px !important;
  height:29px !important;
}
.mercato-card-body{
  padding:15px 20px 18px !important;
}
.mercato-card-body h2{
  margin:0 0 10px !important;
  font-size:clamp(17px,1.22vw,22px) !important;
  line-height:1.10 !important;
}
.mercato-card-body li{
  margin:5px 0 !important;
  padding-left:18px !important;
  font-size:clamp(13px,.92vw,15px) !important;
  line-height:1.18 !important;
  font-weight:600 !important;
}
.mercato-card-body li:before{
  top:-2px !important;
  font-size:19px !important;
}
@media(max-width:1120px){
  .mercati-grid{max-width:820px !important;}
}
@media(max-width:720px){
  .mercati-section{padding:30px 16px 48px !important;}
  .mercati-grid{gap:16px !important;}
  .mercato-card-media{height:84px !important;}
  .mercato-card-body{padding:14px 18px 17px !important;}
}


/* === V246: Settori di riferimento con card V244 e intro con sfondo === */
.topbar nav a[href="clienti.html"]{
  white-space:nowrap;
}

/* Mantiene le card compatte V244: cambia solo titolo e sfondo della frase introduttiva */
.mercati-head .clients-kicker{
  content:none;
}
.clients-page .mercati-intro{
  display:block !important;
  max-width:980px !important;
  margin:16px auto 0 !important;
  padding:22px 26px !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 92% 18%, rgba(42,167,223,.14), transparent 28%),
    linear-gradient(135deg, rgba(6,45,112,.065), rgba(255,255,255,.94) 58%, rgba(242,139,45,.07));
  border:1px solid rgba(6,45,112,.10) !important;
  box-shadow:0 14px 36px rgba(15,36,76,.08) !important;
}

@media(max-width:720px){
  .clients-page .mercati-intro{
    padding:18px 16px !important;
    border-radius:20px !important;
  }
}


/* === V247: tolto kicker duplicato settori di riferimento === */
.mercati-head .clients-kicker{
  display:none !important;
}
.mercati-head{
  padding-top:4px !important;
}
.clients-page .mercati-intro{
  margin-top:18px !important;
}


/* === V248: Settori soluzione 2 - intro a due colonne === */
/* Intro separata dalle card: testo a sinistra, punti chiave a destra */
.clients-page .settori-split-head{
  display:grid !important;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr) !important;
  gap:34px !important;
  align-items:stretch !important;
  max-width:1120px !important;
  margin:0 auto 36px !important;
  padding:0 !important;
}
.clients-page .settori-split-copy{
  padding:8px 0 0 !important;
}
.clients-page .settori-split-copy .mercati-intro{
  max-width:760px !important;
  margin:16px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  color:#143869 !important;
}
.clients-page .settori-split-focus{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
  padding:18px !important;
  border-radius:26px !important;
  background:
    radial-gradient(circle at 98% 0%, rgba(42,167,223,.18), transparent 34%),
    linear-gradient(135deg, rgba(6,45,112,.07), rgba(255,255,255,.96) 58%, rgba(242,139,45,.08)) !important;
  border:1px solid rgba(6,45,112,.10) !important;
  box-shadow:0 14px 34px rgba(15,36,76,.08) !important;
}
.clients-page .settori-split-focus article{
  display:grid !important;
  grid-template-columns:44px 1fr !important;
  column-gap:13px !important;
  row-gap:2px !important;
  align-items:center !important;
  padding:13px 14px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(6,45,112,.08) !important;
}
.clients-page .settori-split-focus article span{
  grid-row:1 / span 2 !important;
  width:44px !important;
  height:44px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:15px !important;
  background:#113a79 !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
}
.clients-page .settori-split-focus article strong{
  color:#0b2f6b !important;
  font-size:17px !important;
  font-weight:900 !important;
  line-height:1.05 !important;
}
.clients-page .settori-split-focus article em{
  color:#536a86 !important;
  font-size:13px !important;
  font-style:normal !important;
  font-weight:600 !important;
  line-height:1.25 !important;
}
.clients-page .settori-card-label{
  max-width:1120px !important;
  margin:0 auto 18px !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
}
.clients-page .settori-card-label span{
  display:block !important;
  width:48px !important;
  height:3px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#ef7f22,#2aa7df) !important;
}
.clients-page .settori-card-label h2{
  margin:0 !important;
  color:#123a7a !important;
  font-size:clamp(21px,1.7vw,28px) !important;
  font-weight:900 !important;
  line-height:1.1 !important;
  letter-spacing:-.025em !important;
}

@media(max-width:980px){
  .clients-page .settori-split-head{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
  .clients-page .settori-split-focus{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .clients-page .settori-split-focus article{
    grid-template-columns:1fr !important;
    text-align:left !important;
  }
  .clients-page .settori-split-focus article span{
    grid-row:auto !important;
    margin-bottom:6px !important;
  }
}
@media(max-width:720px){
  .clients-page .settori-split-head{
    margin-bottom:26px !important;
  }
  .clients-page .settori-split-focus{
    grid-template-columns:1fr !important;
    padding:14px !important;
    border-radius:22px !important;
  }
  .clients-page .settori-card-label{
    margin-bottom:14px !important;
  }
}


/* === V249: 5 card in fila + intro semplificata === */
.clients-page .mercati-section{
  max-width:1560px !important;
  margin:0 auto !important;
  padding-left:28px !important;
  padding-right:28px !important;
}
.clients-page .mercati-head-wide{
  max-width:980px !important;
  margin:0 auto 28px !important;
  padding:0 !important;
  text-align:left !important;
}
.clients-page .mercati-head-wide .mercati-intro{
  max-width:980px !important;
  margin:18px 0 0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.clients-page .settori-card-label{
  max-width:1560px !important;
  margin:0 auto 18px !important;
}
.clients-page .mercati-grid{
  max-width:1560px !important;
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}
.clients-page .mercato-card{
  min-height:284px !important;
  border-radius:18px !important;
}
.clients-page .mercato-card-media{
  height:112px !important;
}
.clients-page .mercato-card-icon{
  top:16px !important;
  left:16px !important;
  width:52px !important;
  height:52px !important;
}
.clients-page .mercato-card-icon img{
  width:26px !important;
  height:26px !important;
}
.clients-page .mercato-card-body{
  padding:14px 16px 18px !important;
}
.clients-page .mercato-card-body h2{
  margin:0 0 10px !important;
  font-size:clamp(15px,1.05vw,19px) !important;
  line-height:1.08 !important;
}
.clients-page .mercato-card-body li{
  margin:4px 0 !important;
  padding-left:15px !important;
  font-size:clamp(11.5px,.8vw,13.5px) !important;
  line-height:1.2 !important;
}
.clients-page .mercato-card-body li:before{
  font-size:16px !important;
  top:-2px !important;
}
@media (max-width:1450px){
  .clients-page .mercati-grid{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:16px !important;
  }
  .clients-page .mercato-card-body{padding:13px 14px 16px !important;}
  .clients-page .mercato-card-body h2{font-size:17px !important;}
  .clients-page .mercato-card-body li{font-size:12.5px !important;}
}
@media (max-width:1240px){
  .clients-page .mercati-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media (max-width:900px){
  .clients-page .mercati-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:640px){
  .clients-page .mercati-section{padding-left:16px !important;padding-right:16px !important;}
  .clients-page .settori-card-label{margin-bottom:14px !important;}
  .clients-page .mercati-grid{grid-template-columns:1fr !important;gap:16px !important;}
  .clients-page .mercato-card-media{height:106px !important;}
}


/* === V250: forzatura desktop 5 card su una sola riga === */
/* Forza le 5 card su un'unica riga desktop, usando tutto lo spazio disponibile */
@media (min-width:1200px){
  html body .clients-page .mercati-section{
    max-width:none !important;
    width:100% !important;
    margin:0 auto !important;
    padding-left:34px !important;
    padding-right:34px !important;
  }
  html body .clients-page .mercati-head-wide,
  html body .clients-page .settori-card-label{
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  html body .clients-page .mercati-grid{
    width:calc(100vw - 68px) !important;
    max-width:none !important;
    margin-left:50% !important;
    transform:translateX(-50%) !important;
    display:grid !important;
    grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
    grid-auto-flow:column !important;
    gap:16px !important;
    align-items:stretch !important;
  }
  html body .clients-page .mercati-grid > .mercato-card{
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    grid-column:auto !important;
    min-height:300px !important;
    border-radius:18px !important;
  }
  html body .clients-page .mercati-grid > .mercato-card:nth-child(n){
    grid-row:auto !important;
    grid-column:auto !important;
  }
  html body .clients-page .mercato-card-media{
    height:132px !important;
  }
  html body .clients-page .mercato-card-media:after{
    height:5px !important;
  }
  html body .clients-page .mercato-card-icon{
    width:50px !important;
    height:50px !important;
    left:14px !important;
    top:16px !important;
  }
  html body .clients-page .mercato-card-icon img{
    width:25px !important;
    height:25px !important;
  }
  html body .clients-page .mercato-card-body{
    padding:14px 14px 17px !important;
  }
  html body .clients-page .mercato-card-body h2{
    font-size:clamp(14.5px, .95vw, 18px) !important;
    line-height:1.08 !important;
    margin:0 0 9px !important;
  }
  html body .clients-page .mercato-card-body li{
    font-size:clamp(11px, .72vw, 13px) !important;
    line-height:1.18 !important;
    margin:4px 0 !important;
    padding-left:14px !important;
  }
  html body .clients-page .mercato-card-body li:before{
    font-size:15px !important;
    top:-2px !important;
  }
}
@media (min-width:1200px) and (max-width:1450px){
  html body .clients-page .mercati-grid{
    width:calc(100vw - 44px) !important;
    gap:12px !important;
  }
  html body .clients-page .mercato-card-media{
    height:124px !important;
  }
  html body .clients-page .mercato-card-body{
    padding:13px 12px 15px !important;
  }
  html body .clients-page .mercato-card-body h2{
    font-size:15px !important;
  }
  html body .clients-page .mercato-card-body li{
    font-size:11.5px !important;
  }
}


/* === V251: rimozione titolo macro-aree + home headline coerente === */
.clients-page .settori-card-label{display:none !important;}
.home-mobile-copy h1{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-weight:700 !important;
  letter-spacing:-0.04em !important;
}


/* === V262: Infrastrutture con torre di controllo === */
.clients-page .mercato-infrastrutture .mercato-card-media{
  background-image:linear-gradient(180deg,rgba(255,255,255,.05),rgba(8,23,48,.18)), url('assets/images/clienti-aeroportuale-torre.png') !important;
  background-size:cover !important;
  background-position:center center !important;
}


/* === V266: immagine infrastrutture panoramica cache-bust === */
.clients-page .mercato-infrastrutture .mercato-card-media{
  background-image:linear-gradient(180deg,rgba(255,255,255,.05),rgba(8,23,48,.16)), url('assets/images/clienti-aeroportuale-v266.png') !important;
  background-size:cover !important;
  background-position:center center !important;
}


/* === V269: titolo certificazioni adeguato al font del sito === */
.cert-page-v73 .cert-hero-copy h1,
.cert-hero-v73 h1{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-size:clamp(44px,5.4vw,76px) !important;
  font-weight:800 !important;
  line-height:0.94 !important;
  letter-spacing:-0.055em !important;
  color:#173b74 !important;
  text-rendering:geometricPrecision;
}

@media (max-width:900px){
  .cert-page-v73 .cert-hero-copy h1,
  .cert-hero-v73 h1{
    font-size:clamp(40px,9vw,62px) !important;
    line-height:0.96 !important;
    letter-spacing:-0.05em !important;
  }
}


/* === V270: font uniformi + titolo home senza ombreggiatura === */
html, body, button, input, textarea, select, nav a, p, li, span, a,
h1, h2, h3, h4, h5, h6,
.section-head h2, .page-hero h1, .cert-hero-v73 h1,
.clients-page h1, .mercato-card-body h2, .home-mobile-copy h1{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
}

.home-mobile-copy h1,
.section-head h2,
.page-hero h1,
.cert-hero-v73 h1,
.clients-page h1{
  text-shadow:none !important;
  box-shadow:none !important;
}


/* === V271: titolo home in HTML + font unico reale === */
/* Font unico reale su tutto il sito */
html, body, body *:not(svg):not(path){
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
}

/* Nessuna ombreggiatura sui titoli testuali */
h1, h2, h3, h4, h5, h6,
.home-mobile-copy h1,
.cert-hero-v73 h1,
.clients-page h1,
.page-hero h1,
.section-head h2{
  text-shadow:none !important;
  filter:none !important;
}

/* Titolo home desktop: ora è testo HTML, non più testo dentro l'immagine */
.home-static-final-frame{
  position:relative !important;
}
.home-hero-title-text{
  position:absolute !important;
  left:4.1% !important;
  top:21.5% !important;
  z-index:35 !important;
  margin:0 !important;
  color:#173b74 !important;
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-weight:800 !important;
  font-size:clamp(42px,4.45vw,74px) !important;
  line-height:1.14 !important;
  letter-spacing:-0.045em !important;
  text-transform:uppercase !important;
  text-shadow:none !important;
  filter:none !important;
  pointer-events:none !important;
}
@media (max-width:980px){
  .home-hero-title-text{display:none !important;}
}


/* === V272: mobile menu con sottomenu chiusi fino al click === */
@media(max-width:720px){
  body.menu-open .topbar nav .nav-dropdown,
  body.menu-open .topbar.topbar-standard-home.topbar-no-logo-home nav .nav-dropdown{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    width:100% !important;
  }

  body.menu-open .topbar nav .nav-parent,
  body.menu-open .topbar.topbar-standard-home.topbar-no-logo-home nav .nav-parent{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    color:#fff !important;
    cursor:pointer !important;
  }

  body.menu-open .topbar nav .nav-dropdown .nav-submenu,
  body.menu-open .topbar.topbar-standard-home.topbar-no-logo-home nav .nav-dropdown .nav-submenu{
    display:none !important;
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 0 6px 0 !important;
    padding:8px 0 8px 14px !important;
    gap:4px !important;
    background:rgba(255,255,255,.08) !important;
    border:0 !important;
    border-radius:14px !important;
    box-shadow:none !important;
  }

  body.menu-open .topbar nav .nav-dropdown.submenu-open .nav-submenu,
  body.menu-open .topbar.topbar-standard-home.topbar-no-logo-home nav .nav-dropdown.submenu-open .nav-submenu{
    display:flex !important;
  }

  body.menu-open .topbar nav .nav-caret,
  body.menu-open .topbar.topbar-standard-home.topbar-no-logo-home nav .nav-caret{
    transition:transform .18s ease !important;
  }

  body.menu-open .topbar nav .nav-dropdown.submenu-open .nav-caret,
  body.menu-open .topbar.topbar-standard-home.topbar-no-logo-home nav .nav-dropdown.submenu-open .nav-caret{
    transform:rotate(180deg) !important;
  }
}


/* === V273: titolo mobile home identico e font unico definitivo === */
/* Font unico: applicato anche alle sezioni mobile */
html, body, body *:not(svg):not(path){
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
}

/* Titoli senza ombre, senza riflessi */
h1, h2, h3, h4, h5, h6,
.home-hero-title-text,
.home-mobile-title-text,
.home-mobile-copy h1{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  text-shadow:none !important;
  filter:none !important;
  box-shadow:none !important;
}

/* Desktop title */
.home-hero-title-text{
  font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
  font-weight:800 !important;
  letter-spacing:-0.045em !important;
  text-shadow:none !important;
  filter:none !important;
}

/* Android / mobile title */
@media(max-width:980px){
  .home-mobile-v172,
  .home-mobile-v173{
    display:block !important;
  }

  .home-mobile-copy h1,
  .home-mobile-copy .home-mobile-title-text{
    font-family:"Segoe UI", Arial, Helvetica, sans-serif !important;
    color:#173b74 !important;
    text-transform:uppercase !important;
    font-weight:800 !important;
    letter-spacing:-0.045em !important;
    font-size:clamp(42px,13.5vw,72px) !important;
    line-height:1.02 !important;
    margin:0 !important;
    text-shadow:none !important;
    filter:none !important;
    box-shadow:none !important;
  }
}


/* === V274: logo home più grande e leggermente più in basso === */
@media(min-width:1025px){
  .home-static-overlay-logo{
    width:22.4% !important;
    max-width:402px !important;
    min-width:270px !important;
    left:3.5% !important;
    top:3.35% !important;
  }
}
@media(max-width:1024px) and (min-width:768px){
  .home-static-overlay-logo{
    width:24.5% !important;
    left:3.8% !important;
    top:3.2% !important;
  }
}


/* === V275: logo home più stabile in WP, più grande e più vicino al titolo === */
@media(min-width:1025px){
  .home-static-overlay-logo{
    width:clamp(320px, 24vw, 405px) !important;
    max-width:none !important;
    min-width:320px !important;
    left:3.45% !important;
    top:4.9% !important;
  }
  .home-hero-title-text{
    left:4.05% !important;
    top:21.15% !important;
  }
}
@media(max-width:1024px) and (min-width:768px){
  .home-static-overlay-logo{
    width:clamp(250px, 27vw, 320px) !important;
    max-width:none !important;
    min-width:250px !important;
    left:3.6% !important;
    top:4.35% !important;
  }
}
