:root{
  --navy:#0C3052;--navy-2:#163E66;--gold:#D6AB53;--gold-d:#8A6820;
  --sand:#F7F1E6;--ink:#1E2A38;--muted:#46546A;--line:#E4DCCB;--white:#fff;
  --ok:#0E954C;
  --fh:'Montserrat',system-ui,sans-serif;--fb:'Source Sans 3',system-ui,sans-serif;
  /* cinque misure di testo */
  --fs-s:.9375rem;   /* 15 */
  --fs-b:1.0625rem;  /* 17 */
  --fs-l:1.25rem;    /* 20 */
  --fs-h3:1.375rem;  /* 22 */
  --fs-h2:clamp(1.75rem,1.3rem + 1.6vw,2.5rem);
  --fs-h1:clamp(2.25rem,1.4rem + 3vw,3.5rem);
  --r:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font:400 var(--fs-b)/1.6 var(--fb);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
::selection{background:var(--gold);color:var(--navy)}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--fh);color:var(--navy);line-height:1.15;margin:0 0 .6em;text-wrap:balance;font-weight:700}
h2{font-size:var(--fs-h2);letter-spacing:-.01em}
h3{font-size:var(--fs-h3)}
h4{font-size:var(--fs-b)}
p{margin:0 0 1em}
.wrap{width:min(1200px,100% - 48px);margin-inline:auto}
.preview-flag{background:var(--gold);color:var(--navy);font:700 var(--fs-s)/1 var(--fh);text-align:center;padding:7px 12px}
.lead{font-size:var(--fs-l);color:var(--muted);max-width:60ch}
.small{font-size:var(--fs-s);color:var(--muted);margin:.8rem 0 0}

/* pulsanti e link */
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:var(--navy);font:700 var(--fs-b)/1.2 var(--fh);padding:1rem 1.6rem;border-radius:999px;text-decoration:none;border:0;cursor:pointer;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(12,48,82,.18)}
.btn--sm{padding:.65rem 1.1rem;font-size:var(--fs-s)}
.btn--full{width:100%}
.link{font:700 var(--fs-b) var(--fh);color:var(--navy)}
:focus-visible{outline:3px solid var(--navy);outline-offset:3px}

/* intestazione */
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);border-bottom:1px solid transparent;transition:border-color .2s}
.hdr.is-past{border-color:var(--line)}
.hdr__in{display:flex;align-items:center;gap:1.6rem;height:72px}
.hdr__logo img{height:46px;width:auto}
.hdr__nav{display:flex;gap:1.4rem;margin-left:auto}
.hdr__nav a,.hdr__wa{font:700 var(--fs-s) var(--fh);text-decoration:none;color:var(--navy)}
.hdr__nav a:hover,.hdr__wa:hover{text-decoration:underline}
.hdr__wa{white-space:nowrap}
.hdr__burger{display:none;margin-left:auto;background:none;border:0;width:44px;height:44px;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;align-items:center}
.hdr__burger span{display:block;width:24px;height:2px;background:var(--navy)}
.menu-mobile{padding:1rem 24px 1.5rem;border-top:1px solid var(--line);background:#fff;display:grid;gap:.4rem}
.menu-mobile[hidden]{display:none}
.menu-mobile a:not(.btn){font:700 var(--fs-b) var(--fh);text-decoration:none;padding:.6rem 0;border-bottom:1px solid var(--line)}
.menu-mobile .btn{margin-top:.8rem}
.menu-mobile__alt{font-size:var(--fs-s);color:var(--muted);text-align:center;margin:.6rem 0 0}

/* foto: una sola cornice */
.photo{margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--sand)}
.photo img{width:100%;height:100%;object-fit:cover}

/* hero */
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:3.5rem;align-items:center;padding:4rem 0 3rem}
.hero h1{font-size:var(--fs-h1);font-weight:800;letter-spacing:-.02em;margin-bottom:.5em}
.hero h1 span{display:block;font-size:.5em;font-weight:700;color:var(--muted);letter-spacing:0;margin-top:.5em}
.hero__ctas{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin-top:2rem}
.hero__img img{object-position:50% 50%}
.trust{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem 2rem;padding:1.4rem 0 2.2rem;border-top:1px solid var(--line)}
.trust__lbl{font-size:var(--fs-s);color:var(--muted)}
.trust__list{display:flex;flex-wrap:wrap;gap:.4rem 2rem;list-style:none;margin:0;padding:0}
.trust__list li,.trust__list a{font:700 var(--fs-b) var(--fh);color:var(--navy);text-decoration:none}
.trust__list a:hover{text-decoration:underline}

/* sezioni */
.sec{padding:6rem 0}
.sec--sand{background:var(--sand)}
.sec--line{border-top:1px solid var(--line)}
.sec__title{max-width:22ch;margin-bottom:3rem}

/* mappa */
.map{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.camps{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:.8rem}
.camp{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.3rem;transition:border-color .25s,box-shadow .25s;cursor:default}
.camp h3{font-size:var(--fs-b);margin:.6rem 0 .3rem}
.camp p{margin:0;color:var(--muted)}
.camp.is-on{border-color:var(--navy);box-shadow:0 6px 18px rgba(12,48,82,.08)}
.map__fig{margin:0}
.mapsvg{width:100%;max-height:640px}
.mapsvg .sea{font:700 16px var(--fh);fill:#fff;fill-opacity:.85;letter-spacing:.12em;text-transform:uppercase}
.mapsvg .lbl{font:800 22px var(--fh);fill:var(--navy);paint-order:stroke;stroke:#F3E3C3;stroke-width:5px}
.mapsvg .lbl--sea{fill:#fff;stroke:#0C3052;stroke-width:6px}
.route{fill:none;stroke:#D82D31;stroke-width:4;stroke-dasharray:10 8;stroke-linecap:round;animation:march 1.4s linear infinite}
.draw{stroke-dasharray:400;stroke-dashoffset:0}
.js .mapsvg .draw{stroke-dashoffset:400}
.js .mapsvg.in .d1{animation:draw 1.2s .3s ease forwards}
.js .mapsvg.in .d2{animation:draw 1.4s 1.5s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes march{to{stroke-dashoffset:-36}}
.pin{cursor:pointer}
.pin text{transition:fill .2s}
.pin.is-sel text{fill:var(--gold)}
.pulse{fill:var(--ok);opacity:.25;transform-origin:center;animation:pulse 2.2s ease-out infinite}
@keyframes pulse{0%{transform:scale(.5);opacity:.5}100%{transform:scale(1.6);opacity:0}}
.legend{display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:center;margin-top:1rem;font:700 var(--fs-s) var(--fh);color:var(--navy)}

/* stato: tre stati, stesso segno nella mappa e nelle etichette */
.dot,.badge::before{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none}
.dot{margin-right:.45rem;vertical-align:0}
.dot--on,.badge--on::before{background:var(--ok)}
.dot--soon,.badge--soon::before{background:var(--gold)}
.dot--next,.badge--next::before{background:none;box-shadow:inset 0 0 0 2px var(--gold)}
.badge{display:inline-flex;align-items:center;gap:.45rem;font:700 var(--fs-s)/1 var(--fh);color:var(--navy)}
.badge::before{content:""}

/* chi siamo */
.cred{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:start}
.cred p{max-width:62ch}
.values{list-style:none;margin:0;padding:0;display:grid;gap:1.6rem}
.values li{padding-top:1.2rem;border-top:1px solid var(--line)}
.values h3{font-size:var(--fs-b);margin-bottom:.3em}
.values p{margin:0;color:var(--muted)}

/* servizi */
.svc{display:grid;grid-template-columns:.85fr 1.15fr;gap:4rem;align-items:start;padding:3.5rem 0;border-top:1px solid var(--line)}
.svc:first-of-type{border-top:0;padding-top:0}
.svc--rev{grid-template-columns:1.15fr .85fr}
.svc--rev .photo{order:2}
.svc .photo{position:sticky;top:100px}
.svc__name{font:700 var(--fs-s) var(--fh);color:var(--gold-d);margin-bottom:.6rem}
.svc h3{font-size:var(--fs-h2);letter-spacing:-.01em}
.offers{list-style:none;margin:2rem 0 0;padding:0;display:grid}
.offers>li{padding:1.3rem 0;border-top:1px solid var(--line)}
.offer__head{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin-bottom:.4rem}
.offer__head strong{font:700 var(--fs-l) var(--fh);color:var(--navy)}
.offers p{margin:0 0 .5rem}
details summary{cursor:pointer;font:700 var(--fs-s) var(--fh);color:var(--navy);list-style:none;display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 0;min-height:44px}
details summary::-webkit-details-marker{display:none}
details summary::before{content:"+";display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--navy);color:var(--navy);font-weight:800;line-height:1;transition:transform .2s;flex:none}
details[open]>summary::before{transform:rotate(45deg)}
details ul{margin:.4rem 0 .6rem;padding-left:1.2rem}
details li{margin-bottom:.35rem}
.svc details>p{margin:.4rem 0 .6rem}
.feat{list-style:none;padding:0;margin:1.6rem 0 1rem;display:grid;gap:.9rem}
.feat li{padding-left:1.4rem;position:relative}
.feat li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--navy)}
.bridge{display:grid;grid-template-columns:1fr 90px 1fr;gap:1rem;align-items:center;margin-top:2rem}
.side h4{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}
.side ul{margin:0;padding-left:1.1rem}.side li{margin-bottom:.4rem}
.flag{display:inline-block;width:28px;height:18px;border-radius:3px;box-shadow:0 0 0 1px var(--line)}
.flag--it{background:linear-gradient(90deg,#0E954C 33.3%,#fff 33.3% 66.6%,#D82D31 66.6%)}
.flag--al{background:#E41E20 radial-gradient(circle at 50% 50%,#111 0 3.5px,transparent 4px)}
.bridge__ico{width:100%}
.draw-b{stroke-dasharray:160;stroke-dashoffset:0}
.js .bridge .draw-b{stroke-dashoffset:160}
.js .bridge.in .draw-b,.js .reveal.in .draw-b{animation:drawb 1.2s .3s ease forwards}
@keyframes drawb{to{stroke-dashoffset:0}}
.clarify{background:var(--sand);border-radius:var(--r);padding:2rem 2.2rem;margin-top:3rem}
.clarify h3{font-size:var(--fs-l)}
.clarify ul{margin:0;padding-left:1.2rem;display:grid;gap:.5rem;max-width:90ch}

/* come funziona */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}
.steps li{position:relative}
.steps span{display:grid;place-items:center;width:48px;height:48px;margin-bottom:1rem;border-radius:50%;background:var(--navy);color:#fff;font:800 var(--fs-l) var(--fh)}
.steps h3{font-size:var(--fs-l)}
.steps p{color:var(--muted);margin:0}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin-top:3rem}
.cta-row .small{margin:0}

/* per chi */
.people{aspect-ratio:16/6;margin-bottom:2.5rem}
.people img{object-position:50% 40%}
.who{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.who article{display:flex;flex-direction:column;padding-top:1.2rem;border-top:1px solid var(--navy)}
.who__k{font:700 var(--fs-s) var(--fh);color:var(--gold-d);margin-bottom:.5rem}
.who h3{font-size:var(--fs-l)}
.who p{color:var(--muted)}
.who__go{margin:auto 0 0;font:700 var(--fs-s) var(--fh)}
.who__go a{color:var(--navy)}

/* domande */
.faq-wrap{max-width:860px}
.faq{display:grid}
.faq details{border-top:1px solid var(--line);padding:.5rem 0}
.faq summary{font-size:var(--fs-b);width:100%;align-items:flex-start;padding:.6rem 0}
.faq summary::before{margin-top:1px}
.faq details>p{margin:.2rem 0 .8rem 2.2rem;color:var(--muted)}
.faq__more{border-bottom:1px solid var(--line)}
.faq__more>summary{color:var(--gold-d)}
.faq__more .faq details:first-child{border-top:0}
.faq__more>.faq{padding-left:0}

/* prenota */
.final{background:var(--navy);color:#E6EDF4;padding:6rem 0}
.final__grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.final h2{color:#fff}
.final .lead{color:#D5E0EB}
.final__img{margin-top:2rem}
.final__img img{object-position:50% 60%}
.form{background:#fff;color:var(--ink);border-radius:var(--r);padding:2rem}
.form__body{display:grid;gap:1rem}
.form label{display:grid;gap:.35rem;font:700 var(--fs-s) var(--fh);color:var(--navy)}
.form input:not([type=checkbox]),.form select{font:400 var(--fs-b) var(--fb);padding:.8rem .9rem;border:1.5px solid #B9C4D0;border-radius:10px;background:#fff;color:var(--ink);width:100%}
.form input:focus,.form select:focus{border-color:var(--navy)}
.form fieldset{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}
.form legend{font:700 var(--fs-s) var(--fh);color:var(--navy);margin-bottom:.5rem;width:100%}
.form .opt{display:inline-flex;align-items:center;gap:.45rem;border:1.5px solid #B9C4D0;border-radius:999px;padding:.55rem .9rem;font:700 var(--fs-s) var(--fh);cursor:pointer;min-height:44px}
.form .opt:has(input:checked){border-color:var(--navy);background:var(--sand)}
.form input[type=checkbox]{accent-color:var(--navy)}
.form .consent{display:flex;gap:.6rem;align-items:flex-start;font:400 var(--fs-s)/1.45 var(--fb);color:var(--muted)}
.form .consent input{margin-top:.2rem;flex:none;width:18px;height:18px}
.form .consent em{font-style:normal;color:var(--muted)}
.form__err{color:#B3261E;font-weight:600;margin:0}
.form .small{text-align:center;margin:0}
.form__alt{text-align:center;font-size:var(--fs-s);margin:0;color:var(--muted)}
.form__ok{text-align:center;padding:2rem 1rem}
.form__ok svg{width:72px;height:72px;margin:0 auto 1rem;fill:none;stroke:var(--navy);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.form__ok circle{stroke-dasharray:160;stroke-dashoffset:160;animation:drawok .6s forwards}
.form__ok path{stroke-dasharray:40;stroke-dashoffset:40;animation:drawok .4s .5s forwards}
@keyframes drawok{to{stroke-dashoffset:0}}

/* piede */
.ftr{background:#08223B;color:#C3D0DD;padding:3.5rem 0 1.5rem;font-size:var(--fs-s)}
.ftr__grid{display:grid;grid-template-columns:1.2fr 1.2fr 1fr;gap:2rem}
.ftr__logo{background:#fff;border-radius:10px;padding:8px 12px;width:170px;margin-bottom:.8rem}
.ftr h4{color:#fff;font-size:var(--fs-s);margin-bottom:.6rem}
.ftr a{color:#fff}
.ftr strong{color:#fff}
.ftr__bar{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid rgba(255,255,255,.12);margin-top:2.5rem;padding-top:1.2rem}

.sticky-cta{display:none}

/* comparsa */
.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
.js .reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  .js .reveal{opacity:1;transform:none}
  .js .mapsvg .draw,.js .bridge .draw-b{stroke-dashoffset:0}
}

@media (max-width:1180px){
  .hdr__wa{display:none}
}
@media (max-width:1080px){
  .hdr__nav{gap:1rem}
  .who{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .hdr__nav,.hdr__cta{display:none}
  .hdr__burger{display:flex}
  .hero__grid,.cred,.map,.svc,.svc--rev,.final__grid{grid-template-columns:1fr;gap:2rem}
  .hero__grid{padding-top:2rem}
  .hero__img{aspect-ratio:16/10}
  .svc .photo,.svc--rev .photo{position:static;order:0}
  .bridge{grid-template-columns:1fr}
  .bridge__ico{width:90px;margin:0 auto;transform:rotate(90deg)}
  .steps{grid-template-columns:1fr;gap:1.6rem}
  .steps li{padding-left:64px;min-height:48px}
  .steps span{position:absolute;left:0;top:0;margin:0}
  .map__fig{max-width:460px;margin-inline:auto;width:100%}
  .sticky-cta{display:block;position:fixed;left:0;right:0;bottom:0;padding:.7rem 16px calc(.7rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line);z-index:60;transform:translateY(110%);transition:transform .3s}
  .sticky-cta.on{transform:none}
  .people{aspect-ratio:4/3}
  .ftr__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .wrap{width:calc(100% - 32px)}
  .sec,.final{padding:4rem 0}
  .svc{padding:2.5rem 0}
  .who{grid-template-columns:1fr}
  .ftr__grid{grid-template-columns:1fr}
  .ftr__bar{flex-direction:column}
  .hero__ctas .btn{width:100%}
  .form{padding:1.4rem}
  .clarify{padding:1.5rem 1.4rem}
  .faq details>p{margin-left:0}
}
.svc>.bridge{grid-column:1/-1;grid-template-columns:1fr 120px 1fr;margin-top:1rem;padding-top:2rem;border-top:1px solid var(--line)}
@media (max-width:900px){.svc>.bridge{grid-template-columns:1fr}}
.svc>.bridge{align-items:start}.svc>.bridge .bridge__ico{align-self:center}

/* servizi, giro 2: testo + foto in alto, dettagli in colonne sotto */
.link-arrow{display:inline-block;margin-top:.6rem;font:700 var(--fs-s) var(--fh);color:var(--navy);text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px}
.hero__alt{font-size:var(--fs-s);color:var(--muted)}
.svc{display:block;padding:5rem 0;border-top:1px solid var(--line)}
.svc:first-of-type{border-top:0;padding-top:0}
.svc__top{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.svc--rev .svc__top .photo{order:-1}
.svc .photo,.svc--rev .photo{position:static;order:0}
.svc h2{font-size:var(--fs-h2)}
.svc__txt .lead{margin-bottom:1rem}
.cols{display:grid;gap:2.5rem;margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid var(--line);align-items:start}
.cols--3{grid-template-columns:repeat(3,1fr)}
.cols--2{grid-template-columns:repeat(2,1fr)}
.offer h3{font-size:var(--fs-l);display:flex;align-items:center;gap:.6rem}
.offer__brand{font:700 var(--fs-s) var(--fh);color:var(--gold-d);margin:.8rem 0 .3rem}
.offer>.badge+.offer__brand{margin-top:.8rem}
.offer ul{margin:0;padding-left:1.2rem}.offer li{margin-bottom:.4rem}
.offer .small{margin-top:.4rem}
.cols .feat{margin:0}
.aside-note{max-width:80ch;margin:2.5rem 0 0;font-size:var(--fs-s);color:var(--muted)}
.aside-note strong{color:var(--navy)}
@media (max-width:900px){
  .svc__top{grid-template-columns:1fr;gap:2rem}
  .svc--rev .svc__top .photo{order:0}
  .cols--3,.cols--2{grid-template-columns:1fr}
}

/* salute in righe: a sinistra nome e stato, a destra il testo */
.rows{margin-top:3.5rem;border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;padding:2rem 0;border-bottom:1px solid var(--line)}
.row__head h3{font-size:var(--fs-l);margin:0}
.row__head .offer__brand{margin:.7rem 0 .3rem}
.row__body p{margin:0 0 .5rem}
.row__body details ul{padding-left:1.2rem}
/* ponte animato Italia ↔ Albania */
.svc>.bridge{grid-template-columns:1fr 140px 1fr;gap:1.4rem;align-items:center;margin-top:3.5rem;padding-top:0;border-top:0}
.bridge .side{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.6rem;align-self:stretch}
.bridge .side h3{font-size:var(--fs-l);display:flex;align-items:center;gap:.6rem;margin-bottom:.7rem}
.bridge .side ul{margin:0;padding-left:1.1rem}.bridge .side li{margin-bottom:.45rem}
.svc>.bridge .bridge__ico{align-self:center;width:100%}
@media (max-width:900px){
  .row{grid-template-columns:1fr;gap:.8rem}
  .svc>.bridge{grid-template-columns:1fr}
  .svc>.bridge .bridge__ico{width:110px;margin:0 auto;transform:rotate(90deg)}
}

/* telefono più corto: testi lunghi chiusi, riquadri da scorrere di lato, foto più basse */
.more__btn{display:none}
@media (max-width:900px){
  .sec,.final{padding:3rem 0}
  .svc{padding:2.5rem 0}
  .sec__title{margin-bottom:1.6rem}
  .more:not(.is-open){max-height:6.6em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
  .more__btn{display:inline-flex;align-items:center;min-height:44px;padding:0;margin:.2rem 0 .4rem;background:none;border:0;font:700 var(--fs-s) var(--fh);color:var(--navy);text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:3px;cursor:pointer}
  .more__btn[hidden]{display:none}
  /* in fila, da scorrere col dito */
  .camps,.values,.who{display:flex;gap:.8rem;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-16px;padding:0 16px .6rem;scrollbar-width:none}
  .camps::-webkit-scrollbar,.values::-webkit-scrollbar,.who::-webkit-scrollbar{display:none}
  .camps>li,.values>li,.who>article{flex:0 0 82%;scroll-snap-align:start}
  .values>li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.2rem}
  .who>article{background:#fff;border:1px solid var(--line);border-top:1px solid var(--line);border-radius:var(--r);padding:1.2rem}
  .map{gap:1.6rem}
  .map__fig{order:-1;max-width:330px}
  .photo,.hero__img,.people{aspect-ratio:16/9}
  .final__img{display:none}
  .rows{margin-top:2rem}
  .row{padding:1.4rem 0}
  .cols{margin-top:2rem;padding-top:1.6rem}
  .svc>.bridge{gap:.8rem;margin-top:2rem}
  .svc>.bridge .bridge__ico{order:-1;transform:none;width:120px}
  .steps{gap:1.2rem}
  .cta-row{margin-top:2rem}
}
@media (max-width:560px){
  .wrap{width:calc(100% - 32px)}
}
@media (max-width:900px){
  .map{display:flex;flex-direction:column;align-items:stretch}
  .map__txt{display:contents}
  .map__txt h2{order:1}.map__txt .lead{order:2}.map__txt .more__btn{order:3;align-self:flex-start}
  .map__fig{order:4;margin:0 auto}
  .camps{order:5;margin-top:0}
  .map__txt .small{order:6}
  .map__txt h2,.map__txt .lead{margin-bottom:0}
}
@media (max-width:900px){.camps,.values,.who{scroll-padding-inline:16px}.map{gap:1rem}}
.btn i{font-style:normal;margin-left:.5em;transition:transform .2s}.btn:hover i{transform:translateX(4px)}
/* telefono: "Prenota la tua chiamata di orientamento" su una riga */
@media (max-width:560px){
  .hero__ctas .btn{white-space:nowrap;font-size:clamp(.8125rem,3.9vw,1rem);padding:1rem .8rem;letter-spacing:-.01em}
  .hero__ctas .btn i{margin-left:.35em}
}
@media (max-width:560px){
  .hero__ctas .btn{width:auto;font-size:clamp(.75rem,3.45vw,.9375rem);padding:1.1rem 1.5rem}
}

/* pagina d'attesa con conto alla rovescia */
.soon .hero__grid{min-height:calc(100vh - 150px);padding:3rem 0}
.countdown{display:flex;gap:.8rem;margin:2.2rem 0 .4rem}
.countdown div{flex:1;max-width:110px;background:var(--navy);color:#fff;border-radius:var(--r);padding:1rem .4rem .8rem;text-align:center}
.countdown b{display:block;font:800 clamp(1.75rem,1.2rem + 2vw,2.6rem)/1 var(--fh);font-variant-numeric:tabular-nums;color:#fff}
.countdown span{display:block;margin-top:.45rem;font:700 .8125rem var(--fh);color:var(--gold);letter-spacing:.02em}
.soon__ftr{border-top:1px solid var(--line);padding:1.2rem 0;font-size:var(--fs-s);color:var(--muted)}
@media (max-width:900px){.soon .hero__grid{min-height:0;padding-top:2rem}.countdown{gap:.5rem}}
