

/* ═══ HOME ═══ */

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --blue: #0071e3;
      --blue-hover: #0077ed;
      --dark: #1d1d1f;
      --mid: #6e6e73;
      --grey-dark: #48484a;
      --grey-darker: #3a3a3c;
      --grey-medium: #636366;
      --light-bg: #f5f5f7;
      --soft-grey: #e8e8ed;
      --white: #ffffff;
      --accent-green: #34c759;
      --accent-orange: #ff9500;
      --accent-red: #ff3b30;
      --accent-teal: #00a6a0;
      --fgas-1: #0e7490;
      --fgas-2: #06b6d4;
      --font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Arial, sans-serif;
    }

    html { scroll-behavior: smooth; }
    body { font-family: var(--font); color: var(--dark); background: var(--white); -webkit-font-smoothing: antialiased; overflow-x: hidden; }

    /* ── NAV ── */
    nav {
      position: sticky; top: 0; z-index: 999; height: 52px;
      display: flex; align-items: center; justify-content: space-between;
      padding: 0 22px;
      background: rgba(255,255,255,0.88);
      backdrop-filter: saturate(180%) blur(20px);
      -webkit-backdrop-filter: saturate(180%) blur(20px);
      border-bottom: 1px solid rgba(0,0,0,0.08);
    }
    .nav-logo { font-size:20px; font-weight:700; color:var(--dark); letter-spacing:-0.5px; text-decoration:none; }
    .nav-logo span { color:var(--blue); }
    .nav-links { display:flex; gap:28px; list-style:none; align-items:center; }
    .nav-links a { font-size:13px; color:var(--dark); text-decoration:none; opacity:0.8; transition:opacity .2s; }
    .nav-links a:hover { opacity:1; }
    .nav-cta { background:var(--blue); color:#fff !important; padding:7px 16px; border-radius:980px; font-size:13px !important; font-weight:600; opacity:1 !important; transition:background .2s !important; }
    .nav-cta:hover { background:var(--blue-hover) !important; }

    /* ══════════════════════════════════════════
       HERO - grigio scuro
       ══════════════════════════════════════════ */
    .hero {
      
      background: linear-gradient(170deg, #0c3b5e 0%, #1a6fa8 100%);
      color: #fff;
      text-align: center;
      padding: 110px 20px 90px;
      position: relative;
      overflow: hidden;
    }
    .hero::before {
      content: '';
      position: absolute; inset: 0;
      background: rgba(90,200,250,0.12);
      pointer-events: none;
    }

    .hero-badge {
      display: inline-flex; align-items: center; gap: 8px;
      background: rgba(255,255,255,0.1);
      border: 1px solid rgba(255,255,255,0.15);
      border-radius: 980px; padding: 8px 18px;
      font-size: 14px; font-weight: 600; color: rgba(255,255,255,0.9);
      margin-bottom: 28px;
    }

    .hero h1 {
      font-size: clamp(40px, 6.5vw, 80px);
      font-weight: 700; letter-spacing: -2.5px;
      line-height: 1.05; margin-bottom: 24px; color: #fff;
    }
    .hero h1 em {
      font-style: normal;
      background: linear-gradient(135deg, #60a5fa 20%, var(--fgas-2));
      -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
    }

    .hero p { font-size: clamp(17px, 2.2vw, 22px); color: rgba(255,255,255,0.7); max-width: 660px; margin: 0 auto 44px; line-height: 1.55; }
    .hero p strong { color: rgba(255,255,255,0.95); }

    .hero-buttons { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

    .btn-primary {
      background: var(--blue); color: #fff;
      padding: 15px 30px; border-radius: 980px;
      font-size: 17px; font-weight: 600; text-decoration: none;
      transition: background .2s, transform .15s;
      display: inline-flex; align-items: center; gap: 8px;
    }
    .btn-primary:hover { background: var(--blue-hover); transform: scale(1.02); }

    .btn-secondary {
      background: rgba(255,255,255,0.12); color: #fff;
      padding: 15px 30px; border-radius: 980px;
      font-size: 17px; font-weight: 600; text-decoration: none;
      border: 1px solid rgba(255,255,255,0.25);
      backdrop-filter: blur(10px); transition: all .2s;
    }
    .btn-secondary:hover { background: rgba(255,255,255,0.2); transform: scale(1.02); }

    /* ── HERO MOCKUP ── */
    .hero-mockup { margin-top: 64px; position: relative; display: inline-block; }
    .mockup-screen {
      width: min(920px, 92vw); height: min(520px, 52vw);
      background: var(--white); border-radius: 18px;
      border: 1px solid rgba(255,255,255,0.1);
      display: flex; position: relative; overflow: hidden;
      box-shadow: 0 40px 100px rgba(0,0,0,0.35), 0 0 0 1px rgba(255,255,255,0.05);
    }
    .mockup-topbar {
      position: absolute; top: 0; left: 0; right: 0; height: 38px;
      background: var(--light-bg); border-bottom: 1px solid rgba(0,0,0,0.07);
      display: flex; align-items: center; padding: 0 16px; gap: 8px;
    }
    .dot { width: 12px; height: 12px; border-radius: 50%; }
    .dot-r { background: #ff5f57; } .dot-y { background: #ffbd2e; } .dot-g { background: #28ca41; }

    .mockup-content { display: grid; grid-template-columns: 200px 1fr; width: 100%; height: 100%; margin-top: 38px; }
    .mockup-sidebar {
      background: #f9fafb; border-right: 1px solid rgba(0,0,0,0.06);
      padding: 20px 14px; display: flex; flex-direction: column; gap: 4px;
    }
    .sidebar-item { padding: 9px 12px; border-radius: 8px; font-size: 13px; color: var(--mid); display: flex; align-items: center; gap: 10px; }
    .sidebar-item.active { background: rgba(0,113,227,0.08); color: var(--blue); font-weight: 600; }
    .sidebar-icon { display: flex; align-items: center; justify-content: center; width: 1em; height: 1em; flex-shrink: 0; }

    .mockup-main { background: var(--white); padding: 24px; overflow: hidden; }
    .mock-title { font-size: 18px; font-weight: 700; color: var(--dark); margin-bottom: 20px; }
    .mock-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 22px; }
    .mock-card { background: var(--light-bg); border-radius: 14px; padding: 16px; border: 1px solid rgba(0,0,0,0.05); }
    .mock-card-label { font-size: 11px; color: var(--mid); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 6px; }
    .mock-card-value { font-size: 26px; font-weight: 700; color: var(--dark); }
    .mock-card-sub { font-size: 11px; margin-top: 4px; }
    .sub-green { color: var(--accent-green); } .sub-orange { color: var(--accent-orange); } .sub-teal { color: var(--accent-teal); }

    .mock-bar-row { display: flex; flex-direction: column; gap: 8px; }
    .mock-bar { display: flex; align-items: center; gap: 10px; }
    .mock-bar-label { font-size: 11px; color: var(--mid); width: 100px; flex-shrink: 0; }
    .mock-bar-track { flex: 1; height: 6px; background: rgba(0,0,0,0.06); border-radius: 3px; overflow: hidden; }
    .mock-bar-fill { height: 100%; border-radius: 3px; }

    /* ══════════════════════════════════════════
       BAND - grigio chiaro
       ══════════════════════════════════════════ */
    .band { background: var(--light-bg); text-align: center; padding: 18px 20px; }
    .band p { font-size: 14px; color: var(--mid); }
    .band strong { color: var(--dark); }

    /* ══════════════════════════════════════════
       SEZIONI GENERALI
       ══════════════════════════════════════════ */
    .section-eyebrow { font-size: 14px; font-weight: 600; color: var(--blue); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 14px; text-align: center; }
    .section-title { font-size: clamp(32px, 4vw, 52px); font-weight: 700; letter-spacing: -1.5px; line-height: 1.08; color: var(--dark); text-align: center; margin-bottom: 18px; }
    .section-subtitle { font-size: 19px; color: var(--mid); max-width: 640px; margin: 0 auto 64px; line-height: 1.55; text-align: center; }

    /* ══════════════════════════════════════════
       F-GAS HERO - bianco/teal chiaro (sezione speciale)
       ══════════════════════════════════════════ */
    .fgas-hero {
      background: linear-gradient(135deg, #f0fdfa 0%, #e0f7fa 40%, #ecfdf5 100%);
      padding: 100px 20px; position: relative; overflow: hidden;
    }
    .fgas-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 50% at 70% 30%, rgba(6,182,212,0.1), transparent); pointer-events: none; }
    .fgas-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
    .fgas-text .section-eyebrow { text-align: left; color: var(--fgas-1); }
    .fgas-text .section-title { text-align: left; font-size: clamp(30px, 3.5vw, 48px); }
    .fgas-text .section-title em { font-style: normal; background: linear-gradient(135deg, var(--fgas-1), var(--fgas-2)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
    .fgas-text .section-subtitle { text-align: left; margin: 0 0 32px; font-size: 17px; }

    .fgas-features { display: flex; flex-direction: column; gap: 16px; margin-bottom: 36px; }
    .fgas-feat-item {
      display: flex; align-items: flex-start; gap: 14px;
      background: var(--white); padding: 16px 20px; border-radius: 14px;
      border: 1px solid rgba(0,0,0,0.06); box-shadow: 0 2px 8px rgba(0,0,0,0.03);
    }
    .fgas-feat-icon { width: 40px; height: 40px; border-radius: 10px; background: linear-gradient(135deg, rgba(14,116,144,0.1), rgba(6,182,212,0.15)); display: flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0; }
    .fgas-feat-title { font-size: 15px; font-weight: 600; color: var(--dark); margin-bottom: 4px; }
    .fgas-feat-desc { font-size: 14px; color: var(--mid); line-height: 1.5; }

    .fgas-mockup { width: 100%; max-width: 460px; background: var(--white); border-radius: 20px; box-shadow: 0 24px 64px rgba(0,0,0,0.1); border: 1px solid rgba(0,0,0,0.06); overflow: hidden; }
    .fgas-mockup-header { background: linear-gradient(135deg, var(--fgas-1), var(--fgas-2)); padding: 20px 24px; color: #fff; }
    .fgas-mockup-title { font-size: 17px; font-weight: 700; margin-bottom: 4px; }
    .fgas-mockup-sub { font-size: 12px; color: rgba(255,255,255,0.7); }
    .fgas-mockup-body { padding: 16px 24px 20px; }
    .fgas-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid rgba(0,0,0,0.06); }
    .fgas-row:last-of-type { border-bottom: none; }
    .fgas-row-left { display: flex; align-items: center; gap: 10px; }
    .fgas-row-icon { display: flex; align-items: center; justify-content: center; width: 1.2em; height: 1.2em; font-size: 18px; flex-shrink: 0; }
    .fgas-row-name { font-size: 14px; font-weight: 500; color: var(--dark); }
    .fgas-row-sub { font-size: 11px; color: var(--mid); margin-top: 2px; }
    .fgas-status { padding: 4px 10px; border-radius: 6px; font-size: 11px; font-weight: 600; }
    .fgas-ok { background: rgba(52,199,89,0.1); color: var(--accent-green); }
    .fgas-warn { background: rgba(255,149,0,0.1); color: var(--accent-orange); }
    .fgas-sync { background: rgba(0,113,227,0.1); color: var(--blue); }
    .fgas-sync-bar { margin-top: 16px; padding: 14px 16px; background: linear-gradient(135deg, rgba(14,116,144,0.05), rgba(6,182,212,0.08)); border-radius: 12px; border: 1px solid rgba(6,182,212,0.15); display: flex; align-items: center; gap: 10px; }
    .fgas-sync-text { font-size: 13px; color: var(--fgas-1); font-weight: 500; }
    .fgas-sync-status { margin-left: auto; font-size: 12px; color: var(--accent-green); font-weight: 600; }

    /* ══════════════════════════════════════════
       PAIN POINTS - bianco
       ══════════════════════════════════════════ */
    .pain-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 2px; background: rgba(0,0,0,0.05); border-radius: 20px; overflow: hidden; }
    .pain-item { background: var(--white); padding: 40px 36px; display: flex; flex-direction: column; gap: 14px; }
    .pain-icon { display: flex; align-items: center; justify-content: center; width: 2.5em; height: 2.5em; font-size: 36px; flex-shrink: 0; }
    .pain-item h3 { font-size: 20px; font-weight: 600; color: var(--dark); }
    .pain-item p { font-size: 15px; color: var(--mid); line-height: 1.55; }

    /* ══════════════════════════════════════════
       FEATURES GRID - grigio scuro
       ══════════════════════════════════════════ */
    .feature-section {
      background: var(--grey-dark);
      padding: 110px 20px;
    }
    .feature-section .section-eyebrow { color: rgba(255,255,255,0.5); }
    .feature-section .section-title { color: #fff; }
    .feature-section .section-subtitle { color: rgba(255,255,255,0.6); }

    .features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 16px; max-width: 1200px; margin: 0 auto; }

    .feature-card {
      background: rgba(255,255,255,0.07);
      border-radius: 20px; padding: 40px 36px;
      border: 1px solid rgba(255,255,255,0.08);
      transition: transform .3s, background .3s, border-color .3s;
      position: relative; overflow: hidden;
    }
    .feature-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(0,113,227,0.4), transparent); opacity: 0; transition: opacity .3s; }
    .feature-card:hover { transform: translateY(-4px); background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.15); }
    .feature-card:hover::before { opacity: 1; }

    .feature-card-icon {
      width: 52px; height: 52px; background: rgba(0,113,227,0.15); border-radius: 14px;
      display: flex; align-items: center; justify-content: center; font-size: 26px; margin-bottom: 22px;
      border: 1px solid rgba(0,113,227,0.2); flex-shrink: 0;
    }
    .feature-card h3 { font-size: 22px; font-weight: 600; color: #fff; letter-spacing: -0.4px; margin-bottom: 10px; }
    .feature-card p { font-size: 15px; color: rgba(255,255,255,0.6); line-height: 1.6; }
    .card-link { display: inline-flex; align-items: center; gap: 6px; color: var(--blue); font-size: 15px; font-weight: 500; text-decoration: none; margin-top: 18px; transition: gap .2s; }
    .card-link:hover { gap: 10px; }

    /* FGAS card accent */
    .feature-card.fgas-card { background: rgba(6,182,212,0.08); border-color: rgba(6,182,212,0.2); }
    .feature-card.fgas-card .feature-card-icon { background: linear-gradient(135deg, rgba(14,116,144,0.2), rgba(6,182,212,0.25)); border-color: rgba(6,182,212,0.3); }
    .fgas-badge-inline { display: inline-flex; align-items: center; gap: 4px; background: linear-gradient(135deg, var(--fgas-1), var(--fgas-2)); color: #fff; font-size: 10px; font-weight: 700; padding: 3px 8px; border-radius: 4px; letter-spacing: .5px; text-transform: uppercase; margin-left: 8px; vertical-align: middle; }

    /* ══════════════════════════════════════════
       SPLIT APP MOBILE - grigio chiaro
       ══════════════════════════════════════════ */
    .split-section { background: var(--light-bg); padding: 0; overflow: hidden; }
    .split-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; min-height: 580px; align-items: center; }
    .split-text { padding: 80px 60px 80px 40px; }
    .split-text .section-eyebrow { text-align: left; }
    .split-text .section-title { text-align: left; font-size: clamp(28px, 3vw, 42px); }
    .split-text .section-subtitle { text-align: left; margin: 0 0 32px; font-size: 17px; }

    .check-list { list-style: none; display: flex; flex-direction: column; gap: 14px; margin-bottom: 36px; }
    .check-list li { display: flex; align-items: flex-start; gap: 12px; font-size: 16px; color: var(--mid); line-height: 1.5; }
    .check-icon { display: flex; align-items: center; justify-content: center; width: 1.2em; height: 1.2em; color: var(--blue); font-size: 20px; margin-top: 1px; flex-shrink: 0; }

    .split-visual {
      min-height: 580px; display: flex; align-items: center; justify-content: center;
      position: relative; overflow: hidden;
      background: linear-gradient(135deg, var(--soft-grey) 0%, #d1d1d6 100%);
    }
    .phone-mockup { width: 240px; height: 480px; background: #f9fafb; border-radius: 36px; border: 4px solid #c8c8cc; box-shadow: 0 40px 80px rgba(0,0,0,0.15); position: relative; overflow: hidden; display: flex; flex-direction: column; }
    .phone-notch { width: 80px; height: 24px; background: var(--dark); border-radius: 0 0 14px 14px; margin: 0 auto; flex-shrink: 0; }
    .phone-screen { flex: 1; background: linear-gradient(160deg, var(--blue) 0%, #2563eb 40%, #1e40af 100%); padding: 16px; overflow: hidden; }
    .phone-greeting { font-size: 11px; color: rgba(255,255,255,0.6); margin-bottom: 4px; }
    .phone-title { font-size: 18px; font-weight: 700; color: #fff; margin-bottom: 16px; }
    .phone-ticket { background: rgba(255,255,255,0.15); border-radius: 12px; padding: 12px; margin-bottom: 8px; border: 1px solid rgba(255,255,255,0.12); backdrop-filter: blur(10px); }
    .ticket-top { display: flex; justify-content: space-between; margin-bottom: 6px; }
    .ticket-title { font-size: 12px; font-weight: 600; color: #fff; }
    .ticket-badge { font-size: 10px; padding: 2px 8px; border-radius: 6px; font-weight: 600; }
    .badge-open { background: rgba(255,149,0,0.3); color: #ffb84d; }
    .badge-done { background: rgba(52,199,89,0.3); color: #5ed889; }
    .badge-new { background: rgba(0,113,227,0.4); color: #60a5fa; }
    .badge-fgas { background: rgba(6,182,212,0.3); color: #67e8f9; }
    .ticket-sub { font-size: 10px; color: rgba(255,255,255,0.5); }

    /* ══════════════════════════════════════════
       STATS - grigio scuro
       ══════════════════════════════════════════ */
    .stats-section {
      background: linear-gradient(170deg, var(--grey-darker) 0%, var(--grey-dark) 100%);
      padding: 100px 20px; text-align: center;
    }
    .stats-section .section-eyebrow { color: rgba(255,255,255,0.45); }
    .stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 48px; max-width: 1000px; margin: 0 auto 56px; }
    .stat-value { font-size: clamp(44px, 5.5vw, 72px); font-weight: 700; color: #fff; letter-spacing: -2px; line-height: 1; margin-bottom: 10px; }
    .stat-value span { color: #60a5fa; }
    .stat-label { font-size: 16px; color: rgba(255,255,255,0.55); line-height: 1.4; }

    /* ══════════════════════════════════════════
       TESTIMONIALS - bianco
       ══════════════════════════════════════════ */
    .testimonials-section { padding: 100px 0; background: #0a0a0f; overflow:hidden; }
    .testimonials-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; max-width: 1100px; margin: 0 auto; }
    .testimonial-card { background: var(--light-bg); border-radius: 20px; padding: 36px; }
    .testimonial-quote { font-size: 17px; color: var(--dark); line-height: 1.65; margin-bottom: 28px; font-style: italic; }
    .testimonial-author { display: flex; align-items: center; gap: 14px; }
    .author-avatar { width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 700; color: #fff; flex-shrink: 0; }
    .author-name { font-size: 15px; font-weight: 600; color: var(--dark); }
    .author-role { font-size: 13px; color: var(--mid); margin-top: 2px; }
    .stars { color: #ff9f0a; font-size: 14px; margin-bottom: 16px; letter-spacing: 2px; }

    /* ══════════════════════════════════════════
       SECTORS - grigio chiaro
       ══════════════════════════════════════════ */
    .sectors-section { background: var(--light-bg); padding: 100px 20px; }
    .sectors-scroll { display: flex; gap: 14px; max-width: 1200px; margin: 0 auto; flex-wrap: wrap; justify-content: center; }
    .sector-chip { background: var(--white); border-radius: 980px; padding: 14px 26px; font-size: 16px; font-weight: 500; color: var(--dark); display: flex; align-items: center; gap: 10px; border: 1px solid rgba(0,0,0,0.07); transition: all .2s; cursor: default; }
    .sector-chip:hover { background: var(--grey-dark); color: #fff; transform: scale(1.03); }
    .sector-chip.primary { background: linear-gradient(135deg, var(--fgas-1), var(--fgas-2)); color: #fff; border-color: transparent; font-weight: 600; }
    .sector-chip.primary:hover { transform: scale(1.05); filter: brightness(1.1); }
    .sector-chip svg { width: 1.2em; height: 1.2em; flex-shrink: 0; }

    /* ══════════════════════════════════════════
       FAQ - bianco
       ══════════════════════════════════════════ */
    .faq-section { padding: 100px 20px; max-width: 780px; margin: 0 auto; background: var(--white); }
    .faq-item { border-bottom: 1px solid rgba(0,0,0,0.08); padding: 22px 0; }
    .faq-question { font-size: 18px; font-weight: 600; color: var(--dark); cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
    .faq-arrow { display: flex; align-items: center; justify-content: center; width: 1.2em; height: 1.2em; font-size: 20px; color: var(--blue); transition: transform .3s; flex-shrink: 0; }
    .faq-answer { font-size: 16px; color: var(--mid); line-height: 1.65; margin-top: 14px; display: none; }

    /* ══════════════════════════════════════════
       CTA FINALE - grigio scuro
       ══════════════════════════════════════════ */
    .cta-section {
      background: linear-gradient(170deg, var(--grey-dark) 0%, var(--grey-darker) 100%);
      padding: 120px 20px; text-align: center;
      position: relative; overflow: hidden;
    }
    .cta-section::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 50% at 50% 80%, rgba(0,113,227,0.15) 0%, transparent 70%); pointer-events: none; }
    .cta-section .section-eyebrow { color: rgba(255,255,255,0.45); }
    .cta-section .section-title { color: #fff; }
    .cta-section .section-subtitle { color: rgba(255,255,255,0.6); }

    .btn-secondary-light {
      background: rgba(255,255,255,0.12); color: #fff;
      padding: 18px 38px; border-radius: 980px;
      font-size: 18px; font-weight: 600; text-decoration: none;
      border: 1px solid rgba(255,255,255,0.2);
      backdrop-filter: blur(10px); transition: all .2s;
    }
    .btn-secondary-light:hover { background: rgba(255,255,255,0.2); transform: scale(1.02); }

    /* ══════════════════════════════════════════
       FOOTER - grigio chiaro
       ══════════════════════════════════════════ */
    
    
    
    
    
    
    
    
    
    

    /* ── RESPONSIVE ── */
    @media (max-width: 768px) {
      .nav-links { display: none; }
      .split-inner, .fgas-inner { grid-template-columns: 1fr; }
      .split-visual, .fgas-visual { display: none; }
      .split-text, .fgas-text { padding: 60px 24px; }
      
      .mockup-content { grid-template-columns: 1fr; }
      .mockup-sidebar { display: none; }
      .mock-cards { grid-template-columns: 1fr 1fr; }
    }

    .fade-up { opacity: 0; transform: translateY(30px); transition: opacity .7s ease, transform .7s ease; }
    .fade-up.visible { opacity: 1; transform: translateY(0); }

    /* ── EARLY ADOPTER URGENCY BADGE ── */
    .urgency-bar {
      background: linear-gradient(90deg, #ff6b35, #ff9500);
      color: #fff; text-align: center; padding: 10px 20px;
      font-size: 13px; font-weight: 600; letter-spacing: .1px;
      display: flex; align-items: center; justify-content: center; gap: 10px;
    }
    .urgency-bar a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

    /* ── FLOATING TRIAL BAR ── */
    .floating-cta {
      position: fixed; bottom: 0; left: 0; right: 0; z-index: 998;
      background: rgba(29,29,31,0.96);
      backdrop-filter: saturate(180%) blur(20px);
      -webkit-backdrop-filter: saturate(180%) blur(20px);
      padding: 14px 24px;
      display: flex; align-items: center; justify-content: space-between; gap: 16px;
      border-top: 1px solid rgba(255,255,255,0.08);
      transform: translateY(100%); transition: transform .4s cubic-bezier(.4,0,.2,1);
    }
    .floating-cta.visible { transform: translateY(0); }
    .floating-cta-text { font-size: 14px; color: rgba(255,255,255,0.75); }
    .floating-cta-text strong { color: #fff; }
    .floating-cta-buttons { display: flex; gap: 10px; flex-shrink: 0; }
    .float-btn-primary {
      background: var(--blue); color: #fff;
      padding: 10px 22px; border-radius: 980px;
      font-size: 14px; font-weight: 600; text-decoration: none;
      transition: background .2s; white-space: nowrap;
    }
    .float-btn-primary:hover { background: var(--blue-hover); }
    .float-btn-ghost {
      color: rgba(255,255,255,0.6); font-size: 13px; font-weight: 500;
      text-decoration: none; padding: 10px 16px; border-radius: 980px;
      border: 1px solid rgba(255,255,255,0.15);
      transition: all .2s; white-space: nowrap;
    }
    .float-btn-ghost:hover { color: #fff; border-color: rgba(255,255,255,0.3); }
    .float-dismiss {
      background: none; border: none; cursor: pointer;
      color: rgba(255,255,255,0.35); font-size: 20px; line-height: 1;
      padding: 4px 8px; transition: color .2s;
    }
    .float-dismiss:hover { color: rgba(255,255,255,0.7); }

    /* ── COME FUNZIONA (bianco) ── */
    .how-section { background: var(--white); padding: 100px 20px; }
    .how-grid {
      display: grid; grid-template-columns: repeat(3,1fr);
      gap: 0; max-width: 1000px; margin: 0 auto; position: relative;
    }
    .how-grid::before {
      content: ''; position: absolute; top: 40px; left: calc(33.33% + 20px);
      right: calc(33.33% + 20px); height: 2px;
      background: linear-gradient(90deg, var(--blue), var(--fgas-2));
      border-radius: 1px;
    }
    .how-step { text-align: center; padding: 0 32px; }
    .how-number {
      width: 80px; height: 80px; border-radius: 50%;
      background: var(--blue); color: #fff;
      font-size: 28px; font-weight: 700;
      display: flex; align-items: center; justify-content: center;
      margin: 0 auto 24px; position: relative; z-index: 1;
      box-shadow: 0 0 0 8px rgba(0,113,227,0.12);
    }
    .how-step:nth-child(2) .how-number { background: linear-gradient(135deg, var(--fgas-1), var(--fgas-2)); box-shadow: 0 0 0 8px rgba(6,182,212,0.12); }
    .how-step:nth-child(3) .how-number { background: var(--accent-green); box-shadow: 0 0 0 8px rgba(52,199,89,0.12); }
    .how-step h3 { font-size: 18px; font-weight: 700; color: var(--dark); margin-bottom: 10px; }
    .how-step p { font-size: 14px; color: var(--mid); line-height: 1.6; }

    /* ── INTEGRATION LOGOS BAND ── */
    .integrations-band {
      background: var(--light-bg); padding: 40px 20px;
      border-top: 1px solid rgba(0,0,0,0.06);
      border-bottom: 1px solid rgba(0,0,0,0.06);
    }
    .integrations-band p { font-size: 13px; color: var(--mid); text-align: center; margin-bottom: 20px; text-transform: uppercase; letter-spacing: .8px; font-weight: 600; }
    .integration-logos { display: flex; align-items: center; justify-content: center; gap: 32px; flex-wrap: wrap; }
    .int-logo {
      background: var(--white); border: 1px solid rgba(0,0,0,0.08);
      border-radius: 10px; padding: 10px 20px;
      font-size: 12px; font-weight: 700; color: var(--mid);
      letter-spacing: -.2px; white-space: nowrap;
      text-align: center;
    }

    .int-logo img{
      height: 20px;
      margin: 0 auto;
      margin-bottom: 20px;
      margin-top: 10px;
    }

    .int-logo p{
      text-align: center;
      font-weight: 200px;
      padding-bottom: 0;
      margin-bottom: 0;
      font-size: 10px;
    }

    /* ── REGISTRATION MODAL ── */
    .modal-overlay {
      display: none; position: fixed; inset: 0; z-index: 9999;
      background: rgba(0,0,0,0.6); backdrop-filter: blur(8px);
      align-items: center; justify-content: center; padding: 20px;
    }
    .modal-overlay.open { display: flex; }
    .modal-box {
      background: var(--white); border-radius: 24px;
      padding: 44px 40px; max-width: 480px; width: 100%;
      box-shadow: 0 40px 80px rgba(0,0,0,0.2);
      position: relative; animation: modalIn .3s cubic-bezier(.4,0,.2,1);
    }
    @keyframes modalIn { from { opacity:0; transform:translateY(20px) scale(.97); } to { opacity:1; transform:translateY(0) scale(1); } }
    .modal-close {
      position: absolute; top: 16px; right: 20px;
      background: none; border: none; cursor: pointer;
      font-size: 24px; color: var(--mid); line-height: 1;
    }
    .modal-eyebrow { font-size: 13px; font-weight: 600; color: var(--blue); text-transform: uppercase; letter-spacing: .8px; margin-bottom: 10px; }
    .modal-title { font-size: 26px; font-weight: 700; letter-spacing: -1px; color: var(--dark); margin-bottom: 8px; }
    .modal-subtitle { font-size: 14px; color: var(--mid); line-height: 1.55; }
    .modal-form { display: flex; flex-direction: column; gap: 14px; }
    .modal-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .modal-input {
      width: 100%; padding: 13px 16px; border-radius: 12px;
      border: 1.5px solid rgba(0,0,0,0.12); font-size: 15px;
      font-family: var(--font); color: var(--dark); background: var(--white);
      transition: border-color .2s; outline: none;
    }
    .modal-input:focus { border-color: var(--blue); }
    .modal-input::placeholder { color: var(--mid); }
    .modal-submit {
      background: var(--blue); color: #fff; border: none; cursor: pointer;
      padding: 15px; border-radius: 980px; font-size: 16px; font-weight: 600;
      font-family: var(--font); transition: background .2s, transform .15s; margin-top: 4px;
    }
    .modal-submit:hover { background: var(--blue-hover); transform: scale(1.02); }
    .modal-legal { font-size: 12px; color: var(--mid); text-align: center; margin-top: 12px; line-height: 1.5; }
    .modal-legal a { color: var(--blue); }
    .modal-success { display: none; text-align: center; padding: 20px 0; }
    .modal-success svg { color: var(--accent-green); margin-bottom: 16px; }
    .modal-success h3 { font-size: 22px; font-weight: 700; color: var(--dark); margin-bottom: 8px; }
    .modal-success p { font-size: 15px; color: var(--mid); }

    @media (max-width: 768px) {
      .how-grid::before { display: none; }
      .how-grid { grid-template-columns: 1fr; gap: 40px; }
      .floating-cta-text { display: none; }
      .modal-row { grid-template-columns: 1fr; }
      .modal-box { padding: 32px 24px; }
      .urgency-bar { font-size: 12px; }
    }
  
/* ═══ FEATURES ═══ */

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --blue: #0071e3;
      --blue-hover: #0077ed;
      --dark: #1d1d1f;
      --mid: #6e6e73;
      --grey-dark: #48484a;
      --grey-darker: #3a3a3c;
      --grey-medium: #636366;
      --light: #f5f5f7;
      --soft-grey: #e8e8ed;
      --section-grey: #fbfbfd;
      --white: #ffffff;
      --accent-green: #34c759;
      --accent-orange: #ff9500;
      --accent-red: #ff3b30;
      --fgas-1: #0e7490;
      --fgas-2: #06b6d4;
      --font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Arial, sans-serif;
    }

    html { scroll-behavior: smooth; }
    body { font-family: var(--font); color: var(--dark); background: var(--white); -webkit-font-smoothing: antialiased; overflow-x: hidden; }

    /* NAV */
    nav {
      position: sticky; top: 0; z-index: 999; height: 52px;
      display: flex; align-items: center; justify-content: space-between;
      padding: 0 22px;
      background: rgba(255,255,255,0.88);
      backdrop-filter: saturate(180%) blur(20px);
      -webkit-backdrop-filter: saturate(180%) blur(20px);
      border-bottom: 1px solid rgba(0,0,0,0.08);
    }
    .nav-logo { font-size:20px; font-weight:700; color:var(--dark); letter-spacing:-0.5px; text-decoration:none; }
    .nav-logo span { color:var(--blue); }
    .nav-links { display:flex; gap:28px; list-style:none; align-items:center; }
    .nav-links a { font-size:13px; color:var(--dark); text-decoration:none; opacity:0.8; transition:opacity .2s; }
    .nav-links a:hover { opacity:1; }
    .nav-links a.active { opacity:1; color:var(--blue); font-weight:600; }
    .nav-cta { background:var(--blue); color:#fff !important; padding:7px 16px; border-radius:980px; font-size:13px !important; font-weight:600; opacity:1 !important; }

    /* HERO */
    .hero-features {
      background: linear-gradient(170deg, var(--grey-dark) 0%, var(--grey-darker) 100%);
      padding: 140px 20px 80px; text-align: center; color: #fff;
      position: relative; overflow: hidden;
    }
    .hero-features::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 70% 50% at 50% 20%, rgba(0,113,227,0.15), transparent); pointer-events:none; }
    .eyebrow { font-size:14px; font-weight:600; color:var(--blue); text-transform:uppercase; letter-spacing:1px; margin-bottom:14px; }
    .hero-features .eyebrow { color: rgba(255,255,255,0.5); }
    .big-title { font-size:clamp(34px, 5vw, 60px); font-weight:700; letter-spacing:-2px; line-height:1.07; color:var(--dark); margin-bottom:20px; }
    .hero-features .big-title { color: #fff; }
    .sub { font-size:19px; color:var(--mid); max-width:620px; margin:0 auto 48px; line-height:1.55; }
    .hero-features .sub { color: rgba(255,255,255,0.6); }

    /* TABS NAV */
    .features-nav { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; max-width:1100px; margin:0 auto; }
    .feat-tab {
      padding:10px 20px; border-radius:980px; font-size:14px; font-weight:500;
      color:rgba(255,255,255,0.6); background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.12);
      cursor:pointer; transition:all .2s; text-decoration:none; display:inline-flex; align-items:center; gap:6px;
    }
    .feat-tab:hover, .feat-tab.active { background:var(--white); color:var(--dark); border-color:var(--white); }
    .feat-tab.fgas-tab.active, .feat-tab.fgas-tab:hover {
      background: linear-gradient(135deg, var(--fgas-1), var(--fgas-2)); color:#fff; border-color: transparent;
    }

    /* SVG Icon in tabs */
    .feat-tab svg { width: 1em; height: 1em; }

    /* FEATURE SECTIONS */
    .feat-section { padding:0; overflow:hidden; }
    .feat-section:nth-child(odd) { background:var(--white); }
    .feat-section:nth-child(even) { background:var(--light); }

    .feat-section.dark-bg { background: var(--grey-dark) !important; }
    .feat-section.dark-bg .eyebrow { color: rgba(255,255,255,0.5); }
    .feat-section.dark-bg .big-title { color: #fff; }
    .feat-section.dark-bg .sub { color: rgba(255,255,255,0.6); }
    .feat-section.dark-bg .feat-list li { color: rgba(255,255,255,0.6); }
    .feat-section.dark-bg .feat-list li::before { color: #60a5fa; }
    .feat-section.dark-bg .btn-blue { background: var(--blue); }
    .feat-section.dark-bg .btn-outline { border-color: rgba(255,255,255,0.25); color: #60a5fa; }
    .feat-section.dark-bg .btn-outline:hover { background: rgba(255,255,255,0.08); }

    .feat-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; min-height:560px; align-items:center; }
    .feat-inner.reverse { direction:rtl; }
    .feat-inner.reverse > * { direction:ltr; }

    .feat-text { padding:80px 60px; }
    .feat-text .eyebrow { text-align:left; }
    .feat-text .big-title { font-size:clamp(28px, 3vw, 44px); text-align:left; }
    .feat-text .sub { text-align:left; font-size:17px; margin:0 0 32px; }

    .feat-list { list-style:none; display:flex; flex-direction:column; gap:14px; margin-bottom:36px; }
    .feat-list li { display:flex; align-items:flex-start; gap:12px; font-size:16px; color:var(--mid); line-height:1.5; }
    .feat-list li::before { content:'✓'; color:var(--blue); font-size:18px; font-weight:700; flex-shrink:0; margin-top:1px; }

    .feat-visual { min-height:560px; display:flex; align-items:center; justify-content:center; padding:40px; position:relative; overflow:hidden; }

    .btn { display:inline-flex; align-items:center; gap:8px; padding:13px 26px; border-radius:980px; font-size:15px; font-weight:600; text-decoration:none; transition:all .2s; }
    .btn-blue { background:var(--blue); color:#fff; }
    .btn-blue:hover { background:var(--blue-hover); transform:scale(1.02); }
    .btn-outline { border:1.5px solid rgba(0,0,0,0.15); color:var(--blue); background:transparent; }
    .btn-outline:hover { border-color:var(--blue); background:rgba(0,113,227,0.04); }
    .btn-teal { background:linear-gradient(135deg, var(--fgas-1), var(--fgas-2)); color:#fff; }
    .btn-teal:hover { filter:brightness(1.1); transform:scale(1.02); }

    /* MOCK: PLANNING */
    .planning-mock { width:100%; max-width:480px; background:var(--white); border-radius:20px; box-shadow:0 20px 60px rgba(0,0,0,0.1); overflow:hidden; border:1px solid rgba(0,0,0,0.06); }
    .pmock-header { background:var(--blue); padding:20px 24px; color:#fff; display:flex; justify-content:space-between; align-items:center; }
    .pmock-title { font-size:17px; font-weight:600; display:flex; align-items:center; gap:8px; }
    .pmock-title svg { width: 1.2em; height: 1.2em; }
    .pmock-nav { display:flex; gap:12px; font-size:22px; cursor:pointer; opacity:0.8; }
    .pmock-days { display:grid; grid-template-columns:repeat(7,1fr); background:var(--blue); padding:0 24px 16px; }
    .day-name { text-align:center; font-size:11px; color:rgba(255,255,255,0.6); font-weight:500; padding-bottom:8px; }
    .day-num { text-align:center; font-size:14px; color:rgba(255,255,255,0.9); font-weight:500; padding:6px 4px; border-radius:8px; }
    .day-num.today { background:rgba(255,255,255,0.25); color:#fff; font-weight:700; }
    .pmock-body { padding:16px 24px 20px; }
    .pmock-event { display:flex; gap:12px; align-items:flex-start; padding:12px; border-radius:12px; margin-bottom:8px; border-left:3px solid var(--blue); background:rgba(0,113,227,0.03); }
    .pmock-event.orange { border-color:#ff9500; background:rgba(255,149,0,0.03); }
    .pmock-event.teal { border-color:var(--fgas-2); background:rgba(6,182,212,0.03); }
    .pmock-event.green { border-color:#34c759; background:rgba(52,199,89,0.03); }
    .pmock-event-time { font-size:11px; color:var(--mid); flex-shrink:0; margin-top:2px; }
    .pmock-event-title { font-size:13px; font-weight:600; color:var(--dark); margin-bottom:3px; display:flex; align-items:center; gap:6px; }
    .pmock-event-title svg { width: 1em; height: 1em; }
    .pmock-event-sub { font-size:11px; color:var(--mid); }

    /* MOCK: FGAS */
    .fgas-mock { width:100%; max-width:480px; background:var(--white); border-radius:20px; box-shadow:0 20px 60px rgba(0,0,0,0.1); overflow:hidden; border:1px solid rgba(6,182,212,0.15); }
    .fgas-mock-header { background:linear-gradient(135deg, var(--fgas-1), var(--fgas-2)); padding:20px 24px; color:#fff; }
    .fgas-mock-title { font-size:17px; font-weight:700; margin-bottom:4px; display:flex; align-items:center; gap:8px; }
    .fgas-mock-title svg { width: 1.2em; height: 1.2em; }
    .fgas-mock-sub { font-size:12px; color:rgba(255,255,255,0.7); }
    .fgas-mock-body { padding:16px 24px 20px; }
    .fgas-row { display:flex; justify-content:space-between; align-items:center; padding:13px 0; border-bottom:1px solid rgba(0,0,0,0.06); }
    .fgas-row:last-of-type { border-bottom:none; }
    .fgas-row-left { display:flex; align-items:center; gap:10px; }
    .fgas-row-icon { font-size:18px; width:1.2em; height:1.2em; display:flex; align-items:center; justify-content:center; }
    .fgas-row-icon svg { width: 100%; height: 100%; stroke: currentColor; }
    .fgas-row-name { font-size:14px; font-weight:500; color:var(--dark); }
    .fgas-row-sub { font-size:11px; color:var(--mid); margin-top:2px; }
    .fgas-status { padding:4px 10px; border-radius:6px; font-size:11px; font-weight:600; display:flex; align-items:center; gap:4px; }
    .fgas-status svg { width: 1em; height: 1em; }
    .fgas-ok { background:rgba(52,199,89,0.1); color:var(--accent-green); }
    .fgas-warn { background:rgba(255,149,0,0.1); color:var(--accent-orange); }
    .fgas-sync { background:rgba(0,113,227,0.1); color:var(--blue); }
    .fgas-err { background:rgba(255,59,48,0.1); color:var(--accent-red); }
    .fgas-sync-bar {
      margin-top:16px; padding:14px 16px;
      background:linear-gradient(135deg, rgba(14,116,144,0.05), rgba(6,182,212,0.08));
      border-radius:12px; border:1px solid rgba(6,182,212,0.15);
      display:flex; align-items:center; gap:10px;
    }
    .fgas-sync-icon { font-size:18px; width:1.2em; height:1.2em; display:flex; align-items:center; justify-content:center; }
    .fgas-sync-icon svg { width: 100%; height: 100%; stroke: currentColor; }
    .fgas-sync-text { font-size:13px; color:var(--fgas-1); font-weight:500; }
    .fgas-sync-status { margin-left:auto; font-size:12px; color:var(--accent-green); font-weight:600; }

    /* Badge F-GAS inline */
    .fgas-badge { display:inline-flex; align-items:center; gap:4px; background:linear-gradient(135deg, var(--fgas-1), var(--fgas-2)); color:#fff; font-size:10px; font-weight:700; padding:3px 8px; border-radius:4px; letter-spacing:.5px; text-transform:uppercase; margin-left:8px; vertical-align:middle; }

    /* MOCK: TICKETING */
    .ticket-mock { width:100%; max-width:480px; background:var(--white); border-radius:20px; box-shadow:0 20px 60px rgba(0,0,0,0.1); overflow:hidden; border:1px solid rgba(0,0,0,0.06); }
    .tmock-header { padding:20px 24px; border-bottom:1px solid rgba(0,0,0,0.07); display:flex; justify-content:space-between; align-items:center; }
    .tmock-title { font-size:16px; font-weight:700; color:var(--dark); display:flex; align-items:center; gap:8px; }
    .tmock-title svg { width: 1.2em; height: 1.2em; }
    .tmock-count { background:var(--blue); color:#fff; border-radius:12px; padding:3px 10px; font-size:12px; font-weight:600; }
    .tmock-filters { display:flex; gap:8px; padding:14px 24px; border-bottom:1px solid rgba(0,0,0,0.07); }
    .tmock-filter { padding:5px 14px; border-radius:980px; font-size:12px; font-weight:500; background:var(--light); color:var(--mid); }
    .tmock-filter.active { background:var(--dark); color:#fff; }
    .tmock-list { padding:12px 24px 20px; display:flex; flex-direction:column; gap:8px; }
    .tmock-ticket { padding:14px; border-radius:12px; border:1px solid rgba(0,0,0,0.07); display:flex; justify-content:space-between; align-items:flex-start; }
    .tmock-ticket-title { font-size:14px; font-weight:600; color:var(--dark); margin-bottom:4px; display:flex; align-items:center; gap:6px; }
    .tmock-ticket-title svg { width: 1em; height: 1em; }
    .tmock-ticket-meta { font-size:12px; color:var(--mid); }
    .badge { padding:4px 10px; border-radius:6px; font-size:11px; font-weight:600; flex-shrink:0; }
    .badge-urgente { background:rgba(255,59,48,0.1); color:#ff3b30; }
    .badge-aperto { background:rgba(255,149,0,0.1); color:#ff9500; }
    .badge-progress { background:rgba(0,113,227,0.1); color:#0071e3; }
    .badge-chiuso { background:rgba(52,199,89,0.1); color:#34c759; }

    /* MOCK: REPORT */
    .report-mock { width:100%; max-width:440px; background:var(--white); border-radius:20px; box-shadow:0 20px 60px rgba(0,0,0,0.1); border:1px solid rgba(0,0,0,0.06); overflow:hidden; }
    .rmock-header { background:var(--dark); padding:20px 24px; color:#fff; }
    .rmock-title { font-size:16px; font-weight:700; margin-bottom:4px; display:flex; align-items:center; gap:8px; }
    .rmock-title svg { width: 1.2em; height: 1.2em; }
    .rmock-sub { font-size:12px; color:rgba(255,255,255,0.5); }
    .rmock-body { padding:20px 24px; }
    .rmock-chart { display:flex; align-items:flex-end; gap:10px; height:100px; margin-bottom:20px; }
    .rmock-bar-wrap { display:flex; flex-direction:column; align-items:center; gap:6px; flex:1; }
    .rmock-bar-col { width:100%; border-radius:6px 6px 0 0; transition:height .4s; }
    .rmock-bar-label { font-size:10px; color:var(--mid); }
    .rmock-divider { height:1px; background:rgba(0,0,0,0.07); margin:16px 0; }
    .rmock-stat-row { display:flex; justify-content:space-between; align-items:center; padding:8px 0; }
    .rmock-stat-name { font-size:13px; color:var(--mid); }
    .rmock-stat-val { font-size:14px; font-weight:700; color:var(--dark); }

    /* MOCK: ORDINARIA */
    .ord-mock { width:100%; max-width:440px; background:var(--white); border-radius:20px; box-shadow:0 20px 60px rgba(0,0,0,0.1); border:1px solid rgba(0,0,0,0.06); overflow:hidden; }
    .omock-header { background:linear-gradient(135deg, #34c759 0%, #30b350 100%); padding:20px 24px; color:#fff; }
    .omock-title { font-size:16px; font-weight:700; margin-bottom:4px; display:flex; align-items:center; gap:8px; }
    .omock-title svg { width: 1.2em; height: 1.2em; }
    .omock-sub { font-size:12px; color:rgba(255,255,255,0.7); }
    .omock-body { padding:16px 24px 20px; }
    .omock-item { display:flex; align-items:center; gap:12px; padding:12px; border-radius:12px; margin-bottom:8px; border:1px solid rgba(0,0,0,0.06); }
    .omock-icon { width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0; }
    .omock-icon svg { width: 100%; height: 100%; stroke: currentColor; }
    .omock-info { flex:1; }
    .omock-name { font-size:13px; font-weight:600; color:var(--dark); margin-bottom:3px; }
    .omock-next { font-size:11px; color:var(--mid); }
    .omock-status { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
    .status-green { background:#34c759; } .status-orange { background:#ff9500; } .status-red { background:#ff3b30; }
    .omock-progress { margin-top:16px; }
    .omock-progress-label { display:flex; justify-content:space-between; font-size:12px; color:var(--mid); margin-bottom:8px; }
    .omock-progress-track { height:6px; background:rgba(0,0,0,0.06); border-radius:3px; overflow:hidden; }
    .omock-progress-fill { height:100%; background:#34c759; border-radius:3px; }

    /* MOCK: CONTRACT */
    .contract-mock { width:100%; max-width:440px; background:var(--white); border-radius:20px; box-shadow:0 20px 60px rgba(0,0,0,0.1); border:1px solid rgba(0,0,0,0.06); overflow:hidden; }
    .cmock-header { background:linear-gradient(135deg, #5e5ce6 0%, #3a38b0 100%); padding:20px 24px; color:#fff; }
    .cmock-title { font-size:16px; font-weight:700; margin-bottom:4px; display:flex; align-items:center; gap:8px; }
    .cmock-title svg { width: 1.2em; height: 1.2em; }
    .cmock-sub { font-size:12px; color:rgba(255,255,255,0.7); }
    .cmock-body { padding:16px 24px 20px; }
    .cmock-contract { padding:14px; border-radius:12px; border:1px solid rgba(0,0,0,0.06); margin-bottom:10px; }
    .cmock-row { display:flex; justify-content:space-between; align-items:center; }
    .cmock-name { font-size:14px; font-weight:600; color:var(--dark); display:flex; align-items:center; gap:6px; }
    .cmock-name svg { width: 1em; height: 1em; }
    .cmock-badge { padding:3px 10px; border-radius:6px; font-size:11px; font-weight:600; display:flex; align-items:center; gap:4px; }
    .cmock-badge svg { width: 1em; height: 1em; }
    .cbadge-active { background:rgba(52,199,89,0.1); color:#34c759; }
    .cbadge-expiring { background:rgba(255,149,0,0.1); color:#ff9500; }
    .cmock-detail { font-size:12px; color:var(--mid); margin-top:6px; }
    .cmock-bar-track { height:4px; background:rgba(0,0,0,0.06); border-radius:2px; margin-top:10px; overflow:hidden; }
    .cmock-bar-fill { height:100%; background:#5e5ce6; border-radius:2px; }

    /* CTA */
    .dark-cta {
      background: linear-gradient(170deg, var(--grey-dark) 0%, var(--grey-darker) 100%);
      padding: 120px 20px; text-align: center; color: #fff;
      position: relative; overflow: hidden;
    }
    .dark-cta::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 60% 40% at 50% 80%, rgba(0,113,227,0.15), transparent); pointer-events:none; }
    .dark-cta .eyebrow { color: rgba(255,255,255,0.45); }
    .dark-cta .big-title { color: #fff; }
    .dark-cta .sub { color: rgba(255,255,255,0.6); }
    .btn-row { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:10px; }
    .btn-filled, .btn-primary { background:var(--blue); color:#fff; padding:16px 32px; border-radius:980px; font-size:17px; font-weight:600; text-decoration:none; transition:all .2s; }
    .btn-filled:hover, .btn-primary:hover { background:var(--blue-hover); transform:scale(1.02); }
    .btn-sec { background:rgba(255,255,255,0.12); border:1.5px solid rgba(255,255,255,0.25); color:#fff; padding:16px 32px; border-radius:980px; font-size:17px; font-weight:600; text-decoration:none; transition:all .2s; backdrop-filter:blur(10px); }
    .btn-sec:hover { background:rgba(255,255,255,0.2); transform:scale(1.02); }

    /* FOOTER */
    
    
    
    
    
    
    
    
    
    

    .fade-up { opacity:0; transform:translateY(30px); transition:opacity .7s ease, transform .7s ease; }
    .fade-up.visible { opacity:1; transform:translateY(0); }

    /* Urgency bar */
    .urgency-bar { background:linear-gradient(90deg,#ff6b35,#ff9500); color:#fff; text-align:center; padding:10px 20px; font-size:13px; font-weight:600; display:flex; align-items:center; justify-content:center; gap:10px; }
    .urgency-bar a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
    /* Modal */
    .modal-overlay { display:none; position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,0.6); backdrop-filter:blur(8px); align-items:center; justify-content:center; padding:20px; }
    .modal-overlay.open { display:flex; }
    .modal-box { background:#fff; border-radius:24px; padding:44px 40px; max-width:480px; width:100%; box-shadow:0 40px 80px rgba(0,0,0,0.2); position:relative; animation:modalIn .3s cubic-bezier(.4,0,.2,1); }
    @keyframes modalIn { from{opacity:0;transform:translateY(20px) scale(.97)} to{opacity:1;transform:none} }
    .modal-close { position:absolute; top:16px; right:20px; background:none; border:none; cursor:pointer; font-size:24px; color:#86868b; line-height:1; }
    .modal-badge { display:inline-block; background:linear-gradient(135deg,#e8f5e9,#e3f2fd); color:#0071e3; font-size:12px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; padding:6px 14px; border-radius:980px; margin-bottom:14px; }
    .modal-title { font-size:26px; font-weight:700; letter-spacing:-1px; color:#1d1d1f; margin-bottom:8px; }
    .modal-subtitle { font-size:14px; color:#48484a; line-height:1.55; }
    .modal-form { display:flex; flex-direction:column; gap:14px; }
    .modal-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
    .modal-input { width:100%; padding:13px 16px; border-radius:12px; border:1.5px solid rgba(0,0,0,0.12); font-size:15px; font-family:inherit; color:#1d1d1f; background:#fff; transition:border-color .2s; outline:none; box-sizing:border-box; }
    .modal-input:focus { border-color:#0071e3; }
    .modal-input::placeholder { color:#86868b; }
    .modal-submit { display:flex; align-items:center; justify-content:center; gap:8px; background:#0071e3; color:#fff; border:none; cursor:pointer; padding:15px; border-radius:980px; font-size:16px; font-weight:600; font-family:inherit; transition:background .2s,transform .15s; margin-top:4px; width:100%; }
    .modal-submit:hover { background:#0077ed; transform:scale(1.02); }
    /* Floating CTA */
    .floating-cta { position:fixed; bottom:0; left:0; right:0; z-index:998; background:rgba(29,29,31,0.96); backdrop-filter:blur(20px); padding:14px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid rgba(255,255,255,0.08); transform:translateY(100%); transition:transform .4s cubic-bezier(.4,0,.2,1); }
    .floating-cta.visible { transform:translateY(0); }
    .floating-cta-text { font-size:14px; color:rgba(255,255,255,0.75); }
    .floating-cta-text strong { color:#fff; }
    .floating-cta-buttons { display:flex; gap:10px; flex-shrink:0; }
    @media(max-width:768px) {
      .nav-links { display:none; }
      .feat-inner { grid-template-columns:1fr; }
      .feat-visual { display:none; }
      .feat-inner.reverse { direction:ltr; }
      
      .floating-cta-text { display:none; }
      .modal-row { grid-template-columns:1fr; }
      .modal-box { padding:32px 24px; }
    }
  
/* ═══ PRICING ═══ */

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --blue: #0071e3;
      --blue-hover: #0077ed;
      --dark: #1d1d1f;
      --mid: #6e6e73;
      --grey-dark: #48484a;
      --grey-darker: #3a3a3c;
      --grey-medium: #636366;
      --light-bg: #f5f5f7;
      --soft-grey: #e8e8ed;
      --white: #ffffff;
      --accent-green: #34c759;
      --accent-orange: #ff9500;
      --accent-red: #ff3b30;
      --fgas-1: #0e7490;
      --fgas-2: #06b6d4;
      --font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Arial, sans-serif;
    }

    html { scroll-behavior: smooth; }
    body { font-family: var(--font); color: var(--dark); background: var(--white); -webkit-font-smoothing: antialiased; overflow-x: hidden; }

    /* ── NAV ── */
    nav {
      position: sticky; top: 0; z-index: 999; height: 52px;
      display: flex; align-items: center; justify-content: space-between;
      padding: 0 22px;
      background: rgba(255,255,255,0.88);
      backdrop-filter: saturate(180%) blur(20px);
      -webkit-backdrop-filter: saturate(180%) blur(20px);
      border-bottom: 1px solid rgba(0,0,0,0.08);
    }
    .nav-logo { font-size:20px; font-weight:700; color:var(--dark); letter-spacing:-0.5px; text-decoration:none; }
    .nav-logo span { color:var(--blue); }
    .nav-links { display:flex; gap:28px; list-style:none; align-items:center; }
    .nav-links a { font-size:13px; color:var(--dark); text-decoration:none; opacity:0.8; transition:opacity .2s; }
    .nav-links a.btn-primary { color: white;}
    .nav-links a:hover { opacity:1; }
    .nav-links .active { opacity:1; font-weight:600; }
    .nav-cta { background:var(--blue); color:#fff !important; padding:7px 16px; border-radius:980px; font-size:13px !important; font-weight:600; opacity:1 !important; transition:background .2s !important; }
    .nav-cta:hover { background:var(--blue-hover) !important; }

    /* ── GENERAL ── */
    .section-eyebrow { font-size: 14px; font-weight: 600; color: var(--blue); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 14px; text-align: center; }
    .section-title { font-size: clamp(32px, 4vw, 52px); font-weight: 700; letter-spacing: -1.5px; line-height: 1.08; color: var(--dark); text-align: center; margin-bottom: 18px; }
    .section-subtitle { font-size: 19px; color: var(--mid); max-width: 640px; margin: 0 auto 64px; line-height: 1.55; text-align: center; }

    .btn-primary {
      background: var(--blue); color: #fff;
      padding: 15px 30px; border-radius: 980px;
      font-size: 17px; font-weight: 600; text-decoration: none;
      transition: background .2s, transform .15s;
      display: inline-flex; align-items: center; gap: 8px;
    }
    .btn-primary:hover { background: var(--blue-hover); transform: scale(1.02); }

    .btn-secondary {
      background: rgba(255,255,255,0.12); color: #fff;
      padding: 15px 30px; border-radius: 980px;
      font-size: 17px; font-weight: 600; text-decoration: none;
      border: 1px solid rgba(255,255,255,0.25);
      backdrop-filter: blur(10px); transition: all .2s;
    }
    .btn-secondary:hover { background: rgba(255,255,255,0.2); transform: scale(1.02); }

    /* ══════════════════════════════════════════
       HERO - grigio scuro
       ══════════════════════════════════════════ */
    .hero {
      background: linear-gradient(170deg, #0c3b5e 0%, #1a6fa8 100%);
      color: #fff; text-align: center;
      padding: 100px 20px 80px; position: relative; overflow: hidden;
    }
    .hero::before {
      content: ''; position: absolute; inset: 0;
      background: rgba(90,200,250,0.12);
      pointer-events: none;
    }
    .hero h1 {
      font-size: clamp(36px, 5.5vw, 64px); font-weight: 700;
      letter-spacing: -2px; line-height: 1.08; margin-bottom: 20px; color: #fff;
    }
    .hero h1 em {
      font-style: normal;
      background: linear-gradient(135deg, #60a5fa 20%, var(--fgas-2));
      -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
    }
    .hero p { font-size: clamp(17px, 2vw, 21px); color: rgba(255,255,255,0.7); max-width: 620px; margin: 0 auto 32px; line-height: 1.55; }

    /* Toggle mensile/annuale */
    .billing-toggle {
      display: inline-flex; align-items: center; gap: 16px;
      background: rgba(255,255,255,0.1); border-radius: 980px; padding: 6px 8px;
      margin-bottom: 12px; border: 1px solid rgba(255,255,255,0.12);
    }
    .billing-option {
      padding: 10px 24px; border-radius: 980px; font-size: 15px; font-weight: 600;
      cursor: pointer; transition: all .3s; color: rgba(255,255,255,0.6); border: none; background: transparent;
    }
    .billing-option.active { background: var(--blue); color: #fff; }
    .billing-option:hover:not(.active) { color: rgba(255,255,255,0.9); }
    .save-badge {
      display: inline-block; background: var(--accent-green); color: #fff;
      padding: 4px 12px; border-radius: 980px; font-size: 12px; font-weight: 700;
      margin-left: 4px; vertical-align: middle;
    }

    /* ══════════════════════════════════════════
       PRICING CARDS - bianco
       ══════════════════════════════════════════ */
    .pricing-section { background: var(--white); padding: 80px 20px 100px; }
    .pricing-grid {
      display: grid; grid-template-columns: repeat(4, 1fr);
      gap: 20px; max-width: 1200px; margin: 0 auto;
    }
    .price-card {
      background: var(--light-bg); border-radius: 22px; padding: 36px 28px;
      border: 2px solid transparent; position: relative; transition: all .3s;
      display: flex; flex-direction: column;
    }
    .price-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0,0,0,0.08); }
    .price-card.recommended {
      border-color: var(--blue); background: var(--white);
      box-shadow: 0 12px 48px rgba(0,113,227,0.15);
      transform: scale(1.03);
    }
    .price-card.recommended:hover { transform: scale(1.03) translateY(-4px); }
    .price-card.recommended::before {
      content: 'Il più scelto';
      position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
      background: var(--blue); color: #fff;
      padding: 5px 20px; border-radius: 980px;
      font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px;
      white-space: nowrap;
    }
    .price-icon {
      width: 48px; height: 48px; border-radius: 14px;
      display: flex; align-items: center; justify-content: center;
      margin-bottom: 20px;
    }
    .price-icon svg { width: 24px; height: 24px; }
    .price-icon.trial { background: rgba(52,199,89,0.1); color: var(--accent-green); }
    .price-icon.starter { background: rgba(0,113,227,0.1); color: var(--blue); }
    .price-icon.pro { background: rgba(14,116,144,0.1); color: var(--fgas-1); }
    .price-icon.enterprise { background: rgba(94,92,230,0.1); color: #5e5ce6; }

    .price-name { font-size: 22px; font-weight: 700; color: var(--dark); margin-bottom: 6px; }
    .price-desc { font-size: 14px; color: var(--mid); line-height: 1.5; margin-bottom: 24px; min-height: 42px; }

    .price-amount-wrap { margin-bottom: 6px; }
    .price-amount { font-size: 48px; font-weight: 700; color: var(--dark); letter-spacing: -2px; line-height: 1; }
    .price-amount .currency { font-size: 24px; font-weight: 600; vertical-align: super; letter-spacing: 0; }
    .price-amount .period { font-size: 16px; font-weight: 400; color: var(--mid); letter-spacing: 0; }
    .price-annual { font-size: 13px; color: var(--mid); margin-bottom: 24px; min-height: 20px; }
    .price-annual .strikethrough { text-decoration: line-through; color: var(--accent-red); opacity: .6; }

    .price-divider { height: 1px; background: rgba(0,0,0,0.08); margin: 0 0 24px; }

    .price-features { list-style: none; display: flex; flex-direction: column; gap: 12px; margin-bottom: 32px; flex: 1; }
    .price-features li {
      font-size: 14px; color: var(--mid); display: flex; align-items: flex-start; gap: 10px; line-height: 1.45;
    }
    .price-features li svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 1px; }
    .feat-check { color: var(--accent-green); }
    .feat-x { color: var(--mid); opacity: .3; }
    .feat-star { color: var(--fgas-2); }

    .price-btn {
      display: block; padding: 14px; border-radius: 980px;
      font-size: 15px; font-weight: 600; text-decoration: none;
      text-align: center; transition: all .2s; border: none; cursor: pointer;
    }
    .price-btn-primary { background: var(--blue); color: #fff; }
    .price-btn-primary:hover { background: var(--blue-hover); transform: scale(1.02); }
    .price-btn-outline { border: 1.5px solid rgba(0,0,0,0.15); color: var(--dark); background: transparent; }
    .price-btn-outline:hover { border-color: var(--blue); color: var(--blue); }
    .price-btn-dark { background: var(--dark); color: #fff; }
    .price-btn-dark:hover { background: #000; transform: scale(1.02); }

    /* ══════════════════════════════════════════
       COMPARISON TABLE - grigio chiaro
       ══════════════════════════════════════════ */
    .comparison-section { background: var(--light-bg); padding: 100px 20px; }
    .comparison-wrap { max-width: 1100px; margin: 0 auto; }
    .comparison-table { width: 100%; border-collapse: collapse; background: var(--white); border-radius: 18px; overflow: hidden; box-shadow: 0 4px 24px rgba(0,0,0,0.06); }
    .comparison-table thead th {
      padding: 20px 16px; font-size: 15px; font-weight: 700; text-align: center;
      border-bottom: 2px solid var(--light-bg); background: var(--white); color: var(--dark);
    }
    .comparison-table thead th:first-child { text-align: left; padding-left: 28px; }
    .comparison-table thead th.highlight { color: var(--blue); position: relative; }
    .comparison-table thead th.highlight::after {
      content: ''; position: absolute; top: 0; left: 8px; right: 8px; height: 3px;
      background: var(--blue); border-radius: 0 0 3px 3px;
    }
    .comparison-table tbody td {
      padding: 16px; text-align: center; border-bottom: 1px solid rgba(0,0,0,0.05);
      font-size: 14px; color: var(--mid);
    }
    .comparison-table tbody td:first-child {
      text-align: left; padding-left: 28px; font-weight: 500; color: var(--dark);
    }
    .comparison-table tbody tr:last-child td { border-bottom: none; }
    .comparison-table tbody tr:hover td { background: rgba(0,113,227,0.02); }
    .comparison-table .cat-row td {
      background: var(--light-bg); font-weight: 700; font-size: 13px;
      text-transform: uppercase; letter-spacing: .5px; color: var(--dark); padding: 12px 16px;
    }
    .comparison-table .cat-row td:first-child { padding-left: 28px; }
    .table-check { color: var(--accent-green); }
    .table-x { color: var(--mid); opacity: .25; }

    /* ══════════════════════════════════════════
       SCONTI - grigio scuro
       ══════════════════════════════════════════ */
    .discounts-section {
      background: linear-gradient(170deg, var(--grey-dark) 0%, var(--grey-darker) 100%);
      color: #fff; padding: 100px 20px; position: relative; overflow: hidden;
    }
    .discounts-section::before {
      content: ''; position: absolute; inset: 0;
      background: radial-gradient(ellipse 70% 50% at 30% 80%, rgba(0,113,227,0.15) 0%, transparent 60%);
      pointer-events: none;
    }
    .discounts-section .section-eyebrow { color: rgba(255,255,255,0.5); }
    .discounts-section .section-title { color: #fff; }
    .discounts-section .section-subtitle { color: rgba(255,255,255,0.6); }

    .discount-grid {
      display: grid; grid-template-columns: repeat(4, 1fr);
      gap: 20px; max-width: 1100px; margin: 0 auto;
    }
    .discount-card {
      background: rgba(255,255,255,0.07); border-radius: 18px; padding: 32px 24px;
      border: 1px solid rgba(255,255,255,0.08);
      transition: all .3s; text-align: center;
    }
    .discount-card:hover { background: rgba(255,255,255,0.1); transform: translateY(-3px); }
    .discount-icon {
      width: 52px; height: 52px; border-radius: 14px;
      display: flex; align-items: center; justify-content: center;
      margin: 0 auto 18px; background: rgba(255,255,255,0.08);
    }
    .discount-icon svg { width: 26px; height: 26px; color: rgba(255,255,255,0.9); }
    .discount-card h3 { font-size: 18px; font-weight: 700; color: #fff; margin-bottom: 8px; }
    .discount-pct { font-size: 36px; font-weight: 700; letter-spacing: -1px; margin-bottom: 8px; }
    .discount-pct.green { color: var(--accent-green); }
    .discount-pct.teal { color: var(--fgas-2); }
    .discount-pct.orange { color: var(--accent-orange); }
    .discount-pct.blue { color: #60a5fa; }
    .discount-card p { font-size: 14px; color: rgba(255,255,255,0.55); line-height: 1.5; }

    /* ══════════════════════════════════════════
       WHAT'S INCLUDED - bianco
       ══════════════════════════════════════════ */
    .included-section { background: var(--white); padding: 100px 20px; }
    .included-grid {
      display: grid; grid-template-columns: repeat(3, 1fr);
      gap: 24px; max-width: 1100px; margin: 0 auto;
    }
    .included-card {
      padding: 36px 28px; border-radius: 18px;
      border: 1px solid rgba(0,0,0,0.06); background: var(--light-bg);
      transition: all .3s;
    }
    .included-card:hover { box-shadow: 0 8px 30px rgba(0,0,0,0.06); transform: translateY(-3px); }
    .included-icon {
      width: 48px; height: 48px; border-radius: 14px;
      display: flex; align-items: center; justify-content: center;
      margin-bottom: 20px; background: rgba(0,113,227,0.08);
    }
    .included-icon svg { width: 24px; height: 24px; color: var(--blue); }
    .included-icon.teal { background: rgba(14,116,144,0.08); }
    .included-icon.teal svg { color: var(--fgas-1); }
    .included-icon.green { background: rgba(52,199,89,0.08); }
    .included-icon.green svg { color: var(--accent-green); }
    .included-card h3 { font-size: 18px; font-weight: 700; color: var(--dark); margin-bottom: 10px; }
    .included-card p { font-size: 14px; color: var(--mid); line-height: 1.6; }

    /* ══════════════════════════════════════════
       FAQ - grigio chiaro
       ══════════════════════════════════════════ */
    .faq-section { background: var(--light-bg); padding: 100px 20px; }
    .faq-wrap { max-width: 780px; margin: 0 auto; }
    .faq-item { background: var(--white); border-radius: 16px; margin-bottom: 12px; border: 1px solid rgba(0,0,0,0.05); overflow: hidden; }
    .faq-question {
      display: flex; justify-content: space-between; align-items: center;
      padding: 22px 28px; cursor: pointer; gap: 16px;
      transition: background .2s;
    }
    .faq-question:hover { background: rgba(0,0,0,0.01); }
    .faq-question h3 { font-size: 17px; font-weight: 600; color: var(--dark); }
    .faq-arrow {
      width: 24px; height: 24px; flex-shrink: 0; transition: transform .3s;
      color: var(--mid);
    }
    .faq-answer { display: none; padding: 0 28px 24px; }
    .faq-answer p { font-size: 15px; color: var(--mid); line-height: 1.65; }

    /* ══════════════════════════════════════════
       CTA - grigio scuro
       ══════════════════════════════════════════ */
    .cta-section {
      background: linear-gradient(170deg, var(--grey-dark) 0%, var(--grey-darker) 100%);
      color: #fff; text-align: center;
      padding: 100px 20px; position: relative; overflow: hidden;
    }
    .cta-section::before {
      content: ''; position: absolute; inset: 0;
      background: radial-gradient(ellipse 60% 50% at 50% 40%, rgba(0,113,227,0.2) 0%, transparent 60%);
      pointer-events: none;
    }
    .cta-section h2 {
      font-size: clamp(28px, 4vw, 48px); font-weight: 700; letter-spacing: -1.5px;
      line-height: 1.08; margin-bottom: 18px; color: #fff; position: relative;
    }
    .cta-section p {
      font-size: 19px; color: rgba(255,255,255,0.65); max-width: 560px;
      margin: 0 auto 40px; line-height: 1.55; position: relative;
    }
    .cta-buttons { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; position: relative; }
    
    
    
    
    
    
    
    
    
    

    /* ── RESPONSIVE ── */
    @media (max-width: 1024px) {
      .pricing-grid { grid-template-columns: repeat(2, 1fr); }
      .discount-grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 768px) {
     
      .pricing-grid { grid-template-columns: 1fr; max-width: 420px; margin: 0 auto; }
      .price-card.recommended { transform: none; }
      .discount-grid { grid-template-columns: 1fr; max-width: 420px; margin: 0 auto; }
      .included-grid { grid-template-columns: 1fr; }
      
      .comparison-table { font-size: 13px; }
      .comparison-table thead th, .comparison-table tbody td { padding: 12px 8px; }
    }

    .fade-up { opacity: 0; transform: translateY(30px); transition: opacity .7s ease, transform .7s ease; }
    .fade-up.visible { opacity: 1; transform: translateY(0); }

    /* Urgency bar */
    .urgency-bar { background:linear-gradient(90deg,#ff6b35,#ff9500); color:#fff; text-align:center; padding:10px 20px; font-size:13px; font-weight:600; display:flex; align-items:center; justify-content:center; gap:10px; }
    .urgency-bar a { color:#fff; text-decoration:underline; text-underline-offset:3px; }

    /* Modal */
    .modal-overlay { display:none; position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,0.6); backdrop-filter:blur(8px); align-items:center; justify-content:center; padding:20px; }
    .modal-overlay.open { display:flex; }
    .modal-box { background:var(--white); border-radius:24px; padding:44px 40px; max-width:480px; width:100%; box-shadow:0 40px 80px rgba(0,0,0,0.2); position:relative; animation:modalIn .3s cubic-bezier(.4,0,.2,1); }
    @keyframes modalIn { from{opacity:0;transform:translateY(20px) scale(.97)} to{opacity:1;transform:none} }
    .modal-close { position:absolute; top:16px; right:20px; background:none; border:none; cursor:pointer; font-size:24px; color:var(--mid); line-height:1; }
    .modal-eyebrow { font-size:13px; font-weight:600; color:var(--blue); text-transform:uppercase; letter-spacing:.8px; margin-bottom:10px; }
    .modal-title { font-size:26px; font-weight:700; letter-spacing:-1px; color:var(--dark); margin-bottom:8px; }
    .modal-subtitle { font-size:14px; color:var(--mid); line-height:1.55;}
    .modal-form { display:flex; flex-direction:column; gap:14px; }
    .modal-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
    .modal-input { width:100%; padding:13px 16px; border-radius:12px; border:1.5px solid rgba(0,0,0,0.12); font-size:15px; font-family:var(--font); color:var(--dark); background:var(--white); transition:border-color .2s; outline:none; }
    .modal-input:focus { border-color:var(--blue); }
    .modal-input::placeholder { color:var(--mid); }
    .modal-submit { background:var(--blue); color:#fff; border:none; cursor:pointer; padding:15px; border-radius:980px; font-size:16px; font-weight:600; font-family:var(--font); transition:background .2s,transform .15s; margin-top:4px; }
    .modal-submit:hover { background:var(--blue-hover); transform:scale(1.02); }
    .modal-legal { font-size:12px; color:var(--mid); text-align:center; margin-top:12px; line-height:1.5; }
    .modal-legal a { color:var(--blue); }
    .modal-success { display:none; text-align:center; padding:20px 0; }
    .modal-success svg { color:#34c759; margin-bottom:16px; }
    .modal-success h3 { font-size:22px; font-weight:700; color:var(--dark); margin-bottom:8px; }
    .modal-success p { font-size:15px; color:var(--mid); }

    /* Floating CTA */
    .floating-cta { position:fixed; bottom:0; left:0; right:0; z-index:1998; background:rgba(29,29,31,1); backdrop-filter:blur(20px); padding:14px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid rgba(255,255,255,0.08); transform:translateY(100%); transition:transform .4s cubic-bezier(.4,0,.2,1); }
    .floating-cta.visible { transform:translateY(0); }
    .floating-cta-text { font-size:14px; color:rgba(255,255,255,0.75); }
    .floating-cta-text strong { color:#fff; }
    .floating-cta-buttons { display:flex; gap:10px; flex-shrink:0; }
    .float-btn-primary { background:var(--blue); color:#fff; padding:10px 22px; border-radius:980px; font-size:14px; font-weight:600; text-decoration:none; transition:background .2s; white-space:nowrap; }
    .float-btn-primary:hover { background:var(--blue-hover); }
    .float-btn-ghost { color:rgba(255,255,255,0.6); font-size:13px; font-weight:500; text-decoration:none; padding:10px 16px; border-radius:980px; border:1px solid rgba(255,255,255,0.15); transition:all .2s; white-space:nowrap; }
    .float-dismiss { background:none; border:none; cursor:pointer; color:rgba(255,255,255,0.35); font-size:20px; padding:4px 8px; }
    .modal-badge { display:inline-block; background:linear-gradient(135deg,#e8f5e9,#e3f2fd); color:#0071e3; font-size:12px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; padding:6px 14px; border-radius:980px; margin-bottom:14px; }
    .modal-header { margin-bottom:24px; }
    .modal-submit { display:flex; align-items:center; justify-content:center; gap:8px; background:var(--blue); color:#fff; border:none; cursor:pointer; padding:15px; border-radius:980px; font-size:16px; font-weight:600; font-family:var(--font); transition:background .2s,transform .15s; margin-top:4px; width:100%; }
    .modal-submit:hover { background:var(--blue-hover); transform:scale(1.02); }
    @media(max-width:768px){ .floating-cta-text{display:none;} .modal-row{grid-template-columns:1fr;} .modal-box{padding:32px 24px;} }
  
/* ═══ SPA ROUTING ═══ */
/* page-section: not used in multi-page */
[data-page].active { opacity:1 !important; font-weight:600; }

  
/* ── NUOVO DASHBOARD MOCKUP ── */
.mockup-topbar { display:flex; align-items:center; padding:0 16px; height:38px; background:#e8e8ed; border-radius:12px 12px 0 0; gap:12px; }
.topbar-dots { display:flex; gap:6px; }
.topbar-dots span { width:12px; height:12px; border-radius:50%; }
.topbar-dots span:nth-child(1){background:#ff5f57;}
.topbar-dots span:nth-child(2){background:#ffbd2e;}
.topbar-dots span:nth-child(3){background:#28ca41;}
.topbar-url { flex:1; text-align:center; font-size:11px; color:#86868b; background:#fff; border-radius:6px; padding:3px 10px; }
.mockup-content { display:grid; grid-template-columns:160px 1fr; width:100%; height:calc(100% - 38px); overflow:hidden; }
.mockup-sidebar { background:#fff; border-right:1px solid #f2f2f7; padding:12px 0; overflow:hidden; display:flex; flex-direction:column; gap:0; }
.sidebar-logo { font-size:13px; font-weight:800; padding:8px 14px 14px; color:#1d1d1f; letter-spacing:-.3px; }
.sidebar-logo span { color:#0071e3; }
.sidebar-item { font-size:10.5px; color:#48484a; padding:5px 12px; display:flex; align-items:center; gap:7px; cursor:pointer; }
.sidebar-item svg { flex-shrink:0; opacity:.7; }
.active-item { background:#e8f0fe; color:#0071e3; border-radius:6px; margin:0 6px; font-weight:600; }
.active-item svg { opacity:1; }
.sidebar-section-label { font-size:9px; font-weight:700; color:#aeaeb2; letter-spacing:.7px; text-transform:uppercase; padding:8px 14px 3px; }
.sidebar-badge { font-size:9px; font-weight:700; border-radius:10px; padding:1px 5px; margin-left:auto; }
.sidebar-badge.red { background:#fff0ee; color:#ff3b30; }
.sidebar-badge.orange { background:#fff8ec; color:#ff9500; }
.sidebar-badge.green { background:#edfaf1; color:#34c759; }
.mockup-main { background:#f5f5f7; padding:12px; overflow:hidden; display:flex; flex-direction:column; gap:8px; }
.dash-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:2px; }
.dash-title { font-size:13px; font-weight:700; color:#1d1d1f; }
.dash-date { font-size:10px; color:#86868b; }
.dash-kpi-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.kpi-card { background:#fff; border-radius:10px; padding:8px 10px; display:flex; flex-direction:column; gap:1px; position:relative; }
.kpi-val { font-size:18px; font-weight:800; color:#1d1d1f; line-height:1; }
.kpi-label { font-size:9px; color:#86868b; font-weight:500; }
.kpi-icon { position:absolute; top:8px; right:8px; width:26px; height:26px; border-radius:8px; display:flex; align-items:center; justify-content:center; }
.dash-bottom-row { display:flex; gap:8px; flex:1; min-height:0; }
.dash-chart-box { background:#fff; border-radius:10px; padding:10px 12px; overflow:hidden; }
.chart-title { font-size:10px; font-weight:700; color:#1d1d1f; margin-bottom:8px; }
.donut-wrap { display:flex; align-items:center; gap:12px; }
.donut-legend { display:flex; flex-direction:column; gap:4px; }
.legend-item { font-size:9px; color:#48484a; display:flex; align-items:center; gap:5px; }
.legend-item span { width:8px; height:8px; border-radius:2px; display:inline-block; flex-shrink:0; }
.ticket-list { display:flex; flex-direction:column; gap:4px; }
.ticket-row { font-size:9.5px; color:#48484a; padding:5px 8px; border-radius:6px; background:#f5f5f7; border-left:3px solid transparent; }
.ticket-row.urgent { border-left-color:#ff3b30; }
.ticket-row.normal { border-left-color:#ff9500; }

/* ── PIATTAFORMA COMPLETA APPLE STYLE ── */
.feature-section { padding:100px 20px; background:#111115; }
.features-grid-apple { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:1200px; margin:56px auto 0; }
.fcard { background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.08); border-radius:22px; padding:32px 28px; position:relative; transition:transform .3s, box-shadow .3s; overflow:hidden; backdrop-filter:blur(4px); }
.fcard:hover { transform:translateY(-5px); box-shadow:0 24px 64px rgba(0,0,0,0.4); background:rgba(255,255,255,0.08); }
.fcard-icon { width:52px; height:52px; border-radius:16px; display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.fcard-icon svg { width:24px; height:24px; }
.fcard h3 { font-size:17px; font-weight:700; color:#fff; margin-bottom:10px; letter-spacing:-.3px; }
.fcard p { font-size:14px; color:rgba(255,255,255,0.55); line-height:1.6; }
.fcard-link { display:inline-flex; align-items:center; gap:4px; font-size:13px; font-weight:600; color:#409cff; margin-top:16px; text-decoration:none; opacity:.8; transition:opacity .2s; }
.fcard-link:hover { opacity:1; }
.fcard-badge { position:absolute; top:20px; right:20px; font-size:10px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:3px 9px; border-radius:980px; }
.badge-coming { background:rgba(255,149,0,.12); color:#ff9500; border:1px solid rgba(255,149,0,.25); }
.fcard.fgas-card-apple { background:linear-gradient(145deg, rgba(12,158,175,0.18), rgba(48,176,199,0.10)); border-color:rgba(12,158,175,0.25); }
.fcard.fgas-card-apple .fcard-link { color:#5ce0ed; }

/* ── TESTIMONIALS APPLE UPGRADE ── */
.testimonials-section { padding:100px 0; background:#0a0a0f; overflow:hidden; }
.testimonials-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(320px,1fr)); gap:18px; max-width:1200px; margin:40px auto 0; }
.testimonial-card { background:var(--white); border-radius:22px; padding:32px; border:1px solid rgba(0,0,0,0.04); transition:transform .3s, box-shadow .3s; }
.testimonial-card:hover { transform:translateY(-3px); box-shadow:0 16px 48px rgba(0,0,0,0.07); }
.testimonial-quote { font-size:16px; color:var(--dark); line-height:1.7; margin-bottom:24px; position:relative; }
.testimonial-quote::before { content:'"'; font-size:56px; line-height:.8; color:var(--blue); opacity:.12; position:absolute; top:-8px; left:-6px; font-family:Georgia,serif; }
.testimonial-author { display:flex; align-items:center; gap:14px; border-top:1px solid rgba(0,0,0,0.05); padding-top:20px; }
.author-avatar { width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:15px; font-weight:700; color:#fff; flex-shrink:0; }
.author-name { font-size:14px; font-weight:700; color:var(--dark); }
.author-role { font-size:12px; color:var(--mid); margin-top:1px; }
.stars { color:#ff9f0a; font-size:13px; letter-spacing:2px; margin-bottom:16px; }

/* ── FAQ APPLE STYLE ── */
.faq-section-apple { padding:100px 20px; background:var(--white); }
.faq-apple-wrap { max-width:760px; margin:0 auto; }
.faq-apple-item { border-bottom:1px solid rgba(0,0,0,0.07); }
.faq-apple-q { width:100%; background:none; border:none; padding:24px 0; text-align:left; font-size:17px; font-weight:600; color:var(--dark); cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:20px; font-family:inherit; }
.faq-apple-q:hover { color:var(--blue); }
.faq-apple-icon { width:26px; height:26px; border-radius:50%; background:var(--light-bg); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:transform .25s, background .25s; }
.faq-apple-icon svg { width:12px; height:12px; stroke:var(--mid); transition:stroke .25s; }
.faq-apple-item.open .faq-apple-icon { background:var(--blue); transform:rotate(45deg); }
.faq-apple-item.open .faq-apple-icon svg { stroke:#fff; }
.faq-apple-item.open .faq-apple-q { color:var(--blue); }
.faq-apple-a { display:none; padding:0 0 24px 0; font-size:16px; color:var(--mid); line-height:1.7; }
.faq-apple-a a { color:var(--blue); text-decoration:none; }
.faq-apple-a a:hover { text-decoration:underline; }

/* ══ FOOTER ══ */
.site-footer { background:#1d1d1f; color:rgba(255,255,255,0.7); padding:64px 40px 40px; }
.site-footer-inner { max-width:1200px; margin:0 auto; }
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; margin-bottom:56px; }
.footer-brand-block .footer-logo { font-size:22px; font-weight:800; color:#fff; letter-spacing:-.5px; margin-bottom:14px; }
.footer-brand-block .footer-logo span { color:#409cff; }
.footer-brand-block p { font-size:14px; line-height:1.7; max-width:260px; color:rgba(255,255,255,0.5); }
.footer-brand-block .footer-socials { display:flex; gap:12px; margin-top:20px; }
.footer-socials a { width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.6); transition:background .2s; text-decoration:none; }
.footer-socials a:hover { background:rgba(255,255,255,0.15); color:#fff; }
.footer-col-block h4 { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:rgba(255,255,255,0.35); margin-bottom:18px; }
.footer-col-block ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
.footer-col-block li a { font-size:14px; color:rgba(255,255,255,0.55); text-decoration:none; transition:color .2s; }
.footer-col-block li a:hover { color:#fff; }
.footer-divider { border:none; border-top:1px solid rgba(255,255,255,0.07); margin:0 0 28px; }
.footer-bottom-row { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; padding-top:4px; }
.footer-copy { font-size:13px; color:rgba(255,255,255,0.3); }
.footer-legal { display:flex; align-items:center; gap:0; flex-wrap:wrap; background:transparent; position:static; height:auto; padding:0; backdrop-filter:none; }
.footer-legal a { font-size:13px; color:rgba(255,255,255,0.35); text-decoration:none; transition:color .2s; padding:4px 10px; position:relative; white-space:nowrap; }
.footer-legal a:hover { color:rgba(255,255,255,0.75); }
.footer-legal a + a::before { content:'·'; position:absolute; left:0; color:rgba(255,255,255,0.18); font-size:13px; top:50%; transform:translateY(-50%); }
.footer-made-italy { display:inline-flex; align-items:center; gap:5px; font-size:12px; color:rgba(255,255,255,0.22); margin-left:12px; padding-left:12px; border-left:1px solid rgba(255,255,255,0.1); white-space:nowrap; }
.footer-made-italy .it-flag { display:inline-flex; gap:1px; line-height:1; }
.footer-made-italy .it-flag span { display:inline-block; width:5px; height:11px; border-radius:1px; }
.footer-made-italy .it-flag span:nth-child(1) { background:#009246; }
.footer-made-italy .it-flag span:nth-child(2) { background:#fff; }
.footer-made-italy .it-flag span:nth-child(3) { background:#ce2b37; }
.footer-lang-switch { display:inline-flex; align-items:center; gap:8px; font-size:13px; color:rgba(255,255,255,0.35); margin-left:12px; padding-left:12px; border-left:1px solid rgba(255,255,255,0.1); white-space:nowrap; }
.footer-lang-switch a { color:rgba(255,255,255,0.55); text-decoration:none; transition:color .2s; }
.footer-lang-switch a:hover { color:rgba(255,255,255,0.95); }
.footer-lang-switch [aria-current="true"] { color:rgba(255,255,255,0.9); font-weight:500; }
.footer-lang-switch [aria-hidden="true"] { color:rgba(255,255,255,0.18); }
@media(max-width:600px){
  .footer-bottom-row { flex-direction:column; align-items:flex-start; gap:10px; }
  .footer-legal { flex-wrap:wrap; }
  .footer-made-italy { margin-left:0; padding-left:0; border-left:none; margin-top:4px; }
  .footer-lang-switch { margin-left:0; padding-left:0; border-left:none; margin-top:4px; }
}
.footer-badge { display:inline-flex; align-items:center; gap:6px; font-size:12px; color:rgba(255,255,255,0.3); margin-top:8px; }
@media(max-width:768px) {
  .footer-top { grid-template-columns:1fr 1fr; gap:32px; }
  .footer-brand-block { grid-column:1/-1; }
  .site-footer { padding:48px 20px 32px; }
}
@media(max-width:480px) {
  .footer-top { grid-template-columns:1fr; }
  .footer-bottom-row { flex-direction:column; align-items:flex-start; }
}

/* ── TESTIMONIALS CAROUSEL DARK ── */
.testimonials-section .section-eyebrow { color:rgba(255,255,255,0.45); }
.testimonials-section .section-title { color:#fff; }
.testimonials-section .section-subtitle { color:rgba(255,255,255,0.5); }
.testimonials-section > div:first-child { padding:0 20px; }
.reviews-carousel-wrap { position:relative; margin-top:48px; }
.reviews-carousel { display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; -webkit-overflow-scrolling:touch; padding:20px 40px 32px; cursor:grab; }
.reviews-carousel:active { cursor:grabbing; }
.reviews-carousel::-webkit-scrollbar { height:3px; }
.reviews-carousel::-webkit-scrollbar-track { background:rgba(255,255,255,0.04); border-radius:10px; }
.reviews-carousel::-webkit-scrollbar-thumb { background:rgba(255,255,255,0.15); border-radius:10px; }
.reviews-carousel::-webkit-scrollbar-thumb:hover { background:rgba(255,255,255,0.3); }
.review-slide { flex:0 0 380px; max-width:380px; scroll-snap-align:start; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.08); border-radius:24px; padding:36px; transition:transform .3s, box-shadow .3s, background .3s; }
.review-slide:hover { background:rgba(255,255,255,0.08); transform:translateY(-4px); box-shadow:0 20px 60px rgba(0,0,0,0.5); }
.review-slide .stars { color:#ff9f0a; font-size:14px; letter-spacing:3px; margin-bottom:18px; }
.review-slide .testimonial-quote { font-size:15px; color:rgba(255,255,255,0.75); line-height:1.75; margin-bottom:28px; position:relative; padding-top:8px; }
.review-slide .testimonial-quote::before { content:'"'; font-size:72px; line-height:.6; color:rgba(255,255,255,0.06); position:absolute; top:-4px; left:-8px; font-family:Georgia,serif; pointer-events:none; }
.review-slide .testimonial-author { display:flex; align-items:center; gap:14px; border-top:1px solid rgba(255,255,255,0.07); padding-top:22px; }
.review-slide .author-avatar { width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:800; color:#fff; flex-shrink:0; }
.review-slide .author-name { font-size:14px; font-weight:700; color:#fff; }
.review-slide .author-role { font-size:12px; color:rgba(255,255,255,0.4); margin-top:2px; }
.carousel-nav { display:flex; justify-content:center; align-items:center; gap:16px; padding:0 40px 0; }
.carousel-btn { width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.1); color:rgba(255,255,255,0.6); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .2s; }
.carousel-btn:hover { background:rgba(255,255,255,0.14); color:#fff; }
.carousel-dots { display:flex; gap:8px; }
.carousel-dot { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,0.2); cursor:pointer; transition:all .3s; }
.carousel-dot.active { background:#fff; width:20px; border-radius:3px; }
@media(max-width:768px) {
  .review-slide { flex:0 0 85vw; max-width:85vw; }
  .reviews-carousel { padding:20px 20px 28px; }
}


.bg-light {
  background: rgba(255,255,255,1) !important;
}

nav{
  padding: 0!important;
  height: 52px;
}
.navbar-brand{
  padding-left: 22px;
  height: 52px;
  display: flex;
  align-items: center;
}

.navbar-toggler{
  margin-right: 22px;
}

.navbar-collapse {
  background: rgba(255,255,255,1) !important;
}

.navbar-nav{
  margin-right: 22px;
}

.navbar-light .navbar-toggler {
  border-color:transparent;
}

.navbar-toggler:focus {
  text-decoration: none;
  outline: 0;
  box-shadow: none!important;
}

.modal-header {
  display: block!important;
  text-align: center;
}

.modal-footer {
 border-top:none;
 text-align: center;
}

.modal-footer .btn-secondary {
  background: rgb(152, 152, 152);
  color: #fff;
  padding: 5px 20px;
  border-radius: 980px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.25);
  backdrop-filter: blur(10px);
  transition: all .2s;
  margin: 0 auto;
}

.btn-close{
  position: absolute;
  right: 5px;
  top: 5px;
}


.nav-logo { display:inline-flex; align-items:center; gap:0; text-decoration:none !important; }
.nav-logo .mf-pro {
  display:inline-flex; align-items:center; justify-content:center;
  margin-left:6px;
  padding:2px 7px;
  font-size:10px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; line-height:1;
  color:#fff;
  background:linear-gradient(135deg, #0071e3, #00a1ff);
  border-radius:5px;
  vertical-align:middle;
  position:relative; top:-1px;
}
.footer-logo { display:flex; align-items:center; gap:0; margin-bottom:14px !important; }
.footer-logo .mf-pro {
  display:inline-flex; align-items:center; justify-content:center;
  margin-left:8px;
  padding:3px 8px;
  font-size:11px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; line-height:1;
  color:#fff;
  background:linear-gradient(135deg, #409cff, #5ac8fa);
  border-radius:5px;
  vertical-align:middle;
}



/* MainFlow Pro - Normativa Fgas Page Styles */

.fgas-hero{background:linear-gradient(170deg,#0c3b5e,#1a6fa8);padding:100px 20px 80px;text-align:center;color:#fff;}
.fgas-hero .eyebrow{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,.55);margin-bottom:16px;}
.fgas-hero h1{font-size:clamp(34px,5vw,60px);font-weight:700;letter-spacing:-1.5px;margin-bottom:20px;}
.fgas-hero h1 em{color:#5ac8fa;font-style:normal;}
.fgas-hero p{font-size:19px;color:rgba(255,255,255,.7);max-width:640px;margin:0 auto 36px;line-height:1.6;}
.fgas-toc{background:rgba(255,255,255,.1);border-radius:16px;padding:28px 32px;max-width:660px;margin:0 auto;text-align:left;}
.fgas-toc h3{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.5);margin-bottom:14px;}
.fgas-toc ol{color:rgba(255,255,255,.85);font-size:15px;line-height:2;padding-left:20px;margin:0;}
.fgas-toc a{color:#5ac8fa;text-decoration:none;}
.fgas-toc a:hover{text-decoration:underline;}
.fgas-content{max-width:860px;margin:0 auto;padding:80px 20px;}
.fgas-section{margin-bottom:64px;}
.fgas-section-title{display:flex;align-items:center;gap:14px;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f2f2f7;}
.fgas-section-icon{width:52px;height:52px;border-radius:14px;background:#e8f4fd;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.fgas-section-title h2{font-size:26px;font-weight:700;color:#1d1d1f;letter-spacing:-.5px;margin:0;}
.fgas-text{font-size:16px;color:#3a3a3c;line-height:1.8;margin-bottom:20px;}
.fgas-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin:28px 0;}
.fgas-card{background:#f5f5f7;border-radius:16px;padding:24px;}
.fgas-card h4{font-size:15px;font-weight:700;color:#1d1d1f;margin-bottom:8px;display:flex;align-items:center;gap:8px;}
.fgas-card p{font-size:14px;color:#6e6e73;line-height:1.6;margin:0;}
.fgas-table{width:100%;border-collapse:collapse;margin:24px 0;font-size:15px;}
.fgas-table th{background:#1d1d1f;color:#fff;padding:12px 16px;text-align:left;font-size:13px;font-weight:600;}
.fgas-table td{padding:12px 16px;border-bottom:1px solid #e5e5ea;color:#3a3a3c;}
.fgas-table tr:nth-child(even) td{background:#f9f9fb;}
.fgas-alert{background:#fff7ed;border:1.5px solid #f59e0b;border-radius:14px;padding:20px 24px;display:flex;gap:14px;margin:24px 0;}
.fgas-alert-icon{flex-shrink:0;color:#f59e0b;margin-top:2px;}
.fgas-alert p{font-size:15px;color:#92400e;line-height:1.6;margin:0;}
.fgas-cta-box{background:linear-gradient(135deg,#0071e3,#0c3b5e);border-radius:24px;padding:56px 40px;text-align:center;color:#fff;margin-top:64px;}
.fgas-cta-box h2{font-size:32px;font-weight:700;letter-spacing:-.5px;margin-bottom:14px;}
.fgas-cta-box p{font-size:18px;color:rgba(255,255,255,.75);max-width:520px;margin:0 auto 32px;}
.fgas-cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}


/* MainFlow Pro - Blog Page Styles */

.blog-hero{background:linear-gradient(170deg,#1d1d1f,#3a3a3c);padding:100px 20px 80px;text-align:center;color:#fff;}
.blog-hero .eyebrow{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,.5);margin-bottom:16px;}
.blog-hero h1{font-size:clamp(36px,5vw,64px);font-weight:700;letter-spacing:-2px;margin-bottom:20px;}
.blog-hero h1 em{color:#0071e3;font-style:normal;}
.blog-hero p{font-size:20px;color:rgba(255,255,255,.65);max-width:600px;margin:0 auto 40px;line-height:1.6;}
.blog-categories{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:8px;}
.blog-cat-btn{padding:8px 18px;border-radius:980px;font-size:13px;font-weight:600;border:1.5px solid rgba(255,255,255,.2);color:rgba(255,255,255,.7);background:transparent;cursor:pointer;transition:all .2s;text-decoration:none;}
.blog-cat-btn:hover,.blog-cat-btn.active{background:#0071e3;border-color:#0071e3;color:#fff;}
.blog-section{max-width:1100px;margin:0 auto;padding:80px 20px;}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px;}
.blog-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.07);border:1px solid rgba(0,0,0,.06);transition:transform .25s,box-shadow .25s;}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 16px 48px rgba(0,0,0,.12);}
.blog-card-body{padding:24px 26px 28px;}
.blog-card-meta{display:flex;align-items:center;gap:8px;font-size:12px;margin-bottom:12px;flex-wrap:wrap;}
.blog-cat{padding:3px 10px;border-radius:6px;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.4px;}
.blog-date,.blog-read{color:#6e6e73;}
.blog-card-title{font-size:18px;font-weight:700;color:#1d1d1f;letter-spacing:-.3px;line-height:1.35;margin-bottom:10px;}
.blog-card-desc{font-size:14px;color:#6e6e73;line-height:1.6;margin-bottom:16px;}
.blog-card-link{font-size:14px;font-weight:600;color:#0071e3;text-decoration:none;display:inline-flex;align-items:center;gap:4px;}
.blog-card-link:hover{text-decoration:underline;}
.blog-newsletter{background:linear-gradient(135deg,#1d1d1f,#3a3a3c);border-radius:24px;padding:56px 40px;text-align:center;margin-top:64px;}
.blog-newsletter h2{font-size:30px;font-weight:700;color:#fff;letter-spacing:-.5px;margin-bottom:12px;}
.blog-newsletter p{color:rgba(255,255,255,.6);font-size:16px;margin-bottom:28px;}
.newsletter-form{display:flex;gap:12px;max-width:460px;margin:0 auto;flex-wrap:wrap;justify-content:center;}
.newsletter-form input{flex:1;min-width:200px;padding:14px 18px;border-radius:980px;border:none;font-size:15px;font-family:inherit;}
.newsletter-form button{padding:14px 26px;border-radius:980px;background:#0071e3;color:#fff;border:none;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap;}
.newsletter-form button:hover{background:#0077ed;}


/* MainFlow Pro - Diventa Partner Page Styles */

.dp-hero{background:linear-gradient(170deg,#0c3b5e,#1a6fa8);padding:100px 20px 80px;text-align:center;color:#fff;}
.dp-hero .eyebrow{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,.55);margin-bottom:16px;}
.dp-hero h1{font-size:clamp(36px,5vw,62px);font-weight:700;letter-spacing:-2px;margin-bottom:20px;}
.dp-hero h1 em{color:#5ac8fa;font-style:normal;}
.dp-hero p{font-size:19px;color:rgba(255,255,255,.7);max-width:620px;margin:0 auto 36px;line-height:1.6;}
.dp-hero-stats{display:flex;gap:40px;justify-content:center;flex-wrap:wrap;}
.dp-stat{text-align:center;}
.dp-stat .num{font-size:36px;font-weight:700;color:#5ac8fa;letter-spacing:-1px;}
.dp-stat .label{font-size:13px;color:rgba(255,255,255,.6);margin-top:4px;}
.dp-content{max-width:1080px;margin:0 auto;padding:80px 20px;}
.dp-section-title{text-align:center;margin-bottom:48px;}
.dp-section-title h2{font-size:34px;font-weight:700;color:#1d1d1f;letter-spacing:-.8px;margin-bottom:12px;}
.dp-section-title p{font-size:17px;color:#6e6e73;max-width:560px;margin:0 auto;line-height:1.6;}
.dp-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:80px;}
.dp-type-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:24px;padding:32px 28px;box-shadow:0 4px 20px rgba(0,0,0,.07);transition:transform .25s,box-shadow .25s;}
.dp-type-card:hover{transform:translateY(-5px);box-shadow:0 16px 48px rgba(0,0,0,.12);}
.dp-type-icon{width:60px;height:60px;background:#e8f4fd;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.dp-type-card h3{font-size:20px;font-weight:700;color:#1d1d1f;margin-bottom:10px;}
.dp-type-card>p{font-size:15px;color:#6e6e73;line-height:1.6;margin-bottom:20px;}
.dp-benefits{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
.dp-benefits li{display:flex;gap:8px;align-items:flex-start;font-size:14px;color:#3a3a3c;line-height:1.5;}
.dp-benefits li svg{flex-shrink:0;margin-top:2px;}
.dp-process{margin-bottom:80px;}
.dp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;position:relative;}
@media(max-width:680px){.dp-steps{grid-template-columns:1fr;}}
.dp-step{text-align:center;}
.dp-step-num{width:48px;height:48px;border-radius:50%;background:#0071e3;color:#fff;font-size:22px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.dp-step-icon{width:52px;height:52px;background:#e8f4fd;border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.dp-step h3{font-size:18px;font-weight:700;color:#1d1d1f;margin-bottom:10px;}
.dp-step p{font-size:14px;color:#6e6e73;line-height:1.6;}
.dp-form-box{background:#f5f5f7;border-radius:24px;padding:48px;}
.dp-form-box h2{font-size:28px;font-weight:700;color:#1d1d1f;letter-spacing:-.5px;margin-bottom:8px;}
.dp-form-box>p{font-size:16px;color:#6e6e73;margin-bottom:32px;}
.dp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media(max-width:600px){.dp-form-grid{grid-template-columns:1fr;}}
.dp-field{display:flex;flex-direction:column;gap:6px;}
.dp-field.full{grid-column:1/-1;}
.dp-field label{font-size:13px;font-weight:600;color:#1d1d1f;}
.dp-field input,.dp-field select,.dp-field textarea{padding:12px 14px;border-radius:10px;border:1.5px solid #d2d2d7;font-size:15px;font-family:inherit;background:#fff;transition:border .2s;}
.dp-field input:focus,.dp-field select:focus,.dp-field textarea:focus{outline:none;border-color:#0071e3;}
.dp-field textarea{height:110px;resize:vertical;}
.dp-submit{padding:15px 40px;border-radius:980px;background:#0071e3;color:#fff;border:none;font-size:16px;font-weight:600;cursor:pointer;font-family:inherit;margin-top:12px;transition:background .2s;}
.dp-submit:hover{background:#0077ed;}


/* MainFlow Pro - Contatti Page Styles */

.ct-hero{background:linear-gradient(170deg,#1d1d1f,#3a3a3c);padding:100px 20px 70px;text-align:center;color:#fff;}
.ct-hero .eyebrow{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,.5);margin-bottom:16px;}
.ct-hero h1{font-size:clamp(36px,5vw,60px);font-weight:700;letter-spacing:-2px;margin-bottom:18px;}
.ct-hero h1 em{color:#0071e3;font-style:normal;}
.ct-hero p{font-size:19px;color:rgba(255,255,255,.65);max-width:560px;margin:0 auto;line-height:1.6;}
.ct-content{max-width:1040px;margin:0 auto;padding:80px 20px;display:grid;grid-template-columns:1fr 420px;gap:60px;align-items:start;}
@media(max-width:800px){.ct-content{grid-template-columns:1fr;gap:40px;}}
.ct-form-box{background:#fff;border-radius:24px;padding:40px;box-shadow:0 8px 40px rgba(0,0,0,.10);border:1px solid rgba(0,0,0,.07);}
.ct-form-box h2{font-size:24px;font-weight:700;color:#1d1d1f;letter-spacing:-.4px;margin-bottom:28px;}
.ct-field{margin-bottom:20px;}
.ct-field label{display:block;font-size:13px;font-weight:600;color:#1d1d1f;margin-bottom:6px;}
.ct-field input,.ct-field select,.ct-field textarea{width:100%;padding:12px 14px;border-radius:10px;border:1.5px solid #d2d2d7;font-size:15px;font-family:inherit;color:#1d1d1f;background:#fafafa;box-sizing:border-box;transition:border .2s;}
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{outline:none;border-color:#0071e3;background:#fff;}
.ct-field textarea{height:120px;resize:vertical;}
.ct-submit{width:100%;padding:15px;border-radius:980px;background:#0071e3;color:#fff;border:none;font-size:16px;font-weight:600;cursor:pointer;font-family:inherit;margin-top:8px;transition:background .2s;}
.ct-submit:hover{background:#0077ed;}
.ct-privacy{font-size:12px;color:#6e6e73;margin-top:14px;text-align:center;}
.ct-privacy a{color:#0071e3;}
.ct-methods{display:flex;flex-direction:column;gap:20px;}
.ct-method-card{background:#f5f5f7;border-radius:18px;padding:24px;display:flex;gap:16px;align-items:flex-start;}
.ct-method-icon{width:44px;height:44px;border-radius:12px;background:#e8f4fd;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#0071e3;}
.ct-method-info h3{font-size:15px;font-weight:700;color:#1d1d1f;margin-bottom:6px;}
.ct-method-info p{font-size:14px;color:#6e6e73;line-height:1.5;margin:0;}
.ct-method-info a{color:#0071e3;text-decoration:none;font-weight:600;}
.ct-method-info a:hover{text-decoration:underline;}
.ct-demo-box{background:linear-gradient(135deg,#0071e3,#0c3b5e);border-radius:20px;padding:32px;color:#fff;margin-top:8px;text-align:center;}
.ct-demo-box h3{font-size:20px;font-weight:700;margin-bottom:10px;}
.ct-demo-box p{font-size:14px;color:rgba(255,255,255,.75);margin-bottom:20px;line-height:1.6;}
.ct-demo-box a{display:inline-block;background:#fff;color:#0071e3;font-weight:700;font-size:15px;padding:13px 28px;border-radius:980px;text-decoration:none;}
.ct-demo-box a:hover{background:#f0f0f0;}


/* MainFlow Pro - Chi Siamo Page Styles */

.cs-hero{background:linear-gradient(170deg,#1d1d1f,#3a3a3c);padding:100px 20px 80px;text-align:center;color:#fff;}
.cs-hero .eyebrow{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,.5);margin-bottom:16px;}
.cs-hero h1{font-size:clamp(36px,5vw,64px);font-weight:700;letter-spacing:-2px;margin-bottom:20px;}
.cs-hero h1 em{color:#0071e3;font-style:normal;}
.cs-hero p{font-size:20px;color:rgba(255,255,255,.65);max-width:620px;margin:0 auto;line-height:1.6;}
.cs-content{max-width:960px;margin:0 auto;padding:80px 20px;}
.cs-story{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:80px;}
@media(max-width:680px){.cs-story{grid-template-columns:1fr;gap:32px;}}
.cs-story-text h2{font-size:34px;font-weight:700;letter-spacing:-.8px;color:#1d1d1f;margin-bottom:20px;}
.cs-story-text p{font-size:16px;color:#3a3a3c;line-height:1.8;margin-bottom:16px;}
.cs-story-visual{background:linear-gradient(135deg,#e8f4fd,#d1eaf8);border-radius:24px;padding:40px;display:flex;flex-direction:column;gap:16px;}
.cs-stat{background:#fff;border-radius:14px;padding:20px 24px;}
.cs-stat .num{font-size:36px;font-weight:700;color:#0071e3;letter-spacing:-1px;line-height:1;}
.cs-stat .label{font-size:13px;color:#6e6e73;margin-top:4px;}
.cs-values{margin-bottom:80px;}
.cs-values h2{font-size:34px;font-weight:700;letter-spacing:-.8px;color:#1d1d1f;margin-bottom:36px;text-align:center;}
.cs-values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;}
.cs-value-card{background:#f5f5f7;border-radius:20px;padding:28px 24px;}
.cs-value-icon{width:48px;height:48px;background:#e8f4fd;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:#0071e3;}
.cs-value-card h3{font-size:17px;font-weight:700;color:#1d1d1f;margin-bottom:10px;}
.cs-value-card p{font-size:14px;color:#6e6e73;line-height:1.6;margin:0;}
.cs-mission{background:linear-gradient(135deg,#0071e3,#0c3b5e);border-radius:24px;padding:56px 48px;color:#fff;margin-bottom:80px;text-align:center;}
.cs-mission h2{font-size:32px;font-weight:700;letter-spacing:-.5px;margin-bottom:16px;}
.cs-mission p{font-size:18px;color:rgba(255,255,255,.8);line-height:1.7;max-width:620px;margin:0 auto;}
.cs-team h2{font-size:34px;font-weight:700;letter-spacing:-.8px;color:#1d1d1f;margin-bottom:36px;text-align:center;}
.cs-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;}
.cs-member{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:20px;padding:28px 20px;text-align:center;box-shadow:0 2px 12px rgba(0,0,0,.06);}
.cs-avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#0071e3,#34c759);margin:0 auto 16px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:26px;font-weight:700;}
.cs-member h3{font-size:16px;font-weight:700;color:#1d1d1f;margin-bottom:4px;}
.cs-member .role{font-size:13px;color:#0071e3;font-weight:600;margin-bottom:8px;}
.cs-member p{font-size:13px;color:#6e6e73;line-height:1.5;margin:0;}
/* MainFlow Pro - Blog Article Page Styles */

/* ── Reading progress bar ── */
.reading-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #0071e3, #5ac8fa);
  z-index: 10000;
  width: 0%;
  transition: width .1s linear;
}

/* ── Article hero ── */
.article-hero {
  background: linear-gradient(170deg, #1d1d1f, #3a3a3c);
  padding: 110px 20px 70px;
  color: #fff;
}
.article-hero-inner {
  max-width: 760px;
  margin: 0 auto;
}
.article-breadcrumb {
  font-size: 13px;
  color: rgba(255,255,255,.45);
  margin-bottom: 20px;
}
.article-breadcrumb a {
  color: rgba(255,255,255,.55);
  text-decoration: none;
}
.article-breadcrumb a:hover { text-decoration: underline; }
.article-breadcrumb .sep { margin: 0 6px; }
.article-meta-top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.article-cat {
  padding: 4px 12px;
  border-radius: 6px;
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.article-date, .article-read {
  font-size: 13px;
  color: rgba(255,255,255,.5);
}
.article-hero h1 {
  font-size: clamp(32px, 4.5vw, 52px);
  font-weight: 700;
  letter-spacing: -1.5px;
  line-height: 1.15;
  margin-bottom: 20px;
}
.article-excerpt {
  font-size: 19px;
  color: rgba(255,255,255,.65);
  line-height: 1.6;
  max-width: 640px;
}

/* ── Article body layout ── */
.article-layout {
  max-width: 1100px;
  margin: 0 auto;
  padding: 60px 20px;
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 60px;
  align-items: start;
}
@media (max-width: 860px) {
  .article-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

/* ── Article content ── */
.article-content {
  font-size: 17px;
  color: #1d1d1f;
  line-height: 1.85;
}
.article-content h2 {
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -.5px;
  color: #1d1d1f;
  margin: 48px 0 18px;
  padding-top: 12px;
}
.article-content h3 {
  font-size: 20px;
  font-weight: 700;
  color: #1d1d1f;
  margin: 36px 0 14px;
}
.article-content p {
  margin-bottom: 20px;
  color: #3a3a3c;
}
.article-content ul, .article-content ol {
  margin: 16px 0 24px 20px;
  color: #3a3a3c;
}
.article-content li {
  margin-bottom: 8px;
  line-height: 1.7;
}
.article-content strong {
  color: #1d1d1f;
  font-weight: 600;
}

/* ── Callout / info box ── */
.article-callout {
  background: #f0f7ff;
  border-left: 4px solid #0071e3;
  border-radius: 0 12px 12px 0;
  padding: 20px 24px;
  margin: 28px 0;
}
.article-callout p {
  color: #1d1d1f;
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
}
.article-callout strong { color: #0071e3; }

.article-warning {
  background: #fff7ed;
  border-left: 4px solid #f59e0b;
  border-radius: 0 12px 12px 0;
  padding: 20px 24px;
  margin: 28px 0;
}
.article-warning p {
  color: #92400e;
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
}

/* ── Table inside article ── */
.article-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 24px 0;
  font-size: 15px;
}
.article-content th {
  background: #1d1d1f;
  color: #fff;
  padding: 12px 16px;
  text-align: left;
  font-size: 13px;
  font-weight: 600;
}
.article-content td {
  padding: 12px 16px;
  border-bottom: 1px solid #e5e5ea;
  color: #3a3a3c;
}
.article-content tr:nth-child(even) td { background: #f9f9fb; }

/* ── Sidebar ── */
.article-sidebar {
  position: sticky;
  top: 72px;
}
.sidebar-toc {
  background: #f5f5f7;
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 24px;
}
.sidebar-toc h4 {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #6e6e73;
  margin-bottom: 14px;
}
.sidebar-toc ol {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: toc;
}
.sidebar-toc li {
  counter-increment: toc;
  margin-bottom: 6px;
}
.sidebar-toc a {
  font-size: 14px;
  color: #3a3a3c;
  text-decoration: none;
  display: flex;
  gap: 8px;
  padding: 6px 0;
  transition: color .2s;
  line-height: 1.4;
}
.sidebar-toc a::before {
  content: counter(toc) ".";
  color: #0071e3;
  font-weight: 700;
  min-width: 18px;
}
.sidebar-toc a:hover, .sidebar-toc a.active {
  color: #0071e3;
}
.sidebar-cta {
  background: linear-gradient(135deg, #0071e3, #0c3b5e);
  border-radius: 16px;
  padding: 28px 24px;
  color: #fff;
  text-align: center;
  margin-bottom: 24px;
}
.sidebar-cta h4 {
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 10px;
}
.sidebar-cta p {
  font-size: 14px;
  color: rgba(255,255,255,.7);
  line-height: 1.5;
  margin-bottom: 18px;
}
.sidebar-cta a {
  display: inline-block;
  background: #fff;
  color: #0071e3;
  font-weight: 700;
  font-size: 14px;
  padding: 11px 22px;
  border-radius: 980px;
  text-decoration: none;
}
.sidebar-cta a:hover { background: #f0f0f0; }

.sidebar-related {
  background: #f5f5f7;
  border-radius: 16px;
  padding: 24px;
}
.sidebar-related h4 {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #6e6e73;
  margin-bottom: 16px;
}
.sidebar-related-item {
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.sidebar-related-item:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.sidebar-related-item a {
  font-size: 14px;
  font-weight: 600;
  color: #1d1d1f;
  text-decoration: none;
  line-height: 1.4;
  display: block;
  margin-bottom: 4px;
}
.sidebar-related-item a:hover { color: #0071e3; }
.sidebar-related-item .rel-cat {
  font-size: 11px;
  color: #6e6e73;
}

/* ── Article bottom CTA ── */
.article-bottom-cta {
  background: linear-gradient(135deg, #1d1d1f, #3a3a3c);
  border-radius: 24px;
  padding: 56px 40px;
  text-align: center;
  color: #fff;
  margin-top: 48px;
}
.article-bottom-cta h2 {
  font-size: 30px;
  font-weight: 700;
  letter-spacing: -.5px;
  margin: 0 0 14px;
  color: #fff;
}
.article-bottom-cta p {
  font-size: 17px;
  color: rgba(255,255,255,.65);
  max-width: 500px;
  margin: 0 auto 28px;
  line-height: 1.6;
}
.article-bottom-cta .cta-btns {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ── Share bar ── */
.article-share {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 40px;
  padding-top: 28px;
  border-top: 1px solid #e5e5ea;
}
.article-share span {
  font-size: 13px;
  font-weight: 600;
  color: #6e6e73;
}
.share-btn {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: #f5f5f7;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #3a3a3c;
  transition: background .2s, color .2s;
}
.share-btn:hover { background: #0071e3; color: #fff; }

/* ── Back to blog link ── */
.article-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: #0071e3;
  text-decoration: none;
  margin-bottom: 0;
}
.article-back:hover { text-decoration: underline; }



.nav-logo img{
  width: 130px;
}

.footer-logo img{
  width: 120px;
}


.review-slide { 
  max-width:380px; 
  scroll-snap-align:start; 
  background:rgba(255,255,255,0.05); 
  border:1px solid rgba(255,255,255,0.08); 
  border-radius:24px; 
  padding:36px; 
  transition:transform .3s, box-shadow .3s, background .3s; 
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}


.no-wrap{
  white-space:nowrap;
}