:root {
      --navy: #0B1F3A;
      --navy-2: #12345B;
      --gold: #B68A2C;
      --gold-soft: #F4E9D2;
      --ivory: #FAF7EF;
      --sage: #E6F0EE;
      --teal: #1A5D80;
      --teal-soft: #E8F2F6;
      --charcoal: #263238;
      --slate: #58717D;
      --line: #D9DEE2;
      --muted: #F5F7F8;
      --white: #FFFFFF;
      --shadow: 0 20px 45px rgba(11,31,58,.12);
      --radius-xl: 28px;
      --radius-lg: 18px;
      --radius-md: 12px;
      --max: 1180px;
      --font: Arial, Helvetica, sans-serif;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      font-family: var(--font);
      color: var(--charcoal);
      background: var(--ivory);
      line-height: 1.62;
      -webkit-font-smoothing: antialiased;
    }
    a { color: var(--teal); text-decoration: none; }
    a:hover, a:focus { text-decoration: underline; }
    .skip-link {
      position: absolute;
      left: -999px;
      top: 8px;
      z-index: 999;
      background: var(--gold);
      color: var(--navy);
      padding: 10px 14px;
      border-radius: 8px;
      font-weight: 700;
    }
    .skip-link:focus { left: 10px; }
    .container { max-width: var(--max); margin: 0 auto; padding: 0 24px; }
    .section { padding: 86px 0; }
    .section.compact { padding: 56px 0; }
    .section.alt { background: var(--white); }
    .section.sage { background: var(--sage); }
    .eyebrow {
      display: inline-flex;
      gap: 8px;
      align-items: center;
      color: var(--gold);
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .12em;
      font-size: 12px;
      margin-bottom: 12px;
    }
    .eyebrow::before {
      content: "";
      width: 34px;
      height: 2px;
      background: var(--gold);
      display: inline-block;
    }
    h1, h2, h3, h4 { line-height: 1.2; margin: 0 0 16px; color: var(--navy); }
    h1 { font-size: clamp(38px, 6vw, 68px); letter-spacing: -.04em; }
    h2 { font-size: clamp(29px, 4vw, 44px); letter-spacing: -.025em; }
    h3 { font-size: 23px; }
    h4 { font-size: 18px; }
    p { margin: 0 0 18px; }
    .lead { font-size: clamp(17px, 2vw, 21px); color: #43535B; max-width: 870px; }
    .small { color: var(--slate); font-size: 14px; }
    .site-header {
      position: sticky;
      top: 0;
      z-index: 100;
      background: rgba(11,31,58,.96);
      border-bottom: 1px solid rgba(255,255,255,.12);
      backdrop-filter: blur(12px);
    }
    .nav-wrap { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
    .brand { display: flex; align-items: center; gap: 14px; color: var(--white); text-decoration: none; }
    .brand:hover, .brand:focus { text-decoration: none; }
    .brand-mark {
      width: 46px;
      height: 46px;
      border-radius: 15px;
      background: linear-gradient(135deg, var(--gold), #E5C876);
      color: var(--navy);
      display: grid;
      place-items: center;
      font-weight: 800;
      letter-spacing: -.05em;
      box-shadow: 0 10px 28px rgba(182,138,44,.25);
    }
    .brand-text strong { display: block; font-size: 18px; line-height: 1.1; }
    .brand-text span { display: block; color: var(--gold-soft); font-size: 13px; }
    .site-nav { display: flex; gap: 2px; align-items: center; }
    .site-nav a {
      color: rgba(255,255,255,.9);
      font-size: 14px;
      font-weight: 700;
      padding: 10px 11px;
      border-radius: 999px;
      text-decoration: none;
    }
    .site-nav a:hover, .site-nav a:focus { background: rgba(255,255,255,.1); color: var(--white); }
    .nav-toggle {
      display: none;
      border: 1px solid rgba(255,255,255,.25);
      background: transparent;
      color: var(--white);
      border-radius: 10px;
      padding: 10px 12px;
      font-weight: 700;
    }
    .hero {
      position: relative;
      overflow: hidden;
      background:
        radial-gradient(circle at 18% 18%, rgba(244,233,210,.22), transparent 32%),
        linear-gradient(135deg, #07172C 0%, var(--navy) 54%, var(--navy-2) 100%);
      color: var(--white);
      padding: 90px 0 64px;
    }
    .hero::after {
      content: "";
      position: absolute;
      width: 520px;
      height: 520px;
      right: -210px;
      top: 40px;
      border-radius: 50%;
      border: 1px solid rgba(244,233,210,.16);
      box-shadow: inset 0 0 0 70px rgba(244,233,210,.035), inset 0 0 0 140px rgba(244,233,210,.025);
    }
    .hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.18fr .82fr; gap: 54px; align-items: center; }
    .hero h1, .hero h2, .hero h3 { color: var(--white); }
    .hero .lead { color: rgba(255,255,255,.84); }
    .hero-panel {
      background: rgba(255,255,255,.08);
      border: 1px solid rgba(255,255,255,.16);
      border-radius: var(--radius-xl);
      padding: 30px;
      box-shadow: var(--shadow);
    }
    .hero-panel h3 { font-size: 22px; margin-bottom: 18px; }
    .btn-row { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      padding: 12px 18px;
      font-weight: 800;
      text-decoration: none;
      border: 1px solid transparent;
    }
    .btn.primary { background: var(--gold); color: var(--navy); }
    .btn.secondary { color: var(--white); border-color: rgba(255,255,255,.35); }
    .btn:hover, .btn:focus { text-decoration: none; transform: translateY(-1px); }
    .metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 46px; }
    .metric {
      background: rgba(250,247,239,.95);
      border: 1px solid rgba(182,138,44,.18);
      border-radius: 18px;
      padding: 18px 16px;
      color: var(--navy);
    }
    .metric strong { display: block; font-size: 26px; line-height: 1.05; letter-spacing: -.04em; }
    .metric span { display: block; color: var(--slate); font-size: 13px; margin-top: 6px; }
    .grid { display: grid; gap: 22px; }
    .grid.cols-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .grid.cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .grid.cols-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
    .card {
      background: var(--white);
      border: 1px solid var(--line);
      border-radius: var(--radius-lg);
      padding: 24px;
      box-shadow: 0 12px 35px rgba(11,31,58,.06);
    }
    .card.tinted { background: linear-gradient(180deg, var(--white), #FBFDFC); }
    .card h3 { margin-bottom: 10px; }
    .card p:last-child { margin-bottom: 0; }
    .card-number {
      width: 42px;
      height: 42px;
      border-radius: 13px;
      display: grid;
      place-items: center;
      background: var(--gold-soft);
      color: var(--navy);
      font-weight: 800;
      margin-bottom: 16px;
    }
    .service-card {
      background: var(--white);
      border-left: 5px solid var(--gold);
      border-radius: var(--radius-lg);
      padding: 24px;
      box-shadow: 0 12px 35px rgba(11,31,58,.06);
    }
    .service-card p { color: #455861; }
    .section-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
    .section-head p { max-width: 700px; margin-bottom: 0; }
    .notice {
      background: var(--teal-soft);
      border-left: 5px solid var(--teal);
      border-radius: 16px;
      padding: 18px 20px;
      margin: 24px 0 0;
      color: #334850;
    }
    .feature-band {
      background: var(--navy);
      color: var(--white);
      border-radius: var(--radius-xl);
      padding: 34px;
      display: grid;
      grid-template-columns: 1.05fr 1.95fr;
      gap: 32px;
      align-items: center;
    }
    .feature-band h2, .feature-band h3 { color: var(--white); }
    .feature-band p { color: rgba(255,255,255,.78); }
    .pill-list { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 0; list-style: none; }
    .pill-list li {
      background: rgba(255,255,255,.1);
      border: 1px solid rgba(255,255,255,.16);
      color: rgba(255,255,255,.92);
      border-radius: 999px;
      padding: 9px 12px;
      font-weight: 700;
      font-size: 13px;
    }
    .feature-band .accordion { align-self: stretch; }
    .feature-band .accordion details { background: rgba(255,255,255,.98); border-color: rgba(255,255,255,.2); }
    .feature-band .accordion .detail-body { color: #43535B; }
    .table-wrap { overflow-x: auto; border-radius: var(--radius-lg); box-shadow: 0 12px 35px rgba(11,31,58,.06); }
    table { width: 100%; border-collapse: collapse; min-width: 720px; background: var(--white); }
    th, td { text-align: left; vertical-align: top; padding: 14px 16px; border-bottom: 1px solid var(--line); }
    th { background: var(--navy); color: var(--white); font-size: 14px; }
    tr:nth-child(even) td { background: #F8FAFB; }
    .profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
    .profile-card details { height: 100%; }
    .profile-summary-title { display: block; }
    .profile-summary-title small { display: block; color: var(--slate); font-weight: 700; margin-top: 4px; }
    .accordion { display: grid; gap: 12px; }
    details {
      background: var(--white);
      border: 1px solid var(--line);
      border-radius: var(--radius-md);
      padding: 0;
      overflow: hidden;
    }
    summary {
      list-style: none;
      cursor: pointer;
      padding: 18px 20px;
      color: var(--navy);
      font-weight: 800;
      display: flex;
      justify-content: space-between;
      gap: 20px;
    }
    summary::-webkit-details-marker { display: none; }
    summary::after { content: "+"; color: var(--gold); font-size: 22px; line-height: 1; flex: 0 0 auto; }
    details[open] summary::after { content: "-"; }
    details .detail-body { padding: 0 20px 20px; color: #43535B; }
    .contact-box {
      background: linear-gradient(135deg, var(--navy), var(--navy-2));
      border-radius: var(--radius-xl);
      padding: 34px;
      color: var(--white);
      box-shadow: var(--shadow);
    }
    .contact-box h2, .contact-box h3 { color: var(--white); }
    .contact-box p { color: rgba(255,255,255,.82); }
    .office-list { display: grid; gap: 12px; margin-top: 22px; }
    .office {
      background: rgba(255,255,255,.08);
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 14px;
      padding: 14px 16px;
    }
    .office strong { display: block; color: var(--gold-soft); margin-bottom: 4px; }
    .office span { display: block; color: rgba(255,255,255,.86); }
    .office a { color: var(--gold-soft); }
    .site-footer { background: var(--navy); color: rgba(255,255,255,.75); padding: 42px 0; }
    .footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 30px; align-items: start; }
    .site-footer h3 { color: var(--white); font-size: 18px; }
    .site-footer a { color: var(--gold-soft); }
    .disclaimer { border-top: 1px solid rgba(255,255,255,.14); margin-top: 28px; padding-top: 20px; font-size: 13px; color: rgba(255,255,255,.68); }
    @media (max-width: 920px) {
      .hero-grid, .feature-band, .grid.cols-2, .grid.cols-3, .grid.cols-4, .footer-grid, .profile-grid { grid-template-columns: 1fr; }
      .metrics { grid-template-columns: repeat(2, 1fr); }
      .section-head { display: block; }
      .site-nav {
        position: absolute;
        top: 74px;
        left: 0;
        right: 0;
        background: var(--navy);
        display: none;
        flex-direction: column;
        align-items: stretch;
        padding: 10px 24px 24px;
        border-top: 1px solid rgba(255,255,255,.12);
      }
      .site-nav.open { display: flex; }
      .site-nav a { border-radius: 10px; padding: 12px; }
      .nav-toggle { display: inline-flex; }
      .hero { padding-top: 58px; }
    }
    @media (max-width: 560px) {
      .container { padding: 0 18px; }
      .metrics { grid-template-columns: 1fr; }
      .brand-text strong { font-size: 16px; }
      .hero-panel, .contact-box, .feature-band { padding: 24px; }
      .section { padding: 62px 0; }
    }
    @media print {
      .site-header, .btn-row, .skip-link { display: none; }
      body { background: white; }
      .section { padding: 36px 0; }
      .card, .service-card, .contact-box, .feature-band { box-shadow: none; }
      a { color: var(--navy); text-decoration: none; }
    }