/*
 * R² Advisors — Global chrome: skip link, header and footer (r2-global-chrome.css)
 * GIR-03 (2026-10-19). Generated from the GIR-02 plugin stylesheet by build_css.py; rule order preserved.
 * Requires r2-tokens.css. Every selector is scoped to .skip-link, .hdr, .r2-menu or .ft (or is the header-driven html scroll offset). Menu layout: r2-global-menu.css.
 */
:is(.skip-link, .hdr, .r2-menu, .ft):not(#r2gc-isolate), :is(.hdr, .r2-menu, .ft) :where(*, ::before, ::after):not(#r2gc-isolate) { box-sizing: border-box; margin: 0; padding: 0; border: 0 solid; }
:is(.skip-link, .hdr, .r2-menu, .ft):not(#r2gc-isolate) { font-family: var(--r2-chrome-font-body); font-weight: var(--r2-weight-body); font-style: normal; font-size: 1.0625rem; line-height: 1.65; letter-spacing: .004em; color: var(--r2-ink); font-synthesis: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; tab-size: 4; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; text-rendering: optimizeLegibility; }
:is(.hdr, .r2-menu, .ft) :where(h1, h2, h3, h4, h5, h6):not(#r2gc-isolate) { font-size: inherit; font-weight: inherit; }
:is(.hdr, .r2-menu, .ft) :where(h1, h2, h3):not(#r2gc-isolate) { font-family: var(--r2-chrome-font-display); font-weight: var(--r2-weight-display); }
:is(.skip-link, .hdr, .r2-menu, .ft) :where(a):not(#r2gc-isolate), a.skip-link:not(#r2gc-isolate) { color: inherit; text-decoration: inherit; }
:is(.hdr, .r2-menu, .ft) :where(a, button, li, ul, ol, p, span, h1, h2, h3, h4, h5, h6, address, nav, div, section):not(#r2gc-isolate) { font: inherit; line-height: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit; }   /* GIR-07 (G1): inherited typography and colour are pinned, not left to host element rules */
:is(.hdr, .r2-menu, .ft) :where(ol, ul, menu):not(#r2gc-isolate) { list-style: none; }
:is(.hdr, .r2-menu, .ft) :where(img, svg):not(#r2gc-isolate) { display: block; vertical-align: middle; }
:is(.hdr, .r2-menu, .ft) :where(img):not(#r2gc-isolate) { max-width: 100%; height: auto; }
:is(.hdr, .r2-menu, .ft) :where(button):not(#r2gc-isolate) { font: inherit; letter-spacing: inherit; color: inherit; border-radius: 0; background-color: transparent; opacity: 1; appearance: button; }
:is(.hdr, .r2-menu, .ft) :where(button):not(#r2gc-isolate) { text-transform: none; box-shadow: none; text-shadow: none; }   /* GIR-07 (G1): host button styling cannot reach the chrome */
:is(.hdr, .r2-menu, .ft) :where(address):not(#r2gc-isolate) { font-style: normal; }
:is(.hdr, .r2-menu, .ft) :where(sup):not(#r2gc-isolate) { position: relative; top: -.5em; font-size: .5em; line-height: 0; vertical-align: baseline; }
:is(.skip-link, .hdr, .r2-menu, .ft) :where(:focus-visible):not(#r2gc-isolate), :is(.skip-link, .hdr, .r2-menu, .ft):focus-visible:not(#r2gc-isolate) { outline: 2px solid currentColor; outline-offset: 4px; }
html { scroll-padding-top: calc(var(--r2-chrome-header-height) + 16px); }
@media (prefers-reduced-motion: reduce) {
  :is(.hdr, .r2-menu, .ft):not(#r2gc-isolate), :is(.hdr, .r2-menu, .ft) :where(*, ::before, ::after):not(#r2gc-isolate) { transition: none !important; animation: none !important; }
}
:where(.hdr, .r2-menu, .ft) .sr-only:not(#r2gc-isolate) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link:not(#r2gc-isolate) { position: fixed; top: -100px; left: 16px; z-index: 100; padding: 12px 18px; background: var(--r2-paper); color: var(--r2-navy); font: var(--r2-weight-functional) .9375rem/1 var(--r2-chrome-font-functional); letter-spacing: .015em; text-decoration: none; }
.skip-link:focus:not(#r2gc-isolate) { top: 16px; }
a.skip-link:not(#r2gc-isolate) { color: var(--r2-body); }
:where(.hdr, .r2-menu, .ft) .wrap:not(#r2gc-isolate) { width: 100%; max-width: calc(var(--r2-chrome-frame) + 2 * var(--r2-chrome-pad)); margin: 0 auto; padding: 0 var(--r2-chrome-pad); }
:where(.hdr, .r2-menu, .ft) .meta:not(#r2gc-isolate) { margin: 0 0 14px; font: var(--r2-weight-functional) .8125rem/1.3 var(--r2-chrome-font-functional); letter-spacing: .07em; color: var(--r2-label); }
.ft-tagline:not(#r2gc-isolate) { text-wrap: balance; }
:where(.r2-menu) .button:not(#r2gc-isolate) { display: inline-flex; align-items: center; gap: 12px; min-height: 48px; padding: 0 24px; border-radius: 1px; border: 1px solid var(--r2-paper); background: var(--r2-paper); color: var(--r2-navy); font: var(--r2-weight-functional) .9375rem/1 var(--r2-chrome-font-functional); letter-spacing: .015em; text-decoration: none; transition: background-color .2s, border-color .2s; }
:where(.r2-menu) .button:hover:not(#r2gc-isolate) { background: rgba(246, 241, 234, .86); border-color: rgba(246, 241, 234, .86); }
:where(.r2-menu) .button .arr:not(#r2gc-isolate) { transition: transform .2s var(--r2-ease); }
:where(.r2-menu) .button:hover .arr:not(#r2gc-isolate) { transform: translateX(3px); }
.hdr:not(#r2gc-isolate) { position: sticky; top: 0; z-index: 50; background: var(--r2-navy); color: var(--r2-on-dark); }
.hdr:not(#r2gc-isolate)::after { content: none; }   /* GIR-12 (owner, 2026-10-22 17:45 ET): no header line on any page; content: none outranks any page or host .hdr::after */
.hdr:not(#r2gc-isolate) { padding-top: env(safe-area-inset-top, 0px); }   /* GIR-06: clear the notch/status bar (viewport-fit=cover) */
:where(.hdr, .r2-menu, .ft) .wrap:not(#r2gc-isolate) { padding-left: max(var(--r2-chrome-pad), env(safe-area-inset-left, 0px)); padding-right: max(var(--r2-chrome-pad), env(safe-area-inset-right, 0px)); }   /* GIR-06: landscape notch */
.hdr-row:not(#r2gc-isolate) { height: var(--r2-chrome-header-height); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.hdr-actions:not(#r2gc-isolate) { display: flex; align-items: center; gap: clamp(20px, 3vw, 40px); }
.hdr-cta:not(#r2gc-isolate) { font: var(--r2-weight-functional) .9375rem/1 var(--r2-chrome-font-functional); letter-spacing: .015em; text-decoration: none; padding-bottom: 5px; border-bottom: 1px solid rgba(246, 241, 234, .5); }
.hdr-cta:hover:not(#r2gc-isolate) { border-bottom-color: var(--r2-paper); }
.menu-btn:not(#r2gc-isolate) { appearance: none; border: 0; background: none; color: inherit; cursor: pointer; padding: 0; display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font: var(--r2-weight-functional) 1rem/1.2 var(--r2-chrome-font-functional); letter-spacing: .01em; }
.menu-bars:not(#r2gc-isolate) { display: grid; gap: 5px; width: 20px; }
.menu-bars i:not(#r2gc-isolate) { display: block; height: 1px; background: currentColor; }
.ft:not(#r2gc-isolate) { background: var(--r2-paper); color: var(--r2-ink); border-top: 1px solid var(--r2-rule); }
.ft-sublabel:not(#r2gc-isolate) { margin: 16px 0 6px; font: var(--r2-weight-functional) .8125rem/1.3 var(--r2-chrome-font-functional); letter-spacing: .04em; color: var(--r2-label); }
.ft a:not(#r2gc-isolate) { text-decoration: none; }
.ft-masthead:not(#r2gc-isolate) { padding: clamp(56px, 7vw, 88px) 0 clamp(40px, 5vw, 56px); border-bottom: 1px solid var(--r2-rule); }
.ft-tagline:not(#r2gc-isolate) { margin: 18px 0 0; font: var(--r2-weight-display) clamp(44px, 6vw, 72px)/1.04 var(--r2-chrome-font-display); letter-spacing: -.018em; }
.ft-position:not(#r2gc-isolate) { margin: 16px 0 0; max-width: 36rem; color: var(--r2-body); }
.ft-grid:not(#r2gc-isolate) { display: grid; grid-template-columns: 1.3fr 1.3fr 1fr 1fr; gap: 40px clamp(32px, 4vw, 56px); padding: clamp(40px, 5vw, 56px) 0; border-bottom: 1px solid var(--r2-rule); }
.ft-list:not(#r2gc-isolate) { list-style: none; margin: 0; padding: 0; }
.ft-list a:not(#r2gc-isolate), .ft-address a:not(#r2gc-isolate) { display: inline-flex; align-items: center; min-height: 36px; font: var(--r2-weight-functional) 1rem/1.4 var(--r2-chrome-font-functional); letter-spacing: .01em; color: var(--r2-body); }
.ft-list a:hover:not(#r2gc-isolate), .ft-address a:hover:not(#r2gc-isolate), .ft-geo a:hover:not(#r2gc-isolate), .ft-inline a:hover:not(#r2gc-isolate) { color: var(--r2-oxblood); }
.ft-address:not(#r2gc-isolate) { display: flex; flex-direction: column; align-items: flex-start; }
.ft-address a:not(#r2gc-isolate) { line-height: 1.5; padding: 4px 0; }
.ft-entity-name:not(#r2gc-isolate) { font: var(--r2-weight-functional) 1rem/1.4 var(--r2-chrome-font-functional); margin-bottom: 4px; }
.ft-reach:not(#r2gc-isolate) { padding: clamp(28px, 3.5vw, 40px) 0; border-bottom: 1px solid var(--r2-rule); }
.ft-reach p:not(#r2gc-isolate) { margin: 0 0 12px; color: var(--r2-body); }
.ft-geo:not(#r2gc-isolate) { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 28px; }
.ft-geo li:not(#r2gc-isolate), .ft-geo a:not(#r2gc-isolate) { font: var(--r2-weight-functional) 1rem/1.4 var(--r2-chrome-font-functional); color: var(--r2-body); }
.ft-entity:not(#r2gc-isolate) { margin: 0; padding: clamp(24px, 3vw, 32px) 0; max-width: 48rem; font-size: 1.0625rem; line-height: 1.65; color: var(--r2-body); }
.ft-bottom:not(#r2gc-isolate) { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px; padding: 22px 0 28px; font: var(--r2-weight-functional) .875rem/1.4 var(--r2-chrome-font-functional); color: var(--r2-label); border-top: 1px solid var(--r2-rule); }
.ft-bottom p:not(#r2gc-isolate) { margin: 0; }
.ft-bottom:not(#r2gc-isolate) { padding-bottom: calc(28px + env(safe-area-inset-bottom, 0px)); }   /* GIR-06: home indicator */
.skip-link:focus:not(#r2gc-isolate) { top: calc(16px + env(safe-area-inset-top, 0px)); }   /* GIR-06 */
.ft-inline:not(#r2gc-isolate) { display: flex; flex-wrap: wrap; gap: 4px 22px; }
.ft-inline a:not(#r2gc-isolate) { color: var(--r2-label); }
.ft-social:not(#r2gc-isolate) { margin-left: auto; }
@media (max-width: 1024px) {
  .ft-grid:not(#r2gc-isolate) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .ft-social:not(#r2gc-isolate) { margin-left: 0; }
}
@media (max-width: 640px) {
  .ft-grid:not(#r2gc-isolate) { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .hdr-cta:not(#r2gc-isolate) { display: none; }
}
@media (hover: none), (max-width: 1023px) {
  .ft-list a:not(#r2gc-isolate), .ft-address a:not(#r2gc-isolate), .ft-geo a:not(#r2gc-isolate), .ft-inline a:not(#r2gc-isolate) { min-height: 44px; }
  .ft-inline a:not(#r2gc-isolate) { display: inline-flex; align-items: center; }
  .ft-geo a:not(#r2gc-isolate) { display: inline-flex; align-items: center; }   /* GIR-07: location links reach 44 px on touch and compact layouts, as the other footer links do */
}
@media (hover: none) and (min-width: 481px), (min-width: 481px) and (max-width: 1023px) {
  .hdr-cta:not(#r2gc-isolate) { display: inline-flex; align-items: center; min-height: 44px; padding-bottom: 0; white-space: nowrap; }
}
.ft-contact:not(#r2gc-isolate) { padding: clamp(28px, 3.5vw, 40px) 0; border-bottom: 1px solid var(--r2-rule); }
.ft-contact .ft-address:not(#r2gc-isolate) { margin-top: 0; }
@media (min-width: 861px) {
  .ft-contact > div:not(#r2gc-isolate) { display: grid; grid-template-columns: 1.3fr 3fr; gap: 0 clamp(32px, 4vw, 56px); align-items: start; }
  .ft-contact .meta:not(#r2gc-isolate) { margin: 0; }
}
.ft-social:not(#r2gc-isolate) { margin-left: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 22px; }
.ft-social a:not(#r2gc-isolate) { display: inline-flex; align-items: center; min-height: 36px; color: var(--r2-label); text-decoration: none; }
.ft-social a:hover:not(#r2gc-isolate), .ft-social a:focus-visible:not(#r2gc-isolate) { color: var(--r2-oxblood); }
@media (max-width: 820px) {
  .ft-social:not(#r2gc-isolate) { width: 100%; margin-left: 0; }
  .ft-social a:not(#r2gc-isolate) { min-height: 44px; }
}
@media (hover: none), (pointer: coarse) {
  .ft-social a:not(#r2gc-isolate) { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; }
}
.r2-wordmark:not(#r2gc-isolate) { display: inline-flex; align-items: center; gap: .4em; font: 100 24px/1 "ivypresto-display", serif; letter-spacing: -.01em; text-decoration: none; color: inherit; }
.r2-wordmark sup:not(#r2gc-isolate) { font: 200 .5em/1 "sofia-pro-condensed", sans-serif; vertical-align: .85em; margin-left: .04em; }
.r2-wordmark-mark:not(#r2gc-isolate) { width: .95em; height: .95em; flex: 0 0 auto; transform: translateY(-.03em); }
.r2-wordmark-text:not(#r2gc-isolate) { display: inline-block; white-space: nowrap; }
.r2-ft-wordmark:not(#r2gc-isolate) { margin: 0; font-size: 20px; color: var(--r2-label); }
@media (hover: none), (max-width: 1023px) {
  .r2-wordmark:not(#r2gc-isolate) { padding: 12px 0; }
}
@media (max-width: 480px) {
  .r2-wordmark:not(#r2gc-isolate) { font-size: 21px; }
}
