/* ===== Font locali (nessuna richiesta a Google) ===== */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-normal.woff2) format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/cormorant-garamond-latin-600-normal.woff2) format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/cormorant-garamond-latin-700-normal.woff2) format('woff2');}
@font-face{font-family:'Mulish';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/mulish-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'Mulish';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/mulish-latin-600-normal.woff2) format('woff2');}
@font-face{font-family:'Mulish';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/mulish-latin-700-normal.woff2) format('woff2');}

:root{
  --verde:#2E3A22; --verde-scuro:#222B19; --verde-medio:#5C6B3E; --verde-chiaro:#B9C0A4;
  --oro:#D8A23B; --terracotta:#9C5230; --crema:#F4EFE4; --crema-2:#EDE6D3; --avorio:#FAF7EE;
  --max:1280px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Mulish',sans-serif;background:var(--crema);color:var(--verde);-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.5;}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;}
ul{list-style:none;}
::selection{background:var(--oro);color:var(--verde);}
section[id]{scroll-margin-top:70px;}
:focus-visible{outline:3px solid var(--oro);outline-offset:3px;}
.wrap{max-width:var(--max);margin:0 auto;}
.eyebrow{font-size:12px;letter-spacing:3px;text-transform:uppercase;font-weight:700;color:var(--terracotta);}
.skip{position:absolute;left:-9999px;top:8px;background:var(--verde);color:var(--crema);padding:10px 16px;z-index:200;border-radius:6px;}
.skip:focus{left:8px;}

@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}

/* ===== NAV ===== */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px 48px;background:rgba(244,239,228,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(46,58,34,.1);}
.brand{display:flex;align-items:baseline;gap:10px;}
.brand .name{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:700;letter-spacing:2px;color:var(--verde);}
.brand .tag{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--terracotta);font-weight:600;}
.nav-links{display:flex;align-items:center;gap:34px;}
.nav-links a.link{font-size:13px;font-weight:600;letter-spacing:.5px;color:var(--verde-medio);transition:color .2s;}
.nav-links a.link:hover,.nav-links a.link[aria-current]{color:var(--verde);}
.nav-links a.link[aria-current]{box-shadow:0 2px 0 var(--oro);}
.btn-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:100px;font-weight:700;letter-spacing:.3px;transition:background .25s,color .25s;cursor:pointer;}
.nav-cta{padding:11px 22px;background:var(--verde);color:var(--crema);font-size:13px;}
.nav-cta:hover{background:var(--terracotta);}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--verde);margin:5px 0;transition:.3s;}
.dd{position:relative;padding:18px 0;margin:-18px 0;}
.dd-toggle::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:8px;}
.dd-menu{display:none;position:absolute;top:100%;left:-18px;min-width:280px;background:var(--crema);border:1px solid rgba(46,58,34,.12);box-shadow:0 18px 40px rgba(0,0,0,.12);padding:10px 0;border-radius:10px;}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{display:block;}
.dd-menu a{display:block;padding:10px 22px;font-size:14px;font-weight:600;color:var(--verde-medio);}
.dd-menu a:hover,.dd-menu a[aria-current]{background:var(--crema-2);color:var(--verde);}

/* ===== BOTTONI ===== */
.btn-gold{padding:16px 30px;background:var(--oro);color:var(--verde);font-size:15px;}
.btn-gold:hover{background:var(--avorio);}
.btn-ghost{padding:16px 30px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.45);color:var(--avorio);font-size:15px;font-weight:600;}
.btn-ghost:hover{background:rgba(255,255,255,.18);}
.btn-dark{padding:17px 34px;background:var(--verde);color:var(--crema);font-size:16px;}
.btn-dark:hover{background:var(--terracotta);}
.btn-outline{padding:17px 34px;background:transparent;border:1.5px solid var(--verde);color:var(--verde);font-size:16px;}
.btn-outline:hover{background:var(--verde);color:var(--crema);}

/* ===== HERO HOME ===== */
.hero{position:relative;height:92vh;min-height:620px;display:flex;align-items:flex-end;overflow:hidden;}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,36,20,.3) 0%,rgba(28,36,20,.2) 30%,rgba(28,36,20,.5) 62%,rgba(28,36,20,.85) 100%);}
.hero .inner{position:relative;z-index:2;max-width:1080px;padding:0 48px 72px;}
.hero .kicker{display:inline-flex;align-items:center;gap:10px;margin-bottom:24px;animation:fadeUp .7s ease both;}
.hero .kicker .bar{width:34px;height:2px;background:var(--oro);}
.hero .kicker .txt{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#EFE6D2;font-weight:600;}
.hero h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(44px,7vw,92px);line-height:.98;color:var(--avorio);max-width:14ch;letter-spacing:-.5px;animation:fadeUp .8s ease .08s both;}
.hero p{margin-top:26px;font-size:clamp(16px,2vw,19px);line-height:1.6;color:#E8E0CE;max-width:54ch;animation:fadeUp .9s ease .16s both;}
.hero .actions{display:flex;gap:16px;margin-top:38px;flex-wrap:wrap;animation:fadeUp 1s ease .24s both;}

/* ===== HERO PAGINE INTERNE ===== */
.shero{position:relative;min-height:62vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--verde-scuro);}
.shero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.shero .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,36,20,.68) 0%,rgba(28,36,20,.42) 40%,rgba(28,36,20,.86) 100%);}
.shero .inner{position:relative;z-index:2;width:100%;max-width:1180px;margin:0 auto;padding:120px 48px 64px;}
.crumbs{font-size:13px;color:#E8E0CE;margin-bottom:22px;display:flex;flex-wrap:wrap;gap:8px;}
.crumbs a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.4);}
.crumbs a:hover{color:var(--oro);}
.shero .eyebrow{color:var(--oro);text-shadow:0 1px 6px rgba(0,0,0,.45);}
.shero h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(40px,6vw,78px);line-height:1;color:var(--avorio);max-width:17ch;margin-top:14px;letter-spacing:-.5px;}
.shero .lead{margin-top:22px;font-size:clamp(16px,2vw,19px);line-height:1.6;color:#E8E0CE;max-width:58ch;}
.shero .actions{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}

/* ===== INTRO HOME ===== */
.intro{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:90px 48px;}
.intro .lead{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,3.4vw,42px);line-height:1.22;font-weight:500;color:var(--verde);margin-top:18px;}
.intro .copy{font-size:17px;line-height:1.7;color:#4A5238;}
.intro .col-r{display:flex;flex-direction:column;gap:22px;}
.stats{display:flex;gap:40px;padding-top:14px;border-top:1px solid rgba(46,58,34,.15);margin-top:6px;flex-wrap:wrap;}
.stats .num{font-family:'Cormorant Garamond',serif;font-size:46px;font-weight:600;color:var(--terracotta);line-height:1;}
.stats .lbl{font-size:13px;color:var(--verde-medio);margin-top:6px;font-weight:600;}

/* ===== SERVIZI (HOME) ===== */
.servizi{background:var(--verde);padding:96px 48px;}
.servizi .head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:24px;margin-bottom:56px;}
.servizi .eyebrow{color:var(--oro);}
.servizi h2{font-family:'Cormorant Garamond',serif;font-size:clamp(38px,5vw,64px);font-weight:600;color:var(--avorio);line-height:1.02;margin-top:14px;}
.servizi .sub{font-size:16px;color:var(--verde-chiaro);max-width:38ch;line-height:1.6;}
.servizi .sub a{color:var(--oro);font-weight:700;text-decoration:underline;text-underline-offset:3px;}
.grid-services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);}
.svc{background:var(--verde);padding:38px 32px;min-height:270px;display:flex;flex-direction:column;transition:background .25s;}
.svc:hover{background:#36432A;}
.svc .num{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;color:var(--oro);}
.svc h3{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:600;color:var(--avorio);margin-top:18px;line-height:1.1;}
.svc p{font-size:15px;line-height:1.65;color:var(--verde-chiaro);margin-top:14px;}
.svc .go{margin-top:auto;padding-top:20px;color:var(--oro);font-weight:700;font-size:14px;letter-spacing:.3px;}
.svc:hover .go{text-decoration:underline;text-underline-offset:4px;}

/* ===== METODO ===== */
.metodo{padding:96px 48px;}
.metodo .head{text-align:center;margin-bottom:64px;}
.metodo h2{font-family:'Cormorant Garamond',serif;font-size:clamp(38px,5vw,64px);font-weight:600;color:var(--verde);line-height:1.02;margin-top:14px;}
.grid-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
.step .n{font-family:'Cormorant Garamond',serif;font-size:64px;font-weight:600;color:#E4D9BF;line-height:1;}
.step .rule{width:48px;height:3px;background:var(--oro);margin:14px 0 18px;}
.step h3{font-size:19px;font-weight:700;color:var(--verde);margin-bottom:10px;}
.step p{font-size:15px;line-height:1.6;color:var(--verde-medio);}

/* ===== AZIENDA ===== */
.azienda{display:grid;grid-template-columns:1.05fr 1fr;min-height:560px;}
.azienda img{width:100%;height:100%;min-height:480px;object-fit:cover;}
.azienda .panel{background:var(--terracotta);display:flex;flex-direction:column;justify-content:center;padding:72px 64px;color:var(--avorio);}
.azienda .eyebrow{color:#F0D9A8;}
.azienda h2{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4vw,52px);font-weight:600;line-height:1.05;margin-top:16px;}
.azienda .copy{font-size:17px;line-height:1.7;color:#F3E5D6;margin-top:22px;max-width:46ch;}
.promises{display:flex;flex-direction:column;gap:14px;margin-top:32px;}
.promises .row{display:flex;align-items:center;gap:14px;}
.promises .dot{width:8px;height:8px;border-radius:50%;background:var(--oro);flex-shrink:0;}
.promises .row span:last-child{font-size:16px;font-weight:600;}

/* ===== PAGINA SERVIZIO ===== */
.sintro{display:grid;grid-template-columns:1.2fr 1fr;gap:72px;padding:92px 48px;align-items:start;}
.sintro h2,.sphotos h2,.sdetail h2,.faq h2,.more h2{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4vw,50px);font-weight:600;line-height:1.05;color:var(--verde);margin-top:14px;}
.sintro .copy{font-size:17px;line-height:1.75;color:#4A5238;margin-top:22px;}
.sintro .copy+.copy{margin-top:16px;}
.card-include{background:var(--avorio);border:1px solid rgba(46,58,34,.12);border-radius:6px;padding:34px 34px 26px;}
.card-include h3{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:600;color:var(--terracotta);}
.card-include li{display:flex;gap:14px;padding:13px 0;border-bottom:1px solid rgba(46,58,34,.1);font-size:15.5px;line-height:1.5;color:#3C4630;font-weight:600;}
.card-include li:last-child{border-bottom:0;}
.card-include li::before{content:"";flex:0 0 8px;height:8px;border-radius:50%;background:var(--oro);margin-top:8px;}

.sphotos{padding:0 48px 96px;}
.sphotos .head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:18px;margin-bottom:34px;}
.sphotos .head a{font-weight:700;font-size:14px;color:var(--terracotta);text-decoration:underline;text-underline-offset:4px;}
.photo-grid{display:flex;flex-wrap:wrap;gap:14px;}
.photo-grid a{position:relative;display:block;overflow:hidden;border-radius:6px;background:var(--crema-2);flex:1 1 calc(25% - 14px);min-width:200px;height:240px;}
.photo-grid a:first-child{flex:2 1 calc(50% - 14px);}
.photo-grid img{width:100%;height:100%;object-fit:cover;object-position:center 40%;transition:transform .5s ease;}
.photo-grid a:hover img{transform:scale(1.04);}

.sdetail{background:var(--crema-2);padding:92px 48px;}
.sdetail .grid-steps{grid-template-columns:repeat(3,1fr);margin-top:48px;}
.sdetail .step .n{color:#D9CCA9;}

.faq{padding:92px 48px;max-width:960px;margin:0 auto;}
.faq details{border-bottom:1px solid rgba(46,58,34,.18);}
.faq details:first-of-type{margin-top:30px;border-top:1px solid rgba(46,58,34,.18);}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:18px;font-weight:700;color:var(--verde);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";font-family:'Cormorant Garamond',serif;font-size:32px;line-height:1;color:var(--terracotta);flex-shrink:0;}
.faq details[open] summary::after{content:"–";}
.faq details p{padding:0 0 24px;font-size:16.5px;line-height:1.7;color:#4A5238;max-width:68ch;}

.more{padding:0 48px 96px;}
.more-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:30px;}
.more-card{display:block;padding:24px 24px 22px;border:1px solid rgba(46,58,34,.18);border-radius:6px;transition:background .25s,color .25s;}
.more-card .n{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:600;color:var(--terracotta);}
.more-card h3{font-family:'Cormorant Garamond',serif;font-size:25px;font-weight:600;line-height:1.1;margin-top:8px;}
.more-card:hover{background:var(--verde);color:var(--crema);}
.more-card:hover .n{color:var(--oro);}

/* ===== GALLERIA ===== */
.ghead{padding:84px 48px 36px;}
.ghead h1{font-family:'Cormorant Garamond',serif;font-size:clamp(44px,6vw,80px);font-weight:600;line-height:1;color:var(--verde);margin-top:14px;letter-spacing:-.5px;}
.ghead p{font-size:18px;line-height:1.6;color:#4A5238;max-width:56ch;margin-top:20px;}
.filters{display:flex;gap:10px;flex-wrap:wrap;padding:0 48px 34px;}
.filters button{font:inherit;font-size:14px;font-weight:700;padding:10px 20px;border-radius:100px;border:1.5px solid var(--verde);background:transparent;color:var(--verde);cursor:pointer;transition:background .2s,color .2s;}
.filters button:hover{background:rgba(46,58,34,.08);}
.filters button[aria-pressed="true"]{background:var(--verde);color:var(--crema);}
.masonry{column-count:3;column-gap:14px;padding:0 48px 96px;}
.masonry a{display:block;margin-bottom:14px;break-inside:avoid;border-radius:6px;overflow:hidden;background:var(--crema-2);}
.masonry a[hidden]{display:none;}
.masonry img{width:100%;height:auto;transition:transform .5s ease;}
.masonry a:hover img{transform:scale(1.03);}

/* ===== LIGHTBOX ===== */
.lb{position:fixed;inset:0;z-index:100;background:rgba(20,26,14,.95);display:none;align-items:center;justify-content:center;flex-direction:column;padding:56px 12px 20px;}
.lb.open{display:flex;}
.lb img{max-width:96vw;max-height:78vh;object-fit:contain;border-radius:4px;}
.lb .cap{color:#E8E0CE;font-size:14px;margin-top:14px;text-align:center;max-width:70ch;padding:0 12px;}
.lb button{position:absolute;background:rgba(255,255,255,.1);border:0;color:#fff;width:48px;height:48px;border-radius:50%;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.lb button:hover{background:rgba(255,255,255,.25);}
.lb .x{top:12px;right:12px;}
.lb .pv{left:12px;top:50%;transform:translateY(-50%);}
.lb .nx{right:12px;top:50%;transform:translateY(-50%);}
.lb .count{position:absolute;top:24px;left:20px;color:#B9C0A4;font-size:13px;font-weight:700;letter-spacing:1px;}

/* ===== CONTATTI ===== */
.contatti{background:var(--crema);padding:100px 48px;text-align:center;}
.contatti h2{font-family:'Cormorant Garamond',serif;font-size:clamp(40px,6vw,76px);font-weight:600;color:var(--verde);line-height:1;margin-top:16px;letter-spacing:-.5px;}
.contatti p{font-size:clamp(17px,2vw,19px);line-height:1.6;color:#4A5238;margin:22px auto 0;max-width:52ch;}
.contatti .actions{display:flex;gap:16px;justify-content:center;margin-top:40px;flex-wrap:wrap;}
.contatti.alt{background:var(--avorio);border-top:1px solid rgba(46,58,34,.1);}

/* ===== FOOTER ===== */
.footer{background:var(--verde-scuro);color:var(--verde-chiaro);padding:56px 48px 40px;}
.footer .top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:36px;}
.footer .name{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:700;letter-spacing:2px;color:var(--avorio);}
.footer .tag{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--oro);font-weight:600;}
.footer .blurb{font-size:14px;line-height:1.6;max-width:40ch;margin-top:14px;}
.footer .cols{display:flex;gap:56px;flex-wrap:wrap;}
.footer .col{display:flex;flex-direction:column;gap:10px;}
.footer .col .h{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#8D9A72;font-weight:700;}
.footer .col a{font-size:14px;color:#E8E0CE;transition:color .2s;}
.footer .col a:hover{color:var(--oro);}
.footer .bottom{margin-top:36px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.footer .bottom span{font-size:13px;color:#8D9A72;}

/* ===== 404 ===== */
.nf{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 24px;gap:18px;}
.nf h1{font-family:'Cormorant Garamond',serif;font-size:clamp(46px,8vw,100px);line-height:1;font-weight:600;}
.nf p{font-size:18px;color:#4A5238;max-width:46ch;}


/* ===== AZIENDA ===== */
.azienda-cta{margin-top:34px;align-self:flex-start;padding:15px 28px;font-size:15px;}
.why{background:var(--verde);padding:92px 48px;}
.why .eyebrow{color:var(--oro);}
.why h2{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,4.4vw,56px);font-weight:600;line-height:1.05;color:var(--avorio);margin-top:14px;}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:48px;}
.why-card{border-top:3px solid var(--oro);padding-top:20px;}
.why-card h3{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:600;color:var(--avorio);line-height:1.1;}
.why-card p{font-size:15px;line-height:1.65;color:var(--verde-chiaro);margin-top:12px;}
.fleet{padding:92px 48px;}
.fleet h2{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4vw,50px);font-weight:600;line-height:1.05;color:var(--verde);margin-top:14px;}
.fleet .copy{font-size:17px;line-height:1.7;color:#4A5238;margin-top:18px;max-width:56ch;}
.fleet-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px;}
.fleet-card{background:var(--avorio);border:1px solid rgba(46,58,34,.12);border-radius:6px;overflow:hidden;}
.fleet-card img{width:100%;height:190px;object-fit:cover;object-position:center 45%;}
.fleet-card figcaption{padding:18px 20px 22px;}
.fleet-card h3{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:600;line-height:1.1;color:var(--verde);}
.fleet-card p{font-size:14.5px;line-height:1.6;color:var(--verde-medio);margin-top:8px;}
.fleet-link{margin-top:30px;}
.fleet-link a{font-weight:700;font-size:14px;color:var(--terracotta);text-decoration:underline;text-underline-offset:4px;}

/* ===== PAGINA CONTATTI ===== */
.cgrid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;padding:20px 48px 100px;align-items:start;}
.cinfo{display:flex;flex-direction:column;gap:14px;}
.ccard{display:flex;flex-direction:column;gap:4px;padding:22px 24px;background:var(--avorio);border:1px solid rgba(46,58,34,.14);border-radius:6px;transition:background .25s,color .25s,border-color .25s;}
.ccard:hover{background:var(--verde);color:var(--crema);border-color:var(--verde);}
.ccard .k{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;color:var(--terracotta);}
.ccard:hover .k{color:var(--oro);}
.ccard .v{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:600;line-height:1.1;overflow-wrap:anywhere;}
.ccard .s{font-size:14px;color:var(--verde-medio);}
.ccard:hover .s{color:var(--verde-chiaro);}
.csteps{margin-top:22px;}
.csteps h2{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:600;color:var(--verde);}
.csteps ol{list-style:none;margin-top:16px;display:flex;flex-direction:column;gap:18px;}
.csteps li{display:flex;gap:16px;align-items:flex-start;}
.csteps .n{flex:0 0 36px;height:36px;border-radius:50%;background:var(--oro);color:var(--verde);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;}
.csteps h3{font-size:17px;font-weight:700;color:var(--verde);}
.csteps p{font-size:15px;line-height:1.6;color:#4A5238;margin-top:3px;}
.cform{background:var(--avorio);border:1px solid rgba(46,58,34,.14);border-radius:6px;padding:36px 36px 30px;display:flex;flex-direction:column;gap:16px;position:sticky;top:90px;}
.cform h2{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:600;color:var(--verde);line-height:1.05;}
.cform label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--verde-medio);letter-spacing:.3px;}
.cform input,.cform select,.cform textarea{font:inherit;font-size:16px;font-weight:400;color:var(--verde);background:#fff;border:1.5px solid rgba(46,58,34,.25);border-radius:8px;padding:13px 14px;width:100%;}
.cform textarea{resize:vertical;min-height:110px;}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--terracotta);box-shadow:0 0 0 3px rgba(216,162,59,.35);}
.cform .invalid{border-color:#B3261E;}
.cbtns{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px;}
.cbtns .btn-pill{flex:1 1 200px;padding:16px 22px;font-size:15px;font-family:inherit;}
.cbtns button.btn-dark{border:0;}
.cbtns button.btn-outline{border:1.5px solid var(--verde);}
.cnote{font-size:13px;line-height:1.55;color:var(--verde-medio);}
.cnote.err{color:#B3261E;font-weight:700;}

/* ===== RESPONSIVE ===== */
@media (max-width:1100px){
  .nav{padding:16px 28px;}
  .nav-links{gap:24px;}
}
@media (max-width:960px){
  .grid-services{grid-template-columns:repeat(2,1fr);}
  .grid-steps{grid-template-columns:repeat(2,1fr);gap:40px 32px;}
  .sdetail .grid-steps{grid-template-columns:1fr;gap:34px;}
  .intro{grid-template-columns:1fr;gap:36px;padding:72px 40px;}
  .azienda{grid-template-columns:1fr;}
  .azienda img{min-height:340px;}
  .azienda .panel{padding:56px 40px;}
  .sintro{grid-template-columns:1fr;gap:40px;padding:72px 40px;}
  .photo-grid a{flex-basis:calc(33.33% - 14px);height:210px;}
  .photo-grid a:first-child{flex-basis:calc(66.66% - 14px);}
  .masonry{column-count:2;}
  .sphotos,.more,.ghead,.filters,.masonry,.sdetail,.faq{padding-left:40px;padding-right:40px;}
}
@media (max-width:720px){
  .nav{padding:14px 22px;}
  .nav-links{position:fixed;top:62px;left:0;right:0;max-height:calc(100vh - 62px);overflow-y:auto;flex-direction:column;align-items:stretch;gap:0;background:var(--crema);border-bottom:1px solid rgba(46,58,34,.12);padding:8px 22px 18px;transform:translateY(-130%);visibility:hidden;transition:transform .3s ease,visibility .3s;box-shadow:0 16px 30px rgba(0,0,0,.08);}
  .nav-links.open{transform:translateY(0);visibility:visible;}
  .nav-links a.link{padding:14px 4px;border-bottom:1px solid rgba(46,58,34,.08);font-size:15px;}
  .nav-links a.link[aria-current]{box-shadow:none;}
  .dd{padding:0;margin:0;}
  .dd-toggle::after{display:none;}
  .dd-menu{display:block;position:static;min-width:0;box-shadow:none;border:0;background:none;padding:0 0 4px 14px;border-radius:0;}
  .dd-menu a{padding:10px 4px;font-size:14px;border-bottom:1px solid rgba(46,58,34,.06);}
  .nav-cta{margin-top:14px;padding:14px 22px;font-size:14px;}
  .nav-toggle{display:block;}
  .nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle.active span:nth-child(2){opacity:0;}
  .nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  .hero{height:auto;min-height:0;padding-top:120px;}
  .hero .inner{padding:0 24px 56px;}
  .shero{min-height:0;}
  .shero .inner{padding:96px 24px 44px;}
  .servizi,.metodo,.contatti{padding:72px 24px;}
  .servizi .head{margin-bottom:40px;}
  .grid-services{grid-template-columns:1fr;}
  .svc{min-height:0;padding:32px 26px;}
  .grid-steps{grid-template-columns:1fr;gap:40px;}
  .intro{padding:64px 24px;}
  .azienda .panel{padding:48px 26px;}
  .sintro{padding:56px 24px;}
  .card-include{padding:26px 22px 18px;}
  .sphotos,.more,.ghead,.filters,.masonry,.sdetail,.faq{padding-left:24px;padding-right:24px;}
  .sphotos{padding-bottom:64px;}
  .sdetail,.faq{padding-top:64px;padding-bottom:64px;}
  .more{padding-bottom:64px;}
  .photo-grid{gap:10px;}
  .photo-grid a{flex-basis:calc(50% - 10px);min-width:0;height:150px;}
  .photo-grid a:first-child{flex-basis:100%;height:210px;}
  .masonry{column-gap:10px;padding-bottom:64px;}
  .masonry a{margin-bottom:10px;}
  .ghead{padding-top:56px;}
  .filters{gap:8px;}
  .filters button{padding:9px 16px;font-size:13px;}
  .footer{padding:48px 24px 36px;}
  .footer .cols{gap:36px;}
  .stats{gap:28px;}
  .stats .num{font-size:40px;}
  .faq summary{font-size:16.5px;}
  .lb img{max-height:72vh;}
  .lb .pv,.lb .nx{top:auto;bottom:14px;transform:none;}
}
@media (max-width:420px){
  .brand .tag{display:none;}
  .hero .actions .btn-gold,.hero .actions .btn-ghost,.shero .actions .btn-pill{width:100%;}
  .contatti .actions .btn-pill{width:100%;}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
@media (max-width:960px){
  .why-grid{grid-template-columns:repeat(2,1fr);}
  .fleet-grid{grid-template-columns:repeat(2,1fr);}
  .cgrid{grid-template-columns:1fr;gap:40px;padding:12px 40px 80px;}
  .cform{position:static;}
  .why,.fleet{padding-left:40px;padding-right:40px;}
}
@media (max-width:720px){
  .why{padding:64px 24px;}
  .why-grid{grid-template-columns:1fr;gap:28px;margin-top:36px;}
  .fleet{padding:64px 24px;}
  .fleet-grid{grid-template-columns:1fr 1fr;gap:12px;}
  .fleet-card img{height:130px;}
  .fleet-card figcaption{padding:14px 14px 16px;}
  .fleet-card h3{font-size:20px;}
  .fleet-card p{font-size:13.5px;}
  .cgrid{padding:8px 24px 64px;}
  .cform{padding:26px 20px 22px;}
  .ccard .v{font-size:26px;}
  .azienda-cta{align-self:stretch;}
}
