/* Older division headers receive the current shared navigation and masthead. */
body:has([data-wb-corporate-nav]) .wbc-legacy-shell{background:#1B2A4A;color:#fff;padding:18px clamp(18px,3vw,40px)}
body:has([data-wb-corporate-nav]) .wbc-brand-row{max-width:1120px;margin:0 auto 16px;display:flex;align-items:center;justify-content:space-between;gap:18px}
body:has([data-wb-corporate-nav]) .wbc-brand-row img{display:block;object-fit:contain;width:175px;height:38px}
body:has([data-wb-corporate-nav]) .wbc-header-contact{text-align:right;font-size:13px;line-height:1.7}
body:has([data-wb-corporate-nav]) .wbc-header-contact a{color:inherit;font-weight:700}
@media(max-width:600px){
  body:has([data-wb-corporate-nav]) .wbc-brand-row{align-items:flex-start;flex-direction:column;gap:10px}
  body:has([data-wb-corporate-nav]) .wbc-header-contact{text-align:left}
}
/* ============================================================
   wb-public-theme.css - shared public brand consolidation.
   Established identity (from page :root blocks): navy #1B2A4A,
   copper/orange #D4842A, slate #2D3748, paper #F8F6F2,
   rule #DDD8CE. Display: "DM Serif Display"; text: "DM Sans".

   Scope: every rule sits under body:has([data-wb-corporate-nav])
   so embedded reports, maps, portal and admin are untouched.
   Policy: typography, rhythm, gutters, buttons and form controls
   only. No hero/band background or text colors, no overflow
   clipping, no animation, no layout or order changes.
   Excluded: .wbc-nav, .vhero/.vhero-blog/.vband/.vid, .hero,
   .lhero, .wbi-hero, .pband/.pcap, tables, iframes, grids
   (.wbr-grid, .cards, .layout, .rail sidebar internals).
   ============================================================ */

body:has([data-wb-corporate-nav]){
  --wbt-navy:#1B2A4A;
  --wbt-copper:#D4842A;
  --wbt-copper-ink:#A9661B; /* AA on paper for small text/focus */
  --wbt-ink:#2D2D2D;
  --wbt-rule:#DDD8CE;
  --wbt-serif:"DM Serif Display",Georgia,serif;
  --wbt-sans:"DM Sans",Arial,sans-serif;
  font-family:var(--wbt-sans);
  font-size:15px;
  line-height:1.75;
  -webkit-text-size-adjust:100%;
  text-rendering:optimizeLegibility;
}

/* ---- 1. Body copy rhythm on light reading surfaces ----
   Blog (.wrap.post), service (.wbi-prose), lender/hub (.sec),
   repositioned content (.wbr-content). Size/spacing only. */
body:has([data-wb-corporate-nav]) :is(.wrap.post,.wbi-prose,.wbr-content,.sec .in,.rel) :is(p,li){
  font-family:var(--wbt-sans);
  font-size:15px;
  line-height:1.75;
  max-width:78ch;
}
body:has([data-wb-corporate-nav]) :is(.wrap.post,.wbi-prose,.wbr-content) p{margin:0 0 14px;}
body:has([data-wb-corporate-nav]) :is(.wrap.post,.wbi-prose,.wbr-content) li{margin:0 0 8px;}
/* Centered lender intro keeps its own auto margins. */
body:has([data-wb-corporate-nav]) .wbr-lender .wbr-section>p{margin-left:auto;margin-right:auto;}

/* ---- 2. Heading scale (light content areas only) ----
   Colors are set only inside proven light containers; dark bands
   (.cta, .hero, .wbi-band, .wbi-foot) inherit their own colors. */
body:has([data-wb-corporate-nav]) :is(.wrap.post,.wbi-prose,.wbr-section,.sec) h2,
body:has([data-wb-corporate-nav]) .wbi-h2{
  font-family:var(--wbt-serif);
  font-weight:400;
  font-size:clamp(22px,2.4vw,28px);
  line-height:1.28;
  letter-spacing:0;
  margin-top:30px;
  margin-bottom:12px;
}
body:has([data-wb-corporate-nav]) :is(.wrap.post,.wbi-prose,.wbr-section) h2{color:var(--wbt-navy);}
body:has([data-wb-corporate-nav]) :is(.wrap.post,.wbi-prose,.wbr-section,.sec) h3{
  font-family:var(--wbt-sans);
  font-weight:700;
  font-size:17px;
  line-height:1.4;
  margin-top:22px;
  margin-bottom:8px;
}
/* Hero H1 sizing unified; color left to each hero (dark or media). */
body:has([data-wb-corporate-nav]) :is(.hero h1,.lhero h1,.wbi-h1,.wbr-advisory>h1){
  font-family:var(--wbt-serif);
  font-weight:400;
  font-size:clamp(28px,4vw,42px);
  line-height:1.2;
  letter-spacing:0;
}
/* Eyebrows / kickers: one treatment, hue inherited from page. */
body:has([data-wb-corporate-nav]) :is(.hero .sl,.eyebrow,.kicker,.wbi-k,.wbr-kicker,.wbx-eye){
  font-family:var(--wbt-sans);
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
/* Ledes */
body:has([data-wb-corporate-nav]) :is(.lede,.wbi-lede,.wbr-lead){
  font-size:clamp(16px,1.6vw,18px);
  line-height:1.65;
  max-width:62ch;
}

/* ---- 3. Links inside reading copy ---- */
body:has([data-wb-corporate-nav]) :is(.wrap.post,.wbi-prose,.wbr-content) p a{
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

/* ---- 4. Readable container gutters ----
   Normalize horizontal padding only; max-widths stay per page. */
body:has([data-wb-corporate-nav]) :is(.wrap,.rel,.cta .in,.wbi-in,.wbr-content,.lhero-in,.lsub-in){
  padding-left:clamp(18px,3vw,26px);
  padding-right:clamp(18px,3vw,26px);
}

/* ---- 5. Buttons: one shape, weight and hit area ----
   Fills/colors untouched (wb-gloss.css sheen still applies). */
body:has([data-wb-corporate-nav]) :is(.btn,.btn-p,.btn-orange,.cta a.btn,.wbi-btn,.wbr-action,.navcta,.cta-end a){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:11px 20px;
  border-radius:4px;
  font-family:var(--wbt-sans);
  font-size:14px;
  font-weight:600;
  line-height:1.4;
  letter-spacing:.01em;
  text-decoration:none;
  max-width:100%;
  white-space:normal;
  text-align:center;
}
/* Old header CTA keeps compact height in the legacy .top bar. */
body:has([data-wb-corporate-nav]) .top nav a.navcta{min-height:0;padding:8px 13px;font-size:12.5px;}
body:has([data-wb-corporate-nav]) :is(.btn,.btn-p,.btn-orange,.wbi-btn,.wbr-action,.navcta,.cta a):focus-visible{
  outline:2px solid var(--wbt-copper-ink);
  outline-offset:3px;
}

/* ---- 6. Form controls (public forms only) ---- */
body:has([data-wb-corporate-nav]) form :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]),select,textarea){
  font-family:var(--wbt-sans);
  font-size:16px; /* prevents iOS zoom */
  line-height:1.45;
  min-height:44px;
  padding:10px 12px;
  color:var(--wbt-ink);
  background-color:#FFFDF9;
  border:1px solid #C9C3B6;
  border-radius:4px;
  max-width:100%;
  box-sizing:border-box;
}
body:has([data-wb-corporate-nav]) form textarea{min-height:120px;}
body:has([data-wb-corporate-nav]) form :is(input,select,textarea):focus-visible{
  outline:2px solid var(--wbt-copper-ink);
  outline-offset:1px;
  border-color:var(--wbt-navy);
}
body:has([data-wb-corporate-nav]) form label{font-family:var(--wbt-sans);font-size:13px;font-weight:600;line-height:1.5;}
body:has([data-wb-corporate-nav]) form :is(button[type=submit],input[type=submit]){
  min-height:44px;
  padding:11px 22px;
  border-radius:4px;
  font-family:var(--wbt-sans);
  font-size:14px;
  font-weight:600;
  cursor:pointer;
}

/* ---- 7. Explicit protections ----
   Restore inherited values where the generic rules above could reach.
   Tables, embeds, sidebar and nav keep page-authored styling. */
body:has([data-wb-corporate-nav]) :is(table,.wbi-table,.ctable,.dtbl) :is(p,li,h2,h3){max-width:none;margin:revert-layer;}
body:has([data-wb-corporate-nav]) :is(.rail,.railwrap,.related) :is(p,li){max-width:none;}
body:has([data-wb-corporate-nav]) .wbc-nav :is(a,summary,p,li){max-width:none;}

/* ---- 8. Phone ---- */
@media (max-width:680px){
  body:has([data-wb-corporate-nav]) :is(.wrap.post,.wbi-prose,.wbr-content,.sec .in) :is(p,li){font-size:16px;line-height:1.7;}
  body:has([data-wb-corporate-nav]) :is(.wrap.post,.wbi-prose,.wbr-section,.sec) h2,
  body:has([data-wb-corporate-nav]) .wbi-h2{font-size:22px;margin-top:24px;}
  body:has([data-wb-corporate-nav]) :is(.btn,.btn-p,.btn-orange,.cta a.btn,.wbi-btn,.wbr-action){white-space:normal;}
}
