/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jul 22 2026 | 14:14:03 */
/* ==========================================================================
   T3 Styles — unified bundle (concatenated from wordpress/css/ modules in load order).
   Edit the modular source files in the repo, then regenerate this bundle.
   ========================================================================== */


/* ==================== CSS Tokens ==================== */
/* ==========================================================================
   T3 — Design tokens (colors, fonts, layout vars)
   Load via the CSS/JS asset plugin FIRST (before style.css and wp-overrides.css).
   Lifted verbatim from the top of assets/css/style.css — keep values in sync.

   IMPORTANT: when you add the rest of style.css to the asset plugin, DELETE its
   opening :root{...} block (lines 1–21) so these tokens aren't defined twice.
   The font FILES (Inter + Source Serif 4) are loaded separately by the
   "T3 — Google Fonts" snippet (05-fonts.php).
   ========================================================================== */

:root{
    --royal:#1D4489;
    --navy:#142A57;
    --navy-2:#1E3A78;
    --ink:#0E1B38;
    --gold:#B68A4E;
    --gold-2:#CBA268;
    --cream:#F5F2EA;
    --paper:#FAF8F2;
    --white:#FFFFFF;
    --muted:#586079;
    --muted-d:#A9B2CE;
    --line:rgba(14,27,56,.12);
    --line-d:rgba(255,255,255,.14);
    /* Added for Track Record (22-track-record.css). The source design also carried its own
       warm --line (#E5E0D3); deliberately NOT adopted - ours keeps the site consistent. */
    --slate:#2C3A47;
    --slate-soft:#67717B;
    --green:#3F7D5C;
    --serif:"Source Serif 4", Georgia, "Times New Roman", serif;
    --sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
    --wrap:1180px;
    --pad:clamp(1.25rem,5vw,2.5rem);
    --sect:clamp(4.5rem,9vw,6.5rem);
    --header-h:78px;
}


/* ==================== Base ==================== */
/* ==========================================================================
   T3 — Base (reset + shared primitives)
   Load via the asset plugin AFTER 01-tokens.css, BEFORE the header/footer CSS.
   Only the globally-shared bits the header/footer depend on: reset, body,
   links, images, .wrap container, skip link, buttons, focus ring.
   Content-level base (headings, .eyebrow, .textlink) will come with the
   content CSS later. Rules copied verbatim from assets/css/style.css.
   ========================================================================== */

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem)}
body{font-family:var(--sans);background:var(--cream);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:var(--gold);color:#fff}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--pad)}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:var(--navy);padding:.6rem 1rem;z-index:300}
.skip:focus{left:1rem;top:1rem}

/* buttons (used by header CTA + mobile menu) */
.btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--sans);font-size:.86rem;font-weight:600;letter-spacing:.02em;padding:.95rem 1.6rem;border:1px solid transparent;border-radius:2px;cursor:pointer;transition:.25s ease;white-space:nowrap}
.btn-sm{padding:.7rem 1.2rem;font-size:.82rem}
.btn-gold{background:var(--gold);color:#fff}
.btn-gold:hover{background:var(--gold-2)}
.btn-outline{border-color:var(--line-d);color:#fff}
.btn-outline:hover{border-color:var(--gold-2);color:var(--gold-2)}

/* guard: keep button text white above Elementor's global link color
   (.elementor-kit-{id} a = 0,1,1 would otherwise repaint <a class="btn"> text).
   Two-class selectors (0,2,0) win regardless of load order. */
.btn.btn-gold{color:#fff}
.btn.btn-gold:hover{color:#fff}
.btn.btn-outline{color:#fff}
.btn.btn-outline:hover{color:var(--gold-2)}

:focus-visible{outline:2px solid var(--gold);outline-offset:3px}


/* ==================== Header + Footer ==================== */
/* ==========================================================================
   T3 — Header, Nav, Mobile Menu, Footer & Contact Drawer
   Load via the asset plugin AFTER 01-tokens.css and 02-base.css.
   Rules copied verbatim from assets/css/style.css so the design matches 1:1.
   Only the header/footer-relevant lines from the responsive media queries are
   included here (content-section responsive rules stay with the content CSS).
   ========================================================================== */

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid transparent;transition:border-color .3s, box-shadow .3s}
header.scrolled{border-color:var(--line);box-shadow:0 1px 30px rgba(14,27,56,.05)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px;gap:2rem}
.brand img{height:51px;width:auto}
.nav-links{display:flex;align-items:center;gap:1.25rem;list-style:none}
.nav-links>li>a,.drop-toggle{font-size:.875rem;font-weight:500;color:var(--ink);position:relative;padding:.4rem 0;transition:color .2s;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem}
.nav-links>li>a::after{content:"";position:absolute;left:0;bottom:-2px;height:1.5px;width:0;background:var(--gold);transition:width .25s ease}
.nav-links>li>a:hover{color:var(--royal)}
.nav-links>li>a:hover::after{width:100%}
.nav-links>li>a.active{color:var(--royal)}
.nav-links>li>a.active::after{width:100%}
.drop-toggle .chev{transition:transform .25s}
.has-drop:hover .drop-toggle,.has-drop:focus-within .drop-toggle{color:var(--royal)}
.has-drop:hover .chev,.has-drop:focus-within .chev{transform:rotate(180deg)}
.has-drop{position:relative}
.drop-panel{position:absolute;top:calc(100% + 12px);left:-1.2rem;background:#fff;border:1px solid var(--line);border-radius:5px;box-shadow:0 24px 60px rgba(14,27,56,.13);padding:1.5rem 1.7rem;opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .22s,transform .22s,visibility .22s;z-index:120}
.has-drop:hover .drop-panel,.has-drop:focus-within .drop-panel{opacity:1;visibility:visible;transform:none}
.drop-panel::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.drop-panel h5{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.85rem;font-weight:600}
.drop-panel a{display:block;font-size:.92rem;color:var(--ink);padding:.42rem 0;font-weight:500;white-space:nowrap;transition:color .18s}
.drop-panel a:hover{color:var(--royal)}
.drop-wide{display:flex;gap:3rem}
.drop-col{min-width:158px}
.nav-cta{display:flex;align-items:center;gap:1.3rem}
.login-link{font-size:.875rem;font-weight:600;color:var(--royal);display:inline-flex;align-items:center;gap:.45rem}
.login-link:hover{color:var(--gold)}
.burger{display:none;background:none;border:0;cursor:pointer;width:30px;height:30px;flex-direction:column;justify-content:center;gap:6px}
.burger span{height:1.6px;width:24px;background:var(--ink);transition:.3s;display:block}

/* ---------- footer ---------- */
footer{background:var(--ink);color:#fff;padding-block:clamp(3.5rem,6vw,5rem) 2.5rem;border-top:1px solid var(--line-d)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2.5rem;padding-bottom:3rem;border-bottom:1px solid var(--line-d)}
.wordmark{display:inline-flex;align-items:center;gap:.7rem;margin-bottom:1.3rem}
.wm-badge{width:48px;height:48px;border-radius:50%;border:1.6px solid #fff;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;font-size:1.1rem;letter-spacing:.01em}
.wm-name{font-family:var(--sans);font-weight:600;letter-spacing:.28em;font-size:1rem}
.foot-tag{color:var(--muted-d);font-size:.92rem;max-width:30ch;line-height:1.65}
.foot-col h4{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);margin-bottom:1.1rem;font-family:var(--sans);font-weight:600}
.foot-col ul{list-style:none}
.foot-col li{margin-bottom:.7rem}
.foot-col a,.foot-col p{color:#C9D0E2;font-size:.92rem;transition:color .2s}
.foot-col a:hover{color:var(--gold-2)}
.foot-col a[aria-disabled="true"]{opacity:.55;cursor:default;pointer-events:none}
.foot-col a[aria-disabled="true"]:hover{color:#C9D0E2}
.foot-logo{height:44px;width:auto;display:block}
.foot-li{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line-d);border-radius:4px;color:#C9D0E2;transition:background .22s,color .22s,border-color .22s,transform .22s;margin-top:.4rem}
.foot-li:hover{background:var(--gold);color:var(--ink);border-color:var(--gold);transform:translateY(-2px)}
.foot-li svg{width:19px;height:19px}
/* Footer bottom bar: legal links dead-centre, copyright hard right.
   A 3-column grid (1fr | auto | 1fr) rather than flex space-between - with only two children,
   flex would centre the links in the LEFTOVER space (off-centre once the copyright takes its
   width). The empty first column is the counterweight that makes column 2 truly centred.
   Both children are placed explicitly, else auto-placement drops them in columns 1 and 2.
   (The disclaimer <p class="disc"> was removed from the footer on 2026-07-22.) */
.foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem 2rem;flex-wrap:wrap;padding-top:1.8rem}
/* Legal links row. `a` colour is 2-class so Elementor's Theme Style link colour can't repaint it. */
.foot-bottom .foot-legal{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:0;font-size:.78rem}
.foot-bottom .foot-legal a{color:var(--muted-d);text-decoration:none;transition:color .22s}
.foot-bottom .foot-legal a:hover{color:#fff}
.foot-bottom .foot-legal .dot{color:rgba(255,255,255,.3)}
.foot-bottom .copy{margin:0;color:var(--muted-d);font-size:.8rem;white-space:nowrap}
@media(max-width:760px){
  .foot-bottom{justify-content:center;text-align:center;gap:.9rem}
  .foot-bottom .foot-legal{justify-content:center}
}

/* ---------- mobile menu ---------- */
.m-menu{position:fixed;inset:0;background:var(--navy);color:#fff;z-index:150;transform:translateX(100%);transition:transform .4s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column;padding:var(--pad);overflow-y:auto}
.m-menu.open{transform:none}
.m-menu-top{display:flex;justify-content:space-between;align-items:center;height:66px;flex:0 0 auto}
.m-menu-top .m-menu-brand{display:inline-flex;align-items:center}
.m-menu-top .m-menu-logo{height:40px;width:auto;display:block}
.m-close{background:none;border:0;color:#fff;font-size:2rem;cursor:pointer;line-height:1}
.m-links{display:flex;flex-direction:column;margin-top:1.5rem}
.m-links>a,.m-group>span{font-family:var(--serif);font-size:1.7rem;font-weight:500;padding:.55rem 0;display:block;border-bottom:1px solid var(--line-d)}
.m-links>a{color:#fff}
.m-links>a.active{color:var(--gold-2)}
.m-group{border-bottom:1px solid var(--line-d);padding-bottom:.8rem}
.m-group>span{border-bottom:0;padding-bottom:.2rem}
.m-sub{display:flex;flex-direction:column;gap:.1rem;padding:.2rem 0 .4rem}
.m-sub a{font-size:.95rem;color:#C9D0E2;padding:.32rem 0}
.m-sub .m-lab{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);margin-top:.6rem;font-family:var(--sans);font-weight:600}
.m-foot{margin-top:auto;padding-top:1.6rem;display:flex;flex-direction:column;gap:.8rem}
.m-foot .btn{width:100%;justify-content:center}

/* ---------- contact drawer ---------- */
.cd-overlay{position:fixed;inset:0;background:rgba(14,27,56,.55);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease;z-index:200}
.cd-overlay.open{opacity:1;visibility:visible}
.cd{position:fixed;top:0;right:0;height:100%;width:min(440px,100%);background:var(--ink);color:#fff;z-index:210;transform:translateX(100%);transition:transform .45s cubic-bezier(.2,.7,.2,1);overflow-y:auto;
/* 	box-shadow:-30px 0 80px rgba(14,27,56,.45); */
	will-change:transform}
.cd.open{transform:none}
.cd::before{content:"";position:absolute;inset:0;background:radial-gradient(90% 55% at 92% 0%, rgba(45,74,158,.42), transparent 60%);pointer-events:none}
.cd-inner{position:relative;z-index:1;padding:clamp(1.8rem,4vw,2.6rem);display:flex;flex-direction:column;min-height:100%}
.cd-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.8rem}
.cd-brand{display:inline-flex;align-items:center}
.cd-logo{height:40px;width:auto;display:block}
.cd-close{background:none;border:1px solid var(--line-d);color:#fff;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,color .2s;flex:0 0 auto}
.cd-close:hover{border-color:var(--gold-2);color:var(--gold-2)}
.cd-close svg{width:18px;height:18px}
.cd-eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2);display:inline-flex;align-items:center;gap:.7rem;margin-bottom:1rem}
.cd-eyebrow::before{content:"";width:26px;height:1px;background:var(--gold-2);display:inline-block}
.cd h2{font-family:var(--serif);font-size:clamp(1.9rem,4.4vw,2.4rem);font-weight:500;line-height:1.08;letter-spacing:-.015em;margin-bottom:.6rem}
.cd-sub{color:var(--muted-d);font-size:.95rem;line-height:1.6;margin-bottom:1.9rem;max-width:34ch}
.cd-form{display:flex;flex-direction:column;gap:.9rem}
.cd-frow{display:flex;flex-direction:column;gap:.3rem;text-align:left}
.cd-frow label{font-size:.72rem;letter-spacing:.04em;color:rgba(255,255,255,.72);font-weight:500}
.cd-frow label .req{color:var(--gold-2)}
.cd-form input,.cd-form textarea{width:100%;font-family:var(--sans);font-size:.92rem;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:.78rem .9rem;transition:border-color .2s,background .2s}
.cd-form textarea{resize:vertical;min-height:104px;line-height:1.5}
.cd-form input::placeholder,.cd-form textarea::placeholder{color:rgba(255,255,255,.42)}
.cd-form input:focus,.cd-form textarea:focus{outline:none;border-color:var(--gold-2);background:rgba(255,255,255,.1)}
.cd-form input:user-invalid,.cd-form textarea:user-invalid{border-color:#e0908f}
.cd-form .btn-gold{width:100%;justify-content:center;margin-top:.6rem}
.cd-note{font-size:.82rem;color:var(--gold-2);margin-top:.2rem;line-height:1.5}
.cd-contact{margin-top:2.4rem;padding-top:2.2rem;border-top:1px solid var(--line-d);display:flex;flex-direction:column;gap:1.5rem}
.cd-ci{display:flex;align-items:center;gap:1.05rem;color:#fff;font-size:1.05rem;font-weight:500;line-height:1.5}
a.cd-ci{color:#fff}
a.cd-ci:hover{color:var(--gold-2)}
a.cd-ci:hover .cd-ci-ic{border-color:var(--gold-2);background:rgba(198,157,102,.14)}
.cd-ci-ic{flex:0 0 auto;width:48px;height:48px;border-radius:50%;border:1px solid var(--line-d);display:flex;align-items:center;justify-content:center;color:var(--gold-2);transition:border-color .2s,background .2s}
.cd-ci-ic svg{width:20px;height:20px}

/* ---------- responsive (header/footer only) ---------- */
@media(max-width:980px){
  .nav-links,.nav-cta .login-link,.nav-cta .btn-gold{display:none}
  .burger{display:flex}
}
@media(max-width:680px){
  :root{--header-h:66px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .nav{height:66px}
}
@media(max-width:480px){.cd{width:100%}}
@media(prefers-reduced-motion:reduce){.cd,.cd-overlay{transition-duration:.01ms}}

/* ---------- guard: keep our link colors above Elementor Theme Style ----------
   Elementor applies its global Link color as `.elementor-kit-{id} a` (specificity
   0,1,1), which can override our lower-specificity header/footer/drawer link rules
   and turn them blue. Re-assert here with header/footer/.cd prefixes so ours win
   regardless of stylesheet load order. Values match the originals above. */
header .login-link{color:var(--royal)}
header .login-link:hover{color:var(--gold)}
footer .foot-col a,footer .foot-col p{color:#C9D0E2}
footer .foot-col a:hover{color:var(--gold-2)}
footer .foot-col a[aria-disabled="true"]:hover{color:#C9D0E2}
footer .foot-li{color:#C9D0E2}
footer .foot-li:hover{color:var(--ink)}
.cd a.cd-ci{color:#fff}
.cd a.cd-ci:hover{color:var(--gold-2)}

/* ---------- guard: Elementor Theme Style Buttons paints EVERY <button> gold ----------
   Our transparent chrome buttons (burger, mobile close, drawer close) get an unwanted
   gold background + padding + radius, which also breaks the burger's stacked bars.
   Reset them to the intended look. !important because Elementor's `button` rules
   (incl. :hover) tie/beat plain multi-class selectors. */
.burger,
.m-close,
.cd-close{
  border-radius:0!important;
  box-shadow:none!important;
  min-height:0!important;
  min-width:0!important;
}
.burger{
  display:none!important;
  background:none!important;
  border:0!important;
  padding:0!important;
  width:30px!important;
  height:30px!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:stretch!important;
  gap:6px!important;
}
@media(max-width:980px){ .burger{display:flex!important} }
.burger:hover,.burger:focus{background:none!important}
.burger span{height:1.6px;width:24px;background:var(--ink)}
.m-close{
  background:none!important;
  border:0!important;
  padding:0!important;
  width:auto!important;
  height:auto!important;
  color:#fff!important;
  font-size:2rem!important;
  line-height:1!important;
}
.m-close:hover,.m-close:focus{background:none!important;color:#fff!important}
.cd-close{
  background:none!important;
  border:1px solid var(--line-d)!important;
  border-radius:50%!important;
  padding:0!important;
  width:42px!important;
  height:42px!important;
  color:#fff!important;
}
.cd-close:hover{border-color:var(--gold-2)!important;color:var(--gold-2)!important}

/* guard: Elementor's link typography compresses the offcanvas nav (tighter line-height),
   shrinking the rows vs the design (original inherits body line-height 1.6). Pin the
   size/line-height/padding. `.m-menu .m-links>a` (0,2,1) beats Elementor's `a` (0,1,1). */
.m-menu .m-links>a{font-family:var(--serif);font-size:1.7rem;line-height:1.6;padding:.55rem 0}


/* ==================== Hero ==================== */
/* ==========================================================================
   T3 — Hero (content section)
   Load via the asset plugin AFTER 03-header-footer.css (and before wp-overrides).
   Rules copied verbatim from assets/css/style.css so [t3_hero] matches 1:1.
   .hero-rings / .hero-play styles are kept for fidelity though the current
   hero markup doesn't output them (harmless if unused).
   ========================================================================== */

.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;background:var(--navy);color:#fff;overflow:hidden}
.hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero-rings{position:absolute;top:50%;right:-10%;transform:translateY(-50%);width:min(820px,82vw);opacity:.5;pointer-events:none;z-index:1}
.hero-overlay{position:absolute;inset:0;z-index:1;background:radial-gradient(120% 90% at 78% 28%, rgba(45,74,158,.5), transparent 60%),linear-gradient(180deg, rgba(14,27,56,.5) 0%, rgba(14,27,56,.28) 45%, rgba(20,42,87,.62) 100%)}
.hero-play{position:absolute;right:9%;top:50%;transform:translateY(-50%);z-index:1;width:108px;height:108px;opacity:.16;pointer-events:none}
.hero-content{position:relative;z-index:2;width:100%;text-align:left;padding-block:0 clamp(5rem,11vh,7.5rem)}
.hero-content h1{font-size:clamp(2.03rem,4.65vw,3.83rem);font-weight:500;margin:0;max-width:24ch}
.hero-content .sub{margin-top:1.6rem;font-size:clamp(1.02rem,1.5vw,1.2rem);color:#D9DFEE;max-width:40ch;font-weight:400}
.hero-scroll{position:absolute;left:50%;bottom:2.2rem;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#C9D0E2;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase}
.hero-scroll .dot{width:24px;height:38px;border:1.4px solid rgba(255,255,255,.4);border-radius:14px;position:relative}
.hero-scroll .dot::after{content:"";position:absolute;left:50%;top:7px;width:3px;height:7px;border-radius:3px;background:var(--gold-2);transform:translateX(-50%);animation:scrolldot 1.8s ease-in-out infinite}
@keyframes scrolldot{0%,100%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}80%{opacity:0;transform:translate(-50%,12px)}}

/* guard: fully define the hero heading so it doesn't depend on Elementor's
   Theme Style H1 (which supplies font/line-height/color and can be misconfigured —
   e.g. a px line-height collapses the two lines). The base h1,h2,h3 rule from
   style.css wasn't ported, so we set these here. .hero .hero-content h1 (0,1,2)
   beats Elementor's `.elementor-kit-{id} h1` (0,1,1). */
.hero .hero-content h1{color:#fff;font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.015em}
/* guard: hero scroll cue is an <a>, so Elementor's global link color (0,1,1) would
   repaint it. .hero .hero-scroll (0,2,0) wins. */
.hero .hero-scroll{color:#C9D0E2}

@media(max-width:680px){
  .hero-rings{right:-28%;opacity:.34}
  .hero-play{display:none}
  .hero-content{padding-bottom:clamp(6.5rem,18vh,8.5rem)}
}
@media(prefers-reduced-motion:reduce){
  .hero-scroll .dot::after{animation:none!important}
}


/* ==================== Stats ==================== */
/* ==========================================================================
   T3 — Stats (content section, pairs with the "T3 Stats" widget)
   Load via the asset plugin AFTER 10-hero.css. Rules copied verbatim from
   assets/css/style.css so it matches 1:1.
   Includes the shared `.reveal` fade-in (first used here; other sections reuse it —
   don't redefine it in later files).
   ========================================================================== */

/* ---------- reveal (shared) ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* ---------- stats ---------- */
.stats{background:var(--ink);color:#fff;padding-block:clamp(3.8rem,7vw,6rem);position:relative;overflow:hidden}
.stats::after{content:"";position:absolute;inset:0;background:radial-gradient(100% 120% at 15% 0%, rgba(29,68,137,.4), transparent 55%)}
.stats .wrap{position:relative;z-index:1}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.6rem 3rem}
.stat{border-top:1px solid var(--line-d);padding-top:1.4rem}
.stat .num{font-family:var(--serif);font-weight:500;font-size:clamp(2.2rem,3.8vw,3.1rem);line-height:1;letter-spacing:-.02em;color:#fff}
.stat .num .u{color:var(--gold-2);font-size:.55em;font-weight:600}
.stat .lab{margin-top:.7rem;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-d)}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .stat-grid{grid-template-columns:repeat(2,1fr);gap:2.2rem 2.5rem}
}
@media(max-width:680px){
  .stat-grid{grid-template-columns:repeat(2,1fr)}
}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
}


/* ==================== Formula ==================== */
/* T3 — Formula ("Our model") — pairs with [t3_formula]. Ported verbatim from style.css. */

/* ---------- eyebrow (shared, first ported use) ---------- */
.eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:.7rem;margin-bottom:1.4rem}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--gold);display:inline-block}
.on-dark .eyebrow{color:var(--gold-2)}

/* ---------- T3 formula ---------- */
.formula{padding-block:var(--sect);background:var(--paper);border-block:1px solid var(--line)}
.formula-head{margin-bottom:3.4rem;max-width:42ch}
.formula .formula-head h2{font-size:clamp(1.9rem,3.4vw,2.9rem)}
.formula-head p{color:var(--ink);margin-top:1rem;font-size:1.02rem;max-width:48ch}
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:1.4rem}
.fstep{position:relative;padding-right:1rem}
.fstep .fico{width:42px;height:42px;color:var(--royal);margin-bottom:1.1rem}
.fstep h3{font-size:1.04rem;font-weight:600;margin-bottom:.4rem}
.fstep p{font-size:.85rem;color:var(--ink);max-width:24ch}
.fstep:not(:last-child)::after{content:"\203A";position:absolute;top:6px;right:-.2rem;font-family:var(--serif);font-size:1.7rem;line-height:1;color:var(--gold);opacity:.8}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .flow{grid-template-columns:1fr;gap:0}
  .fstep{padding:1.4rem 0 1.4rem 3.6rem;border-left:1px solid var(--line);margin-left:1.2rem}
  .fstep .fico{position:absolute;left:-1.3rem;top:1.2rem;margin:0;width:38px;height:38px;background:var(--paper);padding:2px}
  .fstep:not(:last-child)::after{content:"";right:auto}
}


/* ==================== Focus ==================== */
/* T3 — Focus / Asset classes ("What we invest in") — pairs with T3 Asset Cards widget. Ported verbatim from style.css. */

/* ---------- focus / asset classes ---------- */
.focus{padding-block:var(--sect)}
.focus-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:3.2rem}
.focus .focus-head h2{font-size:clamp(1.9rem,3.4vw,2.9rem)}

/* ---------- ghost button (shared, first ported use) ---------- */
.btn-ghost{padding:.95rem 0;font-weight:600;font-size:.86rem;letter-spacing:.02em;color:var(--royal);display:inline-flex;align-items:center;gap:.5rem}
.btn-ghost .arr{transition:transform .25s ease}
.btn-ghost:hover .arr{transform:translateX(4px)}

/* ---------- cards ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.card{background:var(--cream);padding:clamp(1.8rem,3vw,2.6rem);transition:background .3s}
.card:hover{background:var(--paper)}
.card .ico{width:36px;height:36px;color:var(--royal);margin-bottom:1.5rem}
.card h3{font-size:1.35rem;font-weight:600;margin-bottom:.5rem}
.card p{color:var(--ink);font-size:.95rem;max-width:32ch}
.card .tag{margin-top:1.3rem;display:inline-block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid transparent;padding-bottom:2px}
.card:hover .tag{border-color:var(--gold)}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .cards{grid-template-columns:1fr}
}


/* ==================== Relationships ==================== */
/* T3 — Relationships / logo marquee ("Our Relationships") — pairs with T3 Relationships widget. Ported verbatim from style.css. */

/* ---------- relationships / marquee ---------- */
.rel{padding-block:clamp(3.8rem,7vw,6rem);background:var(--cream);border-top:1px solid var(--line);overflow:hidden}
.rel-head{text-align:center;margin-bottom:2.8rem;display:flex;flex-direction:column;align-items:center}
.rel .rel-head h2{font-size:clamp(1.4rem,2.4vw,1.9rem)}
.marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.marquee-track{display:flex;align-items:center;gap:3.6rem;width:max-content;animation:marq 42s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marq{from{transform:translateX(-50%)}to{transform:translateX(0)}}

/* ---------- logo tiles ---------- */
.logo-tile{flex:0 0 auto;width:160px;height:62px;background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.5;transition:opacity .3s}
.logo-tile:hover{opacity:1}
.marquee-track{gap:2.6rem;animation-duration:60s}

/* ---------- responsive ---------- */
@media(max-width:680px){.logo-tile{width:132px;height:50px}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none!important}}


/* ==================== Page Hero ==================== */
/* T3 — Page Hero (reusable interior-page hero). Ported verbatim from style.css. */
.page-hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;padding-block: clamp(6rem, 13vw, 6rem) clamp(3.4rem, 7vw, 6rem);}
.page-hero::before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(120% 100% at 80% 22%, rgba(45,74,158,.5), transparent 60%),linear-gradient(180deg, rgba(14,27,56,.2), rgba(20,42,87,.5))}
.page-hero .wrap{position:relative;z-index:1}
.page-hero .wrap h1{font-size:clamp(2.4rem,5vw,4rem);max-width:20ch;color:#fff;font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.015em}
.page-hero .lede{margin-top:1.4rem;color:#D9DFEE;font-size:clamp(1.04rem,1.6vw,1.25rem);max-width:54ch;font-weight:400}
.rings{position:absolute;top:50%;right:-8%;transform:translateY(-50%);width:min(620px,72vw);opacity:.42;pointer-events:none;z-index:0}
.rings.spin{animation:drift 130s linear infinite}
@keyframes drift{from{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.rings.spin{animation:none}}


/* ==================== Statement ==================== */
/* T3 — Statement band (reusable dark CTA band). Ported verbatim from style.css. */
.statement{background:var(--navy);color:#fff;padding-block:clamp(4.5rem,9vw,7.5rem);position:relative;overflow:hidden}
.statement::before{content:"";position:absolute;inset:0;background:radial-gradient(110% 120% at 82% 50%, rgba(45,74,158,.5), transparent 60%)}
.statement .wrap{position:relative;z-index:1}
.statement .wrap h2{font-size:clamp(2.2rem,5vw,3.7rem);font-weight:500;max-width:18ch;margin:.2rem 0 2.2rem;color:#fff;font-family:var(--serif);line-height:1.08;letter-spacing:-.015em}
.cta-row{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.4rem}
.statement .cta-row{margin-top:2.2rem}


/* ==================== About ==================== */
/* T3 — About page. Ported verbatim from style.css. Includes shared .sec primitives (first use). */

/* shared section primitives (first ported use) */
.sec{padding-block:var(--sect)}
.sec-cream{background:var(--cream)}
.sec-paper{background:var(--paper);border-block:1px solid var(--line)}
.sec-head{max-width:44ch;margin-bottom:2.8rem}
.sec .sec-head h2{font-size:clamp(1.9rem,3.4vw,2.9rem)}

/* About page-specific overrides (need .about-page body class) */
.page-hero.is-compact h1{font-size:clamp(1.68rem,3.5vw,2.8rem);max-width:32ch;text-wrap:balance}
.statement.is-compact h2{font-size:clamp(1.54rem,3.5vw,2.6rem);max-width:34ch;text-wrap:balance}
.statement.is-compact .sub{color:#D9DFEE;font-size:clamp(.73rem,1.12vw,.84rem);max-width:54ch;margin:0 0 .2rem;font-weight:400;line-height:1.6}

/* prose columns */
.prose-lg{max-width:68ch;margin-top:.8rem}
.prose-lg.prose-cols{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,3.5rem);align-items:start}
.prose-lg.prose-cols .prose-col p:last-child{margin-bottom:0}
.prose-lg p{font-family:var(--sans);font-size:clamp(.81rem,1.19vw,.98rem);line-height:1.7;color:var(--ink);font-weight:400;margin-bottom:1.4rem;text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}
.prose-lg p:last-child{margin-bottom:0}
@media(max-width:768px){.prose-lg.prose-cols{grid-template-columns:1fr}}

/* metrics ticker */
.ticker{background:var(--ink);color:#fff;overflow:hidden;position:relative;border-block:1px solid var(--line-d)}
.ticker::before,.ticker::after{content:"";position:absolute;top:0;bottom:0;width:12%;z-index:2;pointer-events:none}
.ticker::before{left:0;background:linear-gradient(90deg,var(--ink),transparent)}
.ticker::after{right:0;background:linear-gradient(270deg,var(--ink),transparent)}
.ticker-track{display:flex;align-items:center;width:max-content;animation:tickerMove 45s linear infinite}
.tick-group{display:flex;align-items:center;flex-shrink:0}
.tick{display:inline-flex;align-items:baseline;gap:.45rem;padding-block:clamp(.85rem,1.6vw,1.1rem);font-size:.74rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--muted-d);white-space:nowrap}
.tick b{font-family:var(--serif);font-weight:600;font-size:1.18rem;color:#fff;letter-spacing:0;text-transform:none}
.ticker .dot{width:5px;height:5px;border-radius:50%;background:var(--gold);margin:0 clamp(1.5rem,3vw,2.6rem);flex-shrink:0;opacity:.85}
@keyframes tickerMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}}

/* founder pull-quote */
.pullquote{max-width:62ch;margin:0}
.pullquote blockquote{margin:0;border-left:2px solid var(--gold);padding-left:clamp(1.4rem,3vw,2.4rem)}
.pullquote blockquote p{font-family:var(--serif);font-weight:500;font-size:clamp(1.4rem,2.8vw,2.1rem);line-height:1.32;letter-spacing:-.01em;color:var(--ink);margin-bottom:1.1rem}
.pullquote blockquote p:last-child{margin-bottom:0}
.pullquote figcaption{margin-top:1.8rem;padding-left:clamp(1.4rem,3vw,2.4rem);display:flex;flex-direction:column;gap:.18rem}
.pullquote .qn{font-family:var(--sans);font-weight:600;font-size:.95rem;letter-spacing:.02em;color:var(--ink)}
.pullquote .qr{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-d);font-weight:600}

/* Our Story (copy + photo) */
.story-grid{display:grid;grid-template-columns:1.2fr .8fr;column-gap:clamp(1.4rem,3vw,2.6rem);row-gap:1.3rem;align-items:start;grid-template-areas:"se se" "sc sm"}
.story-grid>.eyebrow{grid-area:se;margin-bottom:0}
.story-grid>.pullquote{grid-area:sc;max-width:none;margin:0}
.story-media{grid-area:sm;display:flex;justify-content:flex-start;align-items:flex-start}
.story-media img{width:50%;height:auto;display:block;aspect-ratio:1/1;object-fit:cover;border-radius:14px;box-shadow:0 26px 60px -30px rgba(14,27,56,.45)}
.story-grid .pullquote blockquote p{font-size:clamp(1.05rem,1.5vw,1.45rem);line-height:1.5;text-align:justify;text-justify:inter-word;hyphens:none;-webkit-hyphens:none;overflow-wrap:normal;word-break:normal}
@media(max-width:860px){
  .story-grid{grid-template-columns:1fr;column-gap:0;row-gap:1.4rem;grid-template-areas:"sm" "se" "sc"}
  .story-grid.reveal{opacity:1;transform:none;transition:none}
  .story-media{justify-content:flex-start}
  .story-media img{width:56%;aspect-ratio:1/1}
}

/* Our Values */
.values{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:.5rem}
.value{background:var(--paper);padding:clamp(1.5rem,2.6vw,2rem)}
.value .vn{display:block;font-family:var(--serif);font-size:1.18rem;font-weight:600;color:var(--ink)}
.value .vico{display:block;color:var(--gold);margin-bottom:1rem}
.value .vico svg{width:26px;height:26px;display:block}
.value p{color:var(--ink);font-size:.9rem;line-height:1.55;margin-top:.55rem}
@media(max-width:900px){
  .values{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .values{grid-template-columns:1fr}
}


/* ==================== How We Invest ==================== */
.t3-hwi .mono{font-family:'Inter', sans-serif;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;font-size:11.5px;}
.t3-hwi .hwi-hero{padding:96px 0 64px;border-bottom:1px solid var(--line);}
.t3-hwi .hwi-hero-grid{display:grid;grid-template-columns:1.4fr 1px 1fr;gap:48px;align-items:end;}
.t3-hwi .hwi-hero-rule{background:var(--line);height:100%;align-self:stretch;}
.t3-hwi .hwi-hero .eyebrow{color:var(--royal);margin-bottom:18px;display:flex;align-items:center;gap:10px;}
.t3-hwi .hwi-hero .eyebrow::before{content:'';width:22px;height:1px;background:var(--gold);}
.t3-hwi .hwi-hero h1{font-family:'Source Serif 4', serif;font-weight:500;font-size:clamp(38px, 5.4vw, 64px);line-height:1.08;letter-spacing:-0.01em;margin:0 0 28px;}
.t3-hwi .hwi-hero h1 em{font-style:italic;font-weight:500;color:var(--gold);}
.t3-hwi .hwi-hero-support{padding-bottom:8px;}
.t3-hwi .hwi-hero-support p{font-size:16px;line-height:1.65;color:var(--ink);margin:0 0 22px;}
.t3-hwi .hwi-hero-attribution{display:flex;flex-direction:column;gap:2px;padding-top:18px;border-top:1px solid var(--line);margin-top:4px;}
.t3-hwi .hwi-hero-attribution .attr-name{font-family:'Source Serif 4', serif;font-weight:600;font-size:15px;color:var(--ink);}
.t3-hwi .hwi-hero-attribution .attr-title{font-family:'Inter', sans-serif;font-weight:600;font-size:10.5px;text-transform:uppercase;letter-spacing:0.1em;color:var(--gold);}
.t3-hwi .hwi-hero-stats{display:flex;gap:28px;flex-wrap:wrap;}
.t3-hwi .hwi-hero-stats .stat .num{font-family:'Source Serif 4', serif;font-weight:500;font-size:26px;color:var(--ink);}
.t3-hwi .hwi-hero-stats .stat .lbl{font-family:'Inter', sans-serif;font-weight:600;font-size:10.5px;color:var(--ink);text-transform:uppercase;letter-spacing:0.1em;margin-top:4px;}
.t3-hwi .stackbar-wrap{margin-top:56px;}
.t3-hwi .stackbar-label{display:flex;justify-content:space-between;margin-bottom:10px;color:var(--ink);}
.t3-hwi .stackbar{display:flex;width:100%;height:46px;border-radius:2px;overflow:hidden;border:1px solid var(--line);}
.t3-hwi .stackbar .seg{display:flex;align-items:center;justify-content:center;font-family:'Inter', sans-serif;font-weight:600;font-size:11px;letter-spacing:0.08em;color:var(--white);text-transform:uppercase;transition:flex-grow .4s ease;cursor:default;}
.t3-hwi .stackbar .seg.research{background:var(--ink);flex-grow:1.1;}
.t3-hwi .stackbar .seg.acquisition{background:var(--navy);flex-grow:1.1;}
.t3-hwi .stackbar .seg.management{background:var(--royal);flex-grow:1;}
.t3-hwi .stackbar .seg.exit{background:var(--gold);flex-grow:0.9;color:var(--ink);}
.t3-hwi .stackbar .seg:hover{flex-grow:2;}
.t3-hwi section{padding:88px 0;}
.t3-hwi .section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:54px;gap:24px;flex-wrap:wrap;}
.t3-hwi .section-head h2{font-family:'Source Serif 4', serif;font-weight:500;font-size:clamp(28px,3.4vw,38px);margin:0;line-height:1.15;max-width:560px;}
.t3-hwi .section-head .mono{color:var(--royal);margin-bottom:10px;display:block;}
.t3-hwi .section-head p{color:var(--ink);max-width:320px;font-size:14.5px;line-height:1.6;margin:0;}
.t3-hwi .ledger{border-top:1px solid var(--line);}
.t3-hwi .ledger-row{display:grid;grid-template-columns:220px 1fr 1fr;gap:32px;padding:36px 0;border-bottom:1px solid var(--line);align-items:start;transition:background .25s ease;}
.t3-hwi .ledger-row:hover{background:rgba(29,68,137,0.04);}
.t3-hwi .ledger-name{font-family:'Source Serif 4', serif;font-size:24px;font-weight:500;}
.t3-hwi .ledger-name .tag{display:block;margin-top:8px;font-family:'Inter', sans-serif;font-weight:600;font-size:10.5px;color:var(--gold);text-transform:uppercase;letter-spacing:0.1em;}
.t3-hwi .ledger-desc{font-size:14.5px;line-height:1.7;color:var(--ink);padding-top:4px;}
.t3-hwi .ledger-row.no-stats{grid-template-columns:220px 1fr;}
.t3-hwi .ledger-row.no-stats.research-row{grid-template-columns:220px 1fr;}
.t3-hwi .research-row{grid-template-columns:220px 1.8fr 1fr;}
.t3-hwi .ledger-desc .lead{margin:0 0 18px;}
.t3-hwi .research-groups{display:flex;gap:36px;flex-wrap:wrap;}
.t3-hwi .research-group{min-width:170px;}
.t3-hwi .group-label{display:block;font-family:'Inter', sans-serif;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:0.1em;color:var(--royal);margin-bottom:10px;}
.t3-hwi .research-group ul{list-style:none;margin:0;padding:0;}
.t3-hwi .research-group li{font-size:13.5px;color:var(--ink);padding:7px 0 7px 16px;position:relative;border-top:1px solid var(--line);}
.t3-hwi .research-group li:first-child{border-top:none;}
.t3-hwi .research-group li::before{content:'';position:absolute;left:0;top:15px;width:5px;height:1px;background:var(--gold);}
.t3-hwi .ledger-stats{display:flex;flex-direction:column;gap:10px;padding-top:4px;}
.t3-hwi .ledger-stats div{font-size:13px;color:var(--ink);}
.t3-hwi .ledger-stats span{color:var(--ink);}
.t3-hwi #partnership{padding-top:40px;}
.t3-hwi .investor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:2px;}
.t3-hwi .investor-card{background:var(--paper);padding:32px 26px 30px;border-bottom:2px solid transparent;position:relative;z-index:0;transition:background .25s ease,box-shadow .25s ease,border-color .25s ease;display:block;}
.t3-hwi .investor-card:hover{background:var(--white);border-bottom-color:var(--gold);box-shadow:0 10px 32px rgba(14,27,56,.1);z-index:1;}
.t3-hwi .investor-num{font-family:'Inter', sans-serif;font-weight:600;font-size:11px;letter-spacing:0.1em;color:var(--gold);margin-bottom:18px;}
.t3-hwi .investor-card h3{font-family:'Source Serif 4', serif;font-weight:500;font-size:19px;margin:0 0 10px;line-height:1.2;color:var(--ink);}
.t3-hwi .investor-card p{font-size:13px;line-height:1.6;color:var(--ink);margin:0;}
.t3-hwi .philosophy{background:var(--navy);color:var(--white);position:relative;overflow:hidden;}
.t3-hwi .philosophy::before{content:'';position:absolute;inset:0;z-index:0;background:radial-gradient(110% 120% at 82% 50%, rgba(45,74,158,.5), transparent 60%);}
.t3-hwi .philosophy .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;position:relative;z-index:1;}
.t3-hwi .philosophy h2{font-family:'Source Serif 4', serif;font-weight:500;font-size:clamp(28px,3.6vw,40px);line-height:1.25;margin:0;color:var(--white);}
.t3-hwi .philosophy h2 em{font-style:italic;color:var(--gold-2);font-weight:500;}
.t3-hwi .philosophy .btn{margin-top:28px;}
.t3-hwi .philosophy-points{display:flex;flex-direction:column;gap:28px;}
.t3-hwi .philosophy-points .point{padding-left:22px;border-left:1px solid rgba(255,255,255,0.18);}
.t3-hwi .philosophy-points .point .mono{color:var(--gold-2);display:block;margin-bottom:8px;}
.t3-hwi .philosophy-points .point p{margin:0;font-size:14.5px;line-height:1.65;color:var(--muted-d);}
.t3-hwi .philosophy.insights-band .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;text-align:left;}
.t3-hwi .philosophy.insights-band .insights-right p{margin:0;font-size:16px;line-height:1.7;color:var(--muted-d);}
.t3-hwi .philosophy.insights-band .eyebrow{color:var(--gold-2);justify-content:flex-start;}
.t3-hwi .philosophy.insights-band .eyebrow::before{background:var(--gold-2);}
@media(max-width:860px){
  .t3-hwi section{padding:44px 0;}
  .t3-hwi #partnership{padding-top:32px;}
  .t3-hwi .hwi-hero-grid{grid-template-columns:1fr;}
  .t3-hwi .hwi-hero-rule{display:none;}
  .t3-hwi .hwi-hero-attribution{border-top:none;padding-top:0;margin-top:0;padding-bottom:18px;border-bottom:1px solid var(--line);}
  .t3-hwi .stackbar-wrap{margin-top:36px;}
  .t3-hwi .philosophy .wrap{grid-template-columns:1fr;gap:32px;}
  .t3-hwi .philosophy.insights-band .wrap{grid-template-columns:1fr;gap:20px;align-items:start;}
  .t3-hwi .philosophy.insights-band h2{max-width:none;}
}


/* ==================== Portfolio ==================== */
.pf-pill{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding:.5rem 1rem;border-radius:100px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff}
.pf-num{font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.16em;color:var(--gold);text-transform:uppercase}
.pf-hero{position:relative;min-height:92vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--ink)}
.pf-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background-size:cover;background-position:center;z-index:0}
.pf-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(14,27,56,.55) 0%,rgba(14,27,56,.10) 30%,rgba(14,27,56,.16) 58%,rgba(14,27,56,.85) 100%)}
.pf-hero .wrap{position:relative;z-index:2;width:100%;padding-top:8rem;padding-bottom:clamp(2.5rem,6vw,4.5rem)}
.pf-hero-grid{display:grid;grid-template-columns:1fr;gap:2rem;align-items:end}
.pf-hero .wrap h1{font-family:var(--serif);font-size:clamp(1.5rem,4.8vw,3.8rem);font-weight:500;letter-spacing:-.02em;line-height:1.08;margin:1rem 0 1.1rem;color:#fff}
.pf-h1l{display:block;white-space:nowrap}
.pf-hero p.lead{font-size:clamp(1rem,1.5vw,1.18rem);color:rgba(255,255,255,.84);max-width:46ch;line-height:1.55}
.pf-band{background:var(--ink);color:#fff;padding-block:var(--sect)}
.pf-band .pf-logo{height:26px;width:auto;margin-bottom:2.2rem;opacity:.95}
.pf-band-head{display:grid;grid-template-columns:1fr;gap:2rem;align-items:end;margin-bottom:clamp(2rem,4vw,3rem)}
.pf-band .pf-band-head h2{font-family:var(--serif);font-size:clamp(1.5rem,3.4vw,2.8rem);font-weight:500;line-height:1.08;letter-spacing:-.015em;max-width:none;color:#fff}
.pf-band-head p{color:var(--muted-d);max-width:42ch}
.pf-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none}
.pf-track::-webkit-scrollbar{display:none}
.pf-track>div{flex:0 0 64%;scroll-snap-align:start;aspect-ratio:16/9;border-radius:14px;background-size:cover;background-position:center}
.pf-car-ctrl{display:flex;align-items:center;gap:1.2rem;margin-top:1.6rem}
.pf-arrow{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.25s;flex:0 0 auto}
.pf-arrow:hover{border-color:var(--gold-2);color:var(--gold-2)}
.pf-prog{flex:1;height:2px;background:rgba(255,255,255,.16);position:relative;border-radius:2px;max-width:220px}
.pf-prog>span{position:absolute;left:0;top:0;height:100%;background:var(--gold);border-radius:2px;width:30%}
.pf-classes{background:var(--cream);padding-block:var(--sect)}
.pf-cl-head{display:grid;grid-template-columns:1fr;gap:2rem;align-items:end;margin-bottom:clamp(2rem,4vw,3rem)}
.pf-classes .pf-cl-head h2{font-family:var(--serif);font-size:clamp(2rem,3.8vw,3rem);font-weight:500;line-height:1.08;letter-spacing:-.015em}
.pf-cl-head p{color:var(--ink);max-width:46ch;justify-self:end}
.pf-gallery{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(200px,22vw,265px);gap:1rem}
.pf-cell{position:relative;border-radius:14px;overflow:hidden;display:block;isolation:isolate;min-height:196px}
.pf-cell .bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .7s cubic-bezier(.2,.7,.2,1);z-index:-1}
.pf-cell:hover .bg{transform:scale(1.06)}
.pf-cell::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,27,56,0) 36%,rgba(14,27,56,.8) 100%)}
.pf-cell .cap{position:absolute;left:0;bottom:0;padding:1.3rem 1.4rem;color:#fff;z-index:1}
.pf-cell .cap .k{font-family:var(--serif);font-size:1.3rem;font-weight:500;line-height:1.12;letter-spacing:-.01em}
.pf-cell .cap .d{font-size:.78rem;color:rgba(255,255,255,.82);margin-top:.35rem;max-width:34ch}
.pf-badge{position:absolute;top:.9rem;right:.9rem;z-index:2;width:clamp(74px,7.5vw,90px);aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:13px;background:rgba(255,255,255,.13);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.24);box-shadow:0 6px 20px rgba(14,27,56,.18)}
.pf-badge .bn{font-family:var(--serif);font-size:clamp(1.05rem,1.5vw,1.4rem);font-weight:500;line-height:1;letter-spacing:-.01em;color:#fff}
.pf-badge .bu{font-family:var(--sans);font-size:.62rem;color:rgba(255,255,255,.85);margin-top:.28rem;letter-spacing:.03em}
.pf-half{grid-column:span 3}
.pf-third{grid-column:span 2}
.pf-wide{grid-column:1 / -1}
.pf-galleries{background:var(--paper);border-block:1px solid var(--line);padding-block:var(--sect)}
.pf-gal+.pf-gal{margin-top:clamp(3rem,6vw,5rem)}
.pf-msc-head{margin-bottom:clamp(1.4rem,3vw,2.2rem)}
.pf-msc-head .pf-num{display:block;margin-bottom:.7rem}
.pf-galleries .pf-msc-head h2{font-family:var(--serif);font-size:clamp(1.7rem,3.2vw,2.6rem);font-weight:500;line-height:1.15;letter-spacing:-.01em}
.pf-mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:clamp(215px,24vw,320px) clamp(140px,16vw,200px);gap:1rem}
.pf-msc{position:relative;overflow:hidden;border-radius:14px;background:var(--navy)}
.pf-msc .bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.pf-msc:hover .bg{transform:scale(1.05)}
.pf-mosaic .pf-msc:nth-child(1){grid-column:1/6;grid-row:1}
.pf-mosaic .pf-msc:nth-child(2){grid-column:6/13;grid-row:1}
.pf-mosaic .pf-msc:nth-child(3){grid-column:1/5;grid-row:2}
.pf-mosaic .pf-msc:nth-child(4){grid-column:5/9;grid-row:2}
.pf-mosaic .pf-msc:nth-child(5){grid-column:9/13;grid-row:2}
.pf-faq{background:var(--ink);color:#fff;padding-block:var(--sect)}
.pf-faq-head{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:clamp(2rem,4vw,3rem);flex-wrap:wrap}
.pf-faq .pf-faq-head h2{font-family:var(--serif);font-size:clamp(1.9rem,3.6vw,2.8rem);font-weight:500;line-height:1.08;letter-spacing:-.015em;color:#fff}
.pf-faq-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,4vw,3.5rem);align-items:start}
.pf-acc details{border-top:1px solid var(--line-d);padding:1.2rem 0}
.pf-acc details:last-child{border-bottom:1px solid var(--line-d)}
.pf-acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:1.1rem;font-family:var(--serif);font-size:clamp(1.05rem,1.6vw,1.32rem);font-weight:500;color:#fff}
.pf-acc summary::-webkit-details-marker{display:none}
.pf-acc summary .qn{font-family:var(--sans);font-size:.8rem;font-weight:600;color:var(--gold-2);min-width:1.5rem}
.pf-acc summary .ic{margin-left:auto;width:24px;height:24px;flex:0 0 auto;position:relative}
.pf-acc summary .ic::before,.pf-acc summary .ic::after{content:"";position:absolute;background:var(--gold-2);left:50%;top:50%;transform:translate(-50%,-50%)}
.pf-acc summary .ic::before{width:14px;height:1.5px}
.pf-acc summary .ic::after{width:1.5px;height:14px;transition:transform .3s}
.pf-acc details[open] summary .ic::after{transform:translate(-50%,-50%) scaleY(0)}
.pf-acc .ans{color:var(--muted-d);font-size:.95rem;line-height:1.62;padding:.85rem 0 .2rem 2.6rem;max-width:54ch}
.pf-faq-img{border-radius:14px;overflow:hidden;aspect-ratio:4/5;background-size:cover;background-position:center;position:sticky;top:90px}
.pf-band-br{display:none}
@media(max-width:560px){.pf-band-br{display:inline}}
@media(max-width:900px){
  .pf-hero-grid,.pf-band-head,.pf-cl-head,.pf-faq-grid{grid-template-columns:1fr}
  .pf-cl-head p{justify-self:start}
  .pf-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:clamp(170px,28vw,220px)}
  .pf-gallery>.pf-cell{grid-column:auto}
  .pf-gallery>.pf-cell:nth-child(5),.pf-wide{grid-column:1 / -1}
  .pf-faq-img{position:relative;top:0}
  .pf-track>div{flex-basis:84%}
}
@media(max-width:640px){
  .pf-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:auto}
  .pf-mosaic .pf-msc{grid-column:auto !important;grid-row:auto !important;aspect-ratio:1/1}
  .pf-mosaic .pf-msc:nth-child(1){grid-column:1 / 3 !important;aspect-ratio:16/10}
}
@media(max-width:560px){
  .pf-gallery{display:flex;flex-direction:column;gap:1rem}
  .pf-cell{min-height:220px}
}


/* Elementor Theme-Style Buttons reset for carousel arrows */
.pf-arrow{display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:50%!important;width:46px!important;height:46px!important;min-width:0!important;padding:0!important;color:#fff!important;box-shadow:none!important}
.pf-arrow:hover{background:transparent!important;border-color:var(--gold-2)!important;color:var(--gold-2)!important}


/* ==================== Leadership ==================== */
.leaders{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:stretch}
.leader{display:flex;flex-direction:column;height:100%}
.leader .photo{aspect-ratio:4/5;max-width:50%;overflow:hidden;border-radius:4px;background:var(--navy);margin-bottom:1.7rem;position:relative;border:1px solid var(--line)}
.leader .photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
.leader .photo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--gold)}
.leaders .leader h2{font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,1.95rem);font-weight:600;line-height:1.08;letter-spacing:-.015em}
.leader .role{color:var(--gold);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin:.45rem 0 1.3rem}
.leader .bio{flex:1}
.leader .bio p{color:var(--ink);font-size:.97rem;margin-bottom:.9rem}
.leader .edu{margin-top:1.2rem;padding-top:1.1rem;border-top:1px solid var(--line);font-size:.88rem;color:var(--ink);font-weight:500}
.leader .social{margin-top:1.1rem;display:flex;gap:.6rem}
.leader .social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:4px;color:var(--royal);transition:background .22s,color .22s,border-color .22s,transform .22s}
.leader .social a:hover{background:var(--royal);color:#fff;border-color:var(--royal);transform:translateY(-2px)}
.leader .social svg{width:19px;height:19px}
@media(max-width:860px){
  .leaders{grid-template-columns:1fr;gap:3rem}
}


/* ==================== Invest With Us ==================== */
.two-col{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.bigstate{font-family:var(--serif);font-weight:500;font-size:clamp(1.55rem,3vw,2.4rem);line-height:1.26;letter-spacing:-.01em;max-width:22ch}
.body p{color:var(--ink);font-size:1.05rem;margin-bottom:1.1rem;max-width:64ch}
.body p:last-child{margin-bottom:0}
.iv-intro{color:var(--ink);max-width:60ch;font-size:1.05rem;margin:-.4rem 0 2.4rem}
.iv-calc{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;align-items:stretch}
.iv-panel{border-radius:16px;padding:clamp(1.6rem,3vw,2.4rem)}
.iv-controls{background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column;gap:2rem}
.iv-field-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1rem;gap:1rem}
.iv-field label{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-weight:600}
.iv-amt{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2rem);font-weight:500;color:var(--ink);letter-spacing:-.01em}
input[type=range].iv-range{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:6px;background:rgba(14,27,56,.12);outline:none;cursor:pointer}
input[type=range].iv-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;background:var(--gold);border:3px solid #fff;box-shadow:0 3px 10px rgba(14,27,56,.28);cursor:pointer}
input[type=range].iv-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--gold);border:3px solid #fff;box-shadow:0 3px 10px rgba(14,27,56,.28);cursor:pointer}
input[type=range].iv-range:focus-visible{outline:2px solid var(--gold-2);outline-offset:4px}
.iv-scale{display:flex;justify-content:space-between;margin-top:.7rem;font-size:.72rem;color:var(--ink)}
.iv-seg{display:flex;gap:.5rem;margin-top:1rem}
.iv-seg button{flex:1;padding:.7rem .5rem;border:1px solid var(--line);background:transparent;border-radius:8px;font-family:var(--sans);font-size:.85rem;font-weight:600;color:var(--ink);cursor:pointer;transition:.2s}
.iv-seg button:hover{border-color:var(--gold-2);color:var(--ink)}
.iv-seg button.on{background:var(--ink);border-color:var(--ink);color:#fff}
.iv-assume{font-size:.82rem;color:var(--ink);line-height:1.55;margin-top:.2rem}
.iv-assume b{color:var(--ink);font-weight:600}
.iv-results{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.iv-results::after{content:"";position:absolute;inset:0;background:radial-gradient(100% 80% at 85% 0%, rgba(45,74,158,.42), transparent 60%);pointer-events:none}
.iv-results>*{position:relative;z-index:1}
.iv-rlab{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-d);font-weight:600}
.iv-rbig{display:block;font-family:var(--serif);font-size:clamp(2.6rem,5vw,3.6rem);font-weight:500;line-height:1;letter-spacing:-.02em;margin:.6rem 0 1.5rem}
.iv-bar{display:flex;height:12px;border-radius:6px;overflow:hidden;background:rgba(255,255,255,.1)}
.iv-bar>span{transition:width .35s cubic-bezier(.2,.7,.2,1)}
.iv-bar .cap{background:var(--gold-2)}
.iv-bar .pro{background:var(--royal)}
.iv-bar-key{display:flex;gap:1.6rem;margin-top:.85rem;font-size:.76rem;color:var(--muted-d)}
.iv-bar-key i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:.45rem;vertical-align:middle}
.iv-bar-key i.cap{background:var(--gold-2)}
.iv-bar-key i.pro{background:var(--royal)}
.iv-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 1rem;margin-top:2rem;border-top:1px solid var(--line-d);padding-top:1.9rem}
.iv-result-grid .v{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,1.85rem);font-weight:500;line-height:1;color:#fff;letter-spacing:-.01em}
.iv-result-grid .l{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-d);margin-top:.55rem}
.iv-disc{font-size:.76rem;color:var(--ink);line-height:1.6;margin-top:1.8rem;max-width:88ch}
.iv-tax-callout{background:var(--navy);color:#fff;border-radius:16px;padding:clamp(1.8rem,3vw,2.6rem);position:relative;overflow:hidden}
.iv-tax-callout::before{content:"";position:absolute;inset:0;background:radial-gradient(110% 90% at 90% 8%, rgba(45,74,158,.5), transparent 60%)}
.iv-tax-callout>*{position:relative;z-index:1}
.iv-tax-tag{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);font-weight:600}
.iv-tax-big{font-family:var(--serif);font-size:clamp(2.6rem,5vw,3.6rem);font-weight:500;line-height:1;letter-spacing:-.02em;margin:.7rem 0 .3rem}
.iv-tax-sub{color:#C9D0E2;font-size:.92rem;margin-bottom:1.5rem}
.iv-tax-eg{border-top:1px solid var(--line-d);padding-top:1.3rem}
.iv-tax-eg .row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.45rem 0}
.iv-tax-eg .row span:first-child{color:var(--muted-d);font-size:.86rem}
.iv-tax-eg .row span:last-child{font-family:var(--serif);font-size:1.15rem;color:#fff}
.iv-tax-eg .row.hl span:last-child{color:var(--gold-2)}
.iv-tax-note{font-size:.72rem;color:var(--muted-d);margin-top:1rem;font-style:italic}
.iv-points{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:clamp(2.4rem,4vw,3.2rem)}
.iv-point{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:1.7rem}
.iv-point .n{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:.95rem;color:var(--royal);margin-bottom:1.1rem}
.iv-points .iv-point h3{font-size:1.15rem;font-weight:500;margin-bottom:.5rem;font-family:var(--serif);line-height:1.15;letter-spacing:-.005em}
.iv-point p{color:var(--ink);font-size:.9rem}
.iv-team{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.iv-member{display:flex;gap:1.3rem;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:1.4rem;text-decoration:none;color:inherit;transition:border-color .22s,box-shadow .22s,transform .22s}
a.iv-member:hover{border-color:var(--gold);box-shadow:0 12px 32px rgba(14,27,56,.08);transform:translateY(-2px)}
.iv-member img{width:96px;height:120px;object-fit:cover;border-radius:10px;flex:0 0 auto}
.iv-member .nm{font-family:var(--serif);font-size:1.3rem;font-weight:500;line-height:1.1}
.iv-member .ro{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:.4rem 0 .55rem}
.iv-member .bi{font-size:.86rem;color:var(--ink)}
.iv-ir{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(2rem,4vw,3.5rem);align-items:center;margin-top:1.4rem;background:var(--ink);color:#fff;border-radius:18px;padding:clamp(1.8rem,3.5vw,3rem);position:relative;overflow:hidden}
.iv-ir::after{content:"";position:absolute;inset:0;background:radial-gradient(90% 110% at 92% 50%, rgba(45,74,158,.45), transparent 60%)}
.iv-ir>*{position:relative;z-index:1}
.sec .iv-ir h3{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.1rem);font-weight:500;line-height:1.08;letter-spacing:-.015em;max-width:18ch;color:#fff}
.iv-ir p{color:var(--muted-d);margin-top:.9rem;max-width:44ch}
.iv-ir-actions{display:flex;flex-direction:column;gap:.75rem}
.iv-ir-actions .btn{justify-content:center;width:100%}
.iv-ir-actions .em{text-align:center;font-size:.84rem;color:var(--muted-d);margin-top:.3rem}
.iv-ir-actions .em a{color:var(--gold-2)}
.iv-form{display:flex;flex-direction:column;gap:.8rem}
.iv-frow{display:flex;flex-direction:column;gap:.3rem;text-align:left}
.iv-frow label{font-size:.72rem;letter-spacing:.04em;color:rgba(255,255,255,.72);font-weight:500}
.iv-frow label .req{color:var(--gold-2)}
.iv-form input{width:100%;font-family:var(--sans);font-size:.92rem;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:.72rem .85rem;transition:border-color .2s,background .2s}
.iv-form input::placeholder{color:rgba(255,255,255,.42)}
.iv-form input:focus{outline:none;border-color:var(--gold-2);background:rgba(255,255,255,.1)}
.iv-form input:user-invalid{border-color:#e0908f}
.iv-form .btn-gold{width:100%;justify-content:center;margin-top:.35rem}
.iv-form-note{font-size:.82rem;color:var(--gold-2);margin-top:.1rem;line-height:1.5}
@media(max-width:860px){
  .two-col{grid-template-columns:1fr}
  .iv-calc{grid-template-columns:1fr}
  .iv-points{grid-template-columns:1fr}
  .iv-team{grid-template-columns:1fr}
  .iv-ir{grid-template-columns:1fr}
}
@media(max-width:480px){
  .iv-member{flex-direction:column;text-align:center;align-items:center}
}


/* ==================== Forminator investor form (dark panel) ==================== */
.iv-ir .forminator-custom-form{margin:0}
.iv-ir .forminator-row{margin:0 0 .8rem}
.iv-ir .forminator-row-last{margin-bottom:0}
.iv-ir .forminator-label{font-size:.72rem;letter-spacing:.04em;color:rgba(255,255,255,.72);font-weight:500;margin:0 0 .3rem;display:block}
.iv-ir .forminator-required{color:var(--gold-2)}
.iv-ir .forminator-input{width:100%!important;font-family:var(--sans);font-size:.92rem;color:#fff!important;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:8px!important;padding:.72rem .85rem!important;box-shadow:none!important}
.iv-ir .forminator-input::placeholder{color:rgba(255,255,255,.42)}
.iv-ir .forminator-input:focus{outline:none;border-color:var(--gold-2)!important;background:rgba(255,255,255,.1)!important}
.iv-ir .forminator-button-submit{width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;background:var(--gold)!important;color:#fff!important;border:0!important;border-radius:0px!important;padding:.85rem 1rem!important;font-family:var(--sans)!important;font-weight:600!important;font-size:.9rem!important;cursor:pointer;margin-top:.35rem;transition:filter .2s}
.iv-ir .forminator-button-submit:hover{filter:brightness(.95)}
.iv-ir .forminator-error-message,.iv-ir .forminator-label-error{color:#e0908f!important;font-size:.78rem}
.iv-ir .forminator-response-message{color:#fff;font-size:.85rem;margin-bottom:1rem}
.iv-ir .forminator-response-message p{color:#fff}

.iv-ir .forminator-error-message{color:#f0a9a8!important;font-size:.76rem;margin-top:.4rem;display:block;line-height:1.4}
.iv-ir .forminator-has_error .forminator-input{border-color:#e0908f!important;background:rgba(224,144,143,.08)!important}
.iv-ir .forminator-response-message{font-size:.85rem;line-height:1.45}
.iv-ir .forminator-response-message.forminator-error,.iv-ir .forminator-response-message.forminator-success{border-radius:8px;padding:.75rem .9rem;margin-bottom:1.1rem}
.iv-ir .forminator-response-message.forminator-error{background:rgba(224,144,143,.12)!important;border:1px solid rgba(224,144,143,.45)!important;color:#f2b8b7!important}
.iv-ir .forminator-response-message.forminator-success{background:rgba(139,197,143,.12)!important;border:1px solid rgba(139,197,143,.45)!important;color:#bfe3c1!important}
.iv-ir .forminator-response-message p{color:inherit!important;margin:0}

/* Disable market insight url in footer */

.foot-col.investors ul li:last-child a {
    opacity: .55;
    pointer-events: none;
}
.iv-ir .forminator-response-message[aria-hidden="true"]{display:none}

/* ==================== Track Record ==================== */
/* ==========================================================================
   T3 — Track Record ("Case Studies"). Ported from new_pages/case-studies_11.html.
   Load AFTER 21-invest.css. Pairs with 36-track-record-cpt.php + 37-track-record-widget.php.

   PORT NOTES — what was deliberately NOT copied from the source file:
   • :root tokens          → 01-tokens.css owns these. The source's --slate / --slate-soft /
                             --green were APPENDED there; its --line (#E5E0D3, warm) was NOT —
                             we keep our cooler rgba(14,27,56,.12) so the page matches the site.
   • reset / body / .wrap  → already in 02-base.css.
   • .skip, .eyebrow       → already defined; reused as-is (see the eyebrow note below).
   • header.site / footer.site / .cd-* → the source's own comments mark that chrome as
                             placeholder; our real header/footer/drawer come from 03-header-footer.css.
   • .page-hero            → RENAMED to .tr-hero. Our .page-hero (15-page-hero.css) is the DARK
                             navy interior hero used by About / How We Invest / Portfolio /
                             Leadership / Invest. The source's is light cream, so porting it under
                             the same name would have repainted five finished pages.

   EYEBROW: the house .eyebrow (12-formula.css) carries a gold leading dash that the standalone
   source file didn't have. We keep the dash (brand consistency across all pages) but zero its
   1.4rem bottom margin inside these two components, because the source relies on the h1's own
   16px top margin for that gap.
   ========================================================================== */

/* Tabular figures for all the return metrics. Ours only ever scoped .stat .num (0,2,0),
   so this bare utility is purely additive and can't outrank it. */
.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}

/* ================= Page hero (light cream — Track Record only) ================= */
.tr-hero{background:var(--cream);border-bottom:1px solid var(--line);padding:84px 0 64px}
/* .is-compact = the legal-page variant of this shared cream hero (Disclosures / Privacy /
   Terms): 72/52 padding + clamp(34px,4.8vw,52px) h1, vs Track Record's 84/64 + 38-60px. */
.tr-hero.is-compact{padding:72px 0 52px}
.tr-hero.is-compact .wrap h1{font-size:clamp(34px,4.8vw,52px);margin-top:14px}
.tr-hero .wrap p.meta{margin-top:16px;font-size:13.5px;color:var(--slate-soft)}
.tr-hero .wrap p.meta b{color:var(--slate);font-weight:600}
/* 2-class guard: the Elementor kit pins h1 to its own size/colour/family at (0,1,1). */
.tr-hero .wrap h1{font-size:clamp(38px,5.4vw,60px);margin-top:16px;color:var(--ink);font-family:var(--serif);font-weight:500;line-height:1.1;letter-spacing:-.015em}
.tr-hero .wrap p.sub{margin-top:20px;max-width:62ch;font-size:17.5px;color:var(--slate-soft)}
.tr-hero .eyebrow{margin-bottom:0}
.tr-hero .eyebrow::before{display:none}

/* ================= Case study cards ================= */
.cs-sec{padding:72px 0 96px}
.cs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(480px,1fr));gap:30px}
@media(max-width:1060px){.cs-grid{grid-template-columns:1fr}}
.cs-card{position:relative;border-radius:8px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 24px 60px -40px rgba(14,27,56,.35);cursor:pointer;text-align:left;padding:0;font:inherit;color:inherit;display:block;width:100%;transition:transform .25s,box-shadow .25s}
.cs-card:hover,.cs-card:focus-visible{transform:translateY(-4px);box-shadow:0 32px 70px -38px rgba(14,27,56,.5)}
.cs-card:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.cs-media{position:relative;aspect-ratio:16/9.5;overflow:hidden}
.cs-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.cs-card:hover .cs-media img{transform:scale(1.04)}
.cs-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,27,56,0) 40%,rgba(14,27,56,.78) 100%)}
.cs-badge{position:absolute;top:18px;right:18px;z-index:2;backdrop-filter:blur(8px);background:linear-gradient(160deg,rgba(255,255,255,.28),rgba(120,120,120,.30));border:1px solid rgba(255,255,255,.35);border-radius:12px;padding:12px 18px;text-align:center;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.cs-badge .bv{font-family:var(--serif);font-size:24px;line-height:1}
.cs-badge .bk{font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:.85;margin-top:4px}
.cs-name{position:absolute;left:24px;right:24px;bottom:20px;z-index:2;color:#fff}
/* 2-class + explicit colour/family: this h3 sits on a dark image and the kit would paint it navy. */
.cs-name h3{color:#fff;font-size:24px;font-weight:600;font-family:var(--serif);line-height:1.1;margin:0}
.cs-name p{font-size:13.5px;color:rgba(255,255,255,.85);margin-top:4px}
/* blue-band stats on the thumbnail */
.cs-band{display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy)}
.cs-band .c{padding:18px 14px;border-right:1px solid var(--line-d);text-align:center}
.cs-band .c:last-child{border-right:none}
.cs-band .k{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.cs-band .v{font-family:var(--serif);font-size:22px;color:#fff;margin-top:5px;line-height:1}
.cs-band .c.hl .v{color:var(--gold-2)}
@media(max-width:560px){
  .cs-band{grid-template-columns:1fr 1fr}
  .cs-band .c:nth-child(2){border-right:none}
  .cs-band .c:nth-child(-n+2){border-bottom:1px solid var(--line-d)}
}
.cs-cta{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:#fff}
.cs-cta .t{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--royal)}
.cs-cta .ar{color:var(--gold);font-size:18px;transition:transform .25s}
.cs-card:hover .cs-cta .ar{transform:translateX(5px)}
.cs-note{margin-top:34px;font-size:12px;line-height:1.7;color:var(--slate-soft);max-width:100ch}

/* ================= Modal shell ================= */
/* z-index 120 clears our sticky header (100) and stays under the mobile menu (150)
   and the contact drawer (200/210) — intentional. */
.csm-overlay{position:fixed;inset:0;z-index:120;background:rgba(14,27,56,.62);backdrop-filter:blur(4px);display:none;align-items:flex-start;justify-content:center;overflow-y:auto;padding:4vh 18px}
.csm-overlay.open{display:flex}
.csm-shell{position:relative;background:var(--paper);border-radius:10px;max-width:1080px;width:100%;margin:0 auto 6vh;overflow:hidden;box-shadow:0 40px 120px -30px rgba(0,0,0,.6)}
/* CLOSE BUTTON pinned to the viewport, aligned to the shell's top-right.
   The source used position:sticky, which DEGRADES here: .csm-shell has overflow:hidden
   (needed to clip the hero to the rounded corners), making it a scroll container that never
   scrolls - so the button just scrolled away. On mobile that was a dead end: at <=820px the
   overlay drops its padding, the shell fills the viewport (no backdrop to click) and touch
   devices have no Esc key. */
.csm-close{position:fixed;top:4vh;left:50%;transform:translateX(-50%);width:min(1080px, calc(100vw - 36px));height:0;z-index:130;display:flex;justify-content:flex-end;pointer-events:none}
.csm-close button{pointer-events:auto;margin:16px 16px 0 0;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(14,27,56,.55);backdrop-filter:blur(6px);color:#fff;font-size:20px;line-height:1;cursor:pointer;transition:background .2s}
.csm-close button:hover{background:var(--gold)}
/* Class-based lock, NOT inline style — main.js locks the body inline for the mobile menu and
   contact drawer, so closing either of those can't accidentally unlock a modal-locked page. */
body.csm-lock{overflow:hidden}

/* ================= Modal case study (scoped .csm) ================= */
.csm{color:var(--slate);font-family:var(--sans)}
.csm .cwrap{max-width:1000px;margin:0 auto;padding:0 40px}
.csm h1,.csm h2{font-family:var(--serif);font-weight:500;color:var(--navy);line-height:1.08}
.csm .eyebrow{color:var(--gold);margin-bottom:0}
.csm .eyebrow::before{display:none}
.csm .hbody{padding:64px 0 58px}
/* COLLISION RESET — `.hero` is ALSO the homepage video hero (10-hero.css line 9), which sets
   `min-height:88vh; display:flex; align-items:flex-end`. Those leak into this modal header at
   (0,1,0) and blow the hero up to ~88% of the viewport with the copy jammed to the bottom.
   `.csm .hero` is (0,2,0) so it wins — but ONLY for properties we actually restate. Hence the
   explicit min-height/display resets below; do not remove them. */
/* COLLISION RESET — this element is <header class="hero">, so TWO global rules reach it.
   1) `.hero` (10-hero.css) = homepage VIDEO HERO: min-height:88vh; display:flex; align-items:flex-end
      -> hero grew to ~88vh with the copy jammed to the bottom.
   2) `header` (03-header-footer.css) = the STICKY SITE HEADER, a BARE ELEMENT selector, so it
      matches every <header>: position:sticky; top:0; z-index:100; backdrop-filter:...
      -> this header inherited z-index:100, tied the site header's stacking level, and being
         later in the DOM painted OVER it while scrolling (single-entry page only; inside a
         modal, .csm-overlay's stacking context contained it).
   (0,2,0) beats both — but ONLY for properties restated here. Do not trim. */
.csm .hero{position:relative;z-index:auto;top:auto;color:#fff;overflow:hidden;min-height:0;display:block;align-items:initial;backdrop-filter:none;border-bottom:0;transition:none}
.csm .tag{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:22px}
.csm .hero .eyebrow{color:var(--gold-2)}
/* 2-class + explicit colour/family — kit forces #0E1B38 on h1, invisible on this dark hero. */
.csm .hero h1{color:#fff;font-size:clamp(32px,5vw,54px);margin:16px 0 0;max-width:18ch;font-family:var(--serif);font-weight:500;line-height:1.08}
.csm .hero h1 em{font-style:italic;color:var(--gold-2)}
.csm .hsub{margin-top:20px;max-width:56ch;font-size:16.5px;color:rgba(255,255,255,.82)}
.csm .chips{display:flex;flex-wrap:wrap;gap:32px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line-d)}
.csm .chip .k{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.csm .chip .v{font-family:var(--serif);font-size:21px;color:#fff;margin-top:3px}

.csm .band{background:var(--navy)}
.csm .band .grid{display:grid;grid-template-columns:repeat(4,1fr)}
.csm .cell{padding:34px 26px;border-right:1px solid var(--line-d)}
.csm .cell:last-child{border-right:none}
.csm .cell .k{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:10px}
.csm .cell .v{font-family:var(--serif);font-size:clamp(30px,4vw,44px);color:#fff;line-height:1}
.csm .cell.hl .v{color:var(--gold-2)}
.csm .cell .n{font-size:12px;color:rgba(255,255,255,.5);margin-top:8px}

/* centered Capitalization & Outcome */
.csm .facts-sec{padding:70px 0 8px;display:flex;justify-content:center}
.csm .facts{background:#fff;border:1px solid var(--line);border-radius:6px;padding:10px 28px;box-shadow:0 22px 55px -34px rgba(14,27,56,.35);width:100%;max-width:560px}
.csm .facts .row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);gap:16px}
.csm .facts .row:last-child{border-bottom:none}
.csm .facts .lab{font-size:13.5px;color:var(--slate-soft)}
.csm .facts .val{font-family:var(--serif);font-size:17px;color:var(--navy);white-space:nowrap}
.csm .facts .val.pos{color:var(--green)}
.csm .facts .cap{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600;padding:18px 0 4px;text-align:center}

.csm .levers{padding:64px 0 70px}
/* 2-class guard so the kit's fixed h2 size can't override the clamp. */
.csm .levers h2{font-size:clamp(23px,3vw,30px);margin-bottom:30px;color:var(--navy);font-family:var(--serif);font-weight:500}
.csm .lgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.csm .lev{border-top:2px solid var(--gold);padding-top:18px}
.csm .lev .t{font-family:var(--serif);font-size:19px;color:var(--navy);font-weight:600;margin-bottom:8px}
.csm .lev p{font-size:14.5px;color:var(--slate-soft);line-height:1.55}

.csm .gal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:180px 180px;gap:12px}
.csm .gal img{width:100%;height:100%;object-fit:cover;border-radius:4px}
.csm .a1{grid-row:1/span 2}.csm .a4{grid-column:2/span 2}
.csm .gal3{display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:180px 180px;gap:12px}
.csm .gal3 img{width:100%;height:100%;object-fit:cover;border-radius:4px}
.csm .gal3 .a1{grid-row:1/span 2}
.csm .callout{background:var(--ink);color:#fff;padding:32px 0;border-top:1px solid var(--line-d)}
.csm .co{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.csm .co .tag{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);font-weight:600;white-space:nowrap;margin:0}
.csm .co p{font-size:16px;color:rgba(255,255,255,.86);line-height:1.55;flex:1;min-width:280px}
.csm .co p strong{color:#fff;font-weight:600}

.csm .specs{background:var(--ink);color:#fff;padding:28px 0;margin-top:60px}
.csm .specs .in{display:flex;flex-wrap:wrap;gap:38px;justify-content:center;align-items:center;text-align:center}
/* DEVIATION FROM SOURCE - intentional bug fix, do not restore to match case-studies_11.html.
   .v and .k are <span>s and the source never gave .sp a display, so both rendered INLINE:
   "3PROPERTIES", "4-StoryEXTENDED STAY". The source's own .k{margin-top:3px} is a no-op on an
   inline box, which shows stacked was the intent all along - and it's how .chip and .cell
   (block <div>s) already render in the same design. */
.csm .sp{display:flex;flex-direction:column;align-items:center;justify-content:center}
.csm .sp .v{font-family:var(--serif);font-size:21px;color:#fff;line-height:1.15}
.csm .sp .k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:3px}
.csm .sp-d{width:1px;height:34px;background:var(--line-d)}

.csm .disc-sec{background:#fff;border-top:1px solid var(--line);padding:30px 0 36px}
.csm .disc{font-size:11px;line-height:1.65;color:var(--slate-soft)}
.csm .disc p{font-size:11px;line-height:1.65;color:var(--slate-soft);margin:0 0 .6em}
.csm .disc p:last-child{margin-bottom:0}
.csm .disc strong{color:var(--slate)}

@media(max-width:820px){
  .csm .cwrap{padding:0 22px}
  .csm .band .grid{grid-template-columns:repeat(2,1fr)}
  .csm .cell:nth-child(2){border-right:none}
  .csm .cell{border-bottom:1px solid var(--line-d)}
  .csm .lgrid{grid-template-columns:1fr;gap:20px}
  .csm .gal{grid-template-columns:1fr 1fr;grid-template-rows:150px 150px 150px}
  .csm .a1{grid-row:1;grid-column:1/span 2}.csm .a4{grid-column:1/span 2}
  .csm .gal3{grid-template-columns:1fr;grid-template-rows:200px 160px 160px}
  .csm .gal3 .a1{grid-row:1;grid-column:1}
  .csm .specs{margin-top:46px}
  .csm-overlay{padding:0}
  .csm-shell{border-radius:0;margin-bottom:0}
  .csm-close{top:0;width:100vw}
}

/* ================= Single-entry page (/track-record/{slug}/) ================= */
/* Hello Elementor wraps the injected article in its own constrained container —
   strip that so the .csm hero/band/specs run full-bleed exactly like the modal. */
.tr-single .site-main,
.tr-single .page-content,
.tr-single .entry-content,
.tr-single article.post{max-width:none;width:auto;margin:0;padding:0}
.tr-single .page-header,
.tr-single .entry-header,
.tr-single .post-navigation{display:none}
.tr-single .csm{background:var(--paper)}

/* ==========================================================================
   ELEMENTOR THEME-STYLE GUARDS — required, see CLAUDE.md
   The kit's Theme Style → Buttons paints EVERY plain <button> gold with padding and a
   radius. Both the case-study card and the modal close button are real <button>s, so
   without these resets the card grid renders as gold blocks. The kit's rules tie or beat
   multi-class selectors, so !important is the only reliable fix — same as .burger / .cd-close.
   ========================================================================== */
.cs-card{
  background:#fff !important;
  color:inherit !important;
  border:1px solid var(--line) !important;
  border-radius:8px !important;
  padding:0 !important;
  text-align:left !important;
  font-family:var(--sans) !important;
  font-size:16px !important;
  font-weight:400 !important;
  letter-spacing:normal !important;
  line-height:1.6 !important;
  text-transform:none !important;
  box-shadow:0 24px 60px -40px rgba(14,27,56,.35) !important;
}
.cs-card:hover,.cs-card:focus-visible{
  background:#fff !important;
  box-shadow:0 32px 70px -38px rgba(14,27,56,.5) !important;
}
.csm-close button{
  background:rgba(14,27,56,.55) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.4) !important;
  border-radius:50% !important;
  padding:0 !important;
  width:44px !important;
  height:44px !important;
  font-size:20px !important;
  font-weight:400 !important;
  letter-spacing:normal !important;
  line-height:1 !important;
}
.csm-close button:hover{background:var(--gold) !important}

/* ==================== Legal ==================== */
/* ==========================================================================
   T3 — Legal documents (Disclosures, Privacy Policy, Terms and Conditions).
   Ported from new_pages/{disclosures,privacy-policy,terms-and-conditions}.html —
   all three share one identical stylesheet. Load AFTER 22-track-record.css.
   Pairs with the T3 Legal Content widget (39-legal-widget.php), which emits
   `<section class="legal-sec"><div class="wrap"><article class="legal">`.

   SCOPE: `.legal-sec .legal …` throughout — self-scoping (the WIDGET emits both classes),
   never a page/body class. Two reasons for the doubled prefix rather than a bare `.legal`:
   1. Elementor kit 7 styles `h1/h2/h3` and `a` at (0,1,1). A bare `.legal h2` is also (0,1,1),
      so the kit would tie and win on load order — headings would render at the kit's fixed size
      and links would go Elementor-blue instead of royal/gold. (0,2,1) beats it outright.
   2. `.legal` on its own is a generic word; keeping the section prefix means these prose rules
      can never leak into unrelated content.

   The page hero for these pages is the shared cream hero (`.tr-hero`, 22-track-record.css)
   with its `is-compact` variant — see that file.
   ========================================================================== */

.legal-sec{padding:64px 0 96px}
.legal-sec .legal{max-width:76ch}

/* headings — 2-class guard beats the kit's fixed h2/h3 typography */
.legal-sec .legal h2{font-family:var(--serif);font-weight:600;color:var(--navy);font-size:24px;line-height:1.25;margin:44px 0 14px;padding-top:26px;border-top:1px solid var(--line)}
.legal-sec .legal h2:first-child{margin-top:0;padding-top:0;border-top:none}
.legal-sec .legal h3{font-family:var(--serif);font-weight:600;color:var(--navy);font-size:18.5px;line-height:1.25;margin:28px 0 10px}

/* body copy */
.legal-sec .legal p{margin:0 0 14px;font-size:15.5px;line-height:1.75;color:var(--slate)}
.legal-sec .legal ul,
.legal-sec .legal ol{margin:0 0 16px;padding-left:24px}
/* The source relied on the browser default. Hello Elementor's reset and Elementor's own
   frontend CSS both touch lists, so state the markers explicitly or the bullets vanish. */
.legal-sec .legal ul{list-style:disc}
.legal-sec .legal ol{list-style:decimal}
.legal-sec .legal li{margin-bottom:8px;font-size:15.5px;line-height:1.7;color:var(--slate)}
.legal-sec .legal strong{color:var(--navy);font-weight:600}

/* links — 2-class guard: the kit's `.elementor-kit-7 a` (0,1,1) would repaint these blue */
.legal-sec .legal a{color:var(--royal);text-decoration:underline;text-decoration-color:var(--gold-2);text-underline-offset:3px}
.legal-sec .legal a:hover{text-decoration-color:var(--royal)}

/* tables (Privacy Policy — the CCPA categories table) */
.legal-sec .legal .tbl{overflow-x:auto;margin:0 0 18px;border:1px solid var(--line);border-radius:6px}
.legal-sec .legal table{border-collapse:collapse;width:100%;min-width:640px;font-size:13.5px;line-height:1.55;background:#fff;margin:0}
.legal-sec .legal th{background:var(--navy);color:#fff;text-align:left;font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:12px 14px}
.legal-sec .legal td{padding:12px 14px;border-top:1px solid var(--line);vertical-align:top;color:var(--slate)}

