/* TWB & Partners — landing page styles (mobile-first)
   Palette allineata al sito originale twbpartners.it:
   accento arancio #F04923 · testo #333 · headings Poppins · tema chiaro. */

/* ---- Font: Poppins self-hosted (headings) ---- */
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/poppins-400.woff2') format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;
  src:url('../fonts/poppins-600.woff2') format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;
  src:url('../fonts/poppins-700.woff2') format('woff2');}

:root{
  --brand:#f04923;
  --brand-d:#d13c18;
  --brand-t:rgba(240,73,35,.10);

  --ink:#2f2f2f;
  --head:#161616;
  --muted:#8b8b8b;

  --charcoal:#1c1b1a;
  --charcoal-2:#2c2622;

  --bg:#ffffff;
  --bg-alt:#f7f5f2;
  --bg-warm:#fcf4f0;
  --line:#e8e4dd;

  --ok:#1f8a4c;
  --warn:#b8860b;
  --bad:#c0392b;

  /* alias legacy (sezione simulatore, mappa, ecc.) */
  --navy:var(--charcoal);
  --navy-2:var(--charcoal-2);
  --gold:var(--brand);
  --gold-d:var(--brand-d);

  --radius:6px;
  --radius-lg:14px;
  --maxw:1080px;
  --gap:1.25rem;

  --shadow-sm:0 1px 2px rgba(20,15,10,.06),0 1px 3px rgba(20,15,10,.05);
  --shadow-md:0 6px 20px -4px rgba(20,15,10,.12);
  --shadow-lg:0 22px 48px -14px rgba(20,15,10,.24);
  --ease:cubic-bezier(.4,0,.2,1);

  font-size:16px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--brand-d);}
h1,h2,h3{font-family:'Poppins',system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.18;color:var(--head);letter-spacing:-.01em;}
h1{font-size:1.95rem;margin:.4rem 0 .8rem;font-weight:700;}
h2{font-size:1.55rem;margin:0 0 1rem;font-weight:700;}
h3{font-size:1.15rem;margin:.2rem 0 .5rem;font-weight:600;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 1.15rem;}
.container-narrow{max-width:680px;}

/* piccola barra arancio sopra ai titoli di sezione */
.section .container>h2:first-child::before,
.section .container>.hero-text h2::before{
  content:"";display:block;width:44px;height:3px;border-radius:2px;
  background:var(--brand);margin-bottom:1.1rem;
}

/* Header — scuro (il logo dell'asset è bianco) */
.site-header{position:sticky;top:0;z-index:50;background:rgba(28,27,26,.92);
  backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid rgba(255,255,255,.08);
  transition:box-shadow .25s var(--ease),padding .25s var(--ease);}
.site-header.is-scrolled{box-shadow:0 6px 22px -8px rgba(0,0,0,.45);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.15rem;transition:padding .25s var(--ease);}
.site-header.is-scrolled .header-inner{padding-top:.45rem;padding-bottom:.45rem;}
.logo{height:44px;width:auto;transition:height .25s var(--ease);}
.site-header.is-scrolled .logo{height:36px;}
.site-header nav{display:flex;align-items:center;}
.site-header nav a{color:#e7e2db;text-decoration:none;margin-left:1.15rem;font-size:.92rem;font-weight:500;position:relative;}
.site-header nav a:not(.nav-cta):hover{color:#fff;}
.site-header nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:2px;background:var(--brand);transition:right .25s var(--ease);}
.site-header nav a:not(.nav-cta):hover::after{right:0;}
.site-header a.nav-cta{background:var(--brand);color:#fff;padding:.5rem .9rem;border-radius:var(--radius);font-weight:600;text-decoration:none;transition:background .2s,transform .15s;}
.site-header a.nav-cta:hover{background:var(--brand-d);transform:translateY(-1px);}

/* Buttons */
.btn{display:inline-block;text-decoration:none;font-weight:600;border-radius:var(--radius);
  padding:.85rem 1.35rem;font-size:1rem;cursor:pointer;border:2px solid transparent;text-align:center;
  transition:transform .15s var(--ease),box-shadow .15s var(--ease),background .2s var(--ease),color .2s var(--ease);}
.btn-primary{background:var(--brand);color:#fff;box-shadow:0 8px 20px -8px rgba(240,73,35,.6);}
.btn-primary:hover{background:var(--brand-d);transform:translateY(-2px);box-shadow:0 14px 28px -10px rgba(240,73,35,.7);}
.btn-primary:active{transform:translateY(0);}
.btn-secondary{background:transparent;color:var(--head);border-color:var(--head);}
.btn-secondary:hover{background:var(--head);color:#fff;transform:translateY(-2px);}
.btn-ghost{background:transparent;color:var(--brand-d);border:2px solid var(--brand);}
.btn-ghost:hover{background:var(--brand);color:#fff;transform:translateY(-2px);}
.cta-row{display:flex;flex-wrap:wrap;gap:.85rem;margin:1.4rem 0 .5rem;}
.cta-micro{font-size:.85rem;color:var(--muted);margin:.35rem 0 0;line-height:1.5;}
/* CTA di fine sezione: staccalo dal blocco di contenuto sopra */
.section .container > .btn,
.section .container-narrow > .btn,
.mecc-text > .btn{margin-top:2.25rem;}
.tag{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;
  background:var(--warn);color:#fff;padding:.12rem .45rem;border-radius:5px;vertical-align:middle;}

/* Hero */
.hero{background:linear-gradient(155deg,var(--charcoal-2),var(--charcoal));color:#f4f0ec;padding:3rem 0 3.25rem;position:relative;overflow:hidden;}
.hero::before{content:"";position:absolute;top:-25%;right:-10%;width:60%;height:120%;
  background:radial-gradient(closest-side,rgba(240,73,35,.28),transparent 72%);
  filter:blur(30px);pointer-events:none;animation:heroGlow 9s var(--ease) infinite alternate;}
@keyframes heroGlow{from{transform:translate3d(0,0,0) scale(1);opacity:.8;}to{transform:translate3d(-4%,4%,0) scale(1.12);opacity:1;}}
.hero-grid{display:grid;gap:1.75rem;position:relative;z-index:1;}
.hero .eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--brand);font-size:.78rem;font-weight:700;margin:0;}
.hero h1{color:#fff;}
.hero h1::before{display:none;}
.hero .subhead{font-size:1.06rem;max-width:46ch;color:#d9d2ca;}
.hero .mini-trust{font-size:.85rem;color:#b9b0a6;margin-top:1.1rem;padding-left:.9rem;border-left:2px solid var(--brand);}
.hero .cta-micro{color:#b9b0a6;}
.hero .btn-secondary{color:#fff;border-color:rgba(255,255,255,.5);}
.hero .btn-secondary:hover{background:#fff;color:var(--charcoal);border-color:#fff;}
.hero-media{display:flex;flex-direction:column;align-items:center;gap:0;position:relative;perspective:1000px;}
.hero-photo{width:100%;max-width:398px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);}

/* Mockup 3D del documento consegnato — ruota allo scroll (enhance.js) */
.doc-mock{margin:-96px 8px 0 auto;width:min(216px,56%);position:relative;z-index:2;text-align:left;}
.doc-mock-card{
  position:relative;transform-style:preserve-3d;border-radius:4px;
  transform:rotateY(var(--doc-ry,-22deg)) rotateX(4deg) translateY(var(--doc-ty,0px));
  transition:transform .1s linear;
  box-shadow:
    1px 1px 0 #efe9df, 2px 2px 0 #e7e0d3, 3px 3px 0 #ded6c6,
    4px 4px 0 #d5ccba, 5px 5px 0 #ccc2ad, 6px 6px 0 #c3b9a4,
    -34px 42px 60px -16px rgba(0,0,0,.6);
}
/* faccia laterale = blocco pagine che prende luce */
.doc-mock-card::after{
  content:"";position:absolute;top:4px;right:0;height:calc(100% - 8px);width:13px;
  background:linear-gradient(90deg,#efe9dd,#cfc6b2);
  transform:translateX(12px) rotateY(76deg);transform-origin:left center;
  border-radius:0 2px 2px 0;
}
.doc-mock-card img{display:block;width:100%;height:auto;border-radius:4px;position:relative;z-index:1;}
.doc-mock figcaption{margin-top:1.4rem;font-size:.8rem;color:#b9b0a6;max-width:216px;line-height:1.5;}

/* Sections */
.section{padding:3rem 0;position:relative;}
.section-problema{background:var(--bg-alt);}
.section-meccanismo{background:#fff;}
.section-mercato{background:var(--bg-alt);}
.section-simulatore{background:var(--bg-warm);}
.section-proof{background:#fff;}
.section-obiezioni{background:var(--bg-alt);}
.section-offerta{background:#fff;}
.section-scarsita{background:var(--bg-alt);}
.section-form{background:#fff;}
.lead{font-size:1.06rem;max-width:62ch;color:#3f3f3f;}

/* Problema */
.pain-list{list-style:none;padding:0;display:grid;gap:.7rem;margin:1.4rem 0;}
.pain-list li{background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand);
  padding:.9rem 1.1rem;border-radius:var(--radius);box-shadow:var(--shadow-sm);
  transition:transform .18s var(--ease),box-shadow .18s var(--ease);}
.pain-list li:hover{transform:translateX(4px);box-shadow:var(--shadow-md);}
.pain-list strong{color:var(--head);}

/* Meccanismo */
.mecc-grid{display:grid;gap:1.5rem;}
.pillars{list-style:none;padding:0;display:grid;gap:.7rem;margin:1.1rem 0 1.4rem;}
.pillars li{padding-left:1.6rem;position:relative;}
.pillars li::before{content:"";position:absolute;left:0;top:.5em;width:.55rem;height:.55rem;
  background:var(--brand);border-radius:2px;transform:rotate(45deg);}
.mecc-media{display:grid;gap:.9rem;}
.mecc-media img{margin:0;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);}

/* Mercato */
.market-grid{display:grid;gap:1rem;margin:1.4rem 0;}
.market-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.3rem;
  box-shadow:var(--shadow-sm);transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);}
.market-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#dcd6cc;}
.market-card h3{color:var(--brand-d);}
.market-warn{border-color:var(--warn);}
.market-card img{margin-top:.8rem;border-radius:8px;}
.src{font-size:.75rem;color:var(--muted);}
.disclaimer{font-size:.78rem;color:var(--muted);border-top:1px dashed var(--line);padding-top:.55rem;margin-top:.7rem;}

/* Simulatore — modale */
.sim-dialog{
  border:0;padding:0;margin:auto;
  width:min(640px,calc(100vw - 2rem));
  max-height:calc(100dvh - 2rem);
  background:var(--bg);color:var(--ink);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);
  overflow:hidden;
}
.sim-dialog::backdrop{background:rgba(20,15,10,.55);}
.sim-dialog[open]{animation:simDlgIn .18s var(--ease);}
@keyframes simDlgIn{from{opacity:0;transform:translateY(8px) scale(.98);}to{opacity:1;transform:none;}}
.sim-dialog-inner{position:relative;padding:1.5rem 1.3rem 1.7rem;max-height:calc(100dvh - 2rem);overflow-y:auto;}
.sim-dialog-inner h2{margin:0 2.4rem .3rem 0;}
.sim-dialog-inner h2::before{display:none;}
.sim-dialog-close{
  position:absolute;top:.5rem;right:.6rem;width:2.2rem;height:2.2rem;
  border:0;border-radius:50%;background:var(--bg-alt);color:var(--head);
  font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .18s,color .18s;
}
.sim-dialog-close:hover{background:var(--brand);color:#fff;}

/* Simulatore */
.sim-app{margin-top:1.5rem;}
.sim-controls{display:grid;gap:1.15rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.3rem;box-shadow:var(--shadow-sm);}
.sim-field{display:grid;gap:.45rem;font-size:.9rem;}
.sim-field>span{font-weight:600;color:var(--head);}
.sim-field input[type=range]{width:100%;accent-color:var(--brand);}
.sim-seg{display:flex;gap:.4rem;flex-wrap:wrap;}
.sim-seg button{flex:1 1 auto;padding:.55rem .6rem;border:1px solid var(--line);background:#fff;border-radius:var(--radius);font:inherit;font-size:.85rem;cursor:pointer;transition:background .18s,color .18s,border-color .18s;}
.sim-seg button:hover{border-color:var(--brand);color:var(--brand-d);}
.sim-seg button.on{background:var(--brand);color:#fff;border-color:var(--brand);font-weight:700;}
.sim-out{display:grid;gap:.8rem;margin:1.3rem 0;}
.sim-kpi{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--radius);padding:.8rem 1.1rem;}
.sim-k-lbl{font-size:.85rem;color:var(--muted);}
.sim-k-val{font-size:1.15rem;font-weight:800;color:var(--head);white-space:nowrap;font-family:'Poppins',system-ui,sans-serif;transition:color .2s;}
.sim-kpi-main{background:var(--charcoal);border-color:var(--charcoal);}
.sim-kpi-main .sim-k-lbl{color:#b9b0a6;}
.sim-kpi-main .sim-k-val{color:var(--brand);font-size:1.45rem;}
.sim-k-val.bump{animation:kpiBump .4s var(--ease);}
@keyframes kpiBump{0%{transform:translateY(0);}30%{transform:translateY(-3px);color:var(--brand-d);}100%{transform:translateY(0);}}
.sim-chart{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:.7rem;}
.sim-chart svg{width:100%;height:auto;display:block;}
.sim-roi{font-size:.85rem;color:#4a4a4a;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:.8rem 1.1rem;margin:0;}
.sim-cta{margin:1.1rem 0;}
.sim-fonte{font-size:.75rem;color:var(--muted);line-height:1.5;margin:.9rem 0 0;}

/* Proof */
.testi-grid{display:grid;gap:1rem;}
.testi-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.3rem;display:grid;gap:.7rem;box-shadow:var(--shadow-sm);transition:transform .18s var(--ease),box-shadow .18s var(--ease);}
.testi-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.testi-card img{border-radius:50%;width:76px;height:76px;object-fit:cover;border:3px solid var(--brand-t);}
.testi-card blockquote{margin:0;font-style:italic;color:#3f3f3f;}
.testi-card figcaption{font-size:.85rem;color:var(--muted);}
.testi-card figcaption strong{color:var(--head);}
.pullquote{font-size:1.3rem;color:var(--head);border-left:4px solid var(--brand);padding-left:1.1rem;margin:1.8rem 0;font-weight:600;font-family:'Poppins',system-ui,sans-serif;}
.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.8rem 0;}
.stat{background:var(--charcoal);color:#fff;border-radius:var(--radius-lg);padding:1.2rem 1rem;text-align:center;}
.stat .num{display:block;font-size:1.9rem;font-weight:800;color:var(--brand);font-family:'Poppins',system-ui,sans-serif;line-height:1.1;}
.stat .lbl{font-size:.8rem;color:#cfc7bd;}
/* Sedi — accordion su desktop, carosello scroll-snap su mobile */
.acc-hint{color:var(--muted);font-weight:400;}
.laundry-acc{display:flex;gap:.5rem;margin-top:1.2rem;overflow-x:auto;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:.3rem;}
.laundry-acc>.la-panel{position:relative;margin:0;border-radius:var(--radius-lg);overflow:hidden;
  background:var(--bg-alt);flex:0 0 80%;scroll-snap-align:center;}
.laundry-acc>.la-panel>img{width:100%;height:220px;object-fit:cover;display:block;}
.laundry-dots{display:flex;justify-content:center;gap:.4rem;margin-top:.7rem;}
.laundry-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:var(--line);
  cursor:pointer;transition:background .2s,transform .2s;}
.laundry-dots button.on{background:var(--brand);transform:scale(1.35);}
@media(max-width:719px){
  .acc-hint::after{content:" (scorri)";}
}
@media(min-width:720px){
  .laundry-acc{overflow:hidden;height:340px;scroll-snap-type:none;}
  .laundry-acc>.la-panel{flex-grow:1;flex-shrink:1;flex-basis:0;min-width:64px;cursor:pointer;
    transition:flex-grow .45s var(--ease);}
  .laundry-acc>.la-panel>img{height:100%;}
  .laundry-acc:hover>.la-panel{flex-grow:.6;}
  .laundry-acc:hover>.la-panel:hover,
  .laundry-acc>.la-panel.is-active{flex-grow:3.6;}
  .laundry-acc:hover>.la-panel.is-active:not(:hover){flex-grow:.6;}
  .laundry-dots{display:none;}
}
@media(prefers-reduced-motion:reduce){.laundry-acc>.la-panel{transition:none;}}

/* Obiezioni */
.obj-grid{display:grid;gap:1rem;}
.obj{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.3rem;box-shadow:var(--shadow-sm);transition:transform .18s var(--ease),box-shadow .18s var(--ease);}
.obj:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.obj h3{color:var(--brand-d);}

/* Offerta */
.offer-grid{display:grid;gap:1rem;margin:1.4rem 0;}
.offer-card{background:#fff;border-radius:var(--radius-lg);padding:1.5rem;border:2px solid var(--line);transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);}
.offer-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.offer-soft{border-color:var(--brand);box-shadow:0 10px 30px -14px rgba(240,73,35,.4);}
.offer-hard{border-color:var(--head);}
.offer-name{font-weight:600;margin:.3rem 0 .8rem;color:var(--head);}
.offer-note{font-size:.9rem;color:var(--muted);}

/* Scarsità / zone */
.micro-urgency{font-size:.9rem;color:var(--muted);}

/* Store locator (S8) */
.locator{margin:1.6rem 0 .4rem;}
.locator-label{display:block;font-weight:600;font-size:.9rem;color:var(--head);margin-bottom:.4rem;}
.locator-input{
  width:100%;padding:.8rem .95rem;border:1px solid var(--line);border-radius:var(--radius);
  font:inherit;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s;
}
.locator-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-t);}
.locator-hint{font-size:.82rem;color:var(--muted);margin:.5rem 0 0;line-height:1.5;}
.locator-list{list-style:none;padding:0;margin:.7rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem;}
.locator-list li{
  background:#fff;border:1px solid var(--line);border-radius:999px;
  padding:.3rem .8rem;font-size:.85rem;color:var(--head);
}
.mappa-figure{margin:1.6rem auto;max-width:520px;text-align:center;}
.mappa-zone{max-width:100%;margin:0 auto .6rem;width:100%;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm);}
.mappa-figure figcaption{font-size:.85rem;color:var(--muted);line-height:1.5;}
.mappa-figure figcaption a{color:var(--brand-d);font-weight:600;white-space:nowrap;}

/* Form */
#leadForm{display:grid;gap:1rem;margin-top:1.4rem;}
.field{display:grid;gap:.35rem;}
.field label{font-weight:600;font-size:.9rem;color:var(--head);}
.field input,.field select,.field textarea{
  width:100%;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius);font:inherit;background:#fff;color:var(--ink);
  transition:border-color .15s,box-shadow .15s;
}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#d3ccc0;}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-t);
}
fieldset.field{border:1px solid var(--line);border-radius:var(--radius);padding:.9rem;}
legend{font-weight:700;padding:0 .3rem;color:var(--head);}
.radio,.check{display:block;font-weight:400;margin:.25rem 0;}
.radio input,.check input{accent-color:var(--brand);}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.consent{font-size:.9rem;}
.btn-submit{margin-top:.5rem;}
.form-status{font-weight:600;min-height:1.4em;}
.form-status.ok{color:var(--ok);}
.form-status.err{color:var(--bad);}
.form-status.info{color:var(--muted);}

/* Footer */
.site-footer{background:var(--charcoal);color:#c9c1b7;padding:2.4rem 0;font-size:.9rem;}
.footer-grid{display:grid;gap:1.3rem;}
.footer-brand img{opacity:.92;margin-bottom:.6rem;}
.footer-brand p{margin:.4rem 0;}
.footer-links a{display:block;color:#fff;text-decoration:none;margin:.25rem 0;}
.footer-links a:hover{color:var(--brand);}
.copyright{font-size:.8rem;color:#8f8579;}
.site-footer .disclaimer{border-color:rgba(255,255,255,.15);color:#9a9086;}

/* Skip link */
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--brand);color:#fff;padding:.7rem 1rem;font-weight:700;border-radius:0 0 8px 0;}
.skip-link:focus{left:0;}

/* Scroll-reveal (enhance.js) */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease);}
.reveal.in{opacity:1;transform:none;}

/* Focus visibility global */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--brand);outline-offset:2px;}

/* Mobile: nav ridotta alla sola CTA (i link puntano a sezioni che si
   scorrono comunque); niente hamburger per non aggiungere JS/stato. */
@media(max-width:719px){
  .site-header nav a:not(.nav-cta){display:none;}
  .logo{height:38px;}
  .hero{padding:2.5rem 0 2.75rem;}
  .cta-row .btn{width:100%;}
  .doc-mock{margin:-52px auto 0;width:min(210px,64%);}
  .doc-mock figcaption{margin-left:auto;margin-right:auto;text-align:center;}
}

/* Responsive (tablet+) */
@media(min-width:720px){
  h1{font-size:2.5rem;}
  h2{font-size:1.95rem;}
  .hero{padding:4.5rem 0;}
  .hero-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:2.5rem;}
  .hero-media{align-items:flex-end;}
  .mecc-grid{grid-template-columns:1.3fr .7fr;align-items:start;}
  .market-grid,.obj-grid,.offer-grid{grid-template-columns:repeat(3,1fr);}
  .testi-grid{grid-template-columns:repeat(2,1fr);}
  .stat-grid{grid-template-columns:repeat(4,1fr);}
  .cta-row .btn{flex:0 0 auto;}
  .footer-grid{grid-template-columns:2fr 1fr;}
  .copyright{grid-column:1/-1;}
}
@media(min-width:980px){
  .testi-grid{grid-template-columns:repeat(3,1fr);}
}
@media(min-width:1100px){
  :root{--maxw:1160px;}
  .hero{padding:6rem 0;}
  .hero h1{font-size:3rem;}
  .hero .subhead{font-size:1.14rem;}
  .hero-media>img{max-width:100%;}
  .section{padding:4rem 0;}
  .section-scarsita .container{display:grid;grid-template-columns:1fr 1.05fr;column-gap:2.5rem;align-items:start;}
  .section-scarsita .container>*{grid-column:1;}
  .section-scarsita .container>h2{grid-column:1/-1;}
  .section-scarsita .container>.mappa-figure{grid-column:2;grid-row:2/span 30;margin:0;max-width:none;align-self:start;position:sticky;top:100px;}
  .section-form .container-narrow{max-width:820px;}
  #leadForm{grid-template-columns:1fr 1fr;column-gap:1.2rem;}
  #leadForm fieldset.field,#leadForm .field.consent,#leadForm .btn-submit,
  #leadForm .cta-micro,#leadForm .form-status,#leadForm .field:has(textarea){grid-column:1/-1;}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{transition:none!important;animation:none!important;}
  .reveal{opacity:1;transform:none;}
}
