:root{
  --cream:#FFFFFF;--cream-soft:#F8FAFA;--cream-deep:#D6ECEC;
  --walnut:#0C3A3A;--walnut-mid:#1A6060;--walnut-soft:#4A9090;
  --brass:#1A8080;--brass-bright:#25A0A0;
  --ink:#072525;--muted:#2E6060;
  --line:rgba(12,58,58,.14);--line-strong:rgba(12,58,58,.30);
  --max:1200px;--gutter:clamp(1.1rem,4vw,2.2rem);
  --shadow:0 1px 2px rgba(19,58,30,.06),0 20px 40px -20px rgba(19,58,30,.22);
  --t:220ms cubic-bezier(.4,0,.2,1);
  --fd:"Mulish",system-ui,-apple-system,sans-serif;
  --fb:"Mulish",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{margin:0;font-family:var(--fb);font-size:16px;line-height:1.6;color:var(--ink);
  background:var(--cream);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img,svg{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit;padding:0;}
input,textarea,select{font:inherit;color:inherit;}

h1,h2,h3,h4{font-family:var(--fd);font-weight:800;letter-spacing:-.025em;
  color:var(--walnut);margin:0 0 .5em;line-height:1.1;}
h1{font-size:clamp(1.8rem,4.2vw,3.4rem);line-height:1.0;letter-spacing:-.03em;}
h2{font-size:clamp(1.55rem,3.2vw,2.4rem);letter-spacing:-.025em;margin-bottom:.4em;}
h3{font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.2;}
h4{font-size:.82rem;font-family:var(--fb);font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--walnut);}
em{font-style:normal;color:var(--walnut-mid);font-weight:600;letter-spacing:.04em;}
p{margin:0 0 .6rem;color:var(--ink);}
.lead{font-size:clamp(.82rem,1vw,.95rem);color:var(--muted);max-width:58ch;line-height:1.5;}

.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.68rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--brass);font-weight:600;margin-bottom:.4rem;}
.eyebrow::before{content:"";width:24px;height:1px;background:currentColor;}

.container{width:100%;max-width:var(--max);margin:0 auto;
  padding-left:var(--gutter);padding-right:var(--gutter);position:relative;}

section{padding:clamp(3rem,7vw,6rem) 0;position:relative;}



.section-tight{padding:clamp(2rem,4vw,3rem) 0;}

/* HEADER */
.site-header{position:sticky;top:0;z-index:50;background:var(--walnut);
  border-bottom:1px solid rgba(255,255,255,.1);}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px;gap:.8rem;}
.brand{display:inline-flex;align-items:center;gap:.7rem;color:var(--cream);
  transition:opacity var(--t);flex-shrink:0;}
.brand:hover{opacity:.7;}
.brand-text{display:flex;flex-direction:column;line-height:1;align-items:center;}
.brand-text .name{font-family:var(--fd);font-size:1.4rem;font-weight:600;
  letter-spacing:-.01em;color:var(--cream);}
.brand-text .sub{font-size:.62rem;letter-spacing:.28em;color:rgba(240,247,241,.6);
  font-weight:600;margin-top:3px;}
.nav-links{display:flex;align-items:center;gap:1.8rem;list-style:none;margin:0;padding:0;}
.nav-links a{font-size:.92rem;font-weight:500;color:rgba(240,247,241,.85);
  padding:.4rem 0;position:relative;transition:color var(--t);}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;
  height:1px;background:var(--brass-bright);
  transform:scaleX(0);transform-origin:right;transition:transform var(--t);}
.nav-links a:hover{color:var(--cream);}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left;}
.nav-links a[aria-current="page"]{color:var(--brass-bright);}

/* RIGHT SIDE OF NAV */
.nav-right{display:flex;align-items:center;gap:.7rem;flex-shrink:0;}
.nav-cta{display:inline-flex;align-items:center;gap:.45rem;padding:.6rem 1rem;
  font-size:.85rem;font-weight:600;background:var(--brass);color:var(--cream);
  border-radius:999px;transition:background var(--t),transform var(--t);white-space:nowrap;}
.nav-cta:hover{background:var(--brass-bright);transform:translateY(-1px);}

/* LANG TOGGLE */
.lang-toggle{display:flex;align-items:center;gap:0;border:1px solid rgba(255,255,255,.25);
  border-radius:999px;overflow:hidden;flex-shrink:0;}
.lang-toggle button{padding:.42rem .7rem;font-size:.78rem;font-weight:700;
  letter-spacing:.06em;color:rgba(240,247,241,.65);background:transparent;
  transition:background var(--t),color var(--t);}
.lang-toggle button.active{background:rgba(255,255,255,.15);color:var(--cream);}
.lang-toggle button:hover:not(.active){color:var(--cream);}

.menu-toggle{display:none;width:44px;height:44px;align-items:center;
  justify-content:center;color:var(--cream);flex-shrink:0;}
.menu-toggle span{position:relative;width:22px;height:2px;background:currentColor;
  border-radius:2px;transition:transform var(--t),background var(--t);}
.menu-toggle span::before,.menu-toggle span::after{content:"";position:absolute;left:0;
  width:22px;height:2px;background:currentColor;border-radius:2px;transition:transform var(--t);}
.menu-toggle span::before{top:-7px;}
.menu-toggle span::after{top:7px;}
.menu-toggle[aria-expanded="true"] span{background:transparent;}
.menu-toggle[aria-expanded="true"] span::before{transform:translateY(7px) rotate(45deg);}
.menu-toggle[aria-expanded="true"] span::after{transform:translateY(-7px) rotate(-45deg);}

.mobile-menu{position:fixed;inset:72px 0 0 0;background:var(--walnut);z-index:49;
  display:none;flex-direction:column;padding:1.5rem var(--gutter) 2rem;overflow-y:auto;}
.mobile-menu.open{display:flex;}
.mobile-menu ul{list-style:none;padding:0;margin:0 0 1.5rem;}
.mobile-menu li{border-bottom:1px solid rgba(255,255,255,.1);}
.mobile-menu a{display:block;padding:1.1rem 0;font-family:var(--fd);
  font-size:1.5rem;color:rgba(240,247,241,.85);}
.mobile-menu a[aria-current="page"]{color:var(--brass-bright);}
.mobile-menu .btn{width:100%;justify-content:center;}
.mobile-menu .lang-row{display:flex;gap:.8rem;margin-top:.5rem;}
.mobile-menu .lang-row button{font-size:.9rem;font-weight:700;color:rgba(240,247,241,.6);
  padding:.5rem 0;}
.mobile-menu .lang-row button.active{color:var(--cream);}
body.menu-open{overflow:hidden;}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:.55rem;padding:.9rem 1.5rem;
  font-size:.92rem;font-weight:600;border-radius:999px;
  transition:transform var(--t),background var(--t),color var(--t),border-color var(--t);
  white-space:nowrap;text-align:center;justify-content:center;}
.btn--primary{background:var(--walnut);color:var(--cream);}
.btn--primary:hover{background:var(--walnut-mid);transform:translateY(-1px);}
.btn--brass{background:var(--brass);color:var(--cream);}
.btn--brass:hover{background:var(--brass-bright);transform:translateY(-1px);}
.btn--outline{background:transparent;color:var(--walnut);border:1px solid var(--line-strong);}
.btn--outline:hover{border-color:var(--walnut);background:var(--walnut);color:var(--cream);}
.btn--ghost-light{background:transparent;color:var(--cream);border:1px solid rgba(245,238,225,.3);}
.btn--ghost-light:hover{background:rgba(245,238,225,.1);border-color:var(--cream);}
/* address button */
.address-btn{background:none;border:none;padding:0;cursor:pointer;text-align:left;
  display:block;width:100%;}
.address-btn p{margin:0;color:var(--ink);font-size:1rem;transition:color .2s;}
.address-btn:hover p{color:var(--brass);}
.address-hint{display:block;font-size:.78rem;color:var(--brass);font-weight:600;
  letter-spacing:.06em;margin-top:.35rem;}
/* nav-cta inside nav-links */
.nav-links .nav-cta{border-radius:999px;padding:.5rem 1rem;font-size:.85rem;}
/* map modal hover */
#map-modal a:hover{background:var(--cream-deep)!important;}
/* modal flex */


.btn .arrow{transition:transform var(--t);}
.btn:hover .arrow{transform:translateX(3px);}

/* PAGE SYSTEM */
.page{display:none;}
.page.is-active{display:block;}

/* HERO */
.hero{padding:0;position:relative;}
.hero-split{display:grid;grid-template-columns:1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;width:100%;max-width:1000px;}
.hero-text{min-width:0;}
.hero-gifs{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;min-width:0;}
.hero-gif-wrap{border-radius:10px;overflow:hidden;box-shadow:var(--shadow);
  background:var(--cream-deep);line-height:0;}
.hero-gif{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block;}
@media(max-width:960px){
  .hero-split{grid-template-columns:1fr;}
  .hero-gifs{grid-template-columns:repeat(4,1fr);}
  .hero-gif{height:auto;aspect-ratio:1/1;}
}
@media(max-width:680px){
  .hero-gifs{grid-template-columns:repeat(2,1fr);}
  .hero-gif{height:auto;aspect-ratio:1/1;}
}
.hero h1{margin-bottom:.5rem;}
.hero .lead{margin-bottom:.6rem;}
.hero-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;}
.hero-pills{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.5rem;}
.pill{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .55rem;
  font-size:.78rem;font-weight:600;letter-spacing:.04em;
  background:var(--cream-deep);color:var(--walnut-mid);border-radius:999px;}
.pill svg{opacity:.7;}

/* SPLIT */
.split{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(1rem,3vw,2.5rem);align-items:center;}
.split--reverse>:first-child{order:2;}
.figure{position:relative;aspect-ratio:4/5;border-radius:12px;overflow:hidden;
  background:var(--cream-deep);box-shadow:var(--shadow);}
.figure svg{width:100%;height:100%;}
.figure::after{content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.3),transparent 60%);
  pointer-events:none;}

/* SECTION HEADS */
.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;
  align-items:flex-end;gap:.6rem;margin-bottom:clamp(.6rem,1.5vw,1rem);
  padding-bottom:.7rem;border-bottom:1px solid var(--line);}
.section-head>div{max-width:60ch;}
.section-head h2{margin-bottom:0;}
.section-head .eyebrow{margin-bottom:.8rem;}

/* CARDS */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;}
.card{background:var(--cream-soft);border:1px solid var(--line);border-radius:12px;
  padding:.8rem .9rem;transition:transform var(--t),border-color var(--t),box-shadow var(--t);}
.card:hover{transform:translateY(-3px);border-color:var(--brass);box-shadow:var(--shadow);}
.card-illu{height:52px;display:flex;align-items:center;justify-content:center;
  margin-bottom:.5rem;color:var(--walnut-mid);}
.card-illu svg{height:100%;width:auto;}
.card .meta{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--brass);font-weight:700;margin-bottom:.6rem;}
.card h3{margin-bottom:.5rem;}
.card p{color:var(--muted);margin-bottom:0;font-size:.95rem;}
.card .specs{margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--line);
  font-size:.82rem;color:var(--walnut-soft);display:grid;gap:.3rem;}
.card .specs span::before{content:"— ";opacity:.5;}

/* FEATURES */
.features{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);}

/* Striscia loghi certificazioni */
.cert-strip{display:flex;align-items:center;justify-content:center;
  flex-wrap:wrap;gap:2rem;padding:1.5rem var(--gutter);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--cream-soft);}
.cert-strip img{height:70px;width:auto;object-fit:contain;opacity:.9;
  transition:opacity var(--t);}
.cert-strip img:hover{opacity:1;}
.cert-strip .iso-badge{display:flex;flex-direction:column;align-items:center;
  gap:.2rem;}
.cert-strip .iso-badge span{font-family:var(--fd);font-size:.7rem;
  letter-spacing:.15em;color:var(--muted);font-weight:600;}

.feature{padding:.9rem 1rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
.feature:nth-child(3n){border-right:0;}
.feature .num-mark{font-family:var(--fd);font-size:.8rem;color:var(--brass);
  letter-spacing:.12em;font-weight:600;display:block;margin-bottom:.9rem;}
.feature h3{margin-bottom:.4rem;font-size:1.15rem;}
.feature p{color:var(--muted);margin:0;font-size:.94rem;}

/* CTA BAND */
.cta-band{background:var(--walnut);color:var(--cream);border-radius:12px;
  padding:clamp(1rem,2vw,1.8rem);display:grid;grid-template-columns:1.4fr 1fr;
  gap:2rem;align-items:center;position:relative;overflow:hidden;}
.cta-band::before{content:"";position:absolute;right:-100px;top:-100px;
  width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle,rgba(82,184,101,.16),transparent 70%);}
.cta-band h2{color:var(--cream);margin-bottom:.5rem;position:relative;}
.cta-band p{color:rgba(240,247,241,.78);margin:0;position:relative;}
.cta-band .eyebrow{color:var(--brass-bright);}
.cta-band-actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:flex-end;position:relative;}

/* PAGE HERO */
.page-hero{border-bottom:1px solid var(--line);padding-bottom:0;}
.page-hero h1{margin-bottom:1rem;}
.crumb{display:none;}
.crumb a{color:var(--muted);transition:color var(--t);cursor:pointer;}
.crumb a:hover{color:var(--brass);}
.crumb span{color:var(--brass);}

/* VIDEO PLACEHOLDER */
.video-wrap{position:relative;width:100%;aspect-ratio:16/9;background:var(--walnut);
  border-radius:12px;overflow:hidden;display:flex;align-items:center;
  justify-content:center;box-shadow:var(--shadow);}
.video-wrap p{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;
  opacity:.55;margin:0;}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:start;}
.info-block{margin-bottom:.6rem;}
.info-block h4{margin-bottom:.5rem;color:var(--brass);font-size:.95rem;}
.info-block p,.info-block a{color:var(--ink);font-size:1.15rem;margin:0;}
.info-block a{transition:color var(--t);}
.info-block a:hover{color:var(--brass);}
.info-block .small{font-size:.95rem;color:var(--muted);margin-top:.3rem;}
.form{display:grid;gap:1rem;}
.field{display:grid;gap:.35rem;}
.field label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--walnut);font-weight:700;}
.field input,.field textarea{width:100%;background:var(--cream-soft);
  border:1px solid var(--line-strong);border-radius:6px;padding:.85rem 1rem;
  color:var(--ink);transition:border-color var(--t),background var(--t);}
.field textarea{min-height:130px;resize:vertical;}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--brass);background:#fff;}
.row-2{display:grid;gap:1rem;grid-template-columns:1fr 1fr;}
.consent{display:flex;gap:.55rem;align-items:flex-start;font-size:.88rem;color:var(--muted);cursor:pointer;}
.consent input{margin-top:.25rem;accent-color:var(--brass);flex-shrink:0;}
.form-ok{color:var(--walnut);background:var(--cream-deep);padding:.9rem 1rem;
  border-radius:6px;font-size:.92rem;border-left:3px solid var(--brass);}
.map-frame{width:100%;aspect-ratio:1/1;max-width:320px;max-height:320px;border:1px solid var(--line);border-radius:12px;
  overflow:hidden;margin-top:1.2rem;background:var(--cream-deep);}
.map-frame iframe{width:100%;height:100%;border:0;display:block;}

/* FOOTER */
.site-footer{background:var(--walnut);color:rgba(240,247,241,.72);
  padding:clamp(2rem,4vw,3.5rem) 0 1.5rem;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:1.2rem;
  padding-bottom:1.2rem;border-bottom:1px solid rgba(255,255,255,.1);}
.footer-brand .name{color:var(--cream);}
.footer-brand .sub{color:rgba(240,247,241,.55);}
.footer-tag{color:rgba(240,247,241,.6);font-size:.9rem;max-width:32ch;margin-top:1rem;}
.site-footer h4{color:var(--cream);margin-bottom:.5rem;}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.5rem;}
.site-footer ul li,.site-footer ul a{font-size:.9rem;color:rgba(240,247,241,.7);}
.site-footer a{transition:color var(--t);cursor:pointer;}
.site-footer a:hover{color:var(--brass-bright);}
.foot-base{display:flex;justify-content:space-between;align-items:center;
  margin-top:.7rem;font-size:.78rem;color:rgba(240,247,241,.5);flex-wrap:wrap;gap:.8rem;}

/* ANIMATIONS */
@media (prefers-reduced-motion:no-preference){
  .page.is-active .reveal{opacity:0;transform:translateY(16px);
    animation:rise .8s cubic-bezier(.2,.7,.2,1) forwards;}
  .page.is-active .reveal[data-delay="1"]{animation-delay:.08s;}
  .page.is-active .reveal[data-delay="2"]{animation-delay:.16s;}
  .page.is-active .reveal[data-delay="3"]{animation-delay:.24s;}
  @keyframes rise{to{opacity:1;transform:none;}}
}

/* RESPONSIVE */
@media (max-width:960px){
  .split{grid-template-columns:1fr;}
  .split--reverse>:first-child{order:0;}
  .figure{aspect-ratio:16/11;max-width:600px;margin:0 auto;}
  .cards{grid-template-columns:repeat(2,1fr);}
  .features{grid-template-columns:1fr 1fr;}
  .feature{border-right:1px solid var(--line);}
  .feature:nth-child(3n){border-right:1px solid var(--line);}
  .feature:nth-child(2n){border-right:0;}
  .contact-grid{grid-template-columns:1fr;}
  .cta-band{grid-template-columns:1fr;}
  .cta-band-actions{justify-content:flex-start;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:600px){
  .gif-grid{grid-template-columns:1fr!important;}
  .gif-grid>div:first-child{border-radius:12px 12px 0 0!important;}
  .gif-grid>div:last-child{border-radius:0 0 12px 12px!important;}
}
@media (max-width:720px){
  /* Navigation */
  .nav-links,.nav-cta{display:none;}
  .menu-toggle{display:inline-flex;}
  .lang-toggle{display:none;}

  /* Logo */
  .brand img{height:36px!important;}

  /* Typography */
  h1{font-size:clamp(1.7rem,7vw,2.4rem);}
  h2{font-size:clamp(1.35rem,5vw,1.9rem);}
  .lead{font-size:.95rem;}

  /* Layout */
  .split{grid-template-columns:1fr!important;}
  .split--reverse>:first-child{order:0!important;}
  .cards{grid-template-columns:1fr;}
  .features{grid-template-columns:1fr;}
  .feature{border-right:0!important;}
  .row-2{grid-template-columns:1fr;}

  /* Hero */
  .hero-split{grid-template-columns:1fr!important;}
  .hero-actions .btn{flex:1 1 auto;}
  .hero-pills{gap:.25rem;}
  .pill{font-size:.65rem;padding:.2rem .45rem;}
  .hero-gifs{grid-template-columns:1fr 1fr!important;}
  .hero-gif{height:110px!important;}

  /* Contatti: stack map below info */
  .container>[style*="grid-template-columns:1fr 1fr"]{
    grid-template-columns:1fr!important;
  }
  .map-frame{max-width:100%!important;max-height:260px!important;aspect-ratio:16/10!important;}

  /* CTA band */
  .cta-band{grid-template-columns:1fr;}
  .cta-band-actions{justify-content:flex-start;}
  .cta-band-actions .btn{flex:1 1 auto;}

  /* Cert strip */
  .cert-strip{gap:1rem;}
  .cert-strip img{height:50px!important;}

  /* Footer */
  .footer-grid{grid-template-columns:1fr;gap:1.2rem;}
  .foot-base{flex-direction:column;align-items:flex-start;gap:.4rem;}

  /* Section heads */
  .section-head{flex-direction:column;align-items:flex-start;gap:0;}

  /* Form */
  .form .btn{width:100%;}

  /* Buttons in general */
  .btn{padding:.75rem 1.1rem;font-size:.85rem;}

  /* Page hero */
  .page-hero{padding-bottom:1rem;}

  /* Preventivo form */
  #page-preventivo .container{padding-left:1rem;padding-right:1rem;}
}

@media (max-width:480px){
  .hero-gifs{grid-template-columns:1fr 1fr!important;}
  .hero-gif{height:90px!important;}
  .cards{grid-template-columns:1fr;}
  .cert-strip .iso-badge span{font-size:.62rem;}
}

@media (max-width:400px){
  .nav{height:64px;}
  .mobile-menu{inset:64px 0 0 0;}
  .brand img{height:30px!important;}
  h1{font-size:clamp(1.5rem,8vw,2rem);}
  .container{padding-left:.9rem;padding-right:.9rem;}
  .hero-gifs{grid-template-columns:1fr 1fr!important;}
  .hero-gif{height:80px!important;}
}

/* Mobile: prodotti intro cards */
@media (max-width:720px){
  .prod-intro{
    display:flex!important;
    flex-direction:column;
    gap:.6rem!important;
  }
  .prod-intro .card{
    display:flex!important;
    flex-direction:row!important;
    align-items:center;
    padding:.7rem 1rem!important;
    gap:.8rem;
  }
  .prod-intro .card-illu{
    height:44px!important;
    width:44px;
    flex-shrink:0;
    margin-bottom:0!important;
  }
  .prod-intro .card-illu svg{height:44px!important;width:44px!important;}
  .prod-intro .card>div:last-of-type{display:none;}
  .prod-intro .card h3{font-size:1rem;margin-bottom:.15rem;}
  .prod-intro .card p{font-size:.8rem;margin-bottom:0;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .prod-intro .card .meta{font-size:.62rem;margin-bottom:.15rem;}
}

@media (max-width:720px){
  .cert-intro{
    display:flex!important;
    flex-direction:column;
    border-top:none!important;
  }
  .cert-intro .feature{
    display:flex!important;
    flex-direction:row!important;
    align-items:flex-start;
    padding:.7rem 1rem!important;
    gap:.8rem;
    border-bottom:0.5px solid var(--line)!important;
    border-right:0!important;
  }
  .cert-intro .feature .num-mark{
    font-size:1rem;
    min-width:80px;
    flex-shrink:0;
    margin-bottom:0;
    padding-top:.15rem;
  }
  .cert-intro .feature h3{
    font-size:.95rem;
    margin-bottom:.15rem;
  }
  .cert-intro .feature p{
    font-size:.8rem;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
}

input[type="text"], input[type="email"], input[type="tel"],
textarea, input[type="search"] { cursor: text; }

/* Custom ottanio cursor */
html, body { cursor: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBkPSJNNCAyIEw0IDE4IEw4IDE0IEwxMSAyMSBMMTMuNSAyMCBMMTAuNSAxMyBMMTYgMTMgWiIKICAgIGZpbGw9IiMwQzNBM0EiIHN0cm9rZT0iIzFBODA4MCIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPg==") 4 2, auto; }
a, button, [role="button"], label[for], select,
.btn, .card, .nav-cta, .nav-links a, .mobile-menu a,
.brand, .menu-toggle, .lang-toggle button,
[onclick], input[type="submit"], input[type="button"] { cursor: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBkPSJNNCAyIEw0IDE4IEw4IDE0IEwxMSAyMSBMMTMuNSAyMCBMMTAuNSAxMyBMMTYgMTMgWiIKICAgIGZpbGw9IiMwQzNBM0EiIHN0cm9rZT0iIzFBODA4MCIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPg==") 4 2, pointer; }
input[type="text"], input[type="email"], input[type="tel"],
textarea, input[type="search"] { cursor: text; }

/* Cursore bianco su sfondi ottanio scuro */
.nav, .nav *,
.site-footer, .site-footer *,
.mobile-menu, .mobile-menu *,
.cta-band, .cta-band *,
.btn--primary, .btn--primary *,
.video-wrap, .video-wrap *,
[style*="background:var(--walnut)"], [style*="background:var(--walnut)"] *,
[style*="background:#0C3A3A"], [style*="background:#0C3A3A"] * { cursor: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBkPSJNNCAyIEw0IDE4IEw4IDE0IEwxMSAyMSBMMTMuNSAyMCBMMTAuNSAxMyBMMTYgMTMgWiIKICAgIGZpbGw9IiNGRkZGRkYiIHN0cm9rZT0icmdiYSgyNTUsMjU1LDI1NSwwLjQpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+") 4 2, auto; }
.nav a, .nav button, .nav .brand, .nav .menu-toggle, .nav .lang-toggle button,
.site-footer a, .site-footer button,
.mobile-menu a, .mobile-menu button,
.cta-band a, .cta-band button,
.btn--primary { cursor: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBkPSJNNCAyIEw0IDE4IEw4IDE0IEwxMSAyMSBMMTMuNSAyMCBMMTAuNSAxMyBMMTYgMTMgWiIKICAgIGZpbGw9IiNGRkZGRkYiIHN0cm9rZT0icmdiYSgyNTUsMjU1LDI1NSwwLjQpIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+") 4 2, pointer; }

/* Map pins interattivi */
.map-pin{cursor:pointer;transition:transform .2s ease;}
.map-pin:hover .pin-dot{transform-origin:var(--cx) var(--cy);filter:brightness(1.3);}
.map-pin:hover .pin-glow{opacity:.3!important;}
.map-pin .pin-label{transition:opacity .2s;}
@keyframes fadeIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

@media (max-width:720px){
  .hero{min-height:75vh!important;}
  .hero h1{font-size:clamp(1.6rem,7vw,2.2rem)!important;}
}
@media (max-width:480px){
  .hero{min-height:70vh!important;}
}

@media (max-width:720px){
  [style*="grid-template-columns:1.2fr 1fr"]{grid-template-columns:1fr!important;grid-template-rows:auto!important;}
  [style*="grid-template-columns:1.2fr 1fr"] [style*="grid-row:span 2"]{grid-row:span 1!important;}

/* Mobile: collapse inline multi-column grids to single column */
@media (max-width:720px){
  [style*="grid-template-columns:1fr 1fr"]:not([style*="1.2fr"]){grid-template-columns:1fr!important;}
  [style*="grid-template-columns:1fr 1fr 1fr"]{grid-template-columns:1fr!important;}
  [style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:1fr!important;}
}

}


/* Video wrapper with watermark */
.video-wrap{position:relative;border-radius:12px;overflow:hidden;box-shadow:var(--shadow);line-height:0;}
.video-wrap video{width:100%;display:block;border-radius:12px;}
.video-wrap .vid-logo{position:absolute;bottom:44px;right:10px;height:30px;width:auto;
  opacity:.45;pointer-events:none;filter:brightness(0) invert(1);z-index:2;}

/* Video player styling */
video{background:transparent;border-radius:12px;}
video::-webkit-media-controls-panel{background:linear-gradient(0deg,rgba(12,58,58,.25),transparent);border-radius:0 0 12px 12px;}