
    :root {
      --teal-dark: #075875;
      --teal: #0b6f95;
      --teal-soft: #eef7fa;
      --gold: #b8862f;
      --text: #1f2937;
      --muted: #5f6c7b;
      --line: #d8e0ea;
      --white: #ffffff;
      --soft: #f4f9fb;
      --footer: #0f2438;
    }

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

    body {
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
      color: var(--text);
      background: var(--white);
      font-size: 13px;
      line-height: 1.45;
      letter-spacing: 0.1px;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    img {
      display: block;
      max-width: 100%;
    }

    .container {
      width: min(1120px, calc(100% - 40px));
      margin: 0 auto;
    }

    .topbar {
      background: var(--teal-dark);
      color: #e8f4f8;
      padding: 9px 0;
      font-size: 13px;
    }

    .topbar-inner {
      display: flex;
      justify-content: space-between;
      gap: 16px;
      flex-wrap: wrap;
    }

    .header {
      background: #fff;
      border-bottom: 1px solid var(--line);
    }

    .nav {
      min-height: 76px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }

    .brand {
      display: flex;
      align-items: center;
    }

    .brand img {
      width: 190px;
      height: auto;
    }

    .navlinks {
      display: flex;
      align-items: center;
      gap: 22px;
      font-size: 13px;
      font-weight: 650;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 3px;
      padding: 9px 15px;
      font-size: 13px;
      font-weight: 700;
      border: 1px solid transparent;
      cursor: pointer;
      line-height: 1.35;
      text-align: center;
      transition: 0.18s ease;
    }

    .btn-primary {
      background: var(--teal);
      color: #fff;
    }

    .btn-primary:hover {
      background: var(--teal-dark);
    }

    .btn-outline {
      background: #fff;
      color: var(--teal);
      border-color: var(--line);
    }

    .btn-outline:hover {
      background: var(--teal-soft);
    }
    
        .hero {
      background: var(--soft);
      border-bottom: 1px solid var(--line);
      padding: 42px 0;
    }

    .hero-grid {
      display: grid;
      grid-template-columns: 0.95fr 1.05fr;
      gap: 30px;
      align-items: start;
    }

    .hero-content {
      max-width: 620px;
    }

    .eyebrow {
      color: var(--teal);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: 1.35px;
      text-transform: uppercase;
      margin-bottom: 12px;
    }

    h1 {
      color: var(--teal-dark);
      font-size: 23px;
      line-height: 1.18;
      letter-spacing: -0.35px;
      font-weight: 700;
      margin-bottom: 12px;
      max-width: 680px;
    }

    .hero-text {
      color: var(--muted);
      font-size: 15px;
      max-width: 570px;
      margin-bottom: 18px;
    }

    .hero-actions {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      margin-bottom: 14px;
    }

    .trust-line {
      color: var(--muted);
      font-size: 12px;
      margin-top: 8px;
    }

    .quick-strip {
      margin-top: 22px;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      border: 1px solid var(--line);
      background: #fff;
      max-width: 860px;
    }

    .quick-item {
      padding: 14px;
      border-right: 1px solid var(--line);
    }

    .quick-item:last-child {
      border-right: 0;
    }

    .quick-item strong {
      display: block;
      color: var(--teal-dark);
      font-size: 13px;
      margin-bottom: 3px;
    }

    .quick-item span {
      color: var(--muted);
      font-size: 12px;
    }

    .form-card {
      border: 1px solid var(--line);
      background: #fff;
      box-shadow: 0 1px 3px rgba(17, 24, 39, 0.05);
      padding: 24px;
    }

    .form-card h2 {
      color: var(--teal-dark);
      font-size: 21px;
      line-height: 1.25;
      margin-bottom: 8px;
      font-weight: 700;
    }

    .form-card p {
      color: var(--muted);
      font-size: 13px;
      margin-bottom: 16px;
    }

    .progress-meta {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      flex-wrap: wrap;
      color: var(--muted);
      font-size: 12px;
      margin-bottom: 7px;
    }

    .progress-track {
      height: 8px;
      border-radius: 30px;
      overflow: hidden;
      background: #e6eef3;
      margin-bottom: 20px;
    }

    .progress-fill {
      height: 100%;
      width: 20%;
      background: var(--teal);
      transition: width 0.24s ease;
    }

    .step {
      display: none;
    }

    .step.active {
      display: block;
    }

    .step-title {
      color: var(--teal-dark);
      font-size: 16px;
      font-weight: 700;
      margin-bottom: 6px;
    }

    .step-note {
      color: var(--muted);
      font-size: 13px;
      margin-bottom: 15px;
    }

    .field-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
    }

    .field-grid-3 {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 14px;
    }

    .field {
      margin-bottom: 14px;
    }

    .field label,
    .limit-group label {
      display: block;
      margin-bottom: 6px;
      font-size: 13px;
      font-weight: 700;
      color: var(--teal-dark);
    }

    .optional {
      color: var(--muted);
      font-weight: 500;
    }

    input[type=text], input[type=email], input[type=tel], input[type=date], input[type=number], select, textarea {
      width: 100%;
      border: 1px solid var(--line);
      background: #fff;
      color: var(--text);
      border-radius: 3px;
      padding: 10px 11px;
      font-size: 13px;
      font-family: inherit;
      line-height: 1.35;
    }

    textarea {
      min-height: 100px;
      resize: vertical;
    }

    .reveal-box {
      display: none;
      border: 1px solid var(--line);
      background: var(--soft);
      padding: 14px;
      margin: 12px 0 14px;
    }

    .reveal-box.active {
      display: block;
    }

    .limit-group {
      border: 1px solid var(--line);
      background: var(--soft);
      padding: 14px;
      margin-bottom: 14px;
    }

    .checkbox-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 9px 14px;
      margin-top: 6px;
    }

    .checkbox-grid label {
      display: flex;
      align-items: center;
      gap: 8px;
      color: var(--muted);
      font-size: 13px;
      font-weight: 500;
      margin: 0;
    }

    .btn-row {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      margin-top: 20px;
    }

    .hidden-trap {
      position: absolute;
      left: -5000px;
      top: auto;
      width: 1px;
      height: 1px;
      overflow: hidden;
    }

    .summary-box {
      background: var(--soft);
      border: 1px solid var(--line);
      padding: 14px;
      margin-bottom: 16px;
    }

    .summary-box p {
      margin-bottom: 7px;
      font-size: 13px;
      color: var(--muted);
    }

    .toggle-link {
      color: var(--teal);
      font-weight: 800;
      font-size: 13px;
      cursor: pointer;
      display: inline-block;
    }

    .tiny-help {
      color: var(--muted);
      font-size: 12px;
      margin-top: 7px;
    }

    section {
      padding: 42px 0;
    }

    .section-head {
      max-width: 720px;
      margin: 0 auto 26px;
      text-align: center;
    }

    .section-head h2 {
      color: var(--teal-dark);
      font-size: 22px;
      line-height: 1.25;
      font-weight: 700;
      margin-bottom: 9px;
    }

    .section-head p {
      color: var(--muted);
      font-size: 13px;
    }
    
        .soft {
      background: var(--soft);
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
    }

    .cards {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 14px;
    }

    .card {
      border: 1px solid var(--line);
      background: #fff;
      padding: 18px;
      box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
    }

    .card small {
      color: var(--gold);
      display: block;
      font-size: 11px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.9px;
      margin-bottom: 8px;
    }

    .card h3 {
      color: var(--teal-dark);
      font-size: 15px;
      line-height: 1.25;
      margin-bottom: 7px;
      font-weight: 700;
    }

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

    .cta-band {
      background: var(--teal-dark);
      color: #fff;
      border: 1px solid var(--line);
      padding: 30px;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 20px;
      align-items: center;
    }

    .cta-band h2 {
      font-size: 21px;
      line-height: 1.25;
      margin-bottom: 6px;
    }

    .cta-band p {
      color: #d7e8ee;
      font-size: 13px;
    }

    .footer {
      background: var(--footer);
      color: #fff;
      padding: 42px 0 70px;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.5fr 1fr 1fr 1fr;
      gap: 28px;
    }

    .footer h3 {
      font-size: 12px;
      margin-bottom: 12px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }

    .footer p,
    .footer a,
    .footer li {
      color: #c8d4df;
      font-size: 13px;
    }

    .footer ul {
      list-style: none;
      display: grid;
      gap: 7px;
    }

    .footer-bottom {
      border-top: 1px solid rgba(255,255,255,0.14);
      margin-top: 24px;
      padding-top: 16px;
      color: #9fb0bf;
      font-size: 12px;
    }

    .mobile-sticky {
      display: none;
    }

    @media (max-width: 1024px) {
      .hero-grid,
      .footer-grid,
      .cards {
        grid-template-columns: 1fr;
      }

      .quick-strip {
        grid-template-columns: 1fr;
      }

      .quick-item {
        border-right: 0;
        border-bottom: 1px solid var(--line);
      }

      .quick-item:last-child {
        border-bottom: 0;
      }

      .cta-band {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 768px) {
      .nav {
        flex-direction: column;
        align-items: flex-start;
        padding: 16px 0;
      }

      .navlinks {
        flex-wrap: wrap;
        gap: 10px;
      }

      .field-grid,
      .field-grid-3,
      .checkbox-grid {
        grid-template-columns: 1fr;
      }

      .btn-row {
        flex-direction: column;
      }

      .btn-row .btn {
        width: 100%;
      }

      .hero {
        padding: 28px 0;
      }

      h1 {
        font-size: 20px;
      }

      .form-card {
        padding: 18px;
      }

      .mobile-sticky {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        display: block;
        background: rgba(7, 88, 117, 0.97);
        padding: 10px 14px;
        z-index: 9999;
        box-shadow: 0 -6px 20px rgba(0,0,0,0.18);
      }

      .mobile-sticky a {
        width: 100%;
      }

      body {
        padding-bottom: 70px;
      }
    }
  
[hidden]{display:none!important}.quote-step{margin:0;border:0;padding:0}.quote-step legend{font-size:20px;color:#075875;font-weight:700;margin-bottom:12px}.quote-step .field-grid{margin-bottom:18px}.field small{display:block;font-size:12px;line-height:1.5;color:#526373;margin-top:5px}.field input,.field select,.field textarea{min-height:46px;font-size:16px}.field textarea{min-height:108px}.checkbox-field{grid-column:1/-1}.checkbox-field fieldset{border:0;padding:0;margin:0}.checkbox-field legend{font-size:14px;font-weight:700;margin-bottom:8px}.checkbox-grid label{padding:10px;border:1px solid #dce5ed;border-radius:5px;display:flex;gap:8px;align-items:flex-start;cursor:pointer}.checkbox-grid input{min-height:0;margin-top:3px}.form-error{padding:12px;border-left:4px solid #a82b28;background:#fff1ef;color:#84211e;margin:15px 0}.form-error a{color:inherit;text-decoration:underline}.form-error ul{margin:6px 0 0;padding-left:20px}.field [aria-invalid=true]{border:2px solid #a82b28}.field-error{color:#84211e;font-size:13px;margin-top:5px}.review-list{margin:0}.review-list dt{font-size:13px;font-weight:700;margin-top:12px}.review-list dd{margin:2px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.review-section{margin:16px 0;padding:14px;background:#f4f8fa;border-radius:5px}.review-section h3{margin:0 0 12px}.review-section button{font-size:13px;border:1px solid #075875;background:white;color:#075875;padding:7px 12px;border-radius:4px}.progress-track{margin-bottom:20px}.progress-track progress{width:100%;height:8px;accent-color:#b8862f;display:block}.skip-link{position:absolute;top:-70px;left:10px;background:white;padding:10px;z-index:10000}.skip-link:focus{top:10px}.quote-noscript{padding:12px;background:#fff4db}.quote-ack{font-size:13px;line-height:1.6;margin:20px 0}.result-panel{border:1px solid #d4e5df;background:#f0f8f5;padding:22px;border-radius:6px}.result-panel h2{color:#075875}.result-panel p{margin:12px 0}.topbar a,.footer a{color:inherit}.related-quote-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.hero-text{max-width:540px}.hero-grid{align-items:start}.field-grid:empty{display:none}.quote-instruction{font-size:13px;line-height:1.6;margin-bottom:16px}.brand img{max-width:170px}.hidden-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media(max-width:767px){.hero-content .quick-strip,.hero-content .trust-line{display:none}.hero-grid{gap:22px}.hero{padding:18px 0}.hero-text{font-size:15px}.hero-content h1{font-size:25px;line-height:1.2}.navlinks a:not(.btn){display:none}.brand img{width:145px}.nav{min-height:62px;gap:12px}.topbar{font-size:11px}.form-card{padding:18px}.btn-row{gap:10px}.btn-row .btn{min-height:46px}.hero-actions .btn{font-size:13px;min-height:44px}.review-section{padding:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*{animation:none!important;transition:none!important}}
@media(max-width:767px){.nav{flex-direction:row;align-items:center}.navlinks{margin-left:auto}.navlinks .btn{white-space:nowrap}}
