:root {
      --navy:   #0a1f44;
      --blue:   #1a4080;
      --green:#2095AE;
      --accent:#0a1f44;
      --light:  #f4f7fb;
      --white:  #ffffff;
      --text:   #2c3e50;
      --muted:  #6b7a90;
      --radius: 12px;
      --shadow: 0 8px 32px rgba(10,31,68,.12);
      --trans:  .3s ease;
      --navy-deep:#0d1f36;
    --navy-light:#1f3d61;
    --cream:#f4efe4;
    --cream-dim:#c9c2ae;
    --red:#c8433f;
    --teal:#2b9994;
    --line: rgba(244,239,228,0.12);
    }
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; }
  body {font-family: 'Inter', sans-serif;color: var(--text);background: var(--white);line-height: 1.7;}
  #navbar {position: fixed;top: 0; left: 0; right: 0;z-index: 1000;background: transparent;transition: background var(--trans), box-shadow var(--trans);padding: 0 2rem;}
  #navbar.scrolled {background: rgba(10,31,68,.97);box-shadow: 0 2px 20px rgba(0,0,0,.3);}
  .nav-inner {max-width: 1200px;margin: 0 auto;display: flex;align-items: center;justify-content: space-between;height: 120px;}
  .nav-logo img { height: 110px; }
  .nav-logo span {font-size: 1.4rem;font-weight: 800;color: var(--white);letter-spacing: -0.5px;}
  .nav-links { display: flex; gap: 2rem; list-style: none; }
  .nav-links a {color: rgba(255,255,255,.85);text-decoration: none;font-size: .9rem;font-weight: 500;letter-spacing: .5px;text-transform: uppercase;transition: color var(--trans);}
  .nav-links a:hover { color: var(--green); }
  .hamburger {display: none;flex-direction: column;gap: 5px;cursor: pointer;background: none;border: none;padding: 4px;}
  .hamburger span {display: block;width: 26px; height: 2px;background: var(--white);border-radius: 2px;transition: all var(--trans);}
  #hero {
      min-height: 100vh;
    background:
        linear-gradient(
            317deg,
            rgba(10,31,68,.37) 0%,
            rgba(26,64,128,.75) 100%
        ), url('/img/pexels-test-mod.jpg') center/cover no-repeat;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 120px 2rem 4rem;
      position: relative;
      overflow: hidden;
    }
    #hero::before {content: '';position: absolute;inset: 0;background: radial-gradient(ellipse at 30% 70%, rgba(232,160,32,.15) 0%, transparent 60%);}
    .hero-content { position: relative; max-width: 800px; }
    .hero-badge {display: inline-block;color: var(--white);font-size: .78rem;font-weight: 600;letter-spacing: 2px;text-transform: uppercase;padding: .4rem 1.2rem;margin-bottom: 1.5rem;}
    .hero-content h1 {font-family: 'Playfair Display', serif;font-size: clamp(2rem, 4.5vw, 3.4rem);color: var(--white);line-height: 1.15;margin-bottom: 1.2rem;}
    .hero-content h1 em {font-style: normal;color: var(--accent);}
    .hero-content p {color: rgba(255,255,255,.8);font-size: 1.15rem;max-width: 580px;margin: 0 auto 2.5rem;}
    .hero-cta { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
    .btn {display: inline-flex;align-items: center;gap: .5rem;padding: .85rem 2rem;border-radius: 50px;font-weight: 600;font-size: .95rem;text-decoration: none;transition: all var(--trans);cursor: pointer;border: none;}
    .btn-primary {background: var(--accent);color: var(--white);}
    .btn-primary:hover {background: #2095AE;transform: translateY(-2px);box-shadow: 0 8px 24px rgba(2, 199, 209, 0.4);}
    .btn-outline {background: var(--green);color: var(--white);border: 2px solid rgba(255,255,255,.5);}
    .btn-outline:hover {border-color: var(--white);background: rgba(255,255,255,.1);transform: translateY(-2px);color: var(--green)}
    .hero-stats {display: flex;justify-content: center;gap: 3rem;margin-top: 4rem;flex-wrap: wrap;}
    .stat {text-align: center;color: var(--white);}
    .stat-num {font-size: 2.2rem;font-weight: 800;color: var(--accent);line-height: 1;}
    .stat-label {font-size: .82rem;color: rgba(255,255,255,.65);letter-spacing: 1px;text-transform: uppercase;margin-top: .3rem;}
    .section {padding: 100px 2rem;}
    .section-alt { background: var(--light); }
    .container { max-width: 1200px; margin: 0 auto; }
    .section-header { text-align: center; margin-bottom: 4rem; }
    .section-tag {display: inline-block;font-size: .75rem;font-weight: 700;letter-spacing: 3px;text-transform: uppercase;color: var(--accent);margin-bottom: .8rem;}
    .section-header h2 {font-family: 'Playfair Display', serif;font-size: clamp(1.8rem, 4vw, 3rem);color: var(--navy);line-height: 1.2;}
    .section-header p {color: var(--muted);max-width: 560px;margin: 1rem auto 0;}
    /* CHI SIAMO */
    .chi-grid {display: grid;/* grid-template-columns: 1fr 1fr; */gap: 4rem;align-items: center;}
    .chi-text h3 {font-size: 1.3rem;font-weight: 700;color: var(--navy);margin-bottom: .8rem;}
    .chi-text p {margin-bottom: 1.5rem;font-size: .95rem;}
    .chi-milestones { display: flex; flex-direction: column; gap: 1rem; }
    .milestone {display: flex;align-items: flex-start;gap: 1rem;padding: 1rem;background: var(--white);border-radius: var(--radius);border-left: 3px solid var(--accent);box-shadow: 0 2px 8px rgba(0,0,0,.05);}
    .milestone i { color: var(--accent); font-size: 1.1rem; margin-top: .15rem; }
    .milestone p { margin: 0; font-size: .9rem; color: var(--text); }
    .stats-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 1.5rem;}
    .stat-card {background: linear-gradient(135deg, var(--navy), var(--blue));color: var(--white);border-radius: var(--radius);padding: 2rem 1.5rem;text-align: center;box-shadow: var(--shadow);}
    .stat-card .num {font-size: 2.5rem;font-weight: 800;color: var(--white);}
    .stat-card .lbl {font-size: .85rem;color: rgba(255,255,255,.7);margin-top: .3rem;}
    .prodotti-grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));gap: 2rem;}
    .prodotto-card {background: var(--white);border-radius: var(--radius);padding: 2.5rem 2rem;text-align: center;box-shadow: var(--shadow);transition: transform var(--trans), box-shadow var(--trans);position: relative;overflow: hidden;border-top: 4px solid transparent;}
    .prodotto-card:hover {transform: translateY(-8px);box-shadow: 0 20px 48px rgba(10,31,68,.15);border-top-color: var(--accent);}
    .prodotto-card .icon {width: 70px; height: 70px;background: linear-gradient(135deg, #e8f0fe, #d2e3fc);border-radius: 18px;display: flex;align-items: center;justify-content: center;margin: 0 auto 1.5rem;font-size: 1.8rem;color: var(--blue);}
    .prodotto-card h3 {font-size: 1.3rem;font-weight: 700;color: var(--navy);margin-bottom: .6rem;}
    .prodotto-card p {color: var(--muted);font-size: .92rem;}
    .prodotto-card .features {list-style: none;margin-top: 1.2rem;text-align: left;}
    .prodotto-card .features li {font-size: .87rem;color: var(--text);padding: .3rem 0;display: flex;align-items: center;gap: .5rem;}
    .prodotto-card .features li::before {content: '';width: 6px; height: 6px;background: var(--accent);border-radius: 50%;flex-shrink: 0;}
    /* TEAM */
    .team-grid {display: grid;grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));gap: 1.5rem;}
    .team-card {text-align: center;transition: transform var(--trans);}
    .team-card:hover { transform: translateY(-4px); }
    .team-avatar {
      width: 150px; height: 150px;
      border-radius: 50%;
      margin: 0 auto .8rem;
      overflow: hidden;
      border: 3px solid var(--light);
      box-shadow: 0 4px 16px rgba(0,0,0,.1);
    }
    .team-avatar img {width: 100%; height: 100%;object-fit: cover;}
    .team-avatar-placeholder {
      width: 100%; height: 100%;
      background: linear-gradient(135deg, var(--navy), var(--blue));
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 2rem;
      color: rgba(255,255,255,.6);
    }
    .team-card h4 {font-size: .9rem;font-weight: 600;color: var(--navy);}

    /* CLIENTI  */
    .filter-bar {display: flex;flex-wrap: wrap;gap: .6rem;justify-content: center;margin-bottom: 3rem;}
    .filter-btn {padding: .45rem 1.2rem;border: 2px solid #dde3ef;border-radius: 50px;background: transparent;color: var(--muted);font-size: .82rem;font-weight: 600;cursor: pointer;transition: all var(--trans);letter-spacing: .5px;}
    .filter-btn:hover, .filter-btn.active {background: var(--navy);border-color: var(--navy);color: var(--white);}
    .clienti-grid {display: grid;grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));gap: 1.5rem;}
    .cliente-item {background: var(--white);border-radius: var(--radius);padding: 1.5rem 1rem;text-align: center;box-shadow: 0 2px 12px rgba(0,0,0,.07);transition: all var(--trans);position: relative;overflow: hidden;text-decoration: none;}
    .cliente-item:hover {box-shadow: var(--shadow);transform: translateY(-4px);}
    .cliente-item:hover .cliente-overlay { opacity: 1; }
    .cliente-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(10,31,68,.9), rgba(26,64,128,.85));
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      opacity: 0;
      transition: opacity var(--trans);
      padding: 1rem;
      border-radius: var(--radius);
    }
    .cliente-overlay h5 {color: var(--white);font-size: .85rem;font-weight: 600;text-align: center;}
    .cliente-overlay p {color: var(--white);font-size: .75rem;margin-top: .3rem;}
    .cliente-img {height: 80px;display: flex;align-items: center;justify-content: center;}
    .cliente-img img {max-height: 80px;max-width: 160px;object-fit: contain;/* filter: grayscale(100%) opacity(.7); */transition: filter var(--trans);}
    .cliente-item:hover .cliente-img img { filter: grayscale(0%) opacity(1); }
    .cliente-name {font-size: .78rem;color: var(--muted);margin-top: .6rem;font-weight: 500;}
    .cliente-item--kalimera .cliente-img img {max-height: 56px;max-width: 110px;}

    #job {background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%);text-align: center;padding: 80px 2rem;}
    #job h2 {font-family: 'Playfair Display', serif;color: var(--white);font-size: 2.5rem;margin-bottom: 1rem;}
    #job p { color: rgba(255,255,255,.75); max-width: 500px; margin: 0 auto 2rem; }
    #job .btn-primary { font-size: 1rem; padding: 1rem 2.5rem; }
    /* Card prodotti cliccabili */
    a.prodotto-card {color: inherit;text-decoration: none;display: flex;flex-direction: column;align-items: center;text-align: center;cursor: pointer;}
    a.prodotto-card:focus-visible {outline: 2px solid var(--accent);outline-offset: 4px;}
    a.prodotto-card .icon {transition: transform var(--trans), background var(--trans);}
    a.prodotto-card:hover .icon {transform: scale(1.08) rotate(-4deg);background: linear-gradient(135deg, var(--navy), var(--blue));color: var(--white);}
    a.prodotto-card h3 {letter-spacing: .5px;}
    a.prodotto-card p {font-size: .95rem;font-style: italic;}
    .prodotto-card .card-link {margin-top: 1.4rem;font-size: .82rem;font-weight: 700;letter-spacing: .3px;color: var(--accent);display: inline-flex;align-items: center;gap: .4rem;}
    .prodotto-card .card-link i {transition: transform var(--trans);}
    a.prodotto-card:hover .card-link i {transform: translateX(5px);}
    a.prodotto-card:hover .card-link {color: var(--blue);}
    .contatti-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 4rem;align-items: start;}
    .info-block { margin-bottom: 2rem; }
    .info-block h3 {font-size: 1.1rem;font-weight: 700;color: var(--navy);margin-bottom: 1.2rem;}
    .info-item {display: flex;align-items: flex-start;gap: 1rem;margin-bottom: 1rem;color: var(--muted);font-size: .94rem;}
    .info-item i {color: var(--navy);font-size: 1rem;margin-top: .2rem;width: 16px;flex-shrink: 0;}
    .info-item a { color: var(--muted); text-decoration: none; }
    .info-item a:hover { color: var(--blue); }
    .map-wrap {border-radius: var(--radius);overflow: hidden;box-shadow: var(--shadow);}
    .map-wrap iframe { display: block; width: 100%; height: 380px; border: 0; }
    .form-group { margin-bottom: 1.2rem; }
    .form-group label {display: block;font-size: .83rem;font-weight: 600;color: var(--navy);margin-bottom: .4rem;letter-spacing: .3px;}
    .form-group input,
    .form-group textarea {width: 100%;padding: .8rem 1rem;border: 2px solid #dde3ef;border-radius: 8px;font-family: inherit;font-size: .93rem;color: var(--text);transition: border-color var(--trans);background: var(--white);resize: none;}
    .form-group input:focus,
    .form-group textarea:focus {outline: none;border-color: var(--blue);}
    .form-group textarea { height: 130px; }
    .form-submit {background: var(--navy);color: var(--white);width: 100%;padding: .9rem;border: none;border-radius: 8px;font-size: .95rem;font-weight: 600;cursor: pointer;transition: background var(--trans), transform var(--trans);font-family: inherit;}
    .form-submit:hover {background: var(--blue);transform: translateY(-1px);}
    .form-note {font-size: .78rem;color: var(--muted);margin-top: .5rem;text-align: center;}
    #form-msg {display: none;padding: 1rem;border-radius: 8px;text-align: center;font-weight: 600;margin-top: 1rem;}
    #form-msg.ok { background: #d1fae5; color: #065f46; }
    #form-msg.err { background: #fee2e2; color: #991b1b; }
    footer {background: var(--navy);padding: 2.5rem 2rem;text-align: center;}
    footer p {color: white;font-size: .82rem;}
    footer a {color: rgba(255,255,255,.55);text-decoration: none;margin: 0 .4rem;transition: color var(--trans);}
    footer a:hover { color: var(--white); }

/* BACK TO TOP  */
#btn-top {position: fixed;bottom: 2rem;right: 2rem;width: 44px; height: 44px;background: var(--navy);color: var(--white);border: none;border-radius: 50%;display: flex;align-items: center;justify-content: center;cursor: pointer;box-shadow: 0 4px 16px rgba(0,0,0,.25);opacity: 0;transform: translateY(16px);transition: all var(--trans);z-index: 999;}
#btn-top.visible { opacity: 1; transform: translateY(0); }
#btn-top:hover { background: var(--blue); }
/* badge reCAPTCHA nascosto: al suo posto la scritta sotto il form contatti (consentito da Google) */
.grecaptcha-badge { visibility: hidden; }
.form-note-recaptcha { font-size: .8rem; color: #6b7280; }
.form-note-recaptcha a { color: inherit; text-decoration: underline; }
.zebra-hero.cookie {min-height: 72vh;background:linear-gradient(135deg, rgba(10,31,68,.94) 0%, rgba(26,64,128,.88) 100%),url('../img/fur.jpg') center/cover no-repeat;display: flex;align-items: center;padding: 140px 2rem 5rem;position: relative;}
.zebra-hero {min-height: 72vh;display: flex;align-items: center;padding: 140px 2rem 5rem;position: relative;}
.zebra-hero-inner {max-width: 1200px;margin: 0 auto;width: 100%;display: grid;grid-template-columns: 1.3fr .7fr;gap: 3rem;align-items: center;}
.zebra-hero-text .hero-badge { margin-bottom: 1.2rem; }
.zebra-hero-text h1 {font-family: 'Playfair Display', serif;font-size: clamp(2.2rem, 5vw, 3.6rem);color: var(--white);line-height: 1.15;margin-bottom: 1.2rem;text-align: left;}
.zebra-hero-text h1 em { font-style: normal; color: var(--green); }
.zebra-hero-text p {color: rgba(255,255,255,.82);font-size: 1.08rem;max-width: 520px;margin-bottom: 2rem;text-align: left;}
.zebra-hero-text .hero-cta { justify-content: flex-start; }
.zebra-hero-numbers {display: flex;flex-direction: column;gap: 1.2rem;}
.zebra-num-card {background: rgba(255,255,255,.08);border: 1px solid rgba(255,255,255,.18);border-radius: var(--radius);padding: 1.2rem 1.5rem;backdrop-filter: blur(6px);}
.zebra-num-card .n { font-size: 2rem; font-weight: 800; color: var(--green); line-height: 1; }
.zebra-num-card .l { font-size: .8rem; color: rgba(255,255,255,.7); text-transform: uppercase; letter-spacing: 1px; margin-top: .3rem; }

/* ZEBRA ROWS  */
.container.cookie {align-items: center;margin: 0 auto;padding: 20px 2rem;}
.zebra-row {display: grid;grid-template-columns: 1fr 1fr;gap: 4rem;align-items: center;max-width: 1200px;margin: 0 auto;padding: 90px 2rem;}
.zebra-row.alt-bg { background: var(--light); }
.zebra-row.reverse { direction: rtl; }
.zebra-row.reverse > * { direction: ltr; }
.zebra-row.no-photo .zebra-media {display: none;}
.zebra-row.no-photo{ text-align: center;padding: 90px 2rem 0;max-width: 700px;margin: 0 auto;grid-template-columns: 100%;}
.zebra-tag {display: inline-flex;align-items: center;gap: .5rem;font-size: .75rem;font-weight: 700;letter-spacing: 2px;text-transform: uppercase;color: var(--green);margin-bottom: .8rem;}
.zebra-tag .zebra-index {
  width: 26px; height: 26px;
  border-radius: 50%;
  background: var(--navy);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .75rem;
}
.zebra-content h2 {font-family: 'Playfair Display', serif;
  font-size: clamp(1.6rem, 3vw, 2.3rem);
  color: var(--navy);
  margin-bottom: 1rem;
  line-height: 1.25;
}
.zebra-content p { color: var(--muted); font-size: .96rem; margin-bottom: 1rem; }
.zebra-list { list-style: none; margin-top: 1.2rem; }
.zebra-list li {
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  padding: .5rem 0;
  font-size: .92rem;
  color: var(--text);
  border-bottom: 1px dashed #dde3ef;
}
.zebra-list li:last-child { border-bottom: none; }
.zebra-list li i { color: var(--green); margin-top: .2rem; flex-shrink: 0; }
.zebra-media {border-radius: var(--radius);overflow: hidden;box-shadow: var(--shadow);position: relative;min-height: 260px;background: linear-gradient(135deg, var(--navy), var(--blue));display: flex;align-items: center;justify-content: center;}
.zebra-media i { font-size: 5rem; color: rgba(255,255,255,.25); }
.zebra-media img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* STRIP VANTAGGI  */
.zebra-strip {background: var(--navy);padding: 60px 2rem;}
.zebra-strip-inner {max-width: 1200px;margin: 0 auto;display: flex;flex-wrap: wrap;gap: 1rem;justify-content: center;}
.zebra-chip {display: flex;align-items: center;gap: .6rem;background: rgba(255,255,255,.08);border: 1px solid rgba(255,255,255,.15);color: var(--white);font-size: .85rem;padding: .7rem 1.2rem;border-radius: 50px;}
.zebra-chip i { color: var(--green); }

/*  GRIGLIA FINALE MODULI (BI/CRM/ecc) */
.zebra-modules-header { text-align: center; padding: 90px 2rem 0; max-width: 700px; margin: 0 auto; }
.zebra-modules-header span.zebra-tag { justify-content: center; }
.zebra-modules {max-width: 1200px;margin: 0 auto;padding: 3rem 2rem 100px;display: grid;grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));gap: 1.5rem;}
.zebra-module-card {background: var(--white);border: 1px solid #e6eaf2;border-radius: var(--radius);padding: 1.8rem 1.6rem;transition: all var(--trans);}
.zebra-module-card:hover {border-color: var(--green);box-shadow: var(--shadow);transform: translateY(-4px);}
.zebra-module-card i { font-size: 1.5rem; color: var(--green); margin-bottom: .8rem; display: block; }
.zebra-module-card h3 { font-size: 1.05rem; color: var(--navy); margin-bottom: .5rem; }
.zebra-module-card p { font-size: .87rem; color: var(--muted); }

/* Dropdown menu "Prodotti" */
    .nav-links li.has-dropdown {position: relative;}
    .nav-links li.has-dropdown > a {display: flex;align-items: center;gap: .35rem;}
    .dropdown-caret {font-size: .65rem;transition: transform var(--trans);}
    .nav-links li.has-dropdown:hover .dropdown-caret {transform: rotate(180deg);}
    /* Card prodotti cliccabili */
    a.prodotto-card {
      color: inherit;
      text-decoration: none;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      cursor: pointer;
    }
    a.prodotto-card:focus-visible {outline: 2px solid var(--accent);outline-offset: 4px;}
    a.prodotto-card .icon {transition: transform var(--trans), background var(--trans);}
    a.prodotto-card:hover .icon {transform: scale(1.08) rotate(-4deg);background: linear-gradient(135deg, var(--navy), var(--blue));color: var(--white);}
    a.prodotto-card h3 {letter-spacing: .5px;}
    a.prodotto-card p {font-size: .95rem;font-style: italic;}
    .prodotto-card .card-link {
      margin-top: 1.4rem;
      font-size: .82rem;
      font-weight: 700;
      letter-spacing: .3px;
      color: var(--accent);
      display: inline-flex;
      align-items: center;
      gap: .4rem;
    }
    .prodotto-card .card-link i {transition: transform var(--trans);}
    a.prodotto-card:hover .card-link i {transform: translateX(5px);}
    a.prodotto-card:hover .card-link {color: var(--blue);}

    /* Dropdown menu "Prodotti" */
    .nav-links li.has-dropdown {position: relative;}
    .nav-links li.has-dropdown > a {
      display: flex;
      align-items: center;
      gap: .35rem;
    }
    .dropdown-caret {font-size: .65rem;transition: transform var(--trans);}
    .nav-links li.has-dropdown:hover .dropdown-caret {transform: rotate(180deg);}
    .dropdown-menu {
      display: block;
      list-style: none;
      position: absolute;
      top: calc(100% + 14px);
      left: 50%;
      transform: translateX(-50%) translateY(8px);
      background: var(--white);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      min-width: 220px;
      padding: .6rem;
      opacity: 0;
      visibility: hidden;
      transition: opacity var(--trans), transform var(--trans), visibility var(--trans);
      z-index: 1001;
    }
    .nav-links li.has-dropdown:hover .dropdown-menu,
    .nav-links li.has-dropdown:focus-within .dropdown-menu {
      opacity: 1;
      visibility: visible;
      transform: translateX(-50%) translateY(0);
    }
    .dropdown-menu li a {
      display: flex;
      align-items: center;
      gap: .7rem;
      padding: .65rem .8rem;
      border-radius: 8px;
      color: var(--navy) !important;
      font-size: .82rem;
      font-weight: 600;
      text-transform: none;
      letter-spacing: normal;
      transition: background var(--trans), color var(--trans);
    }
    .dropdown-menu li a i {width: 18px;text-align: center;color: var(--accent);}
    .dropdown-menu li a:hover {background: var(--light);color: var(--blue) !important;}

    /* REVEAL ANIMATIONS  */
    .reveal {opacity: 0;transform: translateY(30px);transition: opacity .6s ease, transform .6s ease;}
    .reveal.visible { opacity: 1; transform: translateY(0); }
    .reveal-delay-1 { transition-delay: .1s; }
    .reveal-delay-2 { transition-delay: .2s; }
    .reveal-delay-3 { transition-delay: .3s; }



/* Lat/long grid backdrop, like a chart */

.cont404 { height:100%;background:var(--navy-deep);color:var(--cream);font-family:'Manrope', sans-serif;overflow-x:hidden;position: relative;min-height: 100vh;display: flex;flex-direction: column;align-items: center;justify-content: center;text-align: center;padding: 40px 24px;}
.cont404 .chart-grid{position:fixed;inset:0;background-image:linear-gradient(var(--line) 1px, transparent 1px),linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size: 64px 64px;mask-image: radial-gradient(ellipse at center, black 0%, transparent 75%);pointer-events:none;}
.cont404 .brand{
    position:fixed;
    top:36px;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    gap:10px;
    font-family:'Manrope', sans-serif;
    font-weight:800;
    font-size:13px;
    letter-spacing:2.5px;
    color:var(--cream-dim);
    z-index:5;
  }

  .cont404 .brand .dot{width:7px;height:7px;border-radius:50%;background:var(--red);display:inline-block;}
  .cont404 .stage{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;max-width:640px;}
  .cont404 .eyebrow{font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--red);margin-bottom:28px;}
  /* Compass, the signature element */
  .cont404 .compass-wrap{width:172px;height:172px;margin-bottom:36px;position:relative;}
  .cont404 .compass-ring{
    width:100%;
    height:100%;
    border-radius:50%;
    border:1.5px solid var(--line);
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    background:radial-gradient(circle at 30% 25%, rgba(244,239,228,0.05), transparent 70%);
  }

  .cont404 .compass-ring::before{content:"";position:absolute;inset:14px;border-radius:50%;border:1px solid var(--line);}
  .cont404 .tick{
    position:absolute;
    width:1px;
    height:8px;
    background:var(--cream-dim);
    opacity:0.4;
    top:2px;
    left:50%;
    transform-origin:50% 84px;
  }


.section-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.6rem, 3vw, 2.3rem);
  color: var(--navy);
}

  .cont404 .tick.major{ height:11px; opacity:0.7; background:var(--cream); }
  .cont404 .compass-label{position:absolute;font-size:10px;font-weight:800;letter-spacing:1px;color:var(--cream-dim);}
  .cont404 .compass-label.n{ top:20px; left:50%; transform:translateX(-50%); color:var(--red); }
  .cont404 .compass-label.s{ bottom:20px; left:50%; transform:translateX(-50%); }
  .cont404 .compass-label.e{ right:18px; top:50%; transform:translateY(-50%); }
  .cont404 .compass-label.w{ left:18px; top:50%; transform:translateY(-50%); }
  .cont404 .needle{position:absolute;width:3px;height:118px;left:calc(50% - 1.5px);top:calc(50% - 59px);transform-origin:50% 50%;animation:hunt 7s ease-in-out infinite;}
  .cont404 .needle .half{position:absolute;width:100%;left:0;}
  .cont404 .needle .north{top:0; height:59px;background:linear-gradient(var(--red), transparent);clip-path: polygon(50% 0%, 100% 100%, 0% 100%);}
  .cont404 .needle .south{bottom:0; height:59px;background:linear-gradient(transparent, var(--cream-dim));clip-path: polygon(0% 0%, 100% 0%, 50% 100%);}
  .cont404 .pivot{
    position:absolute;
    width:9px;height:9px;border-radius:50%;
    background:var(--cream);
    top:calc(50% - 4.5px);
    left:calc(50% - 4.5px);
    box-shadow:0 0 0 3px var(--navy-deep), 0 0 0 4px var(--line);
  }

  @keyframes hunt{
    0%   { transform:rotate(18deg); }
    22%  { transform:rotate(-146deg); }
    45%  { transform:rotate(64deg); }
    68%  { transform:rotate(-38deg); }
    85%  { transform:rotate(97deg); }
    100% { transform:rotate(18deg); }
  }

  .cont404 h1{
    font-family:'Playfair Display', serif;
    font-weight:600;
    font-size:clamp(52px, 9vw, 96px);
    line-height:1;
    letter-spacing:-1px;
    margin-bottom:18px;
  }

  .cont404 h1 em{font-style:italic;font-weight:500;color:var(--teal);}
  .cont404 p.lead{font-size:17px;line-height:1.6;color:var(--cream-dim);max-width:440px;margin-bottom:8px;}
  .cont404 .coords{
    font-family:'Manrope', sans-serif;
    font-size:12px;
    letter-spacing:1.5px;
    color:var(--cream-dim);
    opacity:0.55;
    margin-bottom:38px;
  }

.form-submit {
    display: inline-block;
    padding: 0.85rem 2rem;
    background: var(--navy, #1a2b4c);
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.25s ease, transform 0.15s ease;
}

.form-submit {display: inline-block;padding: 0.85rem 2rem;border: none;border-radius: 6px;font-size: 1rem;font-weight: 600;cursor: pointer;transition: background 0.25s ease, transform 0.15s ease;}
/* Invia - colore primario */
.form-submit-invia {background: var(--navy, #1a2b4c);color: #fff;}
.form-submit-invia:hover:not(:disabled) {background: var(--navy-dark, #10203a);transform: translateY(-1px);}
.form-submit-invia:disabled {background: #b0b6c0;cursor: not-allowed;opacity: 0.7;}

/* Annulla - colore secondario/rosso */
.form-submit-annulla {background: #c0392b;color: #fff;}
.form-submit-annrgb(186, 142, 137)ver {background: #a93226;transform: translateY(-1px);}
.captcha-wrap {display: flex;align-items: center;gap: 1rem;flex-wrap: wrap;margin: 1rem 0;padding: 0.75rem 1rem;background: #f7f8fa;border: 1px solid #e2e5ea;border-radius: 8px;}
.captcha-img-box {display: flex;align-items: center;justify-content: center;}
.captcha-img-box img {border-radius: 4px;border: 1px solid #d5d9e0;background: #fff;max-width: 100%;}
.captcha-input-box {display: flex;flex-direction: column;gap: 0.35rem;}
.captcha-input {padding: 0.65rem 0.9rem;border: 1px solid #ccc;border-radius: 6px;font-size: 1rem;letter-spacing: 2px;text-align: center;transition: border-color 0.2s ease, box-shadow 0.2s ease;}
.captcha-input:focus {outline: none;border-color: var(--navy, #1a2b4c);box-shadow: 0 0 0 3px rgba(26,43,76,0.15);}
.captcha-hint {color: #777;font-size: 0.8rem;}
.cont404 .actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}
.cont404 .btn{display:inline-flex;align-items:center;gap:9px;padding:14px 26px;border-radius:32px;font-weight:700;font-size:14px;text-decoration:none;transition:transform .18s ease, box-shadow .18s ease, background .18s ease;}
.cont404 .btn:focus-visible{outline:2px solid var(--teal);outline-offset:3px;}
.cont404 .btn-primary{background:var(--cream);color:var(--navy-deep);}
.cont404 .btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(244,239,228,0.18);}
.cont404 .btn-ghost{background:transparent;color:var(--cream);border:1px solid var(--line);}
.cont404 .btn-ghost:hover{transform:translateY(-2px);border-color:var(--teal);background:rgba(43,153,148,0.08);}
.cont404 .btn svg{ width:15px; height:15px; }
.mod-title{display:flex;align-items:center;gap:10px;font-family:'Manrope', sans-serif;font-weight:800;font-size:1.3rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--navy);margin:14px 0 10px;}
.mod-bar{width:22px;height:3px;border-radius:2px;background:var(--red, #c8433f);flex-shrink:0;transition:width .25s ease;}
.zebra-module-card:hover .mod-bar{width:34px;}

@media (prefers-reduced-motion: reduce){.cont404 .needle{ animation:none; transform:rotate(24deg); }}

@media (max-width: 900px) {
     .cont404 .chi-grid, .contatti-grid { grid-template-columns: 1fr; gap: 2.5rem; }
     .cont404 .stats-grid { grid-template-columns: 1fr 1fr; }
      .zebra-hero-inner { grid-template-columns: 1fr; }
      .zebra-row, .zebra-row.reverse { grid-template-columns: 1fr; direction: ltr; }
      .zebra-row.reverse .zebra-media { order: -1; }
}

@media(max-width:860px){.zebra-modules{grid-template-columns:repeat(2,1fr)!important;}}
@media (max-width: 640px) {
      .section { padding: 70px 1.2rem; }
      .nav-links { display: none; flex-direction: column; position: absolute;
        top: 70px; left: 0; right: 0; background: rgba(10,31,68,.97);
        padding: 1.5rem 2rem; gap: 1.2rem; }
      .nav-links.open { display: flex; }
      .hamburger { display: flex; }
      .stats-grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
      .hero-stats { gap: 1.5rem; }
      .team-grid { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); }
      .clienti-grid { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
      .nav-links li.has-dropdown > a { justify-content: space-between; }
      .dropdown-menu {position: static;transform: none;opacity: 1;visibility: visible;box-shadow: none;background: rgba(255,255,255,.04);display: none;min-width: 0;margin-top: .4rem;}
      .nav-links li.has-dropdown.open-sub .dropdown-menu { display: block; }
      .dropdown-menu li a { color: rgba(255,255,255,.85) !important; }
      .dropdown-menu li a:hover { background: rgba(255,255,255,.08); color: var(--white) !important; }
    }

@media (max-width: 600px) {
    .captcha-wrap {
        flex-direction: column;
        align-items: stretch;
    }
}

@media(max-width:520px){.zebra-modules{grid-template-columns:1fr!important;}}
  
@media (max-width:480px){
    .cont404 .compass-wrap{ width:136px; height:136px; }
    .cont404 .needle{ height:94px; top:calc(50% - 47px); }
    .cont404 .needle .north, .needle .south{ height:47px; }
    .cont404 p.lead{ font-size:15.5px; }
  }