:root{
  --ink:#0B1F1E; --petrol:#0C3533; --brand:#1F605E; --teal:#38ADA9; --teal-2:#5CC7C2;
  --mint:#E4F4F2; --mint-2:#CFEDEA; --sand:#F6F4EF; --paper:#FFFFFF; --line:rgba(11,31,30,.1);
  --muted:#5B6B6A; --lime:#D6F36A; --coral:#FF8A65;
  --r-sm:12px; --r:22px; --r-lg:34px;
  --shadow:0 1px 2px rgba(11,31,30,.04),0 12px 40px -12px rgba(11,31,30,.18);
  --serif:'Instrument Serif',Georgia,serif; --sans:'Inter Tight',system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--sand);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
.wrap{width:min(1240px,100% - 40px);margin-inline:auto}
.serif{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.01em}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(56,173,169,.18)}
h1,h2,h3{letter-spacing:-.03em;line-height:1.02;font-weight:600}
h2{font-size:clamp(34px,5vw,64px)}
h2 .serif{color:var(--teal)}
.lead{font-size:clamp(17px,1.6vw,20px);color:var(--muted);max-width:60ch}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 24px;border-radius:999px;font-weight:600;font-size:15px;border:0;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--teal);color:#fff;box-shadow:0 10px 30px -10px rgba(56,173,169,.8)}
.btn-primary:hover{background:#2f9c98}
.btn-dark{background:var(--ink);color:#fff}
.btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(10px)}
.btn-ghost:hover{background:rgba(255,255,255,.2)}
.btn-line{background:transparent;border:1.5px solid var(--ink)}
.btn svg{width:18px;height:18px}

/* Demo ribbon */
.demo-pill{position:fixed;right:16px;bottom:16px;z-index:60;background:var(--ink);color:#fff;font-size:12px;padding:9px 14px;border-radius:999px;display:flex;gap:8px;align-items:center;box-shadow:var(--shadow)}
.demo-pill b{color:var(--lime)}
.demo-pill a{text-decoration:underline;text-underline-offset:3px}

/* Topbar + Nav */
.topbar{background:var(--petrol);color:rgba(255,255,255,.78);font-size:13px}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;padding:9px 0;flex-wrap:wrap}
.topbar a{color:#fff;font-weight:500}
.topbar .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#4ADE80;margin-right:6px;box-shadow:0 0 0 3px rgba(74,222,128,.25)}
.nav{position:sticky;top:0;z-index:50;transition:background .3s,box-shadow .3s}
.nav.scrolled{background:rgba(246,244,239,.82);backdrop-filter:saturate(1.6) blur(16px);box-shadow:0 1px 0 var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;gap:20px}
.nav .logo img{height:40px;width:auto}
.nav ul{display:flex;gap:4px;list-style:none}
.nav ul a{padding:9px 14px;border-radius:999px;font-size:15px;font-weight:500;color:var(--ink);transition:background .2s}
.nav ul a:hover{background:rgba(11,31,30,.06)}
.nav .actions{display:flex;gap:10px;align-items:center}
.nav .phone{font-weight:600;font-size:15px;display:flex;gap:8px;align-items:center}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer}

/* HERO */
.hero{padding:18px 0 0}
.hero-card{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:680px;color:#fff;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;padding:64px;isolation:isolate}
.hero-card .bg{position:absolute;inset:0;z-index:-2;background:url(img/struttura-esterno.jpg) center 30%/cover}
.hero-card::before{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(1200px 500px at 0% 100%,rgba(12,53,51,.97),transparent 70%),
  linear-gradient(100deg,rgba(9,40,38,.94) 0%,rgba(12,53,51,.82) 45%,rgba(12,53,51,.35) 100%)}
.hero h1{font-size:clamp(44px,6vw,86px);margin:22px 0 22px;font-weight:600}
.hero h1 .serif{color:var(--teal-2);display:block}
.hero .lead{color:rgba(255,255,255,.8)}
.hero .eyebrow{align-self:flex-start;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:8px 14px;border-radius:999px;backdrop-filter:blur(8px);text-transform:none;letter-spacing:0;font-weight:500;font-size:14px}
.hero .eyebrow::before{background:var(--lime);box-shadow:0 0 0 4px rgba(214,243,106,.25)}
.hero .ctas{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}
.hero-left{display:flex;flex-direction:column;justify-content:center}
.hero-badges{display:flex;gap:28px;margin-top:48px;flex-wrap:wrap}
.hero-badges div{border-left:1px solid rgba(255,255,255,.25);padding-left:16px}
.hero-badges b{display:block;font-size:34px;letter-spacing:-.03em;font-weight:600}
.hero-badges span{font-size:13px;color:rgba(255,255,255,.7)}
/* pathfinder */
.pathfinder{align-self:center;background:rgba(255,255,255,.96);color:var(--ink);border-radius:var(--r);padding:28px;box-shadow:0 30px 80px -20px rgba(0,0,0,.45)}
.pathfinder h3{font-size:24px;margin-bottom:4px}
.pathfinder p.sub{color:var(--muted);font-size:14px;margin-bottom:18px}
.path-opt{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:14px 16px;border-radius:16px;border:1.5px solid var(--line);background:#fff;cursor:pointer;margin-bottom:10px;transition:all .2s}
.path-opt:hover{border-color:var(--teal);background:var(--mint);transform:translateX(4px)}
.path-opt .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--mint);flex:none;font-size:22px}
.path-opt b{display:block;font-size:15px}
.path-opt small{color:var(--muted);font-size:13px}
.path-opt .arr{margin-left:auto;color:var(--teal);font-size:20px}
.pathfinder .foot{display:flex;gap:8px;align-items:center;margin-top:14px;font-size:13px;color:var(--muted)}
.pathfinder .foot a{color:var(--brand);font-weight:600}

/* Trust strip */
.trust{padding:34px 0 10px}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.trust-item{display:flex;gap:14px;align-items:center;padding:18px;border-radius:var(--r-sm);background:#fff;border:1px solid var(--line)}
.trust-item .ic{width:42px;height:42px;border-radius:12px;background:var(--mint);display:grid;place-items:center;color:var(--brand);flex:none}
.trust-item b{font-size:15px;display:block;line-height:1.25}
.trust-item span{font-size:13px;color:var(--muted)}

section{padding:110px 0}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:54px;flex-wrap:wrap}
.sec-head h2{max-width:14ch}
.sec-head .lead{max-width:46ch}

/* Services bento */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.card{position:relative;border-radius:var(--r);overflow:hidden;background:#fff;border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.card h3{font-size:28px;margin:14px 0 10px}
.card p{color:var(--muted);font-size:15.5px}
.card .tag{align-self:flex-start;font-size:12px;font-weight:600;padding:6px 11px;border-radius:999px;background:var(--mint);color:var(--brand)}
.card .more{margin-top:auto;padding-top:22px;font-weight:600;color:var(--brand);display:flex;gap:8px;align-items:center}
.card ul{list-style:none;margin-top:16px;display:grid;gap:8px}
.card ul li{font-size:14.5px;display:flex;gap:10px;align-items:flex-start}
.card ul li::before{content:"";flex:none;width:18px;height:18px;margin-top:2px;border-radius:50%;background:var(--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F605E' stroke-width='3'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/11px no-repeat}
.c-res{grid-column:span 7;min-height:520px;color:#fff;border:0;background:var(--petrol)}
.c-res .ph{position:absolute;inset:0;background:url(img/residenziale.jpg) center/cover;opacity:.4;mix-blend-mode:luminosity}
.c-res::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,53,51,.2),rgba(12,53,51,.95) 65%)}
.c-res>*{position:relative;z-index:1}
.c-res h3{font-size:40px;margin-top:auto}
.c-res p{color:rgba(255,255,255,.78)}
.c-res .tag{background:var(--lime);color:var(--ink)}
.c-res .more{color:var(--teal-2)}
.c-res .beds{display:flex;gap:10px;margin-top:20px}
.c-res .beds div{flex:1;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:14px;backdrop-filter:blur(6px)}
.c-res .beds b{font-size:28px;display:block;letter-spacing:-.02em}
.c-res .beds span{font-size:13px;color:rgba(255,255,255,.7)}
.c-amb{grid-column:span 5;background:var(--mint)}
.c-amb .ph{height:180px;border-radius:16px;background:url(img/riab-mano.jpg) center/cover;margin:-8px -8px 18px}
.c-evo{grid-column:span 4;background:#FFF6E9;border-color:#F6E3C6}
.c-evo .tag{background:#FFE3B8;color:#8A4B00}
.c-dom{grid-column:span 4}
.c-adi{grid-column:span 4;background:var(--ink);color:#fff;border:0}
.c-adi p{color:rgba(255,255,255,.7)}
.c-adi .tag{background:rgba(255,255,255,.12);color:#fff}
.c-adi .more{color:var(--lime)}
.c-priv{grid-column:span 12;display:grid;grid-template-columns:1.2fr 1fr auto;gap:30px;align-items:center;background:linear-gradient(110deg,#fff 0%,var(--mint) 100%)}
.c-priv h3{margin:10px 0 6px}

/* Conditions marquee */
.marquee{overflow:hidden;padding:26px 0;border-block:1px solid var(--line);background:#fff;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee .track{display:flex;gap:14px;width:max-content;animation:scroll 50s linear infinite}
.marquee:hover .track{animation-play-state:paused}
.chip{padding:12px 20px;border-radius:999px;border:1px solid var(--line);font-size:16px;font-weight:500;white-space:nowrap;background:var(--sand)}
.chip i{font-style:normal;color:var(--teal);margin-right:6px}
@keyframes scroll{to{transform:translateX(-50%)}}

/* Percorso steps */
.steps-sec{background:var(--petrol);color:#fff;border-radius:var(--r-lg);margin:0 20px;position:relative;overflow:hidden}
.steps-sec::before{content:"";position:absolute;width:700px;height:700px;right:-200px;top:-300px;border-radius:50%;background:radial-gradient(circle,rgba(56,173,169,.35),transparent 65%)}
.steps-sec .eyebrow{color:var(--teal-2)}
.steps-sec .lead{color:rgba(255,255,255,.7)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative}
.step{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:28px;backdrop-filter:blur(8px)}
.step .n{font-family:var(--serif);font-style:italic;font-size:56px;line-height:1;color:var(--teal-2)}
.step h3{font-size:22px;margin:18px 0 10px}
.step p{font-size:15px;color:rgba(255,255,255,.7)}
.step .time{display:inline-block;margin-top:16px;font-size:12.5px;font-weight:600;padding:6px 11px;border-radius:999px;background:rgba(214,243,106,.14);color:var(--lime)}

/* Wait times live */
.wait{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;align-items:center}
.wait-board{background:#fff;border-radius:var(--r-lg);padding:30px;box-shadow:var(--shadow);border:1px solid var(--line)}
.wait-board .hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.live{display:inline-flex;gap:8px;align-items:center;font-size:13px;font-weight:600;color:#16A34A;background:#DCFCE7;padding:6px 12px;border-radius:999px}
.live::before{content:"";width:8px;height:8px;border-radius:50%;background:#16A34A;animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(22,163,74,.6)}100%{box-shadow:0 0 0 10px rgba(22,163,74,0)}}
.wait-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:18px 0;border-top:1px solid var(--line);align-items:center}
.wait-row b{font-size:17px}
.wait-row small{display:block;color:var(--muted);font-size:13px}
.wait-row .days{text-align:right}
.wait-row .days strong{font-size:30px;letter-spacing:-.03em}
.wait-row .days span{font-size:13px;color:var(--muted)}
.bedbar{height:10px;border-radius:99px;background:var(--mint);overflow:hidden;margin-top:8px}
.bedbar i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--brand));border-radius:99px}

/* Team */
.team-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}
.team-photo{border-radius:var(--r-lg);background:url(img/medico.jpg) center 30%/cover;min-height:520px;position:relative;overflow:hidden}
.team-photo .quote{position:absolute;left:20px;right:20px;bottom:20px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-radius:var(--r);padding:22px}
.team-photo .quote p{font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.2}
.team-photo .quote small{color:var(--muted)}
.roles{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}
.role{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:18px;display:flex;gap:12px;align-items:center;transition:all .2s}
.role:hover{border-color:var(--teal);transform:translateY(-3px)}
.role .ic{font-size:22px;width:44px;height:44px;border-radius:12px;background:var(--mint);display:grid;place-items:center;flex:none}
.role b{font-size:15px;line-height:1.2}
.direction{grid-column:span 2;background:var(--ink);color:#fff;border-radius:var(--r-sm);padding:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.direction small{color:rgba(255,255,255,.6);display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em}

/* Struttura gallery */
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px;gap:16px}
.gallery .g{border-radius:var(--r);background-size:cover;background-position:center;position:relative;overflow:hidden}
.gallery .g span{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.92);font-size:13px;font-weight:600;padding:7px 12px;border-radius:999px}
.g1{grid-row:span 2;background-image:url(img/struttura-ingresso.jpg)}
.g2{background-image:url(img/struttura-reception.jpg)}
.g3{background-image:url(img/struttura-sala.jpg)}
.g4{grid-column:span 2;background:var(--mint)!important;padding:26px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-content:center}
.g4 div{font-size:14.5px;display:flex;gap:10px;align-items:center;font-weight:500}
.g4 div em{font-style:normal;font-size:20px}

/* Testimonials */
.testi{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.t-card{background:#fff;border-radius:var(--r);padding:28px;border:1px solid var(--line);display:flex;flex-direction:column;gap:18px}
.t-card .stars{color:#F59E0B;letter-spacing:2px}
.t-card p{font-size:17px;line-height:1.5}
.t-card .who{margin-top:auto;display:flex;gap:12px;align-items:center;font-size:14px}
.t-card .av{width:40px;height:40px;border-radius:50%;background:var(--mint);display:grid;place-items:center;font-weight:700;color:var(--brand)}
.note-demo{font-size:12px;color:var(--muted);margin-top:14px}

/* FAQ */
.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:60px}
details{border-top:1px solid var(--line);padding:22px 0}
details:last-child{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;font-size:19px;font-weight:600;display:flex;justify-content:space-between;gap:20px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:26px;font-weight:300;color:var(--teal);transition:transform .3s;flex:none;width:36px;height:36px;border-radius:50%;background:var(--mint);display:grid;place-items:center;line-height:1}
details[open] summary::after{transform:rotate(45deg)}
details p{color:var(--muted);margin-top:12px;max-width:62ch}

/* Contact */
.contact{background:var(--ink);color:#fff;border-radius:var(--r-lg);margin:0 20px;overflow:hidden}
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:60px}
.contact h2 .serif{color:var(--teal-2)}
.contact .lead{color:rgba(255,255,255,.7)}
.c-list{margin-top:34px;display:grid;gap:12px}
.c-list a,.c-list div{display:flex;gap:14px;align-items:center;padding:16px 18px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);transition:background .2s}
.c-list a:hover{background:rgba(255,255,255,.12)}
.c-list .ic{width:40px;height:40px;border-radius:12px;background:rgba(56,173,169,.2);display:grid;place-items:center;font-size:18px;flex:none}
.c-list b{display:block;font-size:15px}
.c-list small{color:rgba(255,255,255,.6);font-size:13px}
form.lead-form{background:#fff;color:var(--ink);border-radius:var(--r);padding:32px}
.lead-form h3{font-size:26px;margin-bottom:6px}
.lead-form .sub{color:var(--muted);font-size:14px;margin-bottom:22px}
.lead-form label.lbl{font-size:13px;font-weight:600;display:block;margin-bottom:8px}
.svc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.svc-chips input{display:none}
.svc-chips label{padding:9px 14px;border-radius:999px;border:1.5px solid var(--line);font-size:14px;cursor:pointer;transition:all .15s;font-weight:500}
.svc-chips input:checked+label{background:var(--ink);border-color:var(--ink);color:#fff}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field{margin-bottom:12px}
.field input,.field select,.field textarea{width:100%;padding:14px 16px;border-radius:14px;border:1.5px solid var(--line);background:var(--sand);outline:none;transition:border .2s,background .2s;font-size:15px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);background:#fff}
.check{display:flex;gap:10px;font-size:13px;color:var(--muted);margin:10px 0;align-items:flex-start}
.check input{margin-top:3px;accent-color:var(--teal);width:16px;height:16px;flex:none}
.lead-form .btn{width:100%;margin-top:10px;padding:17px}
.form-ok{display:none;text-align:center;padding:30px 10px}
.form-ok .big{width:72px;height:72px;border-radius:50%;background:var(--mint);display:grid;place-items:center;margin:0 auto 18px;font-size:34px}
.form-err{color:#DC2626;font-size:14px;margin-top:8px;display:none}
.map{margin-top:18px;border-radius:16px;overflow:hidden;height:200px;border:1px solid rgba(255,255,255,.1)}
.map iframe{width:100%;height:100%;border:0;filter:grayscale(.3) contrast(1.05)}

/* Footer */
footer{padding:70px 0 110px;font-size:14px;color:var(--muted)}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
footer h4{color:var(--ink);font-size:14px;margin-bottom:14px}
footer ul{list-style:none;display:grid;gap:9px}
footer a:hover{color:var(--brand)}
.f-bottom{border-top:1px solid var(--line);margin-top:50px;padding-top:24px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px}

/* Mobile sticky CTA */
.mcta{display:none}

/* Reveal */
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.marquee .track{animation:none}}

/* Responsive */
@media (max-width:1080px){
  .nav ul{display:none}
  .burger{display:grid;place-items:center}
  .nav.open ul{display:flex;flex-direction:column;position:absolute;top:78px;left:16px;right:16px;background:#fff;padding:12px;border-radius:20px;box-shadow:var(--shadow)}
  .hero-card{grid-template-columns:1fr;padding:40px 28px}
  .trust .wrap{grid-template-columns:1fr 1fr}
  .c-res,.c-amb{grid-column:span 12}
  .c-evo,.c-dom,.c-adi{grid-column:span 12}
  .c-priv{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .wait,.team-grid,.faq,.contact-grid{grid-template-columns:1fr}
  .testi{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px auto}
  .g1{grid-row:auto;grid-column:span 2}
  .g4{grid-column:span 2;grid-template-columns:1fr 1fr}
  .f-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .wrap{width:calc(100% - 32px)}
  section{padding:72px 0}
  .topbar .hide-sm{display:none}
  .nav .phone,.nav .actions .btn{display:none}
  .hero-card{min-height:auto;padding:34px 20px;border-radius:26px}
  .hero-badges{gap:18px}
  .hero-badges b{font-size:26px}
  .trust .wrap,.steps,.roles,.row2{grid-template-columns:1fr}
  .direction{grid-column:auto}
  .steps-sec,.contact{margin:0 8px;border-radius:26px}
  .gallery{grid-template-columns:1fr}
  .g1,.g4{grid-column:auto}
  .g4{grid-template-columns:1fr}
  .f-grid{grid-template-columns:1fr}
  .demo-pill{bottom:84px}
  .mcta{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:10px;right:10px;bottom:10px;z-index:55;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);padding:8px;border-radius:20px;box-shadow:0 10px 40px -10px rgba(0,0,0,.35)}
  .mcta a{padding:13px 8px;border-radius:14px;text-align:center;font-weight:600;font-size:14px;background:var(--mint)}
  .mcta a.p{background:var(--teal);color:#fff}
  form.lead-form{padding:24px 18px}
}
.c-res .more{margin-top:22px}
.path-opt>span:nth-child(2){flex:1;min-width:0}
@media (max-width:640px){
  .hero-card{padding:26px 14px;gap:26px}
  .hero-left{padding:0 6px}
  .pathfinder{padding:18px 14px}
  .path-opt{padding:12px;gap:12px}
  .path-opt .ic{width:38px;height:38px;font-size:19px}
  .path-opt .arr{display:none}
  .mcta a{display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
}

/* ===== Menu a tendina Servizi ===== */
.nav ul{align-items:center}
.nav ul li{position:relative}
.nav .dd-t{display:inline-flex;align-items:center;gap:6px}
.dd-menu{position:absolute;top:calc(100% + 8px);left:-10px;width:380px;background:#fff;border-radius:20px;padding:10px;box-shadow:0 24px 60px -18px rgba(11,31,30,.35);border:1px solid var(--line);opacity:0;visibility:hidden;transform:translateY(6px);transition:all .18s;z-index:70}
.dd-menu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:none}
.nav .dd-menu a{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:14px}
.nav .dd-menu a:hover{background:var(--mint)}
.dd-menu .i{width:38px;height:38px;border-radius:11px;background:var(--mint);display:grid;place-items:center;flex:none;font-size:18px}
.dd-menu b{display:block;font-size:14.5px;font-weight:600}
.dd-menu small{display:block;font-size:12.5px;color:var(--muted)}
.dd-menu a.rf .i{background:#0B1F1E}
.marquee .chip{transition:background .2s,border-color .2s}
.marquee a.chip:hover{background:var(--mint);border-color:var(--teal)}
.marquee-more{text-align:center;padding:14px 0 0}
.marquee-more a{font-weight:600;color:var(--brand);font-size:15px}
.f-grid-5{grid-template-columns:1.5fr 1fr 1fr 1fr 1.2fr}

/* ===== Pagine interne ===== */
.sub main{padding-bottom:20px}
.crumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:13.5px;color:var(--muted);padding:6px 0 14px}
.crumbs a:hover{color:var(--brand)}
.crumbs b{color:var(--ink);font-weight:600}
.ph{padding-top:8px}
.ph-card{background:var(--petrol);color:#fff;border-radius:var(--r-lg);display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;min-height:440px}
.ph-txt{padding:54px 52px;display:flex;flex-direction:column;justify-content:center}
.ph-txt h1{font-size:clamp(36px,4.4vw,60px);margin:18px 0}
.ph-txt h1 .serif{color:var(--teal-2);display:block}
.ph-txt .lead{color:rgba(255,255,255,.8)}
.eyebrow.on-dark{align-self:flex-start;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:7px 13px;border-radius:999px;text-transform:none;letter-spacing:0;font-weight:500;font-size:13.5px}
.eyebrow.on-dark::before{background:var(--lime);box-shadow:0 0 0 4px rgba(214,243,106,.25)}
.ph-facts{display:flex;gap:26px;margin-top:28px;flex-wrap:wrap}
.ph-facts div{border-left:1px solid rgba(255,255,255,.25);padding-left:14px}
.ph-facts b{display:block;font-size:26px;letter-spacing:-.02em;font-weight:600}
.ph-facts span{font-size:13px;color:rgba(255,255,255,.7)}
.ph-txt .ctas{display:flex;gap:10px;margin-top:30px;flex-wrap:wrap}
.ph-img{background-size:cover;background-position:center;min-height:300px}
.sec-sm{padding:44px 0 0}
.h2s{font-size:clamp(28px,3.4vw,44px);margin:12px 0 20px}
.h2s .serif{color:var(--teal)}
.inbreve{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;background:#fff;border:1px solid var(--line);border-left:6px solid var(--teal);border-radius:var(--r);padding:26px 30px}
.inbreve .ib-k{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);background:var(--mint);padding:7px 12px;border-radius:99px;white-space:nowrap}
.inbreve p{font-size:18px;line-height:1.6}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.checks{list-style:none;display:grid;gap:10px}
.checks li{display:flex;gap:12px;font-size:16.5px;align-items:flex-start}
.checks li::before{content:"✓";flex:none;width:24px;height:24px;border-radius:50%;background:var(--mint);color:var(--brand);font-weight:700;font-size:13px;display:grid;place-items:center;margin-top:1px}
.blocks{display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}
.blocks.b2{grid-template-columns:1fr 1fr}.blocks.b4{grid-template-columns:repeat(2,1fr)}
.blk{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;overflow:hidden}
.blk-img{height:220px;margin:-26px -26px 22px;background-size:cover;background-position:center}
.blk h3{font-size:22px;margin-bottom:8px}
.blk p{color:var(--muted);font-size:15.5px}
.more-link{display:inline-block;margin-top:18px;font-weight:600;color:var(--brand)}
.vs-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:auto}
.vs2{width:100%;border-collapse:collapse;font-size:15.5px;min-width:600px}
.vs2 th,.vs2 td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--line)}
.vs2 tr:last-child td{border-bottom:0}
.vs2 th{background:var(--ink);color:#fff;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.vs2 th:nth-child(2){background:var(--brand)}.vs2 th:nth-child(3){background:var(--teal)}
.vs2 td:first-child{font-weight:600;color:var(--muted);width:18%}
.note{font-size:14.5px;color:var(--muted);margin-top:14px;max-width:80ch}
.steps-v2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.stp2{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;display:grid;gap:10px;align-content:start}
.stp2 .n{width:44px;height:44px;border-radius:12px;background:var(--mint);display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:26px;color:var(--brand)}
.stp2 h3{font-size:18px}
.stp2 p{font-size:14.5px;color:var(--muted)}
.side-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:18px}
.box-c{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 24px}
.box-c h4{font-size:17px;margin-bottom:10px}
.box-c p{font-size:15px;color:var(--muted)}
.box-c.dark{background:var(--ink);color:#fff;border:0}
.box-c.dark p{color:rgba(255,255,255,.75)}
.box-c .checks li{font-size:15.5px}
.dl{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line);font-size:14.5px;font-weight:500}
.dl:first-of-type{border-top:0}
.dl span{color:var(--brand);font-weight:700}
.team-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.team-chips span{background:#fff;border:1px solid var(--line);padding:10px 15px;border-radius:99px;font-size:15px;font-weight:500}
.team-chips b{margin-right:6px}
.pat-links{display:flex;flex-wrap:wrap;gap:8px}
.pat-links a{display:inline-flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);padding:11px 16px;border-radius:99px;font-size:15px;font-weight:500;transition:all .15s}
.pat-links a i{font-style:normal;color:var(--teal)}
.pat-links a:hover{border-color:var(--teal);background:var(--mint)}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:14px}
.svc-grid a{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;gap:4px;transition:all .15s}
.svc-grid a:hover{border-color:var(--teal);transform:translateY(-2px)}
.svc-grid .i{font-size:24px}
.svc-grid small{color:var(--muted)}
.body-t{font-size:17px;line-height:1.65}
.tiny{font-size:13px;color:var(--muted);margin-top:12px}
.tr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tr-grid div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;font-weight:500;display:flex;gap:12px;align-items:center}
.tr-grid span{font-family:var(--serif);font-style:italic;color:var(--teal);font-size:24px}
.svc-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.svc-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:grid;grid-template-columns:.8fr 1.2fr;transition:transform .2s}
.svc-card:hover{transform:translateY(-3px)}
.svc-card .im{background-size:cover;background-position:center;min-height:240px}
.svc-card .bd{padding:24px}
.svc-card .tag{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}
.svc-card h2{font-size:24px;margin:8px 0}
.svc-card p{font-size:14.5px;color:var(--muted)}
.svc-card .go{display:inline-block;margin-top:12px;font-weight:600;color:var(--brand)}
.pat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:18px}
.pat-cards a{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 44px 20px 20px;display:grid;gap:6px;transition:all .15s}
.pat-cards a:hover{border-color:var(--teal);transform:translateY(-2px)}
.pat-cards b{font-size:17px}
.pat-cards small{color:var(--muted);font-size:13.5px}
.pat-cards i{position:absolute;right:18px;top:20px;font-style:normal;color:var(--teal);font-weight:700}
.sub .contact{margin-top:60px}
@media (max-width:1080px){
  .nav.open .dd-menu{position:static;opacity:1;visibility:visible;transform:none;width:auto;box-shadow:none;border:0;padding:0 0 6px 10px}
  .nav.open .dd-menu small{display:none}
  .ph-card,.two-col,.svc-cards{grid-template-columns:1fr}
  .tr-grid{grid-template-columns:1fr 1fr}
  .ph-img{min-height:240px;order:-1}
  .f-grid-5{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .ph-txt{padding:30px 22px}
  .blocks,.blocks.b2,.blocks.b4,.tr-grid{grid-template-columns:1fr}
  .inbreve{grid-template-columns:1fr;padding:22px}
  .inbreve p{font-size:16.5px}
  .svc-card{grid-template-columns:1fr}.svc-card .im{min-height:180px}
  .f-grid-5{grid-template-columns:1fr}
}

/* Footer con i testi istituzionali del Centro */
.f-grid-4{grid-template-columns:1.2fr 1fr 1.3fr 1fr}
footer.site-foot p{line-height:1.6}
footer.site-foot h4{text-transform:none}
.f-people{display:grid;gap:8px}
.f-people span{color:var(--ink);font-weight:600}
footer.site-foot a{text-decoration:none}
footer.site-foot ul a,.f-legal a{color:var(--brand)}
.f-legal{border-top:1px solid var(--line);margin-top:44px;padding-top:22px;display:grid;gap:8px;font-size:12.5px}
.f-links{display:flex;gap:18px;flex-wrap:wrap;font-weight:600;font-size:13.5px}
.nav-rf::before{content:"⚡ "}
/* barra mobile: Chiama ora + WhatsApp */
.mcta a.call{background:var(--teal);color:#fff}
.mcta a.wa{background:#25D366;color:#fff}
@media (max-width:1500px){.nav ul a{padding:9px 10px;font-size:14.5px;white-space:nowrap}.nav .phone{display:none}}
.nav ul a{white-space:nowrap}
@media (max-width:1080px){.f-grid-4{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.f-grid-4{grid-template-columns:1fr}}
@media (max-width:640px){.demo-pill{display:none}}

/* Pagine legali */
.legal{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:44px 48px;max-width:920px;font-size:15.5px;line-height:1.65}
.legal h1{font-size:clamp(30px,3.6vw,44px);margin-bottom:22px}
.legal h2{font-size:24px;margin:30px 0 10px}
.legal h3{font-size:19px;margin:22px 0 8px}
.legal h4{font-size:16px;margin:16px 0 6px}
.legal p,.legal ul{margin-bottom:12px;color:#33413F}
.legal ul{padding-left:22px}
.legal a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.legal a.btn{text-decoration:none;color:#fff;margin:6px 0 10px}
@media (max-width:640px){.legal{padding:26px 20px}}

.f-accr{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 20px;display:grid;gap:10px;margin:4px 0}
.f-accr p{font-size:14px;color:var(--ink);line-height:1.6}
.f-accr b{font-weight:600}
.f-accr i{font-style:normal;color:var(--muted-2,#9AA6A5);margin:0 4px}
.f-docs{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.f-docs a{display:inline-flex;gap:8px;align-items:center;font-weight:600;color:var(--brand);text-decoration:none}
.f-docs a span{font-size:11px;font-weight:700;background:var(--mint);color:var(--brand);padding:3px 7px;border-radius:6px}

/* Fascia "prima struttura" su tutte le pagine */
.accr-band{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--lime);color:var(--ink);padding:10px 16px;font-size:14.5px;text-align:center;line-height:1.35;text-decoration:none}
.accr-band b{font-weight:700}
.accr-band em{font-style:normal;opacity:.75}
.accr-band .star{font-size:16px}
.accr-band .go{font-weight:700;white-space:nowrap;border-bottom:2px solid var(--ink)}
.accr-band:hover .go{opacity:.7}
@media (max-width:640px){.accr-band{font-size:13px;padding:9px 12px}.accr-band em,.accr-band .go{display:none}}
/* Lavora con noi */
footer.site-foot{padding-top:30px}
.f-jobs{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;background:var(--petrol);color:#fff;border-radius:24px;padding:26px 30px;margin:20px 0 64px;box-shadow:0 20px 50px -24px rgba(12,53,51,.6);position:relative;overflow:hidden}
.f-jobs::after{content:"";position:absolute;right:-80px;top:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(214,243,106,.22),transparent 65%);pointer-events:none}
.f-jobs>*{position:relative;z-index:1}
.f-jobs .ic{width:56px;height:56px;border-radius:16px;background:var(--lime);display:grid;place-items:center;font-size:26px}
.f-jobs b{display:block;color:var(--lime);font-size:22px;letter-spacing:-.01em;margin-bottom:4px}
.f-jobs span{font-size:15px;color:rgba(255,255,255,.82)}
.f-jobs-btn{background:var(--lime);color:var(--ink);font-weight:700}
.f-jobs-btn:hover{background:#e4fb86}
@media (max-width:760px){.f-jobs{grid-template-columns:1fr;padding:24px 22px}.f-jobs .btn{width:100%;white-space:normal}}
/* Società trasparente */
.legal ul.docs{list-style:none;padding:0;display:grid;gap:10px;margin-bottom:8px}
.legal a.doc{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:14px 16px;text-decoration:none;color:var(--ink);transition:border-color .15s,background .15s}
.legal a.doc:hover{border-color:var(--teal);background:var(--mint)}
.legal a.doc .pdf{flex:none;font-size:11px;font-weight:700;background:var(--mint);color:var(--brand);padding:4px 8px;border-radius:6px;margin-top:2px}
.legal a.doc b{display:block;font-weight:600}
.legal a.doc small{display:block;color:var(--muted);font-size:13.5px}
.dd-menu{width:460px}.nav .dd-menu a{white-space:normal}.dd-menu b{line-height:1.3}

.dd-group{padding:10px 12px 2px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}
.nav .dd-menu a.dd-sub{padding-left:28px}
.box-c p+p{margin-top:8px}
.nav .logo img{height:44px}

/* Banner consenso cookie */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;max-width:760px;margin:0 auto;background:var(--ink);color:#fff;border-radius:var(--r);padding:16px 18px;display:flex;gap:16px;align-items:center;box-shadow:0 20px 60px -15px rgba(0,0,0,.5);font-size:14px;line-height:1.45}
.cookie-bar p{flex:1}
.cookie-bar a{text-decoration:underline;text-underline-offset:3px}
.cookie-bar div{display:flex;gap:8px;flex-shrink:0}
.cookie-bar button{font:inherit;font-weight:600;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;padding:10px 16px;border-radius:999px;cursor:pointer}
.cookie-bar button.ok{background:var(--lime);border-color:var(--lime);color:var(--ink)}
@media (max-width:640px){.cookie-bar{flex-direction:column;align-items:stretch;left:10px;right:10px;bottom:10px}.cookie-bar div button{flex:1}}
