/* ====== RESET & THEME ====== */
    *{margin:0;padding:0;box-sizing:border-box}
    :root{
      --black:#000; --white:#fff;
      --g100:#f7f7f7; --g200:#e5e5e5; --g300:#d4d4d4; --g400:#a3a3a3; 
      --g500:#737373; --g600:#525252; --g700:#404040; --g800:#262626; --g900:#171717;
      --accent:#0066cc; --accent-dark:#0052a3;
      --warning:#d97706; --ok:#166534;
      --shadow:0 10px 30px rgba(0,0,0,.15);
      --shadow-sm:0 2px 8px rgba(0,0,0,.1);
    }

    /* ====== TYPOGRAPHY (Serif / Times-like) ====== */
    html{scroll-behavior:smooth}
    body{
      font-family:"Times New Roman", Times, Georgia, serif;
      background:var(--white); color:var(--g900);
      -webkit-font-smoothing:antialiased;
      line-height:1.6; letter-spacing:0
    }
    .display{font-size:clamp(44px,7vw,64px);line-height:1.08;letter-spacing:-.01em;font-weight:700}
    .headline{font-size:clamp(28px,4.8vw,40px);line-height:1.14;letter-spacing:-.005em;font-weight:700}
    .title{font-size:clamp(22px,3vw,28px);line-height:1.22;font-weight:700}
    .body-lg{font-size:clamp(17px,2vw,19px);color:var(--g800)}
    .caption{font-size:12.5px;color:var(--g600)}
    .visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

    /* ====== NOTICE BAR ====== */
    .notice{
      background:var(--g900);color:var(--g300);
      padding:10px 12px;text-align:center;font-size:13px;
      border-bottom:2px solid var(--accent-dark);
    }
    .notice strong{color:#fff}

    /* ====== NAVIGATION ====== */
    nav{
      position:sticky;top:0;z-index:1000;
      background:rgba(255,255,255,.97);
      backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
      border-bottom:1px solid var(--g200);
      box-shadow:0 1px 3px rgba(0,0,0,.05);
    }
    .nav-wrap{
      max-width:1200px;margin:0 auto;padding:16px 40px;
      display:flex;align-items:center;justify-content:space-between;gap:18px
    }
    .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--g900)}
    .logo-img{
      width:70px;      /* o 48 se ti sembra troppo grande */
      height:70px;
      object-fit:contain;
      transition:transform .6s cubic-bezier(.2,.8,.2,1);
      will-change:transform;
      background:transparent;
      border-radius:6px;
    }
    .brand:hover .logo-img{ transform:rotate(360deg); }
    .logo-text{font-weight:800;font-size:18px;letter-spacing:-.01em}
    .nav-links{display:flex;gap:20px;align-items:center;flex-wrap:nowrap}
    .nav-links a{
      color:var(--g700);text-decoration:none;font-size:14px;font-weight:600;
      transition:color .2s;position:relative;
    }
    .nav-links a:hover{color:var(--black)}
    .nav-links a::after{
      content:'';position:absolute;bottom:-2px;left:0;right:0;
      height:2px;background:var(--accent);transform:scaleX(0);
      transition:transform 0.2s;
    }
    .nav-links a:hover::after{transform:scaleX(1)}
    .nav-cta-wrapper { display:flex; gap:12px; align-items:center; }
    .nav-cta{
      background:var(--black);color:#fff!important;
      padding:10px 20px;border-radius:20px;font-size:14px;
      border:0;cursor:pointer;font-weight:700;
      transition:all .2s;font-family:inherit;
    }
    .nav-cta::after{display:none}
    .nav-cta:hover{
      transform:translateY(-2px);
      box-shadow:var(--shadow-sm);
      background:var(--accent-dark);
    }
    .nav-cta.secondary{
      background:var(--white);
      color:var(--black)!important;
      border:1px solid var(--g300);
    }
    .nav-cta.secondary:hover{ background:var(--g100); }
    .hamb{display:none;background:none;border:0;cursor:pointer}
    .hamb span{display:block;width:22px;height:2px;background:var(--g900);margin:5px 0}

    /* ====== EXECUTIVE SUMMARY BOX (NEW) ====== */
    .executive-box {
      max-width:1200px;
      margin:30px auto 40px;
      padding:25px 35px;
      background:linear-gradient(135deg, var(--g100), var(--white));
      border:2px solid var(--accent);
      border-radius:16px;
      box-shadow:var(--shadow-sm);
    }
    .executive-box h3 {
      font-size:20px;
      font-weight:700;
      margin-bottom:16px;
      color:var(--accent-dark);
    }
    .executive-box ul {
      list-style:none;
      padding:0;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
    }
    .executive-box li {
      position:relative;
      padding-left:24px;
      color:var(--g800);
      font-size:15px;
    }
    .executive-box li::before {
      content:'✓';
      position:absolute;
      left:0;
      color:var(--accent);
      font-weight:bold;
    }
    .executive-box .disclaimer {
      margin-top:16px;
      padding-top:16px;
      border-top:1px solid var(--g300);
      font-size:12px;
      color:var(--g600);
      font-style:italic;
    }

    /* ====== HERO ====== */
    .hero{ max-width:1200px;margin:0 auto;padding:80px 40px 16px;text-align:center }
    .patent{
      display:inline-flex;align-items:center;gap:8px;margin-bottom:20px;
      font-size:12px;text-transform:uppercase;letter-spacing:.12em;
      color:var(--g700);font-weight:800;padding:6px 12px;background:var(--g100);border-radius:20px;
    }
    .patent-icon{width:16px;height:16px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;font-size:10px;font-weight:bold;}
    .hero h1{margin-bottom:20px}
    .hero h1 .highlight{
      background:linear-gradient(135deg, var(--accent), var(--accent-dark));
      -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
    }
    .hero p{max-width:780px;margin:12px auto 24px}

    /* Key Metrics (prudential ranges) */
    .hero-metrics{
      display:flex;justify-content:center;gap:40px;margin:20px 0 24px;flex-wrap:wrap;
    }
    .hero-metric{text-align:center;}
    .hero-metric-value{font-size:22px;font-weight:700;color:var(--accent);}
    .hero-metric-label{font-size:11px;text-transform:uppercase;letter-spacing:0.1em;color:var(--g600);margin-top:4px;}

    .hero-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:16px;}
    .hero-cta{
      display:inline-flex;align-items:center;gap:8px;background:var(--black);color:#fff;
      padding:16px 32px;border-radius:28px;text-decoration:none;font-weight:700;font-size:16px;
      box-shadow:var(--shadow);transition:all .2s;
    }
    .hero-cta:hover{transform:translateY(-3px);box-shadow:0 15px 40px rgba(0,0,0,.2);background:var(--accent-dark);}
    .hero-cta.secondary{background:var(--white);color:var(--black);border:2px solid var(--g300);box-shadow:none;}
    .hero-cta.secondary:hover{background:var(--g100);border-color:var(--accent);}
    .hero-cta .arrow{transition:transform 0.2s}
    .hero-cta:hover .arrow{transform:translateX(4px)}

    /* Technology-only banner below hero */
    .tech-only{
      max-width:1100px;margin:0 auto 28px;padding:10px 16px;border:1px solid var(--g200);
      background:var(--g100);border-radius:10px;color:var(--g700);font-size:12.5px;text-align:center;
    }

    /* ====== NEXT STEPS PROCESS (NEW) ====== */
    .next-steps {
      background:var(--white);
      padding:60px 40px;
      border-top:2px solid var(--accent);
    }
    .next-steps .wrap {
      max-width:1000px;
      margin:0 auto;
    }
    .next-steps h2 {
      text-align:center;
      margin-bottom:40px;
    }
    .steps-timeline {
      display:grid;
      grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
      gap:20px;
      position:relative;
    }
    .step-card {
      background:var(--g100);
      padding:24px;
      border-radius:12px;
      text-align:center;
      position:relative;
    }
    .step-number {
      width:40px;
      height:40px;
      background:var(--accent);
      color:white;
      border-radius:50%;
      display:flex;
      align-items:center;
      justify-content:center;
      font-weight:bold;
      margin:0 auto 16px;
      font-size:18px;
    }
    .step-title {
      font-size:16px;
      font-weight:700;
      margin-bottom:8px;
      color:var(--g900);
    }
    .step-duration {
      font-size:13px;
      color:var(--g600);
      margin-bottom:12px;
    }
    .step-description {
      font-size:14px;
      color:var(--g700);
    }

    /* ====== QUALIFICATION FORM (NEW) ====== */
    .qualification-section {
      background:var(--g100);
      padding:60px 40px;
    }
    .qualification-form {
      max-width:600px;
      margin:0 auto;
      background:white;
      padding:32px;
      border-radius:16px;
      box-shadow:var(--shadow-sm);
    }
    .qualification-form h3 {
      font-size:24px;
      margin-bottom:20px;
      text-align:center;
      color:var(--accent-dark);
    }
    .form-group {
      margin-bottom:20px;
    }
    .form-group label {
      display:block;
      font-size:14px;
      font-weight:600;
      margin-bottom:8px;
      color:var(--g800);
    }
    .form-group select,
    .form-group input {
      width:100%;
      padding:12px;
      border:1px solid var(--g300);
      border-radius:8px;
      font-size:14px;
      font-family:inherit;
      transition:border-color 0.2s;
    }
    .form-group select:focus,
    .form-group input:focus {
      outline:none;
      border-color:var(--accent);
      box-shadow:0 0 0 3px rgba(0,102,204,0.1);
    }
    .form-group.checkbox-group {
      display:flex;
      gap:12px;
      flex-wrap:wrap;
    }
    .checkbox-label {
      display:flex;
      align-items:center;
      gap:8px;
      padding:12px 16px;
      border:1px solid var(--g300);
      border-radius:8px;
      cursor:pointer;
      transition:all 0.2s;
    }
    .checkbox-label:hover {
      border-color:var(--accent);
      background:var(--g100);
    }
    .checkbox-label input[type="checkbox"] {
      width:auto;
    }
    .checkbox-label.checked {
      background:var(--accent);
      color:white;
      border-color:var(--accent);
    }
    .form-submit {
      width:100%;
      padding:16px;
      background:var(--accent);
      color:white;
      border:none;
      border-radius:8px;
      font-size:16px;
      font-weight:700;
      cursor:pointer;
      transition:all 0.2s;
    }
    .form-submit:hover {
      background:var(--accent-dark);
      transform:translateY(-2px);
      box-shadow:var(--shadow-sm);
    }

    /* ====== INTEGRATION TIMELINE (NEW) ====== */
    .integration-timeline {
      background:white;
      padding:60px 40px;
    }
    .timeline-visual {
      max-width:1000px;
      margin:0 auto;
      position:relative;
    }
    .timeline-bar {
      position:absolute;
      top:40px;
      left:0;
      right:0;
      height:4px;
      background:var(--g200);
      z-index:1;
    }
    .timeline-progress {
      position:absolute;
      top:40px;
      left:0;
      height:4px;
      background:var(--accent);
      z-index:2;
      transition:width 0.5s ease;
    }
    .timeline-weeks {
      display:grid;
      grid-template-columns:repeat(4, 1fr);
      gap:20px;
      position:relative;
      z-index:3;
    }
    .week-box {
      background:white;
      border:2px solid var(--g200);
      border-radius:12px;
      padding:20px;
      position:relative;
    }
    .week-box::before {
      content:'';
      position:absolute;
      top:-20px;
      left:50%;
      transform:translateX(-50%);
      width:20px;
      height:20px;
      background:white;
      border:3px solid var(--accent);
      border-radius:50%;
    }
    .week-box.completed::before {
      background:var(--accent);
    }
    .week-title {
      font-size:14px;
      font-weight:700;
      color:var(--accent);
      margin-bottom:8px;
    }
    .week-tasks {
      font-size:13px;
      color:var(--g700);
      line-height:1.6;
    }

    /* ====== VALIDATION METRICS SECTION (EXISTING - ENHANCED) ====== */
    .validation-metrics {
      background: var(--g100);
      padding: 80px 40px;
      border-top: 1px solid var(--accent);
      border-bottom: 1px solid var(--accent);
    }
    .validation-metrics .wrap {
      max-width: 1100px;
      margin: 0 auto;
    }
    .validation-metrics .subtitle {
      text-align: center;
      margin: 20px auto 40px;
      color: var(--g600);
      font-size: 18px;
    }
    .metrics-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 30px;
      margin: 40px 0;
    }
    .metric-card {
      text-align: center;
      padding: 30px;
      background: white;
      border-radius: 12px;
      box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    }
    .metric-value {
      font-size: 48px;
      font-weight: 700;
      color: var(--accent);
      margin-bottom: 10px;
    }
    .metric-label {
      font-size: 14px;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--g700);
      margin-bottom: 8px;
    }
    .metric-detail {
      font-size: 13px;
      color: var(--g600);
      margin-top: 8px;
    }
    .metrics-disclaimer {
      text-align: center;
      margin-top: 30px;
      padding: 16px;
      background: white;
      border-radius: 8px;
      font-size: 13px;
      color: var(--g600);
    }
    .metrics-disclaimer strong {
      color: var(--g800);
    }

    /* ====== PILOT PROGRAM SECTION (EXISTING - ENHANCED) ====== */
    .pilot-program {
      background: var(--white);
      padding: 80px 40px;
      border-top: 2px solid var(--accent);
    }
    .pilot-program .wrap {
      max-width: 900px;
      margin: 0 auto;
      text-align: center;
    }
    .pilot-badge {
      display: inline-block;
      background: var(--accent);
      color: white;
      padding: 8px 20px;
      border-radius: 20px;
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      font-weight: 700;
      margin-bottom: 20px;
    }
    .pilot-benefits {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 30px;
      margin: 40px 0;
    }
    .pilot-benefits .benefit {
      background: var(--g100);
      padding: 30px;
      border-radius: 12px;
    }
    .pilot-benefits h3 {
      font-size: 20px;
      margin-bottom: 16px;
      color: var(--accent);
    }
    .pilot-benefits ul {
      list-style: none;
      padding: 0;
    }
    .pilot-benefits li {
      padding: 8px 0;
      color: var(--g700);
      position: relative;
      padding-left: 24px;
    }
    .pilot-benefits li::before {
      content: '✓';
      position: absolute;
      left: 0;
      color: var(--accent);
      font-weight: bold;
    }
    .pilot-status {
      margin-top: 40px;
    }
    .status-bar {
      width: 100%;
      height: 30px;
      background: var(--g200);
      border-radius: 15px;
      overflow: hidden;
      position: relative;
      margin-bottom: 12px;
    }
    .status-fill {
      height: 100%;
      background: linear-gradient(90deg, var(--accent), var(--accent-dark));
      border-radius: 15px;
      transition: width 0.5s ease;
    }
    .pilot-status p {
      font-size: 14px;
      color: var(--g700);
      font-weight: 600;
    }
    .pilot-status .subtext {
      font-size: 12px;
      color: var(--g600);
      margin-top: 8px;
    }

    /* ====== TRUST INDICATORS ====== */
    .trust-bar{background:var(--g100);padding:20px;border-top:1px solid var(--g200);border-bottom:1px solid var(--g200);margin-bottom:36px;}
    .trust-wrap{max-width:1000px;margin:0 auto;display:flex;justify-content:center;align-items:center;gap:32px;flex-wrap:wrap;}
    .trust-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--g700);font-weight:600;}
    .trust-icon{width:20px;height:20px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;font-size:12px;font-weight:bold;}

    /* ====== DEMO + TECH SNAPSHOT ====== */
    .section{padding:80px 40px}
    .section.alt{background:var(--g100)}
    .section .wrap{max-width:1100px;margin:0 auto}
    /* Center layout for key narrative sections */
    #about .wrap,
    #churn .wrap{
      max-width:840px;
      margin:0 auto;
      text-align:center;
    }

    #about .wrap p,
    #churn .wrap p{
      max-width:780px;
      margin:8px auto;
    }

    /* Center only the title in use-cases */
    #use-cases .headline{
      text-align:center;
    }
    .chart-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start}
    .chart-demo{padding:24px;background:#fff;border:2px solid var(--g200);border-radius:20px;box-shadow:var(--shadow-sm);}
    .chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
    .chart-title{font-size:16px;font-weight:700;color:var(--g800);}
    .chart-kpis{display:flex;gap:16px;font-size:12px;color:var(--g600);}
    .chart-kpi-value{font-weight:700;color:var(--accent);}
    .chart-container{position:relative;height:300px;background:linear-gradient(to right, var(--g100) 1px, transparent 1px),linear-gradient(to top, var(--g100) 1px, transparent 1px);background-size:40px 40px;border:1px solid var(--g300);border-radius:8px;overflow:hidden;}
    .chart-axis{position:absolute;background:var(--g700);}
    .x-axis{bottom:30px;left:30px;right:30px;height:2px}
    .y-axis{left:30px;top:30px;bottom:30px;width:2px}
    
    /* FIXED: Aligned payoff line, trigger point, and leveraged line */
    .payoff-line{
      position:absolute;
      bottom:30px;
      left:30px;
      width:calc(45% - 30px); /* Termina esattamente al trigger point */
      height:2px;
      background:var(--g600);
      transform-origin:left bottom;
      animation:drawLine 2s ease-in-out infinite;
    }
    .trigger-point{
      position:absolute;
      bottom:100px;
      left:calc(45% - 6px); /* Centrato considerando la larghezza del pallino */
      width:12px;
      height:12px;
      background:var(--accent);
      border:3px solid white;
      border-radius:50%;
      box-shadow:0 2px 8px rgba(0,102,204,0.5);
      animation:pulse 2s ease-in-out infinite;
      z-index:10;
    }
    .jump-line{
      position:absolute;
      bottom:100px;
      left:45%; /* Allineato con il centro del trigger point */
      width:2px;
      height:0;
      background:linear-gradient(to top, var(--accent), var(--accent-dark));
      animation:jumpUp 2s ease-in-out infinite;
    }
    .leveraged-line{
      position:absolute;
      bottom:200px;
      left:45%; /* Allineato */
      width:0;
      height:2px;
      background:var(--accent);
      transform-origin:left center;
      animation:drawLeveraged 2s ease-in-out infinite;
    }
    
    @keyframes drawLine{0%{width:0}40%{width:calc(45% - 30px)}100%{width:calc(45% - 30px)}}
    @keyframes pulse{0%,40%{transform:scale(0);opacity:0}50%{transform:scale(1.2);opacity:1}60%,100%{transform:scale(1);opacity:1}}
    @keyframes jumpUp{0%,45%{height:0}55%{height:100px}100%{height:100px}}
    @keyframes drawLeveraged{0%,55%{width:0}100%{width:45%}}
    
    .chart-labels{display:flex;justify-content:space-between;margin-top:14px;padding:0 30px;}
    .chart-label{font-size:11px;color:var(--g600);text-transform:uppercase;letter-spacing:0.05em;}
    .chart-label.active{color:var(--accent);font-weight:700}
    .chart-disclaimer{margin-top:12px;padding:10px;background:var(--g100);border-radius:8px;font-size:11.5px;color:var(--g600);text-align:center;}

    /* Technical Snapshot */
    .tech-snap{background:#fff;border:2px solid var(--g200);border-radius:16px;padding:20px}
    .tech-snap h4{font-size:16px;margin-bottom:10px}
    .tech-snap .kv{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;font-size:13.5px;color:var(--g800)}
    .tech-snap .kv span:first-child{color:var(--g600)}
    .tech-snap .note{margin-top:10px;font-size:12px;color:var(--g600)}
    .tech-snap .pill{display:inline-block;margin-top:10px;padding:4px 10px;border-radius:999px;background:#eef6ff;border:1px solid #cfe5ff;font-size:11px;color:#1d4ed8;font-weight:700}

    /* ====== BENEFITS ====== */
    .benefits{max-width:1000px;margin:36px auto;display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:20px;}
    .benefit{background:#fff;border:1px solid var(--g200);border-radius:16px;padding:20px;transition:all 0.2s;cursor:default;}
    .benefit:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-2px);}
    .benefit-icon{width:40px;height:40px;background:var(--g100);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
    .benefit-icon svg{width:20px;height:20px;stroke:var(--accent);fill:none;stroke-width:2;}
    .benefit .k{font-weight:700;font-size:16px;margin-bottom:4px}
    .benefit .v{font-size:13px;color:var(--g600)}
    .benefit .patent-label{display:inline-block;margin-top:8px;font-size:10px;text-transform:uppercase;letter-spacing:0.1em;color:var(--accent);font-weight:700;}

    /* ====== PRODUCT CARDS ====== */
    .p-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-top:32px;}
    .card{background:#fff;border:1px solid var(--g200);border-radius:16px;padding:24px;transition:all 0.2s;position:relative;overflow:hidden;}
    .card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-4px);}
    .card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent);transform:scaleX(0);transition:transform 0.3s;}
    .card:hover::before{transform:scaleX(1)}
    .badge{display:inline-block;padding:4px 10px;border-radius:8px;background:var(--accent);color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
    .badge.soon{background:var(--g500)}
    .patent-notice{margin-top:12px;padding-top:12px;border-top:1px solid var(--g200);font-size:11px;color:var(--g600);}
    .role-ctas{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
    .role-ctas a{font-size:12px;border:1px solid var(--g300);padding:6px 10px;border-radius:999px;text-decoration:none;color:var(--g800)}
    .role-ctas a:hover{border-color:var(--accent);color:var(--accent-dark)}
    
    /* Disclaimer for product metrics */
    .product-disclaimer {
      margin-top: 20px;
      padding: 12px;
      background: var(--g100);
      border-left: 3px solid var(--accent);
      font-size: 12px;
      color: var(--g600);
      font-style: italic;
    }

    /* ====== COMPARISON TABLE ====== */
    .diff{background:#000;color:#fff;padding:80px 40px}
    .diff-wrap{max-width:1100px;margin:0 auto}
    .diff h2{text-align:center;margin-bottom:28px}
    .table-scroll{overflow-x:auto;margin-top:12px}
    table{width:100%;border-collapse:collapse}
    thead th{font-size:13px;padding:16px;background:rgba(255,255,255,.05);color:#ddd;border-bottom:1px solid rgba(255,255,255,.1);font-weight:700;text-transform:uppercase;letter-spacing:0.05em;}
    tbody td{padding:16px;border-bottom:1px solid rgba(255,255,255,.06);font-size:14px;}
    tbody tr:hover{background:rgba(255,255,255,.02)}
    th:first-child,td:first-child{text-align:left}
    th:not(:first-child),td:not(:first-child){text-align:center}
    .pill{display:inline-block;padding:5px 12px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;}
    .yes{background:rgba(0,102,204,.2);color:#6bb6ff}
    .no{background:rgba(255,255,255,.08);color:#999}
    .pending{background:rgba(255,200,0,.2);color:#ffc107}
    .crl-col th,.crl-col{background:rgba(0,102,204,.08)!important;border-left:2px solid rgba(0,102,204,.3);border-right:2px solid rgba(0,102,204,.3);}
    .table-disclaimer{margin-top:16px;padding:14px;background:rgba(255,255,255,0.05);border-radius:8px;font-size:12px;color:var(--g400);text-align:center;}

    /* ====== ABOUT / TIMELINE ====== */
    .about-section{
      background:var(--white);
      padding:60px 40px;
    }
    .about-wrap{
      max-width:900px;
      margin:0 auto;
      text-align:left;
    }

    /* Vertical timeline */
    .timeline-container{margin:36px 0;}
    .timeline{
      position:relative;
      margin-top:16px;
    }
    .timeline::before{
      content:'';
      position:absolute;
      left:80px;
      top:0;
      bottom:0;
      width:2px;
      background:var(--g300);
    }
    .timeline-item{
      position:relative;
      margin-bottom:36px;
      padding-left:120px;   /* spazio per anni + linea */
      opacity:0.9;
      transition:opacity .3s;
    }
    .timeline-item:hover,
    .timeline-item.active{
      opacity:1;
    }
    .timeline-item::before{
      content:attr(data-year);
      position:absolute;
      left:0;
      top:4px;
      font-size:12px;
      font-weight:700;
      color:var(--g600);
      white-space:nowrap;   /* non va a capo, niente troncamento */
    }
    .timeline-marker{
      position:absolute;
      left:74px;            /* centrato sulla linea a 80px */
      top:22px;
      width:12px;
      height:12px;
      background:var(--white);
      border:2px solid var(--g400);
      border-radius:50%;
    }
    .timeline-item.active .timeline-marker{
      background:var(--accent);
      border-color:var(--accent);
      box-shadow:0 0 0 4px rgba(0,102,204,.2);
    }
    .timeline-content{
      background:var(--white);
      padding:18px;
      border-radius:12px;
      border:1px solid var(--g200);
    }
    .timeline-content h4{
      font-size:16px;
      margin-bottom:6px;
      color:var(--g900);
    }



    /* Enhanced About Andrea */
    .leader-card {
      margin-top: 20px;
      padding: 24px;
      background: var(--g100);
      border-radius: 12px;
    }
    .leader-card h4 {
      font-size: 20px;
      color: var(--g900);
      margin-bottom: 8px;
    }
    .leader-card .role {
      color: var(--accent);
      font-weight: 600;
      margin-bottom: 16px;
    }
    .leader-card .credentials {
      margin-top: 20px;
      padding-top: 20px;
      border-top: 1px solid var(--g300);
    }
    .leader-card .credentials h5 {
      font-size: 14px;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--g700);
      margin-bottom: 12px;
    }
    .leader-card .credentials ul {
      list-style: none;
      padding: 0;
    }
    .leader-card .credentials li {
      padding: 8px 0;
      font-size: 14px;
      color: var(--g700);
      position: relative;
      padding-left: 24px;
    }
    .leader-card .credentials li::before {
      content: '→';
      position: absolute;
      left: 0;
      color: var(--accent);
      font-weight: bold;
    }

    /* ====== CONTACTS, CTA, FOOTER ====== */
    .contacts-section{background:var(--white);border-top:1px solid var(--g200);padding:60px 40px;}
    .contacts-wrap{max-width:1200px;margin:0 auto;}
    .contacts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px;}
    .contact-card{text-align:center;}
    .contact-card h4{font-size:13px;text-transform:uppercase;letter-spacing:0.1em;color:var(--g600);margin-bottom:12px;}
    .contact-card a{color:var(--accent);text-decoration:none;font-size:16px;font-weight:700;transition:color 0.2s;}
    .contact-card a:hover{color:var(--accent-dark);}
    .contact-card p{font-size:12px;color:var(--g600);margin-top:8px;}

    .cta{padding:100px 40px;text-align:center;background:linear-gradient(135deg, var(--g100), var(--white));border-top:1px solid var(--g200);}
    .cta h2{margin-bottom:12px}
    .cta p{max-width:640px;margin:8px auto 24px;color:var(--g700)}
    .cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:16px;}
    .btn{padding:14px 28px;border-radius:28px;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;font-family:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:8px;}
    .btn.primary{background:var(--black);color:#fff;border:2px solid var(--black);}
    .btn.primary:hover{background:var(--accent-dark);border-color:var(--accent-dark);transform:translateY(-2px);box-shadow:var(--shadow-sm);}
    .btn.secondary{background:#fff;color:var(--black);border:2px solid var(--g300);}
    .btn.secondary:hover{background:var(--g100);border-color:var(--accent);}
    .requirements{color:var(--g600);font-size:12px;padding:10px 16px;background:var(--g100);border-radius:8px;display:inline-block;margin-top:10px;}

    footer{background:var(--g100);border-top:1px solid var(--g200);padding:20px 20px 20px;}
    .f-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:40px;margin-bottom:32px;}
    .f-grid h4{font-size:13px;margin-bottom:12px;text-transform:uppercase;letter-spacing:0.05em;color:var(--g700);}
    .f-grid a{display:block;color:var(--g700);text-decoration:none;margin:10px 0;font-size:14px;font-weight:700;transition:color 0.2s;}
    .f-grid a:hover{color:var(--black)}
    
    /* Footer Address (EXISTING) */
    .footer-address {
      text-align: center;
      margin-top: 20px;
      padding-top: 20px;
      border-top: 1px solid var(--g300);
      max-width: 300px;
      margin-left: auto;
      margin-right: auto;
    }
    .footer-address strong {
      font-size: 16px;
      color: var(--g900);
    }
    
    .regulatory-disclaimer{background:var(--g100);border-top:1px solid var(--g200);padding:24px 20px;}
    .regulatory-content{max-width:1200px;margin:0 auto;color:var(--g600);font-size:12.5px;line-height:1.6;}
    .regulatory-content h3{font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px;color:var(--g800);font-weight:800;}
    .legal{max-width:1200px;margin:0 auto;padding-top:24px;border-top:1px solid var(--g200);font-size:11px;color:var(--g600);line-height:1.7;}
    .legal strong{color:var(--g800)}
    .legal-links{margin-top:12px}
    .legal-links a{color:var(--g600);text-decoration:none;margin-right:20px;font-size:11px;}
    .legal-links a:hover{color:var(--g800)}

    /* ====== MODALS (Gate, Demo, LOI) ====== */
    .backdrop{position:fixed;inset:0;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;z-index:2000;backdrop-filter:blur(4px);}
    .modal{background:#fff;border-radius:20px;max-width:540px;width:92%;padding:32px;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:slideIn 0.3s ease-out;}
    
    /* FIXED: LOI Modal responsive handling */
    .modal-wide{
      max-width:800px;
      max-height:90vh;
      overflow-y:auto;
    }
    #loiReview .modal {
      max-height: 90vh;
      overflow-y: auto;
    }
    .loi-document {
      max-height: 400px; /* Ridotto da 500px */
      overflow-y: auto;
    }
    #signLoi {
      position: sticky;
      bottom: 0;
      background: var(--black);
      z-index: 10;
    }
    
    @keyframes slideIn{from{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}
    .modal h3{margin-bottom:12px;font-size:22px}
    .modal-subtitle{color:var(--g600);font-size:14px;margin-bottom:20px;line-height:1.5;}
    .modal form{display:grid;gap:14px}
    .modal label{font-size:13px;color:var(--g900);font-weight:800;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px;display:block;}
    .modal input,.modal select{width:100%;padding:12px 14px;border:1px solid var(--g300);border-radius:10px;font-family:inherit;font-size:14px;transition:border-color 0.2s;}
    .modal input:focus,.modal select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,102,204,0.1);}
    .modal .actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px;}
    .checks{display:flex;align-items:flex-start;gap:10px}
    .checks input{width:20px;height:20px;margin-top:2px}
    .checks span{font-size:13px;line-height:1.4}
    .small{font-size:11px;color:var(--g500);margin-top:8px;padding:8px;background:var(--g100);border-radius:6px;}
    .privacy-notice{margin-top:8px;font-size:11px;color:var(--g600);}
    .privacy-notice a{color:var(--accent);text-decoration:none;}
    .privacy-notice a:hover{text-decoration:underline;}
    .modal-progress{display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--g200);}
    .progress-step{flex:1;text-align:center;font-size:13px;color:var(--g500);position:relative;padding-top:26px;}
    .progress-step::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:24px;height:24px;border:2px solid var(--g300);border-radius:50%;background:white;}
    .progress-step.active::before{border-color:var(--accent);background:var(--accent);}
    .progress-step.completed::before{border-color:var(--accent);background:white;}
    .progress-step.completed::after{content:'✓';position:absolute;top:2px;left:50%;transform:translateX(-50%);color:var(--accent);font-weight:800;}
    .form-section{margin-bottom:18px;}
    .form-section h4{font-size:14px;text-transform:uppercase;letter-spacing:0.05em;color:var(--g700);margin-bottom:12px;}
    .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
    .field-hint{display:block;font-size:11px;color:var(--g500);margin-top:4px;}
    .required{color:var(--warning);}
    .checkbox-label{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;cursor:pointer;}
    .checkbox-label input{margin-top:2px;}
    .terms-preview{background:var(--g100);padding:16px;border-radius:8px;margin-top:10px;}
    .loi-header{text-align:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid var(--g200);}
    .loi-header h4{font-size:20px;margin-bottom:6px;}
    .loi-subtitle{color:var(--g600);font-style:italic;}
    .loi-parties{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0;padding:16px;background:var(--g100);border-radius:8px;}
    .loi-content h5{font-size:16px;margin:18px 0 8px;color:var(--g900);}
    .terms-table{background:var(--g100);padding:12px;border-radius:8px;margin:12px 0;}
    .terms-table table{width:100%;}
    .terms-table td{padding:8px 0;}
    .terms-table td:first-child{font-weight:800;width:40%;}
    .loi-signature{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;padding-top:20px;border-top:1px solid var(--g300);}
    .signature-block{text-align:center;}
    .signature-block p{margin:6px 0;}
    .error-message{background:#fee2e2;border:1px solid #fecaca;color:#7f1d1d;padding:12px;border-radius:8px;margin:0 0 12px;}

    /* ====== STICKY CTA BAR (Mobile) ====== */
    .sticky-cta{
      position:fixed;left:0;right:0;bottom:0;z-index:1500;display:none;
      background:#fff;border-top:1px solid var(--g200);box-shadow:0 -6px 20px rgba(0,0,0,.08);
      padding:10px 12px;
    }
    .sticky-cta .row{display:flex;gap:10px;justify-content:space-between}
    .sticky-cta .btn{flex:1;justify-content:center}

    /* ====== RESPONSIVE ====== */
    @media (max-width:980px){
      .nav-links{display:none}
      .nav-cta-wrapper{display:none}
      .hamb{display:block}
      .section{padding:60px 24px}
      .hero{padding:60px 24px 12px}
      .nav-wrap{padding:14px 24px}
      .benefits{grid-template-columns:1fr}
      .p-grid{grid-template-columns:1fr}
      .cta-btns{flex-direction:column;align-items:center}
      .hero-ctas{flex-direction:column;align-items:center}
      .contacts-grid{grid-template-columns:1fr}
      .chart-grid{grid-template-columns:1fr}
      .sticky-cta{display:block}
      .metrics-grid{grid-template-columns:1fr}
      .pilot-benefits{grid-template-columns:1fr}
      .executive-box ul{grid-template-columns:1fr}
      .timeline-weeks{grid-template-columns:1fr}
      .roi-inputs{grid-template-columns:1fr}
      .steps-timeline{grid-template-columns:1fr}
    }
    
    @media (max-width: 768px) {
      .modal-wide {
        max-width:95%;
        margin:10px;
      }
      .loi-document {
        max-height:300px;
        font-size:12px;
      }
      .loi-parties {
        grid-template-columns:1fr;
      }
    }

    /* ====== ANIMATIONS ====== */
    .fade-in{animation:fadeIn 0.6s ease-out;}
    @keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* ====== SKIN STRIP: SNAKE OVERLAY RIGHT ====== */
.snake-strip{
  margin:80px 0 0;
  background:transparent;
  border:none;
  position:relative;
  min-height:600px;
  overflow:hidden;  /* impedisce lo scroll orizzontale */
}

.snake-strip-inner{
  max-width:1200px;
  margin:0 auto;
  padding:120px 40px 80px;  /* più padding top per spostare il testo in basso */
  position:relative;
}

/* Testo in basso a sinistra */
/* Testo in basso a sinistra con box bianco */
.snake-strip-text{
  max-width:540px;
  position:relative;
  z-index:2;
  margin-top:80px;
  background:rgba(255, 255, 255, 0.95);  /* bianco semi-trasparente */
  padding:24px 32px;                      /* spazio interno */
  border-radius:12px;                     /* angoli arrotondati */
  box-shadow:0 4px 20px rgba(0,0,0,0.08); /* ombra leggera */
}

.snake-strip-kicker{
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--g600);
  margin-bottom:8px;
}

.snake-strip-title{
  margin:0 0 16px;
}

.snake-strip-copy{
  max-width:480px;
  font-size:15px;
  line-height:1.7;
  color:var(--g700);
}

/* PNG grande ancorato a destra, si sviluppa verso sinistra */
.snake-strip-image{
  position:absolute;
  right:0;
  top:-60px; 
  width:100%;          /* era 70%, aumentato */
  max-width:2000px;   /* era 1000px, aumentato */
  height:800px;       /* era 450px, aumentato */
  background-image:url("../images/snake-skin.png");
  background-repeat:no-repeat;
  background-size:contain;
  background-position:right top;
  pointer-events:none;
  z-index:1;
}

/* Mobile */
@media (max-width:768px){
  .snake-strip{
    min-height:auto;
  }
  .snake-strip-inner{
    padding:40px 20px;
  }
  .snake-strip-text{
    max-width:100%;
    margin-top:0;
  }
  .snake-strip-image{
    position:relative;
    width:100%;
    height:300px;
    right:0;
    top:auto;
    margin-bottom:20px;
    background-position:center;
  }
}

/* Fix for fixed header blocking anchor targets */
[id] {
  scroll-margin-top: 120px;
}