
  :root{--gold:#B09E7C;--taupe:#A29885;--olive:#6C685D;--brand-grey:#888B90;
    --navy:#001A37; --navy-2:#0B2B4A; --ink:#2D2F32; --muted:#5F6368;
    --line:#D9DCDF; --accent:#7E6E4F; --accent-soft:#F4F1EA;
    --paper:#fbfaf8; --white:#fff;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0; background:var(--paper); color:var(--ink);
    font:400 17px/1.65 "Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
    -webkit-font-smoothing:antialiased;
  }
  .wrap{max-width:1060px;margin:0 auto;padding:0 28px;}
  .narrow{max-width:760px;}

  header{
    position:sticky;top:0;z-index:50;background:rgba(251,250,248,.94);
    backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;height:70px;}
  .brand{font-weight:600;font-size:18px;letter-spacing:.01em;color:var(--navy);text-decoration:none;display:flex;align-items:center;gap:11px;}
  .brand .mk{width:64px;height:60px;flex:none;display:block;}
  .brand .bt{display:block;}
  .brand .tag{display:block;font:500 10.5px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;
    letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-top:5px;}
  .nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0;}
  .nav a{font:500 13.5px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;
    color:var(--muted);text-decoration:none;letter-spacing:.02em;}
  .nav a:hover{color:var(--navy);}
  .navcta{font:600 13px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;
    background:var(--navy);color:#fff !important;padding:11px 18px;border-radius:3px;letter-spacing:.02em;}
  .navcta:hover{background:var(--navy-2);}
  .menutoggle{display:none;background:none;border:0;font-size:22px;color:var(--navy);cursor:pointer;}

  .hero{padding:104px 0 88px;border-bottom:1px solid var(--line);}
  .eyebrow{font:600 11px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;
    letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0 0 22px;}
  h1{font-size:clamp(34px,5.1vw,54px);line-height:1.12;margin:0 0 26px;color:var(--navy);font-weight:600;letter-spacing:-.015em;}
  .lede{font-size:20px;line-height:1.6;color:var(--muted);margin:0 0 34px;max-width:660px;}
  .btnrow{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
  .btn{display:inline-block;font:600 14px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;
    padding:15px 26px;border-radius:3px;text-decoration:none;letter-spacing:.02em;transition:.15s;}
  .btn-p{background:var(--navy);color:#fff;}
  .btn-p:hover{background:var(--navy-2);}
  .btn-s{background:transparent;color:var(--navy);border:1px solid var(--line);}
  .btn-s:hover{border-color:var(--navy);}

  section{padding:82px 0;border-bottom:1px solid var(--line);scroll-margin-top:96px;}
  section:last-of-type{border-bottom:0;}
  .sectlabel{font:600 11px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;
    letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0 0 18px;}
  h2{font-size:clamp(26px,3.4vw,34px);line-height:1.22;color:var(--navy);margin:0 0 22px;font-weight:600;letter-spacing:-.01em;}
  h3{font-size:19px;color:var(--navy);margin:0 0 9px;font-weight:600;}
  p{margin:0 0 18px;}
  .muted{color:var(--muted);}

  .statband{background:var(--navy);color:#fff;padding:56px 0;border:0;}
  .statband .stat{font-size:clamp(40px,6vw,62px);line-height:1;font-weight:600;color:#fff;margin:0 0 14px;letter-spacing:-.02em;}
  .statband p{color:rgba(255,255,255,.82);font-size:19px;max-width:620px;margin:0;}
  .statband .src{font:400 12px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;
    color:rgba(255,255,255,.5);margin-top:22px;}

  .grid{display:grid;gap:34px;}
  .g2{grid-template-columns:repeat(2,1fr);}
  .g3{grid-template-columns:repeat(3,1fr);}

  .card{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:28px;}
  .card .num{font:600 12px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;
    color:var(--accent);letter-spacing:.14em;margin-bottom:14px;display:block;}
  .card p{font-size:16px;color:var(--muted);margin:0;}

  .method{border-left:2px solid var(--accent);padding-left:26px;margin-bottom:34px;}
  .method h3{margin-bottom:7px;}
  .method p{font-size:16.5px;color:var(--muted);margin:0;}

  table{width:100%;border-collapse:collapse;margin:6px 0 20px;
    font:400 15.5px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;}
  th{text-align:left;font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
    color:var(--accent);padding:0 0 12px;border-bottom:1px solid var(--line);}
  td{padding:15px 16px 15px 0;border-bottom:1px solid var(--line);color:var(--muted);vertical-align:top;}
  td:first-child{color:var(--ink);font-weight:600;width:34%;}
  td:last-child{padding-right:0;}

  .quote{background:var(--accent-soft);border-left:3px solid var(--accent);
    padding:30px 32px;border-radius:0 4px 4px 0;}
  .quote p{font-size:19px;line-height:1.6;color:var(--navy);margin:0;font-style:italic;}
  .quote .attrib{font:500 13px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;
    color:var(--muted);margin-top:16px;font-style:normal;}

  .bio{display:grid;grid-template-columns:1fr 1.55fr;gap:52px;align-items:start;}
  .biocard{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:30px;}
  .biocard .shot{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;
    border-radius:3px;margin-bottom:22px;filter:saturate(.94);}
  .biocard .nm{font-size:21px;color:var(--navy);font-weight:600;margin-bottom:3px;}
  .biocard .role{font:500 13px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;
    color:var(--accent);letter-spacing:.04em;margin-bottom:20px;}
  .biocard ul{margin:0;padding:0;list-style:none;
    font:400 14.5px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;color:var(--muted);}
  .biocard li{padding:10px 0;border-top:1px solid var(--line);}

  .badge{display:inline-flex;align-items:center;gap:9px;background:var(--white);border:1px solid var(--line);
    border-radius:3px;padding:9px 14px;margin:0 10px 10px 0;
    font:600 12px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;
    letter-spacing:.05em;text-transform:uppercase;color:var(--navy);}
  .badge i{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block;}

  .contact{background:var(--navy);color:#fff;border:0;}
  .contact h2{color:#fff;}
  .contact p{color:rgba(255,255,255,.8);}
  .contact a.mail{color:#fff;font-size:22px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);}
  .contact a.mail:hover{border-color:#fff;}
  .contactgrid{display:grid;grid-template-columns:1.1fr 1fr;gap:52px;align-items:start;}
  .contactgrid .item{margin-bottom:26px;}
  .contactgrid .lbl{font:600 11px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;
    letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:8px;}

  footer{padding:40px 0;background:var(--navy);border-top:1px solid rgba(255,255,255,.12);}
  footer .f{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;
    font:400 13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;color:rgba(255,255,255,.55);}

  @media (max-width:860px){
    .g3{grid-template-columns:1fr 1fr;}
    .bio,.contactgrid{grid-template-columns:1fr;gap:34px;}
  }
  @media (max-width:640px){
    body{font-size:16px;}
    h1 br{display:none;}
    .nav ul{display:none;}
    .nav ul.open{display:flex;flex-direction:column;position:absolute;top:96px;left:0;right:0;
      background:var(--paper);border-bottom:1px solid var(--line);padding:20px 28px;gap:18px;}
    .menutoggle{display:block;}
    .g2,.g3{grid-template-columns:1fr;}
    section{padding:58px 0;}
    .hero{padding:66px 0 58px;}
    td:first-child{width:44%;}
  }


/* ---------- sector pages ---------- */
.sectorhero{padding:76px 0 54px;border-bottom:1px solid var(--line);}
.sectorhero .eyebrow{margin-bottom:14px;}
.sectorhero h1{font-size:clamp(34px,5.4vw,56px);line-height:1.08;letter-spacing:-.02em;
  color:var(--navy);margin:0 0 20px;max-width:17ch;}
.sectorhero .lede{font-size:19px;line-height:1.62;color:var(--muted);max-width:60ch;margin:0;}
.whatdiffers{counter-reset:wd;}
.wd{display:grid;grid-template-columns:52px 1fr;gap:22px;padding:26px 0;border-top:1px solid var(--line);}
.wd:first-of-type{border-top:none;}
.wd .n{counter-increment:wd;font:500 13px/1 "IBM Plex Mono",ui-monospace,monospace;color:var(--accent);padding-top:5px;}
.wd .n::before{content:"0" counter(wd);}
.wd h3{font-size:19px;color:var(--navy);margin:0 0 9px;line-height:1.35;}
.wd p{margin:0;font-size:16px;line-height:1.62;color:var(--muted);}
.rolegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:0 30px;margin-top:8px;}
.rolegrid div{padding:11px 0;border-top:1px solid var(--line);font-size:15.5px;color:var(--ink);}
.secnav{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
.secnav a{display:inline-block;padding:9px 15px;border:1px solid var(--line);border-radius:3px;
  font-size:14px;color:var(--navy);text-decoration:none;background:#fff;transition:.15s;}
.secnav a:hover{border-color:var(--accent);color:var(--accent);}
.secnav a[aria-current]{background:var(--navy);color:#fff;border-color:var(--navy);}
.trap{background:var(--accent-soft);border-left:2px solid var(--accent);padding:22px 26px;
  border-radius:3px;margin-top:10px;}
.trap strong{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);margin-bottom:9px;}
.trap p{margin:0;font-size:16px;line-height:1.62;color:var(--ink);}


/* ---------- industries grid (home) ---------- */
.indgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(252px,1fr));gap:14px;}
.indcard{display:flex;flex-direction:column;justify-content:space-between;gap:20px;
  padding:22px 22px 18px;background:#fff;border:1px solid var(--line);border-radius:3px;
  text-decoration:none;transition:.16s;min-height:116px;}
.indcard:hover{border-color:var(--accent);transform:translateY(-1px);
  box-shadow:0 2px 10px rgba(22,48,74,.06);}
.indcard .nm{font-family:Georgia,"Iowan Old Style",serif;font-size:18.5px;color:var(--navy);line-height:1.3;}
.indcard .go{font:500 12px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;
  letter-spacing:.1em;text-transform:uppercase;color:var(--accent);}
@media (max-width:620px){.indgrid{grid-template-columns:1fr;}}


/* ---------- service pages ---------- */
.whatdiffers.nonum .wd{grid-template-columns:132px 1fr;}
.wd .n2{font:500 11.5px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;
  letter-spacing:.13em;text-transform:uppercase;color:var(--accent);padding-top:5px;}
ul.deliver{list-style:none;margin:8px 0 0;padding:0;max-width:72ch;}
ul.deliver li{position:relative;padding:13px 0 13px 26px;border-top:1px solid var(--line);
  font-size:16.5px;line-height:1.6;color:var(--ink);}
ul.deliver li:first-child{border-top:none;}
ul.deliver li::before{content:"";position:absolute;left:2px;top:22px;width:9px;height:1.5px;
  background:var(--accent);}
@media (max-width:620px){.whatdiffers.nonum .wd{grid-template-columns:1fr;gap:8px;}}

table td a{color:var(--navy);text-decoration:none;border-bottom:1px solid var(--accent);
  padding-bottom:1px;transition:.15s;}
table td a:hover{color:var(--accent);}

/* inline prose link — used for the diligence cross-link on sector pages */
p.muted a{color:var(--navy);text-decoration:none;border-bottom:1px solid var(--accent);
          padding-bottom:1px;}
p.muted a:hover{color:var(--accent);}

/* ---------- /assessment-design ---------- */
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
table.vtab{width:100%;border-collapse:collapse;margin-top:6px;font-size:16px;min-width:640px;}
table.vtab th{text-align:left;padding:11px 14px 11px 0;border-bottom:1.6px solid var(--navy);
  font:600 11px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;
  letter-spacing:.14em;text-transform:uppercase;color:var(--navy);vertical-align:bottom;}
table.vtab td{padding:11px 14px 11px 0;border-bottom:1px solid var(--line);vertical-align:top;}
table.vtab td:first-child{color:var(--ink);font-weight:600;white-space:nowrap;}
table.vtab .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;
  font-weight:600;color:var(--navy);padding-right:22px;}
table.vtab td.old{color:#9AA7B2;font-weight:400;}
table.vtab th.num{text-align:right;padding-right:22px;}
table.vtab .note{color:var(--muted);font-size:15.5px;line-height:1.5;}

.dz{border-top:1.6px solid var(--navy);padding:26px 0 30px;}
.dz + .dz{border-top:1px solid var(--line);}
.dzhead{display:flex;align-items:flex-start;gap:16px;margin-bottom:14px;}
.dzk{flex:0 0 42px;height:42px;border-radius:3px;background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font:600 19px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;}
.dzhead h3{font-size:24px;margin:2px 0 3px;color:var(--navy);}
.dztag{margin:0;color:var(--accent);font:600 12px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;
  letter-spacing:.14em;text-transform:uppercase;}
.dzwhat{max-width:72ch;margin:0 0 20px;font-size:17.5px;}
.dzgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px 36px;}
.dzgrid h4{font:600 11px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;
  letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 7px;}
.dzgrid p,.dzgrid li{color:var(--muted);font-size:16.5px;line-height:1.55;margin:0;}
.dzgrid ul{margin:0;padding-left:17px;}
.dzgrid li{margin-bottom:5px;}
.dzcost{margin:20px 0 0;color:var(--muted);font-size:16px;}
.dzcost strong{color:var(--ink);}
@media (max-width:720px){.dzgrid{grid-template-columns:1fr;}}

table.matrix{width:100%;border-collapse:collapse;font-size:16px;min-width:680px;}
table.matrix th[scope=col]{padding:0 10px 12px;border-bottom:1.6px solid var(--navy);text-align:center;
  font:600 12.5px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;color:var(--navy);
  vertical-align:bottom;width:108px;}
table.matrix th[scope=col]:first-child{text-align:left;width:auto;padding-left:0;
  letter-spacing:.14em;text-transform:uppercase;font-size:11px;}
.hk{display:block;width:24px;height:24px;margin:0 auto 7px;border-radius:3px;background:var(--navy);
  color:#fff;line-height:24px;font-size:12px;}
table.matrix th[scope=row]{text-align:left;font-weight:400;color:var(--ink);padding:12px 18px 12px 0;
  border-bottom:1px solid var(--line);font-size:16.5px;}
table.matrix td{text-align:center;border-bottom:1px solid var(--line);padding:12px 10px;}
.m{font-size:15px;line-height:1;}
.m.p{color:var(--navy);font-size:17px;}
.m.s{color:var(--accent);font-size:17px;}
.m.c{color:#A8761F;}
.m.x{color:#C2CBD3;}
.m.n{color:#E3E9ED;}
.key{margin-top:18px;color:var(--muted);font-size:15px;}

table.sect{width:100%;border-collapse:collapse;font-size:16.5px;}
table.sect td{padding:13px 16px 13px 0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--muted);}
table.sect td:first-child{width:200px;white-space:nowrap;}
table.sect td:first-child a{color:var(--navy);font-weight:600;text-decoration:none;
  border-bottom:1px solid var(--accent);padding-bottom:1px;}
table.sect td:first-child a:hover{color:var(--accent);}
section.dark .trap{border-color:rgba(255,255,255,.2);}

/* override the global uppercase th rule inside the decision matrix */
table.matrix th[scope=col]{text-transform:none;letter-spacing:0;}
table.matrix th[scope=col]:first-child{text-transform:uppercase;letter-spacing:.14em;}
table.matrix th[scope=row]{text-transform:none;letter-spacing:0;}
table.matrix th[scope=col] .hk{letter-spacing:0;}
table.sect td:first-child{font-weight:400;}


/* the delivered mark carries its own detail; give it room and keep it crisp */
.brand{gap:13px;}
.brand .mk{image-rendering:-webkit-optimize-contrast;}
@media (max-width:620px){ .brand .mk{width:52px;height:49px;} }


/* ================= navy masthead ================= */
header{
  background:var(--navy);
  backdrop-filter:none;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.nav{height:96px;}
.brand{color:#fff;}

.nav a{color:#AEB9C4;}
.nav a:hover{color:#fff;}
.navcta{background:var(--gold);color:#001A37 !important;}
.navcta:hover{background:#C2B193;}
.menutoggle{color:#fff;}
@media (max-width:640px){
  .nav ul.open{background:var(--navy);border-bottom:1px solid rgba(255,255,255,.12);}
  .nav ul.open a{color:#D6E1EA;}
  .nav ul.open a:hover{color:#fff;}
}

/* ---- hero watermark ---- */
.hero{position:relative;overflow:hidden;}
.hero .wrap{position:relative;z-index:2;}
.heromark{position:absolute;right:-30px;top:50%;transform:translateY(-50%);
  width:440px;height:auto;opacity:.13;pointer-events:none;z-index:1;}
@media (max-width:1040px){ .heromark{right:-120px;width:360px;opacity:.10;} }
@media (max-width:720px){ .heromark{display:none;} }

/* ---- lockup on navy panels ---- */
.lockup{display:block;width:292px;height:auto;margin:0 0 30px;}
.contact .lockup{margin-bottom:30px;}
#contact-strip .lockup{margin:0 0 26px;}
@media (max-width:640px){ .lockup{width:230px;} }

/* ---- footer mark ---- */
footer .f{align-items:center;}
.footmark{width:68px;height:64px;flex:none;display:block;margin-right:19px;opacity:.92;}
.footbrand{display:flex;align-items:center;}
@media (max-width:640px){ .footmark{width:58px;height:55px;margin-right:15px;} }


/* taller masthead to carry the larger mark */
.brand{gap:15px;}
.brand{font-size:19px;}
@media (max-width:640px){ .nav{height:82px;} }


/* ================= header lockup (vector) ================= */
.brand{display:flex;align-items:center;gap:0;}
.brand .logo{display:block;height:62px;width:auto;}
.brand .mk,.brand .bt,.brand .tag{display:none;}
@media (max-width:980px){ .brand .logo{height:54px;} }
@media (max-width:640px){ .brand .logo{height:44px;} .nav{height:86px;} }
@media (max-width:380px){ .brand .logo{height:38px;} }

/* vector artwork elsewhere */
.heromark{width:420px;height:auto;}
.footmark{width:58px;height:auto;}
.lockup{width:280px;height:auto;}
@media (max-width:640px){ .lockup{width:224px;} .footmark{width:50px;} }

/* gold that sits on navy uses the true brand gold */
section[style*="--navy"] .sectlabel,
#contact-strip .sectlabel,
.contact .sectlabel{color:var(--gold) !important;}


/* the vector lockup is wider than the old mark, so the nav collapses sooner */
@media (max-width:1000px){ .nav ul{gap:22px;} .navcta{padding:10px 15px;} }
@media (max-width:880px){
  .nav ul{display:none;}
  .nav ul.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;
    background:var(--navy);border-bottom:1px solid rgba(255,255,255,.12);
    padding:22px 28px;gap:18px;z-index:60;}
  .nav ul.open a{color:#D6E1EA;}
  .nav ul.open a:hover{color:#fff;}
  .nav ul.open .navcta{align-self:flex-start;color:#001A37 !important;}
  .menutoggle{display:block;}
}
header{position:sticky;top:0;}
.nav{position:relative;}


/* wide tables must scroll inside their own box, never push the page */
.tscroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.wrap{min-width:0;}
@media (max-width:420px){
  table.vtab{min-width:560px;font-size:15px;}
  table.matrix{min-width:580px;}
}


/* grid and flex children default to min-width:auto, which refuses to shrink
   below their content and blows the page out at narrow widths */
.grid > *, .g2 > *, .g3 > *, .dzgrid > *, .whatdiffers .wd > *,
.lower > *, .bio > *, .contactgrid > *, .difs > *, .engs > *{min-width:0;}
.wd{min-width:0;}
img, svg{max-width:100%;}
table{max-width:none;}


/* the by-sector table pins its first column at 200px and nowrap; stack it on phones */
@media (max-width:560px){
  table.sect, table.sect tbody, table.sect tr, table.sect td{display:block;width:auto;}
  table.sect tr{border-bottom:1px solid var(--line);padding:14px 0;}
  table.sect td{border-bottom:0;padding:0;}
  table.sect td:first-child{width:auto;white-space:normal;margin-bottom:5px;}
}


/* the compass carries N/W/E/S at roughly 8% of the lockup height; below ~55px
   those letterforms fall under 5px and wash out on a 1x display */
.brand .logo{image-rendering:auto;}
@media (max-width:1060px) and (min-width:981px){ .nav ul{gap:20px;} }


/* the masthead runs wider than the text column so the lockup and the nav
   are never flush against each other */
header .wrap{max-width:1200px;}
.nav{gap:48px;}
.nav ul{gap:26px;flex-wrap:nowrap;}
.nav ul li{white-space:nowrap;}
@media (max-width:1120px){ .nav ul{gap:20px;} .nav{gap:32px;} .navcta{padding:10px 14px;} }
@media (max-width:1060px){ .brand .logo{height:56px;} }


/* below 1000px the nav no longer clears the lockup comfortably — collapse earlier */
@media (max-width:1060px){
  .nav ul{display:none;}
  .nav ul.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;
    background:var(--navy);border-bottom:1px solid rgba(255,255,255,.12);
    padding:22px 28px;gap:18px;z-index:60;}
  .nav ul.open a{color:#D6E1EA;}
  .nav ul.open a:hover{color:#fff;}
  .nav ul.open .navcta{align-self:flex-start;color:#001A37 !important;}
  .menutoggle{display:block;}
}


/* the compass carries N/W/E/S at its outer edge — never bleed it past the
   hero box, or overflow:hidden crops a cardinal letter clean off */
.heromark{right:14px;}
@media (max-width:1240px){ .heromark{right:10px;width:380px;} }
@media (max-width:1040px){ .heromark{right:8px;width:290px;opacity:.10;} }
@media (max-width:720px){ .heromark{display:none;} }


/* every decision-matrix header must be the same height, or a one-line label
   bottom-aligns and knocks its A/B/C/D chip out of line with the others */
table.matrix th[scope=col]{vertical-align:top;padding-top:4px;}
table.matrix th[scope=col]:first-child{vertical-align:bottom;padding-top:0;}
.hk{display:block;width:24px;height:24px;margin:0 auto 8px;border-radius:3px;
    background:var(--navy);color:#fff;line-height:24px;font-size:12px;text-align:center;}
.hl{display:block;min-height:2.5em;line-height:1.25;}


/* the empty-cell dot is a row-tracking aid; it was so faint it read as a
   rendering artefact rather than a deliberate mark */
.m.n{color:#C9D0D7;}
.m.x{color:#9AA5AF;}
table.matrix td{vertical-align:middle;}


/* "a number we do not use" — an integrity note, deliberately quieter than
   the cards above it so it reads as a caveat rather than a fourth failure */
.debunk{margin-top:44px;padding:22px 26px;border-left:2px solid var(--accent);
  background:var(--accent-soft);border-radius:0 3px 3px 0;max-width:72ch;}
.debunk .dh{font:700 11px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;
  letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0 0 10px;}
.debunk p{margin:0;color:var(--muted);font-size:16.5px;line-height:1.6;}
.statband p + p{margin-top:16px;}
.statband .src{margin-top:24px;}


/* ============================================================
   Masthead scale-up. The logo is a single lockup SVG (mark +
   wordmark + motto), so one height value scales all three.
   Previously capped at ~76px: header .wrap was 1200px, the nav
   list takes 686px, and the brand is a shrinking flex child —
   so the img hit max-width before it hit its height. Widening
   the header wrap is what actually unlocks the larger lockup.
   ============================================================ */
header .wrap{max-width:1280px;}
.nav{height:126px;}
.brand .logo{height:84px;}
section{scroll-margin-top:126px;}

@media (max-width:1180px){
  .nav{height:112px;}
  .brand .logo{height:72px;}
  section{scroll-margin-top:112px;}
}
@media (max-width:1060px){
  .nav{height:104px;}
  .brand .logo{height:66px;}
  section{scroll-margin-top:104px;}
}
@media (max-width:640px){
  .nav{height:88px;}
  .brand .logo{height:50px;}
  section{scroll-margin-top:88px;}
}
@media (max-width:380px){
  .nav{height:78px;}
  .brand .logo{height:42px;}
  section{scroll-margin-top:78px;}
}


/* ============================================================
   Masthead, pass 2.
   Desktop: wider header wrap again so the lockup can grow — the
   brand is a shrinking flex child, so available width, not the
   height value, is always the real ceiling.
   Mobile: the lockup is 5.4:1 and was competing with the menu
   button for a 390px row, which capped it near 50px and left it
   floating in a tall navy bar. Centering the lockup on its own
   row and floating the button to the right gives it the full
   content width instead of what the button leaves over.
   ============================================================ */
header .wrap{max-width:1340px;}
.nav{height:138px;}
.brand .logo{height:96px;}
section{scroll-margin-top:138px;}

@media (max-width:1280px){
  .nav ul{gap:26px;}
  .nav{height:126px;}
  .brand .logo{height:86px;}
  section{scroll-margin-top:126px;}
}
@media (max-width:1180px){
  .nav{height:112px;}
  .brand .logo{height:74px;}
  section{scroll-margin-top:112px;}
}
@media (max-width:1060px){
  .nav{height:106px;}
  .brand .logo{height:68px;}
  section{scroll-margin-top:106px;}
}

/* --- phone: centred lockup, floated menu button ---
   padding-right reserves the button's column so the centring axis
   shifts left; the button itself is inset 18px rather than flush to
   the screen edge, which it was. --- */
@media (max-width:640px){
  header .wrap{padding:0 18px;}
  header .wrap.nav{padding:0 62px 0 18px;}
  .nav{height:104px;justify-content:center;gap:0;}
  .brand{margin:0 auto;}
  .brand .logo{height:62px;}
  .menutoggle{position:absolute;right:18px;top:50%;transform:translateY(-50%);
              font-size:24px;line-height:1;padding:6px 2px;margin:0;}
  .nav ul.open{top:100%;}
  section{scroll-margin-top:104px;}
}
@media (max-width:413px){
  .nav{height:96px;}
  .brand .logo{height:56px;}
  section{scroll-margin-top:96px;}
}
@media (max-width:375px){
  .brand .logo{height:50px;}
}
@media (max-width:344px){
  .nav{height:86px;}
  .brand .logo{height:44px;}
  section{scroll-margin-top:86px;}
}


/* ============================================================
   Contrast corrections found in the full-site audit.
   .old  (the superseded-validity column) measured 2.36:1 on
         cream — those are data values a reader has to read, not
         decoration, so the de-emphasis had gone too far.
   .dh   (the debunk eyebrow) measured 4.40:1, just under the
         4.5:1 floor for text below 18.66px.
   ============================================================ */
table.vtab td.old{color:#687580;}      /* 4.53:1 on --paper */
.debunk .dh{color:#7C6C4D;}            /* 4.53:1 on --accent-soft */


/* .debunk was written for a single paragraph; the "you already have a
   process" block uses four, so consecutive paragraphs need separating. */
.debunk p + p{margin-top:13px;}


/* Hard line breaks in headings are desktop typesetting. Below 640px they are
   hidden so the text can flow — which collided words together ("isan",
   "conversationwith") because the source had no space either side of the <br>.
   A space now sits before each one: ignored at a line end on desktop,
   preserved when the break is hidden on mobile. */
@media (max-width:640px){
  h1 br, h2 br{display:none;}
}

/* The hero eyebrow orphaned "NORTH CAROLINA" onto its own line at phone
   width; tightening the tracking lets it sit on two balanced lines. */
@media (max-width:430px){
  .eyebrow{letter-spacing:.13em;font-size:10.5px;}
}


/* --- FAQ ------------------------------------------------------------------
   Plain Q&A, deliberately not an accordion: collapsed answers are harder for
   crawlers and answer engines to treat as primary content, and this page is
   short enough not to need hiding. */
.faqlist{margin-top:34px;max-width:78ch;}
.faq-item{padding:22px 0;border-top:1px solid var(--line);}
.faq-item:first-child{border-top:1.5px solid var(--navy);}
.faq-item h3{font-size:17.5px;color:var(--navy);margin:0 0 9px;font-weight:700;line-height:1.35;}
.faq-item p{margin:0;color:var(--muted);font-size:16.5px;line-height:1.65;}
@media (max-width:640px){
  .faq-item h3{font-size:16.5px;}
  .faq-item p{font-size:16px;}
}
