    /* ─── Reset & Base ───────────────────────────────────────────────── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --blue:        #2563EB;
      --blue-light:  #3B82F6;
      --blue-pale:   #EFF6FF;
      --blue-mid:    #DBEAFE;
      --ink:         #0F172A;
      --ink-soft:    #334155;
      --ink-muted:   #64748B;
      --bg:          #F5F7FF;
      --white:       #FFFFFF;
      --border:      #E2E8F0;
      --radius-sm:   10px;
      --radius-md:   16px;
      --radius-lg:   24px;
      --shadow-card: 0 4px 24px rgba(37, 99, 235, 0.08);
      --shadow-hero: 0 8px 48px rgba(37, 99, 235, 0.14);
    }

    html { scroll-behavior: smooth; overflow-x: hidden; }

    body {
      font-family: 'Inter', system-ui, sans-serif;
      background: var(--bg);
      color: var(--ink);
      line-height: 1.6;
      overflow-x: hidden;
    }

    /* ─── Nav ────────────────────────────────────────────────────────── */
    nav {
      position: sticky;
      top: 0;
      z-index: 100;
      background: rgba(245, 247, 255, 0.85);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border-bottom: 1px solid var(--border);
      padding: 0 40px;
      height: 64px;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .nav-brand {
      display: flex;
      align-items: center;
      gap: 10px;
      text-decoration: none;
    }

    .nav-logo {
      width: 36px;
      height: 36px;
    }

    .nav-wordmark {
      font-size: 17px;
      font-weight: 800;
      color: var(--ink);
      letter-spacing: -0.3px;
    }

    .nav-wordmark span { color: var(--blue); }

    .nav-links {
      display: flex;
      align-items: center;
      gap: 32px;
      list-style: none;
    }

    .nav-links a {
      font-size: 14px;
      font-weight: 500;
      color: var(--ink-soft);
      text-decoration: none;
      transition: color 0.2s;
    }

    .nav-links a:hover { color: var(--blue); }

    .nav-cta {
      background: var(--blue);
      color: var(--white) !important;
      padding: 9px 20px;
      border-radius: 8px;
      font-weight: 600 !important;
      transition: background 0.2s, transform 0.15s !important;
    }

    .nav-cta:hover {
      background: #1D4ED8 !important;
      transform: translateY(-1px);
    }

    /* ─── Hero ───────────────────────────────────────────────────────── */
    .hero {
      position: relative;
      padding: 96px 40px 80px;
      overflow: hidden;
    }

    /* ─── Hero split layout ──────────────────────────────── */
    .hero-split {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 56px;
      align-items: center;
    }

    @media (max-width: 960px) {
      .hero-split { grid-template-columns: 1fr; gap: 40px; }
      .hero-left { text-align: center; }
      .hero-left .hero-badge { margin-left: auto; margin-right: auto; }
      .hero-left .hero-actions { justify-content: center; }
      .hero-left .beta-note { justify-content: center; }
      .hero-left .hero-sub { margin-left: auto; margin-right: auto; }
    }

    .hero::before {
      content: '';
      position: absolute;
      inset: -60px -60px 0;
      background: radial-gradient(ellipse 70% 55% at 50% 10%, rgba(37, 99, 235, 0.12) 0%, transparent 70%);
      pointer-events: none;
    }

    /* Decorative floating squares mimicking the screenshot accent */
    .hero-deco {
      position: absolute;
      border-radius: var(--radius-sm);
      opacity: 0.35;
      pointer-events: none;
    }
    .hero-deco-1 {
      width: 72px; height: 72px;
      background: var(--blue);
      top: 80px; right: 8%;
      border-radius: var(--radius-md);
      transform: rotate(12deg);
      opacity: 0.18;
    }
    .hero-deco-2 {
      width: 40px; height: 40px;
      background: var(--blue-light);
      bottom: 20%; left: 5%;
      border-radius: 8px;
      transform: rotate(-8deg);
      opacity: 0.2;
    }
    .hero-deco-3 {
      width: 24px; height: 24px;
      background: var(--blue);
      top: 140px; left: 12%;
      border-radius: 6px;
      transform: rotate(20deg);
      opacity: 0.15;
    }

    .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: var(--blue-pale);
      border: 1px solid var(--blue-mid);
      color: var(--blue);
      font-size: 13px;
      font-weight: 600;
      padding: 6px 14px;
      border-radius: 100px;
      margin-bottom: 28px;
      letter-spacing: 0.2px;
    }

    .hero-badge svg { flex-shrink: 0; }

    .hero h1 {
      font-size: clamp(36px, 5vw, 64px);
      font-weight: 900;
      line-height: 1.06;
      letter-spacing: -2px;
      color: var(--ink);
      margin: 0 0 24px;
    }

    .hero h1 .accent { color: var(--blue); }

    .hero-sub {
      font-size: clamp(15px, 1.8vw, 18px);
      color: var(--ink-soft);
      max-width: 480px;
      margin: 0 0 36px;
      font-weight: 400;
      line-height: 1.7;
    }

    .hero-actions {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 14px;
      flex-wrap: wrap;
    }

    /* ─── Hero floating pills ────────────────────────────── */
    @keyframes float-pill-a { 0%,100%{transform:translateY(0) rotate(-2deg);} 50%{transform:translateY(-10px) rotate(-2deg);} }
    @keyframes float-pill-b { 0%,100%{transform:translateY(0) rotate(1.5deg);} 50%{transform:translateY(-8px) rotate(1.5deg);} }
    @keyframes float-arrow-top  { 0%,100%{transform:translateY(0);}  50%{transform:translateY(-8px);} }
    @keyframes float-arrow-side { 0%,100%{transform:translateX(0);}  50%{transform:translateX(-8px);} }
    @keyframes pulse-dot { 0%,100% { box-shadow: 0 0 0 0 rgba(37,99,235,0.45); } 50% { box-shadow: 0 0 0 6px rgba(37,99,235,0); } }

    .hero-pills-row {
      display: flex;
      justify-content: center;
      gap: 12px;
      flex-wrap: wrap;
      margin-top: 20px;
    }

    .hero-float-pill {
      border-radius: 100px;
      padding: 10px 18px;
      font-size: 13px;
      font-weight: 700;
      display: inline-flex;
      align-items: center;
      gap: 7px;
      white-space: nowrap;
      pointer-events: none;
    }

    .hero-float-pill-yellow {
      background: #FEF9C3;
      border: 1.5px solid #FDE68A;
      color: #92400E;
      box-shadow: 0 4px 16px rgba(251,191,36,0.22);
      animation: float-pill-a 3.6s ease-in-out infinite;
    }

    .hero-float-pill-blue {
      background: var(--blue-pale);
      border: 1.5px solid var(--blue-mid);
      color: var(--blue);
      box-shadow: 0 4px 16px rgba(37,99,235,0.12);
      animation: float-pill-b 4s ease-in-out infinite 0.6s;
    }

    /* ─── Hero annotations (arrows) ─────────────────────── */
    .hero-right { position: relative; min-width: 0; max-width: 100%; }

    .hero-annotation {
      position: absolute;
      display: flex;
      flex-direction: column;
      align-items: center;
      z-index: 10;
      pointer-events: none;
    }

    .hero-annotation-top {
      top: -56px;
      left: -10px;
      align-items: flex-start;
      animation: float-arrow-top 2.2s ease-in-out infinite;
    }

    .hero-annotation-side {
      right: -170px;
      bottom: 160px;
      align-items: flex-start;
      animation: float-arrow-side 2.6s ease-in-out infinite;
    }

    .hero-ann-label {
      font-size: 15px;
      font-weight: 800;
      color: var(--blue);
      letter-spacing: -0.3px;
      line-height: 1.2;
      white-space: nowrap;
    }

    .hero-ann-arrow { display: block; }

    @media (max-width: 960px) {
      .hero-annotation-side { display: none; }
      .hero-annotation-top { top: -48px; left: 50%; transform: translateX(-50%); animation: float-arrow-top 2.2s ease-in-out infinite; align-items: center; }
    }

    .beta-note {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-top: 14px;
      font-size: 13px;
      font-weight: 600;
      color: var(--ink-muted);
    }

    .beta-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--blue);
      flex-shrink: 0;
      animation: pulse-dot 2s infinite;
    }

    .btn-primary {
      background: var(--blue);
      color: var(--white);
      font-size: 15px;
      font-weight: 700;
      padding: 14px 28px;
      border-radius: var(--radius-sm);
      text-decoration: none;
      box-shadow: 0 4px 16px rgba(37, 99, 235, 0.35);
      transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }

    .btn-primary:hover {
      background: #1D4ED8;
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(37, 99, 235, 0.4);
    }

    .btn-secondary {
      background: var(--white);
      color: var(--ink);
      font-size: 15px;
      font-weight: 600;
      padding: 14px 28px;
      border-radius: var(--radius-sm);
      text-decoration: none;
      border: 1.5px solid var(--border);
      transition: border-color 0.2s, transform 0.15s;
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }

    .btn-secondary:hover {
      border-color: var(--blue);
      color: var(--blue);
      transform: translateY(-2px);
    }

    /* ─── Stats Bar ──────────────────────────────────────────────────── */
    .stats-bar {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 0;
      background: var(--white);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      margin: 60px auto 0;
      max-width: 860px;
      box-shadow: var(--shadow-card);
      overflow: hidden;
    }

    .stat-item {
      flex: 1;
      min-width: 180px;
      padding: 28px 24px;
      text-align: center;
      border-right: 1px solid var(--border);
    }

    .stat-item:last-child { border-right: none; }

    .stat-number {
      font-size: 32px;
      font-weight: 900;
      color: var(--blue);
      letter-spacing: -1px;
      display: block;
    }

    .stat-label {
      font-size: 13px;
      color: var(--ink-muted);
      font-weight: 500;
      margin-top: 4px;
      display: block;
    }

    /* ─── Section shared ─────────────────────────────────────────────── */
    section {
      padding: 96px 40px;
      max-width: 1200px;
      margin: 0 auto;
    }

    .section-label {
      display: inline-block;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: var(--blue);
      margin-bottom: 14px;
    }

    .section-title {
      font-size: clamp(28px, 4vw, 42px);
      font-weight: 900;
      letter-spacing: -1px;
      line-height: 1.12;
      color: var(--ink);
      max-width: 640px;
      margin-bottom: 16px;
    }

    .section-title .accent { color: var(--blue); }

    .section-sub {
      font-size: 17px;
      color: var(--ink-soft);
      max-width: 560px;
      margin-bottom: 56px;
      line-height: 1.7;
    }

    /* ─── Feature Grid (Technicians) ─────────────────────────────────── */
    .feature-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 20px;
    }

    .feature-card {
      background: var(--white);
      border: 1px solid var(--border);
      border-radius: var(--radius-md);
      padding: 28px;
      transition: transform 0.2s, box-shadow 0.2s;
    }

    .feature-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-hero);
    }

    .feature-icon {
      width: 48px;
      height: 48px;
      border-radius: var(--radius-sm);
      background: var(--blue-pale);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 18px;
      font-size: 22px;
    }

    .feature-card h3 {
      font-size: 16px;
      font-weight: 700;
      color: var(--ink);
      margin-bottom: 8px;
      letter-spacing: -0.2px;
    }

    .feature-card p {
      font-size: 14px;
      color: var(--ink-muted);
      line-height: 1.65;
    }

    /* ─── Admin section (two-column) ─────────────────────────────────── */
    .two-col {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 64px;
      align-items: center;
    }

    @media (max-width: 768px) {
      .two-col { grid-template-columns: 1fr; gap: 40px; }
    }

    .admin-visual {
      background: var(--white);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      padding: 32px;
      box-shadow: var(--shadow-hero);
      position: relative;
      overflow: hidden;
    }

    .admin-visual::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 4px;
      background: linear-gradient(90deg, var(--blue), var(--blue-light));
    }

    .dashboard-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 14px 0;
      border-bottom: 1px solid var(--border);
    }

    .dashboard-row:last-child { border-bottom: none; }

    .dash-name {
      font-size: 14px;
      font-weight: 600;
      color: var(--ink);
    }

    .dash-role {
      font-size: 12px;
      color: var(--ink-muted);
      margin-top: 2px;
    }

    .dash-badge {
      font-size: 11px;
      font-weight: 700;
      padding: 4px 10px;
      border-radius: 100px;
    }

    .badge-done   { background: #DCFCE7; color: #15803D; }
    .badge-due    { background: #FEF9C3; color: #A16207; }
    .badge-overdue{ background: #FEE2E2; color: #B91C1C; }

    .check-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 18px;
    }

    .check-list li {
      display: flex;
      align-items: flex-start;
      gap: 14px;
      font-size: 15px;
      color: var(--ink-soft);
      line-height: 1.55;
    }

    .check-icon {
      width: 22px;
      height: 22px;
      border-radius: 50%;
      background: var(--blue);
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-top: 1px;
    }

    .check-icon svg { display: block; }

    /* ─── Export section ─────────────────────────────────────────────── */
    .export-section {
      background: var(--blue-pale);
      border: 1px solid var(--blue-mid);
      border-radius: var(--radius-lg);
      padding: 72px 56px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 64px;
      align-items: center;
      margin: 0 40px;
      position: relative;
      overflow: hidden;
    }

    .export-section::before {
      content: '';
      position: absolute;
      top: -100px; right: -100px;
      width: 360px; height: 360px;
      border-radius: 50%;
      background: rgba(37, 99, 235, 0.07);
      pointer-events: none;
    }

    .export-section .section-label { color: var(--blue); }
    .export-section .section-title { color: var(--ink); max-width: none; }
    .export-section .section-sub   { color: var(--ink-soft); margin-bottom: 28px; }

    .export-big-pill {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: var(--blue);
      color: var(--white);
      font-size: 15px;
      font-weight: 700;
      padding: 12px 28px;
      border-radius: 100px;
      margin-bottom: 20px;
      box-shadow: 0 4px 16px rgba(37, 99, 235, 0.3);
    }

    .export-mini-cards {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }

    .export-mini-card {
      background: var(--white);
      border: 1px solid var(--blue-mid);
      border-radius: var(--radius-md);
      padding: 18px 20px;
      box-shadow: 0 2px 12px rgba(37, 99, 235, 0.07);
    }

    .export-mini-icon {
      font-size: 22px;
      margin-bottom: 8px;
      display: block;
    }

    .export-mini-title {
      font-size: 13px;
      font-weight: 700;
      color: var(--ink);
      margin-bottom: 4px;
    }

    .export-mini-desc {
      font-size: 12px;
      color: var(--ink-muted);
      line-height: 1.5;
    }

    .export-cards {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

    .export-card {
      background: var(--white);
      border: 1px solid var(--border);
      border-radius: var(--radius-md);
      padding: 20px 24px;
      display: flex;
      align-items: center;
      gap: 16px;
      box-shadow: 0 2px 12px rgba(37, 99, 235, 0.06);
      transition: transform 0.2s, box-shadow 0.2s;
    }

    .export-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 6px 24px rgba(37, 99, 235, 0.12);
    }

    .export-card-icon {
      width: 44px; height: 44px;
      border-radius: var(--radius-sm);
      background: var(--blue-pale);
      border: 1px solid var(--blue-mid);
      display: flex; align-items: center; justify-content: center;
      font-size: 20px;
      flex-shrink: 0;
    }

    .export-card-title {
      font-size: 14px;
      font-weight: 700;
      color: var(--ink);
      margin-bottom: 2px;
    }

    .export-card-desc {
      font-size: 13px;
      color: var(--ink-muted);
    }

    @media (max-width: 768px) {
      .export-section {
        grid-template-columns: 1fr;
        padding: 48px 32px;
        margin: 0 20px;
      }
      .export-mini-cards { grid-template-columns: 1fr; }
    }

    /* ─── AI section ─────────────────────────────────────────────────── */
    .ai-section {
      background: var(--blue-pale);
      border: 1px solid var(--blue-mid);
      border-radius: var(--radius-lg);
      padding: 72px 56px;
      margin: 0 40px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 64px;
      align-items: center;
    }

    .ai-visual {
      background: var(--white);
      border: 1px solid var(--blue-mid);
      border-radius: var(--radius-md);
      padding: 24px;
      box-shadow: var(--shadow-card);
    }

    .ai-prompt-bar {
      display: flex;
      align-items: center;
      gap: 10px;
      background: var(--bg);
      border: 1.5px solid var(--blue-mid);
      border-radius: var(--radius-sm);
      padding: 12px 16px;
      margin-bottom: 20px;
    }

    .ai-prompt-text {
      font-size: 13px;
      color: var(--ink-soft);
      flex: 1;
    }

    .ai-prompt-btn {
      background: var(--blue);
      color: var(--white);
      font-size: 12px;
      font-weight: 700;
      padding: 6px 14px;
      border-radius: 6px;
    }

    .ai-question {
      background: var(--bg);
      border: 1px solid var(--border);
      border-radius: var(--radius-sm);
      padding: 14px 16px;
      margin-bottom: 10px;
    }

    .ai-question-num {
      font-size: 11px;
      font-weight: 700;
      color: var(--blue);
      margin-bottom: 4px;
      letter-spacing: 0.5px;
    }

    .ai-question-text {
      font-size: 13px;
      font-weight: 600;
      color: var(--ink);
      margin-bottom: 8px;
    }

    .ai-option {
      font-size: 12px;
      color: var(--ink-muted);
      padding: 3px 0;
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .ai-option-dot {
      width: 6px; height: 6px;
      border-radius: 50%;
      background: var(--border);
      flex-shrink: 0;
    }

    .ai-option.correct .ai-option-dot { background: #22C55E; }
    .ai-option.correct { color: #15803D; font-weight: 600; }

    @media (max-width: 768px) {
      .ai-section {
        grid-template-columns: 1fr;
        padding: 48px 32px;
        margin: 0 20px;
      }
    }

    /* ─── Comparison Table ───────────────────────────────────────────── */
    .compare-table {
      width: 100%;
      border-collapse: separate;
      border-spacing: 0;
      background: var(--white);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      overflow: hidden;
      box-shadow: var(--shadow-card);
    }

    .compare-table th {
      padding: 18px 24px;
      font-size: 13px;
      font-weight: 700;
      text-align: left;
      border-bottom: 1px solid var(--border);
    }

    .compare-table th:first-child { background: #F8FAFF; color: var(--ink-muted); width: 50%; }
    .compare-table th:last-child  {
      background: var(--blue);
      color: var(--white);
      text-align: center;
    }

    .compare-table td {
      padding: 16px 24px;
      font-size: 14px;
      border-bottom: 1px solid var(--border);
      vertical-align: middle;
    }

    .compare-table tr:last-child td { border-bottom: none; }

    .compare-table td:first-child { color: var(--ink-muted); background: #FAFBFF; }
    .compare-table td:last-child  { color: var(--ink-soft); font-weight: 500; }

    .compare-table td .yes {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: var(--blue);
      font-weight: 700;
    }

    /* ─── Testimonials ───────────────────────────────────────────────── */
    .testimonial-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 20px;
    }

    .testimonial-card {
      background: var(--white);
      border: 1px solid var(--border);
      border-radius: var(--radius-md);
      padding: 32px;
      position: relative;
    }

    .testimonial-card::before {
      content: '\201C';
      position: absolute;
      top: 20px; right: 28px;
      font-size: 64px;
      color: var(--blue-mid);
      font-family: Georgia, serif;
      line-height: 1;
    }

    .testimonial-text {
      font-size: 15px;
      color: var(--ink-soft);
      line-height: 1.7;
      margin-bottom: 20px;
      font-style: italic;
    }

    .testimonial-author {
      font-size: 13px;
      font-weight: 700;
      color: var(--ink);
    }

    .testimonial-role {
      font-size: 12px;
      color: var(--ink-muted);
      margin-top: 2px;
    }

    .stars {
      color: #F59E0B;
      font-size: 14px;
      margin-bottom: 14px;
    }

    /* ─── CTA Banner ─────────────────────────────────────────────────── */
    .cta-banner {
      background: linear-gradient(135deg, #1D4ED8 0%, #2563EB 50%, #3B82F6 100%);
      border-radius: var(--radius-lg);
      padding: 80px 56px;
      text-align: center;
      margin: 0 40px;
      position: relative;
      overflow: hidden;
    }

    .cta-banner::before {
      content: '';
      position: absolute;
      bottom: -60px; left: -60px;
      width: 240px; height: 240px;
      border-radius: 50%;
      background: rgba(255,255,255,0.06);
      pointer-events: none;
    }

    .cta-banner::after {
      content: '';
      position: absolute;
      top: -40px; right: -40px;
      width: 200px; height: 200px;
      border-radius: 50%;
      background: rgba(255,255,255,0.06);
      pointer-events: none;
    }

    .cta-banner h2 {
      font-size: clamp(26px, 4vw, 40px);
      font-weight: 900;
      color: var(--white);
      letter-spacing: -1px;
      margin-bottom: 14px;
    }

    .cta-banner p {
      font-size: 17px;
      color: rgba(255,255,255,0.8);
      max-width: 500px;
      margin: 0 auto 40px;
      line-height: 1.65;
    }

    .cta-actions {
      display: flex;
      gap: 14px;
      justify-content: center;
      flex-wrap: wrap;
    }

    .btn-white {
      background: var(--white);
      color: var(--blue);
      font-size: 15px;
      font-weight: 700;
      padding: 14px 28px;
      border-radius: var(--radius-sm);
      text-decoration: none;
      transition: transform 0.15s, box-shadow 0.2s;
      box-shadow: 0 4px 16px rgba(0,0,0,0.15);
    }

    .btn-white:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(0,0,0,0.2);
    }

    .btn-outline-white {
      background: transparent;
      color: var(--white);
      font-size: 15px;
      font-weight: 600;
      padding: 14px 28px;
      border-radius: var(--radius-sm);
      text-decoration: none;
      border: 2px solid rgba(255,255,255,0.5);
      transition: border-color 0.2s, transform 0.15s;
    }

    .btn-outline-white:hover {
      border-color: var(--white);
      transform: translateY(-2px);
    }

    /* ─── Footer ─────────────────────────────────────────────────────── */
    footer {
      border-top: 1px solid var(--border);
      padding: 40px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 16px;
      margin-top: 96px;
    }

    .footer-brand {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .footer-tagline {
      font-size: 13px;
      color: var(--ink-muted);
    }

    .footer-links {
      display: flex;
      gap: 24px;
      list-style: none;
    }

    .footer-links a {
      font-size: 13px;
      color: var(--ink-muted);
      text-decoration: none;
      transition: color 0.2s;
    }

    .footer-links a:hover { color: var(--blue); }

    /* ─── Responsive ─────────────────────────────────────────────────── */
    @media (max-width: 640px) {
      nav { padding: 0 20px; }
      .nav-links { display: none; }
      .hero { padding: 72px 20px 60px; }
      section { padding: 72px 20px; }
      .export-section, .ai-section, .cta-banner { margin: 0 16px; padding: 40px 20px; }
      footer { padding: 32px 20px; }
    }

    /* ─── Divider spacing util ───────────────────────────────────────── */
    .gap-section { height: 0; }

    /* ─── iPad frame (SOP demo) ──────────────────────────── */

    @keyframes ipad-glow {
      0%, 100% { box-shadow: 0 0 0 0   rgba(37, 99, 235, 0); }
      50%       { box-shadow: 0 0 0 14px rgba(37, 99, 235, 0.22); }
    }
    .ipad-wrap { display:flex; justify-content:center; max-width:100%; border-radius:34px; animation:ipad-glow 2.8s ease-in-out infinite; }
    .ipad-wrap.glow-off { animation:none; }
    .ipad-body { background:linear-gradient(160deg,#2E2E30,#1A1A1C); border-radius:32px; padding:16px 12px 20px; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.09),0 0 0 1px rgba(0,0,0,0.55),0 28px 72px rgba(0,0,0,0.38),0 8px 22px rgba(0,0,0,0.2); position:relative; width:100%; max-width:420px; transition:all 0.45s cubic-bezier(0.4,0,0.2,1); }
    .ipad-top-bar { display:flex; justify-content:center; align-items:center; height:18px; margin-bottom:8px; }
    .ipad-camera { width:7px; height:7px; background:#3A3A3C; border-radius:50%; border:1px solid rgba(255,255,255,0.05); }
    .ipad-side-btn { position:absolute; right:-3px; top:72px; width:3px; height:38px; background:#3A3A3C; border-radius:0 2px 2px 0; }
    .ipad-vol-1,.ipad-vol-2 { position:absolute; left:-3px; width:3px; background:#3A3A3C; border-radius:2px 0 0 2px; }
    .ipad-vol-1 { top:72px; height:30px; } .ipad-vol-2 { top:112px; height:30px; }
    .ipad-screen { background:var(--white); border-radius:20px; overflow:hidden; border:1px solid rgba(0,0,0,0.15); min-height:480px; }
    .ipad-screen .demo-card-wrap { min-height:480px; display:flex; flex-direction:column; }
    .ipad-screen .demo-gate { flex:1; display:flex; flex-direction:column; justify-content:center; }
    .ipad-screen .demo-success { border:none; border-radius:0; box-shadow:none; }
    @media (max-width:860px) {
      .ipad-body { max-width:100%; }
    }

    /* ─── Demo shared ────────────────────────────────────── */
    .demo-card-header { background:var(--bg); border-bottom:1px solid var(--border); padding:14px 20px; display:flex; justify-content:space-between; align-items:center; }
    .demo-room-label { font-size:14px; font-weight:800; color:var(--ink); letter-spacing:-0.2px; }
    .demo-date-label { font-size:12px; color:var(--ink-muted); font-weight:500; }
    .demo-save-btn { width:100%; padding:14px; background:var(--blue); color:var(--white); border:none; border-radius:12px; font-size:15px; font-weight:700; font-family:inherit; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:8px; transition:background .2s; }
    .demo-save-btn:hover:not(:disabled) { background:#1D4ED8; }
    .demo-save-btn:disabled { opacity:0.4; cursor:not-allowed; }
    @keyframes pop-in { 0%{transform:scale(0);opacity:0} 70%{transform:scale(1.12)} 100%{transform:scale(1);opacity:1} }
    .demo-success { background:var(--white); padding:40px 28px; text-align:center; display:none; }
    .demo-success-icon { width:68px; height:68px; background:#DCFCE7; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; animation:pop-in .45s ease forwards; }
    .demo-success-title { font-size:22px; font-weight:800; color:var(--ink); letter-spacing:-0.5px; margin-bottom:6px; }
    .demo-success-sub { font-size:13px; color:var(--ink-muted); margin-bottom:20px; }
    .demo-success-pills { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-bottom:20px; }
    .demo-pill { display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:600; color:var(--ink-muted); background:var(--bg); border:1px solid var(--border); padding:6px 12px; border-radius:100px; }
    .demo-walkthrough-btn { display:inline-flex; align-items:center; gap:7px; background:var(--blue); color:#fff; font-size:13px; font-weight:700; font-family:inherit; border:none; border-radius:10px; padding:11px 20px; cursor:pointer; text-decoration:none; margin-bottom:14px; transition:background 0.18s; width:100%; justify-content:center; box-sizing:border-box; }
    .demo-walkthrough-btn:hover { background:#1D4ED8; }
    .demo-reset-btn { font-size:13px; font-weight:600; color:var(--blue); background:none; border:none; cursor:pointer; font-family:inherit; text-decoration:underline; text-underline-offset:3px; }
    .demo-gate { background:var(--white); padding:36px 24px 28px; }
    .demo-gate-title { font-size:17px; font-weight:800; color:var(--ink); text-align:center; letter-spacing:-0.3px; margin-bottom:5px; }
    .demo-gate-sub { font-size:12px; color:var(--ink-muted); text-align:center; margin-bottom:22px; line-height:1.5; }
    .demo-gate-field { width:100%; padding:12px 14px; border:1.5px solid var(--border); border-radius:10px; font-size:14px; font-family:inherit; color:var(--ink); outline:none; transition:border-color .2s; margin-bottom:10px; box-sizing:border-box; background:var(--bg); }
    .demo-gate-field:focus { border-color:var(--blue); background:var(--white); }
    .demo-gate-field.gate-error { border-color:#B91C1C; background:#FEF2F2; }
    .demo-gate-btn { width:100%; padding:13px; background:var(--blue); color:var(--white); border:none; border-radius:12px; font-size:14px; font-weight:700; font-family:inherit; cursor:pointer; margin-top:2px; transition:background .2s; }
    .demo-gate-btn:hover { background:#1D4ED8; }
    .demo-gate-note { font-size:10.5px; color:var(--ink-muted); text-align:center; margin-top:12px; line-height:1.5; }

    /* ─── Quiz option buttons ─────────────────────────────── */
    .sop-option { width:100%; padding:11px 14px; background:var(--bg); border:1.5px solid var(--border); border-radius:10px; font-size:13px; font-weight:600; font-family:inherit; color:var(--ink); text-align:left; cursor:pointer; transition:border-color .15s, background .15s; }
    .sop-option:hover { border-color:var(--blue); background:var(--blue-pale); }
    .sop-option.correct { background:#F0FDF4; border-color:#15803D; color:#15803D; }
    .sop-option.wrong   { background:#FEF2F2; border-color:#B91C1C; color:#B91C1C; }
    .sop-option:disabled { cursor:default; }

    /* ─── FAQ ───────────────────────────────────────────── */
    .faq-section { padding: 96px 40px; background: var(--bg); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
    .faq-inner { max-width: 820px; margin: 0 auto; }
    .faq-header { text-align: center; margin-bottom: 48px; }
    .faq-header .section-title { max-width: none; }
    .faq-header .section-sub { max-width: 500px; margin: 0 auto; margin-bottom: 0; }
    .faq-list { border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; background: var(--white); box-shadow: var(--shadow-card); }
    .faq-item { border-bottom: 1px solid var(--border); }
    .faq-item:last-child { border-bottom: none; }
    .faq-q { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 28px; cursor: pointer; background: transparent; border: none; text-align: left; transition: background 0.2s; font-family: 'Inter', system-ui, sans-serif; }
    .faq-q:hover { background: var(--blue-pale); }
    .faq-item.open > .faq-q { background: var(--blue-pale); }
    .faq-q-text { font-size: 15px; font-weight: 700; color: var(--ink); line-height: 1.45; }
    .faq-icon { width: 28px; height: 28px; border-radius: 50%; background: var(--bg); border: 1.5px solid var(--border); display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background 0.25s, border-color 0.25s, transform 0.3s; }
    .faq-icon svg { stroke: var(--ink-muted); transition: stroke 0.2s; display: block; }
    .faq-item.open > .faq-q .faq-icon { background: var(--blue); border-color: var(--blue); transform: rotate(45deg); }
    .faq-item.open > .faq-q .faq-icon svg { stroke: var(--white); }
    .faq-a { max-height: 0; overflow: hidden; transition: max-height 0.38s cubic-bezier(0.4,0,0.2,1); }
    .faq-item.open .faq-a { max-height: 600px; }
    .faq-a-inner { padding: 4px 28px 24px; font-size: 14px; color: var(--ink-muted); line-height: 1.78; }
    @media (max-width: 640px) {
      .faq-section { padding: 60px 20px; }
      .faq-q { padding: 18px 20px; }
      .faq-q-text { font-size: 14px; }
      .faq-a-inner { padding: 4px 20px 20px; font-size: 13px; }
    }
