/* WolfTRI design system — canonical tokens and overrides.
   Loaded LAST on every page. Changes CSS only; no copy.
   Selector note: `:not(#_)` adds ID-level specificity so these rules win
   over page-level `#id{…!important}` declarations without editing them. */

:root{
  /* palette — 9 values */
  --navy:#0F1426; --paper:#F6F0E4; --ivory:#EDE5D3; --card:#FCF8EF; --rule:#E0D6BF;
  --body:#3A3F4E; --muted:#5A6070; --brass:#6B5410; --brass-on-navy:#C49507;
  --on-navy:#F6F0E4; --on-navy-muted:rgba(246,240,228,.72);
  /* legacy aliases → canonical */
  --ink:#0F1426; --navy-ink:#0F1426; --navy-raised:#0F1426; --navy-2:#0F1426;
  --fine:#5A6070; --warm:#3A3F4E; --warm-2:#5A6070; --gold:#6B5410; --gold-deep:#6B5410; --brass-deep:#6B5410;
  --on-navy-fine:rgba(246,240,228,.72);
  --shadow-card:none; --shadow-raised:none;
  /* type — 8 steps */
  --serif:"Playfair Display",Georgia,serif; --sans:"Inter",system-ui,-apple-system,sans-serif; --mono:var(--sans);
  --t-display:clamp(34px,3.6vw,52px); --t-h2:clamp(26px,2.6vw,36px); --t-h3:22px; --t-lead:18px;
  --t-body:16px; --t-small:14px; --t-label:13px; --t-fine:13px;
  --h1:var(--t-display); --h2:var(--t-h2); --h3:var(--t-h3); --lede:var(--t-lead); --text:var(--t-body);
  --small:var(--t-small); --fine-size:var(--t-fine); --eyebrow-size:var(--t-label); --eyebrow-track:.14em;
  /* spacing — base 4 */
  --s-1:4px; --s-2:8px; --s-3:16px; --s-4:24px; --s-5:32px; --s-6:48px; --s-7:64px; --s-8:80px;
  --section-space:var(--s-6);
}

/* ---------- 1. Fonts ---------- */
.nav-mobile-toggle:not(#_){font-family:var(--sans)}



/* hero eyebrow labels above the H1: removed site-wide */
.eyebrow:has(+ h1):not(#_), .eyebrow:has(+ * + h1):not(#_), p.eyebrow:has(+ h1):not(#_), #hw-hero .eyebrow:not(#_), #ab-intro .eyebrow:not(#_), #dz-hero .eyebrow:not(#_), #g-hero .eyebrow:not(#_), #cat-hero .eyebrow:not(#_), #pe-hero .eyebrow:not(#_){display:none!important}
/* breadcrumbs: removed site-wide */
.crumb:not(#_), .dz-crumb:not(#_), .dx-crumb:not(#_), section[aria-label="Breadcrumb"]:not(#_), #dx-top:not(#_), #fs-top:not(#_){display:none!important}

.crumb:not(#_) > a:first-child, .dz-crumb:not(#_) > a:first-child, .dx-crumb:not(#_) > a:first-child, [class*="crumb"]:not(#_) > a:first-child[href$="index.html"], [class*="crumb"]:not(#_) > a:first-child[href="/"]{display:none!important}
.crumb:not(#_) > a:first-child + span, .dz-crumb:not(#_) > a:first-child + span, .dx-crumb:not(#_) > a:first-child + span, [class*="crumb"]:not(#_) > a:first-child + span{display:none!important}

/* ---------- 2. Type scale ---------- */
main h1:not(#_), #main-content h1:not(#_), body>section h1:not(#_), header h1:not(#_){
  font-family:var(--serif)!important;font-weight:400!important;font-size:var(--t-display)!important;
  line-height:1.08!important;letter-spacing:-.02em!important}
main h2:not(#_):not(#why-wolftri-h):not(#how-we-work-h), #main-content h2:not(#_):not(#why-wolftri-h):not(#how-we-work-h), body>section h2:not(#_):not(#why-wolftri-h):not(#how-we-work-h){
  font-family:var(--serif)!important;font-weight:400!important;font-size:var(--t-h2)!important;
  line-height:1.15!important;letter-spacing:-.01em!important;text-transform:none!important;
  margin:0 0 var(--s-3)!important}
main h3:not(#_), #main-content h3:not(#_), body>section h3:not(#_){
  font-family:var(--serif)!important;font-weight:400!important;font-size:var(--t-h3)!important;
  line-height:1.25!important;letter-spacing:-.005em!important;text-transform:none!important;
  margin:0 0 var(--s-2)!important}
/* index.html section H2s that act as eyebrows keep the label treatment */
#why-wolftri-h:not(#_):not(#__), #how-we-work-h:not(#_):not(#__){font-family:var(--sans)!important;font-size:var(--t-label)!important;font-weight:500!important;letter-spacing:.14em!important;text-transform:uppercase!important;line-height:1.4!important;color:var(--brass)!important}

/* lede */
.lead:not(#_):not(#__), .lede:not(#_):not(#__), p.lead:not(#_):not(#__), .hero-sub:not(#_):not(#__), .placement-lead:not(#_):not(#__){
  font-family:var(--sans)!important;font-size:var(--t-lead)!important;line-height:1.6!important;font-weight:400!important}

/* body copy, list items, table cells */
main p:not(#_), #main-content p:not(#_), body>section p:not(#_),
main li:not(#_), #main-content li:not(#_), body>section li:not(#_),
main td:not(#_), #main-content td:not(#_), body>section td:not(#_), .dx-block p:not(#_){
  font-size:var(--t-body);line-height:1.65;color:var(--body)}
/* explicit body override for pages that set smaller literals */
.econ-page main p:not(#_), .econ-page main li:not(#_), #dz-main p:not(#_), #dz-main li:not(#_),
.ma-sec p:not(#_), .ma-sec li:not(#_), #policy-explorer p:not(#_), #pe-closing p:not(#_), .why-cell p.copy:not(#_){
  font-size:var(--t-body)!important;line-height:1.65!important;color:var(--body)!important}

/* small: notes, captions, caveats */
.fine-print:not(#_):not(#__), .fine:not(#_):not(#__), .small:not(#_):not(#__), .sec-note:not(#_):not(#__), .wn-note:not(#_):not(#__), .ind-note:not(#_):not(#__),
.stats-note:not(#_):not(#__), .cl-source:not(#_):not(#__), .ec-note:not(#_):not(#__), .em-note:not(#_):not(#__), .em-scope:not(#_):not(#__), .guide-note:not(#_):not(#__),
.calc-disclaimer:not(#_):not(#__), .footnote:not(#_):not(#__), .cs-note:not(#_):not(#__), .fn-caveat:not(#_):not(#__), .why-note:not(#_):not(#__), .pr-note:not(#_):not(#__),
.ec-sources-body p:not(#_):not(#__), .ec-sources-body li:not(#_):not(#__), .pe-notice-date:not(#_):not(#__), .topic-footer:not(#_):not(#__), .isub-note:not(#_):not(#__), .isub-privacy:not(#_):not(#__), .isub-legal:not(#_):not(#__){
  font-family:var(--sans)!important;font-size:var(--t-small)!important;line-height:1.55!important;color:var(--muted)!important}
.ind-caveat:not(#_):not(#__), .hm-cap:not(#_):not(#__), footer .f-legal-line:not(#_):not(#__){font-size:var(--t-fine)!important;line-height:1.5!important}

/* labels: eyebrows, kickers, table heads, footer headings */
.eyebrow:not(#_):not(#__), .dx-k:not(#_):not(#__), .em-k:not(#_):not(#__), .st-k:not(#_):not(#__), .sx-label:not(#_):not(#__), .why-num:not(#_):not(#__), .hm-num:not(#_):not(#__),
.edu-k:not(#_):not(#__), .crumb:not(#_):not(#__), .dz-crumb:not(#_):not(#__), .playbook-label:not(#_):not(#__), .f-heading:not(#_):not(#__), th:not(#_):not(#__), .role:not(#_):not(#__){
  font-family:var(--sans)!important;font-size:var(--t-label)!important;font-weight:500!important;
  letter-spacing:.14em!important;text-transform:uppercase!important;line-height:1.4!important}
.eyebrow:not(#_):not(#__), .dx-k:not(#_):not(#__), .em-k:not(#_):not(#__), .st-k:not(#_):not(#__), .sx-label:not(#_):not(#__), .why-num:not(#_):not(#__), .edu-k:not(#_):not(#__), .playbook-label:not(#_):not(#__){color:var(--brass)!important}
.eyebrow .rule-top:not(#_), .rule-top:not(#_){background:var(--brass)!important;width:20px!important;height:1px!important}
/* stat numerals on rwi-cre keep their display size */
.hm-num:not(#_){font-family:var(--serif)!important;font-size:clamp(28px,2.6vw,36px)!important;letter-spacing:-.01em!important;text-transform:none!important;font-weight:400!important}

/* ---------- 3. Dark sections ---------- */
#home-hero:not(#_), #g-hero:not(#_), #cat-hero:not(#_), #dz-hero:not(#_), #pe-hero:not(#_), #cred-strip:not(#_), #placement:not(#_),
.ab-intro:not(#_), .hw-intro:not(#_), footer:not(#_){color:var(--on-navy)}
#home-hero :is(h1,h2,h3,p,li):not(#_), #g-hero :is(h1,h2,h3,p,li):not(#_), #cat-hero :is(h1,h2,h3,p,li):not(#_), #dz-hero :is(h1,h2,h3,p,li):not(#_),
#pe-hero :is(h1,h2,h3,p,li):not(#_), #cred-strip :is(h1,h2,h3,p,li):not(#_), #placement :is(h1,h2,h3,p,li):not(#_),
.ab-intro :is(h1,h2,h3,p,li):not(#_), .hw-intro :is(h1,h2,h3,p,li):not(#_){color:var(--on-navy)!important}
#home-hero :is(.lead,.lede,.hero-sub,.hero-proof,.fine-print,.small,.crumb,.hm-cap,.cs-note,.footnote,.fine,.stats-note):not(#_), #g-hero :is(.lead,.lede,.crumb,.fine-print):not(#_), #cat-hero :is(.lead,.lede,.crumb,.fine-print):not(#_),
#dz-hero :is(.lead,.lede,.dz-crumb,.fine-print):not(#_), #pe-hero :is(.lead,.lede,.crumb):not(#_), #cred-strip :is(.cs-note,.fine-print,.footnote,.fine,.small):not(#_), #placement :is(.fine-print,.small,.sec-note,.placement-lead,.footnote,.fine,.stats-note):not(#_),
.ab-intro :is(.lead,.lede,.crumb):not(#_), .hw-intro :is(.lead,.lede,.crumb):not(#_){color:var(--on-navy-muted)!important}
#home-hero :is(.eyebrow,.hm-num,.crumb a,.why-num):not(#_), #g-hero :is(.eyebrow,.crumb a):not(#_), #cat-hero :is(.eyebrow,.crumb a):not(#_), #dz-hero :is(.eyebrow,.dx-k,.dz-crumb a):not(#_),
#pe-hero :is(.eyebrow,.crumb a):not(#_), #cred-strip .eyebrow:not(#_), #placement :is(.eyebrow,.dx-k):not(#_), .ab-intro :is(.eyebrow,.crumb a):not(#_), .hw-intro :is(.eyebrow,.crumb a):not(#_),
#home-hero .rule-top:not(#_), #g-hero .rule-top:not(#_), #cat-hero .rule-top:not(#_), #dz-hero .rule-top:not(#_), #pe-hero .rule-top:not(#_), #placement .rule-top:not(#_), .ab-intro .rule-top:not(#_), .hw-intro .rule-top:not(#_){
  color:var(--brass-on-navy)!important;background-color:transparent}
#home-hero .rule-top:not(#_), #g-hero .rule-top:not(#_), #cat-hero .rule-top:not(#_), #dz-hero .rule-top:not(#_), #pe-hero .rule-top:not(#_), #placement .rule-top:not(#_), .ab-intro .rule-top:not(#_), .hw-intro .rule-top:not(#_){background:var(--brass-on-navy)!important}

/* #placement is navy on rwi-cre but ivory on rwi-ma — restore ink on the light version */
#placement.ivory:not(#_):not(#__){color:var(--body)}
#placement.ivory :is(h1,h2,h3):not(#_):not(#__){color:var(--navy)!important}
#placement.ivory :is(p,li):not(#_):not(#__){color:var(--body)!important}
#placement.ivory :is(.eyebrow,.dx-k):not(#_):not(#__){color:var(--brass)!important}
#placement.ivory .rule-top:not(#_):not(#__){background:var(--brass)!important}
#placement.ivory a:not(.btn):not(#_):not(#__){color:var(--brass)!important}
#placement.ivory a:not(.btn):not(#_):not(#__):hover{color:var(--navy)!important}
#placement.ivory li:not(#_):not(#__)::before{background:var(--brass)!important}

/* ---------- 4. Links ---------- */
main p a:not(.btn):not(#_), main li a:not(.btn):not(#_), main td a:not(#_), #main-content p a:not(.btn):not(#_), #main-content li a:not(.btn):not(#_), body>section p a:not(.btn):not(#_), body>section li a:not(.btn):not(#_), .dx-block a:not(.btn):not(#_){
  color:var(--brass)!important;font-weight:inherit!important;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:3px!important;text-decoration-color:rgba(107,84,16,.5)}
main p a:not(.btn):not(#_):hover, main li a:not(.btn):not(#_):hover, #main-content p a:not(.btn):not(#_):hover, body>section p a:not(.btn):not(#_):hover{color:var(--navy)!important;text-decoration-color:currentColor}
#home-hero a:not(.btn):not(#_), #g-hero a:not(.btn):not(#_), #cat-hero a:not(.btn):not(#_), #dz-hero a:not(.btn):not(#_), #pe-hero a:not(.btn):not(#_), #cred-strip a:not(.btn):not(#_), #placement a:not(.btn):not(#_), .ab-intro a:not(.btn):not(#_), .hw-intro a:not(.btn):not(#_){color:var(--brass-on-navy)!important}
#home-hero a:not(.btn):not(#_):hover, #placement a:not(.btn):not(#_):hover, #cred-strip a:not(.btn):not(#_):hover{color:var(--on-navy)!important}
.f-proof a:not(#_){text-decoration:none!important;font-weight:inherit!important;color:var(--brass-on-navy)!important}

/* ---------- 5. Buttons — one primary, one secondary, one arrow link ---------- */
/* Primary / secondary buttons: sentence case, body size, 48px tall. */
.btn:not(#_):not(#__), .rwic-btn:not(#_):not(#__), .btn-paper:not(#_):not(#__), .ct-email:not(#_):not(#__){
  font-family:var(--sans)!important;font-size:var(--t-body)!important;font-weight:500!important;letter-spacing:.01em!important;
  text-transform:none!important;border-radius:0!important;padding:13px 22px!important;min-height:48px;box-shadow:none!important;
  display:inline-flex;align-items:center;justify-content:center;gap:12px;line-height:1.3!important}
/* Arrow links: the single secondary text-link pattern. */
.why-link:not(#_):not(#__):not(#___), .ma-arrow:not(#_):not(#__):not(#___), .link-arrow:not(#_):not(#__):not(#___), a.text-link:not(#_):not(#__):not(#___), .rwic-link:not(#_):not(#__):not(#___), .link-paper:not(#_):not(#__):not(#___),
.pr-links a:not(#_):not(#__):not(#___), .guide-links a:not(#_):not(#__):not(#___), .ind-links a:not(#_):not(#__):not(#___), .st-link:not(#_):not(#__):not(#___), .ct-links a:not(#_):not(#__):not(#___), .recovery-links a:not(#_):not(#__):not(#___){
  font-family:var(--sans)!important;font-size:var(--t-body)!important;font-weight:500!important;letter-spacing:.01em!important;text-transform:none!important;
  text-decoration:none!important;color:var(--navy)!important;border-bottom:1px solid var(--brass)!important;padding:0 0 3px!important;
  background:none!important;display:inline-flex;align-items:center;gap:10px;line-height:1.4!important;width:auto!important;max-width:100%;align-self:flex-start;justify-self:start;white-space:nowrap}
.why-link:not(#_):not(#__):not(#___):hover, .ma-arrow:not(#_):not(#__):not(#___):hover, .link-arrow:not(#_):not(#__):not(#___):hover, a.text-link:not(#_):not(#__):not(#___):hover, .rwic-link:not(#_):not(#__):not(#___):hover,
.pr-links a:not(#_):not(#__):not(#___):hover, .guide-links a:not(#_):not(#__):not(#___):hover, .ind-links a:not(#_):not(#__):not(#___):hover, .st-link:not(#_):not(#__):not(#___):hover, .ct-links a:not(#_):not(#__):not(#___):hover, .recovery-links a:not(#_):not(#__):not(#___):hover{color:var(--brass)!important}
/* arrow links on navy */
:is(#home-hero,#placement:not(.ivory),.ma-hero,.ma-contact,.rwic-hero,.es-panel) :is(.why-link,.ma-arrow,.link-arrow,.text-link,.rwic-link):not(#_):not(#__), .link-paper:not(#_):not(#__):not(#___):not(#____){color:var(--on-navy)!important;border-bottom-color:var(--brass-on-navy)!important}
.link-paper:not(#_):not(#__):not(#___):not(#____):hover{color:var(--brass-on-navy)!important}
/* Keyboard focus: a solid 2px ring on every control; brass on light, gold on navy. */
:focus-visible:not(#_):not(#__){outline:2px solid var(--brass)!important;outline-offset:3px!important}
:is(#home-hero,.ma-hero,.ma-contact,.rwic-hero,.es-panel,.ct-panel,#home-band,footer,.nav-mobile,#g-hero,.ab-intro,.page-hero,#placement:not(.ivory),.cl-notice) :focus-visible:not(#_):not(#__){outline-color:var(--brass-on-navy)!important}

/* ---------- 6. Layout & rhythm ---------- */
.wrap:not(#_){max-width:1200px;padding-left:40px;padding-right:40px}
@media (max-width:960px){.wrap:not(#_){padding-left:32px!important;padding-right:32px!important}}
@media (max-width:560px){.wrap:not(#_){padding-left:24px!important;padding-right:24px!important}}
/* one section rhythm; heroes get a taller top */
main>section:not(#_):not([aria-label="Breadcrumb"]):not(.ma-sec), #main-content>section:not(#_):not([aria-label="Breadcrumb"]):not(.ma-sec), body>section:not(#_):not([aria-label="Breadcrumb"]):not(.ma-sec), main>header:not(#_){
  padding-top:var(--s-6)!important;padding-bottom:var(--s-6)!important}
#home-hero:not(#_), #g-hero:not(#_), #cat-hero:not(#_), #dz-hero:not(#_), #pe-hero:not(#_), .ab-intro:not(#_), .hw-intro:not(#_), header.page-hero:not(#_){padding-top:var(--s-7)!important;padding-bottom:var(--s-6)!important}
section[aria-label="Breadcrumb"]:not(#_), #dx-top:not(#_), #fs-top:not(#_){padding-top:var(--s-4)!important;padding-bottom:0!important}
@media (max-width:960px){
  main>section:not(#_):not([aria-label="Breadcrumb"]):not(.ma-sec), #main-content>section:not(#_):not([aria-label="Breadcrumb"]):not(.ma-sec), body>section:not(#_):not([aria-label="Breadcrumb"]):not(.ma-sec), main>header:not(#_){padding-top:40px!important;padding-bottom:40px!important}
  #home-hero:not(#_), #g-hero:not(#_), #cat-hero:not(#_), #dz-hero:not(#_), #pe-hero:not(#_), .ab-intro:not(#_), .hw-intro:not(#_), header.page-hero:not(#_){padding-top:40px!important;padding-bottom:40px!important}}
@media (max-width:560px){
  main>section:not(#_):not([aria-label="Breadcrumb"]):not(.ma-sec), #main-content>section:not(#_):not([aria-label="Breadcrumb"]):not(.ma-sec), body>section:not(#_):not([aria-label="Breadcrumb"]):not(.ma-sec), main>header:not(#_),
  #home-hero:not(#_), #g-hero:not(#_), #cat-hero:not(#_), #dz-hero:not(#_), #pe-hero:not(#_), .ab-intro:not(#_), .hw-intro:not(#_), header.page-hero:not(#_){padding-top:var(--s-5)!important;padding-bottom:var(--s-5)!important}}
footer:not(#_){padding-top:var(--s-5)!important;padding-bottom:var(--s-3)!important}
/* paragraph and list rhythm */
main p:not(#_), #main-content p:not(#_), body>section p:not(#_){margin-top:0}
main p+p:not(#_), #main-content p+p:not(#_), body>section p+p:not(#_), .dx-block p+p:not(#_){margin-top:var(--s-3)!important}
main li+li:not(#_), #main-content li+li:not(#_), body>section li+li:not(#_){margin-top:var(--s-2)}
/* measure */
main p:not(#_), #main-content p:not(#_), body>section p:not(#_), .dx-block p:not(#_), .dx-block li:not(#_), .legal-prose p:not(#_){max-width:72ch}
#dx-main .dx-grid:not(#_), #dz-main .dx-grid:not(#_), #ov-main .ov-inner:not(#_), .legal-prose:not(#_){max-width:72ch}

/* ---------- 7. Cards — one pattern ---------- */
.why-cell:not(#_), .st-card:not(#_), .ind-card:not(#_), #ab-team .card:not(#_), .playbook-card:not(#_), .wn-card:not(#_), .wf-row:not(#_), .rwic-card:not(#_), .ec-card:not(#_), .hw-roles>li:not(#_), .isub:not(#_) .isub-grid{
  background:var(--card)!important;border:1px solid var(--rule)!important;border-radius:0!important;box-shadow:none!important;padding:var(--s-5)!important}
.why-cell:not(#_){border-right:1px solid var(--rule)!important}
.wn-card:not(#_){border-top:1px solid var(--rule)!important}
.placement-card:not(#_){background:rgba(246,240,228,.04)!important;border:1px solid rgba(246,240,228,.14)!important;border-radius:0!important;padding:var(--s-4)!important;box-shadow:none!important}
/* dark-surface variant */
.hm-box:not(#_), .hero-deal-card:not(#_){background:rgba(246,240,228,.04)!important;border:1px solid rgba(246,240,228,.14)!important;border-radius:0!important;padding:var(--s-4)!important;box-shadow:none!important}
@media (max-width:768px){
  .why-cell:not(#_), .st-card:not(#_), .ind-card:not(#_), #ab-team .card:not(#_), .playbook-card:not(#_), .wn-card:not(#_), .wf-row:not(#_), .rwic-card:not(#_), .ec-card:not(#_), .hw-roles>li:not(#_){padding:var(--s-4)!important}}

/* ---------- 8. Lists — one bullet ---------- */
#main-content ul:not(.sec-index):not(.guide-links):not(.hw-roles):not(.creds):not(.isub-rows) > li:not(#_):not(:has(> a:only-child)),
body>section ul:not(.dx-nav) > li:not(#_):not(:has(> a:only-child)), .dx-block ul > li:not(#_){
  list-style:none!important;position:relative;padding-left:18px!important}
#main-content ul:not(.sec-index):not(.guide-links):not(.hw-roles):not(.creds):not(.isub-rows) > li:not(#_):not(:has(> a:only-child))::before,
body>section ul:not(.dx-nav) > li:not(#_):not(:has(> a:only-child))::before, .dx-block ul > li:not(#_)::before{
  content:""!important;position:absolute!important;left:0!important;top:.62em!important;width:5px!important;height:5px!important;background:var(--brass)!important;border-radius:0!important;transform:none!important}
#home-hero li:not(#_)::before, #placement li:not(#_)::before, #cred-strip li:not(#_)::before{background:var(--brass-on-navy)!important}
main ul:not(#_) > li::marker, body>section ul:not(#_) > li::marker{content:""}
/* numbered stage lists keep their numerals */
/* items that receive the square bullet lose any legacy left-border marker */
#ab-process ul.pr-list li:not(#_):not(#__){border-left:0!important}
#why-now .wn-reps li:not(#_):not(#__){border-left:1px solid var(--rule)!important}
#policy-explorer .pe-auth-list>li:not(#_):not(#__){border-left:1px solid var(--rule)!important}
.ma-stages > li:not(#_){list-style:none!important}
.ma-stages > li:not(#_)::before{display:none!important}

/* ---------- 9. Tables ---------- */
.dx-table:not(#_), main table:not(#_){width:100%;border-collapse:collapse;font-size:var(--t-body)}
.dx-table th:not(#_), main th:not(#_){background:var(--ivory)!important;color:var(--muted)!important;padding:12px 14px!important;text-align:left!important;border-bottom:1px solid var(--rule)!important}
.dx-table td:not(#_), main td:not(#_){padding:12px 14px!important;border-bottom:1px solid var(--rule)!important;font-size:var(--t-body)!important;color:var(--body)!important;line-height:1.55!important}

/* ---------- 10. Footer ---------- */
footer .f-heading:not(#_){color:var(--brass-on-navy)!important}
footer .f-proof a:not(#_){color:var(--brass-on-navy)!important;font-size:var(--t-small)!important}
footer .f-nav-group a:not(#_){color:var(--on-navy-muted)!important;font-size:var(--t-small)!important}
footer .f-nav-group a:not(#_):hover{color:var(--on-navy)!important}
footer .f-brand p:not(#_){color:var(--on-navy)!important;font-family:var(--sans)!important;font-size:var(--t-small)!important;line-height:1.55!important}
footer a:not(#_){text-decoration:none!important;border-bottom:0!important}
footer .f-proof a:not(#_){font-size:var(--t-small)!important;letter-spacing:.1em!important}
footer .f-legal-line:not(#_){color:var(--on-navy-muted)!important;font-size:var(--t-fine)!important;line-height:1.5!important}
footer .f-bottom:not(#_){border-top:1px solid rgba(246,240,228,.14)!important;margin-top:var(--s-5)!important;padding-top:var(--s-3)!important}
footer .f-bottom-top:not(#_), footer .f-legal:not(#_), footer .f-legal-line:not(#_){border-top:0!important;margin-top:0!important;padding-top:0!important}
footer .f-grid:not(#_){border-bottom:0!important;padding-bottom:0!important}

@media (max-width:760px){footer .f-nav-group:not(#_){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px 24px!important}footer .f-nav-group>div:nth-child(3):not(#_){grid-column:1/-1}}
/* ---------- 10b. RWI cost calculator — contrast pass ---------- */



.cl-notice:not(#_){color:var(--on-navy)}
.cl-notice .cl-notice-t:not(#_){color:#F2F6FA!important}
.cl-notice .cl-notice-s:not(#_){color:rgba(242,246,250,.82)!important}
#ab-team .card .role:not(#_):not(#__){font-size:13.5px!important;letter-spacing:.12em!important}
/* ---------- 11. Page-specific structural fixes (no copy) ---------- */
#policy-explorer h2:not(#_), #pe-main h2:not(#_), #policy-explorer h3:not(#_){color:var(--navy)!important}
/* about: keep portrait → name → role → bio → Education order on phones */
@media (max-width:720px){
  #ab-team .card:not(#_){display:grid!important;grid-template-columns:1fr!important}
  #ab-team .card .col-left:not(#_){display:contents!important}
  #ab-team .card .portrait:not(#_){order:1;justify-self:start}
  #ab-team .card > div:not(.col-left):not(#_){order:2}
  #ab-team .card .edu:not(#_){order:3;margin-top:0!important;padding-top:var(--s-3)!important;border-top:1px solid var(--rule)}
}
#how-we-work .hw-foot p:not(#_):not(#__){font-family:var(--sans)!important;font-size:var(--t-lead)!important;line-height:1.6!important;color:var(--body)!important;max-width:none!important}
#how-we-work .hw-label:not(#_):not(#__){font-size:var(--t-label)!important;line-height:1.4!important;min-height:calc(2 * 1.4em)!important;max-width:22ch!important;margin:0 auto 12px!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;text-align:center!important;text-wrap:balance}
#how-we-work .hw-step:not(#_):not(#__){align-items:center!important}
#how-we-work .hw-desc:not(#_):not(#__){font-size:var(--t-body)!important;line-height:1.6!important;max-width:34ch!important}
@media (max-width:720px){
  #home-hero .hdc-cta:not(#_):not(#__){padding-bottom:0!important;margin-bottom:0!important}
  #home-hero .hero-deal-card:not(#_):not(#__){padding:12px 16px!important;min-height:0!important}
  #home-hero .hero-actions .btn.hero-secondary:not(#_):not(#__){width:100%!important;max-width:100%!important;display:inline-flex!important;justify-content:center!important;align-items:center!important;padding:13px 22px!important;min-height:48px!important;border:1px solid rgba(246,240,228,.34)!important;border-bottom:1px solid rgba(246,240,228,.34)!important;background:transparent!important;color:#F6F0E4!important}
}
/* index why-cards: three cards, identical chrome; number, label, copy */
#why-wolftri .why-grid:not(#_){gap:var(--s-4)!important}
/* mobile nav CTA and accordion summaries reach 44px */
.nav-cta:not(#_){white-space:nowrap!important}
.nav-mobile-contact:not(#_){display:none!important}
@media (max-width:1100px){.nav-mobile-contact:not(#_), .mob-contact:not(#_){min-height:44px!important;display:inline-flex!important;align-items:center!important;white-space:nowrap!important}}
summary:not(#_){min-height:44px!important;display:flex!important;align-items:center!important}
.isub-check input:not(#_), .isub-pick input:not(#_){width:20px!important;height:20px!important;accent-color:var(--navy)}

/* ---------- 12. QA pass (23 Sep 2026): contrast, tap targets, label floor ---------- */
/* 2 · dark illustration/calculator panels: footnotes must read light on navy */
.es-panel:not(#_){color:var(--on-navy)}
.es-panel :is(p,li,span,dt,dd,strong):not(#_){color:var(--on-navy)!important}
.es-panel :is(.es-ex,.es-rate,.muted,.fine-print,.small,.es-note,.em-note,.footnote):not(#_):not(#__){color:var(--on-navy-muted)!important}
.rwic-hero :is(p,li,span,label):not(#_){color:var(--on-navy)!important}
.rwic-hero :is(.rwic-note,.rwic-help,.sub,.rwic-actnote,.rwic-explain,.rwic-disclaimer,.fine-print,.small):not(#_):not(#__){color:var(--on-navy-muted)!important}

/* 3 · sample policy: the all-topics control sits on the cream page, not the navy hero */
#policy-explorer button.pe-all-topics:not(#_):not(#__){border:1px solid var(--rule)!important;background:var(--card)!important;color:var(--navy)!important}
#policy-explorer button.pe-all-topics:not(#_):not(#__):hover, #policy-explorer button.pe-all-topics:not(#_):not(#__):focus-visible{background:var(--card)!important;border-color:var(--brass)!important;color:var(--brass)!important}

/* 8 · footer legal / copyright text reaches AA on navy, stays ≥12px */
footer .f-legal-line:not(#_):not(#__){color:rgba(246,240,228,.75)!important;font-size:var(--t-fine)!important}
footer .f-legal-line a:not(#_):not(#__){color:rgba(246,240,228,.9)!important;text-decoration:underline!important;text-underline-offset:2px!important}

/* 9 · footer tagline is plain, non-underlined text on every breakpoint */
footer .f-proof .f-proof-line:not(#_):not(#__){color:var(--brass-on-navy)!important;text-decoration:none!important;border-bottom:0!important}

/* 10 · sample policy hero link + navy topic footer contrast */
#pe-read-full:not(#_):not(#__), #pe-read-full .t:not(#_):not(#__), #pe-read-full .arrow:not(#_):not(#__){color:var(--brass-on-navy)!important}
footer.topic-footer:not(#_):not(#__), #policy-explorer .topic-footer:not(#_):not(#__){color:rgba(246,240,228,.8)!important}
footer.topic-footer a:not(#_):not(#__), #policy-explorer .topic-footer a:not(#_):not(#__){color:var(--brass-on-navy)!important}

/* 11 · no automatic hyphenation; compounds use U+2011 in copy */
html:not(#_), body:not(#_), main:not(#_){-webkit-hyphens:manual!important;hyphens:manual!important}

/* 12 · only the drawer's Contact Us shows while the mobile drawer is open */
@media (max-width:1100px){body.mob-menu-open .nav-mobile-contact:not(#_):not(#__){display:none!important}}

/* 13 · tap targets: footer navigation and About email links */
footer .f-nav-group a:not(#_):not(#__){display:inline-flex!important;align-items:center!important;min-height:24px!important}
#ab-team .card a.email:not(#_):not(#__){display:inline-flex!important;align-items:center!important;min-height:24px!important}
@media (max-width:760px), (pointer:coarse){
  footer .f-nav-group a:not(#_):not(#__){min-height:44px!important}
  footer .f-nav-group li+li:not(#_){margin-top:0!important}
  #ab-team .card a.email:not(#_):not(#__){min-height:44px!important}
  footer .f-brand>a:not(#_):not(#__){display:inline-flex!important;align-items:center!important;min-height:44px!important}
}

/* 14 · type floor: nothing below 13px (fine print), labels 13px, nav 14px */
.nav-links:not(#_):not(#__){gap:22px!important}
.nav-links>.drop>.drop-toggle:not(#_):not(#__), .nav-links>a:not(.nav-cta):not(#_):not(#__), .nav-cta:not(#_):not(#__), nav .drop-menu a:not(#_):not(#__){font-size:14px!important;letter-spacing:.01em!important;text-transform:none!important}
@media (max-width:1240px){.nav-links:not(#_):not(#__){gap:16px!important}.nav-links>.drop>.drop-toggle:not(#_):not(#__), .nav-links>a:not(.nav-cta):not(#_):not(#__){font-size:13.5px!important}}
footer .f-proof .f-proof-line:not(#_):not(#__){font-size:var(--t-label)!important;letter-spacing:.1em!important}
.eyebrow:not(#_):not(#__), .f-heading:not(#_):not(#__), .hero-sub:not(#_):not(#__){font-size:var(--t-label)!important}
.intake-field>span:not(#_):not(#__), .intake-form label:not(#_):not(#__), .isub-label:not(#_):not(#__),
.isub-field>span:not(#_):not(#__), .intake-req:not(#_):not(#__), .req-note:not(#_):not(#__), .intake-required:not(#_):not(#__){font-size:var(--t-label)!important}
/* 15 · About: headshots fill the card and centre on phones */
@media (max-width:720px){
  #ab-team .card .portrait:not(#_):not(#__){width:100%!important;max-width:360px!important;height:auto!important;aspect-ratio:212/254;margin:0 auto!important;justify-self:center!important}
}

/* Navigation labels in normal capitalization */
.nav-mobile-contact:not(#_){text-transform:none!important;letter-spacing:.01em!important;font-size:14px!important}

/* Scoped photograph pattern (about, contact, how-we-work) */
.wt-photo{margin:clamp(40px,5vw,64px) 0;padding:0}
.wt-photo picture,.wt-photo img{display:block;width:100%;height:auto;border-radius:0;box-shadow:none}
.wt-photo figcaption{font-family:var(--sans);font-size:13px;line-height:1.5;color:var(--navy-ink,#1c2a3f);opacity:.8;margin-top:10px}
#ct-main .wt-photo{margin:24px 0 0}
#ov-main .wt-photo{max-width:720px}
.cards>.wt-photo{margin:16px 0 0}
#ab-team .cards>p.team-next{width:100%!important;max-width:none!important;align-self:stretch}

/* ---------- 16. Mobile drawer ---------- */
/* Hierarchy: top-level rows in paper, sub-links muted; brass reserved for the open state. */
.nav-mobile .mob-acc-toggle:not(#_):not(#__), .nav-mobile .mob-acc-toggle span:not(#_):not(#__){color:var(--on-navy)!important;font-size:var(--t-body)!important;font-weight:500!important;text-transform:none!important;letter-spacing:.01em!important}
.nav-mobile .mob-contact:not(#_){margin-top:24px}
.nav-mobile .mob-acc.open .mob-acc-toggle:not(#_):not(#__){color:var(--brass-on-navy)!important}
.nav-mobile .mob-sub a:not(#_):not(#__){color:var(--on-navy-muted)!important;font-size:var(--t-body)!important;font-weight:400!important;text-transform:none!important;letter-spacing:.01em!important;padding-left:16px!important;min-height:44px!important;display:flex!important;align-items:center!important}
.nav-mobile .mob-item:not(#_):not(#__):hover, .nav-mobile .mob-sub a:not(#_):not(#__):hover{color:var(--brass-on-navy)!important}

/* ---------- 17. Guide pages (#g-hero / #g-inside) ---------- */
#g-hero .lead:not(#_):not(#__){margin-top:var(--s-3)!important}
#g-inside ul:not(#_){margin:var(--s-3) 0 0!important}
#g-inside ul > li:not(#_):not(#__){margin:0!important;padding-top:16px!important;padding-bottom:16px!important;padding-right:18px!important}
#g-inside .g-fine:not(#_):not(#__){margin-top:var(--s-3)!important}
#g-inside .g-links:not(#_):not(#__){display:flex;flex-wrap:wrap;gap:8px 32px;margin-top:var(--s-4)!important}
#g-inside .g-back:not(#_):not(#__){font-size:var(--t-body)!important;font-weight:500!important;padding:0!important;min-height:44px}

/* ---------- 18. Figures: lining, tabular numerals for money ---------- */
.rwic-limit-field:not(#_), .rwic .rwic-limit-field input:not(#_), .rwic-answer-v:not(#_), .rwic-total .tv:not(#_), .rwic-cmp-out .rv:not(#_),
.econ-page :is(.em-cv,.em-cv2,.em-dv,.es-big,.bv):not(#_), .rwic-row .val:not(#_), .hm-num:not(#_){
  font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1}
/* figures never break inside a number */
.rwic-nw:not(#_), .econ-page :is(.em-cv,.em-cv2,.em-dv,.es-big):not(#_), .rwic-row .val:not(#_){white-space:nowrap;overflow-wrap:normal!important;word-break:normal!important}
/* range sliders everywhere use the brass accent, never browser blue */
input[type=range]:not(#_){accent-color:var(--brass)}

/* ---------- 19. Long-form articles share the hero's left edge ---------- */
body.insight-article .article-shell:not(#_), body.insight-article .pdf-action:not(#_){margin-left:0!important;margin-right:auto!important}


/* ---------- 21. Type floor: no visible text below 13px ---------- */
.wt-lang-switcher-label:not(#_):not(#__), .wt-lang-switcher-note:not(#_):not(#__), .nav-mobile-toggle:not(#_):not(#__),
#dealTabs button:not(#_):not(#__), .rwic-lbl:not(#_):not(#__), .rwic-inline-edit label:not(#_):not(#__), .rwic-field > span:not(#_):not(#__),
.rwic .tl:not(#_):not(#__), .rwic .rl:not(#_):not(#__), .em-cl2:not(#_):not(#__), .es-pk:not(#_):not(#__), .carrier-chip:not(#_):not(#__),
.em-tbl .em-th > span:not(#_):not(#__), details > summary > span:not(#_):not(#__),
.ma-eyebrow:not(#_):not(#__):not(#___):not(#____), p.k:not(#_):not(#__), .pk:not(#_):not(#__), .ct-pk:not(#_):not(#__), .cl-num:not(#_):not(#__),
.hero-who strong:not(#_):not(#__), .cl-compare strong:not(#_):not(#__),
.isub-grid legend:not(#_):not(#__), .isub-l:not(#_):not(#__), .isub-req:not(#_):not(#__),
.sol-card .k:not(#_):not(#__):not(#___), .econ-dealsel > span:not(#_):not(#__), .byline.who:not(#_):not(#__), .th-num:not(#_):not(#__),
#dz-jump a:not(#_):not(#__), .dz-num:not(#_):not(#__), .tag:not(#_):not(#__),
.pe-reel-count:not(#_):not(#__), .pe-reel-ref:not(#_):not(#__), .page-label:not(#_):not(#__), .pe-auth-kind:not(#_):not(#__),
.pe-research-body h4:not(#_):not(#__), aside.watch > span:not(#_):not(#__), .wording-page-heading span:not(#_):not(#__), .wording-label:not(#_):not(#__), .reader-page:not(#_):not(#__), #dz-top:not(#_):not(#__){
  font-size:13px!important}

/* ---------- 22. Home why-cards: link always sits clear of the copy ---------- */
#why-wolftri .why-link:not(#_):not(#__):not(#___){margin-top:auto!important}
#why-wolftri .why-cell > *:nth-last-child(2):not(#_):not(#__){margin-bottom:var(--s-4)!important}

/* ---------- 23. Calculator on phones: one level of inset, tidy actions ---------- */
@media (max-width:560px){
  .rwic-card:not(#_):not(#__){padding:0!important}
  .rwic-hero:not(#_){padding:24px 20px 28px!important}
  .rwic-card .body:not(#_):not(#__){padding-left:20px!important;padding-right:20px!important}
  .rwic-answer-v:not(#_):not(#__){font-size:clamp(28px,8.4vw,36px)!important;line-height:1.12!important}
  .rwic-actions:not(#_):not(#__){gap:12px 20px!important}
  .rwic-actions .rwic-btn--primary:not(#_):not(#__){flex:1 0 100%}
  .rwic-actions .rwic-link:not(#_):not(#__):not(#___){min-height:44px}
}

/* ---------- 24. In-page jumps clear the sticky header ---------- */
html:not(#_){scroll-padding-top:100px}
@media (max-width:1100px){html:not(#_){scroll-padding-top:96px}}
/* one offset for every jump target (older per-section scroll-margins would double it) */
[id]:not(#_):not(#__){scroll-margin-top:0!important}

/* ---------- 25. Touch: every tappable control gets a 44px hit area ---------- */
/* The visible underline stays put; an invisible extension grows the tap area. */
@media (pointer:coarse){
  :is(.why-link,.ma-arrow,.link-arrow,.text-link,.link-paper,.open-link,.hb-link,.g-back,.isub-pick-read,#policy-explorer li.pe-auth>a,#policy-explorer .pe-source-list a,#policy-explorer .topic-footer a):not(#_):not(#__){position:relative}
  :is(.why-link,.ma-arrow,.link-arrow,.text-link,.link-paper,.open-link,.hb-link,.g-back,.isub-pick-read,#policy-explorer li.pe-auth>a,#policy-explorer .pe-source-list a,#policy-explorer .topic-footer a):not(#_):not(#__)::after{content:"";position:absolute;left:-4px;right:-4px;top:50%;height:44px;transform:translateY(-50%)}
  /* contact links set in running text: home people/contact, contact page, solutions contact band */
  :is(#home-people .hp-mail,#home-start .hst-row a,.ct-row a,.ma-contact dd a):not(#_):not(#__){position:relative}
  :is(#home-people .hp-mail,#home-start .hst-row a,.ct-row a,.ma-contact dd a):not(#_):not(#__)::after{content:"";position:absolute;left:-4px;right:-4px;top:50%;height:44px;transform:translateY(-50%)}
  :is(.rwic-inline-edit input,.rwic-inline-edit select,.rwic-field input,#pe-tab-explain,#pe-tab-source,#pe-all-topics,.isub-pick):not(#_):not(#__){min-height:44px!important}
  #calcReset:not(#_):not(#__){min-width:44px!important;justify-content:center}
  /* contact page: when the WhatsApp and phone links wrap onto two lines, space them so each keeps a full 44px target */
  #ct-main .ct-row-phone:not(#_):not(#__){row-gap:20px}
  #home-hero .hero-proof .proof-line:not(#_):not(#__){padding-top:6px;padding-bottom:6px}
  #home-hero .hero-proof .proof-line+.proof-line:not(#_):not(#__){margin-top:0!important}
  #home-hero .hero-proof .proof-line:not(#_):not(#__)::before{top:calc(6px + .62em)}
  #dz-jump a:not(#_):not(#__){min-height:44px;display:inline-flex;align-items:center}
  .wt-lang-switcher-select:not(#_):not(#__){min-height:44px}
  .isub-check input:not(#_), .isub-pick input:not(#_){width:24px!important;height:24px!important}
}

/* ---------- 26. Insights request form on phones: one box, not three ---------- */
@media (max-width:560px){
  .isub:not(#_) .isub-grid:not(#__){border-left:0!important;border-right:0!important;padding-left:24px!important;padding-right:24px!important}
  .isub-grid form:not(#_):not(#__){border:0!important;padding:0!important;background:transparent!important}
}

/* ---------- 27. Policy explorer: source links read left to right; notice box has even padding ---------- */
#policy-explorer .source-link:not(#_):not(#__){text-align:left!important}
footer.topic-footer:not(#_):not(#__), #policy-explorer .topic-footer:not(#_):not(#__){padding:16px 20px!important}

/* ---------- 28. Link lists (title + description): only the title is underlined ---------- */
.gd-list a:not(#_):not(#__):not(#___), .gd-list a span:not(#_):not(#__):not(#___){text-decoration:none!important}
.gd-list a:not(#_):not(#__):not(#___){display:grid;gap:4px;color:var(--navy)!important}
.gd-list a .t:not(#_):not(#__){justify-self:start;font-weight:600;border-bottom:1px solid var(--brass)}
.gd-list a .d:not(#_):not(#__){color:var(--body)}
.gd-list a:not(#_):not(#__):not(#___):hover .t{color:var(--brass)}

/* ---------- 29. Menus: Escape / mouse-away can close a keyboard-opened dropdown; drawer shows the current page ---------- */
.drop.dismissed:not(#_) .drop-menu{display:none!important}
.nav-mobile a[aria-current]:not(#_):not(#__){color:var(--brass-on-navy)!important}
.nav-mobile a.mob-item[aria-current]:not(#_):not(#__){box-shadow:inset 3px 0 0 var(--brass-on-navy);padding-left:14px!important}
/* the drawer's Contact Us is a cream button: keep navy text, mark it with a brass rule */
.nav-mobile a.mob-contact[aria-current]:not(#_):not(#__){color:var(--navy)!important;box-shadow:inset 0 -3px 0 var(--brass)}

/* 2026-09-28 fixes: global anchor offset below the 84px sticky header */
html{scroll-padding-top:100px}
/* License table: stacked label/value rows on phones */
@media (max-width:599px){
  .dx-table-wrap{overflow-x:visible!important}
  table.dx-table,table.dx-table tbody,table.dx-table tr,table.dx-table td{display:block;width:100%}
  table.dx-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  table.dx-table td{display:flex!important;justify-content:space-between;gap:12px;flex-wrap:wrap}
  table.dx-table td[data-label]::before{content:attr(data-label);font-family:var(--mono);font-size:var(--t-label);letter-spacing:.08em;text-transform:uppercase;color:var(--warm);flex:1 1 12em}
}
/* 2026-09-28 UX review batch 2 */
@media (max-width:1024px){input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}}
#home-hero .hero-proof .proof-line a:not(#_){display:inline-flex;align-items:center;min-height:24px}
html.mob-menu-open{overflow:hidden}
#main-content #g-inside li:not(#_):not(#__){position:relative;padding-left:36px!important}
#main-content #g-inside li:not(#_):not(#__)::before{left:18px!important;top:50%!important;transform:translateY(-50%)!important}

/* ---------- 30. Pre-launch fixes (28 Sep 2026) ---------- */
/* header logo keeps its proportions when the bar is tight (320-360px phones) */
nav.top .brand img:not(#_){object-fit:contain;object-position:left center}
/* library request form: the selection count sits clear of the last guide */
.isub .isub-count:not(#_):not(#__){margin-top:12px}
/* arrow links on guide pages, the M&A hub and the sample policy use the one arrow-link style */
:is(.g-back,.open-link,.pe-next a):not(#_):not(#__):not(#___){color:var(--navy)!important;text-decoration:none!important;font-size:var(--t-body)!important;font-weight:500!important}
:is(.g-back,.open-link,.pe-next a):not(#_):not(#__):not(#___):hover{color:var(--brass)!important}
/* 320px phones: footer column headings stay on one line so the link columns align */
@media (max-width:359px){footer .f-heading:not(#_):not(#__){white-space:nowrap}}
