/* ═══════════════════════════════════════════════════
   LEVATech — style.css  (v4 — fully working)
   Automazione Intelligente · Dark Design System
═══════════════════════════════════════════════════ */

/* ── DESIGN TOKENS ──────────────────────────────── */
:root {
  --bg:           #0A0A0A;
  --bg-card:      rgba(255,255,255,.038);
  --bg-card-h:    rgba(255,255,255,.065);
  --bg-subtle:    rgba(255,255,255,.018);

  --border:       rgba(255,255,255,.085);
  --border-l:     rgba(255,255,255,.046);

  --violet:       #7C3AED;
  --violet-d:     #6D28D9;
  --violet-l:     #A78BFA;
  --violet-xl:    #C4B5FD;
  --violet-bg:    rgba(124,58,237,.11);
  --violet-ring:  rgba(124,58,237,.25);

  --teal:         #0D9488;
  --teal-d:       #0B7A71;
  --teal-l:       #14B8A6;
  --teal-bg:      rgba(13,148,136,.11);
  --teal-ring:    rgba(13,148,136,.25);

  --amber:        #F59E0B;
  --amber-bg:     rgba(245,158,11,.1);

  --text:         #FFFFFF;
  --text-2:       rgba(255,255,255,.65);
  --text-3:       rgba(255,255,255,.38);
  --text-4:       rgba(255,255,255,.22);

  --font:         'Inter', system-ui, -apple-system, sans-serif;

  --r-xs: 4px;  --r-sm: 6px;   --r-md: 12px;
  --r-lg: 16px; --r-xl: 24px;  --r-2xl: 32px; --r-full: 9999px;

  --shadow-card: 0 4px 32px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.055);

  --ease:   cubic-bezier(.4,0,.2,1);
  --t-xs:   .1s  var(--ease);
  --t-sm:   .16s var(--ease);
  --t-md:   .24s var(--ease);
  --t-lg:   .42s var(--ease);

  --max-w:     1148px;
  --px:        clamp(1.25rem,5vw,2.5rem);
  --section:   clamp(5rem,9vw,7rem);
  --section-s: clamp(3rem,5.5vw,4.5rem);
}

/* ── RESET ──────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html  { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body  {
  background:var(--bg); color:var(--text);
  font-family:var(--font); font-size:1rem; line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img,svg { display:block; max-width:100%; }
a       { color:inherit; text-decoration:none; }
button  { cursor:pointer; font:inherit; border:none; background:none; }
ul,ol   { list-style:none; }
:focus-visible {
  outline:2px solid var(--violet-l); outline-offset:3px; border-radius:var(--r-sm);
}

/* ── LAYOUT ─────────────────────────────────────── */
.container  { width:min(var(--max-w),100%); padding-inline:var(--px); margin-inline:auto; }
.section    { padding-block:var(--section); }
.section-sm { padding-block:var(--section-s); }

/* ── TYPOGRAPHY ─────────────────────────────────── */
.eyebrow {
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.7rem; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--violet-l);
}
.eyebrow::before {
  content:''; display:inline-block; width:16px; height:1.5px;
  background:var(--violet-l); border-radius:var(--r-full); flex-shrink:0;
}
.heading-xl {
  font-size:clamp(2.4rem,5vw,3.8rem); font-weight:900;
  letter-spacing:-.04em; line-height:1.07;
}
.heading-lg {
  font-size:clamp(1.8rem,3.8vw,2.8rem); font-weight:800;
  letter-spacing:-.035em; line-height:1.12;
}
.body-lg { font-size:1.1rem;  color:var(--text-2); line-height:1.78; }
.body-md { font-size:1rem;    color:var(--text-2); line-height:1.72; }
.body-sm { font-size:.88rem;  color:var(--text-2); line-height:1.7;  }

/* ── GRADIENT TEXT ──────────────────────────────── */
.g-violet {
  background:linear-gradient(135deg,var(--violet-l) 0%,var(--violet-xl) 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.g-teal {
  background:linear-gradient(135deg,var(--teal) 0%,var(--teal-l) 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.g-amber {
  background:linear-gradient(135deg,var(--amber) 0%,#FCD34D 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}

/* ── BUTTONS ────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.72rem 1.5rem; border-radius:var(--r-full);
  font-weight:600; font-size:.92rem; white-space:nowrap;
  transition:transform var(--t-sm), background var(--t-sm);
  line-height:1.3;
}
.btn svg { flex-shrink:0; transition:transform var(--t-sm); }
.btn:hover svg { transform:translateX(3px); }

.btn--violet {
  background:var(--violet); color:#fff;
  box-shadow:0 4px 20px rgba(124,58,237,.3);
}
.btn--violet:hover { background:var(--violet-d); transform:translateY(-1px); }
.btn--teal {
  background:var(--teal); color:#fff;
  box-shadow:0 4px 20px rgba(13,148,136,.28);
}
.btn--teal:hover { background:var(--teal-d); transform:translateY(-1px); }
.btn--ghost {
  background:var(--bg-card); color:var(--text-2);
  box-shadow:inset 0 0 0 1px var(--border);
}
.btn--ghost:hover { background:var(--bg-card-h); color:var(--text); }
.btn--lg { padding:.88rem 2rem;   font-size:1rem; }
.btn--sm { padding:.48rem 1.1rem; font-size:.82rem; }

/* ── BADGE ──────────────────────────────────────── */
.badge {
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:.68rem; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; padding:.24rem .72rem; border-radius:var(--r-full);
}
.badge--violet { background:var(--violet-bg); color:var(--violet-l); border:1px solid var(--violet-ring); }
.badge--teal   { background:var(--teal-bg);   color:var(--teal-l);   border:1px solid var(--teal-ring); }
.badge--green  { background:rgba(74,222,128,.1); color:#4ADE80; border:1px solid rgba(74,222,128,.2); }
.badge--amber  { background:var(--amber-bg); color:var(--amber); border:1px solid rgba(245,158,11,.22); }

/* ── TRUST PILL ─────────────────────────────────── */
.trust-pill {
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:.76rem; font-weight:500; color:var(--text-3);
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--r-full); padding:.3rem .8rem;
}
.trust-pill svg { color:var(--violet-l); flex-shrink:0; }

/* ── FADE-UP ─────────────────────────────────────── */
.fade-up {
  opacity:0;
  transform:translateY(20px);
  will-change:transform, opacity;
  transition:opacity .52s var(--ease), transform .52s var(--ease);
  transition-delay:var(--delay,0s);
}
.fade-up.is-visible { opacity:1; transform:translateY(0); }

/* ══════════════════════════════════════════════════
   NAV
══════════════════════════════════════════════════ */
#site-nav {
  position:fixed; top:0; inset-inline:0; z-index:200;
  isolation: isolate;
  border-bottom:1px solid transparent;
  transition:background var(--t-md), border-color var(--t-md);
}
#site-nav.scrolled {
  background:rgba(10,10,10,.92);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-color:var(--border);
}
.nav__inner {
  display:flex; align-items:center;
  justify-content:space-between; height:64px;
}
.nav__brand {
  display:flex; align-items:center; gap:.65rem;
  font-weight:900; font-size:1.05rem; letter-spacing:-.03em; color:var(--text);
}
.nav__mark {
  width:34px; height:34px; border-radius:var(--r-md); flex-shrink:0;
  background:linear-gradient(135deg,var(--violet) 0%,var(--violet-d) 100%);
  display:flex; align-items:center; justify-content:center;
}
.nav__links { display:flex; align-items:center; gap:1.75rem; }
.nav__link  { font-size:.88rem; font-weight:500; color:var(--text-3); transition:color var(--t-sm); }
.nav__link:hover { color:var(--text); }
.nav__toggle {
  display:none; flex-direction:column; gap:5px; padding:6px; border-radius:var(--r-sm);
}
.nav__toggle span {
  display:block; width:22px; height:2px;
  background:var(--text-2); border-radius:var(--r-full);
  transition:var(--t-md);
}
.nav__toggle.is-open span:nth-child(1){ transform:translateY(7px)  rotate(45deg); }
.nav__toggle.is-open span:nth-child(2){ opacity:0; }
.nav__toggle.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.nav__mobile {
  display:none; position:fixed; inset:64px 0 0 0;
  background:rgba(10,10,10,.98);
  border-top:1px solid var(--border);
  padding:2rem var(--px); overflow-y:auto;
}
.nav__mobile.is-open { display:block; }
.nav__mobile ul { display:flex; flex-direction:column; gap:1.1rem; }
.nav__mobile a  { font-size:1.05rem; font-weight:500; color:var(--text-2); }
.nav__mobile a:hover { color:var(--text); }
.nav__mobile .btn { margin-top:.75rem; justify-content:center; width:100%; }

/* ══════════════════════════════════════════════════
   HERO
══════════════════════════════════════════════════ */
.hero {
  position:relative; overflow:hidden;
  padding-top:calc(64px + clamp(4rem,8vw,6rem));
  padding-bottom:clamp(4rem,8vw,6rem);
  contain:layout style;
}
.hero__bg {
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 55% 55% at 72% -8%,  rgba(124,58,237,.18) 0%,transparent 70%),
    radial-gradient(ellipse 40% 40% at -5%  65%, rgba(124,58,237,.1)  0%,transparent 65%);
}
.hero__grid {
  position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse 80% 90% at 62% 40%,black 20%,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 80% 90% at 62% 40%,black 20%,transparent 80%);
}
.hero__layout {
  position:relative;
  display:grid; grid-template-columns:1fr 1fr;
  align-items:center; gap:clamp(2rem,5vw,5rem);
}
.hero__motto {
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.72rem; font-weight:700; letter-spacing:.13em;
  text-transform:uppercase; color:var(--violet-l);
  background:var(--violet-bg); border:1px solid var(--violet-ring);
  padding:.34rem .9rem; border-radius:var(--r-full); margin-bottom:1.5rem;
}
.hero__motto-dot {
  width:6px; height:6px; border-radius:50%;
  background:var(--violet-l); flex-shrink:0;
  box-shadow:0 0 0 3px rgba(167,139,250,.2);
  animation:pulseDot 2.4s ease infinite;
}
@keyframes pulseDot {
  0%,100%{ opacity:1; transform:scale(1);   }
  50%    { opacity:.6; transform:scale(1.3); }
}
.hero__title { margin-bottom:1.4rem; }
.hero__sub   { max-width:50ch; margin-bottom:2rem; }
.hero__cta   { display:flex; flex-wrap:wrap; gap:.85rem; margin-bottom:2.5rem; }
.hero__trust { display:flex; flex-wrap:wrap; gap:.55rem; }
.hero__products { display:grid; grid-template-rows:1fr 1fr; gap:1rem; }

/* ── Hero card ──────────────────────────────────── */
.hero-card {
  display:block; position:relative; overflow:hidden;
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--r-xl); padding:1.5rem;
  box-shadow:var(--shadow-card);
  transition:transform var(--t-md), border-color var(--t-md);
}
.hero-card::before {
  content:''; position:absolute; inset:0; border-radius:inherit;
  pointer-events:none; opacity:0;
  transition:opacity var(--t-md);
}
.hero-card--teal::before   { box-shadow:inset 0 0 0 1px var(--teal-ring),   0 8px 40px rgba(13,148,136,.22); }
.hero-card--violet::before { box-shadow:inset 0 0 0 1px var(--violet-ring), 0 8px 40px rgba(124,58,237,.22); }
.hero-card:hover { transform:translateY(-2px); border-color:transparent; }
.hero-card:hover::before { opacity:1; }
.hero-card::after {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(167,139,250,.3),transparent);
}
.hero-card--teal::after {
  background:linear-gradient(90deg,transparent,rgba(20,184,166,.3),transparent);
}
.hero-card__header  { display:flex; align-items:center; gap:.75rem; margin-bottom:.85rem; }
.hero-card__logo    { width:28px; height:28px; object-fit:contain; flex-shrink:0; }
.hero-card__logo-fb {
  width:28px; height:28px; border-radius:var(--r-sm); flex-shrink:0;
  display:none; align-items:center; justify-content:center;
  font-size:.7rem; font-weight:800; letter-spacing:-.02em;
}
.hero-card__logo-fb--teal   { background:var(--teal-bg);   color:var(--teal-l);   }
.hero-card__logo-fb--violet { background:var(--violet-bg); color:var(--violet-l); }
.hero-card__title { font-size:.95rem; font-weight:700; }
.hero-card__desc  { font-size:.82rem; color:var(--text-2); line-height:1.6; margin-bottom:.9rem; }
.hero-card__link  {
  font-size:.78rem; font-weight:600; display:inline-flex; align-items:center; gap:.3rem;
  transition:gap var(--t-sm);
}
.hero-card--violet .hero-card__link { color:var(--violet-l); }
.hero-card--teal   .hero-card__link { color:var(--teal-l);   }
.hero-card:hover .hero-card__link   { gap:.55rem; }

/* ══════════════════════════════════════════════════
   MANIFESTO
══════════════════════════════════════════════════ */
.manifesto { border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.manifesto__grid { display:grid; grid-template-columns:1fr 1fr; }
.manifesto__col  { padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,4vw,3rem); }
.manifesto__col:first-child { border-right:1px solid var(--border); }
.manifesto__label {
  font-size:.7rem; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--text-4); margin-bottom:1.2rem;
}
.manifesto__quote {
  font-size:clamp(1.25rem,2.2vw,1.5rem); font-weight:800;
  letter-spacing:-.025em; line-height:1.3; color:var(--text); margin-bottom:1.25rem;
}
.manifesto__col p         { color:var(--text-2); margin-bottom:.85rem; line-height:1.78; }
.manifesto__col p:last-child { margin-bottom:0; }
.manifesto__col p strong  { color:var(--text); font-weight:600; }

/* ══════════════════════════════════════════════════
   STATS STRIP
   NOTA: nessun `contain` su .stat__val — un elemento
   di testo che cambia dinamicamente non deve avere
   size containment (collassa a height:0).
══════════════════════════════════════════════════ */
.stats-strip {
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  background:var(--bg-subtle);
}
.stats-strip__grid { display:grid; grid-template-columns:repeat(4,1fr); }
.stat {
  padding:clamp(1.5rem,3vw,2.5rem) 1.5rem; text-align:center;
  border-right:1px solid var(--border);
  transition:background var(--t-md);
}
.stat:last-child { border-right:none; }
.stat:hover { background:var(--bg-card); }
.stat__val {
  /* Dimensioni esplicite: il testo cambia via JS ma l'altezza
     non deve mai collassare. min-height garantisce stabilità
     del layout durante l'animazione del counter.              */
  display:block;
  min-height:1em;
  font-size:clamp(2.2rem,4.5vw,3rem); font-weight:900;
  letter-spacing:-.04em; line-height:1.1;
  margin-bottom:.3rem;
}
.stat__label { font-size:.82rem; font-weight:600; color:var(--text-2); }
.stat__note  { font-size:.72rem; color:var(--text-3); margin-top:.18rem; }

/* ══════════════════════════════════════════════════
   PRODOTTI
══════════════════════════════════════════════════ */
.products__header { text-align:center; margin-bottom:clamp(3rem,5vw,4.5rem); }
.products__header .heading-lg { margin-block:.85rem 0; }
.products__header .body-md    { max-width:54ch; margin-inline:auto; margin-top:.85rem; }
.products__grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }

.product-card {
  position:relative; overflow:hidden;
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--r-2xl); padding:clamp(2rem,4vw,2.75rem);
  box-shadow:var(--shadow-card);
  display:flex; flex-direction:column;
  transition:transform var(--t-lg), border-color var(--t-lg);
}
.product-card::before {
  content:''; position:absolute; inset:0; border-radius:inherit;
  pointer-events:none; opacity:0;
  transition:opacity var(--t-lg);
}
.product-card--violet::before { box-shadow:inset 0 0 0 1px var(--violet-ring), 0 12px 56px rgba(124,58,237,.28); }
.product-card--teal::before   { box-shadow:inset 0 0 0 1px var(--teal-ring),   0 12px 56px rgba(13,148,136,.24); }
.product-card::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  opacity:0; transition:opacity var(--t-lg);
}
.product-card--violet::after { background:linear-gradient(135deg,var(--violet-bg) 0%,transparent 55%); }
.product-card--teal::after   { background:linear-gradient(135deg,var(--teal-bg)   0%,transparent 55%); }
.product-card:hover { transform:translateY(-4px); border-color:transparent; }
.product-card:hover::before,
.product-card:hover::after { opacity:1; }

.product-card__top {
  display:flex; align-items:flex-start; justify-content:space-between;
  margin-bottom:1.5rem; position:relative; z-index:1;
}
.product-card__logo-wrap { display:flex; align-items:center; }
.product-card__logo      { height:36px; width:auto; object-fit:contain; max-width:140px; }
.product-card__logo-fb   {
  height:36px; display:none; align-items:center; justify-content:center;
  font-size:1.25rem; font-weight:900; letter-spacing:-.04em;
}
.product-card__logo-fb--teal   { color:var(--teal-l);   }
.product-card__logo-fb--violet { color:var(--violet-l); }
.product-card__body    { position:relative; z-index:1; flex:1; }
.product-card__tagline { font-size:.88rem; color:var(--text-3); font-style:italic; margin-bottom:1.1rem; }
.product-card__desc    { font-size:.95rem; color:var(--text-2); line-height:1.72; margin-bottom:1.5rem; }
.product-card__features{ display:flex; flex-direction:column; gap:.5rem; margin-bottom:2rem; }
.product-card__feat    { display:flex; align-items:flex-start; gap:.55rem; font-size:.85rem; color:var(--text-2); }
.feat-check {
  width:16px; height:16px; border-radius:50%; flex-shrink:0; margin-top:2px;
  display:flex; align-items:center; justify-content:center;
}
.feat-check--violet { background:var(--violet-bg); color:var(--violet-l); }
.feat-check--teal   { background:var(--teal-bg);   color:var(--teal-l);   }
.product-card__cta { position:relative; z-index:1; margin-top:auto; }

/* ══════════════════════════════════════════════════
   METODO
══════════════════════════════════════════════════ */
.method {
  border-top:1px solid var(--border);
  background:linear-gradient(180deg,rgba(124,58,237,.03) 0%,transparent 100%);
}
.method__inner  { display:grid; grid-template-columns:1fr 1.6fr; align-items:start; gap:clamp(3rem,6vw,6rem); }
.method__sticky { position:sticky; top:84px; }
.method__sticky .heading-lg { margin-block:.85rem 1rem; }
.method__sticky .body-md    { margin-bottom:1.75rem; }

.steps { display:flex; flex-direction:column; }
.step  { display:grid; grid-template-columns:56px 1fr; gap:1.25rem; position:relative; }
.step::before {
  content:''; position:absolute;
  left:27px; top:56px; bottom:0; width:1px;
  background:linear-gradient(180deg,var(--border) 0%,transparent 100%);
}
.step:last-child::before { display:none; }
.step__num {
  width:56px; height:56px; border-radius:50%; flex-shrink:0;
  background:var(--bg-card); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  font-size:.85rem; font-weight:800; color:var(--violet-l);
  position:relative; z-index:1;
  transition:background var(--t-md), border-color var(--t-md);
}
.step:hover .step__num { background:var(--violet-bg); border-color:var(--violet-ring); }
.step__body  { padding-bottom:2.5rem; }
.step__title { font-size:1.05rem; font-weight:700; margin-bottom:.45rem; padding-top:.9rem; }
.step__desc  { font-size:.9rem; color:var(--text-2); line-height:1.72; }

/* ══════════════════════════════════════════════════
   VALORI
══════════════════════════════════════════════════ */
.values__header { text-align:center; margin-bottom:clamp(3rem,5vw,4.5rem); }
.values__header .heading-lg { margin-block:.85rem 0; max-width:20ch; margin-inline:auto; }

.values__grid {
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:1px; background:var(--border);
  border-radius:var(--r-2xl); overflow:hidden;
}
.value-tile {
  background:var(--bg); padding:clamp(1.75rem,3.5vw,2.5rem);
  position:relative; overflow:hidden;
  transition:background var(--t-md);
}
.value-tile::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(135deg,var(--violet-bg) 0%,transparent 55%);
  opacity:0; transition:opacity var(--t-md);
}
.value-tile:hover { background:rgba(124,58,237,.04); }
.value-tile:hover::before { opacity:1; }
.value-tile__icon {
  width:44px; height:44px; border-radius:var(--r-md);
  background:var(--bg-card); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:1.1rem; position:relative; z-index:1;
  transition:background var(--t-md), border-color var(--t-md);
}
.value-tile:hover .value-tile__icon { background:var(--violet-bg); border-color:var(--violet-ring); }
.value-tile__title { font-size:1rem; font-weight:700; margin-bottom:.45rem; position:relative; z-index:1; }
.value-tile__desc  { font-size:.88rem; color:var(--text-2); line-height:1.72; position:relative; z-index:1; }

/* ══════════════════════════════════════════════════
   TECH STACK
══════════════════════════════════════════════════ */
.tech { border-top:1px solid var(--border); }
.tech__inner { display:flex; flex-direction:column; align-items:center; text-align:center; }
.tech__inner .heading-lg { margin-block:.85rem 1rem; }
.tech__inner .body-md    { margin-bottom:2.5rem; }
.tech__grid { display:flex; flex-wrap:wrap; justify-content:center; gap:.85rem; }
.tech-badge {
  display:flex; align-items:center; gap:.65rem;
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--r-lg); padding:.75rem 1.25rem;
  transition:background var(--t-md);
}
.tech-badge:hover { background:var(--bg-card-h); }
.tech-badge__dot  { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.tech-badge__name { font-size:.84rem; font-weight:600; color:var(--text-2); }

/* ══════════════════════════════════════════════════
   CTA FINALE
══════════════════════════════════════════════════ */
.cta-final {
  border-top:1px solid var(--border);
  background:radial-gradient(ellipse 60% 60% at 50% 100%,rgba(124,58,237,.12) 0%,transparent 70%);
}
.cta-final__inner { display:flex; flex-direction:column; align-items:center; text-align:center; }
.cta-final__inner .eyebrow    { margin-bottom:1rem; }
.cta-final__inner .heading-lg { margin-bottom:1.1rem; max-width:30ch; }
.cta-final__inner .body-md    { margin-bottom:2rem; max-width:70ch; }
.cta-final__actions { display:flex; flex-wrap:wrap; gap:.85rem; justify-content:center; }
.cta-final__note    { margin-top:1.25rem; font-size:.78rem; color:var(--text-3); }

/* ══════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════ */
.footer {
  border-top:1px solid var(--border); background:var(--bg-subtle);
  padding-block:clamp(2.5rem,4.5vw,3.5rem) clamp(1.5rem,3vw,2rem);
}
.footer__grid {
  display:grid; grid-template-columns:1.5fr 1fr 1fr;
  gap:clamp(2rem,4vw,4rem); margin-bottom:2.5rem;
}
.footer__brand { display:flex; align-items:center; gap:.6rem; margin-bottom:.7rem; }
.footer__mark  {
  width:28px; height:28px; border-radius:var(--r-sm); flex-shrink:0;
  background:linear-gradient(135deg,var(--violet),var(--violet-d));
  display:flex; align-items:center; justify-content:center;
}
.footer__name  { font-weight:900; font-size:1rem; letter-spacing:-.03em; }
.footer__motto { font-size:.78rem; color:var(--text-3); font-style:italic; margin-bottom:.45rem; }
.footer__sub   { font-size:.82rem; color:var(--text-3); line-height:1.65; }
.footer__col-h {
  font-size:.7rem; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--text-4); margin-bottom:1rem;
}
.footer__links { display:flex; flex-direction:column; gap:.6rem; }
.footer__links a { font-size:.85rem; color:var(--text-3); transition:color var(--t-sm); }
.footer__links a:hover { color:var(--text-2); }
.footer__bottom {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:1rem; padding-top:1.75rem; border-top:1px solid var(--border);
  font-size:.78rem; color:var(--text-4);
}
.footer__bottom a { color:var(--text-4); transition:color var(--t-sm); }
.footer__bottom a:hover { color:var(--text-3); }
.footer__legal { display:flex; gap:1.25rem; flex-wrap:wrap; }

/* ══════════════════════════════════════════════════
   RESPONSIVE — 960px
══════════════════════════════════════════════════ */
@media (max-width: 960px) {
  #site-nav.scrolled {
    background:rgba(10,10,10,.97);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .hero__grid     { display:none; }
  .hero__layout   { grid-template-columns:1fr; text-align:center; }
  .hero__cta,
  .hero__trust    { justify-content:center; }
  .hero__sub      { margin-inline:auto; }
  .hero__products { display:block; }

  .manifesto__grid { grid-template-columns:1fr; }
  .manifesto__col:first-child { border-right:none; border-bottom:1px solid var(--border); }

  .products__grid { grid-template-columns:1fr; max-width:520px; margin-inline:auto; width:100%; }

  .method__inner  { grid-template-columns:1fr; }
  .method__sticky { position:static; }

  .values__grid   { grid-template-columns:1fr; }

  .stats-strip__grid          { grid-template-columns:repeat(2,1fr); }
  .stat:nth-child(2)          { border-right:none; }
  .stat:nth-child(3)          { border-right:1px solid var(--border); border-top:1px solid var(--border); }
  .stat:nth-child(4)          { border-right:none; border-top:1px solid var(--border); }

  .footer__grid   { grid-template-columns:1fr; gap:2rem; }
  .nav__links     { display:none; }
  .nav__toggle    { display:flex; }
}

/* ══════════════════════════════════════════════════
   RESPONSIVE — 600px
══════════════════════════════════════════════════ */
@media (max-width: 600px) {
  .stat           { padding:1.25rem 1rem; }
  .tech__grid     { flex-direction:column; align-items:stretch; }
  .tech-badge     { justify-content:center; }
  .footer__bottom { flex-direction:column; align-items:flex-start; }
  .cta-final__actions { flex-direction:column; align-items:stretch; }
  .cta-final__actions .btn { justify-content:center; }
}

/* ══════════════════════════════════════════════════
   PRENOTAZIONE CALENDARIO
══════════════════════════════════════════════════ */
.calendar-card {
    background: #141414;
    border: 1px solid #222;
    border-radius: 20px;
    overflow: hidden;
    min-height: 600px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.4);
	width:100%;
	diplay:block;
}

#calendar-iframe {
    width: 100%;
    height: 725px;
	border: none;
	border-radius: 20px;
	margin-bottom: -6px;
}

@media (max-width: 768px) {
	#calendar-iframe {
		height: 750px !important;
	}
}
