:root{
  --black:#171717;
  --black-2:#1d1d1d;
  --white:#f8f8f5;
  --pure:#ffffff;
  --ink:#191919;
  --muted:#6e6e69;
  --line:#d8d8d2;
  --accent:#39a9a5;
  --accent-blue:#2f5dff;
  --max:1280px;
  --serif:Baskerville,"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:Aptos,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--pure);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}button{font:inherit}.wrap{width:min(calc(100% - 80px),var(--max));margin-inline:auto}

.site-header{height:76px;position:absolute;top:0;left:0;right:0;z-index:30;color:#fff;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 40px;border-bottom:1px solid rgba(255,255,255,.12)}
.header-location{font-size:12px;text-transform:uppercase;letter-spacing:.16em;justify-self:start}.wordmark{font-family:var(--serif);font-size:22px;letter-spacing:.055em;justify-self:center;white-space:nowrap}.menu-toggle{justify-self:end;color:#fff;border:0;background:transparent;display:flex;align-items:center;gap:12px;cursor:pointer;padding:10px 0}.menu-label{font-size:13px;text-transform:uppercase;letter-spacing:.13em}.menu-icon{width:28px;height:14px;position:relative}.menu-icon i{position:absolute;left:0;width:28px;height:1px;background:#fff}.menu-icon i:first-child{top:3px}.menu-icon i:last-child{bottom:3px}

.menu-overlay{position:fixed;inset:0;z-index:100;background:#f3f3ef;color:#202020;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;overflow:auto}.menu-overlay.open{opacity:1;visibility:visible}.menu-pattern{position:absolute;inset:0;opacity:.19;pointer-events:none;background-image:radial-gradient(ellipse at 12% 40%,transparent 0 32%,rgba(46,93,255,.19) 32.2% 32.6%,transparent 32.8% 40%,rgba(46,93,255,.16) 40.2% 40.6%,transparent 40.8%),radial-gradient(ellipse at 72% 54%,transparent 0 25%,rgba(46,93,255,.15) 25.2% 25.5%,transparent 25.7% 34%,rgba(46,93,255,.12) 34.2% 34.6%,transparent 34.8%)}.menu-top{height:76px;position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:0 40px;border-bottom:1px solid #d6d6d0;font-family:var(--serif);font-size:18px}.menu-close{border:0;background:none;font-size:34px;font-weight:200;cursor:pointer;line-height:1}.menu-nav{position:relative;z-index:2;width:min(76%,1050px);margin:10vh auto 0;display:flex;flex-direction:column;align-items:flex-end}.menu-nav a{font-family:var(--sans);font-size:clamp(30px,4.4vw,64px);line-height:1.16;color:#111;display:flex;align-items:baseline;gap:18px;padding:6px 0;transition:color .2s ease}.menu-nav a:nth-child(-n+3){color:var(--accent-blue)}.menu-nav a:hover{color:var(--accent)}.menu-nav span{font-size:11px;letter-spacing:.12em;color:#84847e}.menu-bottom{position:relative;z-index:2;width:min(76%,1050px);margin:9vh auto 30px;display:flex;justify-content:space-between;gap:20px;color:#6a6a65;font-size:12px}

.hero{min-height:100vh;background:var(--black);color:#fff;display:grid;grid-template-columns:47% 53%;overflow:hidden}.hero-visual{position:relative;clip-path:polygon(0 0,100% 0,85% 100%,0 100%);min-height:100vh;background:#333}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(18,18,18,.06),rgba(18,18,18,.18))}.hero-visual img{height:100%;object-fit:cover;object-position:center}.hero-panel{min-height:100vh;padding:145px 7vw 56px 5.5vw;display:flex;flex-direction:column;justify-content:space-between}.hero-brand-mobile{display:none}.section-label{margin:0 0 20px;font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:#2e5dff}.section-label.light{color:#aaa}.hero h1{font-family:var(--serif);font-size:clamp(42px,4.6vw,67px);font-weight:400;line-height:1.06;letter-spacing:-.018em;margin:0 0 27px;max-width:760px}.hero-intro{font-size:17px;line-height:1.62;max-width:620px;color:#c3c3bf;margin:0}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:25px;border-top:1px solid #373737;padding-top:20px}.motto{font-family:var(--serif);font-style:italic;color:#d8d8d1;font-size:18px;margin:0}.scroll-link{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#a8a8a3;white-space:nowrap}.scroll-link span{color:var(--accent);font-size:17px;margin-left:8px}

.section-light{background:#f6f6f2}.intro{padding:112px 0 0}.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;padding-bottom:90px}.intro-heading h2,.practice-head h2,.people-head h2,.network-panel h2,.contact-head h2{font-family:var(--serif);font-weight:400;letter-spacing:-.018em}.intro-heading h2{font-size:clamp(42px,4vw,58px);line-height:1.08;margin:0;max-width:540px}.intro-copy{padding-top:34px;max-width:650px}.intro-copy p{color:#54544f;margin:0 0 16px}.intro-copy .lead{font-family:var(--serif);font-size:24px;line-height:1.45;color:#2b2b29;margin-bottom:24px}.wide-photo{height:min(72vh,760px);overflow:hidden}.wide-photo img{height:100%;object-fit:cover;object-position:center}

.practice-section{background:var(--black);color:#fff;padding:110px 0 120px}.practice-head{display:grid;grid-template-columns:1fr 1.6fr;column-gap:80px;align-items:end;margin-bottom:58px}.practice-head .section-label{grid-column:1}.practice-head h2{grid-column:1;font-size:clamp(42px,4vw,58px);line-height:1.08;margin:0}.practice-head>p{grid-column:2;margin:0 0 4px;color:#a9a9a4;max-width:520px}.practice-list{border-top:1px solid #41413f}.practice-item{position:relative;display:grid;grid-template-columns:48px minmax(260px,.85fr) 1.15fr 32px;gap:28px;align-items:start;padding:27px 0 30px;border-bottom:1px solid #41413f;transition:padding .25s ease,background .25s ease}.practice-item:hover{padding-left:14px;padding-right:14px;background:#202020}.practice-no{font-size:11px;color:#777;letter-spacing:.12em;margin-top:5px}.practice-item h3{font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.15;margin:0;color:#fff}.practice-item p{font-size:14.5px;line-height:1.6;color:#a8a8a4;margin:0;max-width:600px}.practice-arrow{font-size:20px;color:var(--accent);text-align:right}

.feature-split{display:grid;grid-template-columns:52% 48%;min-height:620px;background:#101010;color:#fff}.feature-image{clip-path:polygon(0 0,100% 0,87% 100%,0 100%);overflow:hidden}.feature-image img{height:100%;object-fit:cover}.feature-panel{display:flex;flex-direction:column;justify-content:center;padding:70px 9vw 70px 5vw}.feature-index{font-family:var(--serif);font-size:clamp(68px,8vw,120px);font-weight:400;line-height:.85;color:#fff;margin-bottom:44px}.feature-copy{font-family:var(--serif);font-size:27px;line-height:1.42;color:#cfcfca;margin:0;max-width:580px}

.people{padding:110px 0 120px}.people-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px;align-items:start;margin-bottom:70px}.people-head .section-label{margin-top:11px}.people-head h2{font-size:clamp(48px,5vw,72px);line-height:1.05;margin:0}.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.person{border-top:1px solid #bdbdb7;padding-top:20px}.person-portrait{aspect-ratio:1.05/1;background:#e7e7e2;margin-bottom:25px;position:relative;overflow:hidden}.person-portrait.placeholder:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ebebe6 0 48%,#deded7 48.2% 100%)}.person-portrait span{position:absolute;left:20px;bottom:18px;z-index:1;font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#777}.person-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#62625e;margin:0 0 8px}.person h3{font-family:var(--serif);font-size:36px;font-weight:400;margin:0 0 14px}.person-copy>p:not(.person-kicker){color:#585853;margin:0 0 18px;max-width:560px}.person a{display:inline-flex;gap:8px;align-items:center;color:#212121;font-size:13px;font-weight:700}.person a span{color:var(--accent)}

.network{display:grid;grid-template-columns:46% 54%;background:#171717;color:#fff;min-height:700px}.network-image{clip-path:polygon(0 0,100% 0,86% 100%,0 100%);overflow:hidden}.network-image img{height:100%;object-fit:cover}.network-panel{padding:105px 8vw 90px 5vw;display:flex;flex-direction:column;justify-content:center}.network-panel h2{font-size:clamp(41px,4vw,59px);line-height:1.08;margin:0 0 28px}.network-panel>p:not(.section-label){color:#b0b0ab;max-width:650px;font-size:17px;line-height:1.62}.network-tags{margin-top:28px;display:flex;flex-wrap:wrap;gap:8px}.network-tags span{border:1px solid #494946;padding:8px 11px;font-size:12px;color:#c8c8c2}

.contact{padding:108px 0 0}.contact-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px;align-items:start;padding-bottom:60px}.contact-head .section-label{margin-top:12px}.contact-head h2{font-size:clamp(48px,5vw,72px);line-height:1.04;margin:0}.contact-photo{height:520px;overflow:hidden}.contact-photo img{height:100%;object-fit:cover;object-position:center}.contact-grid{display:grid;grid-template-columns:.8fr 1.35fr 1.4fr 1fr;border-top:1px solid #c8c8c1;margin-top:0;padding-top:0}.contact-grid>div{padding:28px 28px 42px 0;border-right:1px solid #c8c8c1}.contact-grid>div+div{padding-left:28px}.contact-grid>div:last-child{border-right:0}.contact-grid span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#797974;margin-bottom:13px}.contact-grid a{display:block;font-size:14px;line-height:1.55;margin-bottom:4px}.contact-grid small{display:block;font-size:12px;color:#767670;margin-top:7px}

.footer{background:#151515;color:#fff;padding:45px 0 22px}.footer-top{display:flex;align-items:baseline;justify-content:space-between;gap:30px;padding-bottom:34px}.footer-wordmark{font-family:var(--serif);font-size:22px;letter-spacing:.05em}.footer-motto{font-family:var(--serif);font-style:italic;color:#ababaa}.footer-bottom{border-top:1px solid #3a3a38;padding-top:18px;display:flex;justify-content:space-between;gap:25px;color:#777;font-size:11px}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}

@media(max-width:980px){
  .wrap{width:min(calc(100% - 50px),var(--max))}.site-header{padding:0 25px}.hero{grid-template-columns:44% 56%}.hero-panel{padding-left:5vw;padding-right:5vw}.intro-grid,.people-head,.contact-head{gap:50px}.practice-head{column-gap:50px}.practice-item{grid-template-columns:40px minmax(230px,.85fr) 1.15fr 26px;gap:20px}.people-grid{gap:42px}.contact-grid{grid-template-columns:1fr 1fr}.contact-grid>div:nth-child(2){border-right:0}.contact-grid>div:nth-child(3),.contact-grid>div:nth-child(4){border-top:1px solid #c8c8c1}
}
@media(max-width:760px){
  .wrap{width:min(calc(100% - 36px),var(--max))}.site-header{height:68px;padding:0 18px;grid-template-columns:1fr auto}.header-location{display:none}.wordmark{justify-self:start;font-size:17px}.menu-toggle{justify-self:end}.hero{display:block;min-height:auto}.hero-visual{height:58vh;min-height:460px;clip-path:polygon(0 0,100% 0,100% 88%,0 100%)}.hero-panel{min-height:auto;padding:48px 22px 34px}.hero h1{font-size:clamp(39px,11vw,54px)}.hero-intro{font-size:16px}.hero-bottom{margin-top:55px;align-items:flex-start;flex-direction:column}.motto{font-size:17px}
  .intro{padding-top:74px}.intro-grid{grid-template-columns:1fr;gap:32px;padding-bottom:58px}.intro-copy{padding-top:0}.wide-photo{height:54vh}.practice-section{padding:78px 0 80px}.practice-head{display:block;margin-bottom:38px}.practice-head h2{margin-bottom:17px}.practice-item{grid-template-columns:30px 1fr 24px;padding:22px 0}.practice-item h3{grid-column:2;font-size:24px}.practice-item p{grid-column:2;font-size:14px}.practice-no{grid-row:1/3}.practice-arrow{grid-column:3;grid-row:1}.feature-split,.network{grid-template-columns:1fr;min-height:0}.feature-image,.network-image{height:58vh;clip-path:polygon(0 0,100% 0,100% 91%,0 100%)}.feature-panel,.network-panel{padding:60px 22px 70px}.feature-index{font-size:72px;margin-bottom:28px}.feature-copy{font-size:23px}.people{padding:76px 0}.people-head,.contact-head{grid-template-columns:1fr;gap:15px;margin-bottom:42px}.people-head .section-label,.contact-head .section-label{margin-top:0}.people-head h2,.contact-head h2{font-size:45px}.people-grid{grid-template-columns:1fr;gap:58px}.network-panel h2{font-size:42px}.contact{padding-top:75px}.contact-head{padding-bottom:45px}.contact-photo{height:55vh}.contact-grid{grid-template-columns:1fr}.contact-grid>div,.contact-grid>div+div{padding:20px 0;border-right:0;border-top:1px solid #c8c8c1}.footer-top,.footer-bottom{flex-direction:column;align-items:flex-start}.menu-top{height:68px;padding:0 20px}.menu-nav{width:calc(100% - 40px);margin-top:8vh}.menu-nav a{font-size:38px}.menu-bottom{width:calc(100% - 40px);flex-direction:column;margin-top:8vh}
}


/* =========================================================
   V4-bis.1 — calibrazione gerarchie e header
   ========================================================= */

.site-header{
  height:92px;
  grid-template-columns:1fr auto;
  padding:0 42px;
}
.header-logo{
  justify-self:start;
  width:72px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.header-logo img{
  width:72px;
  height:72px;
  object-fit:contain;
}
.menu-toggle{justify-self:end}
.wordmark,.header-location{display:none!important}

/* Hero: denominazione come elemento principale, claim subordinato */
.hero-panel{
  padding-top:150px;
}
.hero h1{
  font-family:var(--serif);
  font-size:clamp(46px,4.45vw,66px);
  line-height:1.02;
  letter-spacing:-.02em;
  margin:0 0 22px;
  max-width:760px;
}
.hero-tagline{
  font-family:var(--serif);
  font-size:clamp(24px,2.05vw,31px);
  line-height:1.25;
  color:#f0f0ec;
  margin:0 0 18px;
  max-width:720px;
}
.hero-intro{
  font-size:15.5px;
  line-height:1.64;
  max-width:620px;
  color:#bdbdb8;
}

/* Gerarchia coerente delle sezioni:
   1. nome sezione
   2. frase guida
   3. testo corrente */
.section-title{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(30px,2.45vw,38px);
  line-height:1.08;
  letter-spacing:-.012em;
  margin:0;
}
.section-title-light{color:#fff}
.section-deck{
  font-family:var(--serif);
  font-size:clamp(24px,2vw,30px);
  line-height:1.22;
  letter-spacing:-.01em;
  margin:18px 0 0;
  color:#30302d;
}
.section-deck-light{color:#e5e5df}
.section-summary{
  font-size:15px;
  line-height:1.6;
  color:#a9a9a4;
  margin:0;
  max-width:520px;
}

/* Lo Studio */
.intro{
  padding-top:96px;
}
.intro-grid{
  grid-template-columns:.9fr 1.1fr;
  gap:84px;
  padding-bottom:76px;
}
.intro-heading h2{max-width:none}
.intro-copy{
  padding-top:4px;
  max-width:650px;
}
.intro-copy .lead{
  font-size:21px;
  line-height:1.47;
  margin-bottom:20px;
}
.intro-copy p{
  font-size:15px;
  line-height:1.62;
  margin-bottom:14px;
}

/* Attività: senza numerazione, gerarchia meno monumentale */
.practice-section{
  padding:94px 0 104px;
}
.practice-head{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  column-gap:78px;
  row-gap:14px;
  align-items:start;
  margin-bottom:48px;
}
.practice-head .section-title{
  grid-column:1;
  grid-row:1;
}
.practice-head .section-deck{
  grid-column:1;
  grid-row:2;
  margin-top:0;
}
.practice-head .section-summary{
  grid-column:2;
  grid-row:1 / span 2;
  align-self:end;
  margin-bottom:2px;
}
.practice-item{
  grid-template-columns:minmax(260px,.86fr) 1.14fr;
  gap:42px;
  padding:23px 0 25px;
}
.practice-item h3{
  font-size:23px;
  line-height:1.18;
}
.practice-item p{
  font-size:14px;
  line-height:1.58;
}
.practice-item:hover{
  padding-left:0;
  padding-right:0;
  background:transparent;
}

/* 1983: presente ma non dominante */
.feature-index{
  font-size:clamp(52px,5.6vw,78px);
  margin-bottom:30px;
}
.feature-copy{
  font-size:21px;
  line-height:1.44;
}

/* Professionisti: niente grandi riquadri fotografici in questa prova */
.people{
  padding:94px 0 100px;
}
.people-head{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:78px;
  align-items:start;
  margin-bottom:48px;
}
.people-head .section-deck{
  margin-top:0;
}
.people-grid{
  gap:64px;
}
.person{
  padding-top:22px;
}
.person-portrait{display:none!important}
.person-kicker{
  margin-top:0;
}
.person h3{
  font-size:30px;
  margin-bottom:12px;
}
.person-copy>p:not(.person-kicker){
  font-size:14.5px;
  line-height:1.62;
}

/* Rete professionale */
.network-panel{
  padding-top:92px;
  padding-bottom:82px;
}
.network-panel .section-deck{
  margin-bottom:22px;
}
.network-panel>p:not(.section-label):not(.section-deck){
  font-size:15.5px;
  line-height:1.62;
}

/* Contatti: stessa logica gerarchica, struttura invariata */
.contact{
  padding-top:92px;
}
.contact-head{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:78px;
  align-items:start;
  padding-bottom:48px;
}
.contact-head .section-deck{
  margin-top:0;
}

@media(max-width:980px){
  .site-header{padding:0 26px}
  .header-logo,.header-logo img{width:64px;height:64px}
  .intro-grid,.practice-head,.people-head,.contact-head{gap:48px}
  .practice-item{gap:28px}
}

@media(max-width:760px){
  .site-header{
    height:72px;
    padding:0 18px;
  }
  .header-logo,.header-logo img{
    width:52px;
    height:52px;
  }
  .hero-panel{
    padding-top:46px;
  }
  .hero h1{
    font-size:clamp(40px,11vw,52px);
    margin-bottom:18px;
  }
  .hero-tagline{
    font-size:24px;
  }
  .section-title{
    font-size:31px;
  }
  .section-deck{
    font-size:24px;
  }
  .intro{
    padding-top:68px;
  }
  .intro-grid,
  .practice-head,
  .people-head,
  .contact-head{
    display:block;
  }
  .intro-heading,
  .practice-head .section-deck,
  .people-head .section-deck,
  .contact-head .section-deck{
    margin-bottom:28px;
  }
  .practice-head .section-summary{
    margin-top:18px;
  }
  .practice-item{
    display:block;
    padding:20px 0 22px;
  }
  .practice-item h3{
    font-size:22px;
    margin-bottom:10px;
  }
  .people-grid{
    grid-template-columns:1fr;
    gap:44px;
  }
  .feature-index{
    font-size:58px;
  }
}


/* =========================================================
   V4-bis.2 — revisioni editoriali 25.09.2026
   ========================================================= */

/* Header: area sinistra vuota, simbolo centrato nel pannello nero */
.site-header{
  display:block;
  height:92px;
  padding:0 42px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.header-logo{
  position:absolute;
  top:10px;
  left:73.5%;
  transform:translateX(-50%);
  width:72px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.header-logo img{width:72px;height:72px;object-fit:contain}
.menu-toggle{
  position:absolute;
  right:42px;
  top:25px;
}
.hero-bottom{justify-content:flex-start}
.scroll-link{display:none!important}

/* Lo Studio: solo titolo di sezione + testo */
.intro-grid{
  grid-template-columns:.78fr 1.22fr;
  gap:92px;
}
.intro-heading .section-deck{display:none!important}
.intro-copy{padding-top:0}

/* Aree di competenza: nessun sottotitolo descrittivo */
.practice-head{
  display:block;
  margin-bottom:44px;
}
.practice-head .section-deck,
.practice-head .section-summary{display:none!important}
.practice-item{
  grid-template-columns:minmax(300px,.9fr) 1.1fr;
  gap:54px;
}
.practice-item h3{font-size:23px}
.practice-item p{font-size:14px;line-height:1.62}

/* Immagine di dettaglio al posto del pannello 1983 */
.feature-photo-only{
  width:100%;
  height:min(66vh,720px);
  overflow:hidden;
  background:#111;
}
.feature-photo-only img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.feature-split{display:none!important}

/* Professionisti: soltanto titolo, nomi e descrizioni */
.people-head{
  display:block;
  margin-bottom:42px;
}
.people-head .section-deck{display:none!important}
.person-kicker{display:none!important}
.person{padding-top:22px}
.person h3{font-size:30px;margin-bottom:14px}

/* Rete professionale: testo essenziale, nessun tag */
.network-panel .section-deck,
.network-tags{display:none!important}
.network-panel h2{margin-bottom:24px}
.network-panel>p{font-size:15.5px!important;line-height:1.65!important;color:#b8b8b3!important}

/* Sede e contatti: testo su bianco a sinistra, foto verticale a destra */
.contact{padding:0;background:#f6f6f2}
.contact-layout{
  display:grid;
  grid-template-columns:56% 44%;
  min-height:720px;
}
.contact-panel{
  padding:94px max(46px,7vw) 80px max(46px,7vw);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.contact-panel .section-title{margin-bottom:46px}
.contact-lines{max-width:690px;border-top:1px solid #c8c8c1}
.contact-lines p{
  margin:0;
  padding:17px 0;
  border-bottom:1px solid #d8d8d2;
  font-size:15px;
  line-height:1.58;
  color:#494944;
}
.contact-lines p>span:first-child{
  display:inline-block;
  width:110px;
  color:#777772;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.contact-lines a{color:#1e1e1c;border-bottom:1px solid #a6a6a0}
.contact-lines a:hover{color:var(--accent)}
.contact-lines .phone-lines a{font-size:15px}
.contact-lines .phone-lines em{font-style:normal;color:#777772;font-size:13px;margin-left:5px}
.contact-lines .label-spacer{visibility:hidden}
.contact-lines .parking-copy{
  padding-top:25px;
  padding-bottom:25px;
}
.contact-lines .parking-copy span{display:none}
.contact-lines .appointment{
  font-family:var(--serif);
  font-size:18px;
  color:#2c2c29;
}
.contact-photo-vertical{overflow:hidden;min-height:720px}
.contact-photo-vertical img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:53% center;
}
.contact-head,.contact-photo,.contact-grid{display:none!important}

/* Footer: marchio / simbolo / motto */
.footer-top-v42{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:35px;
}
.footer-symbol{width:58px;height:58px;justify-self:center}
.footer-symbol img{width:58px;height:58px;object-fit:contain}
.footer-motto{justify-self:end;text-align:right}

@media(max-width:980px){
  .header-logo{left:72%}
  .intro-grid{gap:58px}
  .practice-item{grid-template-columns:minmax(240px,.9fr) 1.1fr;gap:34px}
  .contact-layout{grid-template-columns:58% 42%}
}

@media(max-width:760px){
  .site-header{height:72px;padding:0 18px}
  .header-logo{left:50%;top:7px;width:54px;height:54px}
  .header-logo img{width:54px;height:54px}
  .menu-toggle{right:18px;top:15px}
  .intro-grid{grid-template-columns:1fr;gap:28px}
  .practice-item{display:block;padding:21px 0 23px}
  .practice-item h3{margin-bottom:10px}
  .feature-photo-only{height:52vh;min-height:390px}
  .people-head{margin-bottom:32px}
  .people-grid{grid-template-columns:1fr;gap:42px}
  .contact-layout{grid-template-columns:1fr;min-height:0}
  .contact-panel{padding:72px 22px 54px}
  .contact-panel .section-title{margin-bottom:34px}
  .contact-photo-vertical{height:64vh;min-height:480px}
  .contact-lines p>span:first-child{width:92px}
  .footer-top-v42{grid-template-columns:1fr;justify-items:start;gap:20px}
  .footer-symbol{justify-self:start}
  .footer-motto{justify-self:start;text-align:left}
}


/* =========================================================
   V4-bis.3 — rifiniture header, gallery, contatti, privacy
   ========================================================= */

/* Header bianco */
.site-header{
  background:#ffffff;
  color:#171717;
  border-bottom:1px solid #ddddda;
}
.site-header .menu-toggle{
  color:#171717;
}
.site-header .menu-icon i{
  background:#171717;
}
.site-header .header-logo img{
  filter:none;
}

/* Motto in hero allineato a destra */
.hero-bottom{
  justify-content:flex-end;
}
.hero-bottom .motto{
  margin-left:auto;
  text-align:right;
}

/* Menu overlay: più sobrio, coerente e leggibile */
.menu-overlay{
  background:#151515;
  color:#f4f4ef;
}
.menu-pattern{display:none}
.menu-top{
  height:92px;
  padding:0 42px;
  border-bottom:1px solid #343431;
  color:#f4f4ef;
  font-family:var(--serif);
  font-size:20px;
  letter-spacing:.015em;
}
.menu-close{
  color:#f4f4ef;
  font-size:40px;
}
.menu-nav{
  width:min(72%,980px);
  margin:9vh auto 0;
  align-items:flex-start;
}
.menu-nav a{
  font-family:var(--serif);
  font-size:clamp(32px,3.55vw,52px);
  line-height:1.12;
  color:#f4f4ef;
  padding:9px 0;
  letter-spacing:-.012em;
  transition:color .2s ease, transform .2s ease;
}
.menu-nav a:nth-child(-n+5){color:#f4f4ef}
.menu-nav a:hover{
  color:#89a4d4;
  transform:translateX(8px);
}
.menu-nav span{display:none}
.menu-bottom{
  width:min(72%,980px);
  margin:8vh auto 30px;
  color:#9b9b96;
  font-size:12px;
  border-top:1px solid #343431;
  padding-top:20px;
}
.menu-bottom a{color:#d7d7d1}

/* Due immagini verticali tra aree e professionisti */
.feature-photo-only{display:none!important}
.studio-photo-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  background:#121212;
  padding:0;
}
.studio-photo-card{
  margin:0;
  height:min(82vh,900px);
  min-height:620px;
  overflow:hidden;
  position:relative;
}
.studio-photo-card:first-child{
  border-right:1px solid rgba(255,255,255,.16);
}
.studio-photo-card img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.studio-photo-card:first-child img{
  object-position:51% center;
}
.studio-photo-card:last-child img{
  object-position:58% center;
}

/* Contatti */
.contact-lines p>span:first-child{
  width:118px;
}
.contact-lines a[href^="tel:"]{
  font-size:15px;
}

/* Footer: colonna centrale perfettamente in asse con il simbolo */
.footer-bottom-grid{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  width:min(calc(100% - 80px),var(--max));
  margin-inline:auto;
}
.footer-bottom-grid>span:first-child{
  justify-self:start;
}
.footer-bottom-grid .footer-address{
  justify-self:center;
  text-align:center;
}
.footer-bottom-grid>a{
  justify-self:end;
}

/* Privacy */
.privacy-page{
  background:#f6f6f2;
}
.privacy-header{
  position:absolute;
}
.privacy-main{
  background:#f6f6f2;
}
.privacy-hero{
  background:#171717;
  color:#fff;
  padding:172px 0 92px;
}
.privacy-hero-grid{
  max-width:1060px;
}
.privacy-kicker{
  margin:0 0 20px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#9da6b5;
}
.privacy-hero h1{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(48px,5vw,72px);
  line-height:1;
  letter-spacing:-.02em;
  margin:0 0 28px;
}
.privacy-intro{
  font-family:var(--serif);
  font-size:22px;
  line-height:1.5;
  color:#d0d0cb;
  max-width:900px;
  margin:0;
}
.privacy-content{
  padding:90px 0 120px;
}
.privacy-grid{
  display:grid;
  grid-template-columns:250px minmax(0,760px);
  gap:90px;
  align-items:start;
  justify-content:center;
}
.privacy-index{
  position:sticky;
  top:32px;
  display:flex;
  flex-direction:column;
  border-top:1px solid #c9c9c3;
}
.privacy-index a{
  padding:12px 0;
  border-bottom:1px solid #d9d9d3;
  font-size:12px;
  color:#666660;
}
.privacy-index a:hover{
  color:#1f1f1d;
}
.privacy-text section{
  padding:0 0 44px;
  margin-bottom:44px;
  border-bottom:1px solid #d6d6d0;
}
.privacy-text section:last-child{
  margin-bottom:0;
}
.privacy-text h2{
  font-family:var(--serif);
  font-size:31px;
  line-height:1.15;
  font-weight:400;
  margin:0 0 22px;
}
.privacy-text h3{
  font-family:var(--serif);
  font-size:20px;
  font-weight:400;
  margin:25px 0 10px;
}
.privacy-text p{
  font-size:15px;
  line-height:1.72;
  color:#4e4e49;
  margin:0 0 14px;
}
.privacy-text a{
  border-bottom:1px solid #8d8d87;
}

@media(max-width:980px){
  .menu-nav,.menu-bottom{width:calc(100% - 70px)}
  .studio-photo-card{height:70vh;min-height:540px}
  .privacy-grid{
    grid-template-columns:210px minmax(0,1fr);
    gap:54px;
  }
}

@media(max-width:760px){
  .site-header{
    background:#fff;
  }
  .hero-bottom{
    align-items:flex-end;
  }
  .hero-bottom .motto{
    text-align:right;
    width:100%;
  }
  .menu-top{
    height:72px;
    padding:0 20px;
    font-size:17px;
  }
  .menu-nav{
    width:calc(100% - 40px);
    margin-top:7vh;
  }
  .menu-nav a{
    font-size:34px;
    line-height:1.16;
    padding:8px 0;
  }
  .menu-bottom{
    width:calc(100% - 40px);
    margin-top:7vh;
  }
  .studio-photo-pair{
    grid-template-columns:1fr 1fr;
  }
  .studio-photo-card{
    height:58vh;
    min-height:420px;
  }
  .contact-lines p>span:first-child{
    width:100px;
  }
  .footer-bottom-grid{
    width:min(calc(100% - 36px),var(--max));
    grid-template-columns:1fr;
    justify-items:center;
    gap:10px;
    text-align:center;
  }
  .footer-bottom-grid>span:first-child,
  .footer-bottom-grid .footer-address,
  .footer-bottom-grid>a{
    justify-self:center;
  }
  .privacy-hero{
    padding:130px 0 66px;
  }
  .privacy-intro{
    font-size:19px;
  }
  .privacy-content{
    padding:62px 0 80px;
  }
  .privacy-grid{
    grid-template-columns:1fr;
    gap:42px;
  }
  .privacy-index{
    position:static;
  }
  .privacy-text h2{
    font-size:27px;
  }
}


/* =========================================================
   V4-bis.8 — struttura definitiva
   V4-bis.9 — nero principale -> blu scuro del marchio (#333F4F)
   ========================================================= */

:root{
  --brand-dark:#333f4f;
  --brand-dark-2:#2b3543;
  --black:#333f4f;
  --black-2:#2b3543;
}

/* Header senza fascia: solo menu sulla hero */
.site-header{
  height:92px;
  position:absolute;
  inset:0 0 auto 0;
  z-index:40;
  background:transparent!important;
  border:0!important;
  color:#fff!important;
  padding:0 42px;
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
.site-header .menu-toggle{
  position:static;
  transform:none;
  color:#fff!important;
  margin-left:auto;
}
.site-header .menu-label{color:#fff!important}
.site-header .menu-icon i{background:#fff!important}
.site-header .header-logo{display:none!important}

/* Colore principale */
.hero,
.practice-section,
.people-network,
.footer,
.menu-overlay,
.privacy-hero{
  background:var(--brand-dark)!important;
}

/* Menu */
.menu-overlay{color:#f4f4ef}
.menu-top{
  border-bottom:1px solid rgba(255,255,255,.18)!important;
}
.menu-nav a,
.menu-nav a:nth-child(-n+5){
  color:#f4f4ef!important;
}
.menu-nav a:hover{
  color:#aebed7!important;
}
.menu-bottom{
  border-top:1px solid rgba(255,255,255,.18)!important;
  color:#c4c9cf!important;
}
.menu-bottom a{color:#fff!important}

/* Hero */
.hero{
  grid-template-columns:47% 53%;
}
.hero-panel{
  background:var(--brand-dark);
  padding:140px 7vw 56px 5.5vw;
}
.hero-content{
  width:100%;
}
.hero-brand-lockup{
  display:flex;
  align-items:flex-start;
  gap:28px;
  max-width:790px;
}
.hero-logo-card{
  flex:0 0 auto;
  width:92px;
  height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  padding:7px;
  margin-top:4px;
  box-shadow:0 0 0 1px rgba(255,255,255,.16);
}
.hero-logo-card img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.hero-copy{
  min-width:0;
}
.hero-copy h1{
  margin-top:0;
}
.hero-bottom{
  border-top:1px solid rgba(255,255,255,.20);
}

/* Aree di competenza */
.practice-list{
  border-top-color:rgba(255,255,255,.24);
}
.practice-item{
  border-bottom-color:rgba(255,255,255,.24);
}
.practice-item:hover{
  background:rgba(255,255,255,.035);
}

/* Sezione unica Professionisti + Rete */
.people-network{
  display:grid;
  grid-template-columns:46% 54%;
  min-height:860px;
  color:#fff;
}
.people-network-image{
  overflow:hidden;
  clip-path:polygon(0 0,100% 0,86% 100%,0 100%);
}
.people-network-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.people-network-panel{
  padding:88px 8vw 76px 5vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.people-network-group + .people-network-group{
  margin-top:54px;
  padding-top:42px;
  border-top:1px solid rgba(255,255,255,.22);
}
.people-network-panel .section-title{
  margin-bottom:30px;
}
.pn-person{
  padding:22px 0 24px;
  border-top:1px solid rgba(255,255,255,.18);
}
.pn-person:last-of-type{
  border-bottom:1px solid rgba(255,255,255,.18);
}
.pn-person h3{
  font-family:var(--serif);
  font-size:27px;
  font-weight:400;
  line-height:1.15;
  margin:0 0 12px;
  color:#fff;
}
.pn-person p,
.network-inline p{
  margin:0;
  color:#d0d4d8;
  font-size:14.5px;
  line-height:1.64;
  max-width:680px;
}
.pn-person a{
  display:inline-flex;
  gap:8px;
  align-items:center;
  margin-top:14px;
  font-size:13px;
  font-weight:700;
  color:#fff;
}
.pn-person a span{
  color:#aebed7;
}
.network-inline .section-title{
  margin-bottom:20px;
}

/* Le vecchie sezioni non devono comparire */
.studio-photo-pair,
.people.section-light,
.network{
  display:none!important;
}

/* Contatti: WhatsApp */
.whatsapp-note{
  color:#494944;
}
.contact-lines .whatsapp-note>span:first-child{
  width:118px;
}

/* Footer */
.footer{
  background:var(--brand-dark)!important;
}
.footer-bottom{
  border-top-color:rgba(255,255,255,.22);
  color:#aeb5bd;
}

/* Privacy: stesso colore istituzionale */
.privacy-header{
  height:92px;
  position:absolute;
  inset:0 0 auto 0;
  z-index:40;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 42px;
  background:transparent!important;
  border:0!important;
}
.privacy-header-logo{
  width:56px;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  padding:4px;
}
.privacy-header-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.privacy-header .menu-toggle{
  position:absolute;
  right:42px;
  top:50%;
  transform:translateY(-50%);
}
.privacy-kicker{color:#b9c6d8}

/* Pagine profilo in costruzione */
.under-construction-page{
  min-height:100vh;
  background:#f6f6f2;
  color:#171717;
}
.under-construction{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:40px 24px;
}
.uc-logo{
  width:66px;
  height:66px;
  display:block;
  margin:0 auto 26px;
}
.uc-logo img{
  width:66px;
  height:66px;
  object-fit:contain;
}
.uc-kicker{
  margin:0 0 12px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#66748a;
}
.under-construction h1{
  font-family:var(--serif);
  font-size:clamp(36px,4vw,54px);
  line-height:1.05;
  font-weight:400;
  margin:0 0 14px;
}
.under-construction p{
  margin:0 0 10px;
  font-size:16px;
  line-height:1.6;
  color:#4e4e49;
}
.uc-note{color:#767670}
.uc-back{
  margin-top:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:150px;
  padding:12px 18px;
  border:1px solid #cfcfc8;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#171717;
}

@media(max-width:980px){
  .hero-panel{padding-left:4.8vw;padding-right:4.8vw}
  .hero-brand-lockup{gap:22px}
  .hero-logo-card{width:82px;height:82px}
  .people-network{grid-template-columns:44% 56%}
  .people-network-panel{padding-left:4.5vw;padding-right:5vw}
}

@media(max-width:760px){
  .site-header{
    height:72px;
    padding:0 18px;
  }
  .site-header .menu-toggle{
    margin-left:auto;
  }
  .hero{
    display:block;
  }
  .hero-visual{
    height:58vh;
    min-height:460px;
  }
  .hero-panel{
    min-height:auto;
    padding:48px 22px 34px;
  }
  .hero-brand-lockup{
    display:grid;
    grid-template-columns:64px 1fr;
    gap:18px;
  }
  .hero-logo-card{
    width:64px;
    height:64px;
    padding:5px;
    margin-top:2px;
  }
  .hero-copy h1{
    font-size:clamp(37px,10vw,50px);
  }
  .hero-tagline,
  .hero-intro{
    grid-column:1 / -1;
  }
  .people-network{
    grid-template-columns:1fr;
    min-height:0;
  }
  .people-network-image{
    height:58vh;
    min-height:430px;
    clip-path:polygon(0 0,100% 0,100% 91%,0 100%);
  }
  .people-network-panel{
    padding:58px 22px 70px;
  }
  .people-network-group + .people-network-group{
    margin-top:44px;
    padding-top:36px;
  }
  .pn-person h3{font-size:25px}
  .contact-lines .whatsapp-note>span:first-child{width:100px}
  .privacy-header{
    height:72px;
    padding:0 18px;
  }
  .privacy-header-logo{
    width:48px;
    height:48px;
  }
  .privacy-header .menu-toggle{
    right:18px;
  }
}

/* =========================================================
   V4-bis.10 — restyling mirato su base V4-bis.9
   Hero ispirato al concept editoriale condiviso
   ========================================================= */

:root{
  --brand-blue:#333f4f;
  --brand-blue-2:#2d3846;
  --brand-blue-3:#425164;
  --brand-blue-soft:#e8edf3;
  --brand-blue-line:#c8d1dc;
  --brand-blue-text:#3a4657;
}

/* ---------- HERO ---------- */
.hero.hero-v410{
  min-height:100vh;
  background:var(--brand-blue);
  color:#fff;
  display:grid;
  grid-template-columns:43% 57%;
}
.hero.hero-v410 .hero-visual{
  min-height:100vh;
  clip-path:polygon(0 0,100% 0,91% 100%,0 100%);
}
.hero.hero-v410 .hero-visual:after{
  background:none;
}
.hero.hero-v410 .hero-panel{
  position:relative;
  min-height:100vh;
  padding:122px 5.4vw 46px 4.2vw;
  background:
    radial-gradient(circle at 52% 34%, rgba(84,106,131,.24), transparent 34%),
    radial-gradient(circle at 76% 15%, rgba(92,116,144,.18), transparent 26%),
    radial-gradient(circle at 18% 77%, rgba(73,95,119,.20), transparent 30%),
    linear-gradient(180deg, #314054 0%, #253446 100%);
}
.hero.hero-v410 .hero-panel:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg, rgba(255,255,255,.12), rgba(255,255,255,0) 2px) left 24px top / 1px 100% no-repeat;
  opacity:.55;
}
.hero.hero-v410 .hero-content{
  max-width:760px;
}
.hero-topline{
  display:grid;
  grid-template-columns:110px 1px minmax(0,1fr);
  align-items:center;
  column-gap:28px;
  margin-bottom:46px;
}
.hero-logo-mark{
  width:110px;
  display:flex;
  justify-content:center;
  align-items:center;
}
.hero-logo-mark img{
  width:104px;
  height:auto;
  object-fit:contain;
  opacity:.94;
  filter:drop-shadow(0 0 10px rgba(0,0,0,.08));
}
.hero-divider{
  width:1px;
  height:92px;
  background:rgba(255,255,255,.42);
}
.hero-brand-block h1{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(28px,3vw,40px);
  font-weight:400;
  line-height:1.06;
  letter-spacing:-.015em;
}
.hero-city{
  margin:12px 0 0;
  font-size:clamp(13px,1.2vw,18px);
  line-height:1;
  letter-spacing:.34em;
  text-transform:uppercase;
  text-align:center;
  color:#edf0f4;
}
.hero.hero-v410 .hero-statement{
  margin:0 0 26px;
  font-family:var(--serif);
  font-size:clamp(45px,4.65vw,70px);
  line-height:1.08;
  letter-spacing:-.022em;
  color:#fafaf7;
  max-width:780px;
}
.hero.hero-v410 .hero-intro{
  margin:0;
  max-width:650px;
  font-size:18px;
  line-height:1.72;
  color:#ecf0f4;
}
.hero.hero-v410 .hero-bottom{
  justify-content:flex-end;
  border-top:1px solid rgba(255,255,255,.26);
  padding-top:22px;
}
.hero.hero-v410 .motto{
  margin-left:auto;
  text-align:right;
  font-size:18px;
  color:#f0f2f5;
}

/* lasciare il menu in alto pulito */
.site-header{
  z-index:50;
}

/* ---------- AREE DI COMPETENZA ---------- */
.practice-section{
  background:var(--brand-blue)!important;
}
.practice-head .section-title,
.practice-item h3{color:#fff;}
.practice-item p{color:#d9e0e7;}
.practice-list,
.practice-item{border-color:rgba(255,255,255,.22);}
.practice-item:hover{background:transparent!important;}

/* ---------- PROFESSIONISTI E RETE ---------- */
.people-network{
  background:#fff!important;
  color:var(--brand-blue-text)!important;
}
.people-network-panel{
  background:#fff;
}
.people-network-group + .people-network-group{
  border-top:1px solid var(--brand-blue-line);
}
.people-network-panel .section-title,
.people-network-panel .section-title-light,
.pn-person h3,
.network-inline .section-title{
  color:var(--brand-blue-text)!important;
}
.pn-person,
.pn-person:last-of-type{
  border-color:var(--brand-blue-line);
}
.pn-person p,
.network-inline p{
  color:#566173!important;
}
.pn-person a{
  color:var(--brand-blue-text);
}
.pn-person a span{
  color:#68768a;
}

/* ---------- CONTATTI ---------- */
.contact{
  background:#fff!important;
}
.contact-panel .section-title,
.contact-lines p,
.contact-lines a,
.contact-lines .appointment{
  color:var(--brand-blue-text)!important;
}
.contact-lines{
  border-top-color:var(--brand-blue-line);
}
.contact-lines p{
  border-bottom-color:var(--brand-blue-line);
}
.contact-lines p>span:first-child{
  color:#69768a;
}
.contact-lines .contact-split{
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  column-gap:22px;
  align-items:center;
}
.contact-lines .contact-split > span{
  width:auto!important;
  line-height:1.35;
}
.contact-lines .contact-split > a{
  justify-self:start;
}
.contact-lines .parking-copy,
.contact-lines .appointment{
  color:var(--brand-blue-text)!important;
}

/* ---------- FOOTER ---------- */
.footer{
  background:#fff!important;
  color:var(--brand-blue-text)!important;
}
.footer-top{
  border-top:1px solid var(--brand-blue-line);
  padding-top:34px;
}
.footer-wordmark,
.footer-motto,
.footer-address,
.footer-bottom a,
.footer-bottom span{
  color:var(--brand-blue-text)!important;
}
.footer-symbol img{
  filter:none;
}
.footer-bottom{
  border-top:1px solid var(--brand-blue-line)!important;
  color:var(--brand-blue-text)!important;
}

/* ---------- MENU & PRIVACY ---------- */
.menu-overlay,
.privacy-hero{background:var(--brand-blue)!important;}
.privacy-header-logo{background:#fff;}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1180px){
  .hero.hero-v410{grid-template-columns:45% 55%;}
  .hero.hero-v410 .hero-panel{padding-left:4.4vw;padding-right:4.8vw;}
  .hero-topline{grid-template-columns:92px 1px minmax(0,1fr);column-gap:22px;}
  .hero-logo-mark{width:92px;}
  .hero-logo-mark img{width:88px;}
  .hero-divider{height:82px;}
}

@media(max-width:980px){
  .hero.hero-v410{grid-template-columns:46% 54%;}
  .hero.hero-v410 .hero-panel{padding-top:118px;}
  .hero.hero-v410 .hero-statement{font-size:clamp(40px,4.4vw,58px);}
}

@media(max-width:760px){
  .hero.hero-v410{display:block;min-height:auto;}
  .hero.hero-v410 .hero-visual{
    height:56vh;
    min-height:430px;
    clip-path:polygon(0 0,100% 0,100% 89%,0 100%);
  }
  .hero.hero-v410 .hero-panel{
    min-height:auto;
    padding:42px 22px 30px;
  }
  .hero.hero-v410 .hero-panel:before{display:none;}
  .hero-topline{
    grid-template-columns:74px 1px minmax(0,1fr);
    column-gap:16px;
    margin-bottom:28px;
  }
  .hero-logo-mark{width:74px;}
  .hero-logo-mark img{width:70px;}
  .hero-divider{height:64px;}
  .hero-brand-block h1{font-size:clamp(25px,6.8vw,34px);}
  .hero-city{margin-top:8px;font-size:13px;letter-spacing:.28em;}
  .hero.hero-v410 .hero-statement{font-size:clamp(36px,10.2vw,50px);margin-bottom:18px;}
  .hero.hero-v410 .hero-intro{font-size:16px;line-height:1.65;}
  .hero.hero-v410 .hero-bottom{margin-top:42px;padding-top:18px;}
  .hero.hero-v410 .motto{font-size:17px;}
  .contact-lines .contact-split{grid-template-columns:108px 1fr;column-gap:16px;}
}


/* =========================================================
   V4-bis.11 — uniformazione hero + contatti su blu
   ========================================================= */

/* Hero: elimina qualsiasi differenza di tonalità tra il raccordo
   accanto alla foto e il pannello con i testi. Usa il blu più a destra
   della V4-bis.10 su tutta la superficie destra/esposta. */
.hero.hero-v410{
  background:#253446!important;
}
.hero.hero-v410 .hero-panel{
  background:#253446!important;
}
.hero.hero-v410 .hero-panel:before{
  background:linear-gradient(90deg, rgba(255,255,255,.12), rgba(255,255,255,0) 2px) left 24px top / 1px 100% no-repeat;
}

/* Sede e Contatti: pannello sinistro blu come Aree di competenza */
.contact{
  background:#fff!important;
}
.contact-panel{
  background:var(--brand-blue)!important;
  color:#fff!important;
}
.contact-panel .section-title{
  color:#fff!important;
}
.contact-lines{
  border-top-color:rgba(255,255,255,.28)!important;
}
.contact-lines p{
  border-bottom-color:rgba(255,255,255,.24)!important;
  color:#fff!important;
}
.contact-lines a,
.contact-lines .appointment,
.contact-lines .parking-copy{
  color:#fff!important;
}
.contact-lines a{
  border-bottom-color:rgba(255,255,255,.55)!important;
}
.contact-lines a:hover{
  color:#e8edf3!important;
}
.contact-lines .contact-row{
  display:grid!important;
  grid-template-columns:150px minmax(0,1fr)!important;
  column-gap:24px!important;
  align-items:center!important;
}
.contact-lines .contact-row .contact-label{
  display:block!important;
  width:auto!important;
  color:#dce4ec!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.09em!important;
  line-height:1.35!important;
}
.contact-lines .contact-row .contact-value{
  display:block!important;
  justify-self:start!important;
  color:#fff!important;
  line-height:1.45!important;
}
.contact-lines .appointment{
  font-family:var(--serif);
  font-size:18px;
}

@media(max-width:760px){
  .contact-lines .contact-row{
    grid-template-columns:112px minmax(0,1fr)!important;
    column-gap:16px!important;
  }
}
