/*
Theme Name: Fortuneo Theme
Theme URI: https://fortuneocre.com
Author: Fortuneo, LLC
Author URI: https://fortuneocre.com
Description: Mechanical wrapper theme for the Fortuneo Class A commercial real estate mock-up. Renders mock-up markup verbatim inside WordPress.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: fortuneo-theme
*/

/* ============================================================
   Fortuneo — hand-written CSS.
   Palette: forest + warm gold, ivory paper, soft stone
   Font pairing: Playfair Display + Inter
   ============================================================ */

:root{
  /* palette */
  --forest-dark:#012722;      /* primary dark field */
  --forest:#013c33;           /* mid forest */
  --forest-deep:#001d1a;      /* deepest */
  --gold:#c99a35;             /* warm gold accent */
  --gold-bright:#e0b449;      /* highlight gold */
  --gold-soft:#dcbf7f;        /* muted gold */
  --paper:#fbf7ef;            /* ivory paper */
  --stone:#f2ece0;            /* warmer stone */
  --fog:#e2d9c6;              /* border tint */
  --ink:#1a1f1c;              /* body text */
  --slate:#5a6660;            /* muted text */
  --white:#ffffff;

  --font-display:'Playfair Display','Georgia',serif;
  --font-body:'Inter','Helvetica Neue',Arial,sans-serif;

  --maxw:1240px;
  --gap:24px;
  --radius:4px;
  --shadow:0 1px 3px rgba(1,39,34,.08),0 10px 28px rgba(1,39,34,.06);
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{overflow-x:clip;max-width:100vw}
body{
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.6;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:var(--forest);text-decoration:none;transition:color .2s ease}
a:hover{color:var(--gold)}
ul{list-style:none}

/* ---------- typography ---------- */
h1,h2,h3,h4{font-family:var(--font-display);color:var(--forest-dark);line-height:1.12;font-weight:600;letter-spacing:-.01em}
h1{font-size:80px;letter-spacing:-.015em}
h2{font-size:40px}
h3{font-size:24px}
p{margin-bottom:1rem}
p:last-child{margin-bottom:0}
.lede{font-style:italic;font-size:21px;line-height:1.5;color:var(--slate);font-family:var(--font-display);font-weight:400}

.eyebrow{
  font-family:var(--font-body);
  font-size:12px;
  font-weight:600;
  letter-spacing:.20em;
  text-transform:uppercase;
  color:var(--forest);
  display:block;
  margin-bottom:18px;
}
.gold-rule{width:64px;height:3px;background:var(--gold);border:0;margin:24px 0}
.gold-rule.center{margin-left:auto;margin-right:auto}

/* ---------- layout primitives ---------- */
.container{max-width:var(--maxw);margin:0 auto;padding:0 32px}
.section{padding:88px 0}
.section.tight{padding:56px 0}
.bg-paper{background:var(--paper)}
.bg-stone{background:var(--stone)}
.bg-white{background:var(--white)}
.bg-forest{background:var(--forest-dark);color:var(--white)}
.bg-forest h2,.bg-forest h3{color:var(--white)}
.bg-forest .eyebrow,.hero-dark .eyebrow{color:var(--gold-bright)}
.bg-forest p{color:rgba(255,255,255,.82)}
.bg-forest .lede{color:rgba(255,255,255,.82)}

.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:48px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.measure{max-width:62ch}

/* ---------- sticky header / nav ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:var(--forest-dark);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 32px;max-width:1440px;margin:0 auto;flex-wrap:wrap;gap:12px 24px}
.brand{display:flex;align-items:center;gap:14px}
.brand img,.brand .brand-mark{height:78px;width:auto;filter:drop-shadow(0 0 4px rgba(201,154,53,.35))}
.main-nav ul{display:flex;flex-wrap:wrap;gap:22px;align-items:center}
.main-nav a{
  font-size:14.5px;font-weight:500;color:rgba(255,255,255,.85);
  letter-spacing:.01em;padding:4px 0;border-bottom:2px solid transparent;
  transition:color .2s ease,border-color .2s ease;
}
.main-nav a:hover{color:var(--white);border-bottom-color:rgba(201,154,53,.55)}
.main-nav a.active{color:var(--white);border-bottom-color:var(--gold)}

/* nav dropdown groups */
.nav-group{position:relative}
.nav-group-btn{
  background:transparent;border:0;color:rgba(255,255,255,.85);font:inherit;
  font-size:14.5px;font-weight:500;letter-spacing:.01em;padding:4px 0;
  display:inline-flex;align-items:center;gap:6px;cursor:pointer;
  border-bottom:2px solid transparent;transition:color .2s ease,border-color .2s ease;
  font-family:var(--font-body);
}
.nav-group-btn:hover,.nav-group-btn[aria-expanded="true"]{color:var(--white);border-bottom-color:rgba(201,154,53,.55)}
.nav-caret{font-size:10px;line-height:1;transform:translateY(-1px);transition:transform .2s ease;opacity:.85}
.nav-group-btn[aria-expanded="true"] .nav-caret{transform:translateY(-1px) rotate(180deg)}
.main-nav .nav-submenu{
  position:absolute;top:calc(100% + 8px);left:0;min-width:230px;
  background:#013a31;border:1px solid rgba(201,154,53,.24);border-radius:6px;
  padding:8px 0;display:none;flex-direction:column;gap:0;align-items:stretch;flex-wrap:nowrap;
  box-shadow:0 18px 40px rgba(0,0,0,.45);z-index:100;
}
.main-nav .nav-group:hover > .nav-submenu,
.main-nav .nav-group:focus-within > .nav-submenu,
.main-nav .nav-group-btn[aria-expanded="true"] + .nav-submenu{display:flex}
.main-nav .nav-submenu li{list-style:none;border:0}
.main-nav .nav-submenu a{
  display:block;padding:10px 20px;font-size:14px;color:rgba(255,255,255,.88);
  border-bottom:0;letter-spacing:.01em;white-space:nowrap;
}
.main-nav .nav-submenu a:hover{background:rgba(201,154,53,.12);color:var(--white);border-bottom:0}
.main-nav .nav-submenu a.active{color:var(--gold-bright);border-bottom:0}

.nav-cta{
  display:inline-block;padding:9px 20px;background:var(--gold);color:var(--forest-dark)!important;
  font-size:13px;font-weight:600;letter-spacing:.10em;text-transform:uppercase;border-radius:3px;
  border-bottom:0!important;transition:background .2s ease;
}
.nav-cta:hover{background:var(--gold-bright)}

/* ---------- hero ---------- */
.hero{padding:104px 0 88px;position:relative;overflow:hidden}
.hero-dark{background:var(--forest-dark);color:var(--white)}
.hero-dark h1,.hero-dark h2{color:var(--white)}
.hero-dark .lede{color:rgba(255,255,255,.82)}
.hero-stone{background:var(--stone)}
.hero-paper{background:var(--paper)}
.hero h1{max-width:18ch}
.hero .lede{max-width:60ch;margin-top:8px}
.hero-meta{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:8px}

/* editorial hero variant (SBC-derived) */
.hero-editorial h1{font-size:84px;font-weight:500;line-height:1.05;letter-spacing:-.015em;max-width:16ch}
.hero-editorial .lede{margin-top:32px;font-size:23px;color:rgba(255,255,255,.86);font-style:normal;max-width:56ch;font-family:var(--font-body);font-weight:400;line-height:1.55}
.hero-editorial .eyebrow{color:var(--gold-bright);margin-bottom:28px}

/* hero image variant (subtle backdrop, editorial overlay) */
.hero-image{position:relative;min-height:640px;display:flex;align-items:flex-end;padding:0}
.hero-image .hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.hero-image .hero-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(1,39,34,.32) 0%,rgba(1,39,34,.65) 55%,rgba(1,39,34,.95) 100%)}
.hero-image .container{position:relative;z-index:2;width:100%;padding-top:0;padding-bottom:64px}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;font-family:var(--font-body);font-weight:600;font-size:14px;
  letter-spacing:.10em;text-transform:uppercase;padding:14px 28px;border-radius:var(--radius);
  border:1.5px solid transparent;cursor:pointer;transition:.18s;
}
.btn-gold{background:var(--gold);color:var(--forest-dark);border-color:var(--gold)}
.btn-gold:hover{background:var(--gold-bright);border-color:var(--gold-bright);color:var(--forest-dark)}
.btn-ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.4)}
.btn-ghost:hover{border-color:var(--gold);color:var(--white)}
.btn-forest{background:var(--forest);color:var(--white);border-color:var(--forest)}
.btn-forest:hover{background:var(--forest-dark);color:var(--white)}
.btn-outline{background:transparent;color:var(--forest);border-color:var(--forest)}
.btn-outline:hover{background:var(--forest);color:var(--white)}
.btn-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:36px}

/* ---------- stat cards / dual AUM ---------- */
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);margin-top:8px}
.stat-card{background:var(--white);border:1px solid var(--fog);border-radius:var(--radius);padding:28px 24px}
.stat-card .stat-num{font-family:var(--font-display);font-size:36px;color:var(--forest);font-weight:600;line-height:1}
.stat-card .stat-label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--slate);margin-top:12px;font-weight:600}
.bg-forest .stat-card,.hero-dark .stat-card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14)}
.bg-forest .stat-card .stat-num,.hero-dark .stat-card .stat-num{color:var(--gold-bright)}
.bg-forest .stat-card .stat-label,.hero-dark .stat-card .stat-label{color:rgba(255,255,255,.72)}

.aum-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:44px;max-width:840px}
.aum-block{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.16);border-left:3px solid var(--gold);border-radius:var(--radius);padding:32px}
.aum-block .aum-num{font-family:var(--font-display);font-size:60px;line-height:1;color:var(--white);font-weight:600}
.aum-block .aum-cap{font-size:14.5px;color:rgba(255,255,255,.74);margin-top:14px;max-width:34ch}
.aum-block .eyebrow{color:var(--gold-bright);margin-bottom:16px}

.stat-strip{display:flex;flex-wrap:wrap;gap:36px 56px;margin-top:36px}
.stat-strip .item .num{font-family:var(--font-display);font-size:44px;color:var(--forest);font-weight:600;line-height:1}
.stat-strip .item .lbl{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-top:8px;font-weight:600}
.bg-forest .stat-strip .item .num{color:var(--gold-bright)}
.bg-forest .stat-strip .item .lbl{color:rgba(255,255,255,.72)}

/* firm stat band (KKR-style) */
.firm-stat-band{background:var(--forest-dark);color:var(--white);padding:80px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.firm-stat-band .band-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.firm-stat-band .band-item{padding:0 8px}
.firm-stat-band .band-num{font-family:var(--font-display);font-weight:400;font-size:60px;line-height:1;color:var(--white)}
.firm-stat-band .band-num .currency{font-size:34px;vertical-align:top;margin-right:4px;color:var(--gold-bright)}
.firm-stat-band .band-label{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.68);margin-top:18px;font-weight:600}

/* ---------- two-col section ---------- */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.two-col h2{margin-bottom:16px}

/* arrow bullets */
.arrow-list li{position:relative;padding-left:30px;margin-bottom:16px;line-height:1.6}
.arrow-list li::before{content:"\2192";position:absolute;left:0;top:0;color:var(--gold);font-weight:700}

/* ---------- card grids ---------- */
.card{background:var(--white);border:1px solid var(--fog);border-radius:var(--radius);padding:28px;transition:.28s;display:block;height:100%}
.card:hover{border-color:var(--gold);box-shadow:var(--shadow);transform:translateY(-3px)}
.card h3{font-size:22px;margin-bottom:8px;color:var(--forest-dark)}
.card .card-eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:12px;display:block}
.card p{font-size:15.5px;color:var(--slate);line-height:1.6}
.card .card-link{display:inline-block;margin-top:14px;font-size:13px;font-weight:600;color:var(--forest);letter-spacing:.06em;text-transform:uppercase}
.card .card-link::after{content:" \2192"}

/* fund card variant (SBC-derived, richer) */
.fund-card{background:var(--white);border:1px solid var(--fog);border-radius:var(--radius);padding:32px 28px;transition:.28s;display:block;height:100%;position:relative}
.fund-card:hover{border-color:var(--gold);box-shadow:var(--shadow);transform:translateY(-3px)}
.fund-card .fund-tag{font-family:var(--font-body);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:12px;display:block}
.fund-card h3{font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--forest-dark);line-height:1.2;margin-bottom:14px}
.fund-card .fund-size{font-family:var(--font-display);font-size:28px;font-weight:600;color:var(--forest);margin-bottom:6px}
.fund-card .fund-strategy{font-size:14px;color:var(--slate);line-height:1.55;margin-bottom:14px}
.fund-card .fund-meta{font-size:12px;letter-spacing:.10em;text-transform:uppercase;color:var(--slate);font-weight:600;margin-top:auto;padding-top:14px;border-top:1px solid var(--fog)}

/* ---------- tables ---------- */
.data-table{width:100%;border-collapse:collapse;font-size:15px}
.data-table caption{text-align:left;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);font-weight:600;margin-bottom:14px}
.data-table th,.data-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--fog)}
.data-table thead th{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);font-weight:700;background:var(--stone)}
.data-table tbody td:first-child{font-weight:600;color:var(--forest-dark)}
.data-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.data-table th.num{text-align:right}

/* kv list */
.kv-list{border-top:1px solid var(--fog)}
.kv-list .row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--fog);gap:24px}
.kv-list .row .k{color:var(--slate);font-size:14px;letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.kv-list .row .v{font-weight:500;color:var(--forest-dark);font-variant-numeric:tabular-nums}

/* pull quote */
.pull-quote{background:var(--forest-dark);color:var(--white);padding:80px 0;position:relative}
.pull-quote blockquote{max-width:880px;margin:0 auto;font-family:var(--font-display);font-size:34px;line-height:1.34;font-style:italic;color:var(--white);font-weight:400}
.pull-quote .attrib{margin-top:28px;font-family:var(--font-body);font-size:12px;font-style:normal;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:700;padding-top:18px;border-top:2px solid var(--gold);display:inline-block}

/* contact band */
.contact-band{background:var(--forest-dark);color:var(--white);padding:80px 0;text-align:center}
.contact-band h2{color:var(--white);margin-bottom:20px}
.contact-band p{color:rgba(255,255,255,.78);max-width:50ch;margin:0 auto 28px}

/* ---------- founder / bio ---------- */
.bio-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:56px;align-items:start}
.bio-grid img{border-radius:var(--radius);border:1px solid var(--fog)}
.bio-grid .title-line{font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:8px 0 22px}
.bio-email{display:inline-block;margin-top:18px;font-weight:600}

/* office cards */
.office-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.office-card{background:var(--white);border:1px solid var(--fog);border-radius:var(--radius);padding:28px;position:relative;transition:.28s}
.office-card:hover{border-color:var(--gold);box-shadow:var(--shadow);transform:translateY(-2px)}
.office-card h3{font-size:22px;margin-bottom:10px}
.office-card .role{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:12px}
.office-card .addr{font-size:14.5px;color:var(--slate);line-height:1.6}
.office-card .hq-badge{position:absolute;top:22px;right:22px;background:var(--gold);color:var(--forest-dark);font-size:10px;font-weight:700;letter-spacing:.12em;padding:4px 10px;border-radius:3px;text-transform:uppercase}

/* form */
.contact-form label{display:block;font-size:12px;font-weight:600;letter-spacing:.10em;text-transform:uppercase;color:var(--slate);margin:0 0 8px}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;font-family:var(--font-body);font-size:16px;padding:12px 14px;border:1px solid var(--fog);border-radius:var(--radius);margin-bottom:20px;background:var(--white);color:var(--ink)}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:none;border-color:var(--gold)}

/* article */
.article{padding:40px 0;border-top:1px solid var(--fog)}
.article h2{font-size:32px;margin-bottom:12px}
.article .meta{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:18px}
.back-top{font-size:13px;font-weight:600;margin-top:18px;display:inline-block}

/* misc */
.section-head{max-width:64ch;margin-bottom:48px}
.section-head h2{margin-bottom:14px}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.list-rows .row-link{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--fog);gap:24px}
.list-rows .row-link .name{font-family:var(--font-display);font-size:22px;color:var(--forest-dark);font-weight:600}
.list-rows .row-link .cap{font-variant-numeric:tabular-nums;color:var(--slate);font-weight:600;font-size:14px;letter-spacing:.10em;text-transform:uppercase}
.list-rows .row-link:hover .name{color:var(--gold)}

/* sector ribbon */
.sector-ribbon{background:var(--stone);padding:48px 0;border-top:1px solid var(--fog);border-bottom:1px solid var(--fog)}
.sector-ribbon-inner{display:flex;flex-wrap:wrap;gap:0;justify-content:space-between;align-items:center}
.sector-ribbon a{font-family:var(--font-display);font-size:20px;color:var(--forest);font-weight:500;padding:10px 18px;border-right:1px solid var(--fog);flex:1;text-align:center;min-width:160px;line-height:1.25;position:relative;transition:color .2s ease}
.sector-ribbon a:last-child{border-right:none}
.sector-ribbon a:hover{color:var(--gold)}
.sector-ribbon a::after{content:"";position:absolute;left:50%;right:50%;bottom:0;height:2px;background:var(--gold);transition:left .25s ease,right .25s ease}
.sector-ribbon a:hover::after{left:18px;right:18px}

/* pillar cards */
.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px}
.pillar-card{background:var(--white);border:1px solid var(--fog);border-top:3px solid var(--gold);padding:32px 28px;display:flex;flex-direction:column;gap:10px;transition:.28s}
.pillar-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--gold)}
.pillar-card .pillar-eyebrow{font-family:var(--font-body);font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-weight:700}
.pillar-card h3{font-family:var(--font-display);font-size:22px;line-height:1.2;color:var(--forest-dark);margin:4px 0 12px}
.pillar-card p{font-size:15px;line-height:1.65;color:var(--ink)}

/* seat cards */
.seat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.seat-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-left:3px solid var(--gold);border-radius:var(--radius);padding:22px 24px;transition:.28s;color:#fff}
.seat-card:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.24);border-left-color:var(--gold-bright);transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.25)}
.seat-card .seat-acr,.seat-card .seat-eyebrow{font-family:var(--font-body);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-bright);font-weight:700;margin-bottom:8px;display:block}
.seat-card .role,.seat-card .seat-name{font-family:var(--font-display);font-size:19px;color:#fff;font-weight:600;line-height:1.25;letter-spacing:-.005em}
.seat-card .status{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.70);font-weight:600;margin-top:10px}

/* ---------- footer ---------- */
.site-footer{background:var(--forest-dark);color:rgba(255,255,255,.72);padding:64px 0 32px;position:relative}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
.footer-grid h4{font-family:var(--font-body);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;font-weight:700}
.footer-grid a{color:rgba(255,255,255,.72);font-size:14.5px;line-height:2.1;position:relative}
.footer-grid a::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.footer-grid a:hover{color:var(--white)}
.footer-grid a:hover::after{transform:scaleX(1)}
.footer-brand img{max-height:76px;margin-bottom:20px;filter:drop-shadow(0 0 6px rgba(201,154,53,.35))}
.footer-brand p{font-size:14px;line-height:1.65;color:rgba(255,255,255,.68);margin-bottom:20px}
.footer-address{font-style:normal;font-size:14px;line-height:1.75;color:rgba(255,255,255,.72)}
.footer-address .name{color:var(--white);font-weight:600;letter-spacing:.04em}
.footer-address a{color:var(--gold-bright);font-weight:500}
.footer-legal{border-top:1px solid rgba(255,255,255,.14);padding-top:24px;font-size:13px;color:rgba(255,255,255,.55)}
.footer-cities{border-top:1px solid rgba(255,255,255,.10);padding:22px 0;text-align:center;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:24px;margin-bottom:0}
.footer-cities span{color:var(--gold-bright);margin:0 8px}
.footer-tag-strip{background:var(--forest-deep);border-top:1px solid rgba(255,255,255,.08);padding:16px 0;overflow:hidden}
.footer-tag-inner{display:flex;gap:32px;justify-content:center;align-items:center;flex-wrap:wrap;font-family:var(--font-display);font-size:15px;font-style:italic;color:rgba(255,255,255,.60)}
.footer-tag-inner span{color:var(--gold);margin:0 4px}
.footer-disclosure{border-top:1px solid rgba(255,255,255,.10);margin-top:24px;padding-top:24px;font-size:12px;line-height:1.7;color:rgba(255,255,255,.48);max-width:1000px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.footer-bottom nav{display:flex;gap:20px;flex-wrap:wrap}
.footer-bottom nav a{font-size:13px;color:rgba(255,255,255,.5);letter-spacing:.06em}

/* ---------- disclosures / policy ---------- */
.disclosure-toc{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:32px 0 48px}
.disclosure-toc a{display:block;padding:14px 18px;border:1px solid var(--fog);border-left:3px solid var(--gold);background:var(--white);font-size:13.5px;color:var(--forest-dark);font-weight:600;line-height:1.4;transition:background .2s ease,border-color .2s ease}
.disclosure-toc a:hover{background:var(--stone);border-left-color:var(--forest)}
.disclosure-block{margin-top:48px;padding-top:48px;border-top:1px solid var(--fog)}
.disclosure-block:first-of-type{border-top:none;padding-top:0;margin-top:0}
.disclosure-block h2{font-size:28px;margin-bottom:8px}
.disclosure-block .clause-meta{font-size:11px;color:var(--slate);text-transform:uppercase;letter-spacing:.16em;margin-bottom:18px;font-weight:600}
.disclosure-block p{margin-bottom:14px;line-height:1.75}
.disclosure-block ul{margin:10px 0 14px 22px}
.disclosure-block li{margin-bottom:8px;line-height:1.7}
.disclosure-callout{background:var(--stone);border-left:3px solid var(--forest);padding:20px 24px;margin:18px 0;font-size:14.5px;line-height:1.75;color:var(--ink)}

.policy-body{max-width:760px;margin:0 auto}
.policy-body h2{font-family:var(--font-display);font-size:26px;font-weight:600;color:var(--forest-dark);margin:40px 0 14px;letter-spacing:-.01em}
.policy-body h2:first-child{margin-top:0}
.policy-body p{font-family:var(--font-body);font-size:15.5px;line-height:1.75;color:var(--ink);margin:0 0 18px}
.policy-body p strong{color:var(--forest-dark);font-weight:600}

/* ---------- LP portal ---------- */
.lp-portal-shell{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.lp-portal-card{background:var(--forest-dark);color:var(--white);padding:48px 44px;border:1px solid rgba(255,255,255,.08);border-left:3px solid var(--gold);border-radius:var(--radius)}
.lp-portal-card h2{color:var(--white);font-size:32px;margin-bottom:14px}
.lp-portal-card p{color:rgba(255,255,255,.80);line-height:1.7;margin-bottom:14px;font-size:15px}
.lp-portal-card .lp-feat{display:flex;flex-direction:column;gap:12px;margin:22px 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}
.lp-portal-card .lp-feat span{font-size:13.5px;color:rgba(255,255,255,.86);padding-left:20px;position:relative}
.lp-portal-card .lp-feat span::before{content:"";position:absolute;left:0;top:9px;width:10px;height:1px;background:var(--gold)}
.lp-portal-card .lp-btn-row{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
.lp-portal-aside{padding:0 12px}
.lp-portal-aside h3{font-family:var(--font-display);font-size:24px;color:var(--forest-dark);margin-bottom:14px}
.lp-portal-aside p{color:var(--ink);font-size:15px;line-height:1.7;margin-bottom:14px}
.lp-portal-aside .lp-stat{display:flex;gap:36px;margin-top:20px;padding-top:20px;border-top:1px solid var(--fog)}
.lp-portal-aside .lp-stat .n{font-family:var(--font-display);font-size:36px;color:var(--forest);font-variant-numeric:tabular-nums;font-weight:600}
.lp-portal-aside .lp-stat .lab{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--slate);margin-top:6px}

/* ---------- press / insights list ---------- */
.press-list{display:flex;flex-direction:column;gap:0}
.press-row{display:grid;grid-template-columns:140px 120px 1fr 80px;gap:24px;padding:22px 0;border-top:1px solid var(--fog);align-items:start}
.press-row:last-child{border-bottom:1px solid var(--fog)}
.press-row .date{font-variant-numeric:tabular-nums;color:var(--slate);font-size:13.5px}
.press-row .kind{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);font-weight:700}
.press-row .head{font-family:var(--font-display);font-size:19px;line-height:1.35;color:var(--forest-dark);font-weight:600}
.press-row .head .sub{display:block;font-family:var(--font-body);font-size:13.5px;color:var(--slate);margin-top:6px;line-height:1.55;font-weight:400}
.press-row .pdf{font-size:11px;color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-weight:700;text-align:right}

/* ---------- process steps / process grid ---------- */
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:32px 0}
.process-step{background:var(--stone);padding:32px 28px;border-radius:var(--radius);position:relative}
.step-num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--forest);color:var(--white);font-family:var(--font-display);font-weight:600;font-size:15px;margin-bottom:16px}
.process-step h3{font-family:var(--font-display);font-size:19px;font-weight:600;color:var(--forest-dark);margin:0 0 10px}
.process-step p{font-size:14.5px;line-height:1.65;color:var(--ink);margin:0}

/* ---------- hero glyph (rotated squares) ---------- */
.hero-glyph{position:absolute;top:32px;right:32px;z-index:1;pointer-events:none;width:260px;height:260px;opacity:.85}
.hero-glyph svg{display:block;animation:glyph-rotate 60s linear infinite;transform-origin:center}

/* ---------- animated section reveals ---------- */
.section{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.section.in-view{opacity:1;transform:translateY(0)}
.pull-quote blockquote{letter-spacing:.05em;transition:letter-spacing .8s ease,opacity .8s ease;opacity:0}
.pull-quote.in-view blockquote{letter-spacing:0;opacity:1}

/* hero word reveal */
.hero h1 .hw,.hero-dark h1 .hw{display:inline-block;opacity:0;transform:translateY(24px);
  transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
.hero h1.hero-in .hw,.hero-dark h1.hero-in .hw{opacity:1;transform:translateY(0)}
.hero .eyebrow,.hero-dark .eyebrow{opacity:0;animation:fade-up .5s ease .1s forwards}
.hero .lede,.hero-dark .lede{opacity:0;animation:fade-up .5s ease .55s forwards}
.hero .btn-row,.hero-dark .btn-row,.hero .aum-grid,.hero-dark .aum-grid{opacity:0;animation:fade-up .5s ease .75s forwards}
.hero .crumbs,.hero-dark .crumbs{opacity:0;animation:fade-up .5s ease .05s forwards}

img.lazy-fade{opacity:0;transition:opacity .6s ease}
img.lazy-fade.loaded{opacity:1}

@keyframes glyph-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes fade-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes breathe-bg{0%{background-position:0% 0%,100% 100%}50%{background-position:12% 8%,88% 92%}100%{background-position:0% 0%,100% 100%}}

/* hero breathing + pinstripe */
.hero-dark{position:relative}
.hero-dark::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(circle at 20% 30%,rgba(201,154,53,.08),transparent 42%),radial-gradient(circle at 80% 70%,rgba(201,154,53,.06),transparent 46%);
  background-repeat:no-repeat;animation:breathe-bg 18s ease-in-out infinite}
.hero-dark::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.015) 0 1px,transparent 1px 7px)}
.hero-dark .container{position:relative;z-index:2}

/* card hover */
.card,.pillar-card,.seat-card,.office-card,.fund-card{transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s cubic-bezier(.2,.7,.2,1),border-color .28s ease}

/* button micro */
.btn{transition:transform .18s cubic-bezier(.2,.7,.2,1),box-shadow .18s,background .18s,color .18s,border-color .18s}
.btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(1,39,34,.18)}

/* ---------- hamburger (mobile) ---------- */
.nav-toggle{
  display:none;
  background:transparent;border:0;padding:8px;cursor:pointer;
  color:var(--white);width:44px;height:44px;
  flex-direction:column;align-items:center;justify-content:center;
  border-radius:4px;
}
.nav-toggle:hover{background:rgba(255,255,255,.08)}
.nav-toggle .bar{display:block;width:24px;height:2px;background:var(--white);margin:3px 0;transition:transform .25s ease,opacity .2s ease}
.nav-toggle[aria-expanded="true"] .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .bar:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- responsive ---------- */
@media (max-width:1200px){
  .stat-grid,.seat-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  h1{font-size:52px}
  h2{font-size:30px}
  h3{font-size:22px}
  .aum-block .aum-num{font-size:44px}
  .grid-3,.grid-4,.office-grid,.pillar-grid,.process-grid{grid-template-columns:repeat(2,1fr)}
  .two-col,.bio-grid,.aum-grid,.lp-portal-shell{grid-template-columns:1fr;gap:36px}
  .section{padding:64px 0}
  .hero-editorial h1{font-size:52px}
  .firm-stat-band .band-num{font-size:44px}

  /* mobile nav */
  .nav-inner{flex-wrap:nowrap;padding:10px 20px;gap:12px}
  .brand img,.brand .brand-mark{height:54px}
  .nav-toggle{display:flex}
  .nav-cta{display:none}
  .main-nav{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:var(--forest-dark);
    border-top:1px solid rgba(255,255,255,.10);
    border-bottom:1px solid rgba(255,255,255,.12);
    padding:8px 20px 18px;
    max-height:calc(100vh - 72px);overflow-y:auto;
  }
  .main-nav.is-open{display:block}
  .main-nav ul{flex-direction:column;gap:0;align-items:stretch}
  .main-nav ul li{border-bottom:1px solid rgba(255,255,255,.08)}
  .main-nav ul li:last-child{border-bottom:none}
  .main-nav ul li a{display:block;padding:14px 4px;font-size:15.5px;border-bottom:0}
  .main-nav .nav-group{position:static}
  .main-nav .nav-group-btn{display:flex;width:100%;justify-content:space-between;align-items:center;padding:14px 4px;font-size:15.5px;color:rgba(255,255,255,.85);border-bottom:0;text-align:left}
  .main-nav .nav-submenu{position:static;display:none;background:transparent;border:0;border-radius:0;box-shadow:none;padding:0 0 6px 14px;min-width:0}
  .main-nav .nav-group:hover > .nav-submenu,.main-nav .nav-group:focus-within > .nav-submenu{display:none}
  .main-nav .nav-group-btn[aria-expanded="true"] + .nav-submenu{display:flex}
  .main-nav .nav-submenu a{padding:10px 4px;font-size:14.5px;color:rgba(255,255,255,.78)}

  .footer-grid{grid-template-columns:repeat(2,1fr);gap:32px 24px}
  .disclosure-toc,.pillar-grid{grid-template-columns:1fr}
  .press-row{grid-template-columns:1fr;gap:6px}
}
@media (max-width:600px){
  body{font-size:16px}
  h1{font-size:40px}
  h2{font-size:26px}
  h3{font-size:20px}
  .container{padding:0 20px}
  .grid-2,.grid-3,.grid-4,.seat-grid,.office-grid,.stat-grid,.pillar-grid,.process-grid,.firm-stat-band .band-grid{grid-template-columns:1fr}
  .aum-block .aum-num{font-size:38px}
  .pull-quote blockquote{font-size:24px}
  .hero{padding:72px 0 56px}
  .hero-editorial h1{font-size:38px}
  .brand img,.brand .brand-mark{height:46px}
  .footer-grid{grid-template-columns:1fr;gap:32px}
  .btn-row .btn{width:100%;text-align:center}
  .hero-glyph{width:160px;height:160px;top:20px;right:20px;opacity:.5}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero h1 .hw,.hero-dark h1 .hw{opacity:1;transform:none;transition:none}
  .hero .eyebrow,.hero-dark .eyebrow,.hero .lede,.hero-dark .lede,.hero .btn-row,.hero-dark .btn-row,.hero .aum-grid,.hero-dark .aum-grid{opacity:1;animation:none}
  .section{opacity:1;transform:none;transition:none}
  .pull-quote blockquote{letter-spacing:0;opacity:1;transition:none}
  img.lazy-fade{opacity:1;transition:none}
  .card,.pillar-card,.seat-card,.office-card,.fund-card,.btn{transition:none}
  .card:hover,.pillar-card:hover,.seat-card:hover,.office-card:hover,.fund-card:hover,.btn:hover{transform:none}
  .hero-dark::before{animation:none}
  .hero-glyph svg{animation:none}
}

/* ============================================================
   Splash landing (index.html — full-screen)
   ============================================================ */
body.body-splash{background:var(--forest-dark);color:#fff;overflow:hidden;height:100%}
html:has(body.body-splash){height:100%;overflow:hidden}
.splash{position:relative;width:100vw;height:100vh;overflow:hidden;font-family:var(--font-body)}

/* breathing gradient field */
.splash-bg{position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(circle at 22% 30%, rgba(201,154,53,.14), transparent 42%),
    radial-gradient(circle at 78% 72%, rgba(201,154,53,.10), transparent 46%),
    var(--forest-dark);
  animation:breathe 18s ease-in-out infinite}
@keyframes breathe{
  0%{background-position:0% 0%,100% 100%,0 0}
  50%{background-position:14% 10%,86% 90%,0 0}
  100%{background-position:0% 0%,100% 100%,0 0}
}

/* Ken Burns cross-fade carousel */
.splash-carousel{position:absolute;inset:0;z-index:1;overflow:hidden}
.splash-frame{position:absolute;inset:0;background-size:cover;background-position:center center;
  opacity:0;transition:opacity 1.6s ease-in-out;will-change:opacity,transform;transform-origin:center center}
.splash-frame.active{opacity:1;animation:kenburns 9s ease-in-out forwards}
@keyframes kenburns{
  from{transform:scale(1) translate(0,0)}
  to{transform:scale(1.08) translate(-1.5%,-1%)}
}
.splash-overlay{position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    linear-gradient(180deg, rgba(1,29,26,.22) 0%, rgba(1,29,26,.55) 55%, rgba(1,29,26,.90) 100%),
    linear-gradient(135deg, rgba(1,29,26,.28), rgba(1,29,26,.58))}
.splash-grain{position:absolute;inset:0;z-index:2;pointer-events:none;
  background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.014) 0 1px,transparent 1px 7px)}

/* gold fade strips */
.fade-strip{position:absolute;left:0;width:100%;height:1px;z-index:3;
  background:rgba(201,154,53,.45);transform:scaleX(0);transform-origin:left center;
  transition:transform 1.4s cubic-bezier(.16,.84,.44,1);pointer-events:none}
.fade-strip.s1{top:33%}
.fade-strip.s2{top:67%}
.fade-strip.drawn{transform:scaleX(1)}

/* rotating rotated-squares glyphs */
.glyph-wrap{position:absolute;inset:0;z-index:3;pointer-events:none;
  transform:translate(calc(var(--mx,0) * -16px), calc(var(--my,0) * -8px));transition:transform .25s ease-out}
.glyph{position:absolute;opacity:0;transition:opacity .8s ease;z-index:3}
.glyph.show{opacity:1}
.glyph svg{display:block}
.glyph-tr{top:-120px;right:-120px;animation:glyphspin 90s linear infinite}
.glyph-bl{bottom:-120px;left:-120px;animation:glyphspin-rev 90s linear infinite}
@keyframes glyphspin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes glyphspin-rev{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}

/* logo lockup */
.lockup{position:absolute;top:36px;left:40px;display:flex;align-items:center;gap:14px;z-index:5;opacity:0;transition:opacity .8s ease}
.lockup.show{opacity:1}
.lockup img{height:150px;width:auto;display:block;
  filter:drop-shadow(0 0 3px rgba(201,154,53,.55)) drop-shadow(0 0 10px rgba(201,154,53,.30))}

/* center stage */
.stage{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:0 6vw}
.stage .eyebrow{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-bright);
  font-weight:600;margin-bottom:28px;opacity:0;transition:opacity .8s ease;
  transform:translate(calc(var(--mx,0) * -4px), calc(var(--my,0) * -2px))}
.stage .eyebrow.show{opacity:1}
.stage h1{font-family:var(--font-display);font-size:88px;font-weight:500;color:#fff;
  line-height:1.04;max-width:22ch;letter-spacing:-.015em;
  transform:translate(calc(var(--mx,0) * -8px), calc(var(--my,0) * -4px));transition:transform .25s ease-out}
.stage h1 .hw{display:inline-block;opacity:0;transform:translateY(24px)}
.stage h1 .hw.show{opacity:1;transform:translateY(0);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
.stage h1 em{font-style:italic;font-weight:500;color:var(--gold-bright)}
.stage .rule{display:block;width:0;height:2px;background:var(--gold);margin:36px auto 0;transition:width .6s cubic-bezier(.2,.7,.2,1)}
.stage .rule.show{width:72px}
.stage .lede{font-size:19px;color:rgba(255,255,255,.82);max-width:58ch;margin-top:28px;
  line-height:1.6;opacity:0;transition:opacity .8s ease;font-family:var(--font-body);font-style:normal}
.stage .lede.show{opacity:1}
.stage .cta{margin-top:40px;opacity:0;transition:opacity .8s ease}
.stage .cta.show{opacity:1}

.btn-enter{display:inline-flex;align-items:center;gap:14px;
  color:#fff;font-family:var(--font-body);font-size:15px;font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;text-decoration:none;
  padding:8px 0;position:relative;background:transparent;border:0;cursor:pointer}
.btn-enter::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;
  background:var(--gold);transform:scaleX(.35);transform-origin:left center;
  transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.btn-enter.attention::after{animation:underline-breathe 3.6s ease-in-out infinite}
@keyframes underline-breathe{
  0%,100%{transform:scaleX(.35)}
  50%{transform:scaleX(.66)}
}
.btn-enter:hover::after{transform:scaleX(1);animation:none}
.btn-enter .chev{display:inline-block;transition:transform .45s cubic-bezier(.2,.7,.2,1);font-size:18px;line-height:1}
.btn-enter:hover .chev{transform:translateX(8px)}

/* utility corners */
.sector-tag{position:absolute;bottom:100px;left:44px;z-index:5;
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.60);opacity:0;transition:opacity .8s ease;font-family:var(--font-body)}
.sector-tag .sep{display:inline-block;margin:0 10px;color:rgba(201,154,53,.60)}
.sector-tag.show{opacity:1}
.offices{position:absolute;bottom:44px;right:44px;z-index:5;font-size:12px;
  letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55);opacity:0;transition:opacity .8s ease}
.offices.show{opacity:1}
.copyline{position:absolute;bottom:44px;left:0;right:0;z-index:5;text-align:center;
  font-size:11px;color:rgba(255,255,255,.42);opacity:0;transition:opacity .8s ease;letter-spacing:.06em}
.copyline.show{opacity:1}
.skip-link{position:absolute;left:-9999px;top:0;z-index:20;background:var(--gold);
  color:var(--forest-dark);padding:10px 16px;font-weight:600;text-decoration:none}
.skip-link:focus{left:12px;top:12px}

@media (max-width:900px){
  .stage h1{font-size:54px}
  .lockup{top:22px;left:22px}
  .lockup img{height:110px}
  .offices{right:22px;font-size:11px}
  .sector-tag{left:22px;bottom:110px}
}
@media (max-width:600px){
  .stage h1{font-size:36px}
  .stage .lede{font-size:16px}
  .lockup img{height:80px}
  .offices{position:absolute;left:0;right:0;text-align:center;bottom:76px;font-size:10px;letter-spacing:.14em}
  .sector-tag{position:absolute;left:0;right:0;text-align:center;bottom:130px}
  .copyline{bottom:32px;font-size:10px}
}

@media (prefers-reduced-motion:reduce){
  .splash-bg{animation:none}
  .splash-frame{animation:none !important;transform:none !important;transition:none}
  .splash-frame:first-child,.splash-frame.active{opacity:1}
  .fade-strip.drawn,.fade-strip{transform:scaleX(1);transition:none}
  .glyph{opacity:1;animation:none}
  .glyph-tr,.glyph-bl{animation:none}
  .glyph-wrap,.stage h1,.stage .eyebrow{transform:none;transition:none}
  .lockup,.stage .eyebrow,.stage .lede,.stage .cta,.stage .rule,.offices,.copyline,.sector-tag{opacity:1}
  .stage h1 .hw{opacity:1;transform:none}
  .stage .rule{width:72px}
  .btn-enter.attention::after{animation:none}
}

/* ============================================================
   Footer additions — tag strip, cities
   ============================================================ */
.footer-tag-strip{
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.10);
  padding:14px 0;
  background:rgba(0,0,0,.08);
  margin-bottom:64px;
}
.tag-track{
  display:inline-flex;
  gap:0;
  white-space:nowrap;
  animation:tag-scroll 60s linear infinite;
  will-change:transform;
  padding-left:0;
}
.tag-track span{
  display:inline-block;
  padding:0 24px;
  font-size:11px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
  font-weight:500;
}
.tag-track .sep{color:var(--gold);padding:0 4px;opacity:.6}
@keyframes tag-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media (prefers-reduced-motion:reduce){
  .tag-track{animation:none}
}

.footer-cities{
  text-align:center;
  padding:28px 0 20px;
  font-family:var(--font-display);
  font-size:15px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
  font-weight:500;
  border-top:1px solid rgba(255,255,255,.09);
}
.footer-cities i{color:var(--gold);font-style:normal;margin:0 12px;opacity:.7}
@media (max-width:640px){
  .footer-cities{font-size:12px;letter-spacing:.10em}
  .footer-cities i{margin:0 6px}
}

/* nav-single & mobile groupings */
.nav-single a{
  color:rgba(255,255,255,.85);
  text-decoration:none;
  font-size:14px;
  letter-spacing:.06em;
  padding:8px 4px;
  border-bottom:1px solid transparent;
  transition:color .2s ease,border-color .2s ease;
}
.nav-single a:hover{color:var(--white);border-bottom-color:rgba(201,154,53,.55)}
.nav-single a[aria-current="page"]{color:var(--gold-bright);border-bottom-color:var(--gold)}

.mobile-group-label{
  font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold-bright);margin:20px 0 8px;padding:0 4px;font-weight:600;
}
.mobile-drawer a.mobile-sub{padding-left:14px;font-size:15px;opacity:.90}
.mobile-drawer a.mobile-cta{
  margin-top:18px;background:var(--gold);color:var(--forest-dark);
  padding:14px 16px;border-radius:2px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;font-size:12px;text-align:center;
}

/* ============================================================
   Header scrolled + mobile drawer + overlay
   ============================================================ */
.site-header.scrolled{
  background:rgba(1,29,26,.94);
  backdrop-filter:saturate(1.2) blur(10px);
  -webkit-backdrop-filter:saturate(1.2) blur(10px);
  border-bottom-color:rgba(201,154,53,.20);
  box-shadow:0 12px 40px rgba(0,0,0,.28);
}

.mobile-drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(360px,88vw);
  background:var(--forest-dark);color:#fff;
  padding:64px 28px 40px;
  transform:translateX(100%);
  transition:transform .4s cubic-bezier(.2,.7,.2,1);
  z-index:110;overflow-y:auto;
  box-shadow:-20px 0 60px rgba(0,0,0,.5);
}
.mobile-drawer.open{transform:translateX(0)}
.mobile-drawer nav{display:flex;flex-direction:column;gap:2px}
.mobile-drawer nav a{
  display:block;padding:10px 4px;font-size:16px;font-family:var(--font-body);
  color:rgba(255,255,255,.88);text-decoration:none;font-weight:500;letter-spacing:.02em;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.mobile-drawer nav a:hover{color:var(--gold-bright)}
.mobile-close{
  position:absolute;top:16px;right:20px;background:transparent;border:0;
  color:#fff;font-size:32px;line-height:1;cursor:pointer;padding:6px 10px;
}
.mobile-close:hover{color:var(--gold-bright)}
.overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.5);
  opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:105;
}
.overlay.open{opacity:1;pointer-events:auto}

/* hero editorial word reveal — ensure fade-in when hero-in class not present (SSR fallback) */
.hero-editorial h1:not(.hero-in) .hw{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
.hero-editorial h1.hero-in .hw{opacity:1;transform:translateY(0)}

/* ============================================================
   Legacy class aliases (from v1 pages) — bridge to new tokens
   ============================================================ */
.grid.grid--5-7{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:start}
.grid.grid--2{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.grid.grid--3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid.grid--4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media (max-width:900px){
  .grid.grid--5-7,.grid.grid--2,.grid.grid--3,.grid.grid--4{grid-template-columns:1fr}
}

.eyebrow--light{color:var(--gold-bright)}
.eyebrow--center{text-align:center;justify-content:center;display:inline-flex}
.divider-gold{width:64px;height:3px;background:var(--gold);border:0;margin:20px 0 28px}
.divider-gold.center{margin-left:auto;margin-right:auto}
.lead{font-size:19px;line-height:1.6;color:var(--slate)}
.section--paper2{background:var(--stone)}
.section--dark{background:var(--forest-dark);color:#fff}
.section--dark h2,.section--dark h3{color:#fff}
.section--dark p,.section--dark .lead{color:rgba(255,255,255,.82)}
.section--dark .eyebrow{color:var(--gold-bright)}

.btn--gold{background:var(--gold);color:var(--forest-dark);border:1px solid var(--gold);display:inline-flex;align-items:center;gap:10px;padding:12px 22px;font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:background .2s ease,transform .2s ease}
.btn--gold:hover{background:var(--gold-bright);transform:translateY(-1px)}
.btn--outline{background:transparent;color:var(--forest-dark);border:1px solid var(--forest);display:inline-flex;align-items:center;gap:10px;padding:12px 22px;font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:all .2s ease}
.btn--outline:hover{background:var(--forest);color:#fff}
.btn--outline-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55);display:inline-flex;align-items:center;gap:10px;padding:12px 22px;font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:all .2s ease}
.btn--outline-light:hover{border-color:var(--gold);color:var(--gold-bright)}
.btn--ghost{background:transparent;color:var(--forest-dark);border:1px solid transparent;display:inline-flex;align-items:center;gap:10px;padding:12px 4px;font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:color .2s ease}
.btn--ghost:hover{color:var(--gold)}

/* stat-strip legacy */
.stat-strip{background:var(--forest-dark);color:#fff;padding:56px 0;border-top:1px solid rgba(201,154,53,.28);border-bottom:1px solid rgba(201,154,53,.28)}
.stat-strip .container{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.stat-strip .stat{text-align:center}
.stat-strip .stat .n{font-family:var(--font-display);font-size:52px;font-weight:500;color:#fff;letter-spacing:-.01em;line-height:1;font-feature-settings:"lnum" 1}
.stat-strip .stat .n em{font-style:normal;color:var(--gold-bright);font-size:.6em;margin-left:2px;font-weight:500}
.stat-strip .stat .k{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.60);margin-top:12px}
@media (max-width:900px){.stat-strip .container{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.stat-strip .container{grid-template-columns:1fr}.stat-strip .stat .n{font-size:42px}}

/* feature block legacy (Four Disciplines list) */
.feature{display:flex;gap:20px;padding:20px 0;border-top:1px solid var(--fog)}
.feature:first-child{border-top:0;padding-top:0}
.feature .icon{
  font-family:var(--font-display);font-style:italic;font-size:22px;color:var(--gold);
  min-width:38px;line-height:1.2;font-weight:500;
}
.feature h4{font-family:var(--font-display);font-size:22px;font-weight:500;color:var(--forest-dark);margin-bottom:6px}
.feature p{font-size:15px;line-height:1.6;color:var(--slate)}

/* legal-doc typography */
.legal-doc{max-width:820px;margin:0 auto;font-size:16px;line-height:1.75;color:var(--ink)}
.legal-doc h2{font-family:var(--font-display);font-size:30px;margin-top:44px;margin-bottom:14px;color:var(--forest-dark)}
.legal-doc h3{font-family:var(--font-display);font-size:22px;margin-top:32px;margin-bottom:10px;color:var(--forest-dark)}
.legal-doc p{margin-bottom:16px}
.legal-doc ul,.legal-doc ol{margin:0 0 20px 22px}
.legal-doc li{margin-bottom:8px}
.legal-doc strong{color:var(--forest-dark)}
.legal-doc a{color:var(--forest);text-decoration:underline;text-underline-offset:2px}
.legal-doc a:hover{color:var(--gold)}
.legal-doc hr{border:0;border-top:1px solid var(--fog);margin:36px 0}

/* crumbs (small breadcrumb inside hero) */
.crumbs{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:22px}
.crumbs a{color:rgba(255,255,255,.75);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25)}
.crumbs a:hover{color:var(--gold-bright)}

/* fund tag/amt for firm/funds cards */
.fund-tag{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:14px}
.fund-amt{margin-top:16px;font-family:var(--font-display);font-size:26px;font-weight:600;color:var(--forest-dark);letter-spacing:-.01em}

/* Utility for the firm page hero glyph */
.hero .hero-glyph{position:absolute;top:64px;right:64px;pointer-events:none;z-index:0;opacity:.9}
@media (max-width:900px){.hero .hero-glyph{width:200px;height:200px;top:24px;right:24px;opacity:.6}}

/* gap utility */
.gap-lg{gap:56px}

/* ============================================================
   Department contact table (.tbl)
   ============================================================ */
.tbl{width:100%;border-collapse:collapse;margin-top:32px;font-size:14px}
.tbl th{text-align:left;font-family:var(--font-body);font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--slate);padding:14px 20px 14px 0;border-bottom:2px solid var(--fog)}
.tbl td{padding:16px 20px 16px 0;border-bottom:1px solid var(--fog);vertical-align:top;color:var(--ink);line-height:1.55}
.tbl td strong{color:var(--forest-dark);font-family:var(--font-display);font-weight:500;font-size:16px;letter-spacing:.01em}
.tbl a{color:var(--forest);text-decoration:none;border-bottom:1px solid rgba(1,60,51,.3);transition:color .2s ease,border-color .2s ease}
.tbl a:hover{color:var(--gold);border-bottom-color:var(--gold)}
@media (max-width:700px){
  .tbl,.tbl thead,.tbl tbody,.tbl tr,.tbl th,.tbl td{display:block}
  .tbl thead{display:none}
  .tbl tr{padding:16px 0;border-bottom:1px solid var(--fog)}
  .tbl td{border:0;padding:4px 0}
  .tbl td:first-child{padding-top:0}
}

/* ============================================================
   Footer top grid (produced by build.py — separate class name)
   ============================================================ */
.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px;align-items:start}
.footer-top h5{font-family:var(--font-body);font-size:11px;letter-spacing:.20em;text-transform:uppercase;color:var(--gold);margin:0 0 18px 0;font-weight:700}
.footer-top ul{list-style:none;padding:0;margin:0}
.footer-top ul li{margin-bottom:10px}
.footer-top a{color:rgba(255,255,255,.78);font-size:14px;line-height:1.55;text-decoration:none;transition:color .2s ease}
.footer-top a:hover{color:var(--gold-bright)}
.footer-top .footer-brand p{color:rgba(255,255,255,.68);font-size:14px;line-height:1.65;margin:0 0 18px 0;max-width:340px}
.footer-top .footer-address{font-style:normal;font-size:13.5px;line-height:1.8;color:rgba(255,255,255,.75)}
.footer-top .footer-address .name{color:var(--white);font-weight:600;letter-spacing:.03em;font-family:var(--font-display);font-size:15px}
.footer-top .footer-address a{color:var(--gold-bright)}
.footer-top .footer-address a:hover{color:var(--white)}
.footer-top .footer-logo img{max-height:64px;margin-bottom:18px;filter:drop-shadow(0 0 6px rgba(201,154,53,.30))}
@media (max-width:1000px){.footer-top{grid-template-columns:1.4fr 1fr 1fr;gap:32px 28px}.footer-top .footer-brand{grid-column:1 / -1}}
@media (max-width:640px){.footer-top{grid-template-columns:1fr 1fr;gap:32px 24px}.footer-top .footer-brand{grid-column:1 / -1}}

.site-footer .disclosure{border-top:1px solid rgba(255,255,255,.10);margin-top:24px;padding-top:24px;font-size:12px;line-height:1.7;color:rgba(255,255,255,.52);max-width:1000px}

/* ============================================================
   POLISH PASS — dark-mode variants, list layouts, fund tiles,
   FAQ accordion, event cards, modern form, careers table
   ============================================================ */

/* --- .feature used as <ul> vertical list (bullet style) --- */
ul.feature{display:block;padding:0;margin:14px 0 0}
ul.feature li{
  position:relative;padding:14px 0 14px 32px;
  border-top:1px solid rgba(255,255,255,.10);
  font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.85);
  list-style:none;
}
ul.feature li:first-child{border-top:0;padding-top:0}
ul.feature li::before{
  content:"";position:absolute;left:0;top:24px;
  width:16px;height:1px;background:var(--gold);
}
ul.feature li:first-child::before{top:10px}
ul.feature li strong{color:#fff;font-weight:600;letter-spacing:.005em}
/* on light section body */
.section:not(.section--dark):not(.bg-forest) ul.feature li{
  color:var(--ink);border-top-color:var(--fog);
}
.section:not(.section--dark):not(.bg-forest) ul.feature li strong{color:var(--forest-dark)}

/* --- inside .card (light bg) — vertical list variant --- */
.card ul.feature{margin-top:16px}
.card ul.feature li{
  padding:12px 0 12px 26px;font-size:14.5px;
  color:var(--ink);border-top:1px solid var(--fog);
}
.card ul.feature li:first-child{border-top:0;padding-top:0}
.card ul.feature li::before{background:var(--gold);top:20px}
.card ul.feature li:first-child::before{top:6px}
.card ul.feature li strong{color:var(--forest-dark)}

/* --- Dark-mode table variant (.tbl inside .section--dark or .bg-forest) --- */
.section--dark .tbl,.bg-forest .tbl{color:#fff}
.section--dark .tbl th,.bg-forest .tbl th{
  color:var(--gold-bright);
  border-bottom-color:rgba(201,154,53,.35);
  font-size:11px;letter-spacing:.18em;
}
.section--dark .tbl td,.bg-forest .tbl td{
  color:rgba(255,255,255,.86);
  border-bottom-color:rgba(255,255,255,.10);
  line-height:1.6;
}
.section--dark .tbl td strong,.bg-forest .tbl td strong{
  color:#fff;font-family:var(--font-display);font-weight:600;
}
.section--dark .tbl a,.bg-forest .tbl a{
  color:var(--gold-bright);border-bottom-color:rgba(201,154,53,.4);
}
.section--dark .tbl a:hover,.bg-forest .tbl a:hover{color:#fff;border-bottom-color:#fff}
.section--dark .tbl tr:hover td,.bg-forest .tbl tr:hover td{background:rgba(255,255,255,.03)}

/* --- Fix .grid.grid--3 for pillar section (force 3 columns) --- */
@media (min-width:901px){
  .grid.grid--3{grid-template-columns:repeat(3,1fr);gap:24px}
}
.grid.grid--3 > .card{display:flex;flex-direction:column;height:100%}
.grid.grid--3 > .card h3{font-family:var(--font-display);font-size:20px;line-height:1.25;color:var(--forest-dark);margin:6px 0 12px;letter-spacing:-.005em}
.grid.grid--3 > .card > p.eyebrow{margin-bottom:6px}

/* --- Fund cards: dollar top-right + branded color --- */
.fund-card{
  border-top:3px solid var(--gold);
  background:linear-gradient(180deg,#ffffff 0%,#fbf7ef 100%);
  padding-top:36px;padding-right:38px;position:relative;overflow:hidden;
}
.fund-card::before{
  content:"";position:absolute;top:0;right:0;width:120px;height:120px;
  background:radial-gradient(circle at 100% 0%,rgba(201,154,53,.10) 0%,transparent 60%);
  pointer-events:none;
}
.fund-card .fnum{
  font-family:var(--font-display);font-size:14px;font-weight:600;
  letter-spacing:.14em;color:var(--gold);text-transform:uppercase;
  display:inline-block;padding:4px 10px;border:1px solid rgba(201,154,53,.35);
  border-radius:2px;background:rgba(201,154,53,.06);
}
.fund-card .pill{
  display:inline-block;margin-left:8px;font-size:10px;letter-spacing:.20em;
  text-transform:uppercase;color:var(--forest);font-weight:700;padding:5px 10px;
  background:var(--stone);border-radius:2px;
}
.fund-card h4{
  font-family:var(--font-display);font-size:22px;font-weight:600;
  color:var(--forest-dark);margin:16px 0 10px;line-height:1.2;
  letter-spacing:-.005em;max-width:22ch;
}
.fund-card .fsize{
  position:absolute;top:20px;right:20px;
  font-family:var(--font-display);font-size:20px;font-weight:600;
  color:var(--forest);letter-spacing:-.01em;
  padding:8px 14px;background:rgba(201,154,53,.10);border:1px solid rgba(201,154,53,.28);
  border-radius:3px;font-variant-numeric:tabular-nums;
  line-height:1;
}
.fund-card > div:first-child{display:flex;align-items:center;gap:0}
.fund-card p{font-size:14.5px;line-height:1.6;color:var(--ink);margin:0 0 14px}
.fund-card .fmeta{
  display:flex;gap:12px 20px;flex-wrap:wrap;
  padding-top:14px;border-top:1px solid var(--fog);
  font-size:11px;letter-spacing:.10em;text-transform:uppercase;
  color:var(--slate);font-weight:600;
}
.fund-card .fmeta strong{color:var(--forest-dark);font-family:var(--font-body);font-weight:700;margin-right:4px}
@media (max-width:600px){
  .fund-card .fsize{position:static;display:inline-block;margin:8px 0 14px}
}

/* --- FAQ modern accordion --- */
.faq{border-top:1px solid var(--fog)}
.faq details{
  border-bottom:1px solid var(--fog);
  padding:0;transition:background .2s ease;
}
.faq details[open]{background:rgba(201,154,53,.04)}
.faq summary{
  cursor:pointer;padding:22px 44px 22px 4px;
  font-family:var(--font-display);font-size:19px;font-weight:600;
  color:var(--forest-dark);line-height:1.35;
  list-style:none;position:relative;user-select:none;
  transition:color .2s ease;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";position:absolute;right:4px;top:20px;
  font-family:var(--font-display);font-size:24px;font-weight:400;
  color:var(--gold);line-height:1;
  transition:transform .3s cubic-bezier(.2,.7,.2,1);
  width:28px;height:28px;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(201,154,53,.35);border-radius:50%;
}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--gold);color:#fff}
.faq summary:hover{color:var(--gold)}
.faq details > p{
  padding:0 60px 24px 4px;font-size:15.5px;line-height:1.7;color:var(--ink);
  margin:0;max-width:74ch;
}
.faq details > p a{color:var(--forest);border-bottom:1px solid rgba(1,60,51,.3)}

/* --- Events grid ("Where we're speaking") --- */
.event-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:20px;
}
.event-card{
  background:var(--white);border:1px solid var(--fog);border-left:3px solid var(--gold);
  padding:22px 24px;display:flex;flex-direction:column;gap:6px;
  transition:.25s;
}
.event-card:hover{border-color:var(--gold);box-shadow:var(--shadow);transform:translateY(-2px)}
.event-card .event-kind{
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);font-weight:700;
}
.event-card .event-title{
  font-family:var(--font-display);font-size:18px;font-weight:600;
  color:var(--forest-dark);line-height:1.3;
}
.event-card .event-meta{
  font-size:13px;color:var(--slate);line-height:1.5;
}
.event-card .event-meta strong{color:var(--forest);font-weight:600}
@media (max-width:700px){.event-grid{grid-template-columns:1fr}}

/* --- Modern form (.form-grid) --- */
.form-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:20px;
  background:var(--white);padding:40px;border:1px solid var(--fog);
  border-top:3px solid var(--gold);border-radius:var(--radius);
  box-shadow:0 1px 3px rgba(1,39,34,.06);
}
.form-grid .field{display:flex;flex-direction:column;gap:8px}
.form-grid .field--full{grid-column:1 / -1}
.form-grid label{
  font-family:var(--font-body);font-size:11px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--slate);
  margin:0;
}
.form-grid input,.form-grid textarea,.form-grid select{
  width:100%;font-family:var(--font-body);font-size:15px;
  padding:12px 14px;border:1px solid var(--fog);border-radius:2px;
  background:var(--paper);color:var(--ink);
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{
  outline:0;border-color:var(--gold);background:#fff;
  box-shadow:0 0 0 3px rgba(201,154,53,.15);
}
.form-grid textarea{resize:vertical;min-height:120px;font-family:var(--font-body)}
.form-grid button[type="submit"]{margin-top:6px}
.form-grid #contact-msg,.form-grid #lp-msg{
  font-size:13px;color:var(--slate);margin-top:12px;
}
@media (max-width:700px){.form-grid{padding:28px;grid-template-columns:1fr}}

/* --- LP portal lock notice --- */
.lp-lock{
  display:flex;gap:20px;align-items:flex-start;
  background:linear-gradient(135deg,var(--forest-dark) 0%,var(--forest) 100%);
  border:1px solid rgba(201,154,53,.28);border-radius:var(--radius);
  padding:28px 30px;margin-top:24px;color:#fff;
}
.lp-lock__icon{
  flex:0 0 44px;width:44px;height:44px;
  border:1px solid var(--gold);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--gold-bright);
}
.lp-lock__icon svg{width:22px;height:22px}
.lp-lock p{margin:0;font-size:14.5px;line-height:1.65;color:rgba(255,255,255,.86)}
.lp-lock p strong{color:#fff;font-weight:600;display:block;margin-bottom:6px;font-size:15px}
.lp-lock a{color:var(--gold-bright);border-bottom:1px solid rgba(201,154,53,.4)}
.lp-lock a:hover{color:#fff;border-bottom-color:#fff}

/* LP portal — hero block on dark side */
.section--dark .lp-lock{background:rgba(0,0,0,.24)}

/* --- Careers table (.careers-tbl) --- */
.careers-tbl{width:100%;border-collapse:collapse;margin-top:24px;font-size:14.5px;background:var(--white);border:1px solid var(--fog);border-radius:var(--radius);overflow:hidden}
.careers-tbl thead{background:var(--forest-dark);color:#fff}
.careers-tbl thead th{
  text-align:left;padding:18px 20px;font-family:var(--font-body);
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  font-weight:700;color:#fff;background:var(--forest-dark);
}
.careers-tbl thead th.role-openings{text-align:center;color:var(--gold-bright)}
.careers-tbl .role-dept{color:var(--forest);font-weight:600;letter-spacing:.02em;font-size:13.5px}
.careers-tbl tbody td{
  padding:14px 20px;border-bottom:1px solid var(--fog);
  vertical-align:top;line-height:1.5;
}
.careers-tbl tbody tr:last-child td{border-bottom:0}
.careers-tbl tbody tr:hover{background:rgba(201,154,53,.05)}
.careers-tbl .role-title{color:var(--forest-dark);font-weight:600;font-family:var(--font-display);font-size:16px;letter-spacing:.005em}
.careers-tbl .role-reports{color:var(--slate);font-size:13px}
.careers-tbl .role-openings{color:var(--gold);font-weight:700;font-variant-numeric:tabular-nums;text-align:center}
.careers-tbl .role-office{color:var(--slate);font-size:12.5px;letter-spacing:.02em}
.careers-tbl .dept-row td{
  background:var(--stone);padding:16px 20px 12px;
  border-bottom:2px solid var(--gold);
}
.careers-tbl .dept-row .dept-name{
  font-family:var(--font-display);font-size:15px;font-weight:600;
  color:var(--forest-dark);letter-spacing:.02em;
}
.careers-tbl .dept-row .dept-count{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--slate);font-weight:600;margin-left:12px;
}
@media (max-width:700px){
  .careers-tbl,.careers-tbl thead,.careers-tbl tbody,.careers-tbl tr,.careers-tbl th,.careers-tbl td{display:block}
  .careers-tbl thead{display:none}
  .careers-tbl tbody td{border:0;padding:4px 20px}
  .careers-tbl tbody tr{padding:12px 0;border-bottom:1px solid var(--fog)}
  .careers-tbl tbody tr.dept-row{padding:14px 0}
}

/* --- CTA band (used on tenants) --- */
.cta-band{background:var(--forest-dark);color:#fff;padding:64px 0}
.cta-band .cta-band__inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:40px;flex-wrap:wrap;
}
.cta-band h2{color:#fff;margin:0 0 8px;font-size:34px;letter-spacing:-.01em}
.cta-band p{color:rgba(255,255,255,.78);margin:0;max-width:56ch}
.cta-band .cta-band__actions{display:flex;gap:12px;flex-wrap:wrap}

/* --- Section title helper (used on many pages) --- */
.section-title{font-family:var(--font-display);font-size:38px;font-weight:600;color:var(--forest-dark);line-height:1.15;letter-spacing:-.01em;margin:0 0 12px}
.section--dark .section-title{color:#fff}
@media (max-width:900px){.section-title{font-size:30px}}
@media (max-width:600px){.section-title{font-size:26px}}

/* --- Card eyebrow color inside pillar section --- */
.grid.grid--3 > .card > .eyebrow{color:var(--gold)}

/* --- Enhanced splash glyphs (larger, more layers) --- */
.splash .glyph{will-change:transform,opacity}
.splash .glyph-tr{top:-200px;right:-200px}
.splash .glyph-tr svg{width:820px;height:820px}
.splash .glyph-bl{bottom:-200px;left:-200px}
.splash .glyph-bl svg{width:820px;height:820px}
.splash .glyph-extra{position:absolute;opacity:.42;z-index:2;pointer-events:none}
.splash .glyph-extra.show{opacity:.42}
.splash .glyph-mid{top:50%;left:50%;margin:-320px 0 0 -320px;width:640px;height:640px;animation:glyphspin 160s linear infinite}
.splash .glyph-mid svg{width:640px;height:640px}
.splash .glyph-tl{top:-160px;left:-160px;width:560px;height:560px;animation:glyphspin 130s linear infinite reverse}
.splash .glyph-tl svg{width:560px;height:560px}
.splash .glyph-br{bottom:-140px;right:-140px;width:640px;height:640px;animation:glyphspin 140s linear infinite}
.splash .glyph-br svg{width:640px;height:640px}

/* --- feature-address (contact HQ) --- */
.feature-address{
  font-style:normal;font-size:15.5px;line-height:1.85;color:rgba(255,255,255,.86);
  padding:22px 0 0;border-top:1px solid rgba(255,255,255,.16);margin-top:18px;
}
.feature-address .name{color:#fff;font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:.005em;display:inline-block;margin-bottom:4px}
.feature-address span{color:var(--gold-bright);display:inline-block;margin-top:6px;font-size:14px;letter-spacing:.02em}

/* light section feature-address override */
.section:not(.section--dark):not(.bg-forest) .feature-address{color:var(--ink);border-top-color:var(--fog)}
.section:not(.section--dark):not(.bg-forest) .feature-address .name{color:var(--forest-dark)}
.section:not(.section--dark):not(.bg-forest) .feature-address span{color:var(--forest)}

/* --- reveal helper (respect .in-view) --- */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in-view,.section.in-view .reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* --- LP feature list (dark) --- */
.section:not(.section--dark) .lp-portal-aside{padding:0}

/* --- gold eyebrow modifier --- */
.eyebrow.gold,.eyebrow--light{color:var(--gold-bright)}

/* --- divider-gold --- */
.divider-gold{width:64px;height:3px;background:var(--gold);border:0;margin:18px 0 26px}

/* --- .tbl-wrap for horizontal scroll on mobile --- */
.tbl-wrap{overflow-x:auto}

/* ============================================================
   Responsive polish pass — mobile & tablet
   ============================================================ */

/* -------- Tablet (≤900px) refinements -------- */
@media (max-width:900px){
  .section{padding:56px 0}
  .fund-card{padding:28px 22px}
  .fund-card .fsize{font-size:20px;padding:5px 12px}
  /* Shrink secondary splash glyphs on tablet */
  .splash .glyph-mid{margin:-260px 0 0 -260px;width:520px;height:520px}
  .splash .glyph-mid svg{width:520px;height:520px}
  .splash .glyph-tl{width:420px;height:420px;top:-120px;left:-120px}
  .splash .glyph-tl svg{width:420px;height:420px}
  .splash .glyph-br{width:480px;height:480px;bottom:-100px;right:-100px}
  .splash .glyph-br svg{width:480px;height:480px}
  .splash .glyph-tr,.splash .glyph-bl{width:520px;height:520px}
  .splash .glyph-tr svg,.splash .glyph-bl svg{width:520px;height:520px}
}

/* -------- Mobile (≤700px) — layout & tables -------- */
@media (max-width:700px){
  .section{padding:48px 0}
  .container{padding:0 20px}
  /* Force single-column grids that are still 2/3 col at this width */
  .grid.grid--3,.grid.grid--2{grid-template-columns:1fr;gap:20px}
  /* Fund tiles */
  .fund-card{padding:24px 20px}
  .fund-card .fsize{position:static;display:inline-block;margin:6px 0 12px 0;font-size:17px;padding:5px 12px}
  .fund-card > div:first-child{flex-wrap:wrap;gap:8px}
  .fund-card h4{font-size:19px}
  /* Careers table — collapse to stacked rows */
  .careers-tbl,.careers-tbl thead,.careers-tbl tbody,.careers-tbl tr,.careers-tbl th,.careers-tbl td{display:block;width:100%}
  .careers-tbl thead{display:none}
  .careers-tbl tbody tr{border-bottom:1px solid var(--fog);padding:16px 14px}
  .careers-tbl tbody tr:last-child{border-bottom:0}
  .careers-tbl tbody td{border:0;padding:4px 0;text-align:left}
  .careers-tbl .role-title{font-size:17px;margin-bottom:4px}
  .careers-tbl .role-dept{font-size:12.5px;letter-spacing:.02em}
  .careers-tbl .role-reports{font-size:12.5px}
  .careers-tbl .role-office{font-size:12px;color:var(--slate);letter-spacing:.06em;text-transform:uppercase;margin-top:4px}
  /* Wide dark data tables (strategy, framework) — shrink type, allow scroll */
  .tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-left:-20px;margin-right:-20px;padding:0 20px}
  /* Only apply min-width to tables that AREN'T using the mobile-card labels layout */
  .tbl:not(:has(td[data-label])){font-size:12.5px;min-width:520px}
  .tbl th{font-size:10px;padding:10px 12px 10px 0;letter-spacing:.10em}
  .tbl td{padding:12px 12px 12px 0}
  .tbl td strong{font-size:14px}
}

/* -------- Small mobile (≤600px) — splash, hero, tighter -------- */
@media (max-width:600px){
  .section{padding:40px 0}
  .container{padding:0 18px}
  /* Hide the 3 extra decorative glyphs on small mobile — they overwhelm */
  .splash .glyph-mid,.splash .glyph-tl,.splash .glyph-br{display:none}
  /* Shrink primary corner glyphs so they don't crowd the stage text */
  .splash .glyph-tr{width:360px;height:360px;top:-80px;right:-80px;opacity:.32}
  .splash .glyph-tr svg{width:360px;height:360px}
  .splash .glyph-bl{width:360px;height:360px;bottom:-80px;left:-80px;opacity:.32}
  .splash .glyph-bl svg{width:360px;height:360px}
  /* Ensure the stage stack breathes: give CTA extra top margin */
  .stage .cta{margin-top:18px}
  .stage h1{font-size:30px;line-height:1.06}
  .stage .lede{font-size:15px;padding:0 8px}
  .stage .eyebrow{font-size:11px;letter-spacing:.22em}
  /* Fund tile even tighter */
  .fund-card{padding:22px 18px}
  .fund-card h4{font-size:18px}
  /* Hero */
  .hero{padding:56px 0 44px}
  .hero h1{font-size:34px;line-height:1.08}
  .hero .lede{font-size:15px}
  /* CTAs */
  .btn{padding:12px 22px;font-size:13.5px}
  .cta-band{padding:36px 22px}
  .cta-band h2{font-size:22px}
  /* Pillar / seat / office cards */
  .pillar-card,.seat-card,.office-card,.card{padding:22px 20px}
  /* Feature address */
  .feature-address{font-size:14px}
  /* Stat strip already single-col at 600 — tighten */
  .stat-strip{padding:36px 0}
  .stat-strip .stat .n{font-size:38px}
  .stat-strip .stat .l{font-size:11px}
  /* Section title floor */
  .section-title{font-size:24px;line-height:1.18}
  h2{font-size:24px}
  h3{font-size:19px}
  /* Sector / tenant cards padding */
  .sector-card,.tenant-card{padding:22px 20px}
  /* Footer tighter */
  .footer-top{padding:44px 0 20px}
  .footer-cities{font-size:12px;padding:20px 12px 14px;letter-spacing:.10em}
  .footer-tag-strip{margin-bottom:44px}
  .tag-track span{font-size:10px;padding:0 16px;letter-spacing:.18em}
  /* Dark table on tiny screens — keep readable */
  .section--dark .tbl:not(:has(td[data-label])){font-size:12px;min-width:480px}
}

/* -------- Extra-small (≤440px) — bare-minimum polish -------- */
@media (max-width:440px){
  .stage h1{font-size:26px}
  .stage .lede{font-size:14px}
  .splash .glyph-tr,.splash .glyph-bl{width:280px;height:280px;opacity:.28}
  .splash .glyph-tr svg,.splash .glyph-bl svg{width:280px;height:280px}
  .hero h1{font-size:28px}
  h2,.section-title{font-size:22px}
  .fund-card .fnum{font-size:13px}
  .fund-card h4{font-size:17px}
  .btn{padding:11px 18px;font-size:13px}
}

/* Fund card vintage pill (2026 / 2028) */
.pill.pill--year {
  background: transparent;
  border: 1px solid rgba(201, 154, 53, 0.55);
  color: #c99a35;
  letter-spacing: 0.06em;
  margin-left: 0.4rem;
}
tr.tbl-vintage td {
  background: rgba(201, 154, 53, 0.10);
  border-top: 1px solid rgba(201, 154, 53, 0.5);
  border-bottom: 1px solid rgba(201, 154, 53, 0.5);
  color: #c99a35;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.82rem;
  padding: 0.9rem 1rem;
}
/* end fund pill year */

/* Careers table — thead th needs to beat .role-title / .role-reports / .role-office
   which set forest-dark color that otherwise wins on specificity. */
.careers-tbl thead th.role-title,
.careers-tbl thead th.role-dept,
.careers-tbl thead th.role-reports,
.careers-tbl thead th.role-office{
  color:#fff !important;
  font-family:var(--font-body) !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
}
/* end careers thead override */

/* Mobile responsive table labels — visible only on narrow screens */
@media (max-width: 720px){
  .tbl tbody tr:not(.tbl-vintage){
    display:block;
    padding:14px 0 16px;
    border-bottom:1px solid rgba(255,255,255,.14);
    position:relative;
  }
  .tbl td[data-label]{
    display:grid;
    grid-template-columns:110px 1fr;
    gap:12px;
    padding:5px 0;
    border-bottom:0;
    line-height:1.45;
    text-align:left;
    align-items:baseline;
  }
  .tbl td[data-label]::before{
    content:attr(data-label);
    font-size:10px;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--slate);
    padding-top:2px;
    white-space:nowrap;
  }
  /* Dark-section variant — labels use gold-muted */
  .section--dark .tbl td[data-label]::before,
  .bg-forest .tbl td[data-label]::before{
    color:rgba(201,154,53,.72);
  }
  .tbl td[data-label="Fund"]{
    padding-bottom:10px;
    margin-bottom:6px;
    border-bottom:1px solid rgba(255,255,255,.10);
    align-items:center;
  }
  .tbl td[data-label="Fund"]::before{
    color:var(--gold);
  }
  .section--dark .tbl td[data-label="Fund"]::before,
  .bg-forest .tbl td[data-label="Fund"]::before{
    color:var(--gold-bright);
  }
  .tbl td[data-label="Fund"]{
    font-family:var(--font-display);
    font-size:17px;
    color:#fff;
    font-weight:500;
    letter-spacing:.01em;
  }
  /* Word-break for long strategy strings to prevent overflow */
  .tbl td[data-label="Strategy"]{
    overflow-wrap:break-word;
    word-break:normal;
    hyphens:auto;
  }
  /* Vintage divider row — make it visually prominent as a section break */
  .tbl tr.tbl-vintage{
    display:block !important;
    background:rgba(201,154,53,0.10);
    border-top:2px solid var(--gold);
    border-bottom:2px solid var(--gold);
    margin:12px 0 8px;
  }
  .tbl tr.tbl-vintage td{
    display:block;
    padding:14px 16px !important;
    border:0 !important;
    text-align:center;
  }
  .tbl tr.tbl-vintage td strong{
    font-size:11px;
    letter-spacing:.10em;
    text-transform:uppercase;
    color:var(--gold);
    font-family:var(--font-body);
    white-space:normal;
    line-height:1.4;
  }
}
/* Desktop and tablet — vintage divider styling */
@media (min-width: 721px){
  .tbl tr.tbl-vintage td{
    background:rgba(201,154,53,0.10);
    border-top:2px solid var(--gold);
    border-bottom:2px solid var(--gold);
    padding:14px 20px !important;
    color:var(--gold);
    letter-spacing:.14em;
    text-transform:uppercase;
    font-size:12px;
    font-family:var(--font-body);
    font-weight:700;
  }
  .tbl tr.tbl-vintage td strong{
    color:var(--gold);
    font-family:var(--font-body);
    font-size:12px;
    font-weight:700;
    letter-spacing:.14em;
  }
}
/* end mobile table labels */
