
  :root{
    --navy:#15314f; --navy-2:#0e2238; --ink:#1a2129; --slate:#5a636d;
    --gold:#b78a3c; --gold-txt:#7e5b1d; --line:#e6e4dc; --bg:#ffffff;
    --bg-2:#f6f4ee; --band:#0e2238; --ok:#1d6e56;
    --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
    --serif:Georgia,"Times New Roman",serif;
  }
  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;}
  .wrap{max-width:1140px;margin:0 auto;padding:0 32px;}
  h1,h2,h3{font-family:var(--serif);font-weight:700;color:var(--navy);}
  a{color:var(--navy);}
  img{display:block;max-width:100%;}

  .util{background:var(--navy-2);color:#b9c6d6;font-size:12.5px;}
  .util .wrap{display:flex;justify-content:space-between;align-items:center;padding:8px 32px;}
  .util .ids b{color:#e3ecf5;font-weight:600;}

  header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(140%) blur(6px);border-bottom:1px solid var(--line);}
  .head{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;}
  .brand{display:flex;align-items:center;gap:13px;text-decoration:none;}
  .seal{width:44px;height:44px;border-radius:50%;background:var(--navy);color:var(--gold);border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-size:18px;flex:none;}
  .brand .bn{font-family:var(--serif);font-weight:700;font-size:19px;color:var(--navy);letter-spacing:.03em;line-height:1.1;}
  .brand .bt{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--slate);}
  nav{display:flex;gap:26px;align-items:center;}
  nav a{font-size:14.5px;color:var(--ink);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent;}
  nav a:hover{border-bottom-color:var(--gold);}
  nav .navcta{background:var(--navy);color:#fff;padding:10px 18px;border-radius:3px;border-bottom:none;font-weight:600;}
  nav .navcta:hover{background:var(--navy-2);}

  .hero{position:relative;min-height:540px;display:flex;align-items:center;color:#fff;background:var(--navy-2);overflow:hidden;}
  .hero .bgimg{position:absolute;inset:0;background:url('hero-bg.jpg') center/cover;}
  .hero .scrim{position:absolute;inset:0;background:linear-gradient(100deg,rgba(14,34,56,.95) 0%,rgba(14,34,56,.84) 50%,rgba(14,34,56,.45) 100%);}
  .hero .wrap{position:relative;padding:70px 32px;}
  .hero .kick{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#e3c98a;font-weight:600;margin:0 0 16px;}
  .hero h1{color:#fff;font-size:44px;line-height:1.13;margin:0 0 20px;max-width:18ch;}
  .hero p{font-size:19px;color:#d7e0ea;max-width:56ch;margin:0 0 30px;line-height:1.55;}
  .hero p em{color:#fff;font-style:italic;}
  .btn{font-family:var(--sans);font-size:15.5px;font-weight:600;text-decoration:none;padding:14px 26px;border-radius:3px;display:inline-block;border:2px solid transparent;}
  .b-gold{background:var(--gold);color:var(--navy-2);border-color:var(--gold);}
  .b-gold:hover{background:#c89a4a;}
  .b-ghost{color:#fff;border-color:rgba(255,255,255,.55);margin-left:12px;}
  .b-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff;}

  .ribbon{background:var(--bg-2);border-bottom:1px solid var(--line);}
  .ribbon .wrap{display:flex;flex-wrap:wrap;gap:12px 34px;padding:18px 32px;align-items:center;}
  .ribbon .it{font-size:13.5px;color:var(--slate);display:flex;align-items:center;gap:8px;}
  .ribbon .it b{color:var(--navy);font-weight:700;}
  .ribbon .chk{color:var(--gold-txt);font-weight:700;}

  .alertwrap .wrap{padding:34px 32px 0;}
  .alert{border:1px solid var(--line);border-left:5px solid var(--gold);background:#fffdf7;padding:22px 26px;border-radius:3px;}
  .alert .h{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-txt);margin:0 0 7px;}
  .alert p{margin:0;font-size:16.5px;color:var(--ink);}
  .alert strong{color:var(--navy);}

  section{padding:62px 0;}
  .eyebrow{font-size:12.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-txt);font-weight:700;margin:0 0 10px;}
  h2.sec{font-size:31px;line-height:1.18;margin:0 0 14px;max-width:26ch;}
  .sub{font-size:18px;color:var(--slate);max-width:66ch;margin:0 0 36px;}

  /* self-qualification checklist */
  .qual{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .qlist{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px 30px;margin-top:28px;}
  .qlist .q{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:4px;padding:16px 18px;}
  .qlist .mk{color:var(--gold-txt);font-weight:700;font-size:18px;line-height:1.4;flex:none;}
  .qlist p{margin:0;font-size:15.5px;color:var(--ink);line-height:1.5;}
  .qual .foot{margin-top:26px;font-size:16px;color:var(--slate);}
  .qual .foot b{color:var(--navy);}

  /* tiers */
  .tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin-top:34px;align-items:stretch;}
  .tier{border:1px solid var(--line);border-radius:6px;background:#fff;padding:28px 26px;display:flex;flex-direction:column;}
  .tier.feat{border:2px solid var(--navy);}
  .tier .badge{align-self:flex-start;background:var(--navy);color:#fff;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:4px 12px;border-radius:3px;margin-bottom:14px;}
  .tier .tn{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-txt);font-weight:700;margin:0 0 6px;}
  .tier h3{font-size:22px;margin:0 0 10px;}
  .tier .price{font-family:var(--serif);font-size:26px;color:var(--navy);font-weight:700;margin:0 0 4px;}
  .tier .price small{font-size:14px;color:var(--slate);font-weight:400;font-family:var(--sans);}
  .tier .ph{font-size:14px;color:var(--slate);font-style:italic;margin:0 0 16px;}
  .tier ul{list-style:none;padding:0;margin:0 0 22px;flex:1;}
  .tier li{font-size:15px;color:var(--ink);padding:7px 0 7px 24px;position:relative;line-height:1.45;border-top:1px solid var(--line);}
  .tier li:first-child{border-top:none;}
  .tier li::before{content:"✓";position:absolute;left:0;color:var(--gold-txt);font-weight:700;}
  .tier .ta{margin-top:auto;}

  .pricenote{margin-top:22px;font-size:14px;color:var(--slate);font-style:italic;}

  /* what we deliver */
  .deliv{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:4px;overflow:hidden;}
  .deliv .cell{background:#fff;padding:24px 22px;}
  .deliv h3{font-size:18px;margin:0 0 8px;}
  .deliv p{font-size:14.5px;color:var(--slate);margin:0;line-height:1.55;}

  /* dark why band */
  .dark{background:var(--band);color:#dfe7f0;}
  .dark .eyebrow{color:#e3c98a;}
  .dark h2.sec{color:#fff;}
  .why{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:26px;margin-top:30px;}
  .why .it{border-top:2px solid var(--gold);padding-top:16px;}
  .why h3{color:var(--navy);font-size:18px;margin:0 0 9px;}
  .why p{color:var(--ink);font-size:15px;margin:0;line-height:1.55;}
  .why em{color:var(--navy);font-style:italic;font-weight:500;}

  /* credentials + proof */
  .creds{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:30px;}
  .creds .c{border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:3px;padding:15px 18px;background:#fff;}
  .creds .l{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--navy);font-weight:700;display:block;margin-bottom:3px;}
  .creds .v{font-size:14.5px;color:var(--slate);}
  .insline{margin-top:26px;padding:18px 22px;background:var(--bg-2);border:1px solid var(--line);border-radius:4px;font-size:15px;color:var(--slate);line-height:1.6;}
  .insline b{color:var(--navy);}
  .insline a{font-weight:600;white-space:nowrap;}
  .insline .ok{color:var(--ok);font-weight:700;}

  .cta{position:relative;color:#fff;background:var(--navy-2);overflow:hidden;}
  .cta .bgimg{position:absolute;inset:0;background:url('cta-bg.jpg') center/cover;opacity:.20;}
  .cta .wrap{position:relative;text-align:center;padding:60px 32px;}
  .cta h2{color:#fff;font-size:30px;margin:0 0 12px;}
  .cta p{color:#cdd8e4;font-size:17.5px;max-width:58ch;margin:0 auto 26px;}

  footer{background:#0b1b2e;color:#93a4b6;font-size:14px;}
  footer .wrap{padding:40px 32px 28px;}
  .fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px;}
  footer .bn{font-family:var(--serif);color:#fff;font-size:18px;font-weight:700;letter-spacing:.03em;}
  footer p{margin:8px 0 0;line-height:1.65;color:#8fa1b4;}
  footer h4{color:#cdd9e6;font-size:13px;letter-spacing:.05em;text-transform:uppercase;margin:0 0 12px;}
  footer ul{list-style:none;padding:0;margin:0;}
  footer li{margin-bottom:8px;}
  footer a{color:#aebccb;text-decoration:none;}
  footer a:hover{color:#fff;}
  .fbot{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:16px;font-size:12.5px;color:#7c8ea1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

  .note{font-family:var(--sans);background:#fff8e6;border:1px dashed var(--gold);color:#6b4e16;font-size:12px;padding:3px 8px;border-radius:3px;display:inline-block;margin-left:8px;vertical-align:middle;font-weight:600;}

  @media(max-width:820px){
    nav a:not(.navcta){display:none;}
    .hero h1{font-size:33px;}
    .fgrid{grid-template-columns:1fr;}
    .util .ids{display:none;}
  }


  /* alias tokens so audited interior components inherit the live design */
  :root{--ivory:#ffffff;--ivory-2:var(--bg-2);--paper:#ffffff;--warm:var(--slate);
    --gold-t:var(--gold-txt);--gold-l:#d8b877;--line-d:rgba(255,255,255,.16);--oxblood:var(--navy);--maxw:1140px;}
  .section{padding:64px 0;}
  .pagehead{background:var(--navy);padding:64px 0 56px;}
  .pagehead h1{font-family:var(--serif);color:#fff;font-size:clamp(30px,4.6vw,44px);line-height:1.12;margin:0 0 14px;}
  .pagehead .intro{color:#c9d2dd;font-size:18px;line-height:1.6;max-width:760px;margin:0;}
  .pagehead .crumb{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#c2cuse;color:#c9d2dd;margin:0 0 18px;}
  .pagehead .crumb a{color:#e8d9b8;}
  .skip{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:10px 18px;z-index:99;}
  .skip:focus{left:12px;top:12px;}
  [id]{scroll-margin-top:96px;}
  /* A11Y v2 fixes — apply same on live site */
  .brand .mark{display:block;width:48px;height:48px;border-radius:10px;}
  .fchip{display:inline-block;background:#fff;padding:6px;border-radius:10px;margin-bottom:12px;line-height:0;}
  .fchip img{display:block;}
  @media(min-width:980px){footer .fgrid{grid-template-columns:2.2fr 1fr 1fr 1fr;}}
  .btn.b-gold,.btn-solid{background:#c19a4f;border-color:#c19a4f;}     /* navy text: 4.24 -> ~4.8:1 */
  .btn.b-gold:hover,.btn-solid:hover{background:#d8b877;border-color:#d8b877;}
  @media(max-width:700px){.qlist{grid-template-columns:1fr;}}           /* 320px reflow */
  .q{min-width:0;}
  .tier .del{font-size:13px;color:var(--gold-txt);font-weight:700;margin:0 0 10px;}
  .sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}

/* ============ shared components for interior pages ============ */
  .prose{max-width:760px;}
  .prose h2{font-family:var(--serif);font-size:1.7rem;color:var(--ink);margin:40px 0 14px;font-weight:700;}
  .prose h3{font-family:var(--serif);font-size:1.26rem;color:var(--ink);margin:30px 0 10px;font-weight:700;}
  .prose p{margin:0 0 16px;color:var(--ink);}
  .prose p.intro{font-family:var(--serif);font-size:1.22rem;color:var(--warm);line-height:1.5;margin-bottom:8px;}
  .prose ul,.prose ol{margin:0 0 18px;padding-left:0;list-style:none;}
  .prose li{position:relative;padding-left:24px;margin:0 0 9px;color:var(--ink);}
  .prose ul li::before{content:"—";position:absolute;left:0;color:var(--warm);}
  .prose ol{counter-reset:li;}
  .prose ol li{padding-left:30px;}
  .prose ol li::before{counter-increment:li;content:counter(li)".";position:absolute;left:0;color:var(--navy);font-weight:700;font-family:var(--sans);}
  .prose a{color:var(--navy);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--gold);}
  .prose a:hover{text-decoration-color:var(--navy);}
  .prose hr{border:0;border-top:1px solid var(--line);margin:34px 0;}
  .lead-rule{width:64px;height:1px;background:var(--gold);border:0;margin:0 0 28px;}
  .box{border:1px solid var(--line);border-left:3px solid var(--navy);background:var(--paper);padding:20px 24px;margin:24px 0;}
  .box .bx-h{font-family:var(--sans);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);font-weight:700;margin:0 0 8px;}
  .box.gold{border-left-color:var(--gold);} .box.gold .bx-h{color:var(--gold-t);}
  .box p{margin:0 0 8px;color:var(--ink);font-size:.99rem;} .box p:last-child{margin:0;}
  .box ul{margin:6px 0 0;padding-left:0;list-style:none;} .box li{position:relative;padding-left:22px;margin:0 0 6px;font-size:.97rem;} .box li::before{content:"—";position:absolute;left:0;color:var(--warm);}
  .dtable{width:100%;border-collapse:collapse;border:1px solid var(--ink);margin:24px 0;font-size:.95rem;}
  .dtable caption{caption-side:bottom;font-family:var(--sans);font-size:.8rem;color:var(--warm);text-align:left;margin-top:10px;}
  .dtable th{background:var(--navy);color:var(--ivory);font-family:var(--sans);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;text-align:left;padding:13px 16px;font-weight:700;}
  .dtable td{padding:13px 16px;border-top:1px solid var(--line);color:var(--ink);vertical-align:top;}
  .dtable tbody tr:nth-child(even){background:var(--paper);}
  .article-grid{display:grid;grid-template-columns:1fr 320px;gap:50px;align-items:start;}
  .aside-card{border:1px solid var(--line);background:var(--paper);padding:24px;position:sticky;top:132px;}
  .aside-card h3{font-family:var(--serif);font-size:1.12rem;color:var(--ink);margin:0 0 14px;}
  .aside-card ol{counter-reset:a;list-style:none;margin:0;padding:0;}
  .aside-card li{position:relative;padding:0 0 14px 36px;font-size:.92rem;color:var(--ink);line-height:1.45;}
  .aside-card li::before{counter-increment:a;content:counter(a);position:absolute;left:0;top:-2px;width:25px;height:25px;border:1px solid var(--navy);color:var(--navy);font-family:var(--sans);font-weight:700;font-size:.8rem;display:grid;place-items:center;}
  .aside-stat{border:1px solid var(--line);padding:18px 22px;margin-top:18px;text-align:center;}
  .aside-stat .n{font-family:var(--serif);font-weight:700;font-size:1.6rem;color:var(--navy);}
  .aside-stat .l{font-family:var(--sans);font-size:.8rem;color:var(--warm);margin-top:4px;line-height:1.4;}
  .faq{max-width:820px;border-top:1px solid var(--line);}
  .faq details{border-bottom:1px solid var(--line);}
  .faq summary{cursor:pointer;list-style:none;padding:20px 0;font-family:var(--serif);font-size:1.18rem;color:var(--ink);display:flex;justify-content:space-between;gap:16px;align-items:center;}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::after{content:"+";font-family:var(--sans);color:var(--gold-t);font-weight:700;font-size:1.3rem;flex:none;}
  .faq details[open] summary::after{content:"\2013";}
  .faq summary:focus-visible{outline:2px solid var(--gold-t);outline-offset:3px;}
  .faq .ans{padding:0 0 22px;color:var(--ink);max-width:72ch;}
  .faq .ans p{margin:0 0 12px;}
  .form{max-width:560px;}
  .form .field{margin:0 0 18px;}
  .form label{display:block;font-family:var(--sans);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);font-weight:700;margin:0 0 7px;}
  .form input,.form textarea,.form select{width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);padding:13px 15px;font-family:var(--sans);font-size:1rem;border-radius:0;}
  .form input:focus,.form textarea:focus,.form select:focus{outline:2px solid var(--gold-t);outline-offset:1px;border-color:var(--navy);}
  .form textarea{min-height:130px;resize:vertical;}
  .two-col{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
  .reversed-mark{width:46px;height:46px;display:block;flex:none;}
  @media(max-width:880px){.article-grid,.two-col{grid-template-columns:1fr;} .aside-card{position:static;margin-top:30px;}}

  /* ============ accessibility audit fixes (2026-06-09) ============ */
  /* FIX A11Y-1: .prose a was overriding .btn text color -> navy-on-navy (1:1). */
  .prose a.btn{text-decoration:none;}
  .prose a.btn-solid,.prose a.btn-solid:hover{color:var(--ivory);}
  .prose a.btn-outline{color:var(--ink);} .prose a.btn-outline:hover{color:var(--ivory);}
  /* FIX A11Y-2: form control boundaries were 1.27:1 vs white (WCAG 1.4.11 needs 3:1). #5A636D ~= 5.9:1 */
  .form input,.form textarea,.form select{border-color:var(--warm);}
  /* FIX A11Y-3: header utility links were 20px tall (WCAG 2.5.8 needs 24px targets) */
  .util .ucta a{display:inline-flex;align-items:center;min-height:24px;}
  /* FIX A11Y-4a: scrollable table region (keyboard-reachable) instead of page overflow */
  .tscroll{overflow-x:auto;margin:24px 0;}
  .tscroll:focus-visible{outline:2px solid var(--gold-t);outline-offset:3px;}
  .tscroll .dtable{margin:0;min-width:520px;}
  /* FIX A11Y-4b: grid items must be allowed to shrink below min-content */
  .article-grid > *, .biz > *, .two-col > *{min-width:0;}
  /* FIX A11Y-4c: homepage scan row wraps on narrow viewports instead of forcing overflow */
  @media(max-width:560px){
    .scan{padding:22px;}
    .scan input{min-width:0;flex:1 1 100%;}
    .scan .row{flex-wrap:wrap;}
    .scan .row .btn{width:100%;justify-content:center;border-left:0;border-top:1px solid rgba(246,242,233,.4);}
  }

footer .fgrid h2{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#c9d2dd;margin:0 0 12px;font-family:var(--sans);font-weight:700;}
.btn-solid{background:var(--gold);color:var(--navy-2);border-color:var(--gold);}
.btn-outline{display:inline-block;border:1px solid var(--navy);color:var(--navy);padding:12px 24px;border-radius:4px;text-decoration:none;font-weight:600;}

footer .fgrid h2{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#c9d2dd;margin:0 0 12px;font-family:var(--sans);font-weight:700;}
.btn-solid{background:var(--gold);color:var(--navy-2);border-color:var(--gold);}
.btn-outline{display:inline-block;border:1px solid var(--navy);color:var(--navy);padding:12px 24px;border-radius:4px;text-decoration:none;font-weight:600;}

footer .fgrid h2{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#c9d2dd;margin:0 0 12px;font-family:var(--sans);font-weight:700;}
.btn-solid{background:var(--gold);color:var(--navy-2);border-color:var(--gold);}
.btn-outline{display:inline-block;border:1px solid var(--navy);color:var(--navy);padding:12px 24px;border-radius:4px;text-decoration:none;font-weight:600;}

footer .fgrid h2{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#c9d2dd;margin:0 0 12px;font-family:var(--sans);font-weight:700;}
.btn-solid{background:var(--gold);color:var(--navy-2);border-color:var(--gold);}
.btn-outline{display:inline-block;border:1px solid var(--navy);color:var(--navy);padding:12px 24px;border-radius:4px;text-decoration:none;font-weight:600;}

footer .fgrid h2{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#c9d2dd;margin:0 0 12px;font-family:var(--sans);font-weight:700;}
.btn-solid{background:var(--gold);color:var(--navy-2);border-color:var(--gold);}
.btn-outline{display:inline-block;border:1px solid var(--navy);color:var(--navy);padding:12px 24px;border-radius:4px;text-decoration:none;font-weight:600;}

footer .fgrid h2{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#c9d2dd;margin:0 0 12px;font-family:var(--sans);font-weight:700;}
.btn-solid{background:var(--gold);color:var(--navy-2);border-color:var(--gold);}
.btn-outline{display:inline-block;border:1px solid var(--navy);color:var(--navy);padding:12px 24px;border-radius:4px;text-decoration:none;font-weight:600;}

footer .fgrid h2{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#c9d2dd;margin:0 0 12px;font-family:var(--sans);font-weight:700;}
.btn-solid{background:var(--gold);color:var(--navy-2);border-color:var(--gold);}
.btn-outline{display:inline-block;border:1px solid var(--navy);color:var(--navy);padding:12px 24px;border-radius:4px;text-decoration:none;font-weight:600;}
