/* ============================================================
   SARDIS GROUP — pi-enhance.css
   Loaded last. Refines the institutional editorial system with
   premium typography, micro-interactions, accent ornaments,
   scroll reveals, and refined chrome. Scoped to
   body.page-institutional and global header/footer.
   No text content changes — visual & motion only.
   ============================================================ */

/* ---- Design tokens — Sardis Group Brand Guidelines v1.0 ---- */
:root {
  /* Brand palette — canonical hex values (do not alter) */
  --sg-space:     #1D1E3D; /* Space Blue   — primary background / brand color */
  --sg-oxford:    #12122B; /* Oxford Blue  — deepest navy, footers, overlays */
  --sg-sky:       #B1CFFB; /* Sky Blue     — primary accent, marks on dark */
  --sg-lavender:  #e8efff; /* Lavender Blue— light surface, cards */
  --sg-raisin:    #1E1E24; /* Raisin Black — body text on light */
  --sg-cadet:     #9EA3B0; /* Cadet Gray   — metadata, captions */
  --sg-cool:      #9292A0; /* Cool Gray    — tertiary, muted UI */
  --sg-white:     #FFFFFF;

  /* Approved gold accent — used sparingly for contrast against the blue field
     (per stakeholder direction; not in the v1.0 spec but retained as a brand accent) */
  --sg-gold:       #a37e3a;
  --sg-gold-soft:  #c9a763;
  --sg-gold-pale:  #d8c79a;

  /* Legacy pi-* aliases — original warm editorial palette for the institutional
     pages. The brand --sg-* tokens above are the canonical brand reference;
     these aliases preserve the existing site aesthetic. */
  --pi-navy:      var(--sg-oxford);
  --pi-navy-2:    #1c1c40;
  --pi-cream:     #f5f1ea;
  --pi-cream-2:   #ece5d6;
  --pi-paper:     #faf7f1;
  --pi-gold:      var(--sg-gold);
  --pi-gold-soft: var(--sg-gold-soft);
  --pi-gold-pale: var(--sg-gold-pale);
  --pi-ink:       #3a3a48;
  --pi-ink-2:     #5a5a6a;
  --pi-rule:      rgba(18,18,43,.14);
  --pi-rule-strong: rgba(18,18,43,.22);
  --pi-shadow-sm: 0 2px 8px rgba(18,18,43,.05);
  --pi-shadow-md: 0 10px 30px rgba(18,18,43,.08);
  --pi-shadow-lg: 0 30px 80px rgba(18,18,43,.14);
  --pi-ease:      cubic-bezier(.2,.6,.2,1);
}

/* ---- Type refinements (global) ---- */
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body.page-institutional {
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  text-rendering: optimizeLegibility;
}
body.page-institutional .pi-cover__title,
body.page-institutional .pi-hero__title,
body.page-institutional .pi-section__title,
body.page-institutional .pi-cta__title,
body.page-institutional .pi-pillar__h,
body.page-institutional .pi-feature__h,
body.page-institutional .pi-ledger__h,
body.page-institutional .pi-step__h,
body.page-institutional .pi-profile__name,
body.page-institutional .pi-roster__name,
body.page-institutional .pi-split__title {
  font-feature-settings: "kern" 1, "liga" 1, "dlig" 1, "ss01" 1;
  text-wrap: balance;
}
body.page-institutional .pi-body,
body.page-institutional .pi-feature__txt,
body.page-institutional .pi-pillar__txt,
body.page-institutional .pi-ledger__txt,
body.page-institutional .pi-step__txt,
body.page-institutional .pi-profile__bio,
body.page-institutional .pi-roster__bio {
  text-wrap: pretty;
  hyphens: manual;
}

/* ---- Focus styles (a11y) ---- */
body.page-institutional a:focus-visible,
body.page-institutional button:focus-visible,
body.page-institutional input:focus-visible,
body.page-institutional textarea:focus-visible {
  outline: 2px solid var(--pi-gold);
  outline-offset: 3px;
}

/* ---- Selection ---- */
body.page-institutional ::selection { background: var(--pi-gold-pale); color: var(--pi-navy); }

/* ============================================================
   SCROLL PROGRESS BAR (fixed top hairline)
   ============================================================ */
.pi-progress {
  position: fixed;
  top: 0; left: 0;
  height: 2px;
  width: 0%;
  background: linear-gradient(90deg, var(--pi-gold) 0%, var(--pi-gold-soft) 100%);
  z-index: 200;
  pointer-events: none;
  transition: width .08s linear;
}

/* ============================================================
   HEADER — refined chrome (subtle when scrolled, no layout shift)
   The original header section is absolute-positioned inside a
   non-flow container; we keep that, and just darken/blur the
   absolute section's background when the user scrolls past hero.
   ============================================================ */
/* Scrolled-state header background intentionally removed */

/* Nav background: transparent — let each page's hero/cover show through.
   Text colors fall back to main.css's page-aware rules (light over the
   home hero, navy over cream covers). */

/* ---- Unify nav: home-page style on ALL pages ----
   main.css uses body.page-institutional:not(.home) ... !important to
   force navy text on cream pages — same specificity as a single class
   selector. We double the class (.page-institutional.page-institutional)
   so source order makes our rule win. */
html body.page-institutional.page-institutional.page-institutional .et_pb_menu_0_tb_header.et_pb_menu.et_pb_menu ul li a,
html body.page-institutional.page-institutional.page-institutional header .et_pb_menu__menu > nav > ul > li > a {
  color: #d8e7fd !important;
}
html body.page-institutional.page-institutional.page-institutional .et_pb_menu_0_tb_header.et_pb_menu.et_pb_menu ul li:hover > a,
html body.page-institutional.page-institutional.page-institutional header .et_pb_menu__menu > nav > ul > li:hover > a {
  color: #ffffff !important;
}
html body.page-institutional.page-institutional.page-institutional .et_pb_menu_0_tb_header.et_pb_menu.et_pb_menu ul li.current-menu-item a {
  color: #b1cffb !important;
}
html body.page-institutional.page-institutional.page-institutional .mobile_menu_bar::before { color: #b1cffb !important; }
/* Contact pill: light-blue everywhere */
html body.page-institutional.page-institutional.page-institutional header .et_pb_menu__menu > nav > ul > li:last-child > a {
  color: #b1cffb !important;
  border-color: #b1cffb !important;
}
html body.page-institutional.page-institutional.page-institutional header .et_pb_menu__menu > nav > ul > li:last-child > a:hover {
  color: var(--pi-navy) !important;
  background: #b1cffb !important;
  border-color: #b1cffb !important;
  transform: translateY(-1px);
}

/* ---- Nav typography: editorial uppercase tracked ---- */
header .et_pb_menu__menu > nav > ul > li > a {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: 2.2px !important;
  text-transform: uppercase;
}
/* Nav links: refined underline reveal (non-pill items) */
header .et_pb_menu__menu > nav > ul > li:not(:last-child) > a {
  position: relative;
}
header .et_pb_menu__menu > nav > ul > li:not(:last-child) > a::after {
  content: "";
  position: absolute;
  left: 20px; right: 20px;
  bottom: 22px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .35s var(--pi-ease);
  opacity: .8;
}
header .et_pb_menu__menu > nav > ul > li:first-child:not(:last-child) > a::after { left: 0; }
header .et_pb_menu__menu > nav > ul > li:not(:last-child):hover > a::after,
header .et_pb_menu__menu > nav > ul > li.current-menu-item:not(:last-child) > a::after {
  transform: scaleX(1);
}

/* Contact pill: square, institutional — matches .pi-btn */
header .et_pb_menu__menu > nav > ul > li:last-child > a {
  border-radius: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  height: 40px !important;
  line-height: 1 !important;
  padding: 0 22px !important;
  margin-top: 0 !important;
  font-size: 11.5px !important;
  letter-spacing: 2.2px !important;
  border-width: 1.5px !important;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: color .35s var(--pi-ease), border-color .35s var(--pi-ease), transform .25s var(--pi-ease);
}
header .et_pb_menu__menu > nav > ul > li:last-child {
  display: inline-flex;
  align-items: center;
}
header .et_pb_menu__menu > nav > ul > li:last-child > a::before {
  content: "";
  position: absolute; inset: 0;
  background: currentColor;
  transform: translateY(101%);
  transition: transform .45s var(--pi-ease);
  z-index: -1;
  opacity: 1;
}
/* Contact pill hover: gold fill on all pages */
body.page-institutional header .et_pb_menu__menu > nav > ul > li:last-child > a:hover {
  color: var(--pi-navy) !important;
  background: var(--pi-gold-pale) !important;
  border-color: var(--pi-gold-pale) !important;
  transform: translateY(-1px);
}

/* Dropdown sub-menu: glassy, lightweight, editorial.
   Translucent navy with backdrop blur, thin gold hairline at top, soft
   shadow, gentle entry animation. */
body.page-institutional .et_pb_menu_0_tb_header .nav li ul,
body.page-institutional .nav li ul {
  border: 0 !important;
  border-top: 1px solid var(--pi-gold) !important;
  padding: 10px 0 !important;
  width: 320px !important;
  margin-top: 8px !important;
  background: rgba(18,18,43,.78) !important;
  backdrop-filter: blur(12px) saturate(130%);
  -webkit-backdrop-filter: blur(12px) saturate(130%);
  box-shadow: 0 12px 32px rgba(8,10,6,.32) !important;
  animation: pi-dropdown-in .22s var(--pi-ease) both;
}
/* Invisible bridge so the mouse can travel from the parent nav item into
   the dropdown across the 8px floaty gap without :hover dropping. */
body.page-institutional .et_pb_menu_0_tb_header .nav li ul::before,
body.page-institutional .nav li ul::before {
  content: "";
  position: absolute;
  left: 0; right: 0;
  top: -10px;
  height: 10px;
  background: transparent;
}
@keyframes pi-dropdown-in {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}
body.page-institutional .et_pb_menu_0_tb_header.et_pb_menu ul li ul li a,
body.page-institutional .et_pb_menu_0_tb_header .nav li ul li a,
body.page-institutional .nav li ul li a {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase;
  padding: 10px 20px !important;
  color: rgba(232,239,255,.85) !important;
  display: block !important;
  position: relative;
  transition: color .2s var(--pi-ease), padding-left .25s var(--pi-ease);
}
body.page-institutional .et_pb_menu_0_tb_header.et_pb_menu ul li ul li a::before,
body.page-institutional .et_pb_menu_0_tb_header .nav li ul li a::before,
body.page-institutional .nav li ul li a::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 50%;
  width: 0;
  height: 1px;
  background: var(--pi-gold);
  transform: translateY(-50%);
  transition: width .25s var(--pi-ease);
}
body.page-institutional .et_pb_menu_0_tb_header.et_pb_menu ul li ul li a:hover,
body.page-institutional .et_pb_menu_0_tb_header .nav li ul li a:hover,
body.page-institutional .nav li ul li a:hover {
  color: var(--pi-gold-pale) !important;
  background: transparent !important;
  padding-left: 36px !important;
}
body.page-institutional .et_pb_menu_0_tb_header.et_pb_menu ul li ul li a:hover::before,
body.page-institutional .et_pb_menu_0_tb_header .nav li ul li a:hover::before,
body.page-institutional .nav li ul li a:hover::before {
  width: 10px;
}

/* Mobile menu items also forced to light, including nested */
body.page-institutional .et_mobile_menu li a,
body.page-institutional .et_mobile_menu ul li a {
  color: #e8efff !important;
  font-family: "Atkinson Hyperlegible", Arial, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase;
  font-weight: 700 !important;
}
body.page-institutional .et_mobile_menu li a:hover,
body.page-institutional .et_mobile_menu ul li a:hover {
  color: var(--pi-gold-pale) !important;
}

/* ============================================================
   HERO — premium photographic treatment
   ============================================================ */
body.page-institutional .pi-hero {
  position: relative;
  overflow: hidden;
}
/* Refined gradient overlay (replaces a flat gradient) */
body.page-institutional .pi-hero::before {
  content: "";
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 90% 70% at 30% 50%, rgba(18,18,43,0) 0%, rgba(18,18,43,.35) 100%),
    linear-gradient(180deg, rgba(8,10,6,.55) 0%, rgba(8,10,6,.05) 35%, rgba(8,10,6,.10) 60%, rgba(8,10,6,.85) 100%);
  pointer-events: none;
  z-index: 1;
}
/* Subtle grain overlay — institutional but warm */
body.page-institutional .pi-hero::after {
  content: "";
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .045 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  opacity: .55;
  mix-blend-mode: overlay;
  pointer-events: none;
  z-index: 2;
}
body.page-institutional .pi-hero__inner { position: relative; z-index: 3; }
body.page-institutional .pi-hero__title {
  text-shadow: 0 2px 30px rgba(0,0,0,.25);
}
/* Eyebrow with refined bullet ornament */
body.page-institutional .pi-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
body.page-institutional .pi-hero__eyebrow::before {
  content: "";
  display: inline-block;
  width: 32px; height: 1px;
  background: var(--pi-gold-pale);
}
/* Hero rule: bullet on the right end */
body.page-institutional .pi-hero__rule {
  position: relative;
  width: 80px;
  background: linear-gradient(90deg, var(--pi-gold-pale) 0%, rgba(216,199,154,.3) 100%);
}
/* Scroll cue */
body.page-institutional .pi-hero::after,
body.page-institutional .pi-hero .pi-hero__inner {
  /* keep z-index */
}
body.page-institutional .pi-hero .pi-scroll-cue {
  position: absolute;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%);
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2.6px;
  text-transform: uppercase;
  color: var(--pi-gold-pale);
  opacity: .85;
}
body.page-institutional .pi-hero .pi-scroll-cue__line {
  width: 1px;
  height: 40px;
  background: linear-gradient(180deg, transparent 0%, var(--pi-gold-pale) 100%);
  position: relative;
  overflow: hidden;
}
body.page-institutional .pi-hero .pi-scroll-cue__line::after {
  content: "";
  position: absolute;
  top: -20px; left: 0;
  width: 100%; height: 20px;
  background: linear-gradient(180deg, transparent, #fff);
  animation: pi-scroll-down 2.4s var(--pi-ease) infinite;
}
@keyframes pi-scroll-down {
  0%   { top: -20px; opacity: 0; }
  30%  { opacity: 1; }
  100% { top: 100%; opacity: 0; }
}

/* ============================================================
   COVER (non-home) — refined accent column
   ============================================================ */
body.page-institutional .pi-cover {
  position: relative;
  overflow: hidden;
}
body.page-institutional .pi-cover::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background:
    radial-gradient(circle 600px at 100% 0%, rgba(163,126,58,.06) 0%, transparent 60%),
    radial-gradient(circle 500px at 0% 100%, rgba(18,18,43,.04) 0%, transparent 60%);
  pointer-events: none;
}
body.page-institutional .pi-cover__inner { position: relative; }
body.page-institutional .pi-cover__rule {
  position: relative;
  background: linear-gradient(90deg, var(--pi-gold) 0%, var(--pi-gold-soft) 70%, rgba(163,126,58,.2) 100%);
  width: 88px;
}
body.page-institutional .pi-cover__meta { position: relative; }

/* ============================================================
   SECTION RHYTHM — section headers gain a refined ornament
   ============================================================ */
body.page-institutional .pi-section__head {
  position: relative;
  padding-top: 8px;
}
body.page-institutional .pi-section__head::before {
  content: "";
  display: block;
  width: 48px;
  height: 2px;
  background: var(--pi-gold);
  margin-bottom: 22px;
}

/* ============================================================
   STATEMENT — emphasize the lede
   ============================================================ */
body.page-institutional .pi-statement__lead {
  position: relative;
  padding-left: 24px;
}
body.page-institutional .pi-statement__lead::before {
  content: "";
  position: absolute;
  left: 0; top: .35em;
  width: 3px;
  height: calc(100% - .55em);
  background: linear-gradient(180deg, var(--pi-gold) 0%, rgba(163,126,58,.15) 100%);
}

/* ============================================================
   PILLARS — refined hover (accent grows + label shifts)
   ============================================================ */
body.page-institutional .pi-pillar {
  transition: background .35s var(--pi-ease);
}
body.page-institutional .pi-pillar::before {
  content: "";
  position: absolute;
  top: -1px; left: 0;
  height: 2px;
  width: 0;
  background: var(--pi-gold);
  transition: width .5s var(--pi-ease);
}
body.page-institutional .pi-pillar:hover::before { width: 64px; }
body.page-institutional .pi-pillar__label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: color .25s var(--pi-ease);
}
body.page-institutional .pi-pillar__label::before {
  content: "";
  width: 6px; height: 6px;
  background: var(--pi-gold);
  border-radius: 50%;
  display: inline-block;
  transition: transform .35s var(--pi-ease);
}
body.page-institutional .pi-pillar:hover .pi-pillar__label::before { transform: scale(1.6); }
body.page-institutional .pi-pillar__h {
  transition: color .25s var(--pi-ease);
}

/* ============================================================
   FACTS panel — refined data presentation
   ============================================================ */
body.page-institutional .pi-facts {
  position: relative;
  border-top: 1px solid var(--pi-rule-strong);
}
body.page-institutional .pi-facts__row { border-color: var(--pi-rule); transition: background .25s var(--pi-ease); }
body.page-institutional .pi-facts__row:hover { background: rgba(163,126,58,.04); }
body.page-institutional .pi-facts__value {
  font-feature-settings: "kern" 1, "liga" 1, "lnum" 1, "tnum" 1;
}

/* ============================================================
   LEDGER — large roman numerals
   ============================================================ */
body.page-institutional .pi-ledger__row {
  transition: padding .35s var(--pi-ease);
  position: relative;
}
body.page-institutional .pi-ledger__num {
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1;
  color: var(--pi-gold);
  letter-spacing: -.01em;
  font-feature-settings: "lnum" 1, "onum" 0;
  padding-top: 0 !important;
}
body.page-institutional .pi-ledger__row::before {
  content: "";
  position: absolute;
  left: 0; top: 0;
  width: 0;
  height: 1px;
  background: var(--pi-gold);
  transition: width .5s var(--pi-ease);
}
body.page-institutional .pi-ledger__row:hover::before { width: 60px; }

/* ============================================================
   FEATURES — large number with refined rule
   ============================================================ */
body.page-institutional .pi-feature__num {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 14px;
  letter-spacing: 2.4px;
  color: var(--pi-gold);
}
body.page-institutional .pi-feature__num::after {
  content: "";
  display: inline-block;
  width: 36px;
  height: 1px;
  background: var(--pi-gold);
}

/* ============================================================
   VERTICAL TIMELINE — refined dots & marker
   ============================================================ */
body.page-institutional .pi-vtimeline::before {
  background: linear-gradient(180deg, var(--pi-gold) 0%, var(--pi-rule-strong) 30%, var(--pi-rule-strong) 70%, transparent 100%);
}
body.page-institutional .pi-vtimeline__item::before {
  box-shadow: 0 0 0 4px var(--pi-cream);
  transition: transform .35s var(--pi-ease), background .35s var(--pi-ease);
}
body.page-institutional .pi-section--white .pi-vtimeline__item::before { box-shadow: 0 0 0 4px #fff; }
body.page-institutional .pi-vtimeline__item:hover::before { transform: scale(1.4); background: var(--pi-navy); }

/* ============================================================
   STEPS (Strategy) — refined roman numerals
   ============================================================ */
body.page-institutional .pi-step__no {
  position: relative;
  display: inline-block;
}
body.page-institutional .pi-step__no::after {
  content: "";
  position: absolute;
  bottom: -18px; left: 0;
  width: 56px;
  height: 2px;
  background: var(--pi-gold);
}

/* ============================================================
   DEFLIST — refined hover
   ============================================================ */
body.page-institutional .pi-deflist__row { transition: padding-left .35s var(--pi-ease); }
body.page-institutional .pi-deflist__row:hover { padding-left: 12px; }
body.page-institutional .pi-deflist__term {
  position: relative;
}

/* ============================================================
   TEAM — founder spreads & roster refinements
   ============================================================ */
body.page-institutional .pi-spread__img-wrap {
  position: relative;
}
body.page-institutional .pi-spread__img-wrap::before {
  content: "";
  position: absolute;
  inset: 14px 14px -14px -14px;
  border: 1px solid var(--pi-gold);
  z-index: 0;
  transition: inset .5s var(--pi-ease);
}
body.page-institutional .pi-spread--flip .pi-spread__img-wrap::before {
  inset: 14px -14px -14px 14px;
}
body.page-institutional .pi-spread__img-wrap:hover::before { inset: 8px 8px -8px -8px; }
body.page-institutional .pi-spread--flip .pi-spread__img-wrap:hover::before { inset: 8px -8px -8px 8px; }
body.page-institutional .pi-spread__img {
  position: relative;
  z-index: 1;
  filter: contrast(1.02) saturate(.96);
  transition: filter .5s var(--pi-ease), transform .8s var(--pi-ease);
}
body.page-institutional .pi-spread__img-wrap:hover .pi-spread__img { filter: contrast(1.05) saturate(1.05); }
body.page-institutional .pi-profile__role {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
body.page-institutional .pi-profile__role::after {
  content: "";
  display: inline-block;
  width: 28px;
  height: 1px;
  background: var(--pi-gold);
}

/* Roster: editorial portrait scale to match founders */
body.page-institutional .pi-roster__row {
  grid-template-columns: 200px 1.4fr 3fr;
  gap: 40px;
  padding: 40px 0;
  align-items: start;
  transition: background .25s var(--pi-ease);
}
body.page-institutional .pi-roster__row:hover {
  background: linear-gradient(90deg, rgba(163,126,58,.04) 0%, transparent 60%);
}
body.page-institutional .pi-roster__img {
  width: 200px;
  height: 250px;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  filter: contrast(1.02) saturate(.96);
  transition: filter .35s var(--pi-ease), transform .5s var(--pi-ease);
  position: relative;
  z-index: 1;
}
/* Gold accent frame on each roster portrait — same treatment as the
   founder spreads (inset outline that grows behind the photo). */
body.page-institutional .pi-roster__img-wrap {
  position: relative;
  display: inline-block;
}
body.page-institutional .pi-roster__img-wrap::before {
  content: "";
  position: absolute;
  inset: 14px 14px -14px -14px;
  border: 1px solid var(--pi-gold);
  z-index: 0;
  transition: inset .5s var(--pi-ease);
}
body.page-institutional .pi-roster__img-wrap:hover::before { inset: 8px 8px -8px -8px; }
body.page-institutional .pi-roster__img {
  position: relative;
  z-index: 1;
  box-shadow: none;
  transition: filter .35s var(--pi-ease), transform .5s var(--pi-ease);
}
body.page-institutional .pi-roster__row:hover .pi-roster__img {
  filter: contrast(1.06) saturate(1.06);
}
body.page-institutional .pi-roster__name {
  font-size: 26px;
  margin-bottom: 6px;
}
body.page-institutional .pi-roster__role {
  padding-top: 0;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
body.page-institutional .pi-roster__role::after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 1px;
  background: var(--pi-gold);
}
body.page-institutional .pi-roster__bio {
  font-size: 15.5px;
  line-height: 1.7;
}

@media (max-width: 980px) {
  body.page-institutional .pi-roster__row {
    grid-template-columns: 160px 1fr !important;
    gap: 24px !important;
    padding: 28px 0 !important;
  }
  body.page-institutional .pi-roster__img {
    width: 160px;
    height: 200px;
  }
  body.page-institutional .pi-roster__img-wrap::before { inset: 10px 10px -10px -10px; }
  body.page-institutional .pi-roster__bio {
    grid-column: 1 / -1;
    padding-left: 0;
  }
}
@media (max-width: 600px) {
  body.page-institutional .pi-roster__row {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  body.page-institutional .pi-roster__img-wrap { display: block; max-width: 280px; }
  body.page-institutional .pi-roster__img {
    width: 100%;
    max-width: 280px;
    height: auto;
    aspect-ratio: 4 / 5;
  }
}

/* ============================================================
   PHOTO ASIDE — refined frame
   ============================================================ */
body.page-institutional .pi-photo-aside__img-wrap { position: relative; }
body.page-institutional .pi-photo-aside__img-wrap::before {
  content: "";
  position: absolute;
  inset: 18px 18px -18px -18px;
  border: 1px solid var(--pi-gold);
  z-index: 0;
}
body.page-institutional .pi-photo-aside__img {
  position: relative;
  z-index: 1;
}

/* ============================================================
   PHOTO BREAK — refined editorial pause
   ============================================================ */
body.page-institutional .pi-photo-break {
  position: relative;
  overflow: hidden;
}
body.page-institutional .pi-photo-break::before {
  content: "";
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(18,18,43,.20) 0%, rgba(18,18,43,.55) 100%);
  z-index: 1;
}

/* ============================================================
   CTA — refined with ornament + magnetic button
   ============================================================ */
body.page-institutional .pi-cta {
  position: relative;
  overflow: hidden;
  padding: 110px 0 80px;
  background:
    linear-gradient(180deg, rgba(8,10,6,.78) 0%, rgba(8,10,6,.78) 100%),
    url("../images/hero-forest.7af2b5de0218.jpg");
  background-repeat: no-repeat, no-repeat;
  background-attachment: scroll, fixed;
  background-position: 0 0, center bottom;
  background-size: auto, cover;
}
body.page-institutional .pi-cta .pi-container { position: relative; z-index: 1; }
body.page-institutional .pi-cta__title { color: #d8e7fd !important; }
body.page-institutional .pi-cta__lede { color: rgba(216,231,253,.78) !important; }
body.page-institutional .pi-cta__lede a { color: var(--pi-gold-pale) !important; }
body.page-institutional .pi-cta .pi-btn {
  color: #d8e7fd !important;
  border-color: rgba(216,231,253,.5) !important;
  background: transparent !important;
}
body.page-institutional .pi-cta .pi-btn::before { background: var(--pi-gold) !important; }
body.page-institutional .pi-cta .pi-btn:hover {
  color: var(--pi-navy) !important;
  border-color: var(--pi-gold) !important;
}
@media (max-width: 980px) {
  body.page-institutional .pi-cta { padding: 70px 0 56px; }
}
body.page-institutional .pi-cta__rule {
  background: linear-gradient(90deg, transparent 0%, var(--pi-gold) 30%, var(--pi-gold) 70%, transparent 100%);
  width: 120px;
}
body.page-institutional .pi-btn {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: color .35s var(--pi-ease), border-color .35s var(--pi-ease), transform .25s var(--pi-ease);
}
body.page-institutional .pi-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--pi-navy);
  transform: translateY(101%);
  transition: transform .45s var(--pi-ease);
  z-index: -1;
}
body.page-institutional .pi-btn:hover {
  background: transparent !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(18,18,43,.18);
}
body.page-institutional .pi-btn:hover::before {
  transform: translateY(0);
}

/* ============================================================
   FORM — refined fields & submit
   ============================================================ */
body.page-institutional .pi-form-wrap { box-shadow: var(--pi-shadow-sm); }
body.page-institutional .pi-form-wrap .wpforms-field input[type="text"],
body.page-institutional .pi-form-wrap .wpforms-field input[type="email"],
body.page-institutional .pi-form-wrap .wpforms-field textarea {
  transition: border-color .25s var(--pi-ease), background .25s var(--pi-ease), box-shadow .25s var(--pi-ease);
}
body.page-institutional .pi-form-wrap .wpforms-field input[type="text"]:hover,
body.page-institutional .pi-form-wrap .wpforms-field input[type="email"]:hover,
body.page-institutional .pi-form-wrap .wpforms-field textarea:hover {
  border-color: rgba(18,18,43,.4) !important;
}
body.page-institutional .pi-form-wrap .wpforms-field input[type="text"]:focus,
body.page-institutional .pi-form-wrap .wpforms-field input[type="email"]:focus,
body.page-institutional .pi-form-wrap .wpforms-field textarea:focus {
  box-shadow: 0 0 0 3px rgba(163,126,58,.18);
}
body.page-institutional .pi-form-wrap .wpforms-submit {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: color .35s var(--pi-ease), transform .25s var(--pi-ease), box-shadow .25s var(--pi-ease);
}
body.page-institutional .pi-form-wrap .wpforms-submit::before {
  content: "";
  position: absolute; inset: 0;
  background: var(--pi-navy);
  transform: translateY(101%);
  transition: transform .45s var(--pi-ease);
  z-index: -1;
}
body.page-institutional .pi-form-wrap .wpforms-submit:hover {
  background: transparent !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(18,18,43,.18);
}
body.page-institutional .pi-form-wrap .wpforms-submit:hover::before { transform: translateY(0); }

/* ============================================================
   CONTACT split — refined right side, decorative ornament
   ============================================================ */
body.page-institutional .pi-split {
  box-shadow: var(--pi-shadow-md);
  background: #fff;
  position: relative;
}
body.page-institutional .pi-split__left {
  position: relative;
  overflow: hidden;
}
body.page-institutional .pi-split__left::before {
  content: "";
  position: absolute;
  right: -200px;
  top: -200px;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(163,126,58,.10) 0%, transparent 70%);
  pointer-events: none;
}
body.page-institutional .pi-split__points {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
body.page-institutional .pi-split__points > li {
  position: relative;
  padding-left: 40px;
  line-height: 1.6;
}
body.page-institutional .pi-split__points > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  width: 24px;
  height: 2px;
  background: #a37e3a;
}
body.page-institutional .pi-split__points > li > strong {
  display: block;
  color: #0a1a3a;
  font-weight: 400;
  letter-spacing: .02em;
  margin-bottom: 6px;
  font-size: 1.05em;
}
body.page-institutional .pi-contact__value a {
  position: relative;
  transition: color .25s var(--pi-ease);
}
body.page-institutional .pi-contact__value a::after {
  content: "";
  position: absolute;
  left: 0; right: 0;
  bottom: -2px;
  height: 1px;
  background: var(--pi-gold);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .35s var(--pi-ease);
}
body.page-institutional .pi-contact__value a:hover::after { transform: scaleX(1); }

/* ============================================================
   LEGAL — improved typography
   ============================================================ */
body.page-institutional .pi-legal__body p { margin: 0 0 1.1em; }
body.page-institutional .pi-legal__body a {
  position: relative;
  font-weight: 600;
  border-bottom: 1px solid rgba(163,126,58,.4);
  transition: border-color .25s var(--pi-ease), color .25s var(--pi-ease);
}
body.page-institutional .pi-legal__body a:hover { border-color: var(--pi-navy); }

/* ============================================================
   COVER CANOPY — non-home cream pages get a forest band at the very
   top that fades to cream behind the header, bookending the page with
   the same forest used in the footer. Top half uses the home hero's
   dark-green wash for shadowed mood; bottom half fades into cream.
   ============================================================ */
/* Header text reads light over the shadowed canopy, matching home */
body.page-institutional:not(.home) .et_pb_menu_0_tb_header.et_pb_menu ul li a,
body.page-institutional:not(.home) header .et_pb_menu__menu > nav > ul > li > a {
  color: #d8e7fd !important;
}
body.page-institutional:not(.home) .et_pb_menu_0_tb_header.et_pb_menu ul li:hover > a,
body.page-institutional:not(.home) header .et_pb_menu__menu > nav > ul > li:hover > a {
  color: #ffffff !important;
}
body.page-institutional:not(.home) header .et_pb_menu__menu > nav > ul > li:last-child > a {
  color: #b1cffb !important;
  border-color: #b1cffb !important;
  background: transparent !important;
}
body.page-institutional:not(.home) header .et_pb_menu__menu > nav > ul > li:last-child > a:hover {
  color: #12122b !important;
  background: #b1cffb !important;
}
body.page-institutional:not(.home) .et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-item a {
  color: #b1cffb !important;
}
body.page-institutional:not(.home) .mobile_menu_bar::before { color: #d8e7fd !important; }

body.page-institutional:not(.home) .pi-cover {
  position: relative;
  overflow: hidden;
}
body.page-institutional:not(.home) .pi-cover::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 140px;
  /* Mirror the home hero's nav area exactly. Home stacks three overlays on
     the image: an inline linear-gradient, plus pi-hero::before's
     linear+radial, plus pi-hero::after's grain. We replicate the linear
     and radial layers here, each sized to a 680px reference band so the
     140px canopy windows onto the same composite the home hero produces
     in its first 140px. (Grain skipped — would need another pseudo.) */
  background:
    radial-gradient(ellipse 90% 70% at 30% 50%, rgba(18,18,43,0) 0%, rgba(18,18,43,.35) 100%),
    linear-gradient(180deg, rgba(8,10,6,.55) 0%, rgba(8,10,6,.05) 35%, rgba(8,10,6,.10) 60%, rgba(8,10,6,.85) 100%),
    linear-gradient(180deg, rgba(8,10,6,.75) 0%, rgba(8,10,6,.40) 18%, rgba(8,10,6,.08) 45%, rgba(8,10,6,.85) 100%),
    url("../images/hero-forest.7af2b5de0218.jpg");
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  background-position: center top, center top, center top, center top;
  background-size: 100% 680px, 100% 680px, 100% 680px, 100% auto;
  border-bottom: 1px solid rgba(201,167,99,.45);
  z-index: 0;
  pointer-events: none;
}

/* Mobile: kill the heavy 680px-reference overlay stack — at 140px tall it
   compresses into a near-opaque navy band. Use a single lighter gradient
   sized to the canopy itself, with `cover` so the image fills cleanly. */
@media (max-width: 1100px) {
  body.page-institutional:not(.home) .pi-cover::before {
    background:
      linear-gradient(180deg, rgba(8,10,6,.55) 0%, rgba(8,10,6,.30) 100%),
      url("../images/hero-forest.7af2b5de0218.jpg") !important;
    background-repeat: no-repeat, no-repeat !important;
    background-position: center, center 30% !important;
    background-size: 100% 100%, cover !important;
  }
}
body.page-institutional:not(.home) .pi-cover__inner {
  position: relative;
  z-index: 1;
}

/* ============================================================
   STICKY FOOTER — fill the viewport on short pages
   Without this, pages shorter than the viewport (e.g. Contact on tall
   screens) leave a gap below the footer that exposes the navy body
   background as a band. Flex column + growing main area pins the footer
   to the bottom; on tall pages it has no effect.
   ============================================================ */
#page-container { display: flex; flex-direction: column; min-height: 100vh; }
#et-boc { display: flex; flex-direction: column; flex: 1 0 auto; }
#et-main-area { flex: 1 0 auto; }

/* ============================================================
   FOOTER — refined chrome
   ============================================================ */
.et-l--footer {
  position: relative;
  background:
    linear-gradient(180deg,
      rgba(8,10,6,.78)  0%,
      rgba(8,10,6,.78) 100%),
    url("../images/hero-forest.7af2b5de0218.jpg"),  /* parallax layer (viewport-anchored) */
    url("../images/hero-forest.7af2b5de0218.jpg"),  /* base layer anchored to the footer so
                                          short pages never expose the navy */
    #12122B !important;
  background-repeat: no-repeat !important;
  background-attachment: scroll, fixed, scroll, scroll !important;
  background-position: 0 0, center bottom, center bottom, 0 0 !important;
  background-size: auto, cover, cover, auto !important;
  border-top: 0 !important;
  box-shadow: none !important;
}
/* Kill the Divi-default white box behind the footer menu, and the hairline
   underline beneath it — the forest image should read through cleanly. */
.et_pb_menu_0_tb_footer,
.et_pb_menu_0_tb_footer .et_pb_menu_inner_container,
.et_pb_menu_0_tb_footer .et_pb_menu__wrap,
.et_pb_menu_0_tb_footer .et_pb_menu__menu,
.et_pb_menu_0_tb_footer nav.et-menu-nav,
.et_pb_menu_0_tb_footer ul.et-menu {
  background: transparent !important;
  box-shadow: none !important;
}
.et_pb_menu_0_tb_footer .et_pb_menu_inner_container {
  border-bottom: 0 !important;
}

.et_pb_menu_0_tb_footer .et-menu > li > a {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2.2px !important;
  text-transform: uppercase;
  color: rgba(216,231,253,.7) !important;
  padding: 10px 18px !important;
  position: relative;
  transition: color .25s var(--pi-ease);
}
.et_pb_menu_0_tb_footer .et-menu > li > a::after {
  content: "";
  position: absolute;
  left: 50%; right: 50%;
  bottom: 2px;
  height: 1px;
  background: var(--pi-gold-pale);
  transition: left .35s var(--pi-ease), right .35s var(--pi-ease);
}
.et_pb_menu_0_tb_footer .et-menu > li > a:hover { color: var(--pi-gold-pale) !important; }
.et_pb_menu_0_tb_footer .et-menu > li > a:hover::after { left: 18px; right: 18px; }

.et_pb_image_0_tb_footer img {
  filter: drop-shadow(0 4px 18px rgba(163,126,58,.18));
  transition: transform .4s var(--pi-ease);
}
.et_pb_image_0_tb_footer:hover img { transform: translateY(-2px); }

.privacy-row {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 24px;
  padding: 0;
  margin: 0 0 14px;
}
.privacy-row li { display: inline-block; }
.privacy-row a {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 12px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: rgba(216,231,253,.55);
  text-decoration: none;
  transition: color .25s var(--pi-ease);
}
.privacy-row a:hover { color: var(--pi-gold-pale); }

.sardis-social {
  display: inline-flex !important;
  width: 36px; height: 36px;
  border: 1px solid rgba(216,231,253,.18);
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  opacity: .6 !important;
  transition: opacity .25s var(--pi-ease), border-color .25s var(--pi-ease), background .25s var(--pi-ease), transform .25s var(--pi-ease) !important;
}
.sardis-social:hover {
  opacity: 1 !important;
  border-color: var(--pi-gold-pale);
  background: rgba(163,126,58,.10);
  transform: translateY(-2px);
}
.sardis-social svg { width: 16px; height: 16px; }

/* ============================================================
   SCROLL REVEAL — apply via .pi-reveal (JS-set .is-visible)
   Respects prefers-reduced-motion.
   ============================================================ */
.pi-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .8s var(--pi-ease), transform .8s var(--pi-ease);
  will-change: opacity, transform;
}
.pi-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.pi-reveal--delay-1 { transition-delay: .08s; }
.pi-reveal--delay-2 { transition-delay: .16s; }
.pi-reveal--delay-3 { transition-delay: .24s; }
.pi-reveal--delay-4 { transition-delay: .32s; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
  .pi-reveal { opacity: 1; transform: none; }
}

/* ============================================================
   SKIP LINK (a11y)
   ============================================================ */
.pi-skip {
  position: absolute;
  left: 12px;
  top: -100px;
  background: var(--pi-navy);
  color: #fff;
  padding: 10px 18px;
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  text-decoration: none;
  z-index: 9999;
  transition: top .25s var(--pi-ease);
}
.pi-skip:focus { top: 12px; }

/* ============================================================
   RESPONSIVE refinements
   ============================================================ */
@media (max-width: 980px) {
  body.page-institutional .pi-hero .pi-scroll-cue { display: none; }
  body.page-institutional .pi-spread__img-wrap::before,
  body.page-institutional .pi-spread--flip .pi-spread__img-wrap::before,
  body.page-institutional .pi-photo-aside__img-wrap::before { inset: 10px 10px -10px -10px; }
  .et-l--header.is-scrolled .et_pb_menu_0_tb_header .et_pb_menu__logo img { height: 40px; }
}
@media (max-width: 767px) {
  body.page-institutional .pi-statement__lead { padding-left: 18px; }
  body.page-institutional .pi-spread__img-wrap::before,
  body.page-institutional .pi-spread--flip .pi-spread__img-wrap::before,
  body.page-institutional .pi-photo-aside__img-wrap::before { display: none; }
  .pi-progress { height: 1.5px; }
}

/* ============================================================
   FUNDS PAGE — ticker line, fund-data tables, performance grid,
   sector allocation bars, document list, dense disclosure
   ============================================================ */

/* "as of" date that sits inline with the eyebrow */
body.page-institutional .pi-eyebrow__date {
  margin-left: 14px;
  color: var(--pi-ink-2);
  font-weight: 400;
  letter-spacing: 1.4px;
  text-transform: none;
}

/* Subsection title under a section title (smaller, navy serif) */
body.page-institutional .pi-subsection-title {
  font-family: "Reckless Neue", Georgia, "Times New Roman", serif;
  font-size: clamp(20px, 1.8vw, 24px);
  color: var(--pi-navy);
  font-weight: 400;
  letter-spacing: -0.01em;
  margin: 56px 0 22px;
}

/* Two-column fund data table — hairline rows, label/value pairs */
body.page-institutional .pi-fundtable {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 64px;
  margin: 32px 0 24px;
}
body.page-institutional .pi-fundtable__list {
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(18,18,43,.14);
}
body.page-institutional .pi-fundtable__list > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  padding: 14px 4px;
  border-bottom: 1px solid rgba(18,18,43,.14);
}
body.page-institutional .pi-fundtable__list dt {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 14px;
  color: var(--pi-ink-2);
  font-weight: 400;
}
body.page-institutional .pi-fundtable__list dd {
  font-family: "Reckless Neue", Georgia, "Times New Roman", serif;
  font-size: 16px;
  color: var(--pi-navy);
  margin: 0;
  text-align: right;
}
body.page-institutional .pi-fundtable__list sup {
  color: var(--pi-gold);
  font-size: .7em;
  margin-left: 2px;
}

/* Performance table — wider grid */
body.page-institutional .pi-perftable-wrap {
  margin: 32px 0 24px;
  overflow-x: auto;
}
body.page-institutional .pi-perftable {
  width: 100%;
  border-collapse: collapse;
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
}
body.page-institutional .pi-perftable thead th {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--pi-ink-2);
  padding: 0 12px 14px;
  text-align: right;
  border-bottom: 1px solid rgba(18,18,43,.22);
  vertical-align: bottom;
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
}
body.page-institutional .pi-perftable thead th.pi-perftable__rowhead { text-align: left; }
body.page-institutional .pi-perftable thead th.pi-perftable__sinc { white-space: nowrap; }
body.page-institutional .pi-perftable thead th.pi-perftable__sinc .pi-perftable__sinc-date {
  font-weight: 400;
  letter-spacing: 1.2px;
  color: var(--pi-ink-2);
  opacity: .7;
  font-size: 10px;
}
/* On mobile the long "Cumulative Since Inception" header is abbreviated to
   ITD*, with the full term + date moved to a disclaimer footnote below. */
body.page-institutional .pi-perftable__sinc-abbr { display: none; }
body.page-institutional .pi-footnote--itd { display: none; }
body.page-institutional .pi-perftable tbody td {
  padding: 18px 12px;
  font-family: "Reckless Neue", Georgia, "Times New Roman", serif;
  font-size: 16px;
  color: var(--pi-navy);
  text-align: right;
  border-bottom: 1px solid rgba(18,18,43,.14);
}
body.page-institutional .pi-perftable tbody td.pi-perftable__rowhead {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 14px;
  text-align: left;
  color: var(--pi-ink);
  font-weight: 400;
}

/* Sector allocation bar chart */
body.page-institutional .pi-allocation {
  margin: 0;
  padding: 0;
}
body.page-institutional .pi-allocation__row {
  display: grid;
  grid-template-columns: 220px 1fr 60px;
  align-items: center;
  gap: 24px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(18,18,43,.10);
}
body.page-institutional .pi-allocation__row dt {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 14px;
  color: var(--pi-ink);
  font-weight: 400;
}
body.page-institutional .pi-allocation__bar {
  position: relative;
  height: 4px;
  background: rgba(18,18,43,.08);
  border-radius: 2px;
  margin: 0;
  overflow: hidden;
}
body.page-institutional .pi-allocation__fill {
  position: absolute;
  inset: 0 auto 0 0;
  background: var(--pi-gold);
  border-radius: 2px;
  transition: width .6s var(--pi-ease);
}
body.page-institutional .pi-allocation__val {
  font-family: "Reckless Neue", Georgia, "Times New Roman", serif;
  font-size: 15px;
  color: var(--pi-navy);
  margin: 0;
  text-align: right;
}

/* Servicers row (Administrator / Transfer Agent / Auditor) */
body.page-institutional .pi-servicers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin: 32px 0 0;
  padding: 28px 0 0;
  border-top: 1px solid rgba(18,18,43,.14);
}
body.page-institutional .pi-servicers__label {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: var(--pi-gold);
  margin: 0 0 6px;
}
body.page-institutional .pi-servicers__value {
  font-family: "Reckless Neue", Georgia, "Times New Roman", serif;
  font-size: 16px;
  color: var(--pi-navy);
  margin: 0;
}

/* Site-wide: footnote/disclosure asterisks and markers (wrapped in <sup>)
   render in gold, matching the fund-data sections. More specific rules
   (e.g. .pi-insight sup a citation links) still win where set. */
body.page-institutional sup {
  color: var(--pi-gold);
}

/* Footnotes used across fund-data sections */
body.page-institutional .pi-footnote {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 12px;
  line-height: 1.6;
  color: var(--pi-ink-2);
  margin: 14px 0 0;
}
body.page-institutional .pi-footnote sup {
  color: var(--pi-gold);
  margin-right: 1px;
}
body.page-institutional .pi-footnote a {
  color: var(--pi-gold);
  text-decoration: none;
  border-bottom: 1px solid rgba(163,126,58,.4);
}
body.page-institutional .pi-footnote a:hover {
  color: var(--pi-navy);
  border-bottom-color: var(--pi-navy);
}

@media only screen and (max-width: 768px) {
  body.page-institutional .pi-fundtable {
    grid-template-columns: 1fr;
    gap: 0;
  }
  body.page-institutional .pi-fundtable__col:nth-child(2) .pi-fundtable__list { border-top: 0; }
  body.page-institutional .pi-servicers { grid-template-columns: 1fr; gap: 18px; }
  body.page-institutional .pi-allocation__row {
    grid-template-columns: 1fr 70px;
    grid-template-rows: auto auto;
    row-gap: 8px;
    column-gap: 14px;
  }
  body.page-institutional .pi-allocation__row dt { grid-column: 1 / 2; grid-row: 1; }
  body.page-institutional .pi-allocation__row .pi-allocation__val { grid-column: 2 / 3; grid-row: 1; }
  body.page-institutional .pi-allocation__row .pi-allocation__bar { grid-column: 1 / 3; grid-row: 2; }
  body.page-institutional .pi-perftable thead th,
  body.page-institutional .pi-perftable tbody td { padding: 10px 8px; font-size: 13px; }
  body.page-institutional .pi-perftable__sinc-full { display: none; }
  body.page-institutional .pi-perftable__sinc-abbr { display: inline; }
  body.page-institutional .pi-footnote--itd { display: block; }
}

body.page-institutional .pi-ticker {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2.2px;
  text-transform: uppercase;
  color: var(--pi-gold);
}
body.page-institutional .pi-ticker strong {
  font-weight: 700;
  color: var(--pi-navy);
  letter-spacing: 1.8px;
}
body.page-institutional .pi-ticker__sep {
  display: inline-block;
  margin: 0 16px;
  color: var(--pi-ink-2);
  opacity: .5;
}

/* Document list — quietly editorial, hairline rules, gold arrow on hover */
body.page-institutional .pi-doclist {
  list-style: none;
  margin: 36px 0 0;
  padding: 0;
  border-top: 1px solid rgba(18,18,43,.14);
}
body.page-institutional .pi-doclist__item {
  border-bottom: 1px solid rgba(18,18,43,.14);
}
body.page-institutional .pi-doclist__item a {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 4px;
  text-decoration: none;
  color: var(--pi-navy);
  font-family: "Reckless Neue", Georgia, "Times New Roman", serif;
  transition: color .25s var(--pi-ease), padding .25s var(--pi-ease);
  position: relative;
}
body.page-institutional .pi-doclist__item a::after {
  content: "→";
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translate(8px, -50%);
  opacity: 0;
  color: var(--pi-gold);
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  transition: opacity .25s var(--pi-ease), transform .25s var(--pi-ease);
}
body.page-institutional .pi-doclist__item a:hover {
  color: var(--pi-gold);
  padding-left: 12px;
}
body.page-institutional .pi-doclist__item a:hover::after {
  opacity: 1;
  transform: translate(0, -50%);
}
body.page-institutional .pi-doclist__label {
  font-size: clamp(17px, 1.4vw, 20px);
  line-height: 1.35;
}
body.page-institutional .pi-doclist__label em {
  font-family: "Reckless Neue", Georgia, "Times New Roman", serif;
  font-style: italic;
  color: var(--pi-ink-2);
  font-size: .9em;
}
body.page-institutional .pi-doclist__meta {
  flex: 0 0 auto;
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: var(--pi-ink-2);
  padding-right: 28px;
}
body.page-institutional .pi-doclist__item a:hover .pi-doclist__meta { color: var(--pi-gold); }

/* Fund disclosure — denser type, no TOC, full width */
body.page-institutional .pi-fund-disclosure {
  max-width: 880px;
  margin: 0 auto;
  column-count: 1;
}
body.page-institutional .pi-fund-disclosure h2 {
  font-family: "Reckless Neue", Georgia, "Times New Roman", serif;
  font-size: clamp(20px, 1.8vw, 26px);
  color: var(--pi-navy);
  margin: 0 0 18px;
  font-weight: 400;
  letter-spacing: -0.01em;
}
body.page-institutional .pi-fund-disclosure p {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 13px;
  line-height: 1.7;
  color: var(--pi-ink-2);
  margin: 0 0 14px;
}
body.page-institutional .pi-fund-disclosure p strong {
  color: var(--pi-navy);
  font-weight: 700;
}
body.page-institutional .pi-fund-disclosure a {
  color: var(--pi-gold);
  text-decoration: none;
  border-bottom: 1px solid rgba(163,126,58,.4);
  transition: border-color .25s var(--pi-ease), color .25s var(--pi-ease);
}
body.page-institutional .pi-fund-disclosure a:hover {
  color: var(--pi-navy);
  border-bottom-color: var(--pi-navy);
}

@media only screen and (max-width: 640px) {
  body.page-institutional .pi-doclist__item a {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
  body.page-institutional .pi-doclist__meta { padding-right: 0; }
  body.page-institutional .pi-ticker__sep { margin: 0 10px; }
}

/* ============================================================
   ABOUT — pullquote: tighter scale for longer copy
   ============================================================ */
body.page-institutional .pi-pullquote {
  font-size: clamp(22px, 2.1vw, 28px);
  line-height: 1.35;
}

/* ============================================================
   HOME — SOLUTIONS list (SMA + SGSIX) — editorial split rows
   ============================================================ */
body.page-institutional .pi-solutions {
  margin: 48px 0 0;
  padding: 0;
  border-top: 1px solid var(--pi-rule-strong);
}
body.page-institutional .pi-solutions__row {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 64px;
  padding: 40px 0;
  border-bottom: 1px solid var(--pi-rule);
  align-items: start;
  position: relative;
}
body.page-institutional .pi-solutions__row::before {
  content: "";
  position: absolute;
  top: -1px; left: 0;
  width: 0;
  height: 1px;
  background: var(--pi-gold);
  transition: width .6s var(--pi-ease);
}
body.page-institutional .pi-solutions__row:hover::before { width: 80px; }
body.page-institutional .pi-solutions__head { padding-top: 4px; }
body.page-institutional .pi-solutions__tag {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: var(--pi-gold);
  margin: 0 0 14px;
}
body.page-institutional .pi-solutions__h {
  font-family: "Reckless Neue", Georgia, "Times New Roman", serif;
  font-size: clamp(24px, 2.2vw, 32px);
  line-height: 1.18;
  color: var(--pi-navy);
  margin: 0;
  font-weight: 400;
  letter-spacing: -0.01em;
}
body.page-institutional .pi-solutions__body {
  margin: 0;
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  color: var(--pi-ink);
}
body.page-institutional .pi-solutions__body a {
  color: var(--pi-gold);
  text-decoration: none;
  border-bottom: 1px solid rgba(163,126,58,.4);
  transition: color .25s var(--pi-ease), border-color .25s var(--pi-ease);
}
body.page-institutional .pi-solutions__body a:hover {
  color: var(--pi-navy);
  border-bottom-color: var(--pi-navy);
}
@media (max-width: 880px) {
  body.page-institutional .pi-solutions__row {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 32px 0;
  }
}

/* ============================================================
   FUNDS PAGE — refinements: stat grid, donut + legend,
   2-col document grid, tightened section rhythm
   ============================================================ */

/* Tighter vertical rhythm on the funds page to reduce the long-scroll feel */
body.page-institutional.page-funds .pi-section { padding-top: 72px; padding-bottom: 72px; }
body.page-institutional.page-funds .pi-section__title { margin-bottom: 28px; }

/* Highlight stat grid (NAV / TNA / Yield / Positions) */
body.page-institutional .pi-statgrid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin: 28px 0 36px;
  border-top: 1px solid var(--pi-rule-strong);
  border-bottom: 1px solid var(--pi-rule-strong);
}
body.page-institutional .pi-stat {
  padding: 22px 24px;
  border-right: 1px solid var(--pi-rule);
}
body.page-institutional .pi-stat:last-child { border-right: 0; }
body.page-institutional .pi-stat__label {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.2px;
  text-transform: uppercase;
  color: var(--pi-ink-2);
  margin: 0 0 8px;
}
body.page-institutional .pi-stat__label sup { color: var(--pi-gold); margin-left: 2px; }
body.page-institutional .pi-stat__value {
  font-family: "Reckless Neue", Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 2.2vw, 30px);
  color: var(--pi-navy);
  font-weight: 400;
  letter-spacing: -0.01em;
  margin: 0;
  font-feature-settings: "lnum" 1, "tnum" 1;
}
@media (max-width: 768px) {
  body.page-institutional .pi-statgrid { grid-template-columns: repeat(2, 1fr); }
  body.page-institutional .pi-stat:nth-child(2) { border-right: 0; }
  body.page-institutional .pi-stat:nth-child(1),
  body.page-institutional .pi-stat:nth-child(2) { border-bottom: 1px solid var(--pi-rule); }
}

/* Donut chart + legend */
body.page-institutional .pi-donut-wrap {
  display: grid;
  grid-template-columns: minmax(260px, 380px) 1fr;
  gap: 64px;
  align-items: center;
  margin: 36px 0 24px;
}
body.page-institutional .pi-donut {
  position: relative;
  width: 100%;
  max-width: 360px;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
}
body.page-institutional .pi-donut svg {
  width: 100%;
  height: 100%;
  display: block;
  filter: drop-shadow(0 6px 24px rgba(18,18,43,.08));
}
body.page-institutional .pi-donut path {
  transition: opacity .25s var(--pi-ease), transform .35s var(--pi-ease);
  transform-origin: 50% 50%;
}
body.page-institutional .pi-donut:hover path { opacity: .55; }
body.page-institutional .pi-donut path:hover { opacity: 1; transform: scale(1.02); }

/* Floating tooltip on donut hover */
body.page-institutional .pi-donut__tip {
  position: absolute;
  top: 0; left: 0;
  pointer-events: none;
  background: var(--pi-navy);
  color: #fff;
  padding: 8px 12px;
  border-left: 2px solid var(--pi-gold);
  box-shadow: 0 6px 24px rgba(18,18,43,.18);
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 140px;
  opacity: 0;
  transform: translate(-50%, calc(-100% - 12px));
  transition: opacity .15s var(--pi-ease);
  z-index: 5;
  white-space: nowrap;
}
body.page-institutional .pi-donut__tip.is-visible { opacity: 1; }
body.page-institutional .pi-donut__tip-label {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--pi-gold-pale);
}
body.page-institutional .pi-donut__tip-value {
  font-family: "Reckless Neue", Georgia, "Times New Roman", serif;
  font-size: 18px;
  color: #fff;
  font-feature-settings: "lnum" 1, "tnum" 1;
}

body.page-institutional .pi-legend {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--pi-rule);
}
body.page-institutional .pi-legend__row {
  display: grid;
  grid-template-columns: 16px 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 14px 4px;
  border-bottom: 1px solid var(--pi-rule);
}
body.page-institutional .pi-legend__swatch {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 2px;
}
body.page-institutional .pi-legend dt {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 14px;
  color: var(--pi-ink);
}
body.page-institutional .pi-legend dd {
  margin: 0;
  font-family: "Reckless Neue", Georgia, "Times New Roman", serif;
  font-size: 16px;
  color: var(--pi-navy);
  font-feature-settings: "lnum" 1, "tnum" 1;
}

@media (max-width: 880px) {
  body.page-institutional .pi-donut-wrap {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  body.page-institutional .pi-donut { max-width: 280px; }
}

/* Two-column document grid */
body.page-institutional .pi-doclist--grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 48px;
  border-top: 1px solid rgba(18,18,43,.14);
}
body.page-institutional .pi-doclist--grid .pi-doclist__item a {
  padding: 18px 4px;
}
body.page-institutional .pi-doclist--grid .pi-doclist__label {
  font-size: clamp(15px, 1.1vw, 17px);
}
@media (max-width: 768px) {
  body.page-institutional .pi-doclist--grid {
    grid-template-columns: 1fr;
    column-gap: 0;
  }
}

/* ============================================================
   INSIGHTS — Featured (lead) card
   ============================================================ */
body.page-institutional .pi-insight-featured {
  margin-top: 40px;
  border-top: 1px solid var(--pi-gold);
  border-bottom: 1px solid rgba(18,18,43,.16);
  padding: 48px 0 52px 0;
  position: relative;
}
body.page-institutional .pi-insight-featured::before {
  content: "";
  position: absolute;
  top: -1px; left: 0;
  width: 100%; height: 2px;
  background: linear-gradient(90deg, var(--pi-gold) 0%, var(--pi-gold-soft) 70%, transparent 100%);
}
body.page-institutional .pi-insight-featured a {
  display: block;
  color: inherit;
  text-decoration: none;
  max-width: 880px;
}
body.page-institutional .pi-insight-featured__meta {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--pi-gold-deep, #a37e3a);
  margin: 0 0 22px 0;
}
body.page-institutional .pi-insight-featured__title {
  font-family: "Reckless Neue", Georgia, serif;
  font-weight: 400;
  font-size: clamp(30px, 3.4vw, 48px);
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--pi-navy);
  margin: 0 0 22px 0;
  transition: color .25s var(--pi-ease);
}
body.page-institutional .pi-insight-featured a:hover .pi-insight-featured__title {
  color: #1c3a6e;
}
body.page-institutional .pi-insight-featured__summary {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: clamp(16px, 1.2vw, 19px);
  line-height: 1.6;
  color: rgba(18,18,43,.78);
  margin: 0 0 28px 0;
  max-width: 60ch;
}
body.page-institutional .pi-insight-featured__cta {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--pi-navy);
  margin: 0;
}
body.page-institutional .pi-insight-featured__cta span {
  display: inline-block;
  margin-left: 10px;
  transition: transform .25s var(--pi-ease);
}
body.page-institutional .pi-insight-featured a:hover .pi-insight-featured__cta span {
  transform: translateX(8px);
}

/* ============================================================
   INSIGHTS INDEX — editorial card grid
   ============================================================ */
body.page-institutional .pi-insight-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 64px;
  margin-top: 48px;
}
@media (max-width: 900px) {
  body.page-institutional .pi-insight-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
body.page-institutional .pi-insight-card {
  border-top: 1px solid rgba(18,18,43,.16);
  padding: 32px 0 36px 0;
  position: relative;
}
body.page-institutional .pi-insight-card::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 56px;
  height: 1px;
  background: var(--pi-gold);
  transition: width .35s var(--pi-ease);
}
body.page-institutional .pi-insight-card:hover::before {
  width: 100%;
}
body.page-institutional .pi-insight-card a {
  display: block;
  color: inherit;
  text-decoration: none;
}
body.page-institutional .pi-insight-card__meta {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: rgba(18,18,43,.55);
  margin: 0 0 18px 0;
}
body.page-institutional .pi-insight-card__title {
  font-family: "Reckless Neue", Georgia, serif;
  font-weight: 400;
  font-size: clamp(22px, 1.9vw, 30px);
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--pi-navy);
  margin: 0 0 16px 0;
  transition: color .25s var(--pi-ease);
}
body.page-institutional .pi-insight-card a:hover .pi-insight-card__title {
  color: #1c3a6e;
}
body.page-institutional .pi-insight-card__summary {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(18,18,43,.72);
  margin: 0 0 22px 0;
  max-width: 50ch;
}
body.page-institutional .pi-insight-card__cta {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--pi-navy);
  margin: 0;
}
body.page-institutional .pi-insight-card__cta span {
  display: inline-block;
  margin-left: 8px;
  transition: transform .25s var(--pi-ease);
}
body.page-institutional .pi-insight-card a:hover .pi-insight-card__cta span {
  transform: translateX(6px);
}
body.page-institutional .pi-insight-card--empty {
  opacity: .65;
}

/* ============================================================
   INSIGHT DETAIL PAGE — editorial article layout
   ============================================================ */
body.page-institutional .pi-insight {
  max-width: 720px;
  margin: 0 auto;
}
body.page-institutional .pi-insight > p {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: clamp(16px, 1.1vw, 18px);
  line-height: 1.75;
  color: rgba(18,18,43,.88);
  margin: 0 0 1.4em 0;
}
body.page-institutional .pi-insight a {
  color: var(--pi-navy);
  border-bottom: 1px solid rgba(18,18,43,.3);
  text-decoration: none;
  transition: border-color .2s var(--pi-ease);
}
body.page-institutional .pi-insight a:hover {
  border-bottom-color: var(--pi-gold);
}
body.page-institutional .pi-insight__figure {
  margin: 44px 0 48px 0;
  text-align: center;
}
body.page-institutional .pi-insight__figure img {
  max-width: 100%;
  height: auto;
  display: inline-block;
  border: 1px solid rgba(18,18,43,.08);
  box-shadow: 0 8px 28px rgba(8,10,6,.10);
  border-radius: 2px;
}
body.page-institutional .pi-insight__figure figcaption {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: rgba(18,18,43,.5);
  margin-top: 14px;
}
body.page-institutional .pi-insight__footnotes {
  list-style: decimal;
  margin: 48px 0 0 0;
  padding: 24px 0 0 1.4em;
  border-top: 1px solid rgba(18,18,43,.14);
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 13px;
  line-height: 1.6;
  color: rgba(18,18,43,.7);
}
body.page-institutional .pi-insight__footnotes li {
  margin-bottom: .7em;
  padding-left: .3em;
}
body.page-institutional .pi-insight sup {
  font-size: .7em;
  vertical-align: super;
  line-height: 0;
}
body.page-institutional .pi-insight sup a {
  border: 0;
  font-weight: 700;
  color: var(--pi-navy);
  padding: 0 2px;
}

/* Disclosure block at the bottom of each insight */
body.page-institutional .pi-insight__disclosures {
  max-width: 720px;
  margin: 0 auto;
  padding-top: 8px;
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 12px;
  line-height: 1.7;
  color: rgba(18,18,43,.62);
}
body.page-institutional .pi-insight__disclosures-h {
  font-family: "Atkinson Hyperlegible", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--pi-navy);
  margin: 0 0 18px 0;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(18,18,43,.14);
}
body.page-institutional .pi-insight__disclosures p {
  margin: 0 0 12px 0;
}

/* Detail page cover variant — slim editorial header */
body.page-institutional .pi-cover--insight .pi-cover__sub {
  font-style: italic;
  color: rgba(18,18,43,.6);
  font-size: 14px;
  letter-spacing: .3px;
  margin-top: 8px;
}

/* Ghost button for "Back to Insights" affordance */
body.page-institutional .pi-btn--ghost {
  background: transparent !important;
  color: var(--pi-navy) !important;
  border: 1px solid rgba(18,18,43,.4) !important;
  margin-left: 12px;
}
body.page-institutional .pi-btn--ghost:hover {
  background: var(--pi-navy) !important;
  color: #fff !important;
  border-color: var(--pi-navy) !important;
}
