/* Google Fonts (Sora + Merriweather), latin subset, embedded for offline single-file use */
@font-face{font-family:'Merriweather';font-style:italic;font-weight:400;font-display:swap;src:url(e02afa5fc6.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Merriweather';font-style:normal;font-weight:300;font-display:swap;src:url(5c271de154.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Merriweather';font-style:normal;font-weight:400;font-display:swap;src:url(5c271de154.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Merriweather';font-style:normal;font-weight:700;font-display:swap;src:url(5c271de154.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Sora';font-style:normal;font-weight:300;font-display:swap;src:url(0d0e5e4d2f.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Sora';font-style:normal;font-weight:400;font-display:swap;src:url(0d0e5e4d2f.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Sora';font-style:normal;font-weight:500;font-display:swap;src:url(0d0e5e4d2f.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Sora';font-style:normal;font-weight:600;font-display:swap;src:url(0d0e5e4d2f.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Sora';font-style:normal;font-weight:700;font-display:swap;src:url(0d0e5e4d2f.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}.stat-strip-inner{align-items:flex-start}
.story-image{max-height:320px}.heritage-image{max-height:340px}.story-image img{max-height:320px}
.story img{width:100%;height:210px;object-fit:cover;display:block}.story.featured img{height:290px}.leader img{width:100%;height:300px;object-fit:cover;object-position:center top;display:block}
.leader-photo{width:160px;height:160px;border-radius:50%;overflow:hidden;margin:0 auto 18px;aspect-ratio:1/1;max-height:160px}.leader-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%;filter:grayscale(1)}.leader img{width:150px;height:150px;border-radius:50%;object-fit:cover;object-position:center 20%;display:block;margin:0 auto 14px;filter:grayscale(1)}.leader{text-align:center}.leader:hover img,.leader-photo:hover img{filter:grayscale(0);transition:filter .4s}
.hero-figure img,.story-image img,.heritage-image img{filter:grayscale(1) sepia(.42) hue-rotate(190deg) saturate(1.45) contrast(1.05) brightness(.97)}.hero-figure img:hover,.story-image img:hover{filter:grayscale(0);transition:filter .5s}@media (prefers-reduced-motion:no-preference){.plateanim polyline{transition:stroke-dashoffset 1.9s cubic-bezier(.4,0,.2,1)}}
.hero{position:relative}.hero-content{position:relative;z-index:2}
.story{display:flex;flex-direction:column}.story .story-content{order:1;display:flex;flex-direction:column;flex:1}.story .story-image{order:2;margin-top:auto;padding-top:14px}.story .story-content h3{min-height:0}.story .story-meta{margin-top:auto;padding-top:10px}

/* engagement sequence animation */
.eng-rail{--engprog:0%}
.eng-rail::after{content:"";position:absolute;left:0;top:7px;height:2px;width:var(--engprog);background:#7B3F61;transition:width 7.5s linear}
.eng-step .eng-node,.eng-step .eng-ghost,.eng-step h3{transition:all .45s}
.eng-rail.seq .eng-step:not(.hard):not(.pulse) .eng-node{background:rgba(26,26,79,.22)}
.eng-rail.seq .eng-step:not(.hard):not(.pulse) .eng-ghost{color:rgba(26,26,79,.10)}
.eng-rail.seq .eng-step:not(.hard):not(.pulse) h3{color:rgba(26,26,79,.38)}
.eng-step.pulse .eng-node{background:#7B3F61;animation:engpulse 1s ease-in-out infinite}
.eng-step.pulse .eng-ghost{color:rgba(123,63,97,.30)}
.eng-step.pulse h3{color:#7B3F61}
.eng-step.hard .eng-node{background:#1A1A4F;transform:scale(1.05);animation:engignite .7s ease}
.eng-step.hard .eng-ghost{color:rgba(26,26,79,.22)}
.eng-step.hard h3{color:#1A1A4F}
@keyframes engignite{0%{transform:scale(1)}45%{transform:scale(1.45);box-shadow:0 0 0 8px rgba(123,63,97,.25)}100%{transform:scale(1.05);box-shadow:0 0 0 0 rgba(123,63,97,0)}}
@keyframes engpulse{0%,100%{box-shadow:0 0 0 0 rgba(123,63,97,.35);transform:scale(1)}50%{box-shadow:0 0 0 9px rgba(123,63,97,0);transform:scale(1.3)}}
@media (max-width:880px){.eng-rail::after{left:5px;top:0;width:2px;height:var(--engprog)}}

.stat-strip-inner .stat{display:flex;flex-direction:column;height:100%}.stat-strip-inner .stat-sub{flex:1}.stat-value{font-weight:600}#intelligence .stat-value{color:#067CA8}#advisory .stat-value{color:#7B3F61}
#intelligence .heritage{padding-bottom:44px}#research{padding-top:44px}#research .section-inner>div[style*='max-width:1160px']{padding-top:0}#research hr.rule{margin-top:0}
.origin-photo{height:210px;overflow:hidden;border-radius:3px 3px 0 0;margin:-1px -1px 18px}.origin-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) sepia(.42) hue-rotate(190deg) saturate(1.45) contrast(1.05) brightness(.97);transition:filter .5s}.origin-photo:hover img{filter:grayscale(0)}
.key-stat{display:flex;flex-direction:column;height:100%}.key-stat .key-label{flex:1}.key-stat .lundy-fx-bar{margin-top:auto}
#firm .heritage-image img{filter:none}
#firm .partner-photo{width:150px;height:150px;flex:0 0 150px;border-radius:50%;overflow:hidden}#firm .partner-photo img{filter:grayscale(1);transition:filter .4s}#firm .partner:hover .partner-photo img{filter:grayscale(0)}.geo-card{transition:transform .25s,box-shadow .25s,border-color .25s}.geo-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(26,26,79,.10);border-color:#7B3F61}.geo-card:hover h3{color:#7B3F61;transition:color .25s}

/* Lundy Investors - site stylesheet (v8.3, Jun 2026)
   OFFICIAL BRAND SYSTEM (Brand Identity Manual + Lundy Colour Codes):
   Primary: Deep Blue #1A1A4F + Royal Purple #6B63FF (the --plum variable IS royal purple).
   Division accents: Intelligence = Insight Blue #09A6E0; Origin = Chili Coral #F05346.
   Tints snap to the official 10-step scales (e.g. #5E5E84 = Deep Blue 70%, #8983FF = Purple 80%).
   Secondary palette (Burgundy #652045 / Orange #EB5A3C / Yellow #F19C3E / Cool Gray #A2A7B7)
   is for charts and data visuals ONLY, max 25% of any composition.
   Typography: Sora display/UI + Merriweather body (Brand Identity Manual p15-17).
   Accent purple = fills/borders/large display only; small text and links use Deep Blue (WCAG). */

:root{
  --deep-blue:#1A1A4F;
  --deep-blue-2:#15153F;
  --deep-blue-3:#0F0F2E;
  --plum:#6B63FF;
  --plum-soft:#8983FF;
  --cream:#F4F6FB;
  --cream-2:#FBFCFE;
  --light-bg:#F5F5FA;
  --white:#FFFFFF;
  --text-grey:#5E5E84;
  --footer-grey:#8C8CA7;
  --silver:#A3A3B9;
  --rule:rgba(26,26,79,.10);
  --rule-strong:rgba(26,26,79,.18);
  --rule-inv:rgba(245,240,235,.15);
  --font-display:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --font-body:'Merriweather','Georgia',serif;
  --maxw:1280px;
  --space-section:96px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);font-size:16px;line-height:1.65;color:var(--deep-blue);background:var(--white);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer}

h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:600;line-height:1.2;color:var(--deep-blue);letter-spacing:-.01em}
p{margin:0 0 14px}
ul,ol{margin:0 0 14px;padding-left:20px}
li{margin-bottom:6px}

/* ─── Utility nav ─── */
.utility-nav{background:var(--deep-blue);color:var(--white);font-family:var(--font-display);font-size:13px}
.utility-nav-inner{max-width:var(--maxw);margin:0 auto;padding:10px 32px;display:flex;justify-content:flex-end;align-items:center;gap:28px}
.utility-nav a{color:inherit;transition:color .2s;padding:8px 2px;display:inline-block}
.utility-nav a:hover{color:var(--plum-soft)}
.utility-nav .divider{opacity:.4}
.utility-nav .login{border:1px solid rgba(255,255,255,.3);padding:4px 14px;transition:all .2s}
.utility-nav .login:hover{background:var(--plum);border-color:var(--plum);color:var(--white)}

/* ─── Primary nav ─── */
.primary-nav{background:var(--white);border-bottom:1px solid var(--light-bg);position:sticky;top:0;z-index:100;box-shadow:0 1px 0 rgba(26,26,79,.04)}
.primary-nav-inner{max-width:var(--maxw);margin:0 auto;padding:14px 32px;display:flex;justify-content:space-between;align-items:center;gap:32px;min-height:84px}
.logo-link{display:flex;align-items:center}
.logo-link img{height:56px;width:auto;display:block}
.primary-menu{display:flex;gap:36px;font-family:var(--font-display);font-size:15px;font-weight:500;align-items:center}
.primary-menu a{padding:8px 0;border-bottom:2px solid transparent;transition:border-color .2s,color .2s;color:var(--deep-blue)}
.primary-menu a:hover,.primary-menu a.active{border-bottom-color:var(--plum);color:var(--plum)}
.nav-search{width:36px;height:36px;border-radius:50%;border:1px solid var(--light-bg);background:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}
.nav-search:hover{background:var(--light-bg)}
.nav-search svg{width:18px;height:18px;stroke:var(--deep-blue)}

.menu-toggle{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.menu-toggle:focus-visible + .menu-icon{outline:2px solid var(--plum);outline-offset:4px}
.menu-icon{display:none;cursor:pointer;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:5px;z-index:201}
.menu-icon span{display:block;width:26px;height:2px;background:var(--deep-blue);transition:transform .3s,opacity .3s,background .3s}

/* ─── Hero ─── */
.hero{position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden;background:var(--deep-blue);color:var(--white)}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,26,79,1) 0%,rgba(26,26,79,.85) 55%,rgba(107,99,255,.35) 100%);z-index:0}
.hero::after{content:"";position:absolute;top:-160px;right:-160px;width:560px;height:560px;background:radial-gradient(circle,rgba(107,99,255,.45) 0%,transparent 65%);z-index:0;pointer-events:none}
.hero-content{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:120px 32px;width:100%}
.hero-eyebrow{font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--plum-soft);margin-bottom:24px}
.hero h1{font-family:var(--font-display);font-size:clamp(40px,6vw,72px);font-weight:300;line-height:1.05;color:var(--white);max-width:980px;margin-bottom:32px;letter-spacing:-1px}
.hero h1 strong{font-weight:600;color:var(--plum-soft)}
.hero-lede{font-family:var(--font-body);font-size:19px;line-height:1.6;max-width:680px;margin-bottom:48px;color:rgba(255,255,255,.9)}
.hero-cta-group{display:flex;gap:16px;flex-wrap:wrap;align-items:center}

.hero.compact{min-height:auto}
.hero.compact .hero-content{padding:96px 32px 64px}

/* ─── Buttons ─── */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:600;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;padding:16px 30px;transition:all .25s ease;cursor:pointer;border:2px solid transparent;text-decoration:none}
.btn-primary{background:var(--plum);color:var(--white)}
.btn-primary:hover{background:var(--white);color:var(--deep-blue)}
.btn-ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.55)}
.btn-ghost:hover{background:var(--white);color:var(--deep-blue);border-color:var(--white)}
.btn-dark{background:var(--deep-blue);color:var(--white)}
.btn-dark:hover{background:var(--plum);color:var(--white)}
.btn-line{background:transparent;color:var(--deep-blue);border-color:var(--deep-blue)}
.btn-line:hover{background:var(--deep-blue);color:var(--white)}

/* ─── Stat strip ─── */
.stat-strip{background:var(--cream);border-bottom:1px solid rgba(26,26,79,.08)}
.stat-strip-inner{max-width:var(--maxw);margin:0 auto;padding:48px 32px;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.stat-value{font-family:var(--font-display);font-size:44px;font-weight:300;color:var(--deep-blue);line-height:1;margin-bottom:8px;letter-spacing:-1px}
.stat-value .accent{color:var(--plum);font-weight:600}
.stat-label{font-family:var(--font-display);font-size:12px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--text-grey)}
.stat-sub{font-family:var(--font-body);font-size:12px;color:var(--text-grey);margin-top:4px;font-style:italic}

/* ─── Sections ─── */
.section{padding:var(--space-section) 32px}
.section-inner{max-width:var(--maxw);margin:0 auto}
.section-header{max-width:820px;margin-bottom:64px}
.section-eyebrow{font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--plum);margin-bottom:20px;display:inline-block;padding-bottom:8px;border-bottom:2px solid var(--plum)}
.section-title{font-family:var(--font-display);font-size:clamp(30px,4vw,46px);font-weight:400;color:var(--deep-blue);margin-bottom:20px;letter-spacing:-.5px;line-height:1.15}
.section-lede{font-family:var(--font-body);font-size:18px;line-height:1.7;color:var(--text-grey);max-width:760px}
.section-prose{font-family:var(--font-body);font-size:16px;line-height:1.75;color:var(--text-grey);max-width:760px}
.section-prose p{margin-bottom:16px}

.section.cream{background:var(--cream)}
.section.light{background:var(--light-bg)}
.section.white{background:var(--white)}

/* ─── Service grid (cards flip dark on hover) ─── */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--light-bg);border:1px solid var(--light-bg)}
.service-card{background:var(--white);padding:40px 32px;transition:background .3s ease,color .3s ease;cursor:pointer;min-height:280px;display:flex;flex-direction:column;text-decoration:none;color:var(--deep-blue)}
.service-card:hover{background:var(--deep-blue);color:var(--white)}
.service-card:hover h3,.service-card:hover p,.service-card:hover .service-arrow{color:var(--white)}
.service-card:hover .service-num{color:var(--plum-soft)}
.service-num{font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:1.5px;color:var(--plum);margin-bottom:24px;transition:color .3s;text-transform:uppercase}
.service-card h3{font-family:var(--font-display);font-size:24px;font-weight:500;margin-bottom:16px;transition:color .3s;line-height:1.25}
.service-card p{font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--text-grey);flex-grow:1;transition:color .3s}
.service-arrow{margin-top:24px;font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--plum);transition:color .3s}

/* ─── Insights / stories ─── */
.insights-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:64px;flex-wrap:wrap;gap:24px}
.insights-header > div{max-width:700px}
.view-all-link{font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--deep-blue);border-bottom:2px solid var(--plum);padding-bottom:4px;display:inline-block;transition:color .2s,border-color .2s}
.view-all-link:hover{color:var(--deep-blue);border-color:var(--deep-blue)}
.story-grid-featured{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;margin-bottom:32px}
.story-grid-rest{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.story{background:var(--white);transition:transform .3s,box-shadow .3s;cursor:pointer;display:flex;flex-direction:column;text-decoration:none;color:var(--deep-blue);border:1px solid var(--rule)}
.story:not([href]){cursor:default}
.story:not([href]):hover{transform:none;box-shadow:none;border-color:var(--rule)}
.story:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(26,26,79,.10);border-color:var(--rule-strong)}
.story:hover h3{color:var(--plum)}
.story-image{aspect-ratio:16/9;overflow:hidden;background:var(--white);display:flex;align-items:center;justify-content:center;position:relative}
.story.featured .story-image{aspect-ratio:16/10}
.story-image .story-pattern{position:absolute;inset:0;background:linear-gradient(135deg,var(--cream) 0%,var(--cream-2) 100%);z-index:0}
.story-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--white);padding:18px;z-index:1;transition:transform .5s ease}
.story:hover .story-image img{transform:scale(1.02)}
.story-image .story-eyebrow-img{position:absolute;left:14px;bottom:14px;z-index:2;font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:2px;color:var(--plum);text-transform:uppercase;background:rgba(255,255,255,.92);padding:4px 10px;border-radius:2px}
.story-content{padding:28px 28px 32px;flex-grow:1;display:flex;flex-direction:column}
.story-eyebrow{font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--plum);margin-bottom:12px}
.story h3{font-family:var(--font-display);font-size:22px;font-weight:500;line-height:1.3;margin-bottom:12px;transition:color .2s}
.story.featured h3{font-size:30px}
.story p{font-family:var(--font-body);font-size:15px;line-height:1.65;color:var(--text-grey);margin-bottom:16px;flex-grow:1}
.story-meta{font-family:var(--font-display);font-size:12px;color:var(--text-grey);letter-spacing:.5px}
.story-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.story-tag{font-family:var(--font-display);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-grey);border:1px solid var(--rule-strong);padding:2px 8px;border-radius:99px}

/* ─── Leadership ─── */
.leader-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.leader{text-decoration:none;color:inherit;display:block}
.leader-photo{aspect-ratio:4/5;overflow:hidden;background:var(--light-bg);margin-bottom:24px;position:relative}
.leader-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(100%) contrast(1.05);transition:filter .4s ease,transform .5s ease}
.leader:hover .leader-photo img{filter:grayscale(0%) contrast(1);transform:scale(1.03)}
.leader-photo::after{content:'';position:absolute;bottom:0;left:0;width:60px;height:4px;background:var(--plum)}
.leader h3{font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--deep-blue);margin-bottom:6px}
.leader-role{font-family:var(--font-display);font-size:13px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--plum);margin-bottom:16px}
.leader p{font-family:var(--font-body);font-size:15px;line-height:1.65;color:var(--text-grey);margin-bottom:14px}
.leader .cv-link{font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--deep-blue);border-bottom:1px solid var(--plum);padding-bottom:2px;display:inline-block}

/* ─── Sub-brand grid ─── */
.sub-brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.sub-brand{background:var(--white);padding:48px 36px;border-top:4px solid var(--plum);transition:transform .3s,box-shadow .3s;text-decoration:none;color:inherit;display:flex;flex-direction:column}
.sub-brand:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(26,26,79,.12)}
.sub-brand-mark{font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--plum);margin-bottom:12px}
.sub-brand h3{font-family:var(--font-display);font-size:30px;font-weight:600;margin-bottom:20px;line-height:1.15}
.sub-brand p{font-family:var(--font-body);color:var(--text-grey);font-size:15px;margin-bottom:28px;flex-grow:1;line-height:1.65}
.sub-brand-link{font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;transition:gap .2s;color:var(--plum)}
.sub-brand-link:hover{gap:14px;color:var(--deep-blue)}

/* ─── Key facts band (deep blue) ─── */
.key-band{background:var(--deep-blue);color:var(--white);padding:64px 32px;border-bottom:4px solid var(--plum);position:relative;overflow:hidden}
.key-band::after{content:"";position:absolute;top:-100px;right:-100px;width:400px;height:400px;background:radial-gradient(circle,rgba(107,99,255,.3) 0%,transparent 70%);pointer-events:none}
.key-band-inner{max-width:var(--maxw);margin:0 auto;position:relative;z-index:1}
.key-band-eyebrow{font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--plum-soft);margin-bottom:12px}
.key-band h2{font-family:var(--font-display);font-size:clamp(28px,3.5vw,36px);font-weight:400;color:var(--white);margin-bottom:40px;letter-spacing:-.5px}
.key-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;border-top:1px solid rgba(255,255,255,.15);padding-top:32px}
.key-stat .key-value{font-family:var(--font-display);font-size:40px;font-weight:300;color:var(--white);line-height:1;margin-bottom:8px;letter-spacing:-.5px}
.key-stat .key-value.accent{color:var(--plum-soft);font-weight:500}
.key-stat .key-label{font-family:var(--font-display);font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--silver)}

/* ─── Heritage split ─── */
.heritage-inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.heritage-image{aspect-ratio:4/3;overflow:hidden;position:relative;background:var(--deep-blue);display:flex;align-items:center;justify-content:center}
.heritage-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.heritage-image::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,26,79,.55) 0%,rgba(26,26,79,.15) 60%,rgba(107,99,255,.25) 100%);z-index:1;pointer-events:none}
.heritage-image .heritage-pattern{position:relative;z-index:2;font-family:var(--font-display);font-size:18px;font-weight:500;letter-spacing:6px;color:rgba(245,240,235,.92);text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.heritage-image::after{content:'';position:absolute;bottom:24px;left:24px;width:60px;height:4px;background:var(--plum)}
.heritage h2{font-family:var(--font-display);font-size:clamp(32px,4vw,44px);font-weight:400;margin-bottom:24px;letter-spacing:-.5px;line-height:1.15}
.heritage p{font-family:var(--font-body);font-size:17px;line-height:1.75;color:var(--text-grey);margin-bottom:20px}
.pillar-list{list-style:none;margin-top:32px;padding:0;border-top:1px solid rgba(26,26,79,.15)}
.pillar-list li{padding:18px 0;border-bottom:1px solid rgba(26,26,79,.15);display:grid;grid-template-columns:80px 1fr;gap:24px;align-items:start;margin:0}
.pillar-list .num{font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:2px;color:var(--plum)}
.pillar-list .label{font-family:var(--font-display);font-size:17px;font-weight:500;color:var(--deep-blue);margin-bottom:4px;display:block}
.pillar-list .desc{font-family:var(--font-body);font-size:14px;color:var(--text-grey);line-height:1.55;display:block;margin-top:4px}

/* ─── CTA band ─── */
.cta-band{background:linear-gradient(135deg,var(--deep-blue) 0%,var(--plum) 100%);padding:80px 32px;color:var(--white)}
.cta-band-inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center}
.cta-band h2{font-family:var(--font-display);font-size:clamp(28px,3.5vw,40px);font-weight:400;color:var(--white);margin-bottom:16px;letter-spacing:-.5px;line-height:1.15}
.cta-band p{font-family:var(--font-body);opacity:.9;font-size:17px;color:var(--white);margin-bottom:0}
.cta-band .cta-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.cta-band .cta-actions .btn{padding:18px 36px;font-size:14px}
.cta-band .cta-note{font-family:var(--font-display);font-size:12px;letter-spacing:1px;color:rgba(255,255,255,.65);text-transform:uppercase}

/* ─── Footer ─── */
footer.site-footer{background:var(--deep-blue);color:var(--silver);font-family:var(--font-body)}
.footer-top{max-width:var(--maxw);margin:0 auto;padding:72px 32px 48px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px}
.footer-brand img{height:56px;width:auto;margin-bottom:24px}
.footer-brand p{font-family:var(--font-body);font-size:14px;line-height:1.7;color:var(--silver);max-width:320px;margin-bottom:24px}
.footer-col h4{font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--white);margin-bottom:24px}
.footer-col ul{list-style:none;padding:0}
.footer-col li{margin-bottom:12px}
.footer-col a{font-family:var(--font-body);font-size:14px;color:var(--silver);transition:color .2s}
.footer-col a:hover{color:var(--plum-soft)}
.footer-legal{border-top:1px solid rgba(176,190,197,.15)}
.footer-legal-inner{max-width:var(--maxw);margin:0 auto;padding:24px 32px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-family:var(--font-display);font-size:12px;color:var(--footer-grey)}
.footer-legal-links{display:flex;gap:24px;flex-wrap:wrap}
.footer-legal a{color:var(--footer-grey);transition:color .2s}
.footer-legal a:hover{color:var(--plum-soft)}
.confidential-mark{border-top:1px solid rgba(176,190,197,.1);padding:16px 32px;text-align:center;font-family:var(--font-display);font-size:11px;letter-spacing:2px;color:var(--footer-grey);text-transform:uppercase}

/* ─── Page-specific utilities ─── */
.partner{display:grid;grid-template-columns:200px 1fr;gap:48px;align-items:start;padding:48px 0;border-top:1px solid var(--rule)}
.partner:first-of-type{border-top:0;padding-top:0}
.partner-photo{aspect-ratio:4/5;position:relative;overflow:hidden;background:var(--light-bg)}
.partner-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(1.05)}
.partner-photo::after{content:'';position:absolute;bottom:0;left:0;width:60px;height:4px;background:var(--plum)}
.partner .role{font-family:var(--font-display);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--plum);margin-bottom:6px;font-weight:500}
.partner h3{font-family:var(--font-display);font-size:28px;font-weight:600;color:var(--deep-blue);margin-bottom:14px}
.partner .cv{font-family:var(--font-body);font-size:16px;line-height:1.75;color:var(--text-grey)}
.partner .creds{font-family:var(--font-display);font-size:13px;color:var(--text-grey);margin-top:14px;letter-spacing:.5px}
@media (max-width:680px){.partner{grid-template-columns:1fr;gap:24px}.partner-photo{max-width:240px}}

.fund-hd{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:start}
.fund-hd .fund-meta{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin-top:14px}
.fund-hd .fund-meta div{border-top:1px solid var(--rule);padding-top:12px}
.fund-hd .fund-meta b{font-family:var(--font-display);font-size:20px;font-weight:400;color:var(--deep-blue);margin-bottom:4px;display:block}
.fund-hd .fund-meta span{font-family:var(--font-display);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-grey)}
.fund-hd h2{font-family:var(--font-display);font-size:clamp(28px,3.5vw,40px);font-weight:400;margin-bottom:20px;line-height:1.18}
.fund-hd .lede{font-family:var(--font-body);font-size:17px;line-height:1.7;color:var(--text-grey)}
.fund-hd .meta-line{font-family:var(--font-body);font-size:15px;color:var(--text-grey);line-height:1.6;margin-top:14px}
.fund-hd .meta-line strong{font-family:var(--font-display);font-weight:600;color:var(--deep-blue);font-size:13px;letter-spacing:1px;text-transform:uppercase;margin-right:8px}
@media (max-width:880px){.fund-hd{grid-template-columns:1fr;gap:32px}}

.deal-row{display:grid;grid-template-columns:80px 1fr 220px;gap:24px;padding:18px 0;border-top:1px solid var(--rule);align-items:baseline}
.deal-row:first-of-type{border-top:0}
.deal-row .year{font-family:var(--font-display);font-size:18px;font-weight:500;color:var(--plum)}
.deal-row .deal-name{font-family:var(--font-body);font-size:15px;color:var(--deep-blue)}
.deal-row .deal-meta{font-family:var(--font-display);font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--text-grey);text-align:right}
@media (max-width:680px){.deal-row{grid-template-columns:60px 1fr}.deal-row .deal-meta{grid-column:1/-1;text-align:left}}

/* ─── Brand cards (Origin) ─── */
.brand-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.brand-card{background:var(--white);border:1px solid var(--rule);padding:32px;display:flex;flex-direction:column;justify-content:space-between;min-height:240px;transition:border-color .25s,transform .25s,box-shadow .25s;text-decoration:none;color:inherit}
.brand-card:hover{border-color:var(--rule-strong);transform:translateY(-3px);box-shadow:0 12px 28px rgba(26,26,79,.08)}
.brand-card .brand-meta{display:flex;gap:14px;font-family:var(--font-display);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-grey);margin-bottom:14px}
.brand-card h3{font-family:var(--font-display);font-size:24px;font-weight:600;margin-bottom:10px;color:var(--deep-blue)}
.brand-card p{font-family:var(--font-body);font-size:14px;color:var(--text-grey);line-height:1.6;margin-bottom:20px}
.brand-card .visit{font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--deep-blue);border-bottom:1px solid var(--plum);padding-bottom:2px;display:inline-block;align-self:flex-start}
/* Origin brand-card product photography (approved brand assets, assets-v5/img/brands/) */
.brand-photo{height:200px;background:var(--white);border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:center;margin:-32px -32px 22px}
.brand-photo img{max-height:168px;max-width:78%;width:auto}
.brand-photo--pattern{background:linear-gradient(135deg,var(--cream) 0%,var(--cream-2) 100%)}
.brand-photo--pattern span{font-family:var(--font-display);font-size:54px;font-weight:300;color:rgba(26,26,79,.16);letter-spacing:6px}
.brand-photo--cover img{height:100%;width:100%;max-width:none;max-height:none;object-fit:cover}
.brand-links{display:flex;gap:20px;flex-wrap:wrap}

/* ─── v8.3: responsive + cross-platform fixes ─── */
body{overflow-x:clip}
.skip-link{position:absolute;left:-9999px;top:0;z-index:1100;background:var(--deep-blue);color:#fff;padding:12px 20px;font-family:var(--font-display);font-size:13px;font-weight:600}
.skip-link:focus{left:0}
main:focus{outline:none}
.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:start}
.sub-brand-grid--2{grid-template-columns:repeat(2,1fr)}
@media(max-width:880px){.cols-2,.contact-grid{grid-template-columns:1fr;gap:40px}.sub-brand-grid--2{grid-template-columns:1fr}}
#contact a[href^="mailto:"]{overflow-wrap:anywhere}
@media(max-width:600px){.heritage-image .heritage-pattern{font-size:12px;letter-spacing:3px;text-align:center;padding:0 16px}}
/* iOS: keep the page still behind the open gate; cap the panel to the visible viewport */
html.gate-open body{position:fixed;width:100%;overflow:hidden}
.gate-panel{max-height:min(88dvh,calc(100dvh - 40px))}
.gate-body{overscroll-behavior:contain}
/* Brand tint on monochrome headshots (Brand Identity Manual p22: all imagery carries the purple/blue hint) */
.leader-photo::before,.partner-photo::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(107,99,255,.10),rgba(26,26,79,.08));pointer-events:none}
/* Supergraphic echo on CTA bands (Advertising Manual: graphic element, minimal placement) */
.cta-band{position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;top:-60px;right:-40px;width:300px;height:300px;background:#fff;opacity:.05;clip-path:polygon(100% 0,100% 100%,0 0);pointer-events:none}
.cta-band-inner{position:relative;z-index:1}

/* ─── v9: motion (adapted from the 2019 site's hero entrances and scroll reveals) ───
   All animation is killed by the existing prefers-reduced-motion block. */
/* 1. Staggered hero entrance. Pages toggle display, so these replay on every page switch. */
@keyframes lundy-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero .hero-eyebrow,.hero .hero-divlogo{animation:lundy-rise .55s ease-out both}
.hero h1{animation:lundy-rise .55s ease-out .1s both}
.hero .hero-lede{animation:lundy-rise .55s ease-out .2s both}
.hero .hero-cta-group{animation:lundy-rise .55s ease-out .3s both}
/* 2. Scroll reveal: JS adds .reveal, then .in-view when the element enters the viewport.
   Scoped to html.js-ready so nothing is hidden without JS. */
html.js-ready .reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease-out,transform .55s ease-out}
html.js-ready .reveal.in-view{opacity:1;transform:none}
/* 3. Slow drift on heritage photography (the old site's Ken Burns, at institutional volume). */
@keyframes lundy-drift{from{transform:scale(1)}to{transform:scale(1.05)}}
.heritage-image img{animation:lundy-drift 18s ease-in-out infinite alternate}

/* ─── Research feed ─── */
.feed-item{padding:32px 0;border-top:1px solid var(--rule);display:grid;grid-template-columns:160px 1fr;gap:48px;align-items:start}
.feed-item:first-child{border-top:0;padding-top:0}
.feed-date{font-family:var(--font-display);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--plum);font-weight:500}
.feed-item h3{font-family:var(--font-display);font-size:22px;font-weight:500;margin:0 0 12px;color:var(--deep-blue);line-height:1.3}
.feed-item p{font-family:var(--font-body);font-size:15px;color:var(--text-grey);margin-bottom:12px;line-height:1.65}
.feed-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
@media (max-width:680px){.feed-item{grid-template-columns:1fr;gap:10px}}

/* ─── Offices grid ─── */
.geo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.geo-card{padding:32px;background:var(--white);border:1px solid var(--rule);border-top:4px solid var(--plum)}
.geo-card .city{font-family:var(--font-display);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--plum);margin-bottom:14px;display:block;font-weight:600}
.geo-card h3{font-family:var(--font-display);font-size:20px;font-weight:600;margin-bottom:8px;color:var(--deep-blue);text-transform:none;letter-spacing:-.01em}
.geo-card p{font-family:var(--font-body);font-size:14px;color:var(--text-grey);margin-bottom:8px;line-height:1.6}
.geo-card .addr{font-family:var(--font-display);font-size:12px;color:var(--text-grey);line-height:1.5}

/* ─── Contact form ─── */
.form{display:grid;gap:20px;max-width:680px}
.form label{display:block;font-family:var(--font-display);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-grey);margin-bottom:8px;font-weight:500}
.form input,.form select,.form textarea{width:100%;padding:14px 16px;font-family:var(--font-body);font-size:16px;border:1px solid var(--rule-strong);background:var(--white);color:var(--deep-blue);border-radius:2px}
.form textarea{min-height:150px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-color:var(--plum);box-shadow:0 0 0 3px rgba(107,99,255,.30)}
a:focus-visible,button:focus-visible{outline:2px solid var(--plum);outline-offset:3px}
.form .note{font-family:var(--font-body);font-size:12px;color:var(--text-grey);font-style:italic}

/* ─── Misc ─── */
.placeholder{display:inline-block;font-family:var(--font-display);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-grey);border:1px dashed var(--rule-strong);padding:2px 8px;border-radius:99px;font-style:normal}
.story-tag,.feed-tags .tag{display:inline-block;font-family:var(--font-display);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;padding:3px 9px;border:1px solid var(--rule-strong);border-radius:99px;color:var(--text-grey)}
hr.rule{border:0;border-top:1px solid var(--rule);margin:40px 0}

/* ─── Tablet ─── */
@media (max-width:960px){
  :root{--space-section:64px}
  .stat-strip-inner,.key-grid,.geo-grid{grid-template-columns:repeat(2,1fr)}
  .service-grid,.sub-brand-grid,.leader-grid,.story-grid-rest{grid-template-columns:1fr}
  .story-grid-featured{grid-template-columns:1fr}
  .heritage-inner,.cta-band-inner{grid-template-columns:1fr;gap:40px}
  .footer-top{grid-template-columns:1fr 1fr;gap:32px}
  .brand-grid{grid-template-columns:1fr}
}

/* ─── Mobile / hamburger ─── */
@media (max-width:840px){
  .menu-icon{display:flex}
  .nav-search{display:none}
  .primary-menu{position:fixed;top:0;right:-100%;width:85%;max-width:360px;height:100vh;height:100dvh;overflow-y:auto;background:var(--deep-blue);flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:96px 40px 40px;gap:4px;transition:right .35s cubic-bezier(.4,0,.2,1);z-index:200;box-shadow:-8px 0 32px rgba(0,0,0,.25)}
  .primary-menu a{color:var(--white);font-size:22px;font-weight:400;padding:14px 0;border-bottom:none;width:100%}
  .primary-menu a:hover{color:var(--plum-soft);border-bottom:none}
  .menu-toggle:checked ~ .primary-menu{right:0}
  .menu-toggle:checked + .menu-icon{position:fixed;right:24px;top:24px}
  .menu-toggle:checked + .menu-icon span{background:var(--white)}
  .menu-toggle:checked + .menu-icon span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle:checked + .menu-icon span:nth-child(2){opacity:0}
  .menu-toggle:checked + .menu-icon span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .logo-link img{height:44px}
  .primary-nav-inner{padding:14px 24px;min-height:auto}
}

/* ─── Small mobile ─── */
@media (max-width:600px){
  .utility-nav-inner{padding:8px 20px;gap:12px;font-size:11px;flex-wrap:wrap}
  .utility-nav .divider{display:none}
  .primary-nav-inner{padding:12px 20px}
  .logo-link img{height:38px}
  .section,.cta-band,.key-band{padding-left:20px;padding-right:20px}
  .section{padding-top:56px;padding-bottom:56px}
  .hero{min-height:440px}
  .hero-content{padding:64px 20px}
  .hero-lede{font-size:16px;margin-bottom:32px}
  .btn{padding:14px 22px;font-size:12px}
  .hero-cta-group{flex-direction:column;align-items:stretch;gap:12px}
  .hero-cta-group .btn{justify-content:center}
  .stat-strip-inner{grid-template-columns:1fr;gap:20px;padding:32px 20px}
  .stat-value{font-size:36px}
  .stat{padding-bottom:16px;border-bottom:1px solid rgba(26,26,79,.1)}
  .stat:last-child{border-bottom:none;padding-bottom:0}
  .section-header{margin-bottom:40px}
  .service-card{padding:28px 24px;min-height:auto}
  .sub-brand{padding:32px 24px}
  .sub-brand h3{font-size:24px}
  .leader-grid{gap:48px}
  .heritage-inner{gap:32px}
  .footer-top{grid-template-columns:1fr;padding:48px 20px 32px}
}

@media print{.utility-nav,.primary-nav,.cta-band,footer.site-footer,.menu-icon,.hero-cta-group,.btn,#investor-gate{display:none}body{background:#fff;color:#111}.key-band{background:#fff;border-color:#999}.key-band h2,.key-band .key-band-eyebrow,.key-band .key-value,.key-band .key-value.accent,.key-band .key-label{color:#111}}


/* ─── Standalone single-file routing ─── */
/* Each "page" is hidden by default; the JS router toggles .is-active on exactly one. */
.page{display:none}
.page.is-active{display:block;animation:lundy-fade .2s ease-out}
/* Before JS marks ready (html.js-ready), show #home so the user sees something. */
html:not(.js-ready) .page#home{display:block}
/* No-JS fallback: :target shows the deep-linked page. */
.page:target{display:block}
@keyframes lundy-fade{from{opacity:0}to{opacity:1}}
/* Section anchors inside a visible page need scroll margin under the sticky nav. */
[id]{scroll-margin-top:120px}


/* ─── v5: photographic hero backgrounds ─── */
.hero{background-size:cover;background-position:center;background-repeat:no-repeat}
.hero::before{background:linear-gradient(135deg,rgba(26,26,79,.92) 0%,rgba(26,26,79,.74) 50%,rgba(107,99,255,.55) 100%)}
.hero h1,.hero-lede,.hero-eyebrow{text-shadow:0 1px 16px rgba(15,15,46,.40)}
.footer-credit{font-size:12px;color:var(--silver);text-transform:none;letter-spacing:.3px}

/* ─── v5: respect prefers-reduced-motion ─── */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* ─── v6 refinements (Jun 2026) ─── */
/* #1 Conversion: quieter secondary hero action so the primary CTA dominates */
.hero-textlink{font-family:var(--font-display);font-weight:600;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:#fff;border-bottom:2px solid rgba(255,255,255,.55);padding-bottom:4px;transition:border-color .2s}
.hero-textlink:hover{border-bottom-color:#fff}
/* #2 Typography: sans (Sora) for card/UI text; serif (Merriweather) reserved for editorial prose */
.service-card p,.sub-brand p,.brand-card p,.geo-card p{font-family:var(--font-display)}
.stat-sub{font-family:var(--font-display);font-style:normal}
/* #5 Whitespace: centre the overview header over its 2x2 grid */
.section-header--center{margin-left:auto;margin-right:auto;text-align:center;max-width:780px}
.section-header--center .section-lede{margin-left:auto;margin-right:auto}

/* ─── v7: mobile drawer CTA + intake polish ─── */
.primary-menu a.primary-menu-cta{display:none}
.form .opt{text-transform:none;letter-spacing:0;font-weight:400;color:var(--text-grey);opacity:.7}
@media (max-width:840px){
  .primary-menu a.primary-menu-cta{display:inline-flex;align-items:center;justify-content:center;width:auto;margin-top:28px;padding:15px 30px;background:var(--plum);color:#fff;font-weight:600;font-size:15px;letter-spacing:1px;text-transform:uppercase;border-bottom:none}
  .primary-menu a.primary-menu-cta:hover{background:#fff;color:var(--deep-blue)}
}

/* ─── v8 Stage A: brand palette + per-division accent + accessible accent text ─── */
/* Per-division accent (Deep Blue stays constant; accent swaps the fills/borders) */
#intelligence{--plum:#09A6E0;--plum-soft:#5BC5EE}   /* Insight Blue  */
#origin{--plum:#F05346;--plum-soft:#F58579}         /* Chili Coral   */
/* Division accents as TEXT on light backgrounds use darkened variants for contrast (WCAG) */
#intelligence .hero.compact h1 strong,#intelligence .stat-value .accent{color:#067CA8}
#origin .hero.compact h1 strong,#origin .stat-value .accent{color:#D03A2E}
/* Accent text on light backgrounds -> Deep Blue for WCAG AA (purple is fills/borders only) */
.section-eyebrow,.service-num,.service-arrow,.story-eyebrow,.story-image .story-eyebrow-img,.leader-role,
.sub-brand-mark,.sub-brand-link,.view-all-link,.partner .role,.deal-row .year,.feed-date,
.geo-card .city,.brand-card .visit,.leader .cv-link,.pillar-list .num{color:var(--deep-blue)}
@media(min-width:841px){.primary-menu a:hover,.primary-menu a.active{color:var(--deep-blue)}}

/* ─── v8 Stage B: light split hero + light interior heroes ─── */
/* Home: split light hero (text panel + tinted symbolic image) */
.hero-split{background:var(--white);color:var(--deep-blue);min-height:auto;overflow:hidden}
.hero-split::before,.hero-split::after{display:none}
.hero-split-inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.04fr .96fr;align-items:stretch;min-height:600px}
.hero-text{position:relative;padding:88px 56px 88px 32px;display:flex;flex-direction:column;justify-content:center}
.hero-kicker{display:block;width:48px;height:4px;background:var(--plum);margin-bottom:28px}
.hero-split .hero-eyebrow{color:var(--deep-blue);text-shadow:none;margin-bottom:18px}
.hero-split h1{color:var(--deep-blue);font-size:clamp(38px,4.4vw,58px);text-shadow:none;margin-bottom:24px}
.hero-split h1 strong{color:var(--plum);font-weight:600}
.hero-split .hero-lede{color:var(--text-grey);text-shadow:none;font-size:18px;margin-bottom:36px;max-width:540px}
.hero-figure{position:relative;background-size:cover;background-position:center;background-image:url('0ca6bc530c.jpg');background-image:image-set(url('23e3b63143.webp') type('image/webp'), url('0ca6bc530c.jpg') type('image/jpeg'))}
.hero-figure::after{content:"";position:absolute;inset:0;background:linear-gradient(140deg,rgba(107,99,255,.22) 0%,rgba(26,26,79,.10) 55%,rgba(9,166,224,.14) 100%)}
.hero-textlink--dark{color:var(--deep-blue);border-bottom-color:rgba(26,26,79,.35)}
.hero-textlink--dark:hover{border-bottom-color:var(--plum)}
/* subtle triangular supergraphic (logo DNA) behind the hero text */
.hero-text::after{content:"";position:absolute;right:24px;bottom:24px;width:140px;height:140px;background:var(--plum);opacity:.06;clip-path:polygon(100% 0,100% 100%,0 100%);pointer-events:none}

/* Interior pages: light, clean heroes (no dark slab) */
.hero.compact{background:var(--cream);color:var(--deep-blue);min-height:auto}
.hero.compact::before,.hero.compact::after{display:none}
.hero.compact .hero-content{position:relative}
.hero.compact .hero-content::before{content:"";display:block;width:48px;height:4px;background:var(--plum);margin-bottom:24px}
.hero.compact .hero-eyebrow{color:var(--deep-blue);text-shadow:none}
.hero.compact h1{color:var(--deep-blue);text-shadow:none}
.hero.compact h1 strong{color:var(--plum)}
.hero.compact .hero-lede{color:var(--text-grey);text-shadow:none}
.hero.compact .btn-ghost{color:var(--deep-blue);border-color:rgba(26,26,79,.4)}
.hero.compact .btn-ghost:hover{background:var(--deep-blue);color:#fff;border-color:var(--deep-blue)}
.hero-divlogo{height:48px;width:auto;display:block;margin-bottom:20px}

@media(max-width:840px){
  .hero-split-inner{grid-template-columns:1fr}
  .hero-text{padding:56px 24px}
  .hero-figure{min-height:300px;order:2}
  .hero-text::after{display:none}
}

/* ─── v8 Stage C: light full-bleed interior banners ─── */
/* Plain url() first = fallback for engines without image-set+type() (Safari <17, older Chrome/Firefox) */
#firm .hero{background-image:url('510184ed77.jpg');background-image:image-set(url('6537f40287.webp') type('image/webp'), url('510184ed77.jpg') type('image/jpeg'))}
#funds .hero{background-image:url('ed96d51b2f.jpg');background-image:image-set(url('25231278e2.webp') type('image/webp'), url('ed96d51b2f.jpg') type('image/jpeg'))}
#advisory .hero{background-image:url('ddeb36bea7.jpg');background-image:image-set(url('a7a84547e5.webp') type('image/webp'), url('ddeb36bea7.jpg') type('image/jpeg'))}
#origin .hero{background-image:url('4df4d8546c.jpg');background-image:image-set(url('25fbbf1530.webp') type('image/webp'), url('4df4d8546c.jpg') type('image/jpeg'))}
#intelligence .hero{background-image:url('6ad3fa298b.jpg');background-image:image-set(url('d577047539.webp') type('image/webp'), url('6ad3fa298b.jpg') type('image/jpeg'))}
#contact .hero{background-image:url('10c595e9ff.jpg');background-image:image-set(url('9ac34488f5.webp') type('image/webp'), url('10c595e9ff.jpg') type('image/jpeg'))}
.hero.compact{min-height:380px;background-size:cover;background-position:center}
/* light scrim: near-white where the text sits, fading to photo + faint Lundy tint on the right */
.hero.compact::before{display:block;content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(100deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.84) 46%,rgba(255,255,255,.46) 72%,rgba(107,99,255,.10) 100%)}
.hero.compact .hero-content{position:relative;z-index:1}
@media(max-width:700px){
  .hero.compact{min-height:auto}
  .hero.compact::before{background:linear-gradient(180deg,rgba(255,255,255,.93) 0%,rgba(255,255,255,.86) 100%)}
}

/* ─── v8 Stage D: full-width light home hero (no photo) + triangular supergraphic ─── */
.hero-home-light{background:var(--white);color:var(--deep-blue);min-height:500px;position:relative;overflow:hidden}
.hero-home-light .hero-content{position:relative;z-index:1;padding-top:104px;padding-bottom:104px}
.hero-home-light .hero-eyebrow{color:var(--deep-blue);text-shadow:none;margin-bottom:18px}
.hero-home-light h1{color:var(--deep-blue);text-shadow:none;font-size:clamp(40px,5.2vw,64px);margin-bottom:24px}
.hero-home-light h1 strong{color:var(--plum);font-weight:600}
.hero-home-light .hero-lede{color:var(--text-grey);text-shadow:none;max-width:640px;font-size:18px;margin-bottom:36px}
/* triangular supergraphic (logo DNA), faint, top-right */
.hero-home-light::before{display:block;content:"";position:absolute;inset:auto;top:-40px;right:-30px;width:360px;height:360px;background:var(--plum);opacity:.07;clip-path:polygon(100% 0,100% 100%,0 0);z-index:0;pointer-events:none}
.hero-home-light::after{display:block;content:"";position:absolute;inset:auto;top:70px;right:200px;width:180px;height:180px;background:var(--deep-blue);opacity:.05;clip-path:polygon(0 0,100% 0,100% 100%);z-index:0;pointer-events:none}
@media(max-width:840px){
  .hero-home-light{min-height:auto}
  .hero-home-light::after{display:none}
  .hero-home-light::before{width:220px;height:220px;opacity:.05}
}

/* ─── Investor gate - financial promotion access control (s.238 FSMA / COBS 4.12B) ───
   Shown before any content unless a valid acceptance is stored on the device.
   Fails closed: visible by default; JS hides it only on acceptance. */
#investor-gate{position:fixed;inset:0;z-index:1000;background:rgba(26,26,79,.45);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
html.gate-accepted #investor-gate{display:none}
html.gate-open{overflow:hidden}
.gate-panel{background:var(--white);max-width:600px;width:100%;max-height:88vh;display:flex;flex-direction:column;border-top:4px solid var(--plum);box-shadow:0 24px 64px rgba(15,15,46,.35)}
.gate-head{padding:24px 32px 0}
.gate-head img{height:34px;width:auto;margin-bottom:14px}
.gate-eyebrow{font-family:var(--font-display);font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--deep-blue);display:block;margin-bottom:8px}
.gate-head h2{font-family:var(--font-display);font-size:19px;font-weight:500;color:var(--deep-blue);margin-bottom:10px;line-height:1.25}
.gate-body{padding:2px 32px 6px;overflow-y:auto;font-family:var(--font-body);font-size:11.5px;line-height:1.55;color:var(--text-grey)}
.gate-body p{margin-bottom:9px}
.gate-body strong{font-family:var(--font-display);font-weight:600;color:var(--deep-blue);font-size:10.5px;letter-spacing:.5px;text-transform:uppercase;display:block;margin-bottom:1px}
.gate-actions{display:flex;gap:12px;padding:16px 32px 22px;border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center}
.gate-actions .btn{padding:11px 22px;font-size:11px}
.gate-note{font-family:var(--font-display);font-size:12px;color:var(--text-grey);letter-spacing:.3px;width:100%}
#gate-declined{display:none}
@media(max-width:600px){.gate-head{padding:20px 20px 0}.gate-body{padding:2px 20px 6px;font-size:11px}.gate-actions{padding:14px 20px 20px}}

/* ─── v9 + graphics/motion enhancement layer (additive, Jun 2026) ──────────────
   A bolder, modern motion layer on top of the v9 base. Self-contained and fully
   reversible: delete this <style id="lundy-fx-css"> block and the matching
   <script> at the end of <body>
<a href="#main" style="position:absolute;left:-9999px;top:0;background:#1A1A4F;color:#fff;padding:10px 16px;z-index:1200;font-family:'Sora',sans-serif" onfocus="this.style.left='12px'" onblur="this.style.left='-9999px'">Skip to main content</a>
<div id="risk-strip" style="background:#F5F0EB;border-bottom:1px solid rgba(26,26,79,.14);color:#1A1A4F;font-family:'Sora',sans-serif;font-size:12.5px;letter-spacing:.2px;text-align:center;padding:9px 18px">Capital is at risk. The value of investments and any income from them can fall as well as rise, and investors may not get back the amount originally invested. <a href="#risk-warnings" style="color:#7B3F61;font-weight:600;text-decoration:none">Read more &rarr;</a></div> to return to plain v9.
   Brand-true: uses the existing palette variables (so division accents on the
   #intelligence / #origin pages are inherited automatically). All motion is
   already disabled by the page's prefers-reduced-motion block; the JS half is
   independently guarded. Nothing here touches the investor gate or the router. */

/* 1 ── Scroll progress indicator (brand gradient, hidden behind the gate) */
.lundy-fx-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:900;
  background:linear-gradient(90deg,var(--deep-blue),var(--plum));
  box-shadow:0 0 12px rgba(107,99,255,.45);transition:width .12s linear;pointer-events:none}
html.gate-open .lundy-fx-progress{opacity:0}

/* 2 ── Animated aurora behind the home hero (soft brand-colour glows, slow drift) */
.lundy-fx-aurora{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.lundy-fx-aurora span{position:absolute;border-radius:50%;filter:blur(64px);will-change:transform}
.lundy-fx-aurora span:nth-child(1){width:540px;height:540px;top:-180px;right:-90px;opacity:.45;
  background:radial-gradient(circle,rgba(107,99,255,.55),transparent 70%);
  animation:lundy-fx-drift1 22s ease-in-out infinite alternate}
.lundy-fx-aurora span:nth-child(2){width:440px;height:380px;top:90px;right:260px;opacity:.30;
  background:radial-gradient(circle,rgba(9,166,224,.45),transparent 70%);
  animation:lundy-fx-drift2 27s ease-in-out infinite alternate}
.lundy-fx-aurora span:nth-child(3){width:380px;height:380px;bottom:-150px;left:-70px;opacity:.28;
  background:radial-gradient(circle,rgba(26,26,79,.40),transparent 70%);
  animation:lundy-fx-drift3 31s ease-in-out infinite alternate}
@keyframes lundy-fx-drift1{to{transform:translate(-70px,46px) scale(1.18)}}
@keyframes lundy-fx-drift2{to{transform:translate(50px,-40px) scale(1.12)}}
@keyframes lundy-fx-drift3{to{transform:translate(60px,-30px) scale(1.20)}}
.hero-home-light .hero-content{position:relative;z-index:1}
/* gently drift the existing triangular supergraphics so the hero feels alive */
.hero-home-light::before{animation:lundy-fx-tri1 17s ease-in-out infinite alternate}
.hero-home-light::after{animation:lundy-fx-tri2 21s ease-in-out infinite alternate}
@keyframes lundy-fx-tri1{from{transform:translate(0,0) rotate(0)}to{transform:translate(-20px,14px) rotate(7deg)}}
@keyframes lundy-fx-tri2{from{transform:translate(0,0) rotate(0)}to{transform:translate(16px,-12px) rotate(-9deg)}}

/* 3 ── Parallax-ready heritage photography (JS drives transform; CSS gives headroom).
   Replaces the v9 Ken-Burns drift on these photos with a scroll parallax. */
html.js-ready .heritage-image img{animation:none;transform:scale(1.12);will-change:transform}

/* 4 ── Animated progress bars under each stat (fill on first scroll into view) */
.stat,.key-stat{position:relative}
.lundy-fx-bar{display:block;height:2px;width:100%;margin-top:16px;border-radius:2px;background:var(--rule);overflow:hidden}
.key-band .lundy-fx-bar{background:rgba(255,255,255,.16)}
.lundy-fx-bar i{display:block;height:100%;width:100%;border-radius:2px;background:var(--plum);
  transform:scaleX(0);transform-origin:left center;transition:transform 1s cubic-bezier(.22,1,.36,1)}
.lundy-fx-seen .lundy-fx-bar i{transform:scaleX(1)}

/* 5 ── Pointer-follow sheen on the main service cards (a soft light on the dark
   hover state; uses white so it works for every division accent). */
.service-card{position:relative;overflow:hidden}
.service-card>*{position:relative;z-index:1}
.service-card::before{content:"";position:absolute;inset:0;z-index:0;opacity:0;pointer-events:none;
  transition:opacity .4s ease;
  background:radial-gradient(440px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.14),transparent 60%)}
.service-card:hover::before{opacity:1}

/* keep the decorative additions out of print */
@media print{.lundy-fx-progress,.lundy-fx-aurora{display:none!important}}

/* ─── v9 research-note reader (modal) — additive, Jun 2026 ───
   Opens the Insights / Selected-notes tiles into a brand-styled reader with a real
   extract and a "request the note" CTA. Reversible: delete this block and the
   matching <script id="lundy-notes-js"> at the end of <body>. Extracts are from the
   Lundy Weekly Commodity Review, shown to professional clients behind the gate. */
.lundy-note-modal{position:fixed;inset:0;z-index:950;display:none;align-items:flex-start;justify-content:center;padding:48px 20px;overflow-y:auto;background:rgba(26,26,79,.45);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
html.note-open .lundy-note-modal{display:flex}
html.note-open{overflow:hidden}
.lundy-note-panel{position:relative;background:var(--white);max-width:720px;width:100%;border-top:4px solid var(--plum);box-shadow:0 24px 64px rgba(15,15,46,.35);animation:lundy-fade .25s ease-out}
.lundy-note-panel::after{content:"";position:absolute;top:0;right:0;width:120px;height:120px;background:var(--plum);opacity:.06;clip-path:polygon(100% 0,100% 100%,0 0);pointer-events:none}
.lundy-note-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border:1px solid var(--rule-strong);background:var(--white);border-radius:50%;font-size:22px;line-height:1;color:var(--deep-blue);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;z-index:2}
.lundy-note-close:hover{background:var(--deep-blue);color:#fff;border-color:var(--deep-blue)}
.lundy-note-body{padding:40px 44px 8px}
.lundy-note-eyebrow{font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--deep-blue);margin-bottom:14px}
.lundy-note-eyebrow .dot{color:var(--plum);margin:0 8px}
.lundy-note-body h2{font-family:var(--font-display);font-size:clamp(24px,3.2vw,32px);font-weight:500;line-height:1.2;color:var(--deep-blue);margin-bottom:22px}
.lundy-note-figure{margin:0 0 24px;border:1px solid var(--rule);background:var(--white)}
.lundy-note-figure img{width:100%;height:auto;display:block}
.lundy-note-body p{font-family:var(--font-body);font-size:16px;line-height:1.75;color:var(--deep-blue);margin-bottom:16px}
.lundy-note-key{font-family:var(--font-display);font-size:14px;line-height:1.6;color:var(--text-grey);border-left:3px solid var(--plum);padding:4px 0 4px 16px;margin:22px 0}
.lundy-note-disc{font-family:var(--font-body);font-size:12px;font-style:italic;line-height:1.6;color:var(--text-grey);border-top:1px solid var(--rule);padding-top:16px;margin-top:8px}
.lundy-note-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:22px 44px 30px}
.lundy-note-actions .btn{padding:14px 26px;font-size:12px}
.lundy-note-back{font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--deep-blue);border:0;border-bottom:2px solid var(--plum);padding:0 0 3px;cursor:pointer;background:none;margin-right:auto}
.lundy-note-index{list-style:none;margin:8px 0 0;padding:0}
.lundy-note-index li{margin:0;border-top:1px solid var(--rule)}
.lundy-note-index button{width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:18px 0;display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:baseline;transition:opacity .2s}
.lundy-note-index button:hover{opacity:.6}
.lundy-note-index .d{font-family:var(--font-display);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--plum);font-weight:600}
.lundy-note-index .t{font-family:var(--font-display);font-size:17px;font-weight:500;color:var(--deep-blue);line-height:1.3}
.lundy-note-index .tag{display:block;font-family:var(--font-display);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--text-grey);margin-top:4px}
.story[data-note]{cursor:pointer}
@media(max-width:600px){.lundy-note-body{padding:32px 22px 6px}.lundy-note-actions{padding:18px 22px 26px}.lundy-note-index button{grid-template-columns:1fr;gap:4px}}

.lz-fig{padding:14px 16px 10px}
.lz-bars{font-family:'Sora',sans-serif}
.lz-row{display:grid;grid-template-columns:minmax(92px,30%) 1fr;align-items:center;gap:10px;height:21px}
.lz-lab{font-size:11.5px;font-weight:600;color:#1A1A4F;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lz-track{position:relative;height:100%}
.lz-track::before{content:"";position:absolute;top:-3px;bottom:-3px;left:var(--z);width:1px;background:#1A1A4F;opacity:.75}
.lz-bar{position:absolute;top:4px;bottom:4px;border-radius:1px;transform-origin:left center;transition:transform .9s cubic-bezier(.3,1.25,.45,1);transition-delay:calc(var(--i)*55ms)}
.lz-bar.neg{transform-origin:right center}
.lz-val{position:absolute;top:50%;font-size:11px;font-weight:700;white-space:nowrap;transform:translateY(-50%);transition:opacity .4s ease;transition-delay:calc(var(--i)*55ms + .55s)}
.lz-axis{display:grid;grid-template-columns:minmax(92px,30%) 1fr;gap:10px;margin-top:6px}
.lz-ticks{position:relative;height:16px;border-top:1px solid #e3e1ee}
.lz-ticks span{position:absolute;top:4px;transform:translateX(-50%);font-size:9.5px;color:#8a8a95}
.lz-grid{position:absolute;top:-2px;bottom:-2px;width:1px;background:#eeedf5}
.lz-anim .lz-bar{transform:scaleX(0)}
.lz-anim .lz-val{opacity:0}
.lz-anim.lz-in .lz-bar{transform:scaleX(1)}
.lz-anim.lz-in .lz-val{opacity:1}
.lz-svg{width:100%;height:auto;display:block;overflow:visible}
.lz-pair{display:flex;flex-wrap:wrap;gap:6px 18px}
.lz-pair > div{flex:1 1 260px;min-width:0}
.lz-c{transform-box:fill-box;transform-origin:center;transition:transform .55s cubic-bezier(.3,1.3,.5,1),opacity .35s;transition-delay:calc(var(--i)*90ms)}
.lz-anim .lz-c{transform:scaleY(0);opacity:0}
.lz-anim.lz-in .lz-c{transform:none;opacity:1}
.lz-line{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 2.2s cubic-bezier(.45,0,.2,1)}
.lz-anim .lz-line{stroke-dashoffset:1}
.lz-anim.lz-in .lz-line{stroke-dashoffset:0}
.lz-fade{transition:opacity .8s ease;transition-delay:var(--d,1.6s)}
.lz-anim .lz-fade{opacity:0}
.lz-anim.lz-in .lz-fade{opacity:1}
.lz-band{transition:opacity .6s ease .2s}
.lz-anim .lz-band{opacity:0}.lz-anim.lz-in .lz-band{opacity:1}
@media (prefers-reduced-motion:reduce){.lz-anim *{transition:none !important}}


/* ═══ v2.0 navigation ═══ */
.nav2-util{justify-content:space-between !important}
.nav2-util-note{opacity:.62;font-size:12px;letter-spacing:.3px}
.utility-nav a.nav2-util-signin{border:1px solid rgba(255,255,255,.3);padding:4px 14px;display:inline-flex;align-items:center;gap:8px}
.utility-nav a.nav2-util-signin::before{content:"";width:9px;height:10px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 10'%3E%3Cpath d='M1.5 4.5V3a3 3 0 0 1 6 0v1.5h.5v5.5H1V4.5zm1.2 0h3.6V3a1.8 1.8 0 0 0-3.6 0z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 10'%3E%3Cpath d='M1.5 4.5V3a3 3 0 0 1 6 0v1.5h.5v5.5H1V4.5zm1.2 0h3.6V3a1.8 1.8 0 0 0-3.6 0z'/%3E%3C/svg%3E") center/contain no-repeat}
.utility-nav a.nav2-util-signin:hover{background:var(--plum);border-color:var(--plum);color:#fff}

.nav2-inner{max-width:var(--maxw);margin:0 auto;padding:12px 32px;display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:80px}
.nav2 .logo-link img{height:52px;width:auto}
.nav2-menu{display:flex;align-items:center;gap:30px}
.nav2-list{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.nav2-item{position:relative;margin:0}
.nav2-top{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:15px;font-weight:500;color:var(--deep-blue);padding:10px 0;border-bottom:2px solid transparent;transition:border-color .2s}
.nav2-top:hover,.nav2-top.active{border-bottom-color:var(--plum)}
.nav2-caret{width:10px;height:6px;transition:transform .2s}
.nav2-has-drop:hover .nav2-caret,.nav2-has-drop.open .nav2-caret,.nav2-has-drop:focus-within .nav2-caret{transform:rotate(180deg)}
.nav2-drop{position:absolute;top:100%;left:-18px;min-width:330px;background:#fff;border:1px solid var(--rule);border-top:2px solid var(--plum);box-shadow:0 16px 36px rgba(26,26,79,.12);padding:12px 8px 10px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility 0s .18s;z-index:150}
.nav2-has-drop:hover .nav2-drop,.nav2-has-drop:focus-within .nav2-drop,.nav2-has-drop.open .nav2-drop{opacity:1;visibility:visible;transform:none;transition:opacity .18s,transform .18s}
.nav2-drop-label{display:block;font-family:var(--font-display);font-size:10.5px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--text-grey);padding:8px 12px 4px}
.nav2-link{display:block;padding:9px 12px;border-radius:2px;transition:background .15s}
.nav2-link:hover,.nav2-link:focus-visible{background:var(--light-bg)}
.nav2-name{display:block;font-family:var(--font-display);font-size:14.5px;font-weight:600;color:var(--deep-blue)}
.nav2-desc{display:block;font-family:var(--font-body);font-size:12.5px;line-height:1.45;color:var(--text-grey);margin-top:2px}
.nav2-actions{display:flex;align-items:center;gap:16px}
.nav2-cta{display:inline-flex;align-items:center;font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:.6px;color:#fff;background:var(--deep-blue);padding:11px 18px;transition:background .2s;white-space:nowrap}
.nav2-cta:hover{background:var(--plum)}
.nav2-signin-m{display:none}
.nav2-burger{display:none;width:44px;height:44px;border:0;background:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;z-index:210}
.nav2-burger span{display:block;width:26px;height:2px;background:var(--deep-blue);transition:transform .3s,opacity .3s}
.nav2-burger:focus-visible{outline:2px solid var(--plum);outline-offset:3px}

@media (max-width:1180px){
  .nav2-list{gap:20px}.nav2-menu{gap:20px}.nav2-top{font-size:14.5px}
}
@media (max-width:1080px){
  .nav2-inner{padding:10px 20px;min-height:68px}
  .nav2 .logo-link img{height:44px}
  .nav2-burger{display:flex}
  .nav2-menu{position:fixed;inset:0;background:#fff;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:84px 28px 32px;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s .2s;z-index:205}
  .nav2.menu-open .nav2-menu{opacity:1;visibility:visible;transition:opacity .2s}
  .nav2.menu-open .nav2-burger{position:fixed;top:12px;right:16px}
  .nav2.menu-open .nav2-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav2.menu-open .nav2-burger span:nth-child(2){opacity:0}
  .nav2.menu-open .nav2-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav2-list{flex-direction:column;align-items:stretch;gap:0}
  .nav2-item{border-bottom:1px solid var(--rule)}
  .nav2-top{font-size:20px;font-weight:600;padding:14px 0;border:0;width:100%}
  .nav2-top:hover,.nav2-top.active{border:0;color:var(--plum)}
  .nav2-caret{display:none}
  /* flat: sub-pages always listed under their division; one tap to anywhere */
  .nav2-drop{position:static;opacity:1;visibility:inherit;transform:none;min-width:0;border:0;box-shadow:none;padding:0 0 12px;transition:none;background:none}
  .nav2-drop-label{padding:6px 0 2px;font-size:10px}
  .nav2-link{padding:8px 0 8px 14px;border-left:2px solid var(--rule)}
  .nav2-link:hover{background:none;border-left-color:var(--plum)}
  .nav2-name{font-size:16px;font-weight:500}
  .nav2-desc{display:none}
  .nav2-actions{flex-direction:column;align-items:stretch;gap:12px;margin-top:26px}
  .nav2-cta{justify-content:center;padding:15px;font-size:14px}
  .nav2-signin-m{display:block;text-align:center;font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--deep-blue);padding:12px;border:1px solid var(--rule-strong)}
  body.nav2-lock{overflow:hidden}
}
@media (max-width:640px){.nav2-util-note{display:none}.nav2-util{justify-content:flex-end !important}}

/* ═══ v2.0 components ═══ */
/* Crisp figures: tabular numerals, tighter tracking, one weight for every headline number */
.stat-value,.key-value,.mstats b,.fund-meta b,.div-proof b{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}
.stat-value{font-weight:500;letter-spacing:-1.4px}
.stat-value .accent{font-weight:600}
.stat-strip-inner .stat{border-top:1px solid rgba(26,26,79,.16);padding-top:18px}
.stat-src{font-family:var(--font-display);font-size:11px;letter-spacing:.3px;color:var(--text-grey);margin-top:8px;opacity:.85}
.proof-note{max-width:var(--maxw);margin:0 auto;padding:0 32px 30px;font-family:var(--font-body);font-size:12px;font-style:italic;color:var(--text-grey)}
.proof-note a{color:var(--deep-blue);border-bottom:1px solid var(--plum)}
.mstats b{font-weight:600;letter-spacing:-.5px}

/* Division cards on home */
.div-proof{display:flex;align-items:baseline;gap:10px;margin-top:22px;padding-top:14px;border-top:1px solid var(--rule);transition:border-color .3s}
.div-proof b{white-space:nowrap;font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--deep-blue);letter-spacing:-.4px;transition:color .3s}
.div-proof span{font-family:var(--font-display);font-size:11.5px;color:var(--text-grey);transition:color .3s}
.service-link{margin-top:18px;font-family:var(--font-display);font-size:12.5px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--deep-blue);transition:color .3s}
.service-card:hover .div-proof{border-color:rgba(255,255,255,.2)}
.service-card:hover .div-proof b,.service-card:hover .div-proof span,.service-card:hover .service-link{color:#fff}
.service-grid--2{grid-template-columns:repeat(2,1fr)}
.origin-strip{display:flex;align-items:center;gap:22px;margin-top:22px;padding:18px 24px;border:1px solid var(--light-bg);background:var(--white);transition:border-color .2s,box-shadow .2s;color:var(--deep-blue)}
.origin-strip:hover{border-color:#F05346;box-shadow:0 10px 26px rgba(26,26,79,.08)}
.origin-strip img{height:40px;width:auto;flex:0 0 auto}
.origin-strip-text{flex:1;font-family:var(--font-body);font-size:14.5px;line-height:1.6;color:var(--text-grey)}
.origin-strip-text strong{font-family:var(--font-display);color:var(--deep-blue)}
.origin-strip .service-link{margin-top:0;white-space:nowrap}

/* Selected work */
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.work-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--rule);border-top:3px solid var(--plum);padding:28px 26px 26px;color:var(--deep-blue);transition:transform .25s,box-shadow .25s}
.work-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(26,26,79,.10)}
.work-tag{font-family:var(--font-display);font-size:10.5px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--text-grey);margin-bottom:14px}
.work-card h3{font-family:var(--font-display);font-size:20px;font-weight:600;line-height:1.3;margin-bottom:12px}
.work-card p{font-family:var(--font-body);font-size:14.5px;line-height:1.65;color:var(--text-grey);flex:1;margin-bottom:16px}
.work-card .service-link{margin-top:0}

/* Two principals */
.leader-grid--2{grid-template-columns:repeat(2,minmax(0,380px));gap:56px}

/* Discovery: live-record label */
.live-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:#1f6b45;background:rgba(78,155,111,.12);border:1px solid rgba(78,155,111,.35);padding:5px 12px;border-radius:999px;margin:6px 0 4px}
.live-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#2f8a57;box-shadow:0 0 0 3px rgba(47,138,87,.18)}

/* Advisory: conflicts statement */
.conflicts-note{border-left:3px solid var(--plum);background:var(--cream);padding:26px 30px;max-width:920px}
.conflicts-note p{font-family:var(--font-body);font-size:15px;line-height:1.75;color:#3a3a45;margin:0}

/* Intelligence: sign-in for full report */
.mfull{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;font-family:'Sora',sans-serif;font-size:12px;font-weight:600;color:#1A1A4F;border:1px solid rgba(26,26,79,.3);border-radius:999px;padding:7px 14px;white-space:nowrap;transition:.2s}
.mfull:hover{background:#1A1A4F;color:#fff}
.mfull::before,.msignin::before{content:"";width:9px;height:10px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 10'%3E%3Cpath d='M1.5 4.5V3a3 3 0 0 1 6 0v1.5h.5v5.5H1V4.5zm1.2 0h3.6V3a1.8 1.8 0 0 0-3.6 0z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 10'%3E%3Cpath d='M1.5 4.5V3a3 3 0 0 1 6 0v1.5h.5v5.5H1V4.5zm1.2 0h3.6V3a1.8 1.8 0 0 0-3.6 0z'/%3E%3C/svg%3E") center/contain no-repeat}
.msignin{display:inline-flex !important;align-items:center;gap:8px}

/* Client sign-in page */
.portal-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.portal-card{border:1px solid var(--rule);border-top:3px solid var(--deep-blue);padding:36px 36px 30px;background:#fff;box-shadow:0 18px 40px rgba(26,26,79,.06)}
.portal-card h2,.portal-grid h2{font-family:var(--font-display);font-size:28px;font-weight:400;color:var(--deep-blue);margin:4px 0 22px}
.portal-form{display:grid;gap:18px}
.portal-form label{display:block;font-family:var(--font-display);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-grey);margin-bottom:8px;font-weight:500}
.portal-form input{width:100%;padding:14px 16px;font-family:var(--font-body);font-size:16px;border:1px solid var(--rule-strong);background:#fff;color:var(--deep-blue);border-radius:2px}
.portal-form input:focus{outline:0;border-color:var(--plum);box-shadow:0 0 0 3px rgba(107,99,255,.30)}
.portal-pw{position:relative}
.portal-pw input{padding-right:72px}
.portal-show{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:none;font-family:var(--font-display);font-size:12px;font-weight:600;color:var(--deep-blue);padding:8px;cursor:pointer}
.portal-forgot{font-family:var(--font-display);font-size:13px;color:var(--deep-blue);border-bottom:1px solid var(--plum);justify-self:start}
.portal-status{font-family:var(--font-body);font-size:13.5px;line-height:1.6;color:var(--deep-blue);margin:0;min-height:1px}
.portal-fine{font-family:var(--font-body);font-size:12.5px;font-style:italic;color:var(--text-grey);margin:20px 0 0;padding-top:16px;border-top:1px solid var(--rule)}
.portal-list{list-style:none;padding:0;margin:4px 0 0}
.portal-list li{position:relative;padding:11px 0 11px 22px;border-bottom:1px solid var(--rule);font-family:var(--font-body);font-size:15px;color:#3a3a45;margin:0}
.portal-list li::before{content:"";position:absolute;left:0;top:19px;width:8px;height:8px;border-radius:50%;background:#09A6E0}
.portal-req-lede{font-family:var(--font-body);font-size:15px;color:var(--text-grey);margin:0 0 18px}
#access-form{gap:14px}
.form-status:empty{display:none}

@media (max-width:960px){
  .work-grid,.portal-grid{grid-template-columns:1fr}
  .portal-grid{gap:44px}
  .leader-grid--2{grid-template-columns:1fr 1fr;gap:28px}
}
@media (max-width:640px){
  .service-grid--2,.leader-grid--2{grid-template-columns:1fr}
  .origin-strip{flex-direction:column;align-items:flex-start;gap:12px}
  .proof-note{padding:0 20px 24px}
  .portal-card{padding:26px 20px 22px}
  .mrow{flex-wrap:wrap}
  .mrow .mdesc{flex:1 1 100%}
}

/* Mobile fixes for inline grids carried over from v1 */
@media (max-width:760px){
  .page [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important;gap:28px !important}
  .page [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:1fr 1fr !important}
  .page [style*="padding:8px 40px"]{padding-left:20px !important;padding-right:20px !important}
  .key-stat .key-value{font-size:24px;letter-spacing:-.3px}
}
@media (max-width:480px){
  .page [style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:1fr !important}
}
@media (max-width:600px){
  .stat-strip-inner .stat{border-top:0;padding-top:0}
}
/* Footer legal block aligned with the footer grid */
.site-footer > div[style*="margin-top:22px"]{max-width:var(--maxw);margin-left:auto !important;margin-right:auto !important;padding-left:32px;padding-right:32px;padding-bottom:28px}
@media (max-width:600px){.site-footer > div[style*="margin-top:22px"]{padding-left:20px;padding-right:20px}}


/* ═══ v2.1 building blocks ═══ */
.b-wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
.b-sec{padding:88px 0}
.b-sec.cream{background:var(--cream)}.b-sec.white{background:#fff}.b-sec.light{background:var(--light-bg)}
.b-eyebrow{display:block;font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:2.4px;text-transform:uppercase;color:var(--plum);margin-bottom:14px}
.b-title{font-family:var(--font-display);font-size:clamp(28px,3.4vw,40px);font-weight:500;letter-spacing:-.6px;line-height:1.15;color:var(--deep-blue);margin:0 0 16px;max-width:820px}
.b-lede{font-family:var(--font-body);font-size:17px;line-height:1.75;color:var(--text-grey);max-width:760px;margin:0}
.b-head{margin-bottom:44px}
/* breadcrumb */
.b-crumb{font-family:var(--font-display);font-size:12px;letter-spacing:.4px;color:rgba(255,255,255,.62);margin-bottom:26px}
.b-crumb a{color:rgba(255,255,255,.85);border-bottom:1px solid rgba(255,255,255,.25)}
.b-crumb a:hover{border-color:var(--plum-soft)}
.b-crumb span{margin:0 8px;opacity:.5}
/* hero */
.b-hero{background:var(--deep-blue);color:#fff;position:relative;overflow:hidden;padding:72px 0 0}
.b-hero::after{content:"";position:absolute;right:-160px;top:-160px;width:520px;height:520px;background:radial-gradient(circle,rgba(107,99,255,.32) 0%,transparent 68%);pointer-events:none}
.b-hero .b-wrap{position:relative;z-index:1}
.b-hero .b-eyebrow{color:var(--plum-soft)}
.b-hero h1{font-family:var(--font-display);font-size:clamp(36px,5vw,60px);font-weight:500;letter-spacing:-1.4px;line-height:1.06;margin:0 0 22px;max-width:900px;color:#fff}
.b-hero h1 strong{font-weight:600;color:var(--plum-soft)}
.b-hero .b-lede{color:rgba(255,255,255,.82);font-size:18px}
.b-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.b-btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:.3px;padding:13px 22px;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s}
.b-btn::after{content:"\2192";transition:transform .2s}
.b-btn:hover::after{transform:translateX(3px)}
.b-btn.primary{background:var(--plum);color:#fff}.b-btn.primary:hover{background:#fff;color:var(--deep-blue)}
.b-btn.ghost{border-color:rgba(255,255,255,.4);color:#fff}.b-btn.ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.b-btn.dark{background:var(--deep-blue);color:#fff}.b-btn.dark:hover{background:var(--plum)}
.b-btn.line{border-color:var(--deep-blue);color:var(--deep-blue)}.b-btn.line:hover{background:var(--deep-blue);color:#fff}
.b-herofacts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:64px;border-top:1px solid rgba(255,255,255,.16)}
.b-herofacts div{padding:24px 24px 30px 0}
.b-herofacts div + div{padding-left:24px;border-left:1px solid rgba(255,255,255,.12)}
.b-herofacts b{display:block;font-family:var(--font-display);font-size:26px;font-weight:500;letter-spacing:-.5px;color:#fff;font-variant-numeric:tabular-nums}
.b-herofacts span{display:block;margin-top:6px;font-family:var(--font-display);font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:rgba(255,255,255,.6)}
/* prose pair */
.b-prose{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 64px}
.b-prose p{font-family:var(--font-body);font-size:16px;line-height:1.8;color:#3a3a45;margin:0 0 14px}
.b-pull{font-family:var(--font-body);font-style:italic;font-size:21px;line-height:1.55;color:var(--deep-blue);border-left:3px solid var(--plum);padding-left:20px;margin:0}
/* table */
.b-table{width:100%;border-collapse:collapse;font-family:var(--font-body)}
.b-table th{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--plum);text-align:left;padding:0 18px 14px 0;border-bottom:2px solid var(--deep-blue)}
.b-table td{padding:20px 18px 20px 0;border-bottom:1px solid var(--rule);vertical-align:top;font-size:15px;line-height:1.65;color:#3a3a45}
.b-table td:first-child{font-family:var(--font-display);font-weight:600;color:var(--deep-blue);width:20%}
.b-table td:last-child{color:var(--deep-blue)}
.b-table tr{transition:background .2s}.b-table tbody tr:hover{background:rgba(107,99,255,.04)}
.b-tag{display:inline-block;margin:6px 6px 0 0;font-family:var(--font-display);font-size:10.5px;font-weight:600;letter-spacing:.8px;color:var(--plum);border:1px solid rgba(107,99,255,.35);padding:2px 8px;border-radius:99px}
/* steps */
.b-steps{display:grid;grid-template-columns:repeat(var(--n,5),1fr);gap:28px;position:relative;counter-reset:st}
.b-steps::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--rule)}
.b-steps::after{content:"";position:absolute;left:0;top:0;height:2px;width:var(--prog,100%);background:var(--plum);transition:width 1.6s cubic-bezier(.4,0,.2,1)}
.b-step{padding-top:22px}
.b-step i{display:block;font-style:normal;font-family:var(--font-display);font-size:12px;font-weight:600;color:var(--plum);letter-spacing:1px;margin-bottom:10px}
.b-step h3{font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--deep-blue);margin:0 0 10px}
.b-step p{font-family:var(--font-body);font-size:14.5px;line-height:1.65;color:var(--text-grey);margin:0}
/* timeline */
.b-time{list-style:none;margin:0;padding:0;border-left:2px solid var(--rule);margin-left:6px}
.b-time li{position:relative;display:grid;grid-template-columns:72px 1fr auto;gap:18px;align-items:baseline;padding:14px 0 14px 26px;margin:0;border-bottom:1px solid var(--rule)}
.b-time li::before{content:"";position:absolute;left:-7px;top:21px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--plum)}
.b-time li.now::before{background:var(--plum)}
.b-time b{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--deep-blue);font-variant-numeric:tabular-nums}
.b-time span{font-family:var(--font-body);font-size:15px;color:#3a3a45;line-height:1.55}
.b-time em{font-style:normal;font-family:var(--font-display);font-size:10.5px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-grey);white-space:nowrap}
/* key-value facts */
.b-kv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 56px}
.b-kv div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--rule)}
.b-kv dt{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--plum);padding-top:3px}
.b-kv dd{margin:0;font-family:var(--font-body);font-size:15px;line-height:1.65;color:#3a3a45}
/* dark band */
.b-band{background:var(--deep-blue);color:#fff;padding:80px 0;position:relative;overflow:hidden}
.b-band .b-eyebrow{color:var(--plum-soft)}.b-band .b-title{color:#fff}.b-band .b-lede{color:rgba(255,255,255,.75)}
.b-cols{display:grid;grid-template-columns:repeat(var(--n,4),1fr);border-top:1px solid rgba(255,255,255,.18)}
.b-cols > div{padding:26px 24px 8px 0}
.b-cols > div + div{padding-left:24px;border-left:1px solid rgba(255,255,255,.12)}
.b-cols small{display:block;font-family:var(--font-display);font-size:10.5px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--plum-soft);margin-bottom:10px}
.b-cols h3{font-family:var(--font-display);font-size:19px;font-weight:600;margin:0 0 10px;color:#fff;line-height:1.3}
.b-cols p{font-family:var(--font-body);font-size:14px;line-height:1.65;color:rgba(255,255,255,.72);margin:0}
/* note + cta + related */
.b-note{border-left:3px solid var(--plum);background:var(--light-bg);padding:18px 22px;font-family:var(--font-body);font-size:13.5px;line-height:1.7;color:#4a4a58;max-width:980px}
.b-cta{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;border-top:1px solid var(--rule);padding-top:40px}
.b-cta h2{font-family:var(--font-display);font-size:clamp(26px,3vw,36px);font-weight:500;color:var(--deep-blue);letter-spacing:-.5px;margin:6px 0 10px;max-width:720px}
.b-cta p{font-family:var(--font-body);font-size:15px;color:var(--text-grey);margin:0;max-width:640px}
.b-related{display:grid;grid-template-columns:repeat(var(--n,3),1fr);gap:20px;margin-top:20px}
.b-related a{display:block;border:1px solid var(--rule);border-top:3px solid var(--plum);background:#fff;padding:22px 22px 20px;transition:transform .25s,box-shadow .25s}
.b-related a:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(26,26,79,.09)}
.b-related small{font-family:var(--font-display);font-size:10.5px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-grey)}
.b-related h3{font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--deep-blue);margin:8px 0 6px}
.b-related p{font-family:var(--font-body);font-size:14px;line-height:1.6;color:var(--text-grey);margin:0}
/* motion: blocks rise in; steps line draws */
.b-anim .b-rise{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease;transition-delay:calc(var(--i,0)*80ms)}
.b-anim .b-rise.b-in{opacity:1;transform:none}
.b-anim .b-steps{--prog:0%}.b-anim .b-steps.b-in{--prog:100%}
@media (prefers-reduced-motion:reduce){.b-anim .b-rise{opacity:1;transform:none;transition:none}.b-anim .b-steps{--prog:100%}}
/* responsive */
@media (max-width:960px){
  .b-herofacts{grid-template-columns:1fr 1fr}
  .b-herofacts div:nth-child(3){padding-left:0;border-left:0}
  .b-herofacts div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.12)}
  .b-steps{grid-template-columns:1fr 1fr;row-gap:36px}
  .b-steps::before,.b-steps::after{display:none}
  .b-step{border-top:2px solid var(--plum)}
  .b-cols{grid-template-columns:1fr 1fr}
  .b-cols > div:nth-child(odd){padding-left:0;border-left:0}
  .b-cols > div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.12)}
  .b-prose,.b-kv{grid-template-columns:1fr}
  .b-related{grid-template-columns:1fr}
}
@media (max-width:640px){
  .b-wrap{padding:0 20px}
  .b-sec{padding:60px 0}.b-band{padding:60px 0}
  .b-hero{padding-top:48px}
  .b-steps,.b-cols{grid-template-columns:1fr}
  .b-cols > div{padding-left:0 !important;border-left:0 !important;border-top:1px solid rgba(255,255,255,.12)}
  .b-herofacts b{font-size:21px}
  .b-table thead{display:none}
  .b-table tr{display:block;padding:16px 0;border-bottom:1px solid var(--rule)}
  .b-table td{display:block;border:0;padding:4px 0;width:auto !important}
  .b-table td[data-h]::before{content:attr(data-h);display:block;font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--plum);margin:8px 0 2px}
  .b-time li{grid-template-columns:56px 1fr;padding-left:20px}
  .b-time em{grid-column:2}
  .b-kv div{grid-template-columns:1fr;gap:4px}
}
/* light variants (default): deep blue kept for type, plum for accents */
.b-hero.light{background:linear-gradient(180deg,#fff 0%,var(--light-bg) 100%);color:var(--deep-blue);border-bottom:1px solid var(--rule)}
.b-hero.light::after{background:radial-gradient(circle,rgba(107,99,255,.14) 0%,transparent 68%)}
.b-hero.light .b-eyebrow{color:var(--plum)}
.b-hero.light h1{color:var(--deep-blue)}
.b-hero.light h1 strong{color:var(--plum)}
.b-hero.light .b-lede{color:var(--text-grey)}
.b-hero.light .b-crumb{color:var(--text-grey)}
.b-hero.light .b-crumb a{color:var(--deep-blue);border-bottom-color:rgba(26,26,79,.25)}
.b-hero.light .b-btn.ghost{border-color:var(--deep-blue);color:var(--deep-blue)}
.b-hero.light .b-btn.ghost:hover{background:var(--deep-blue);color:#fff}
.b-hero.light .b-btn.primary:hover{background:var(--deep-blue);color:#fff}
.b-hero.light .b-herofacts{border-top-color:var(--rule-strong)}
.b-hero.light .b-herofacts div + div{border-left-color:var(--rule)}
.b-hero.light .b-herofacts b{color:var(--deep-blue)}
.b-hero.light .b-herofacts span{color:var(--text-grey)}
.b-band.light{background:var(--cream);color:var(--deep-blue)}
.b-band.light .b-eyebrow{color:var(--plum)}.b-band.light .b-title{color:var(--deep-blue)}.b-band.light .b-lede{color:var(--text-grey)}
.b-band.light .b-cols{border-top:2px solid var(--deep-blue);gap:0}
.b-band.light .b-cols > div{border-left-color:var(--rule)}
.b-band.light .b-cols small{color:var(--plum)}
.b-band.light .b-cols h3{color:var(--deep-blue)}
.b-band.light .b-cols p{color:var(--text-grey)}
@media (max-width:960px){.b-hero.light .b-herofacts div:nth-child(n+3){border-top-color:var(--rule)}.b-band.light .b-cols > div:nth-child(n+3){border-top-color:var(--rule)}}
@media (max-width:640px){.b-band.light .b-cols > div{border-top-color:var(--rule) !important}}
/* cards (2-up text cards), comparison, cases */
.b-cards{display:grid;grid-template-columns:repeat(var(--n,2),1fr);gap:22px}
.b-card{background:#fff;border:1px solid var(--rule);border-top:3px solid var(--plum);padding:26px 26px 22px}
.b-card small{display:block;font-family:var(--font-display);font-size:10.5px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--plum);margin-bottom:10px}
.b-card h3{font-family:var(--font-display);font-size:19px;font-weight:600;color:var(--deep-blue);margin:0 0 10px;line-height:1.3}
.b-card p{font-family:var(--font-body);font-size:15px;line-height:1.7;color:#3a3a45;margin:0}
.b-card a.more{display:inline-block;margin-top:14px;font-family:var(--font-display);font-size:12.5px;font-weight:600;color:var(--deep-blue);border-bottom:1px solid var(--plum)}
.b-case{border-top:2px solid var(--deep-blue);padding-top:26px;margin-top:44px}
.b-case:first-of-type{margin-top:0}
.b-case-hd{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:baseline;margin-bottom:18px}
.b-case-hd h3{font-family:var(--font-display);font-size:23px;font-weight:600;color:var(--deep-blue);margin:6px 0 0;max-width:760px;line-height:1.25}
.b-case-hd em{font-style:normal;font-family:var(--font-display);font-size:12px;color:var(--text-grey);letter-spacing:.4px}
.b-case-body{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.b-case-body small{display:block;font-family:var(--font-display);font-size:10.5px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--plum);margin-bottom:8px}
.b-case-body p{font-family:var(--font-body);font-size:14.5px;line-height:1.7;color:#3a3a45;margin:0}
.b-stats{display:flex;flex-wrap:wrap;gap:0;margin-top:22px;border-top:1px solid var(--rule)}
.b-stats div{padding:16px 28px 4px 0;margin-right:28px}
.b-stats b{display:block;font-family:var(--font-display);font-size:26px;font-weight:600;color:var(--deep-blue);letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.b-stats span{font-family:var(--font-display);font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-grey)}
.b-herofacts + .b-factnote{margin:-14px 0 0;padding-bottom:26px;font-family:var(--font-body);font-size:12px;font-style:italic;color:var(--text-grey)}
.b-figure{border:1px solid var(--rule);background:#fff;padding:18px 18px 12px}
.b-split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;align-items:start}
@media (max-width:960px){.b-cards,.b-case-body,.b-split{grid-template-columns:1fr}}
.nav2-feature{background:var(--light-bg);border-left:2px solid #09A6E0;margin-bottom:4px}.nav2-feature:hover{background:#eef6fa}@media (max-width:1080px){.nav2-feature{background:none}}
.n6-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.n6-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--rule);transition:transform .25s,box-shadow .25s,border-color .25s;color:var(--deep-blue)}
.n6-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(26,26,79,.10);border-color:var(--rule-strong)}
.n6-fig{min-width:0;height:200px;padding:16px 18px 6px;border-bottom:1px solid var(--rule);background:#fcfbfe;display:flex;flex-direction:column}
.n6-fig > .n6-chart{flex:1;min-height:0;display:flex;align-items:center}
.n6-fig svg{width:100%;height:100%;display:block;overflow:visible}
.n6-cap{font-family:var(--font-display);font-size:9.5px;letter-spacing:.3px;color:var(--text-grey);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n6-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.n6-tag{font-family:var(--font-display);font-size:10.5px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--plum)}
.n6-date{font-family:var(--font-display);font-size:11px;color:var(--text-grey);margin:4px 0 10px;letter-spacing:.3px}
.n6-card h3{font-family:var(--font-display);font-size:19px;font-weight:600;line-height:1.3;margin:0 0 10px;color:var(--deep-blue)}
.n6-card p{font-family:var(--font-body);font-size:14px;line-height:1.7;color:#3a3a45;margin:0 0 16px;flex:1}
.n6-more{font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--deep-blue);border-bottom:2px solid var(--plum);align-self:flex-start;padding-bottom:2px}
/* heatmap */
.n6-heat{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;width:100%;min-width:0}
.n6-heat div{aspect-ratio:1.35;display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:var(--font-display);border-radius:2px;transition:opacity .4s,transform .4s;transition-delay:calc(var(--i)*35ms)}
.n6-heat b{font-size:9.5px;font-weight:700;letter-spacing:.2px}
.n6-heat span{font-size:9px;opacity:.9}
.lz-anim .n6-heat div{opacity:0;transform:scale(.85)}
.lz-anim.lz-in .n6-heat div{opacity:1;transform:none}
/* svg motion */
.n6-grow{transform-box:fill-box;transition:transform .8s cubic-bezier(.3,1.2,.45,1);transition-delay:calc(var(--i)*70ms)}
.n6-grow.l{transform-origin:left center}.n6-grow.r{transform-origin:right center}.n6-grow.b{transform-origin:center bottom}
.lz-anim .n6-grow{transform:scale(0,1)}.lz-anim .n6-grow.b{transform:scale(1,0)}
.lz-anim.lz-in .n6-grow{transform:none}
.n6-pop{transform-box:fill-box;transform-origin:center;transition:transform .45s cubic-bezier(.3,1.6,.5,1),opacity .3s;transition-delay:calc(var(--i)*110ms + .2s)}
.lz-anim .n6-pop{transform:scale(0);opacity:0}.lz-anim.lz-in .n6-pop{transform:none;opacity:1}
@media (max-width:1080px){.n6-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.n6-grid{grid-template-columns:1fr}.n6-fig{height:190px}}

.lz-only-m{display:none}@media (max-width:600px){.lz-only-d{display:none}.lz-only-m{display:block}}
.lz-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 2px;font:600 12px Sora,sans-serif;color:#1A1A4F}.lz-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}

/* report rows and summary pop-ups (restored from v2.0) */
.mrow{display:flex;align-items:center;gap:18px;padding:18px 0;border-top:1px solid rgba(26,26,79,.12)}
.mrow:last-of-type{border-bottom:1px solid rgba(26,26,79,.12)}
.mbadge{flex:0 0 140px;text-align:center;font-family:'Sora',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:1.2px;padding:7px 10px;border-radius:999px;line-height:1.35}
.mb-inv{background:rgba(123,63,97,.12);color:#7B3F61}
.mb-corp{background:rgba(26,26,79,.10);color:#1A1A4F}
.mb-sov{background:#1A1A4F;color:#F5F0EB}
.mdesc{flex:1;min-width:0;font-family:'Merriweather',serif;font-size:15px;line-height:1.6;color:#3a3a45}
.mview{flex:0 0 auto;font-family:'Sora',sans-serif;font-size:12px;font-weight:600;color:#7B3F61;border:1px solid rgba(123,63,97,.4);border-radius:999px;padding:7px 14px;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap;text-decoration:none}
.mview:hover,.mrow:hover label.mview{background:#7B3F61;color:#fff}
.mtog{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.mmodal{display:none;position:fixed;inset:0;z-index:1100;align-items:center;justify-content:center;padding:22px}
.mtog:checked + .mmodal{display:flex}
.mback{position:absolute;inset:0;background:rgba(26,26,79,.55);cursor:pointer;animation:mfade .2s ease}
.mdlg{position:relative;background:#F5F0EB;max-width:640px;width:100%;max-height:86vh;overflow:auto;border-radius:4px;padding:36px 42px 32px;box-shadow:0 30px 80px rgba(26,26,79,.35);animation:mrise .28s cubic-bezier(.2,.7,.2,1)}
.mx{position:absolute;top:10px;right:16px;font-size:28px;line-height:1;color:#1A1A4F;cursor:pointer;font-family:'Sora',sans-serif;padding:4px}
.mdlg h3{font-family:'Sora',sans-serif;font-size:23px;line-height:1.25;color:#1A1A4F;margin:12px 0 4px}
.mdlg .myr{font-family:'Sora',sans-serif;font-size:12px;letter-spacing:1px;color:#7B3F61;font-weight:600}
.mdlg h4{font-family:'Sora',sans-serif;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#7B3F61;margin:18px 0 4px}
.mdlg p{font-family:'Merriweather',serif;font-size:14.5px;line-height:1.7;color:#4a4a58;margin:0 0 6px}
.mdlg .lz-fig{padding:14px 16px 10px}
.mstats{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 4px}
.mstats div{flex:1 1 120px;background:#fff;border:1px solid rgba(26,26,79,.1);border-radius:3px;padding:12px 14px}
.mstats b{display:block;font-family:'Sora',sans-serif;font-size:22px;color:#1A1A4F}
.mstats span{font-family:'Sora',sans-serif;font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:#7a7a85}
.mmore{display:inline-block;margin-top:18px;font-family:'Sora',sans-serif;font-size:13px;font-weight:600;color:#7B3F61;border-bottom:1px solid #7B3F61;text-decoration:none}
@keyframes mfade{from{opacity:0}}
@keyframes mrise{from{opacity:0;transform:translateY(14px)}}
@media (max-width:640px){.mrow{flex-wrap:wrap;gap:10px 12px}.mrow .mdesc{flex:1 1 100%}.mrow .mbadge{flex:0 0 auto!important}.mdlg{padding:30px 22px 24px;max-height:90vh}.mmodal{padding:12px}}
@media (prefers-reduced-motion:reduce){.mback,.mdlg{animation:none}}
.mdlg .lz-only-m .lz-svg{max-width:420px;margin:0 auto}
@media (max-width:600px){.mdlg .lz-pair>div{flex-basis:100%}}
