html { scroll-behavior: smooth; }
    body { margin: 0; font-family: 'Archivo', sans-serif; }
    a { color: #4A90D2; text-decoration: none; }
    a:hover { color: #D98E3D; }
    * { box-sizing: border-box; }
    :root {
      --fs-hero: 32px;
      --fs-h2: 26px;
      --fs-h3: 19px;
      --fs-lead: 16px;
      --fs-body: 14px;
      --fs-small: 13px;
      --fs-xs: 12px;
      --fs-eyebrow: 10px;
      --fs-label: 11px;
      --fs-display: 30px;
      --fs-brand: 22px;
      --fs-btn: 14px;
      --fs-nav: 14px;
    }
    @media (min-width: 700px) {
      :root {
        --fs-hero: 44px;
        --fs-h2: 32px;
        --fs-h3: 20px;
        --fs-lead: 17px;
        --fs-body: 15px;
        --fs-small: 14px;
        --fs-xs: 13px;
        --fs-eyebrow: 11px;
        --fs-label: 12px;
        --fs-display: 34px;
        --fs-brand: 24px;
        --fs-btn: 14px;
        --fs-nav: 15px;
      }
    }
    @media (min-width: 1100px) {
      :root {
        --fs-hero: 52px;
        --fs-h2: 36px;
        --fs-h3: 22px;
        --fs-lead: 18px;
        --fs-body: 15px;
        --fs-small: 14px;
        --fs-display: 40px;
        --fs-brand: 25px;
        --fs-btn: 15px;
      }
    }
    @media (min-width: 1400px) {
      :root {
        --fs-hero: 58px;
        --fs-h2: 40px;
        --fs-h3: 23px;
        --fs-lead: 19px;
        --fs-body: 15px;
        --fs-display: 44px;
        --fs-brand: 26px;
      }
    }
    @media (min-width: 1600px) {
      :root {
        --fs-hero: 64px;
        --fs-h2: 44px;
        --fs-h3: 24px;
        --fs-lead: 20px;
        --fs-body: 16px;
        --fs-small: 15px;
        --fs-display: 48px;
        --fs-brand: 27px;
        --fs-btn: 15px;
        --fs-nav: 15px;
      }
    }
    @media (min-width: 1920px) {
      :root {
        --fs-hero: 72px;
        --fs-h2: 48px;
        --fs-h3: 26px;
        --fs-lead: 22px;
        --fs-body: 17px;
        --fs-small: 15px;
        --fs-display: 54px;
        --fs-brand: 28px;
        --fs-btn: 16px;
        --fs-nav: 16px;
        --fs-label: 13px;
        --fs-eyebrow: 12px;
      }
    }
    section[id] { scroll-margin-top: 86px; }
    @media (max-width: 699px) { section[id] { scroll-margin-top: 72px; } }
    .faq-item summary { list-style: none; }
    .faq-item summary::-webkit-details-marker { display: none; }
    .faq-item summary::after { content: '+'; float: right; font-weight: 800; color: #D98E3D; }
    .faq-item[open] summary::after { content: '\2212'; }
    .feat-row:last-child { margin-bottom: 0 !important; }
    #home {
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      min-height: calc(100svh - 76px);
      min-height: calc(100dvh - 76px);
    }
    .hero-inner {
      flex: 1;
      align-content: center;
      align-items: start;
    }
    .hero-rail {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0;
      padding-top: 10px;
    }
    .hero-rail-top {
      width: 1px;
      height: 52px;
      background: linear-gradient(180deg, transparent, rgba(246, 242, 212, 0.5));
      display: block;
    }
    .hero-rail-mark {
      width: 9px;
      height: 9px;
      border: 1px solid #D98E3D;
      transform: rotate(45deg);
      display: block;
      margin: 8px 0;
    }
    .hero-rail-dash {
      width: 1px;
      min-height: 150px;
      background: repeating-linear-gradient(180deg, rgba(246, 242, 212, 0.45) 0 6px, transparent 6px 14px);
      display: block;
    }
    .hero-eyebrow {
      display: flex;
      align-items: center;
      gap: 12px;
      box-sizing: border-box;
    }
    @media (max-width: 699px) {
      #home {
        min-height: calc(100svh - 72px);
        min-height: calc(100dvh - 72px);
      }
      .hero-inner {
        align-content: start;
      }
    }
    @keyframes heroGlowA { 0%,100% { transform: translate(-10%,-10%) scale(1); } 50% { transform: translate(6%,4%) scale(1.15); } }
    @keyframes heroGlowB { 0%,100% { transform: translate(8%,6%) scale(1); } 50% { transform: translate(-6%,-8%) scale(1.2); } }
    @keyframes scanSweep { 0% { transform: translateY(-100%); opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { transform: translateY(100%); opacity: 0; } }
    @keyframes gridDrift { 0% { background-position: 0 0; } 100% { background-position: 60px 60px; } }

    /* Footer: keep three columns evenly spaced on tablet/desktop */
    .footer-grid {
      align-items: start;
    }
    @media (min-width: 700px) {
      .footer-grid > div {
        min-width: 0;
      }
    }
    @media (min-width: 700px) and (max-width: 1099px) {
      .solutions-grid > :last-child:nth-child(3) {
        grid-column: 1 / -1;
        width: calc((100% - 28px) / 2);
        max-width: calc((100% - 28px) / 2);
        justify-self: center;
      }
    }