/* ============================================
   Drive Growth Ventures: shared stylesheet
   ============================================ */

:root{
  --bg: #FAF9FC;
  --bg-alt: #F1EDF8;
  --text: #1B1830;
  --text-secondary: #4B4765;
  --text-tertiary: #6C6788;
  --border: #E7E2F1;
  --border-strong: #D4CDE7;
  --purple: #4A2A82;
  --purple-dark: #34205F;
  --purple-tint: #EEE8F7;
  --gold: #C9A24B;
  --gold-dark: #9C7B2C;
  --gold-tint: #F7EFDC;
  --white: #ffffff;
  --header-bg: rgba(250,249,252,0.82);
  --placeholder: #9C97AD;
  --radius: 20px;
  --radius-sm: 12px;
  --radius-pill: 999px;
  --shadow-sm: 0 2px 12px rgba(40,24,80,0.07);
  --shadow-md: 0 14px 34px rgba(40,24,80,0.11), 0 2px 8px rgba(40,24,80,0.05);
  --shadow-lift: 0 26px 52px rgba(40,24,80,0.17), 0 4px 12px rgba(40,24,80,0.09);
  --glass-bg: rgba(255,255,255,0.55);
  --glass-border: rgba(255,255,255,0.6);

  --fs-hero: clamp(38px, 4.4vw, 56px);
  --fs-h2: clamp(28px, 2.8vw, 36px);
  --fs-h3: 21px;
  --fs-lead: 18px;
  --fs-body: 16px;
  --fs-body-sm: 15px;
  --fs-label: 13px;
  --fs-nav: 15px;
  --fs-tiny: 12px;
}

html[data-theme="dark"]{
  --bg: #08070a;
  --bg-alt: #0f0e13;
  --text: #f5f4f8;
  --text-secondary: #b2afbb;
  --text-tertiary: #837f8c;
  --border: rgba(255,255,255,0.12);
  --border-strong: rgba(255,255,255,0.22);
  --purple: #8f6dff;
  --purple-dark: #a78bff;
  --purple-tint: rgba(143,109,255,0.14);
  --header-bg: rgba(8,7,10,0.72);
  --placeholder: #565260;
  --shadow-sm: 0 2px 12px rgba(0,0,0,0.45);
  --shadow-md: 0 16px 40px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.05);
  --shadow-lift: 0 26px 54px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,255,255,0.08);
  --glass-bg: rgba(255,255,255,0.06);
  --glass-border: rgba(255,255,255,0.14);
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Roboto',Arial,Helvetica,sans-serif;
  font-weight:400;
  font-size:var(--fs-body);
  line-height:1.65;
  transition:background .25s ease, color .25s ease;
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:'Roboto',Arial,Helvetica,sans-serif;
  font-weight:700;
  color:var(--text);
  line-height:1.25;
}
p{color:var(--text-secondary);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:1180px;margin:0 auto;padding:0 32px;}
section{position:relative;}

/* Eyebrow / kicker label: bold, uppercase, tight tracking */
.kicker{
  display:flex;align-items:center;gap:10px;
  margin-bottom:16px;
}
.kicker .bar{width:26px;height:2px;background:var(--gold);display:inline-block;border-radius:var(--radius-pill);}
.kicker span{
  font-size:var(--fs-label);
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--purple-dark);
}
/* Pill-badge kicker variant: used in the hero, floating over photography */
.kicker-pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 20px;
  border-radius:var(--radius-pill);
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  font-size:var(--fs-label);
  font-weight:600;
  color:var(--text);
  margin-bottom:22px;
}
html:not([data-theme="dark"]) .kicker-pill{border-color:rgba(17,15,23,0.14);}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:15px 32px;
  font-family:'Roboto',Arial,sans-serif;
  font-size:var(--fs-body-sm);
  font-weight:600;
  border-radius:var(--radius-pill);
  border:1px solid transparent;
  cursor:pointer;
  transition:background .22s cubic-bezier(.16,1,.3,1), color .22s ease, border-color .22s ease, transform .22s cubic-bezier(.16,1,.3,1), box-shadow .22s ease;
  white-space:nowrap;
}
.btn-primary{background:var(--purple);color:#fff;border-color:var(--purple);box-shadow:0 8px 22px rgba(74,42,130,0.30);}
.btn-primary:hover{background:var(--purple-dark);border-color:var(--purple-dark);transform:translateY(-2px);box-shadow:0 14px 30px rgba(74,42,130,0.42);}
.btn-outline{background:transparent;color:var(--text);border-color:var(--border-strong);}
.btn-outline:hover{border-color:var(--purple);color:var(--purple-dark);transform:translateY(-2px);}
.btn-sm{padding:11px 22px;font-size:var(--fs-label);}

/* Header / Nav */
header{
  position:sticky;top:0;left:0;right:0;
  z-index:100;
  background:var(--header-bg);
  backdrop-filter:blur(16px) saturate(160%);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  border-bottom:1px solid var(--border);
  transition:background .25s ease, border-color .25s ease;
}
nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 32px;
  max-width:1180px;margin:0 auto;
  gap:20px;
}
.logo{display:flex;align-items:center;gap:13px;flex-shrink:0;}
.logo-mark{width:48px;height:auto;flex-shrink:0;}
.logo-text{display:flex;flex-direction:column;line-height:1.2;}
.logo-text .l1{font-weight:800;font-size:16px;letter-spacing:0.15em;color:var(--purple-dark);text-transform:uppercase;}
.logo-text .l2{
  font-size:11px;
  letter-spacing:0.30em;
  color:var(--gold-dark);
  font-weight:700;
  margin-top:3px;
  text-transform:uppercase;
}
.nav-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.nav-cta-mobile{display:none;}
.nav-links{
  display:flex;gap:26px;
  list-style:none;
  flex-wrap:wrap;
}
.nav-links a{
  font-size:var(--fs-nav);
  font-weight:500;
  color:var(--text-secondary);
  transition:color .18s ease;
}
.nav-links a:hover,.nav-links a.active{color:var(--purple-dark);}
.menu-toggle{
  display:none;background:none;border:1px solid var(--border-strong);
  color:var(--text);width:36px;height:36px;
  align-items:center;justify-content:center;
  cursor:pointer;border-radius:var(--radius-pill);
}
.menu-toggle span{display:block;width:16px;height:1px;background:var(--text);position:relative;}
.menu-toggle span::before,.menu-toggle span::after{content:"";position:absolute;left:0;width:16px;height:1px;background:var(--text);}
.menu-toggle span::before{top:-5px;}
.menu-toggle span::after{top:5px;}

/* Theme toggle */
.theme-toggle{
  display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;flex-shrink:0;
  background:none;border:1px solid var(--border-strong);
  border-radius:var(--radius-pill);
  color:var(--text);cursor:pointer;
  transition:border-color .18s ease;
}
.theme-toggle:hover{border-color:var(--purple);color:var(--purple-dark);}
.theme-toggle svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.theme-toggle .icon-sun{display:none;}
html[data-theme="dark"] .theme-toggle .icon-sun{display:block;}
html[data-theme="dark"] .theme-toggle .icon-moon{display:none;}

/* Hero: gradient-mesh backdrop + animated orbit graphic */
.hero{overflow:hidden;position:relative;}
.hero::before{
  content:"";
  position:absolute;top:-180px;right:-160px;
  width:640px;height:640px;
  background:radial-gradient(circle, rgba(74,42,130,0.16), transparent 70%);
  pointer-events:none;
  z-index:0;
}
.hero::after{
  content:"";
  position:absolute;bottom:-220px;left:-160px;
  width:520px;height:520px;
  background:radial-gradient(circle, rgba(201,162,75,0.13), transparent 72%);
  pointer-events:none;
  z-index:0;
}
html[data-theme="dark"] .hero::before{background:radial-gradient(circle, rgba(143,109,255,0.20), transparent 70%);}
html[data-theme="dark"] .hero::after{background:radial-gradient(circle, rgba(143,109,255,0.10), transparent 72%);}
.hero-graphic{
  position:absolute;
  top:-60px;right:-60px;
  width:460px;height:460px;
  pointer-events:none;
  z-index:0;
  opacity:0.55;
  animation:spin-slow 90s linear infinite;
  transform-origin:66% 40%;
  overflow:visible;
}
.hero-graphic .orbit{stroke:var(--border-strong);fill:none;stroke-width:1;}
.hero-graphic .orbit-accent{stroke:var(--purple);fill:none;stroke-width:1;opacity:0.5;}
.hero-graphic circle.node{fill:var(--purple);}
.hero .container{position:relative;z-index:1;}
@keyframes spin-slow{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
@media (max-width:900px){
  .hero-graphic{width:280px;height:280px;top:-30px;right:-60px;opacity:0.35;}
}

/* Hero stat row: bold bento-style numbers, glass chip on small screens */
.hero-stats{
  display:flex;flex-wrap:wrap;gap:0;
  border-top:1px solid var(--border);
  padding-top:28px;
}
.hero-stat{padding-right:40px;margin-right:40px;border-right:1px solid var(--border);}
.hero-stat:last-child{border-right:none;padding-right:0;margin-right:0;}
.hero-stat .num{
  display:block;
  font-size:clamp(28px,3vw,38px);
  font-weight:800;
  color:var(--text);
  line-height:1.1;
  margin-bottom:6px;
}
.hero-stat .label{font-size:var(--fs-label);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:0.04em;}
@media (max-width:640px){
  .hero-stat{padding-right:24px;margin-right:24px;}
}

/* Page header banner (used on Blog / News / interior pages) */
.page-hero{
  padding:64px 0 48px;
  border-bottom:1px solid var(--border);
  background:var(--bg-alt);
}
.page-hero h1{font-size:var(--fs-hero);margin-bottom:12px;}
.page-hero p{font-size:var(--fs-body);max-width:620px;}

/* Section heads */
.head-row{
  display:flex;flex-direction:column;align-items:flex-start;
  gap:14px;
  margin-bottom:44px;
}
.head-row .section-sub{padding-top:0;max-width:640px;}
.section-title{font-size:var(--fs-h2);max-width:560px;}
.section-sub{color:var(--text-secondary);max-width:360px;font-size:var(--fs-body-sm);}

/* Fade-in on scroll, with optional stagger for grid children */
.fade-in{opacity:0;transform:translateY(22px) scale(.985);transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1);}
.fade-in.visible{opacity:1;transform:translateY(0) scale(1);}
.stagger-grid > *{opacity:0;transform:translateY(20px) scale(.98);transition:opacity .6s cubic-bezier(.16,1,.3,1), transform .6s cubic-bezier(.16,1,.3,1);}
.stagger-grid.visible > *{opacity:1;transform:translateY(0) scale(1);}
.stagger-grid.visible > *:nth-child(1){transition-delay:0ms;}
.stagger-grid.visible > *:nth-child(2){transition-delay:70ms;}
.stagger-grid.visible > *:nth-child(3){transition-delay:140ms;}
.stagger-grid.visible > *:nth-child(4){transition-delay:210ms;}
.stagger-grid.visible > *:nth-child(5){transition-delay:280ms;}
.stagger-grid.visible > *:nth-child(6){transition-delay:350ms;}
.stagger-grid.visible > *:nth-child(7){transition-delay:420ms;}
.stagger-grid.visible > *:nth-child(8){transition-delay:490ms;}

/* Parallax-lite: gentle vertical drift on photo bands, applied via JS transform */
.photo-band-media[data-parallax]{will-change:transform;}

/* ABOUT: focus areas, photo tiles (image visible on top, plain text below) */
.about{padding:88px 0;}
.focus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.focus-cell{
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, border-color .3s ease;
}
.focus-cell:hover{border-color:var(--purple);transform:translateY(-6px);box-shadow:var(--shadow-lift);}
.focus-cell-media{
  height:150px;
  background-color:var(--purple-tint);
  background-size:cover;background-position:center;
  border-bottom:1px solid var(--border);
  transition:transform .4s ease;
}
.focus-cell:hover .focus-cell-media{transform:scale(1.05);}
.focus-cell-inner{padding:20px 22px 24px;}
.focus-cell .fc-label{font-size:var(--fs-label);font-weight:700;color:var(--purple-dark);margin-bottom:10px;}
.focus-cell h3{font-size:var(--fs-h3);margin-bottom:8px;}
.focus-cell p{font-size:var(--fs-body-sm);color:var(--text-secondary);}

/* OFFER: image + stacked rows */
.offer{padding:88px 0;background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.offer-split{display:grid;grid-template-columns:320px 1fr;gap:44px;align-items:stretch;}
.offer-media{
  background-size:cover;background-position:center;
  border:1px solid var(--border);
  border-radius:var(--radius);
  min-height:100%;
  box-shadow:var(--shadow-sm);
  transition:transform .5s cubic-bezier(.16,1,.3,1), box-shadow .5s ease;
}
.offer-media:hover{transform:scale(1.015);box-shadow:var(--shadow-md);}
.offer-media.offer-graphic{overflow:hidden;border-color:transparent;}
.offer-graphic svg{width:100%;height:100%;display:block;}
.offer-list{border-top:1px solid var(--border);}
.offer-row{
  display:grid;grid-template-columns:56px 1fr;
  gap:20px;
  padding:26px 20px 26px 8px;
  border-bottom:1px solid var(--border);
  border-radius:var(--radius-sm);
  align-items:flex-start;
  transition:padding-left .25s cubic-bezier(.16,1,.3,1), background .25s ease, transform .25s ease;
}
.offer-row:hover{padding-left:16px;background:var(--bg-alt);transform:translateX(4px);}
.offer-row .offer-icon{
  width:44px;height:44px;border-radius:var(--radius-sm);
  background:var(--purple-tint);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.offer-row .offer-icon svg{width:22px;height:22px;stroke:var(--purple-dark);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.offer-row h3{font-size:var(--fs-h3);margin-bottom:6px;}
.offer-row p{font-size:var(--fs-body-sm);max-width:480px;}
@media (max-width:900px){
  .offer-row{grid-template-columns:44px 1fr;}
}
@media (max-width:900px){
  .offer-split{grid-template-columns:1fr;}
  .offer-media{min-height:220px;}
}

/* PHOTO BAND: real photography with brand tint overlay */
.photo-band{
  position:relative;
  min-height:360px;
  display:flex;align-items:center;
  overflow:hidden;
}
.photo-band-media{
  position:absolute;inset:0;
  background-color:var(--purple-dark);
  background-size:cover;
  background-position:center;
}
.photo-band-overlay{
  position:absolute;inset:0;
  background:linear-gradient(135deg, rgba(74,42,130,0.74), rgba(24,16,44,0.82));
}
.photo-band-content{position:relative;z-index:1;padding:64px 32px;}
.photo-band-content .kicker span{color:#e8e2ff;}
.photo-band-content .kicker .bar{background:#fff;}
.photo-band-content h2{color:#fff;font-size:var(--fs-h2);max-width:560px;}
.photo-band-content p{color:rgba(255,255,255,0.82);max-width:460px;margin-top:14px;font-size:var(--fs-body-sm);}
@media (max-width:700px){.photo-band{min-height:300px;}}
.photo-band-sm{min-height:220px;}
.photo-band-sm .photo-band-content{padding:36px 32px;}

/* PHOTO BAND LG: taller single-image band that also houses the firm's approach points */
.photo-band-lg{display:block;min-height:0;align-items:initial;}
.photo-band-lg .photo-band-content{padding:76px 32px;}
.approach-label{
  font-size:var(--fs-label);font-weight:700;text-transform:uppercase;letter-spacing:0.04em;
  color:#e8e2ff;
  margin-top:44px;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,0.25);
}
.approach-list{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:22px;}
.approach-item{
  padding:24px 22px;
  border-radius:var(--radius);
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:transform .3s cubic-bezier(.16,1,.3,1), background .3s ease;
}
.approach-item:hover{transform:translateY(-6px);background:rgba(255,255,255,0.14);}
.approach-icon{
  width:42px;height:42px;border-radius:var(--radius-sm);
  background:rgba(255,255,255,0.16);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:16px;
}
.approach-icon svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.approach-item h4{color:#fff;font-size:var(--fs-h3);margin-bottom:10px;}
.approach-item p{color:rgba(255,255,255,0.78);font-size:var(--fs-body-sm);}
@media (max-width:900px){
  .approach-list{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .approach-list{grid-template-columns:1fr;}
}

/* PROGRAMS */
.programs{padding:88px 0;background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden;}
.programs .container{position:relative;z-index:1;}
.programs-graphic{
  position:absolute;
  top:-90px;right:-50px;
  width:280px;height:280px;
  pointer-events:none;
  z-index:0;
  opacity:0.4;
}
.programs-graphic .orbit{stroke:var(--border-strong);fill:none;stroke-width:1;}
.programs-graphic .orbit-accent{stroke:var(--purple);fill:none;stroke-width:1;opacity:0.5;}
.programs-graphic circle.node{fill:var(--purple);}
@media (max-width:900px){
  .programs-graphic{display:none;}
}
.stage-strip{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;}
.stage-strip div{
  padding:18px 30px;
  font-size:var(--fs-body-sm);
  font-weight:600;
  text-align:center;
  border:1px solid var(--border);
  border-radius:var(--radius-pill);
  flex:1;
  min-width:140px;
  background:var(--bg);
  box-shadow:var(--shadow-sm);
  transition:transform .25s cubic-bezier(.16,1,.3,1), background .25s ease, color .25s ease, box-shadow .25s ease;
}
.stage-strip div:hover{background:var(--purple);color:#fff;transform:translateY(-4px);box-shadow:var(--shadow-md);}

/* PORTFOLIO */
.portfolio{padding:88px 0;}
.featured{
  position:relative;
  overflow:hidden;
  display:grid;grid-template-columns:1fr;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-md);
  margin-bottom:24px;
  transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease;
}
.featured:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift);}
.featured-media{position:absolute;inset:0;background-size:cover;background-position:center;}
.featured-overlay{position:absolute;inset:0;background:linear-gradient(135deg, rgba(44,26,84,0.84), rgba(22,15,40,0.90));}
.featured-content{position:relative;z-index:1;padding:44px 40px;}
.featured-tag{
  display:inline-block;
  font-size:var(--fs-label);font-weight:700;letter-spacing:0.04em;text-transform:uppercase;
  color:var(--purple-dark);
  background:var(--purple-tint);
  border-radius:var(--radius-pill);
  padding:7px 16px;
  margin-bottom:20px;
}
.featured-content .sector{
  display:block;
  font-size:var(--fs-label);color:rgba(255,255,255,0.75);
  margin-bottom:12px;font-weight:500;
}
.featured-content h3{font-size:28px;margin-bottom:14px;color:#fff;}
.featured-content p{font-size:var(--fs-body);margin-bottom:26px;max-width:640px;color:rgba(255,255,255,0.88);}
.featured-meta{display:flex;gap:36px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,0.2);padding-top:20px;}
.featured-meta div{font-size:var(--fs-label);color:rgba(255,255,255,0.7);}
.featured-meta strong{display:block;color:#fff;font-size:var(--fs-body-sm);font-weight:700;margin-bottom:4px;}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.port-card{
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, border-color .3s ease;
  overflow:hidden;
}
.port-card:hover{border-color:var(--purple);background:var(--bg-alt);transform:translateY(-6px);box-shadow:var(--shadow-lift);}
.port-thumb{
  width:100%;height:140px;
  background-size:cover;background-position:center;
  position:relative;
  margin-bottom:18px;
  overflow:hidden;
  transition:transform .4s ease;
}
.port-card:hover .port-thumb{transform:scale(1.04);}
.port-thumb::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(150deg, rgba(74,42,130,0.44), rgba(24,16,44,0.48));
}
.port-card .sector{font-size:var(--fs-label);font-weight:700;color:var(--purple-dark);margin-bottom:14px;display:block;padding:0 24px;}
.port-card h3{font-size:var(--fs-h3);margin-bottom:8px;padding:0 24px;}
.port-card p{font-size:var(--fs-body-sm);margin-bottom:18px;padding:0 24px;}
.port-stage{font-size:var(--fs-label);color:var(--text-tertiary);border-top:1px solid var(--border);padding:12px 24px 16px;margin-top:0;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.port-visit{font-size:var(--fs-label);font-weight:700;color:var(--purple-dark);white-space:nowrap;transition:transform .2s ease;}
.port-visit:hover{transform:translateX(3px);}

/* INSIGHTS teaser (Blog + News preview on homepage): reuses .post-list/.post-row/.post-thumb */
.insights{padding:88px 0;background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}

/* CTA */
.cta-band{padding:60px 0;}
.cta-inner{
  position:relative;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-md);
}
.cta-inner-color{
  background:
    radial-gradient(120% 160% at 8% 0%, rgba(255,255,255,0.16), transparent 55%),
    linear-gradient(120deg, #241542 0%, var(--purple-dark) 45%, var(--purple) 100%);
}
html[data-theme="dark"] .cta-inner-color{
  background:
    radial-gradient(120% 160% at 8% 0%, rgba(255,255,255,0.08), transparent 55%),
    linear-gradient(120deg, #4a34ad 0%, var(--purple-dark) 55%, var(--purple) 100%);
}
.cta-content{
  position:relative;z-index:1;
  display:flex;justify-content:space-between;align-items:center;
  gap:30px;flex-wrap:wrap;
  padding:48px 44px;
}
.cta-content h2{color:#fff;font-size:var(--fs-h2);max-width:640px;}
.cta-inner-color .btn-primary{background:#fff;color:var(--purple-dark);border-color:#fff;box-shadow:0 8px 20px rgba(24,16,45,0.22);}
.cta-inner-color .btn-primary:hover{background:#fff;color:var(--purple-dark);opacity:.92;transform:translateY(-2px);}

/* TESTIMONIALS */
.testimonials{padding:88px 0;background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.testimonial-card{
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  padding:30px 28px;
  transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease;
}
.testimonial-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift);}
.testimonial-stars{display:flex;gap:3px;margin-bottom:16px;color:var(--purple);}
.testimonial-stars svg{width:16px;height:16px;fill:var(--purple);stroke:none;}
.testimonial-card p{font-size:var(--fs-body-sm);color:var(--text);margin-bottom:20px;}
.testimonial-name{font-weight:700;font-size:var(--fs-body-sm);color:var(--text);}
.testimonial-role{font-size:var(--fs-label);color:var(--text-tertiary);}
@media (max-width:900px){
  .testimonial-grid{grid-template-columns:1fr;}
}

/* CONTACT */
.contact{padding:88px 0;border-top:1px solid var(--border);overflow:hidden;}
.contact .container{position:relative;z-index:1;}
.contact-graphic{
  position:absolute;
  bottom:-110px;left:-90px;
  width:320px;height:320px;
  pointer-events:none;
  z-index:0;
  opacity:0.35;
}
.contact-graphic .orbit{stroke:var(--border-strong);fill:none;stroke-width:1;}
.contact-graphic .orbit-accent{stroke:var(--purple);fill:none;stroke-width:1;opacity:0.5;}
.contact-graphic circle.node{fill:var(--purple);}
@media (max-width:900px){
  .contact-graphic{display:none;}
}
.contact-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:60px;}
.contact-left-top .section-title{margin-bottom:16px;}
.contact-left-top p{color:var(--text-secondary);font-size:var(--fs-body-sm);max-width:360px;}
.offices{margin-top:36px;}
.office{
  padding:16px 0;
  border-top:1px solid var(--border);
  display:flex;justify-content:space-between;
}
.office:last-child{border-bottom:1px solid var(--border);}
.office h4{font-size:var(--fs-body-sm);font-weight:600;}
.office span{font-size:var(--fs-label);color:var(--text-tertiary);}
form{display:flex;flex-direction:column;gap:0;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.field{border-bottom:1px solid var(--border);padding:16px 0;}
label{
  display:block;
  font-size:var(--fs-label);font-weight:600;
  color:var(--text-tertiary);margin-bottom:8px;
}
input, textarea{
  width:100%;
  background:transparent;
  border:none;
  color:var(--text);
  font-family:'Roboto',Arial,sans-serif;
  font-size:var(--fs-body-sm);
  padding:0;
}
input:focus, textarea:focus{outline:none;}
textarea{resize:vertical;min-height:70px;}
::placeholder{color:var(--placeholder);}
.submit-btn{
  margin-top:28px;
  align-self:flex-start;
  padding:14px 32px;
  border:1px solid var(--purple);
  border-radius:var(--radius);
  background:var(--purple);
  color:#fff;
  font-family:'Roboto',Arial,sans-serif;
  font-weight:500;
  font-size:var(--fs-body-sm);
  cursor:pointer;
  transition:background .18s ease;
}
.submit-btn:hover{background:var(--purple-dark);}

/* BLOG / NEWS listing: rounded card blocks */
.post-list{display:flex;flex-direction:column;gap:16px;}
.post-row{
  display:grid;grid-template-columns:110px 1fr;
  gap:24px;
  padding:28px 28px 28px 24px;
  align-items:center;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:var(--bg);
  box-shadow:var(--shadow-sm);
  transition:transform .3s cubic-bezier(.16,1,.3,1), border-color .3s ease, box-shadow .3s ease, background .3s ease;
}
.post-row:hover{transform:translateY(-4px);border-color:var(--purple);box-shadow:var(--shadow-lift);background:var(--bg-alt);}
.post-row .post-date{font-size:var(--fs-label);color:var(--text-tertiary);}
.post-row .tag{font-size:var(--fs-label);font-weight:700;color:var(--purple-dark);margin-bottom:8px;display:block;}
.post-row h2{font-size:var(--fs-h3);margin-bottom:10px;}
.post-row p{font-size:var(--fs-body-sm);margin-bottom:12px;max-width:640px;}
.post-row a.read-more{font-size:var(--fs-body-sm);font-weight:600;color:var(--purple-dark);}

/* Single post / press release */
.post-body{padding:56px 0 96px;}
.post-body.no-band{padding-top:96px;}
.post-body .post-meta{font-size:var(--fs-label);color:var(--text-tertiary);margin-bottom:16px;}
.post-body .post-title{font-size:var(--fs-hero);max-width:760px;margin-bottom:24px;}
.post-body .post-content{max-width:720px;}
.post-body .post-content p{font-size:var(--fs-body);margin-bottom:20px;color:var(--text-secondary);}
.post-body .post-content h3{font-size:20px;margin:32px 0 14px;color:var(--text);}
.post-body .post-content blockquote{
  border-left:3px solid var(--purple);
  padding:4px 0 4px 20px;
  margin:28px 0;
  font-size:18px;
  color:var(--text);
  font-style:italic;
}
.back-link{display:inline-block;margin-bottom:28px;font-size:var(--fs-label);font-weight:600;color:var(--purple-dark);}

/* FOOTER */
footer{padding:56px 0 28px;border-top:1px solid var(--border);background:var(--bg-alt);}
.footer-logo{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:24px;}
.footer-logo-mark{width:52px;height:auto;}
.footer-logo-text{display:flex;flex-direction:column;line-height:1.2;}
.footer-logo-text .l1{font-weight:800;font-size:19px;letter-spacing:0.14em;color:var(--text);text-transform:uppercase;}
.footer-logo-text .l2{font-size:11px;letter-spacing:0.34em;color:var(--gold-dark);margin-top:4px;font-weight:700;text-transform:uppercase;}
.footer-social{display:flex;justify-content:center;gap:12px;margin-bottom:28px;}
.footer-social a{
  width:38px;height:38px;border-radius:var(--radius-pill);
  border:1px solid var(--border-strong);
  display:flex;align-items:center;justify-content:center;
  color:var(--text-secondary);
  transition:transform .22s cubic-bezier(.16,1,.3,1), background .22s ease, color .22s ease, border-color .22s ease;
}
.footer-social a svg{width:17px;height:17px;fill:currentColor;}
.footer-social a:hover{background:var(--purple);border-color:var(--purple);color:#fff;transform:translateY(-3px);}
.footer-links{display:flex;justify-content:center;gap:0;list-style:none;margin-bottom:32px;flex-wrap:wrap;}
.footer-links a{color:var(--text-secondary);font-size:var(--fs-label);font-weight:500;padding:0 16px;transition:color .18s;}
.footer-links a:hover{color:var(--purple-dark);}
.footer-bottom{
  display:flex;justify-content:center;flex-wrap:wrap;gap:12px;
  padding-top:24px;border-top:1px solid var(--border);
  font-size:var(--fs-tiny);color:var(--text-tertiary);
}

/* RESPONSIVE */
@media (max-width:1080px){
  .nav-links{display:none;}
  .nav-links.nav-open{
    display:flex;
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;
    background:var(--bg);
    border-bottom:1px solid var(--border);
    padding:20px 32px;
    gap:16px;
  }
  .menu-toggle{display:flex;}
}
@media (max-width:900px){
  .focus-grid{grid-template-columns:repeat(2,1fr);}
  .portfolio-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .offer-row{grid-template-columns:1fr;gap:10px;}
  .post-row{grid-template-columns:1fr;gap:12px;}
}
@media (max-width:560px){
  .focus-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .cta-content{flex-direction:column;align-items:flex-start;}
  .featured-content{padding:32px 24px;}
  .featured-content h3{font-size:24px;}
  .featured-meta{gap:22px;}
  .photo-band-content{padding:40px 24px;}
  .photo-band-lg .photo-band-content{padding:52px 24px;}
  .cta-content{padding:36px 28px;}
  .post-row{padding:22px 20px;}
  .stage-strip div{min-width:120px;padding:14px 20px;}
}

/* Small phones: tighten side padding, keep the top nav from crowding */
@media (max-width:480px){
  .container{padding:0 18px;}
  nav{padding:14px 18px;gap:10px;}
  .nav-actions{gap:8px;}
  .nav-actions .btn-outline.btn-sm{display:none;}
  .logo-text .l1{font-size:14px;}
  .logo-text .l2{font-size:10px;}
  .hero-stat{padding-right:18px;margin-right:18px;}
  .hero-stats{row-gap:16px;}
  .nav-links.nav-open .nav-cta-mobile{display:block;margin-top:4px;padding-top:16px;border-top:1px solid var(--border);}
  .nav-links.nav-open .nav-cta-mobile a{color:var(--purple-dark);font-weight:700;}
}

/* Touch devices: slightly larger tap targets on icon buttons */
@media (hover:none) and (pointer:coarse){
  .theme-toggle, .menu-toggle{width:40px;height:40px;}
  .back-to-top{width:48px;height:48px;bottom:calc(20px + env(safe-area-inset-bottom, 0px));right:20px;}
  .nav-links a{padding:6px 0;display:inline-block;}
}

/* ============================================
   INTERACTIVITY LAYER
   ============================================ */

/* Scroll progress bar: fixed thin gradient bar that fills as the page scrolls */
.scroll-progress{
  position:fixed;top:0;left:0;
  height:3px;width:0%;
  background:linear-gradient(90deg, var(--purple), var(--purple-dark));
  z-index:1000;
  transition:width .1s linear;
  pointer-events:none;
}

/* Header gains a touch more presence once the page has scrolled */
header.is-scrolled{box-shadow:0 4px 24px rgba(24,16,45,0.08);}
html[data-theme="dark"] header.is-scrolled{box-shadow:0 4px 24px rgba(0,0,0,0.5);}

/* Back-to-top button: hidden by default, fades/slides in once the user scrolls */
.back-to-top{
  position:fixed;right:24px;bottom:24px;
  width:46px;height:46px;
  border-radius:var(--radius-pill);
  background:var(--purple);color:#fff;
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 26px rgba(74,42,130,0.34);
  opacity:0;transform:translateY(14px) scale(.9);
  pointer-events:none;
  transition:opacity .25s ease, transform .3s cubic-bezier(.16,1,.3,1), background .2s ease;
  z-index:999;
}
.back-to-top.visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.back-to-top:hover{background:var(--purple-dark);transform:translateY(-3px) scale(1.04);}
.back-to-top svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

/* Cursor-reactive tilt: JS sets --rx/--ry per element on mousemove.
   Combined with each card's existing hover-lift transform below so the two effects compose
   instead of one CSS rule silently overriding the other. */
.tilt{--rx:0deg;--ry:0deg;}
.tilt.tilt-hover{transition:transform .12s ease-out, box-shadow .3s ease, border-color .3s ease;}
.tilt:not(.tilt-hover){transition:transform .5s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, border-color .3s ease, background .3s ease;}
.focus-cell.tilt:hover, .port-card.tilt:hover, .featured.tilt:hover{
  transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-6px);
}

/* Hero cursor-follow glow: JS sets --mx/--my (percent) on mousemove */
.hero{--mx:50%;--my:35%;}
.hero-glow{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(460px circle at var(--mx) var(--my), rgba(74,42,130,0.15), transparent 70%);
  opacity:0;transition:opacity .4s ease;
}
.hero:hover .hero-glow{opacity:1;}
html[data-theme="dark"] .hero-glow{background:radial-gradient(420px circle at var(--mx) var(--my), rgba(143,109,255,0.22), transparent 70%);}

/* Button press feedback */
.btn:active{transform:translateY(0) scale(.96);}

/* Animated underline sweep for inline text links (read-more, port-visit, back-link) */
.read-more, .port-visit, .back-link{position:relative;display:inline-block;}
.read-more::after, .port-visit::after, .back-link::after{
  content:"";position:absolute;left:0;bottom:-2px;
  width:100%;height:1px;
  background:var(--purple-dark);
  transform:scaleX(0);transform-origin:left;
  transition:transform .3s cubic-bezier(.16,1,.3,1);
}
.read-more:hover::after, .port-visit:hover::after, .back-link:hover::after{transform:scaleX(1);}

/* Nav link active-on-scroll underline (scrollspy) */
.nav-links a{position:relative;}
.nav-links a::after{
  content:"";position:absolute;left:0;right:0;bottom:-6px;
  height:2px;background:var(--purple);
  transform:scaleX(0);transform-origin:center;
  transition:transform .25s cubic-bezier(.16,1,.3,1);
}
.nav-links a:hover::after, .nav-links a.active::after{transform:scaleX(1);}

@media (prefers-reduced-motion: reduce){
  .back-to-top, .scroll-progress, .hero-glow{transition:none !important;}
  .tilt{transform:none !important;}
}
@media (hover:none){
  .tilt{transform:none !important;}
}

/* ============================================
   V2 — royal + gold additions
   ============================================ */

/* Hero phoenix watermark */
.hero-phoenix{
  position:absolute;top:-24px;right:1%;
  width:min(540px,47vw);height:auto;
  opacity:0.11;
  pointer-events:none;z-index:0;
  animation:phoenix-float 9s ease-in-out infinite;
}
@keyframes phoenix-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
@media (max-width:760px){.hero-phoenix{width:78vw;opacity:0.07;top:auto;bottom:-6%;right:-12%;}}

/* Gradient accent word */
.accent-grad{
  background:linear-gradient(100deg,var(--purple) 10%, #7a58bd 90%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
/* Thin gold intro rule */
.gold-rule{width:46px;height:2px;background:linear-gradient(90deg,var(--gold),transparent);border-radius:2px;margin:0 0 22px;}

/* BEYOND CAPITAL — value grid */
.value{padding:92px 0;position:relative;overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-alt);}
.value::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(58% 48% at 88% -4%, rgba(74,42,130,0.07), transparent 60%),
    radial-gradient(46% 40% at -4% 104%, rgba(201,162,75,0.07), transparent 60%);
}
.value .container{position:relative;z-index:1;}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.value-card{
  position:relative;padding:34px 28px 30px;
  border:1px solid var(--border);border-radius:var(--radius);
  background:var(--bg);box-shadow:var(--shadow-sm);overflow:hidden;
  transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, border-color .3s ease;
}
.value-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--purple),var(--gold));
  transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.16,1,.3,1);
}
.value-card:hover{transform:translateY(-6px);border-color:var(--purple);box-shadow:var(--shadow-lift);}
.value-card:hover::before{transform:scaleX(1);}
.value-icon{
  width:48px;height:48px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:var(--purple-tint);margin-bottom:20px;
}
.value-icon svg{width:23px;height:23px;stroke:var(--purple);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.value-card .vnum{position:absolute;top:30px;right:28px;font-size:12px;font-weight:800;color:var(--gold-dark);letter-spacing:.06em;opacity:.75;}
.value-card h3{font-size:var(--fs-h3);margin-bottom:10px;}
.value-card p{font-size:var(--fs-body-sm);color:var(--text-secondary);}
@media (min-width:901px) and (max-width:1120px){.value-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:900px){.value-grid{grid-template-columns:1fr;}}

/* Focus cell: gold label accent */
.focus-cell .fc-label{color:var(--purple-dark);position:relative;padding-left:16px;}
.focus-cell .fc-label::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:2px;background:var(--gold);}

/* Featured tag: royal+gold pill */
.featured-tag{background:var(--gold-tint);color:var(--gold-dark);}

/* Stat numbers: subtle gold underline accent */
.hero-stat .num{position:relative;}


/* ============================================
   V3 — standardized additions
   ============================================ */
.lead{font-size:var(--fs-lead);color:var(--text-secondary);line-height:1.6;}

/* Hero: "partnering with" logo strip */
.hero-logos{margin-top:46px;padding-top:26px;border-top:1px solid var(--border);max-width:760px;}
.hero-logos .hl-label{font-size:var(--fs-label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:18px;}
.hl-row{display:flex;align-items:center;gap:38px;flex-wrap:wrap;}
.hl-mark{font-weight:800;font-size:19px;letter-spacing:.01em;color:var(--text-tertiary);opacity:.75;transition:opacity .2s ease,color .2s ease;white-space:nowrap;}
.hl-mark:hover{opacity:1;color:var(--purple-dark);}
.hl-item{display:flex;align-items:center;gap:8px;opacity:.7;transition:opacity .2s ease;}
.hl-item:hover{opacity:1;}
.hl-item img{display:block;width:auto;}
.hl-item .hl-word{font-weight:700;font-size:19px;letter-spacing:-.01em;color:var(--purple-dark);white-space:nowrap;}
.hl-glean{height:26px;}
.hl-ziro{height:32px;}
@media(max-width:640px){.hl-row{gap:22px 26px;}.hl-mark{font-size:16px;}.hl-item .hl-word{font-size:16px;}.hl-glean{height:21px;}.hl-ziro{height:26px;}}

/* Investment Thesis */
.thesis{padding:96px 0;position:relative;overflow:hidden;}
.thesis-statement{font-size:clamp(24px,2.6vw,32px);font-weight:700;line-height:1.4;color:var(--text);max-width:920px;margin-bottom:22px;}
.thesis-statement .hl{color:var(--purple);}
.thesis-body{font-size:var(--fs-lead);color:var(--text-secondary);max-width:780px;margin-bottom:44px;}
.thesis-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;border-top:1px solid var(--border);padding-top:36px;}
.thesis-pillar .tp-label{font-size:var(--fs-label);font-weight:700;color:var(--gold-dark);letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px;}
.thesis-pillar h4{font-size:var(--fs-h3);margin-bottom:8px;}
.thesis-pillar p{font-size:var(--fs-body-sm);color:var(--text-secondary);}
@media(max-width:820px){.thesis-pillars{grid-template-columns:1fr;gap:22px;}}

/* HOW WE HELP — grouped columns */
.help-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.help-col{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:28px 26px 20px;box-shadow:var(--shadow-sm);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease;}
.help-col:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.hc-head{display:flex;align-items:center;gap:11px;margin-bottom:8px;padding-bottom:16px;border-bottom:1px solid var(--border);}
.hc-head .bar{width:22px;height:2px;background:var(--gold);border-radius:2px;display:inline-block;}
.hc-head h3{font-size:var(--fs-h3);}
.help-item{display:flex;gap:14px;padding:16px 0;}
.help-item + .help-item{border-top:1px solid var(--border);}
.hi-icon{width:38px;height:38px;border-radius:11px;background:var(--purple-tint);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.hi-icon svg{width:19px;height:19px;stroke:var(--purple);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.help-item h4{font-size:15.5px;font-weight:700;margin-bottom:3px;color:var(--text);}
.help-item p{font-size:var(--fs-body-sm);color:var(--text-secondary);line-height:1.5;}
@media(max-width:960px){.help-cols{grid-template-columns:1fr;}}

/* FOR FOUNDERS — FAQ */
.founders{padding:92px 0;border-top:1px solid var(--border);background:var(--bg-alt);}
.faq{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;margin-top:8px;}
.faq-item{border-top:1px solid var(--border);padding:24px 0;}
.faq-item:nth-child(1),.faq-item:nth-child(2){border-top:none;}
.faq-item h4{font-size:var(--fs-h3);margin-bottom:9px;color:var(--text);}
.faq-item p{font-size:var(--fs-body-sm);color:var(--text-secondary);}
@media(max-width:820px){.faq{grid-template-columns:1fr;gap:0;}.faq-item:nth-child(2){border-top:1px solid var(--border);}}

/* Portfolio: sector tag gold dot already; wordmark logo strip reuse */

/* ============================================
   V4 — portfolio logo-forward cards
   ============================================ */
.featured-logo{grid-template-columns:0.82fr 1.18fr;}
.fl-brand{display:flex;align-items:center;justify-content:center;padding:48px 40px;min-height:100%;background:linear-gradient(140deg,#ffffff,#f1edf8);border-right:1px solid var(--border);}
.fl-logo{width:82%;max-width:320px;height:auto;display:block;}
.fl-content{padding:44px 40px;}
.brand-wordmark{font-weight:800;letter-spacing:.01em;color:#fff;font-size:clamp(30px,3.2vw,42px);line-height:1.1;text-align:center;}
.brand-wordmark .bw-accent{color:var(--gold);}
.fl-content .featured-tag{display:inline-block;margin-bottom:18px;}
.fl-content .sector{display:block;font-size:var(--fs-label);color:var(--text-tertiary);margin-bottom:10px;font-weight:600;}
.fl-content h3{font-size:28px;margin-bottom:14px;color:var(--text);}
.fl-content p{font-size:var(--fs-body);margin-bottom:24px;color:var(--text-secondary);max-width:640px;}
.fl-content .featured-meta{display:flex;gap:36px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:20px;}
.fl-content .featured-meta div{font-size:var(--fs-label);color:var(--text-tertiary);}
.fl-content .featured-meta strong{display:block;color:var(--text);font-size:var(--fs-body-sm);font-weight:700;margin-bottom:4px;}
@media(max-width:760px){.featured-logo{grid-template-columns:1fr;}.fl-brand{padding:44px 24px;min-height:150px;}}

.port-logo{height:132px;display:flex;align-items:center;justify-content:center;background:var(--bg-alt);border-bottom:1px solid var(--border);margin-bottom:18px;transition:background .3s ease;}
.port-card:hover .port-logo{background:var(--purple-tint);}
.pw{font-weight:800;font-size:25px;letter-spacing:.01em;color:var(--purple-dark);}
.blogo{display:flex;align-items:center;justify-content:center;gap:11px;}
.blogo-mark{width:auto;display:block;}
.blogo-word{font-weight:700;font-size:27px;letter-spacing:-.01em;color:var(--purple-dark);line-height:1;}

/* anchor offset under sticky header */
section[id]{scroll-margin-top:86px;}
