/* ═══════════════════════════════════════════════════════════════
   OTTIMIX® — Foglio stile condiviso
   ottimix.it · info@ottimix.com · (+39) 075 374 09 08
   ═══════════════════════════════════════════════════════════════ */

/* ── CUSTOM PROPERTIES ─────────────────────────────────────── */
:root {
  /* Brand palette */
  --red:      #e61a2b;
  --red-dk:   #c41525;
  --red-lt:   #ff3344;
  --navy:     #0d2e4a;
  --navy2:    #163a56;
  --blue:     #2b6f91;
  --blue-dk:  #1a4f6e;

  /* UI neutrals */
  --white:    #ffffff;
  --off:      #f8fafc;
  --bg:       #f1f5f9;
  --text:     #1e293b;
  --muted:    #64748b;
  --border:   #e2e8f0;
  --border2:  #cbd5e1;

  /* Accent (overridden per pagina di servizio) */
  --accent:    var(--red);
  --accent-dk: var(--red-dk);
  --accent-lt: rgba(230,26,43,.10);
  --accent-grd: linear-gradient(135deg, var(--red), var(--red-dk));

  /* Shadows */
  --sh-xs:  0 1px 4px rgba(13,46,74,.06);
  --sh-sm:  0 2px 10px rgba(13,46,74,.08);
  --sh:     0 4px 24px rgba(13,46,74,.10);
  --sh-lg:  0 12px 48px rgba(13,46,74,.15);
  --sh-xl:  0 24px 80px rgba(13,46,74,.20);

  /* Layout */
  --max-w:   1220px;
  --nav-h:   72px;
  --r:       14px;
  --r-lg:    22px;
  --r-pill:  100px;

  /* Timing */
  --ease: cubic-bezier(.4,0,.2,1);
}

/* ── RESET ──────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; -webkit-text-size-adjust: 100%; }
body {
  font-family: 'Plus Jakarta Sans', 'Open Sans', sans-serif;
  color: var(--text);
  background: var(--white);
  overflow-x: hidden;
  line-height: 1.7;
}
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }
button { border: none; background: none; cursor: pointer; font: inherit; }
ul, ol { list-style: none; }
input, textarea, select { font: inherit; outline: none; }

/* ── TIPOGRAFIA ─────────────────────────────────────────────── */
h1,h2,h3,h4,h5,h6 { font-family:'Montserrat',sans-serif; line-height:1.15; color:var(--navy); }

/* ── BARRA DI PROGRESSO SCROLL ──────────────────────────────── */
#progress-bar {
  position: fixed; top: 0; left: 0;
  height: 3px; width: 0%;
  background: linear-gradient(90deg, var(--red), var(--blue));
  z-index: 10000;
  transition: width .08s linear;
  pointer-events: none;
}

/* ── NAVIGAZIONE ────────────────────────────────────────────── */
.nav {
  position: fixed; top: 0; left: 0; right: 0;
  z-index: 1000;
  height: var(--nav-h);
  display: flex; align-items: center;
  padding: 0 5%;
  transition: background .35s var(--ease), box-shadow .35s var(--ease);
}
.nav.scrolled {
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 2px 24px rgba(13,46,74,.10);
}
.nav__inner {
  width: 100%; max-width: var(--max-w);
  margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.nav__logo { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.nav__logo img { height:50px; width:auto; transition:filter .35s; filter:brightness(0) invert(1); }
.nav.scrolled .nav__logo img { filter:none; }
.nav__logo-text {
  font-family:'Montserrat',sans-serif; font-weight:800; font-size:1.2rem;
  color:#fff; letter-spacing:-.5px;
  transition: color .3s;
}
.nav.scrolled .nav__logo-text { color:var(--navy); }
.nav__logo-text span { color:var(--red); }

.nav__links { display:flex; align-items:center; gap:4px; }
.nav__link {
  font-family:'Montserrat',sans-serif; font-weight:600; font-size:.8rem;
  color:rgba(255,255,255,.9); padding:7px 11px; border-radius:8px;
  transition:all .2s; white-space:nowrap;
  position:relative;
}
.nav.scrolled .nav__link { color:var(--navy2); }
.nav__link:hover { color:#fff; background:rgba(255,255,255,.12); }
.nav.scrolled .nav__link:hover { color:var(--red); background:var(--accent-lt); }
.nav__link.active { color:var(--red) !important; }

.nav__cta {
  background:var(--red); color:#fff !important;
  padding:9px 20px; border-radius:var(--r-pill);
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:.8rem;
  box-shadow:0 4px 16px rgba(230,26,43,.4);
  transition:all .25s; white-space:nowrap;
}
.nav__cta:hover { background:var(--red-dk) !important; transform:translateY(-1px); box-shadow:0 6px 22px rgba(230,26,43,.5); }

/* Hamburger */
.nav__burger {
  display:none; flex-direction:column; gap:5px;
  padding:8px; cursor:pointer; z-index:1100;
}
.nav__burger span {
  display:block; width:22px; height:2px;
  background:#fff; border-radius:2px; transition:all .3s;
}
.nav.scrolled .nav__burger span { background:var(--navy); }
.nav__burger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.nav__burger.open span:nth-child(2) { opacity:0; }
.nav__burger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* Mobile drawer */
.nav__drawer {
  position:fixed; inset:0;
  background:var(--navy);
  z-index:1050;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:8px;
  padding:40px 24px;
  transform:translateX(100%);
  transition:transform .35s var(--ease);
}
.nav__drawer.open { transform:translateX(0); }
.nav__drawer .nav__link {
  color:rgba(255,255,255,.85); font-size:1.1rem;
  padding:14px 32px; border-radius:12px;
  width:100%; text-align:center;
}
.nav__drawer .nav__link:hover { background:rgba(255,255,255,.1); color:#fff; }
.nav__drawer .nav__cta { margin-top:12px; padding:14px 40px; font-size:1rem; }
.nav__drawer-close {
  position:absolute; top:20px; right:20px;
  color:#fff; font-size:1.6rem; padding:8px; opacity:.7;
  transition:opacity .2s; cursor:pointer;
}
.nav__drawer-close:hover { opacity:1; }

/* ── HERO BASE ──────────────────────────────────────────────── */
.hero {
  min-height: 100vh;
  padding: calc(var(--nav-h) + 80px) 5% 90px;
  display: flex; align-items: center;
  position: relative; overflow: hidden;
  background: linear-gradient(140deg, var(--navy) 0%, var(--navy2) 45%, #1b4d72 80%, #0c2035 100%);
}

/* Animated blobs */
.hero__blob {
  position:absolute; border-radius:50%; filter:blur(70px);
  pointer-events:none; will-change:transform;
}
.hero__blob--1 {
  width:700px; height:700px;
  background:radial-gradient(circle, rgba(230,26,43,.18) 0%, transparent 70%);
  top:-200px; right:-150px;
  animation:blobFloat1 14s ease-in-out infinite;
}
.hero__blob--2 {
  width:500px; height:500px;
  background:radial-gradient(circle, rgba(43,111,145,.25) 0%, transparent 70%);
  bottom:-150px; left:-100px;
  animation:blobFloat2 18s ease-in-out infinite;
}
.hero__blob--3 {
  width:300px; height:300px;
  background:radial-gradient(circle, rgba(230,26,43,.10) 0%, transparent 70%);
  top:40%; left:40%;
  animation:blobFloat3 22s ease-in-out infinite;
}

@keyframes blobFloat1 {
  0%,100% { transform:translate(0,0) scale(1); }
  33%      { transform:translate(-40px,30px) scale(1.08); }
  66%      { transform:translate(20px,-20px) scale(.94); }
}
@keyframes blobFloat2 {
  0%,100% { transform:translate(0,0) scale(1); }
  50%     { transform:translate(30px,-40px) scale(1.1); }
}
@keyframes blobFloat3 {
  0%,100% { transform:translate(0,0); }
  33%     { transform:translate(60px,30px); }
  66%     { transform:translate(-30px,50px); }
}

/* Grid lines overlay */
.hero::after {
  content:'';
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:60px 60px;
  pointer-events:none;
}

.hero__inner {
  position:relative; z-index:2;
  max-width:var(--max-w); margin:0 auto; width:100%;
  display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;
}
.hero__content { }
.hero__badge {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.9); padding:7px 16px; border-radius:var(--r-pill);
  font-family:'Montserrat',sans-serif; font-size:.78rem; font-weight:600;
  letter-spacing:.5px; margin-bottom:24px;
}
.hero__badge-dot {
  width:8px; height:8px; border-radius:50%;
  background:#4ade80;
  animation:pulse 2s ease-in-out infinite;
}
@keyframes pulse {
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.5;transform:scale(.7)}
}
.hero__title {
  font-size:clamp(2.2rem,4.5vw,3.8rem);
  font-weight:900; color:#fff; line-height:1.08;
  margin-bottom:22px; letter-spacing:-.5px;
}
.hero__title em { font-style:normal; color:var(--red-lt); }
.hero__title .hl {
  position:relative; display:inline-block;
  background:linear-gradient(90deg,#fff,rgba(255,255,255,.8));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
}
.hero__sub {
  font-size:1.08rem; color:rgba(255,255,255,.75);
  max-width:520px; margin-bottom:36px; line-height:1.8;
}
.hero__btns { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:40px; }
.hero__trust { display:flex; gap:20px; flex-wrap:wrap; }
.hero__trust-item {
  display:flex; align-items:center; gap:8px;
  color:rgba(255,255,255,.7); font-size:.84rem;
}
.hero__trust-item i { color:#4ade80; font-size:.85rem; }

/* Hero visual card */
.hero__visual {
  display:flex; align-items:center; justify-content:center;
}
.hero__card-stack { position:relative; }
.hero__card-main {
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--r-lg); padding:32px;
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  box-shadow:0 24px 80px rgba(0,0,0,.3);
  min-width:320px;
}
.hero__card-float {
  position:absolute;
  background:rgba(255,255,255,.95);
  border-radius:var(--r); padding:14px 18px;
  box-shadow:var(--sh-xl);
  display:flex; align-items:center; gap:12px;
  animation:floatCard 6s ease-in-out infinite;
}
.hero__card-float--1 { top:-20px; right:-24px; animation-delay:-2s; }
.hero__card-float--2 { bottom:-16px; left:-24px; animation-delay:-4s; }
@keyframes floatCard {
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
}
.hero__cf-icon {
  width:40px; height:40px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; flex-shrink:0;
}
.hero__cf-label { font-family:'Montserrat',sans-serif; font-weight:700; font-size:.8rem; color:var(--navy); }
.hero__cf-val { font-size:.72rem; color:var(--muted); margin-top:1px; }

/* ── SEZIONE HERO SERVIZIO (pagine interne) ─────────────────── */
.hero-svc {
  min-height: 56vh;
  padding: calc(var(--nav-h) + 60px) 5% 70px;
  display: flex; align-items: center;
  position: relative; overflow: hidden;
  background: linear-gradient(140deg, var(--navy) 0%, var(--navy2) 50%, #0f2d47 100%);
}
.hero-svc__blob {
  position:absolute;
  width:600px; height:600px; border-radius:50%; filter:blur(80px);
  background:radial-gradient(circle, var(--accent-lt) 0%, transparent 70%);
  top:-200px; right:-100px; pointer-events:none;
  opacity:.6;
}
.hero-svc__inner {
  position:relative; z-index:2;
  max-width:var(--max-w); margin:0 auto; width:100%;
}
.hero-svc__icon {
  width:72px; height:72px; border-radius:20px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15);
  display:flex; align-items:center; justify-content:center;
  font-size:2rem; margin-bottom:24px;
  box-shadow:0 8px 32px rgba(0,0,0,.2);
}
.hero-svc__eyebrow {
  font-family:'Montserrat',sans-serif; font-weight:700;
  font-size:.78rem; letter-spacing:2px; text-transform:uppercase;
  color:var(--accent); margin-bottom:12px;
  opacity:.9;
}
.hero-svc__title {
  font-size:clamp(2rem,4vw,3.4rem);
  font-weight:900; color:#fff; line-height:1.1;
  margin-bottom:20px; max-width:700px;
}
.hero-svc__title em { font-style:normal; color:rgba(255,255,255,.7); }
.hero-svc__sub {
  font-size:1.08rem; color:rgba(255,255,255,.72);
  max-width:620px; line-height:1.8; margin-bottom:32px;
}
.hero-svc__pills { display:flex; flex-wrap:wrap; gap:10px; }
.hero-svc__pill {
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,.85);
  padding:6px 16px; border-radius:var(--r-pill);
  font-family:'Montserrat',sans-serif; font-size:.78rem; font-weight:600;
}

/* ── STATS BAR ──────────────────────────────────────────────── */
.stats-bar {
  background: var(--navy);
  padding: 32px 5%;
}
.stats-bar__inner {
  max-width:var(--max-w); margin:0 auto;
  display:flex; justify-content:space-around; align-items:center;
  flex-wrap:wrap; gap:24px;
}
.stat { text-align:center; }
.stat__num {
  font-family:'Montserrat',sans-serif; font-weight:900;
  font-size:2.4rem; color:var(--red); line-height:1; display:block;
}
.stat__label { color:rgba(255,255,255,.55); font-size:.82rem; margin-top:4px; }
.stat-divider { width:1px; height:50px; background:rgba(255,255,255,.1); }

/* ── SEZIONI GENERICHE ──────────────────────────────────────── */
section { padding:96px 5%; }
.section-inner { max-width:var(--max-w); margin:0 auto; }
.section-eyebrow {
  display:inline-block;
  background:var(--accent-lt);
  color:var(--accent);
  padding:5px 14px; border-radius:var(--r-pill);
  font-family:'Montserrat',sans-serif; font-weight:700;
  font-size:.75rem; letter-spacing:1.5px; text-transform:uppercase;
  margin-bottom:16px;
}
.section-title {
  font-size:clamp(1.8rem,3vw,2.6rem);
  font-weight:800; color:var(--navy); line-height:1.15;
  margin-bottom:14px;
}
.section-title .accent { color:var(--accent); }
.section-title .blue   { color:var(--blue); }
.section-sub {
  font-size:1.05rem; color:var(--muted);
  max-width:600px; line-height:1.75;
}
.section-header { margin-bottom:56px; }
.section-header.center { text-align:center; }
.section-header.center .section-sub { margin:0 auto; }

/* Alternanza sfondo */
.bg-white { background:var(--white); }
.bg-off   { background:var(--off); }
.bg-dark  { background:var(--navy); }

/* ── PULSANTI ───────────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Montserrat',sans-serif; font-weight:700;
  border-radius:var(--r-pill); transition:all .25s var(--ease);
  cursor:pointer; white-space:nowrap;
}
.btn-lg { padding:16px 32px; font-size:1rem; }
.btn-md { padding:12px 26px; font-size:.9rem; }
.btn-sm { padding:9px 18px; font-size:.82rem; }

.btn-primary {
  display:inline-flex; align-items:center; gap:14px;
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:.9rem;
  padding:15px 28px; border-radius:var(--r-pill);
  background:var(--red); color:#fff;
  box-shadow:0 6px 28px rgba(230,26,43,.38);
  text-decoration:none; cursor:pointer; white-space:nowrap;
  transition:transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s, background .2s;
  position:relative; overflow:hidden;
}
.btn-primary::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,0) 60%);
  pointer-events:none;
}
.btn-primary:hover {
  background:#c8131f; transform:translateY(-2px) scale(1.02);
  box-shadow:0 12px 36px rgba(230,26,43,.52);
}
.btn-primary:active { transform:translateY(0) scale(.98); }

.btn-outline {
  border:2px solid rgba(255,255,255,.5); color:#fff;
}
.btn-outline:hover { background:rgba(255,255,255,.12); border-color:#fff; }

.btn-outline-dark {
  border:2px solid var(--border2); color:var(--navy);
}
.btn-outline-dark:hover { border-color:var(--accent); color:var(--accent); }

.btn-wa {
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:.9rem;
  padding:15px 28px; border-radius:var(--r-pill);
  background:#25d366; color:#fff;
  box-shadow:0 6px 24px rgba(37,211,102,.35);
  text-decoration:none; cursor:pointer; white-space:nowrap;
  transition:transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s, background .2s;
}
.btn-wa:hover { background:#20bc5a; transform:translateY(-2px); box-shadow:0 10px 32px rgba(37,211,102,.5); }

/* ── CARD SERVIZIO (home grid 7 aree) ───────────────────────── */
.services-grid {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:20px;
  margin-top:56px;
}
.service-card {
  background:var(--white);
  border-radius:var(--r-lg); padding:28px 24px;
  border:1px solid var(--border);
  transition:all .35s var(--ease);
  cursor:pointer;
  position:relative; overflow:hidden;
  display:flex; flex-direction:column; gap:14px;
}
.service-card::before {
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(140deg, var(--svc-clr,#e61a2b) 0%, transparent 60%);
  opacity:0; transition:opacity .35s;
}
.service-card:hover {
  transform:translateY(-8px);
  box-shadow:var(--sh-xl);
  border-color:transparent;
}
.service-card:hover::before { opacity:.06; }
.service-card__icon {
  width:56px; height:56px; border-radius:16px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.5rem;
  background:var(--svc-bg, rgba(230,26,43,.1));
  transition:transform .3s;
}
.service-card:hover .service-card__icon { transform:scale(1.1); }
.service-card__title {
  font-family:'Montserrat',sans-serif; font-weight:800;
  font-size:.98rem; color:var(--navy);
}
.service-card__desc {
  font-size:.85rem; color:var(--muted); line-height:1.65; flex:1;
}
.service-card__link {
  font-family:'Montserrat',sans-serif; font-weight:700;
  font-size:.82rem; color:var(--svc-clr, var(--red));
  display:flex; align-items:center; gap:6px;
  transition:gap .2s;
}
.service-card:hover .service-card__link { gap:10px; }
.service-card__bar {
  position:absolute; bottom:0; left:0; right:0;
  height:3px; background:var(--svc-clr, var(--red));
  transform:scaleX(0); transform-origin:left;
  transition:transform .35s var(--ease);
}
.service-card:hover .service-card__bar { transform:scaleX(1); }

/* ── CARD FEATURE / BENEFIT ─────────────────────────────────── */
.feature-card {
  background:var(--white); border-radius:var(--r-lg);
  padding:28px; border:1px solid var(--border);
  box-shadow:var(--sh-sm);
  display:flex; gap:18px; align-items:flex-start;
  transition:all .3s var(--ease);
}
.feature-card:hover { transform:translateY(-4px); box-shadow:var(--sh-lg); }
.feature-card__icon {
  width:50px; height:50px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; flex-shrink:0;
  background:var(--accent-lt);
  color:var(--accent);
}
.feature-card__title { font-size:.95rem; font-weight:700; margin-bottom:6px; }
.feature-card__text { font-size:.87rem; color:var(--muted); line-height:1.65; }

/* ── GRID FEATURES 2-3 COLONNE ─────────────────────────────── */
.features-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.features-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }

/* ── METODO OTTIMIX ─────────────────────────────────────────── */
.metodo-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:28px;
  margin-top:56px;
}
.metodo-card {
  background:var(--white); border-radius:var(--r-lg); padding:36px 28px;
  text-align:center; border:1px solid var(--border);
  position:relative; overflow:hidden;
  transition:all .35s;
}
.metodo-card:hover { transform:translateY(-6px); box-shadow:var(--sh-lg); }
.metodo-card__num {
  font-family:'Montserrat',sans-serif; font-weight:900;
  font-size:4rem; line-height:1;
  color:var(--accent); opacity:.12;
  position:absolute; top:16px; right:20px; pointer-events:none;
}
.metodo-card__icon {
  width:68px; height:68px; border-radius:20px;
  background:var(--accent-lt); display:flex; align-items:center;
  justify-content:center; font-size:1.8rem; margin:0 auto 20px;
}
.metodo-card__title {
  font-family:'Montserrat',sans-serif; font-weight:800;
  font-size:1.1rem; color:var(--navy); margin-bottom:10px;
  letter-spacing:.5px; text-transform:uppercase;
}
.metodo-card__text { font-size:.88rem; color:var(--muted); line-height:1.7; }

/* ── PROCESS STEPS ──────────────────────────────────────────── */
.steps-list { display:flex; flex-direction:column; gap:0; position:relative; }
.steps-list::before {
  content:''; position:absolute;
  left:28px; top:56px; bottom:56px; width:2px;
  background:linear-gradient(to bottom, var(--accent), var(--blue));
}
.step-item { display:flex; gap:24px; align-items:flex-start; padding:28px 0; }
.step-num {
  width:56px; height:56px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg, var(--accent), var(--accent-dk));
  color:#fff; display:flex; align-items:center; justify-content:center;
  font-family:'Montserrat',sans-serif; font-weight:900; font-size:1.2rem;
  box-shadow:0 6px 20px color-mix(in srgb,var(--accent) 40%,transparent);
  position:relative; z-index:1;
  border:3px solid var(--white);
}
/* fallback shadow */
.step-num { box-shadow:0 6px 20px rgba(230,26,43,.35); }
.step-content h4 { font-size:1.02rem; margin-bottom:6px; }
.step-content p { font-size:.88rem; color:var(--muted); line-height:1.65; }

/* ── CHECKLIST ──────────────────────────────────────────────── */
.check-list { display:flex; flex-direction:column; gap:12px; }
.check-list li {
  display:flex; align-items:flex-start; gap:12px;
  font-size:.93rem; color:var(--text); line-height:1.6;
}
.check-list li::before {
  content:'\f00c'; font-family:'Font Awesome 6 Free';
  font-weight:900; color:var(--accent); flex-shrink:0;
  margin-top:3px; font-size:.85rem;
}

/* ── HIGHLIGHT BOX ──────────────────────────────────────────── */
.highlight-box {
  background:var(--accent-lt); border-left:4px solid var(--accent);
  border-radius:0 var(--r) var(--r) 0;
  padding:20px 24px; margin:24px 0;
}
.highlight-box p { font-size:.93rem; color:var(--navy); line-height:1.7; font-style:italic; }

/* ── ALERT BOX (avvisi legali SICURIX etc.) ─────────────────── */
.alert-box {
  background:#fff7ed; border:1px solid #fed7aa;
  border-radius:var(--r); padding:20px 24px;
  display:flex; gap:14px; align-items:flex-start;
}
.alert-box i { color:#f97316; font-size:1.2rem; flex-shrink:0; margin-top:2px; }
.alert-box-content strong { font-size:.95rem; color:var(--navy); display:block; margin-bottom:4px; }
.alert-box-content p { font-size:.87rem; color:var(--muted); line-height:1.65; }

/* ── TABELLA PREZZI ─────────────────────────────────────────── */
.pricing-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:860px; margin:56px auto 0; }
.price-card {
  background:var(--white); border-radius:var(--r-lg); padding:36px;
  border:2px solid var(--border); position:relative;
  box-shadow:var(--sh); transition:all .3s;
}
.price-card:hover { transform:translateY(-6px); box-shadow:var(--sh-xl); }
.price-card.featured { border-color:var(--accent); }
.price-badge {
  position:absolute; top:20px; right:20px;
  background:var(--accent); color:#fff;
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:.7rem;
  padding:4px 12px; border-radius:var(--r-pill); text-transform:uppercase;
}
.price-card__icon { font-size:2rem; margin-bottom:16px; }
.price-card__label { font-family:'Montserrat',sans-serif; font-weight:600; font-size:.78rem; color:var(--muted); letter-spacing:1px; text-transform:uppercase; margin-bottom:6px; }
.price-card__name { font-size:1.4rem; font-weight:800; margin-bottom:4px; }
.price-card__desc { font-size:.87rem; color:var(--muted); margin-bottom:20px; }
.price-card__amount { display:flex; align-items:baseline; gap:4px; margin-bottom:4px; }
.price-card__cur { font-family:'Montserrat',sans-serif; font-weight:700; font-size:1.4rem; }
.price-card__num { font-family:'Montserrat',sans-serif; font-weight:900; font-size:3.2rem; line-height:1; }
.price-card__per { font-size:.9rem; color:var(--muted); }
.price-divider { height:1px; background:var(--border); margin:20px 0; }
.price-features { display:flex; flex-direction:column; gap:10px; margin-bottom:28px; }
.price-features li { display:flex; gap:10px; align-items:flex-start; font-size:.87rem; color:var(--muted); }
.price-features li i { color:#22c55e; flex-shrink:0; margin-top:3px; font-size:.85rem; }

/* ── FAQ ACCORDION ──────────────────────────────────────────── */
.faq-list { display:flex; flex-direction:column; gap:10px; max-width:820px; margin:0 auto; }
.faq-item { background:var(--white); border:1px solid var(--border); border-radius:var(--r); overflow:hidden; }
.faq-question {
  width:100%; padding:18px 22px;
  display:flex; justify-content:space-between; align-items:center;
  font-family:'Montserrat',sans-serif; font-weight:600; font-size:.93rem;
  color:var(--navy); text-align:left; gap:16px; transition:color .2s; cursor:pointer;
}
.faq-question:hover { color:var(--accent); }
.faq-question i { color:var(--accent); transition:transform .3s; flex-shrink:0; }
.faq-question.open i { transform:rotate(180deg); }
.faq-answer {
  padding:0 22px; max-height:0; overflow:hidden;
  transition:max-height .4s var(--ease), padding .4s var(--ease);
  font-size:.9rem; color:var(--muted); line-height:1.75;
}
.faq-answer.open { padding:0 22px 18px; max-height:400px; }

/* ── TESTIMONIALS ───────────────────────────────────────────── */
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.testi-card {
  background:var(--white); border-radius:var(--r-lg); padding:28px;
  border-left:4px solid var(--accent); box-shadow:var(--sh-sm);
  transition:all .3s;
}
.testi-card:hover { transform:translateY(-4px); box-shadow:var(--sh-lg); }
.testi-stars { color:#f59e0b; letter-spacing:2px; margin-bottom:14px; font-size:.9rem; }
.testi-text { font-size:.9rem; color:var(--muted); line-height:1.75; font-style:italic; margin-bottom:20px; }
.testi-author { display:flex; align-items:center; gap:12px; }
.testi-avatar {
  width:44px; height:44px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-family:'Montserrat',sans-serif; font-weight:800; font-size:.95rem; color:#fff;
  background:linear-gradient(135deg, var(--accent), var(--accent-dk));
}
.testi-name { font-family:'Montserrat',sans-serif; font-weight:700; font-size:.9rem; color:var(--navy); }
.testi-role { font-size:.78rem; color:var(--muted); }

/* ── CTA FINALE ─────────────────────────────────────────────── */
.final-cta {
  background:linear-gradient(135deg, var(--navy) 0%, var(--navy2) 50%, #0f2640 100%);
  padding:100px 5%; text-align:center; position:relative; overflow:hidden;
}
.final-cta::before {
  content:''; position:absolute;
  width:800px; height:800px; border-radius:50%;
  background:radial-gradient(circle, rgba(230,26,43,.15) 0%, transparent 65%);
  top:-300px; left:50%; transform:translateX(-50%);
  pointer-events:none;
}
.final-cta .section-title { color:#fff; }
.final-cta .section-sub { color:rgba(255,255,255,.72); margin:16px auto 40px; }
.final-cta .section-eyebrow { background:rgba(255,255,255,.1); color:rgba(255,255,255,.9); }
.cta-btns { display:flex; justify-content:center; align-items:center; gap:16px; flex-wrap:wrap; }
.cta-note { color:rgba(255,255,255,.5); font-size:.8rem; margin-top:20px; }
.cta-note i { color:rgba(255,255,255,.5); margin-right:4px; }

/* ── FOOTER ─────────────────────────────────────────────────── */
footer {
  background:var(--navy);
  color:rgba(255,255,255,.6);
  padding:60px 5% 28px;
}
.footer__inner { max-width:var(--max-w); margin:0 auto; }
.footer__top {
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px;
  margin-bottom:48px;
  padding-bottom:40px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.footer__brand-logo { display:flex; align-items:center; gap:8px; margin-bottom:14px; }
.footer__brand-logo img { height:36px; width:auto; }
.footer__brand-logo-txt {
  font-family:'Montserrat',sans-serif; font-weight:800;
  font-size:1.1rem; color:#fff;
}
.footer__brand-logo-txt span { color:var(--red); }
.footer__brand-desc { font-size:.84rem; line-height:1.7; max-width:220px; }
.footer__col h5 {
  font-family:'Montserrat',sans-serif; font-weight:700;
  color:#fff; font-size:.82rem; letter-spacing:1px;
  text-transform:uppercase; margin-bottom:16px;
}
.footer__col a { display:block; font-size:.83rem; margin-bottom:9px; transition:color .2s; }
.footer__col a:hover { color:#fff; }
.footer__contact-item { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.footer__contact-item i { color:var(--red); width:16px; }
.footer__contact-item a { font-size:.83rem; transition:color .2s; }
.footer__contact-item a:hover { color:#fff; }
.footer__socials { display:flex; gap:10px; margin-top:14px; }
.footer__social {
  width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,.07); display:flex;
  align-items:center; justify-content:center;
  font-size:.85rem; transition:all .2s;
}
.footer__social:hover { background:var(--red); color:#fff; }
.footer__bottom {
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:14px; font-size:.78rem;
}
.footer__bottom-links { display:flex; gap:20px; }
.footer__bottom-links a { transition:color .2s; }
.footer__bottom-links a:hover { color:#fff; }

/* ── COOKIE BANNER ──────────────────────────────────────────── */
.cookie-banner {
  position:fixed; bottom:0; left:0; right:0; z-index:9000;
  background:rgba(13,46,74,.97); backdrop-filter:blur(12px);
  padding:18px 5%;
  display:none; align-items:center; justify-content:space-between;
  gap:20px; flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.08);
}
.cookie-banner.show { display:flex; }
.cookie-banner p { font-size:.84rem; color:rgba(255,255,255,.8); max-width:700px; line-height:1.6; }
.cookie-banner p a { color:var(--red); text-decoration:underline; }
.cookie-btns { display:flex; gap:10px; flex-shrink:0; flex-wrap:wrap; }
.cookie-accept {
  background:var(--red); color:#fff;
  padding:10px 22px; border-radius:var(--r-pill);
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:.82rem;
  cursor:pointer; transition:all .2s; border:2px solid var(--red);
  white-space:nowrap;
}
.cookie-accept:hover { background:var(--red-dk); border-color:var(--red-dk); }
.cookie-reject {
  background:transparent; color:#fff;
  padding:10px 22px; border-radius:var(--r-pill);
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:.82rem;
  cursor:pointer; border:2px solid rgba(255,255,255,.45); transition:all .2s;
  white-space:nowrap;
}
.cookie-reject:hover { border-color:#fff; background:rgba(255,255,255,.08); }

/* ── WHATSAPP FLOAT ─────────────────────────────────────────── */
.wa-float {
  position:fixed; bottom:30px; right:30px; z-index:8000;
  width:60px; height:60px; border-radius:50%;
  background:#25d366; color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:1.6rem;
  box-shadow:0 6px 28px rgba(37,211,102,.5);
  transition:all .3s;
  animation:waPulse 3s ease-in-out infinite;
}
.wa-float:hover { transform:scale(1.1); box-shadow:0 8px 36px rgba(37,211,102,.65); animation:none; }
.wa-float__tooltip {
  position:absolute; right:70px; top:50%; transform:translateY(-50%);
  background:var(--navy); color:#fff;
  padding:8px 14px; border-radius:8px;
  font-family:'Montserrat',sans-serif; font-size:.78rem; font-weight:600;
  white-space:nowrap; pointer-events:none;
  opacity:0; transition:opacity .2s;
  box-shadow:var(--sh);
}
.wa-float__tooltip::after {
  content:''; position:absolute; right:-6px; top:50%; transform:translateY(-50%);
  width:0; height:0;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  border-left:6px solid var(--navy);
}
.wa-float:hover .wa-float__tooltip { opacity:1; }

@keyframes waPulse {
  0%,100%{ box-shadow:0 6px 28px rgba(37,211,102,.5),0 0 0 0 rgba(37,211,102,.4); }
  70%    { box-shadow:0 6px 28px rgba(37,211,102,.5),0 0 0 16px rgba(37,211,102,0); }
}

/* ── REVEAL ANIMATIONS ──────────────────────────────────────── */
.reveal {
  opacity:0; transform:translateY(30px);
  transition:opacity .65s var(--ease), transform .65s var(--ease);
}
.reveal.visible { opacity:1; transform:none; }
.reveal-left  { opacity:0; transform:translateX(-30px); transition:opacity .65s var(--ease),transform .65s var(--ease); }
.reveal-right { opacity:0; transform:translateX(30px);  transition:opacity .65s var(--ease),transform .65s var(--ease); }
.reveal-left.visible, .reveal-right.visible { opacity:1; transform:none; }
.delay-1 { transition-delay:.1s; }
.delay-2 { transition-delay:.2s; }
.delay-3 { transition-delay:.3s; }
.delay-4 { transition-delay:.4s; }
.delay-5 { transition-delay:.5s; }

/* ── SPLIT LAYOUT (testo + visual) ─────────────────────────── */
.split { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.split.reverse { }
.split__text { }
.split__visual {
  background:linear-gradient(135deg, var(--accent-lt), rgba(43,111,145,.08));
  border-radius:var(--r-lg); padding:40px; text-align:center;
}

/* ── NUMERO BIG IN CARD ─────────────────────────────────────── */
.big-card {
  background:var(--navy); border-radius:var(--r-lg);
  padding:40px; text-align:center; color:#fff;
}
.big-card__num {
  font-family:'Montserrat',sans-serif; font-weight:900;
  font-size:4rem; color:var(--accent); line-height:1; display:block;
}
.big-card__label { font-size:.9rem; color:rgba(255,255,255,.7); margin-top:8px; }

/* ── TABELLA SEMPLICE ────────────────────────────────────────── */
.ott-table {
  width:100%; border-collapse:collapse; font-size:.9rem;
  border-radius:var(--r); overflow:hidden;
  box-shadow:var(--sh-sm);
}
.ott-table th {
  background:var(--navy); color:#fff;
  font-family:'Montserrat',sans-serif; font-weight:700;
  padding:14px 16px; text-align:left; font-size:.82rem;
}
.ott-table td { padding:12px 16px; border-bottom:1px solid var(--border); }
.ott-table tr:last-child td { border-bottom:none; }
.ott-table tr:nth-child(even) td { background:var(--off); }
.ott-table td:first-child { font-weight:600; }

/* ── FORM CONTATTI ──────────────────────────────────────────── */
.form-group { margin-bottom:18px; }
.form-label {
  display:block; font-family:'Montserrat',sans-serif;
  font-weight:600; font-size:.82rem; color:var(--navy);
  margin-bottom:6px;
}
.form-input, .form-select, .form-textarea {
  width:100%; padding:13px 16px;
  border:2px solid var(--border); border-radius:var(--r);
  font-size:.93rem; color:var(--text);
  background:var(--white);
  transition:border-color .2s, box-shadow .2s;
}
.form-input:focus, .form-select:focus, .form-textarea:focus {
  border-color:var(--accent); outline:none;
  box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 12%, transparent);
}
/* fallback */
.form-input:focus, .form-select:focus, .form-textarea:focus {
  box-shadow:0 0 0 4px rgba(230,26,43,.12);
}
.form-textarea { resize:vertical; min-height:140px; line-height:1.6; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }

/* ── BREADCRUMB ─────────────────────────────────────────────── */
.breadcrumb {
  display:flex; align-items:center; gap:8px;
  font-size:.8rem; color:rgba(255,255,255,.6);
  margin-bottom:20px;
}
.breadcrumb a { color:rgba(255,255,255,.6); transition:color .2s; }
.breadcrumb a:hover { color:#fff; }
.breadcrumb i { font-size:.6rem; }

/* ── PILL (alias hero-svc__pill per pagine servizio) ────────── */
.pill {
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,.85);
  padding:6px 16px; border-radius:var(--r-pill);
  font-family:'Montserrat',sans-serif; font-size:.78rem; font-weight:600;
  display:inline-block;
}

/* ── GRIGLIA CONTATTI (form + info side by side) ────────────── */
.contact-grid {
  display:grid; grid-template-columns:1.2fr 1fr; gap:60px; align-items:start;
}
@media (max-width:900px) {
  .contact-grid { grid-template-columns:1fr; gap:40px; }
}

/* ══════════════════════════════════════════════════════════════
   HOMEPAGE WOW — Design v2
   ══════════════════════════════════════════════════════════════ */

/* Custom cursor (desktop only) */
.cursor,.cursor-dot{position:fixed;border-radius:50%;pointer-events:none;z-index:99999;top:0;left:0;}
.cursor{width:38px;height:38px;border:2px solid rgba(230,26,43,.55);transform:translate(-50%,-50%);transition:width .3s,height .3s,background .3s,border-color .3s;}
.cursor-dot{width:5px;height:5px;background:var(--red);transform:translate(-50%,-50%);}
.cursor.is-hover{width:56px;height:56px;background:rgba(230,26,43,.08);border-color:var(--red);}
body.has-cursor *{cursor:none!important;}
@media(max-width:1024px){.cursor,.cursor-dot{display:none!important;}body.has-cursor *{cursor:auto!important;}}

/* ── HERO V2 ────────────────────────────────────────────────── */
.hero-v2{
  min-height:100vh; display:flex; align-items:center;
  padding:calc(var(--nav-h)+80px) 5% 80px;
  background:#060c16; position:relative; overflow:hidden;
}
.hero-v2__mesh{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 70% 80% at 10% 20%, rgba(230,26,43,.18) 0%, transparent 55%),
    radial-gradient(ellipse 55% 65% at 90% 80%, rgba(43,111,145,.2) 0%, transparent 55%),
    radial-gradient(ellipse 40% 50% at 55% 15%, rgba(79,70,229,.1) 0%, transparent 55%);
  animation:meshShift 20s ease-in-out infinite alternate;
}
@keyframes meshShift{0%{transform:scale(1);}100%{transform:scale(1.12) rotate(2deg);}}
.hero-v2__noise{
  position:absolute;inset:0;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.hero-v2__grid{
  position:absolute;inset:0;pointer-events:none;opacity:.025;
  background-image:linear-gradient(rgba(255,255,255,.8) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.8) 1px,transparent 1px);
  background-size:72px 72px;
}
.hero-v2__inner{
  position:relative;z-index:2;max-width:var(--max-w);margin:0 auto;width:100%;
  display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;
}
.hero-v2__badge{
  display:inline-flex;align-items:center;gap:9px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.78);padding:8px 18px;border-radius:var(--r-pill);
  font-family:'Montserrat',sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.5px;
  margin-bottom:28px;backdrop-filter:blur(8px);
}
.hero-v2__title{
  font-size:clamp(3.2rem,6vw,5.8rem);font-weight:900;color:#fff;
  line-height:1.04;margin-bottom:24px;letter-spacing:-.5px;
}
.gradient-text{
  background:linear-gradient(135deg,#ff4d5e,#e61a2b 40%,#ff6b35);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hero-v2__sub{font-size:1.08rem;color:rgba(255,255,255,.62);max-width:480px;line-height:1.85;margin-bottom:40px;}
.hero-v2__cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:52px;}
.hero-v2__proof{display:flex;align-items:center;flex-wrap:wrap;}
.proof-item{padding:0 28px;}
.proof-item:first-child{padding-left:0;}
.proof-num{display:block;font-family:'Montserrat',sans-serif;font-weight:900;font-size:1.9rem;color:#fff;line-height:1;}
.proof-label{font-size:.73rem;color:rgba(255,255,255,.4);margin-top:4px;display:block;}
.proof-sep{width:1px;height:40px;background:rgba(255,255,255,.1);flex-shrink:0;}

/* Dashboard glassmorphism */
.hero-v2__visual{position:relative;display:flex;justify-content:center;align-items:center;}
.hero-v2__card-main{
  background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);
  border-radius:24px;padding:28px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  box-shadow:0 32px 80px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.08);
  width:320px;position:relative;z-index:2;
}
.dashboard-header{display:flex;align-items:center;gap:12px;margin-bottom:22px;}
.dashboard-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--red),#ff6b35);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.82rem;color:#fff;flex-shrink:0;}
.dashboard-name{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.85rem;color:#fff;}
.dashboard-sub{font-size:.7rem;color:rgba(255,255,255,.38);}
.dashboard-saving{background:linear-gradient(135deg,rgba(230,26,43,.14),rgba(230,26,43,.04));border:1px solid rgba(230,26,43,.22);border-radius:14px;padding:16px 18px;margin-bottom:14px;text-align:center;}
.dashboard-saving-label{font-size:.68rem;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:1px;}
.dashboard-saving-num{font-family:'Montserrat',sans-serif;font-weight:900;font-size:2.2rem;color:var(--red);line-height:1;margin:4px 0;}
.dashboard-saving-tag{font-size:.68rem;color:#4ade80;}
.dashboard-services{display:flex;flex-direction:column;gap:9px;}
.dash-svc{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:9px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);}
.dash-svc-icon{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:.72rem;flex-shrink:0;}
.dash-svc-name{font-family:'Montserrat',sans-serif;font-size:.75rem;font-weight:600;color:rgba(255,255,255,.75);flex:1;}
.dash-svc-badge{font-size:.62rem;font-weight:700;padding:3px 8px;border-radius:6px;white-space:nowrap;}
.badge-active{background:rgba(74,222,128,.14);color:#4ade80;}
.badge-saving{background:rgba(230,26,43,.14);color:#ff8080;}
.hero-v2__float{
  position:absolute;background:rgba(255,255,255,.93);border-radius:14px;padding:11px 15px;
  box-shadow:0 20px 60px rgba(0,0,0,.4);display:flex;align-items:center;gap:10px;
  animation:floatCard 5s ease-in-out infinite;backdrop-filter:blur(8px);
}
.hero-v2__float--1{top:-20px;right:-28px;animation-delay:-1.5s;}
.hero-v2__float--2{bottom:-14px;left:-28px;animation-delay:-3.5s;}
.float-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;}
.float-val{font-family:'Montserrat',sans-serif;font-weight:800;font-size:.88rem;color:var(--navy);}
.float-label{font-size:.66rem;color:var(--muted);}

/* ── TICKER ─────────────────────────────────────────────────── */
.ticker{background:var(--red);padding:13px 0;overflow:hidden;position:relative;z-index:10;}
.ticker__inner{display:flex;gap:0;width:max-content;animation:tickerMove 28s linear infinite;}
.ticker:hover .ticker__inner{animation-play-state:paused;}
@keyframes tickerMove{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.ticker__item{
  display:inline-flex;align-items:center;gap:18px;padding:0 28px;
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:.78rem;
  color:#fff;letter-spacing:.8px;text-transform:uppercase;white-space:nowrap;
}
.ticker__item::after{content:'◆';font-size:.35rem;opacity:.5;margin-left:18px;}

/* ── CHI SIAMO V2 (dark) ─────────────────────────────────────── */
.chisiamo-v2{padding:96px 5%;background:#060c16;}
.chisiamo-v2__inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.chisiamo-v2__cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.chi-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--r);padding:22px;transition:background .3s,border-color .3s;}
.chi-card:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);}
.chi-card__icon{width:42px;height:42px;border-radius:11px;background:rgba(230,26,43,.14);color:var(--red);display:flex;align-items:center;justify-content:center;font-size:1.05rem;margin-bottom:13px;}
.chi-card h4{font-size:.92rem;color:#fff;margin-bottom:7px;}
.chi-card p{font-size:.81rem;color:rgba(255,255,255,.42);line-height:1.7;}

/* ── NUMERI V2 ──────────────────────────────────────────────── */
.numbers-v2{background:#0a1522;padding:72px 5%;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);}
.numbers-v2__inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);text-align:center;}
.num-item{padding:28px;border-right:1px solid rgba(255,255,255,.07);}
.num-item:last-child{border-right:none;}
.num-item__val{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(2.4rem,4vw,3.8rem);color:#fff;display:block;line-height:1;}
.num-item__val .red{color:var(--red);}
.num-item__label{font-size:.82rem;color:rgba(255,255,255,.4);margin-top:10px;}
.num-item__sub{font-size:.7rem;color:rgba(255,255,255,.22);margin-top:4px;}

/* ── SERVIZI V2 (dark cards + tilt) ────────────────────────── */
.services-v2{padding:100px 5%;background:var(--white);}
.services-v2__inner{max-width:var(--max-w);margin:0 auto;}
.svc-grid-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:56px;}
.svc-card-v2{
  background:#0d1f35;border-radius:var(--r-lg);padding:30px 26px;
  border:1px solid rgba(255,255,255,.06);position:relative;overflow:hidden;
  display:flex;flex-direction:column;gap:14px;
  transition:border-color .25s,box-shadow .25s;
  text-decoration:none;color:inherit;
  transform-style:preserve-3d;
  cursor:pointer;
}
.svc-card-v2::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--svc-clr,var(--red));transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);}
.svc-card-v2:hover::before{transform:scaleX(1);}
.svc-card-v2:hover{border-color:rgba(255,255,255,.12);box-shadow:0 24px 60px rgba(0,0,0,.45);}
.svc-card-v2__num{position:absolute;top:16px;right:18px;font-family:'Montserrat',sans-serif;font-weight:900;font-size:2.8rem;color:rgba(255,255,255,.04);line-height:1;pointer-events:none;}
.svc-card-v2__icon{width:50px;height:50px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0;background:rgba(255,255,255,.06);color:var(--svc-clr,var(--red));transition:background .3s;}
.svc-card-v2:hover .svc-card-v2__icon{background:rgba(255,255,255,.1);}
.svc-card-v2__title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:.97rem;color:#fff;}
.svc-card-v2__desc{font-size:.83rem;color:rgba(255,255,255,.42);line-height:1.65;flex:1;}
.svc-card-v2__link{display:flex;align-items:center;gap:7px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.78rem;color:var(--svc-clr,var(--red));margin-top:auto;transition:gap .2s;}
.svc-card-v2:hover .svc-card-v2__link{gap:12px;}

/* ── METODO V2 ──────────────────────────────────────────────── */
.metodo-v2{padding:100px 5%;background:var(--off);}
.metodo-v2__inner{max-width:var(--max-w);margin:0 auto;}
.metodo-v2__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:60px;}
.metodo-v2__step{background:var(--white);border-radius:var(--r-lg);padding:36px 30px;border:1px solid var(--border);box-shadow:var(--sh-sm);position:relative;overflow:hidden;transition:all .3s var(--ease);}
.metodo-v2__step:hover{transform:translateY(-8px);box-shadow:var(--sh-xl);}
.metodo-v2__step-bg{position:absolute;top:-8px;right:14px;font-family:'Montserrat',sans-serif;font-weight:900;font-size:7rem;color:var(--accent);opacity:.05;line-height:1;pointer-events:none;user-select:none;}
.metodo-v2__step-num{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;background:var(--accent-lt);color:var(--accent);font-family:'Montserrat',sans-serif;font-weight:900;font-size:.95rem;margin-bottom:18px;}
.metodo-v2__step h3{font-size:1.1rem;margin-bottom:11px;}
.metodo-v2__step p{font-size:.87rem;color:var(--muted);line-height:1.75;}

/* ── QUOTE V2 ───────────────────────────────────────────────── */
.quote-v2{background:#060c16;padding:100px 5%;position:relative;overflow:hidden;}
.quote-v2::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 50% 50%,rgba(230,26,43,.08) 0%,transparent 65%);pointer-events:none;}
.quote-v2__inner{max-width:840px;margin:0 auto;text-align:center;position:relative;z-index:2;}
.quote-v2__mark{font-size:9rem;color:var(--red);opacity:.22;line-height:.6;font-family:Georgia,serif;display:block;margin-bottom:-32px;}
.quote-v2__text{font-size:clamp(1.25rem,2.2vw,1.85rem);color:rgba(255,255,255,.88);font-weight:300;line-height:1.65;font-style:italic;margin-bottom:28px;}
.quote-v2__text strong{font-weight:800;color:#fff;font-style:normal;}
.quote-v2__author{font-family:'Montserrat',sans-serif;font-size:.82rem;color:rgba(255,255,255,.38);}
.quote-v2__author span{color:var(--red);}
.quote-v2__stars{color:#f59e0b;font-size:1.1rem;letter-spacing:3px;margin-bottom:28px;}

/* ── RESPONSIVE V2 ──────────────────────────────────────────── */
@media(max-width:1024px){
  .hero-v2__inner{grid-template-columns:1fr;gap:48px;}
  .hero-v2__visual{display:none;}
  .chisiamo-v2__inner{grid-template-columns:1fr;gap:48px;}
  .svc-grid-v2{grid-template-columns:1fr 1fr;}
  .numbers-v2__inner{grid-template-columns:1fr 1fr;}
  .metodo-v2__steps{grid-template-columns:1fr;}
}
@media(max-width:768px){
  .hero-v2{padding:calc(var(--nav-h)+60px) 5% 60px;}
  .hero-v2__title{font-size:clamp(2.6rem,9vw,3.8rem);}
  .svc-grid-v2{grid-template-columns:1fr;}
  .chisiamo-v2__cards{grid-template-columns:1fr;}
  .numbers-v2__inner{grid-template-columns:1fr 1fr;}
  .num-item{padding:20px 12px;}
  .num-item:nth-child(2n){border-right:none;}
  .num-item__val{font-size:clamp(1.7rem,7vw,2.2rem);}
  .num-item__sub{font-size:.62rem;}
  .proof-item{padding:0 16px;}
}
@media(max-width:540px){
  .hero-v2__cta{flex-direction:column;align-items:flex-start;}
  .hero-v2__proof{flex-direction:column;gap:20px;align-items:flex-start;}
  .proof-sep{display:none;}
  .proof-item{padding:0;}
  .numbers-v2__inner{grid-template-columns:1fr 1fr;}
}

/* ── UTILITY ────────────────────────────────────────────────── */
.text-center { text-align:center; }
.text-right  { text-align:right; }
.mt-8  { margin-top:8px; }
.mt-12 { margin-top:12px; }
.mt-16 { margin-top:16px; }
.mt-24 { margin-top:24px; }
.mt-32 { margin-top:32px; }
.mt-48 { margin-top:48px; }
.mb-8  { margin-bottom:8px; }
.mb-16 { margin-bottom:16px; }
.mb-24 { margin-bottom:24px; }
.mb-32 { margin-bottom:32px; }
.fw-800 { font-weight:800; }
.color-accent { color:var(--accent); }
.color-navy   { color:var(--navy); }
.color-white  { color:#fff; }

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width:1024px) {
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .hero__inner   { grid-template-columns:1fr; gap:40px; }
  .hero__visual  { display:none; }
  .split         { grid-template-columns:1fr; gap:40px; }
  .footer__top   { grid-template-columns:1fr 1fr; }
}
@media (max-width:768px) {
  section { padding:64px 5%; }
  .nav__links     { display:none; }
  .nav__burger    { display:flex; }
  .nav__logo img  { height:36px; }
  .nav__logo-text { display:none; }
  .nav__actions   { display:none !important; }
  .nav__inner     { gap:8px; }
  .hero-fb__inner { padding-top:80px; }
  .metodo-grid    { grid-template-columns:1fr; }
  .features-grid-2{ grid-template-columns:1fr; }
  .features-grid-3{ grid-template-columns:1fr; }
  .testi-grid     { grid-template-columns:1fr; }
  .pricing-grid   { grid-template-columns:1fr; max-width:420px; margin-left:auto; margin-right:auto; }
  .form-row       { grid-template-columns:1fr; }
  .stats-bar__inner { gap:32px; }
  .stat-divider   { display:none; }
  .hero-svc__title { font-size:clamp(1.8rem,7vw,2.8rem); }
}
@media (max-width:540px) {
  section { padding:52px 5%; }
  .hero   { padding:calc(var(--nav-h)+50px) 5% 60px; }
  .hero__btns { flex-direction:column; align-items:flex-start; }
  .hero__title { font-size:clamp(1.9rem,8vw,2.8rem); }
  .cta-btns { flex-direction:column; align-items:center; }
  .footer__top { grid-template-columns:1fr 1fr; gap:0; }
  .footer__brand { grid-column:1/-1; padding-bottom:18px; border-bottom:1px solid rgba(255,255,255,.08); }
  .footer__col { padding:14px 12px; border-right:1px solid rgba(255,255,255,.06); }
  .footer__col:nth-child(3) { border-right:none; }
  .footer__col:last-child { grid-column:1/-1; border-right:none; border-top:1px solid rgba(255,255,255,.06); }
  .services-grid { grid-template-columns:1fr; }
  .wa-float { bottom:20px; right:20px; width:54px; height:54px; }
}

/* ══════════════════════════════════════════════════════════════
   OTTIMIX v3 — Nuovi componenti: preloader · hero · bento
   ══════════════════════════════════════════════════════════════ */

/* ── PRELOADER ────────────────────────────────────────────────── */
.preloader{position:fixed;inset:0;z-index:99999;background:#050a14;display:flex;align-items:center;justify-content:center;transition:opacity .6s cubic-bezier(.4,0,.2,1),visibility .6s;}
.preloader.done{opacity:0;visibility:hidden;pointer-events:none;}
.preloader__inner{display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center;}
.preloader__logo{height:54px;width:auto;filter:brightness(0) invert(1);animation:plReveal .9s cubic-bezier(.16,1,.3,1) both;}
@keyframes plReveal{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
.preloader__bar{width:200px;height:2px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden;}
.preloader__bar-fill{height:100%;width:0%;background:linear-gradient(90deg,#e61a2b,#ff7b42);border-radius:2px;transition:width .08s linear;}
.preloader__text{font-size:.68rem;color:rgba(255,255,255,.28);letter-spacing:2px;text-transform:uppercase;}

/* ── HERO FLAGSHIP ────────────────────────────────────────────── */
.hero-flagship{min-height:100vh;min-height:100dvh;display:flex;align-items:center;padding:calc(var(--nav-h)+80px) 5% 80px;background:#050a14;position:relative;overflow:hidden;}
.hf-mesh{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 80% at 10% 25%,rgba(230,26,43,.17) 0%,transparent 52%),radial-gradient(ellipse 55% 65% at 88% 75%,rgba(43,111,145,.15) 0%,transparent 52%),radial-gradient(ellipse 40% 50% at 50% 8%,rgba(79,70,229,.09) 0%,transparent 52%);animation:hfMesh 18s ease-in-out infinite alternate;}
@keyframes hfMesh{to{transform:scale(1.12) rotate(1.5deg);}}
.hf-grid{position:absolute;inset:0;pointer-events:none;opacity:.024;background-image:linear-gradient(rgba(255,255,255,.9) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.9) 1px,transparent 1px);background-size:72px 72px;}
.hf-noise{position:absolute;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.hf-inner{position:relative;z-index:2;max-width:var(--max-w);margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.hf-badge{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);padding:8px 18px;border-radius:var(--r-pill);font-size:.75rem;font-weight:600;color:rgba(255,255,255,.75);letter-spacing:.5px;margin-bottom:28px;width:fit-content;}
.hf-badge__dot{width:7px;height:7px;border-radius:50%;background:#4ade80;animation:pulse 2s ease-in-out infinite;flex-shrink:0;}
.hf-title{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(3.2rem,5.8vw,6rem);line-height:1.02;color:#fff;margin-bottom:24px;letter-spacing:-.5px;display:flex;flex-direction:column;}
.hf-title__line{display:block;}
.hf-title__line--accent{background:linear-gradient(110deg,#ff4d5e,#e61a2b 45%,#ff7b42);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hf-title__line--muted{color:rgba(255,255,255,.32);}
.hf-sub{font-size:1.06rem;color:rgba(255,255,255,.58);max-width:480px;line-height:1.85;margin-bottom:36px;}
.hf-sub strong{color:rgba(255,255,255,.88);font-weight:700;}
.hf-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:24px;}
.btn-arrow{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.18);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.8rem;transition:background .25s,transform .3s cubic-bezier(.16,1,.3,1);}
.btn-primary:hover .btn-arrow{background:rgba(255,255,255,.3);transform:translateX(4px);}
.google-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px);border-radius:var(--r-pill);padding:7px 16px 7px 12px;margin-bottom:28px;width:fit-content;text-decoration:none;transition:background .2s;}
.google-badge:hover{background:rgba(255,255,255,.1);}
.google-badge__stars{color:#FBBC05;font-size:.9rem;letter-spacing:1px;}
.google-badge__text{font-size:.72rem;font-weight:600;color:rgba(255,255,255,.7);}
.hf-proof{display:flex;align-items:center;flex-wrap:wrap;gap:0;}
.hf-proof__item{padding:0 24px;}
.hf-proof__item:first-child{padding-left:0;}
.hf-proof__num{font-family:'Montserrat',sans-serif;font-weight:900;font-size:1.8rem;color:#fff;display:block;line-height:1;}
.hf-proof__label{font-size:.68rem;color:rgba(255,255,255,.35);display:block;margin-top:4px;}
.hf-proof__sep{width:1px;height:38px;background:rgba(255,255,255,.1);flex-shrink:0;}

/* Dashboard glassmorphism */
.hf-visual{position:relative;display:flex;align-items:center;justify-content:center;}
.hf-dash{width:100%;max-width:420px;background:rgba(12,24,40,.72);border:1px solid rgba(255,255,255,.1);border-radius:22px;overflow:hidden;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);box-shadow:0 48px 120px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.07);position:relative;z-index:2;}
.hf-dash__bar{background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.07);padding:12px 18px;display:flex;align-items:center;gap:10px;}
.hf-dash__av{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#e61a2b,#ff7b42);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.62rem;color:#fff;flex-shrink:0;}
.hf-dash__name{font-weight:700;font-size:.8rem;color:rgba(255,255,255,.85);}
.hf-dash__role{font-size:.62rem;color:rgba(255,255,255,.3);}
.hf-dash__status{margin-left:auto;font-size:.62rem;color:rgba(255,255,255,.3);display:flex;align-items:center;gap:5px;}
.hf-dash__dot{width:6px;height:6px;border-radius:50%;background:#4ade80;animation:pulse 2s ease-in-out infinite;flex-shrink:0;}
.hf-dash__body{padding:16px 18px;display:flex;flex-direction:column;gap:12px;}
.hf-dash__total{background:linear-gradient(135deg,rgba(230,26,43,.16),rgba(230,26,43,.05));border:1px solid rgba(230,26,43,.22);border-radius:14px;padding:14px 16px;}
.hf-dash__total-label{font-size:.62rem;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:1px;}
.hf-dash__total-num{font-family:'Montserrat',sans-serif;font-weight:900;font-size:2.2rem;color:#fff;line-height:1.1;margin:4px 0;}
.hf-dash__total-num span{font-size:1rem;color:rgba(255,255,255,.4);font-weight:600;}
.hf-dash__total-tag{font-size:.65rem;color:#4ade80;margin-bottom:10px;}
.hf-dash__track{height:4px;background:rgba(255,255,255,.07);border-radius:2px;overflow:hidden;}
.hf-dash__fill{height:100%;border-radius:2px;background:linear-gradient(90deg,#e61a2b,#ff7b42);}
.hf-dash__svcs{display:flex;flex-direction:column;gap:6px;}
.hf-dash__svc{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:9px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);}
.hf-dash__svc-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.hf-dash__svc-name{font-size:.7rem;font-weight:600;color:rgba(255,255,255,.65);flex:1;}
.hf-dash__svc-amt{font-size:.7rem;font-weight:700;white-space:nowrap;}
.hf-dash__svc-bar{width:48px;height:3px;background:rgba(255,255,255,.07);border-radius:2px;overflow:hidden;flex-shrink:0;}
.hf-dash__svc-bar div{height:100%;border-radius:2px;}

/* Floating cards */
.hf-float{position:absolute;background:rgba(255,255,255,.94);border-radius:14px;padding:10px 14px;box-shadow:0 20px 60px rgba(0,0,0,.45);display:flex;align-items:center;gap:10px;backdrop-filter:blur(8px);animation:floatCard 5s ease-in-out infinite;}
.hf-float--1{top:-18px;right:-24px;animation-delay:-1.5s;}
.hf-float--2{bottom:-14px;left:-24px;animation-delay:-3.5s;}
.hf-float__icon{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;}
.hf-float__val{font-weight:700;font-size:.82rem;color:var(--navy);}
.hf-float__sub{font-size:.65rem;color:var(--muted);margin-top:1px;}

/* Hero reveal animations */
.hero-el{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);}
.hero-el--visible{opacity:1;transform:none;}
.hf-visual.hero-el{transform:translateX(40px);}
.hf-visual.hero-el.hero-el--visible{transform:none;}

/* ── SERVICE BENTO ────────────────────────────────────────────── */
.svc-section{padding:100px 5%;background:var(--white);}
.svc-section__inner{max-width:var(--max-w);margin:0 auto;}
.svc-bento{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin-top:56px;}
.svc-bento__card{background:#0d1a2e;border-radius:var(--r-lg);padding:28px;border:1px solid rgba(255,255,255,.06);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:12px;transition:border-color .25s,box-shadow .3s,transform .3s cubic-bezier(.16,1,.3,1);text-decoration:none;color:inherit;cursor:pointer;transform-style:preserve-3d;}
.svc-bento__card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--svc,#e61a2b);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1);}
.svc-bento__card:hover::before{transform:scaleX(1);}
.svc-bento__card:hover{border-color:rgba(255,255,255,.14);box-shadow:0 24px 64px rgba(0,0,0,.5);}
.svc-bento__card--lg{grid-column:span 2;}
.sbc-num{position:absolute;top:14px;right:18px;font-family:'Montserrat',sans-serif;font-weight:900;font-size:3.2rem;color:rgba(255,255,255,.04);line-height:1;pointer-events:none;user-select:none;}
.sbc-icon{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0;background:rgba(255,255,255,.06);transition:background .3s;}
.svc-bento__card:hover .sbc-icon{background:rgba(255,255,255,.1);}
.sbc-title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:.98rem;color:#fff;}
.sbc-desc{font-size:.83rem;color:rgba(255,255,255,.42);line-height:1.65;flex:1;}
.sbc-link{display:flex;align-items:center;gap:7px;font-weight:700;font-size:.78rem;color:var(--svc,#e61a2b);margin-top:auto;transition:gap .22s;}
.svc-bento__card:hover .sbc-link{gap:13px;}

/* ── PROBLEM/SOLUTION (update) ────────────────────────────────── */
.problem-section{background:var(--white);padding:100px 8%;}
.problem-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.problem-left h2{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(2rem,3.5vw,3rem);color:var(--navy);line-height:1.15;margin-bottom:20px;}
.problem-left h2 .red{color:var(--red);}
.problem-left p{font-size:1rem;color:var(--muted);line-height:1.85;margin-bottom:16px;}
.problem-stat{margin-top:32px;display:flex;gap:40px;}
.ps-num{font-family:'Montserrat',sans-serif;font-weight:900;font-size:2.2rem;color:var(--red);display:block;line-height:1;}
.ps-lbl{font-size:.78rem;color:var(--muted);margin-top:4px;}
.problem-right{display:flex;flex-direction:column;gap:16px;}
.sol-card{display:flex;gap:16px;align-items:flex-start;background:var(--off);border-radius:var(--r);padding:20px 22px;border-left:4px solid var(--sc,var(--red));transition:all .25s;}
.sol-card:hover{background:#fff;box-shadow:var(--sh-lg);transform:translateX(5px);}
.sol-card__ic{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;background:var(--sc-lt,rgba(230,26,43,.1));color:var(--sc,var(--red));}
.sol-card__title{font-weight:700;font-size:.9rem;color:var(--navy);margin-bottom:5px;}
.sol-card__text{font-size:.83rem;color:var(--muted);line-height:1.65;}

/* ── RESPONSIVE v3 ───────────────────────────────────────────── */
@media(max-width:1100px){
  .hf-inner{grid-template-columns:1fr;gap:48px;}
  .hf-visual{display:none;}
  .hf-title{font-size:clamp(2.8rem,8vw,4.5rem);}
  .svc-bento{grid-template-columns:1fr 1fr;}
  .svc-bento__card--lg{grid-column:span 2;}
  .problem-inner{grid-template-columns:1fr;gap:48px;}
}
@media(max-width:768px){
  .hero-flagship{padding:calc(var(--nav-h)+56px) 5% 60px;}
  .hf-cta{flex-direction:column;align-items:flex-start;}
  .hf-proof{flex-wrap:wrap;gap:20px;}
  .hf-proof__sep{display:none;}
  .hf-proof__item{padding:0;}
  .svc-bento{grid-template-columns:1fr;}
  .svc-bento__card--lg{grid-column:span 1;}
  .problem-section{padding:80px 5%;}
}
@media(max-width:480px){
  .hf-title{font-size:clamp(2.4rem,10vw,3.5rem);}
  .hf-float{display:none;}
}

/* ── ALIAS E UTILITY ─────────────────────────────────────────── */
.btn-ghost{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.75);padding:14px 24px;border-radius:var(--r-pill);font-size:.9rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background .25s,border-color .25s,color .25s;}
.btn-ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);color:#fff;}
.footer__col-title{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.72rem;color:rgba(255,255,255,.3);letter-spacing:2px;text-transform:uppercase;margin-bottom:16px;display:block;}
.footer__brand{max-width:260px;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.4;}}
@keyframes floatCard{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
/* Nav extras */
.nav__actions{display:flex;align-items:center;gap:14px;}
.nav__tel{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600;color:rgba(255,255,255,.6);text-decoration:none;padding:8px 14px;border-radius:var(--r-pill);transition:color .2s,background .2s;}
.nav__tel:hover{color:#fff;background:rgba(255,255,255,.07);}
.nav.scrolled .nav__tel{color:var(--navy2);}
.nav.scrolled .nav__tel:hover{color:var(--red);}
@media(max-width:860px){.nav__actions .nav__tel{display:none;}}

/* ══════════════════════════════════════════════════════════════
   OTTIMIX v3 PREMIUM — Mega-menu · Hero fullbleed · Magazine
   ══════════════════════════════════════════════════════════════ */

/* ── MEGA-MENU ──────────────────────────────────────────────── */
.mega-nav{position:relative;padding-bottom:14px;margin-bottom:-14px;}
.mega-nav__btn{display:flex;align-items:center;gap:6px;background:none;border:none;font-family:inherit;font-size:.88rem;font-weight:600;color:rgba(255,255,255,.72);cursor:pointer;padding:8px 14px;border-radius:var(--r-pill);transition:color .2s,background .2s;}
.mega-nav__btn i{font-size:.65rem;transition:transform .3s cubic-bezier(.16,1,.3,1);}
.mega-nav:hover .mega-nav__btn,
.mega-nav:focus-within .mega-nav__btn{color:#fff;background:rgba(255,255,255,.08);}
.mega-nav:hover .mega-nav__btn i,
.mega-nav:focus-within .mega-nav__btn i{transform:rotate(180deg);}
.nav.scrolled .mega-nav__btn{color:var(--navy2);}
.nav.scrolled .mega-nav:hover .mega-nav__btn{color:var(--red);background:var(--accent-lt);}
.mega-panel{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(-6px);width:600px;background:rgba(8,16,30,.97);border:1px solid rgba(255,255,255,.1);border-radius:22px;backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);padding:20px;box-shadow:0 40px 100px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.06);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s cubic-bezier(.16,1,.3,1),visibility .28s,transform .28s cubic-bezier(.16,1,.3,1);z-index:200;}
.mega-nav:hover .mega-panel,
.mega-nav:focus-within .mega-panel{opacity:1;visibility:visible;pointer-events:all;transform:translateX(-50%) translateY(0);}
.mega-panel__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;}
.mega-item{display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:14px;text-decoration:none;transition:background .2s,transform .2s cubic-bezier(.16,1,.3,1);color:inherit;}
.mega-item:hover{background:rgba(255,255,255,.07);transform:translateX(4px);}
.mega-item__icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex-shrink:0;background:color-mix(in srgb,var(--mc,#e61a2b) 14%,transparent);color:var(--mc,#e61a2b);}
.mega-item__name{font-weight:700;font-size:.87rem;color:rgba(255,255,255,.88);margin-bottom:2px;}
.mega-item__sub{font-size:.72rem;color:rgba(255,255,255,.32);}
.mega-panel__footer{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:center;}
.mega-panel__cta{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;color:#e61a2b;text-decoration:none;padding:8px 18px;border-radius:var(--r-pill);background:rgba(230,26,43,.1);border:1px solid rgba(230,26,43,.2);transition:background .2s,border-color .2s;}
.mega-panel__cta:hover{background:rgba(230,26,43,.18);border-color:rgba(230,26,43,.4);}
@media(max-width:768px){.mega-nav{display:none;}}

/* ── HERO FULLBLEED ─────────────────────────────────────────── */
.hero-fb{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.hero-fb__bg{position:absolute;inset:0;background-size:cover;background-position:center top;background-repeat:no-repeat;filter:brightness(.35) saturate(.55);transform:scale(1.04);transition:transform 12s ease-out;}
.hero-fb.ready .hero-fb__bg{transform:scale(1);}
.hero-fb__gradient{position:absolute;inset:0;background:linear-gradient(160deg,rgba(5,10,20,.55) 0%,rgba(13,46,74,.4) 52%,rgba(230,26,43,.12) 100%),linear-gradient(to bottom,rgba(5,10,20,.2) 0%,rgba(5,10,20,.8) 100%);}
.hero-fb__canvas{position:absolute;inset:0;pointer-events:none;opacity:.65;}
.hero-fb__inner{position:relative;z-index:2;max-width:var(--max-w);margin:0 auto;padding:0 5%;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;}
.hero-fb__badge{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:var(--r-pill);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);font-size:.72rem;font-weight:700;color:rgba(255,255,255,.65);letter-spacing:.5px;margin-bottom:30px;}
.hero-fb__badge .live-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;animation:pulse 2s infinite;flex-shrink:0;}
.hero-fb__title{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(3.2rem,7vw,7rem);color:#fff;line-height:1.0;letter-spacing:-.5px;margin-bottom:24px;max-width:900px;}
.hero-fb__title em{font-style:normal;background:linear-gradient(110deg,#ff4d5e,#e61a2b 50%,#ff7b42);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hero-fb__title .muted{color:rgba(255,255,255,.28);display:block;font-size:.6em;font-weight:700;margin-top:8px;}
.hero-fb__sub{font-size:clamp(1rem,1.6vw,1.18rem);color:rgba(255,255,255,.55);max-width:620px;line-height:1.9;margin-bottom:38px;}
.hero-fb__sub strong{color:rgba(255,255,255,.9);font-weight:700;}
.hero-fb__cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-bottom:56px;}
.hero-fb__trust{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:8px 24px;}
.trust-item{font-size:.75rem;font-weight:600;color:rgba(255,255,255,.4);}
.trust-item strong{color:rgba(255,255,255,.75);}
.trust-stars{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;color:rgba(255,255,255,.75);text-decoration:none;transition:color .2s;}
.trust-stars .stars{color:#FBBC05;letter-spacing:1px;}
.trust-sep{color:rgba(255,255,255,.15);font-size:.9rem;}
.hero-fb__scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.65rem;font-weight:700;color:rgba(255,255,255,.3);letter-spacing:2px;text-transform:uppercase;text-decoration:none;animation:scrollBounce 2.5s ease-in-out infinite;}
.hero-fb__scroll i{font-size:.9rem;}
@keyframes scrollBounce{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(7px);}}

/* ── SERVICE MAGAZINE ──────────────────────────────────────── */
.svc-magazine{padding:0;background:#050a14;}
.svc-mag-header{padding:90px 5% 0;max-width:var(--max-w);margin:0 auto;}
.svc-mag-header .section-eyebrow{margin-bottom:20px;}

/* Hero card (CostoAmico) - fullwidth con immagine */
.svc-hero-card{position:relative;height:520px;overflow:hidden;display:flex;align-items:flex-end;margin:40px 0 0;}
.svc-hero-card__img{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.4);transition:transform 8s ease-out;transform:scale(1.04);}
.svc-hero-card:hover .svc-hero-card__img{transform:scale(1);}
.svc-hero-card__overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(5,10,20,.92) 0%,rgba(5,10,20,.5) 55%,rgba(5,10,20,.1) 100%),linear-gradient(to top,rgba(5,10,20,.8) 0%,transparent 50%);}
.svc-hero-card__accent{position:absolute;inset:0;background:linear-gradient(135deg,rgba(245,158,11,.12) 0%,transparent 50%);pointer-events:none;}
.svc-hero-card__body{position:relative;z-index:2;padding:44px 5%;max-width:650px;}
.svc-hero-card__label{display:inline-flex;align-items:center;gap:8px;font-size:.68rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--svc-c,#f59e0b);border:1px solid var(--svc-c,#f59e0b);border-radius:var(--r-pill);padding:5px 14px;margin-bottom:18px;opacity:.9;}
.svc-hero-card__title{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(2rem,3.5vw,3.2rem);color:#fff;line-height:1.1;margin-bottom:16px;}
.svc-hero-card__desc{font-size:.97rem;color:rgba(255,255,255,.55);line-height:1.8;margin-bottom:24px;max-width:500px;}
.svc-hero-card__link{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:.9rem;color:var(--svc-c,#f59e0b);text-decoration:none;transition:gap .25s;}
.svc-hero-card__link:hover{gap:17px;}

/* Griglia 6 servizi con immagini */
.svc-grid-6{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:2px;}
.svc-gc{position:relative;height:320px;overflow:hidden;display:flex;align-items:flex-end;text-decoration:none;color:inherit;}
.svc-gc__img{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.38);transition:transform .7s cubic-bezier(.16,1,.3,1),filter .4s;}
.svc-gc:hover .svc-gc__img{transform:scale(1.07);filter:brightness(.28);}
.svc-gc__overlay{position:absolute;inset:0;transition:opacity .4s;}
.svc-gc:hover .svc-gc__overlay{opacity:.85;}
.svc-gc__body{position:relative;z-index:2;padding:24px 24px 28px;width:100%;}
.svc-gc__num{font-family:'Montserrat',sans-serif;font-weight:900;font-size:.72rem;color:rgba(255,255,255,.3);letter-spacing:2px;display:block;margin-bottom:6px;}
.svc-gc__icon{font-size:1.6rem;display:block;margin-bottom:10px;transition:transform .3s cubic-bezier(.16,1,.3,1);}
.svc-gc:hover .svc-gc__icon{transform:scale(1.2);}
.svc-gc__title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.08rem;color:#fff;margin-bottom:8px;line-height:1.2;}
.svc-gc__desc{font-size:.78rem;color:rgba(255,255,255,.45);line-height:1.6;max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.16,1,.3,1),color .4s;}
.svc-gc:hover .svc-gc__desc{max-height:80px;color:rgba(255,255,255,.65);}
.svc-gc__arrow{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;font-weight:700;color:#fff;margin-top:10px;opacity:0;transform:translateX(-8px);transition:opacity .3s,transform .3s cubic-bezier(.16,1,.3,1);}
.svc-gc:hover .svc-gc__arrow{opacity:1;transform:none;}

/* ── WHY US ─────────────────────────────────────────────────── */
.why-section{padding:100px 5%;background:#060d1c;}
.why-section__inner{max-width:var(--max-w);margin:0 auto;}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:60px;}
.why-card{background:linear-gradient(145deg,rgba(255,255,255,.035) 0%,rgba(255,255,255,.015) 100%);border:1px solid rgba(255,255,255,.07);border-radius:22px;padding:36px 32px;position:relative;overflow:hidden;transition:border-color .3s,transform .3s cubic-bezier(.16,1,.3,1);}
.why-card:hover{border-color:rgba(255,255,255,.16);transform:translateY(-4px);}
.why-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--wc,#e61a2b),transparent);opacity:.7;}
.why-card__icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:22px;background:color-mix(in srgb,var(--wc,#e61a2b) 12%,transparent);color:var(--wc,#e61a2b);}
.why-card__title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.05rem;color:#fff;margin-bottom:12px;}
.why-card__text{font-size:.85rem;color:rgba(255,255,255,.38);line-height:1.75;}
.why-card__stat{display:flex;align-items:baseline;gap:4px;margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.07);}
.why-card__stat-num{font-family:'Montserrat',sans-serif;font-weight:900;font-size:2rem;color:var(--wc,#e61a2b);}
.why-card__stat-lbl{font-size:.72rem;color:rgba(255,255,255,.3);}

/* ── CTA FULLBLEED ──────────────────────────────────────────── */
.cta-fullbleed{position:relative;padding:120px 5%;overflow:hidden;text-align:center;}
.cta-fb__bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.2) saturate(.4);}
.cta-fb__overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(230,26,43,.6) 0%,rgba(13,46,74,.9) 100%);}
.cta-fb__inner{position:relative;z-index:2;max-width:660px;margin:0 auto;}
.cta-fb__title{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(2rem,4vw,3.4rem);color:#fff;line-height:1.1;margin-bottom:18px;}
.cta-fb__sub{font-size:1.05rem;color:rgba(255,255,255,.55);margin-bottom:38px;line-height:1.8;}
.cta-fb__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ── PROBLEMA SPLIT ─────────────────────────────────────────── */
.prob-split{display:grid;grid-template-columns:1fr 1fr;min-height:560px;}
.prob-split__visual{position:relative;overflow:hidden;min-height:400px;}
.prob-split__img{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.4);}
.prob-split__voverlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(5,10,20,0) 0%,rgba(5,10,20,.9) 100%),linear-gradient(135deg,rgba(230,26,43,.25) 0%,rgba(13,46,74,.5) 100%);}
.prob-split__vbig{position:absolute;bottom:30px;left:30px;font-family:'Montserrat',sans-serif;font-weight:900;font-size:5rem;color:rgba(230,26,43,.15);line-height:1;}
.prob-split__content{background:#060d1c;padding:72px 56px;display:flex;flex-direction:column;justify-content:center;}
.prob-split__content .section-eyebrow{margin-bottom:20px;width:fit-content;}
.prob-split__title{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(1.8rem,3vw,2.8rem);color:#fff;line-height:1.1;margin-bottom:20px;}
.prob-split__title em{color:#e61a2b;font-style:normal;}
.prob-split__text{font-size:.95rem;color:rgba(255,255,255,.42);line-height:1.85;margin-bottom:16px;}
.prob-split__stats{display:flex;gap:36px;margin-top:36px;flex-wrap:wrap;}
.pst-num{font-family:'Montserrat',sans-serif;font-weight:900;font-size:2.4rem;color:#e61a2b;display:block;line-height:1;}
.pst-lbl{font-size:.7rem;color:rgba(255,255,255,.28);display:block;margin-top:6px;letter-spacing:.5px;}

/* ── RESPONSIVE v3 PREMIUM ──────────────────────────────────── */
@media(max-width:1100px){
  .svc-grid-6{grid-template-columns:repeat(2,1fr);}
  .why-grid{grid-template-columns:1fr 1fr;}
  .prob-split{grid-template-columns:1fr;}
}
@media(max-width:768px){
  .hero-fb__title{font-size:clamp(2.8rem,10vw,4.5rem);}
  .svc-hero-card{height:420px;}
  .svc-hero-card__body{padding:32px 5% 28px;}
  .svc-grid-6{grid-template-columns:1fr 1fr;}
  .svc-gc{height:160px;}
  .svc-gc__body{padding:12px 14px 14px;}
  .svc-gc__icon{display:none;}
  .svc-gc__num{color:rgba(255,255,255,.7);font-size:.68rem;}
  .svc-gc__title{font-size:.78rem;margin-bottom:4px;}
  .why-grid{grid-template-columns:1fr;}
  .prob-split__content{padding:48px 5%;}
  .hero-fb__cta{flex-direction:column;align-items:center;}
}

/* ══════════════════════════════════════════════════════════════
   PAGINE SERVIZIO — template condiviso
   ══════════════════════════════════════════════════════════════ */

/* ── SVC HERO ───────────────────────────────────────────────── */
.svc-hero{position:relative;min-height:92vh;min-height:92dvh;display:flex;align-items:center;overflow:hidden;}
.svc-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.32) saturate(.6);transform:scale(1.04);transition:transform 10s ease-out;}
.svc-hero.ready .svc-hero__bg{transform:scale(1);}
.svc-hero__overlay{position:absolute;inset:0;background:linear-gradient(160deg,rgba(5,10,20,.65) 0%,color-mix(in srgb,var(--accent,#e61a2b) 35%,rgba(5,10,20,.55)) 60%,rgba(5,10,20,.85) 100%);}
.svc-hero__inner{position:relative;z-index:2;max-width:780px;padding:calc(var(--nav-h)+80px) 5% 80px;}
.svc-hero__badge{display:inline-flex;align-items:center;gap:9px;padding:7px 18px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--accent,#e61a2b) 18%,transparent);border:1px solid color-mix(in srgb,var(--accent,#e61a2b) 45%,transparent);font-size:.7rem;font-weight:700;color:color-mix(in srgb,var(--accent,#e61a2b) 80%,#fff);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:28px;width:fit-content;}
.svc-hero__num{font-family:'Montserrat',sans-serif;font-weight:900;font-size:.7rem;opacity:.6;}
.svc-hero h1{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(2.8rem,5.5vw,5rem);color:#fff;line-height:1.04;letter-spacing:-.3px;margin-bottom:24px;}
.svc-hero h1 em{font-style:normal;color:var(--accent,#e61a2b);}
.svc-hero__sub{font-size:1.06rem;color:rgba(255,255,255,.58);line-height:1.85;margin-bottom:36px;max-width:600px;}
.svc-hero__cta{display:flex;gap:13px;flex-wrap:wrap;}
.btn-svc{display:inline-flex;align-items:center;gap:9px;padding:14px 28px;border-radius:var(--r-pill);font-size:.92rem;font-weight:700;text-decoration:none;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);}
.btn-svc--primary{background:var(--accent,#e61a2b);color:#fff;box-shadow:0 8px 28px color-mix(in srgb,var(--accent,#e61a2b) 45%,transparent);}
.btn-svc--primary:hover{transform:translateY(-2px);box-shadow:0 14px 36px color-mix(in srgb,var(--accent,#e61a2b) 55%,transparent);}
.btn-svc--ghost{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.8);}
.btn-svc--ghost:hover{background:rgba(255,255,255,.13);color:#fff;}

/* ── PAIN POINTS ────────────────────────────────────────────── */
.svc-pain{padding:90px 5%;background:#060d1c;}
.svc-pain__inner{max-width:var(--max-w);margin:0 auto;}
.svc-pain__header{text-align:center;margin-bottom:60px;}
.svc-pain__title{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(1.8rem,3vw,2.6rem);color:#fff;line-height:1.12;margin-bottom:16px;}
.svc-pain__title em{font-style:normal;color:var(--accent,#e61a2b);}
.svc-pain__sub{font-size:1rem;color:rgba(255,255,255,.38);max-width:560px;margin:0 auto;line-height:1.8;}
.pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.pain-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:20px;padding:32px 28px;position:relative;overflow:hidden;transition:border-color .3s,background .3s;}
.pain-card:hover{background:rgba(255,255,255,.055);border-color:color-mix(in srgb,var(--accent,#e61a2b) 30%,rgba(255,255,255,.07));}
.pain-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent,#e61a2b);opacity:.4;}
.pain-card__icon{width:52px;height:52px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:20px;background:color-mix(in srgb,var(--accent,#e61a2b) 12%,transparent);color:var(--accent,#e61a2b);}
.pain-card__title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:.97rem;color:#fff;margin-bottom:10px;}
.pain-card__text{font-size:.83rem;color:rgba(255,255,255,.38);line-height:1.75;}

/* ── SOLUTION SPLIT ─────────────────────────────────────────── */
.svc-solution{display:grid;grid-template-columns:1fr 1fr;min-height:580px;}
.sol-img{position:relative;overflow:hidden;min-height:380px;}
.sol-img__bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.5);}
.sol-img__overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(5,10,20,.1) 0%,rgba(5,10,20,.7) 100%);}
.sol-img__quote{position:absolute;bottom:32px;left:32px;right:32px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.1rem;color:#fff;line-height:1.5;}
.sol-img__quote::before{content:'"';font-size:3rem;color:var(--accent,#e61a2b);line-height:1;display:block;margin-bottom:8px;opacity:.7;}
.sol-content{background:#050a14;padding:72px 56px;display:flex;flex-direction:column;justify-content:center;}
.sol-content .section-eyebrow{margin-bottom:20px;width:fit-content;color:var(--accent,#e61a2b);background:color-mix(in srgb,var(--accent,#e61a2b) 10%,transparent);border-color:color-mix(in srgb,var(--accent,#e61a2b) 30%,transparent);}
.sol-content__title{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(1.8rem,2.8vw,2.4rem);color:#fff;line-height:1.12;margin-bottom:28px;}
.sol-step{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px;}
.sol-step__n{width:38px;height:38px;border-radius:50%;border:2px solid var(--accent,#e61a2b);display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;font-weight:900;font-size:.85rem;color:var(--accent,#e61a2b);flex-shrink:0;}
.sol-step__title{font-weight:700;font-size:.93rem;color:#fff;margin-bottom:5px;}
.sol-step__text{font-size:.82rem;color:rgba(255,255,255,.38);line-height:1.7;}

/* ── MID BANNER ─────────────────────────────────────────────── */
.svc-mid-banner{padding:70px 5%;background:color-mix(in srgb,var(--accent,#e61a2b) 8%,#060d1c);border-top:1px solid color-mix(in srgb,var(--accent,#e61a2b) 20%,transparent);border-bottom:1px solid color-mix(in srgb,var(--accent,#e61a2b) 20%,transparent);text-align:center;}
.svc-mid-banner__text{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(1.4rem,2.5vw,2.2rem);color:#fff;max-width:720px;margin:0 auto 28px;line-height:1.45;}
.svc-mid-banner__text em{color:var(--accent,#e61a2b);font-style:normal;}

/* ── WHY OTTIMIX (unico partner) ────────────────────────────── */
.why-partner{padding:90px 5%;background:#050a14;}
.why-partner__inner{max-width:var(--max-w);margin:0 auto;}
.why-partner__top{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;margin-bottom:60px;}
.why-partner__title{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(2rem,3.5vw,3rem);color:#fff;line-height:1.1;}
.why-partner__title em{color:var(--accent,#e61a2b);font-style:normal;}
.why-partner__text{font-size:.97rem;color:rgba(255,255,255,.42);line-height:1.85;}
.why-partner__text strong{color:rgba(255,255,255,.8);}
.svc-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.svc-mini{display:flex;align-items:center;gap:10px;padding:13px 16px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);text-decoration:none;transition:background .2s,border-color .2s,transform .2s cubic-bezier(.16,1,.3,1);}
.svc-mini:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);transform:translateY(-2px);}
.svc-mini__dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.svc-mini__name{font-size:.78rem;font-weight:600;color:rgba(255,255,255,.62);}

/* ── FINAL CTA PAGE ─────────────────────────────────────────── */
.svc-cta-final{position:relative;padding:110px 5%;overflow:hidden;text-align:center;}
.svc-cta-final__bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.18) saturate(.4);}
.svc-cta-final__overlay{position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--accent,#e61a2b) 70%,#0d2e4a) 0%,rgba(5,10,20,.95) 100%);}
.svc-cta-final__inner{position:relative;z-index:2;max-width:660px;margin:0 auto;}
.svc-cta-final__title{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(2rem,4vw,3.2rem);color:#fff;line-height:1.1;margin-bottom:18px;}
.svc-cta-final__sub{font-size:1.05rem;color:rgba(255,255,255,.5);margin-bottom:36px;line-height:1.8;}
.svc-cta-final__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.btn-white{display:inline-flex;align-items:center;gap:9px;padding:14px 28px;border-radius:var(--r-pill);font-size:.92rem;font-weight:700;background:#fff;color:var(--navy);text-decoration:none;transition:all .25s;box-shadow:0 8px 28px rgba(0,0,0,.35);}
.btn-white:hover{background:#f0f0f0;transform:translateY(-2px);}
.btn-white-ghost{display:inline-flex;align-items:center;gap:9px;padding:14px 28px;border-radius:var(--r-pill);font-size:.92rem;font-weight:700;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;text-decoration:none;transition:all .25s;}
.btn-white-ghost:hover{background:rgba(255,255,255,.18);}

/* ── RESPONSIVE PAGINE SERVIZIO ─────────────────────────────── */
@media(max-width:1024px){
  .pain-grid{grid-template-columns:1fr 1fr;}
  .svc-solution{grid-template-columns:1fr;}
  .sol-img{min-height:320px;}
  .why-partner__top{grid-template-columns:1fr;gap:36px;}
  .svc-mini-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:640px){
  .svc-hero h1{font-size:clamp(2.4rem,10vw,3.5rem);}
  .svc-hero__cta{flex-direction:column;}
  .pain-grid{grid-template-columns:1fr;}
  .sol-content{padding:48px 5%;}
  .svc-mini-grid{grid-template-columns:1fr 1fr;}
}
