﻿:root {
      color-scheme: light;
      --paper: #ffffff;
      --wash: #f5f8fc;
      --navy: #0b1f3a;
      --blue: #1d4ed8;
      --blue-soft: #eaf2ff;
      --line: #d8e1ee;
      --ink: #111827;
      --muted: #475569;
      --danger: #b91c1c;
    }

    * {
      box-sizing: border-box;
    }

    html,
    body {
      max-width: 100%;
      overflow-x: hidden;
    }

    body {
      margin: 0;
      background: var(--paper);
      color: var(--ink);
      font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }

    body * {
      min-width: 0;
    }

    h1,
    h2,
    h3,
    .font-legal {
      font-family: "Merriweather", Georgia, serif;
      letter-spacing: 0;
    }

    .font-data {
      font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
      letter-spacing: 0;
    }

    h1,
    h2,
    h3,
    p,
    li,
    a,
    button {
      overflow-wrap: break-word;
    }

    ::selection {
      background: rgba(29, 78, 216, 0.18);
    }

    .legal-paper {
      background:
        linear-gradient(180deg, rgba(11,31,58,0.03), rgba(11,31,58,0)),
        radial-gradient(circle at top right, rgba(29,78,216,0.08), transparent 34%),
        #ffffff;
    }

    .section-wash {
      background:
        linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,0.54)),
        var(--wash);
    }

    .seal {
      border: 1px solid rgba(29, 78, 216, 0.28);
      background: linear-gradient(135deg, rgba(29,78,216,0.1), rgba(255,255,255,0.88));
    }

    .cta-primary {
      background: var(--blue);
      color: #ffffff;
      box-shadow: 0 14px 30px rgba(29, 78, 216, 0.22);
    }

    .cta-primary:hover,
    .cta-primary:focus-visible {
      background: #173ea9;
      box-shadow: 0 18px 38px rgba(29, 78, 216, 0.28);
      transform: translateY(-1px);
    }

    .reveal {
      opacity: 0;
      transform: translateY(18px);
      transition: opacity 650ms ease, transform 650ms ease;
    }

    .reveal.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    .faq-panel {
      max-height: 0;
      overflow: hidden;
      transition: max-height 260ms ease;
    }

    .faq-panel[data-open="true"] {
      max-height: 760px;
    }

    .card-tint {
      border: 1px solid var(--line);
      background: var(--blue-soft);
    }

    .price-card {
      border: 1px solid var(--line);
      background: #ffffff;
    }

    .price-card-pro {
      border-color: var(--navy);
    }

    .outline-cta {
      border: 1px solid var(--blue);
      color: var(--blue);
      background: #ffffff;
    }

    .outline-cta:hover,
    .outline-cta:focus-visible {
      background: var(--blue);
      color: #ffffff;
    }

    .navy-cta {
      background: var(--navy);
      color: #ffffff;
    }

    .navy-cta:hover,
    .navy-cta:focus-visible {
      background: #06182e;
    }

    .price-tier {
      transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
    }

    .price-tier-active {
      border-color: rgba(29, 78, 216, 0.65) !important;
      background: #EAF2FF !important;
      box-shadow: 0 16px 34px rgba(29, 78, 216, 0.14);
    }

    .legal-content h2 {
      margin-bottom: 0.75rem;
      font-family: Merriweather, Georgia, serif;
      font-size: 1.35rem;
      font-weight: 900;
      line-height: 1.25;
      color: var(--navy);
    }

    .legal-content p {
      margin-top: 0.75rem;
      font-size: 1rem;
      line-height: 1.8;
    }

    .legal-content a {
      font-weight: 700;
      color: var(--blue);
      text-decoration: underline;
      text-decoration-color: rgba(29, 78, 216, 0.35);
      text-underline-offset: 4px;
    }

    .legal-content section {
      border-bottom: 1px solid rgba(15, 23, 42, 0.08);
      padding-bottom: 1.75rem;
    }

    @media (prefers-reduced-motion: reduce) {
      *,
      *::before,
      *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
      }

      .reveal {
        opacity: 1;
        transform: none;
      }
    }
