/* ============================================
   marvelous.css — Globales Design-System
   Identisch mit dem Original-Design
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,300&display=swap');

:root {
  --ink:       #0D0F0E;
  --paper:     #FFFFFF;
  --lime:      #D8EE5A;
  --lime-dark: #B8CC3A;
  --purple:    #6B4FBB;
  --muted:     #7A7A72;
  --border:    rgba(13,15,14,0.1);
  --card-bg:   #FFFFFF;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { font-family: 'DM Sans', sans-serif; background: var(--paper); color: var(--ink); overflow-x: hidden; }

/* ─── NAV ─── */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  padding: 0 48px; height: 72px;
  display: flex; align-items: center; justify-content: space-between;
  background: rgba(255,255,255,0.94);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border);
}
.nav-logo {
  font-family: 'DM Serif Display', serif;
  font-size: 22px; letter-spacing: -0.01em;
  color: var(--ink); text-decoration: none;
  flex-shrink: 0; z-index: 201;
  display: flex; align-items: center;
}
.nav-links { display: flex; gap: 36px; list-style: none; }
.nav-links a { font-size: 15px; font-weight: 400; letter-spacing: -0.01em; color: rgba(13,15,14,0.55); text-decoration: none; transition: color 0.2s; }
.nav-links a:hover, .nav-links a.active { color: var(--ink); }
.nav-right { display: flex; align-items: center; gap: 20px; }
.nav-cta {
  font-size: 14px; font-weight: 500; padding: 10px 22px;
  background: var(--lime); color: var(--ink); border-radius: 4px;
  text-decoration: none; transition: background 0.2s; white-space: nowrap;
}
.nav-cta:hover { background: var(--lime-dark); }

/* Dropdown */
.nav-dropdown { position: relative; }
.nav-dropdown-menu {
  display: none; position: absolute; top: 100%; left: 50%;
  transform: translateX(-50%);
  background: white; border: 1px solid var(--border);
  border-radius: 8px; padding: 8px; min-width: 160px;
  box-shadow: 0 8px 24px rgba(0,0,0,.08); margin-top: 8px; z-index: 300;
}
.nav-dropdown:hover .nav-dropdown-menu { display: block; }
.nav-dropdown-menu::before {
  content: ''; position: absolute; top: -5px; left: 50%;
  width: 10px; height: 10px; background: white;
  border-left: 1px solid var(--border); border-top: 1px solid var(--border);
  transform: translateX(-50%) rotate(45deg);
}
.nav-dropdown-menu a {
  display: block; padding: 8px 12px; font-size: 13px;
  color: var(--muted); text-decoration: none; border-radius: 4px;
  white-space: nowrap; transition: background .15s, color .15s;
}
.nav-dropdown-menu a:hover { background: #F5F5F3; color: var(--ink); }
.nav-dropdown-menu a.active { color: var(--ink); font-weight: 500; }

/* Hamburger */
.hamburger {
  display: none; flex-direction: column; justify-content: center; gap: 5px;
  width: 32px; height: 32px; cursor: pointer;
  background: none; border: none; padding: 4px; z-index: 201;
}
.hamburger span {
  display: block; width: 22px; height: 1.5px;
  background: var(--ink); border-radius: 2px;
  transition: transform 0.3s, opacity 0.3s; transform-origin: center;
}
.hamburger.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* Mobile Drawer */
.mobile-menu {
  display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
  background: white; z-index: 199;
  padding: 100px 32px 48px;
  flex-direction: column; justify-content: space-between;
  transform: translateY(-100%);
  transition: transform 0.35s cubic-bezier(0.4,0,0.2,1);
}
.mobile-menu.open { transform: translateY(0); }
.mobile-nav-links { list-style: none; display: flex; flex-direction: column; gap: 0; }
.mobile-nav-links li { border-bottom: 1px solid var(--border); }
.mobile-nav-links a {
  display: block; padding: 20px 0;
  font-family: 'DM Serif Display', serif;
  font-size: 28px; font-weight: 400; letter-spacing: -0.01em;
  color: var(--ink); text-decoration: none; transition: color 0.2s;
}
.mobile-nav-links a:hover, .mobile-nav-links a.active { color: var(--muted); }
.mobile-menu-footer { display: flex; flex-direction: column; gap: 12px; }
.mobile-cta {
  display: block; text-align: center; padding: 16px;
  background: var(--lime); color: var(--ink); border-radius: 6px;
  font-size: 15px; font-weight: 500; text-decoration: none;
  transition: background 0.2s;
}
.mobile-cta:hover { background: var(--lime-dark); }
.mobile-copy { font-size: 12px; color: var(--muted); text-align: center; }

/* ─── CONTENT ─── */
section.content {
  max-width: 1200px; margin: 0 auto; padding: 80px 40px;
}
/* Auto-divider between consecutive sections — no manual <hr> needed */
section.content + section.content {
  border-top: 1px solid var(--border);
}
/* Don't double-up when an explicit <hr class="divider"> is already there */
hr.divider + section.content {
  border-top: none;
}
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 11px; font-weight: 500; text-transform: uppercase;
  letter-spacing: 0.12em; color: var(--muted); margin-bottom: 28px;
}
.eyebrow::before, .section-label::before {
  content: ''; display: inline-block; width: 20px; height: 1px; background: var(--muted);
}
.section-label {
  font-size: 11px; font-weight: 500; text-transform: uppercase;
  letter-spacing: 0.12em; color: var(--muted); margin-bottom: 32px;
  display: flex; align-items: center; gap: 8px;
}
hr.divider { border: none; border-top: 1px solid var(--border); max-width: 1200px; margin: 0 auto; }

/* Typography */
h1, h2, h3 { font-family: 'DM Serif Display', serif; }
h1 { font-size: clamp(40px,5.5vw,72px); line-height: 1.05; font-weight: 400; letter-spacing: -0.02em; }
h2 { font-size: clamp(28px,4vw,48px); line-height: 1.1; font-weight: 400; letter-spacing: -0.02em; }
h3 { font-size: clamp(20px,2.5vw,28px); font-weight: 400; }
em { font-style: italic; }
p { line-height: 1.7; }

/* Breadcrumb */
.breadcrumb {
  display: none;
}
/* Breadcrumbs inside page-hero-wrap stay visible */
.page-hero-wrap .breadcrumb { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--muted); margin-bottom: 24px; }
.breadcrumb a { color: var(--muted); text-decoration: none; }
.sep { opacity: 0.4; }

/* Buttons */
.btn-primary {
  padding: 13px 24px; background: var(--lime); color: var(--ink);
  border-radius: 5px; font-size: 14px; font-weight: 500;
  text-decoration: none; transition: background 0.2s, transform 0.15s;
  white-space: nowrap; display: inline-block;
}
.btn-primary:hover { background: var(--lime-dark); transform: translateY(-1px); }
.btn-ghost {
  padding: 13px 24px; border: 1px solid var(--border); color: var(--ink);
  border-radius: 5px; font-size: 14px; font-weight: 400;
  text-decoration: none; background: transparent;
  transition: border-color 0.2s; white-space: nowrap; display: inline-block;
}
.btn-ghost:hover { border-color: var(--ink); }

/* Cards */
.card-grid { display: grid; gap: 16px; }
.card-grid-2 { grid-template-columns: repeat(2, 1fr); }
.card-grid-3 { grid-template-columns: repeat(3, 1fr); }
.card-grid-4 { grid-template-columns: repeat(4, 1fr); }
.card {
  background: var(--card-bg); border: 1px solid var(--border);
  border-radius: 12px; overflow: hidden;
  transition: transform 0.25s, border-color 0.25s;
}
.card:hover { transform: translateY(-4px); border-color: rgba(13,15,14,0.2); }
.card-body { padding: 28px; }
.card-dark { background: var(--ink); border-color: transparent; color: white; }

/* Stats / Numbers */
.stat-block { display: flex; flex-direction: column; gap: 4px; }
.stat-number {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(40px,6vw,72px); font-weight: 400; letter-spacing: -0.03em;
}
.stat-label { font-size: 14px; color: var(--muted); }

/* ─── FOOTER (4 columns, modern grey) ─── */
.site-footer {
  background: #F5F5F3;
  border-top: 1px solid var(--border);
  margin-top: 80px;
  padding: 72px 40px 32px;
}
.footer-inner { max-width: 1200px; margin: 0 auto; }
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.4fr;
  gap: 48px;
  padding-bottom: 56px;
  border-bottom: 1px solid rgba(13,15,14,.08);
}
.footer-col { min-width: 0; }
.footer-col-brand { max-width: 280px; }
.footer-logo {
  font-family: 'DM Serif Display', serif;
  font-size: 26px;
  color: var(--ink);
  margin-bottom: 12px;
  letter-spacing: -0.01em;
}
.footer-tagline {
  font-size: 13px;
  color: #8A8A82;
  line-height: 1.6;
  margin: 0;
}
.footer-heading {
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #6A6A62;
  margin: 0 0 18px 0;
}
.footer-list { list-style: none; display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; }
.footer-list li { margin: 0; padding: 0; }
.footer-list a {
  font-size: 13.5px;
  color: #4A4A44;
  text-decoration: none;
  transition: color .15s;
  display: inline-block;
}
.footer-list a:hover { color: var(--ink); }

.footer-newsletter-text {
  font-size: 13px;
  color: #6A6A62;
  line-height: 1.6;
  margin: 0 0 16px 0;
}
.footer-newsletter {
  display: flex;
  gap: 0;
  background: white;
  border: 1px solid rgba(13,15,14,.1);
  border-radius: 8px;
  overflow: hidden;
  max-width: 320px;
  transition: border-color .15s;
}
.footer-newsletter:focus-within { border-color: var(--ink); }
.footer-newsletter input {
  flex: 1;
  padding: 11px 14px;
  border: none;
  background: transparent;
  font-size: 13px;
  color: var(--ink);
  font-family: inherit;
  outline: none;
  min-width: 0;
}
.footer-newsletter input::placeholder { color: #9A9A92; }
.footer-newsletter button {
  padding: 0 18px;
  background: var(--ink);
  color: white;
  border: none;
  cursor: pointer;
  font-size: 16px;
  transition: background .15s;
  flex-shrink: 0;
}
.footer-newsletter button:hover { background: #2A2C2B; }

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 28px;
  flex-wrap: wrap;
  gap: 16px;
}
.footer-legal-links {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
}
.footer-legal-links a {
  color: #6A6A62;
  text-decoration: none;
  transition: color .15s;
}
.footer-legal-links a:hover { color: var(--ink); }
.footer-dot { color: #C8C8C0; }
.footer-copy {
  font-size: 12px;
  color: #8A8A82;
}

@media (max-width: 900px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px 32px; }
  .footer-col-brand { grid-column: 1 / -1; max-width: 100%; }
  .site-footer { padding: 56px 24px 28px; }
}
@media (max-width: 560px) {
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 12px; }
}

/* ─── ANIMATIONS ─── */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
.fade-up { opacity: 0; transform: translateY(24px); animation: fadeUp 0.8s ease forwards; }

/* ─── RESPONSIVE ─── */
@media (max-width: 768px) {
  nav { padding: 0 20px; }
  .nav-links { display: none; }
  .nav-cta { display: none; }
  .hamburger { display: flex; }
  .mobile-menu { display: flex; }
  section.content { padding: 48px 20px; }
  .card-grid-2, .card-grid-3, .card-grid-4 { grid-template-columns: 1fr; }
  /* Footer mobile styles handled in .site-footer @media block above */
}
@media (max-width: 1024px) {
  .card-grid-4 { grid-template-columns: repeat(2,1fr); }
  .card-grid-3 { grid-template-columns: repeat(2,1fr); }
}

/* ─── HOMEPAGE SECTIONS ─── */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0;max-width:1200px;margin:0 auto;padding:72px 40px 60px}
.hero-left{opacity:0;transform:translateY(30px);animation:fadeUp .9s ease forwards .2s;padding-right:40px}
.hero-desc{font-size:17px;line-height:1.65;color:var(--muted);max-width:400px;margin-bottom:36px}
.hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.hero-right{display:flex;justify-content:center;align-items:center;opacity:0;animation:fadeIn 1.2s ease forwards .4s}
@keyframes svfwSpinOuter{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes svfwSpinInner{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}
@keyframes svfwCounterOuter{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}
@keyframes svfwCounterInner{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes svfwRingPulse{0%,100%{opacity:.2}50%{opacity:.45}}
.section-header{margin-bottom:48px}
.section-header h2{font-family:'DM Serif Display',serif;font-size:clamp(28px,4vw,48px);font-weight:400;letter-spacing:-.02em;margin-bottom:16px;line-height:1.1}
.section-header h2 em{font-style:italic;color:var(--muted)}
.section-header p{font-size:17px;color:var(--muted);max-width:560px}
.section-header.center h2{text-align:center !important}
.section-header.center p{margin:0 auto !important;text-align:center !important}
.section-header.center .eyebrow{justify-content:center}

.platform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.p-card{padding:40px;border-radius:16px;cursor:pointer;transition:transform .25s;position:relative;overflow:hidden;min-height:280px;display:flex;flex-direction:column;gap:16px}
.p-card:hover{transform:translateY(-4px)}
.card-black{background:var(--ink);color:white}.card-black h3{color:white}.card-black p{color:rgba(255,255,255,.6)}
.card-yellow{background:var(--lime)}.card-yellow h3,.card-yellow p{color:var(--ink)}
.card-purple{background:var(--purple);color:white}.card-purple h3{color:white}.card-purple p{color:rgba(255,255,255,.7)}
.p-card-tag{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;opacity:.6}
.p-card h3{font-family:'DM Serif Display',serif;font-size:28px;font-weight:400}
.p-card p{font-size:15px;line-height:1.6}
.p-card-accent{position:absolute;bottom:-30px;right:-30px;width:120px;height:120px;border-radius:50%;opacity:.08;background:currentColor}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.step{padding:32px 0}
.step-num{font-family:'DM Serif Display',serif;font-size:40px;color:rgba(13,15,14,.15);margin-bottom:16px}
.step h4{font-size:16px;font-weight:500;margin-bottom:8px}
.step p{font-size:14px;color:var(--muted);line-height:1.6}

.capital-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.cap-card{padding:40px;border:1px solid var(--border);border-radius:16px;background:var(--card-bg)}
.cap-tag{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:16px}
.cap-card h3{font-family:'DM Serif Display',serif;font-size:28px;font-weight:400;margin-bottom:16px}
.cap-card p{color:var(--muted);line-height:1.65;margin-bottom:24px}
.cap-pills{display:flex;flex-wrap:wrap;gap:8px}
.cap-pill{padding:4px 12px;border:1px solid var(--border);border-radius:100px;font-size:12px;color:var(--muted)}

.aud-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.aud-card{padding:40px 32px;border:1px solid var(--border);border-radius:16px;transition:transform .25s,background .3s}
.aud-card:hover{transform:translateY(-3px);background:var(--ink)}
.aud-card:hover h3,.aud-card:hover p{color:white}
.aud-icon{font-size:28px;margin-bottom:16px}
.aud-card h3{font-family:'DM Serif Display',serif;font-size:22px;font-weight:400;margin-bottom:8px}
.aud-card p{font-size:14px;color:var(--muted);line-height:1.6}

.cta-band{background:var(--ink);padding:100px 40px;text-align:center;color:white}
.cta-band h2{font-family:'DM Serif Display',serif;font-size:clamp(32px,5vw,64px);font-weight:400;letter-spacing:-.02em;margin-bottom:20px;color:white;line-height:1.1}
.cta-band h2 em{color:var(--lime)}
.cta-band p{font-size:18px;color:rgba(255,255,255,.6);margin-bottom:36px}
.cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

@media(max-width:768px){
  .hero{grid-template-columns:1fr;min-height:auto;padding:100px 20px 60px}
  .hero-left{padding-right:0}
  .hero-right{display:none}
  .platform-grid,.steps,.capital-grid,.aud-grid{grid-template-columns:1fr}
  .cta-band{padding:60px 20px}
}
@media(max-width:1024px){
  .platform-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
}



/* ─── PLATFORM PAGE ─── */
.hero-visual{background:var(--ink);border-radius:16px;padding:48px;position:relative;overflow:hidden;min-height:340px;display:flex;flex-direction:column;justify-content:flex-end;opacity:0;animation:fadeIn 1s ease forwards .3s;width:100%;box-sizing:border-box}
.hero-visual-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.35);margin-bottom:40px}
.hero-blob{position:absolute;top:-40px;right:-40px;width:200px;height:200px;background:var(--lime);border-radius:50%;opacity:.1}
.hero-blob2{position:absolute;bottom:-60px;left:-20px;width:160px;height:160px;background:var(--purple);border-radius:50%;opacity:.12}
.product-pills{display:flex;flex-direction:column;gap:12px}
.product-pill{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-radius:8px;font-size:14px;font-weight:500;text-decoration:none;transition:transform .2s}
.product-pill:hover{transform:translateX(4px)}
.pill-black{background:var(--ink);color:white}
.pill-white{background:white;color:var(--ink)}
.pill-yellow{background:var(--lime);color:var(--ink)}
.pill-purple{background:var(--purple);color:white}
.pill-arrow{opacity:.6;font-size:16px}
.page-hero{max-width:1200px;margin:0 auto;padding:0 0 100px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.page-hero-wrap{max-width:1200px;margin:0 auto;padding:84px 40px 0;}
.page-hero-wrap .breadcrumb{padding:0;max-width:none;margin-bottom:24px;}
.page-hero-wrap .page-hero{max-width:none;margin:0;padding:0 0 100px;}

.hero-badge{display:inline-flex;align-items:center;gap:10px;margin-bottom:24px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.hero-badge::before{content:'';width:20px;height:1px;background:var(--muted);display:inline-block}
.page-hero h1{font-family:'DM Serif Display',serif;font-size:clamp(40px,5vw,64px);font-weight:400;letter-spacing:-.02em;line-height:1.05;margin-bottom:24px}
.page-hero h1 em{font-style:italic;color:var(--muted)}
.page-hero p{font-size:17px;color:var(--muted);line-height:1.65;max-width:440px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.col-text h3{font-family:'DM Serif Display',serif;font-size:32px;font-weight:400;letter-spacing:-.02em;margin-bottom:16px}
.col-text h3 em{font-style:italic;color:var(--muted)}
.col-text p{font-size:15px;color:var(--muted);line-height:1.7;margin-bottom:12px}
.col-card{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;padding:40px;min-height:280px;display:flex;flex-direction:column;justify-content:center;gap:20px}
.col-card-tag{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.col-card h4{font-family:'DM Serif Display',serif;font-size:24px;font-weight:400;margin-bottom:8px}
.col-card p{font-size:14px;color:var(--muted);line-height:1.6}
.feature-list{list-style:none;display:flex;flex-direction:column;gap:0}
.feature-item{padding:20px 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:28px 1fr;gap:16px;align-items:start}
.feature-item:first-child{border-top:1px solid var(--border)}
.feature-num{font-size:12px;color:var(--muted);padding-top:2px}
.feature-text h4{font-size:15px;font-weight:500;margin-bottom:4px}
.feature-text p{font-size:14px;color:var(--muted);line-height:1.6}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.v-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:32px;transition:transform .25s,border-color .25s}
.v-card:hover{transform:translateY(-3px);border-color:rgba(13,15,14,.2)}
.v-card-icon{font-size:24px;margin-bottom:20px}
.v-card h4{font-family:'DM Serif Display',serif;font-size:20px;font-weight:400;margin-bottom:8px}
.v-card p{font-size:14px;color:var(--muted);line-height:1.65}
@media(max-width:900px){
  .page-hero,.two-col{grid-template-columns:1fr;gap:40px;padding:40px 24px 80px}
  .value-grid{grid-template-columns:1fr}
}

/* ─── TWO-COL VISUAL (stats variant) ─── */
.col-visual { background:var(--card-bg); border:1px solid var(--border); border-radius:14px; padding:40px; min-height:280px; display:flex; flex-direction:column; justify-content:center; gap:4px; }
.stat-row { display:flex; align-items:baseline; gap:10px; margin-bottom:2px; }
.stat-num { font-family:'DM Serif Display',serif; font-size:clamp(40px,5vw,64px); font-weight:400; letter-spacing:-0.03em; line-height:1; color:var(--ink); }
.stat-unit { font-size:15px; color:var(--muted); }
.stat-label { font-size:13px; color:var(--muted); margin-bottom:20px; }

/* ─── CAPITAL PAGE ─── */
.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%}
.h-stat-num{font-family:'DM Serif Display',serif;font-size:clamp(28px,3.5vw,44px);font-weight:400;letter-spacing:-.03em;line-height:1;color:var(--ink)}
.h-stat-label{font-size:12px;color:rgba(13,15,14,.5);margin-top:4px}
.fund-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fund-card{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;padding:48px;position:relative;overflow:hidden;transition:transform .25s,border-color .25s}
.fund-card:hover{transform:translateY(-4px);border-color:rgba(13,15,14,.2)}
.fund-card.primary{background:var(--lime);border-color:var(--lime-dark)}
.fund-tag{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:40px}
.fund-card.primary .fund-tag{color:rgba(13,15,14,.45)}
.fund-card h3{font-family:'DM Serif Display',serif;font-size:32px;font-weight:400;letter-spacing:-.01em;margin-bottom:14px}
.fund-card p{font-size:14px;color:var(--muted);line-height:1.65;margin-bottom:28px}
.fund-card.primary p{color:rgba(13,15,14,.55)}
.fund-pills{display:flex;flex-wrap:wrap;gap:8px}
.fund-pill{font-size:11px;font-weight:500;padding:5px 12px;border-radius:100px;border:1px solid rgba(13,15,14,.15);color:var(--muted)}
.fund-card.primary .fund-pill{border-color:rgba(13,15,14,.2);color:rgba(13,15,14,.6)}
.fund-blob{position:absolute;bottom:-30px;right:-30px;width:120px;height:120px;background:var(--ink);border-radius:50%;opacity:.05}
.fund-card.primary .fund-blob{background:var(--lime-dark);opacity:.3}
.thesis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.thesis-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:32px;transition:transform .25s,border-color .25s}
.thesis-card:hover{transform:translateY(-3px);border-color:rgba(13,15,14,.2)}
.thesis-num{font-family:'DM Serif Display',serif;font-size:40px;color:rgba(13,15,14,.08);line-height:1;margin-bottom:16px}
.thesis-card h4{font-size:15px;font-weight:500;margin-bottom:8px}
.thesis-card p{font-size:13px;color:var(--muted);line-height:1.65}
.process-list{list-style:none}
.process-item{display:grid;grid-template-columns:200px 1fr;gap:48px;padding:32px 0;border-bottom:1px solid var(--border);align-items:start}
.process-item:first-child{border-top:1px solid var(--border)}
.process-item:last-child{border-bottom:none}
.process-label{font-size:13px;font-weight:500;padding-top:2px}
.process-body h4{font-size:16px;font-weight:500;margin-bottom:8px}
.process-body p{font-size:14px;color:var(--muted);line-height:1.65}
.btn-yellow{display:inline-block;padding:14px 26px;background:var(--lime);color:var(--ink);border-radius:5px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s,transform .15s}
.btn-yellow:hover{background:var(--lime-dark);transform:translateY(-1px)}
@media(max-width:900px){
  .fund-grid,.thesis-grid{grid-template-columns:1fr}
  .process-item{grid-template-columns:1fr;gap:8px}
}

.hero-visual-lime { background:var(--lime) !important; }
.hero-visual-lime .hero-visual-label { color:rgba(13,15,14,.45) !important; }
.hero-visual-lime .h-stat-num { color:var(--ink) !important; }
.hero-visual-lime .h-stat-label { color:rgba(13,15,14,.5) !important; }
.hero-blob-lime { position:absolute; top:-40px; right:-40px; width:200px; height:200px; background:var(--lime-dark); border-radius:50%; opacity:.4; }

/* ─── CATALYST PAGE ─── */
.audience-cards{display:flex;flex-direction:column;gap:12px}
.aud-row{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:14px 18px;transition:background .2s}
.aud-row:hover{background:rgba(255,255,255,.18)}
.aud-row-title{font-size:14px;font-weight:500;color:white}
.aud-row-sub{font-size:12px;color:rgba(255,255,255,.45)}
.aud-arrow{color:rgba(255,255,255,.4);font-size:16px}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.svc-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:40px;position:relative;overflow:hidden;transition:transform .25s,border-color .25s}
.svc-card:hover{transform:translateY(-4px);border-color:rgba(13,15,14,.2)}
.svc-card.purple-card,.svc-card.svc-purple{background:var(--purple);border-color:var(--purple)}
.svc-card.svc-black{background:var(--ink);border-color:var(--ink)}
.svc-card.svc-lime{background:var(--lime);border-color:var(--lime)}
.svc-card.svc-sand{background:#F5F0E8;border-color:#E8E0D0}
.svc-icon{font-size:28px;margin-bottom:24px}
.svc-card h4{font-family:'DM Serif Display',serif;font-size:22px;font-weight:400;margin-bottom:10px}
.svc-card p{font-size:14px;color:var(--muted);line-height:1.65}
.svc-card.purple-card h4,.svc-card.svc-purple h4{color:white}
.svc-card.purple-card p,.svc-card.svc-purple p{color:rgba(255,255,255,.5)}
.svc-card.svc-black h4{color:white}
.svc-card.svc-black p{color:rgba(255,255,255,.45)}
.svc-card.svc-lime h4{color:var(--ink)}
.svc-card.svc-lime p{color:rgba(13,15,14,.6)}
.svc-card.svc-sand h4{color:var(--ink)}
.svc-card.svc-sand p{color:var(--muted)}
.svc-blob{position:absolute;bottom:-20px;right:-20px;width:80px;height:80px;border-radius:50%;background:var(--lime);opacity:.15}
.svc-card.svc-black .svc-blob{background:var(--lime);opacity:.2}
.highlight-box{background:var(--ink);border-radius:14px;padding:56px;display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center}
.highlight-box blockquote{font-family:'DM Serif Display',serif;font-size:clamp(22px,3vw,32px);font-weight:400;color:white;letter-spacing:-.01em;line-height:1.3;font-style:italic}
.highlight-aside{text-align:right}
.highlight-aside .h-num{font-family:'DM Serif Display',serif;font-size:56px;color:var(--lime);line-height:1}
.highlight-aside .h-label{font-size:12px;color:rgba(255,255,255,.4);margin-top:4px}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.timeline::before{content:'';position:absolute;top:20px;left:calc(12.5%);right:calc(12.5%);height:1px;background:var(--border)}
.tl-step{padding:0 20px;position:relative;z-index:1}
.tl-dot{width:40px;height:40px;border-radius:50%;background:var(--card-bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--muted);margin-bottom:24px;transition:background .25s,border-color .25s,color .25s}
.tl-step:hover .tl-dot{background:var(--purple);border-color:var(--purple);color:white}
.tl-step h4{font-size:14px;font-weight:500;margin-bottom:8px}
.tl-step p{font-size:13px;color:var(--muted);line-height:1.65}
.btn-purple{display:inline-block;padding:14px 26px;background:var(--lime);color:var(--ink);border-radius:5px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s,transform .15s}
.btn-purple:hover{background:var(--lime-dark);transform:translateY(-1px)}
@media(max-width:900px){
  .service-grid,.aud-grid{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr 1fr;gap:40px}
  .timeline::before{display:none}
  .highlight-box{grid-template-columns:1fr;text-align:center}
  .highlight-aside{text-align:center}
}

.hero-visual-purple { background:var(--purple) !important; }


/* ─── ABOUT PAGE ─── */
.about-hero{max-width:1200px;margin:0 auto;padding:84px 40px 80px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;} .about-hero h1{font-family:'DM Serif Display',serif;font-size:clamp(40px,5vw,64px);font-weight:400;letter-spacing:-0.02em;line-height:1.05;opacity:0;animation:fadeUp 0.8s ease forwards 0.1s;} .about-hero h1 em{font-style:italic;color:var(--muted);} .about-hero-right{opacity:0;animation:fadeUp 0.8s ease forwards 0.3s;} .about-hero-right p{font-size:17px;color:var(--muted);line-height:1.7;margin-bottom:16px;} .manifesto-section{padding:0;}hr.divider:has(+.manifesto-section){border-top:none;}.manifesto{background:var(--ink);border-radius:0;padding:80px;text-align:center;position:relative;overflow:hidden;} .m-blob{position:absolute;top:-80px;right:-80px;width:300px;height:300px;background:var(--lime);border-radius:50%;opacity:0.06;} .m-blob2{position:absolute;bottom:-60px;left:-40px;width:200px;height:200px;background:var(--purple);border-radius:50%;opacity:0.1;} .manifesto blockquote{font-family:'DM Serif Display',serif;font-size:clamp(22px,3.2vw,40px);font-weight:400;color:white;letter-spacing:-0.02em;line-height:1.25;font-style:italic;position:relative;z-index:1;max-width:820px;margin:0 auto;} .manifesto blockquote em{color:var(--lime);font-style:normal;} .team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;} .team-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:transform 0.25s,border-color 0.25s;} .team-card:hover{transform:translateY(-4px);border-color:rgba(13,15,14,0.2);} .team-photo{height:420px;background:#f1f5f9;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.team-photo img{width:100%;height:100%;object-fit:cover;object-position:center 15%;display:block;}
.p-black.no-photo{background:var(--ink);}
.p-lime.no-photo{background:var(--lime);}
.p-purple.no-photo{background:var(--purple);}
.p-warm.no-photo{background:#F5E6D3;}
.p-black{background:var(--ink);}
.p-lime{background:var(--lime);}
.p-purple{background:var(--purple);}
.p-warm{background:#F5E6D3;} .team-initial{font-family:'DM Serif Display',serif;font-size:40px;font-weight:400;color:rgba(255,255,255,0.5);} .p-lime .team-initial,.p-warm .team-initial{color:rgba(0,0,0,0.3);} .team-body{padding:24px;} .team-body h3{font-size:16px;font-weight:500;margin-bottom:4px;} .team-role{font-size:13px;color:var(--purple);margin-bottom:8px;font-weight:500;} .team-body p{font-size:13px;color:var(--muted);line-height:1.6;} .team-links{display:flex;gap:8px;margin-top:16px;} .tl{font-size:12px;padding:4px 10px;border:1px solid var(--border);border-radius:100px;color:var(--muted);text-decoration:none;transition:all 0.2s;} .tl:hover{border-color:var(--ink);color:var(--ink);} .values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;} .vc{padding:40px 36px;border:1px solid var(--border);border-radius:12px;background:var(--card-bg);transition:transform 0.25s,background 0.3s,border-color 0.3s;} .vc:hover{transform:translateY(-3px);background:var(--ink);border-color:var(--ink);} .vc:hover h4,.vc:hover p{color:white;} .vc:hover p{color:rgba(255,255,255,0.5)!important;} .vi{font-size:28px;margin-bottom:20px;} .vc h4{font-family:'DM Serif Display',serif;font-size:22px;font-weight:400;margin-bottom:10px;transition:color 0.3s;} .vc p{font-size:14px;color:var(--muted);line-height:1.65;transition:color 0.3s;} .adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;} .adv-card{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:28px;transition:border-color 0.2s,transform 0.25s;} .adv-card:hover{border-color:rgba(13,15,14,0.2);transform:translateY(-2px);} .adv-hdr{display:flex;align-items:center;gap:14px;margin-bottom:14px;} .adv-av{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;color:white;flex-shrink:0;} .adv-nm{font-size:15px;font-weight:500;} .adv-rl{font-size:12px;color:var(--muted);} .adv-card p{font-size:13px;color:var(--muted);line-height:1.6;} .about-hero{grid-template-columns:1fr;gap:32px;padding:84px 24px 60px;} .breadcrumb{margin-bottom:16px;} .manifesto{padding:48px 28px;} .team-grid{grid-template-columns:1fr 1fr;} .values-grid,.adv-grid{grid-template-columns:1fr;} .stats-inner{grid-template-columns:1fr 1fr;gap:32px;}

/* ─── BLOG ─── */
.filter-row{max-width:1200px;margin:0 auto;padding:0 40px 48px;display:flex;gap:8px;flex-wrap:wrap}
.filter-btn{font-size:13px;font-weight:500;padding:8px 18px;border-radius:100px;border:1px solid var(--border);color:var(--muted);background:transparent;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}
.filter-btn:hover{border-color:var(--ink);color:var(--ink)}
.filter-btn.active{background:var(--ink);border-color:var(--ink);color:white}
.featured-wrap{max-width:1200px;margin:0 auto;padding:48px 40px 64px}
.featured-post{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--ink);border-radius:16px;overflow:hidden;text-decoration:none;transition:transform .25s}
.featured-post:hover{transform:translateY(-3px)}
.featured-visual{min-height:360px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:40px;font-size:80px}
.featured-tag-badge{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;background:rgba(13,15,14,.15);color:var(--ink);padding:6px 14px;border-radius:100px;position:absolute;top:24px;left:24px}
.featured-body{padding:48px;display:flex;flex-direction:column;justify-content:center}
.featured-meta{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.35);margin-bottom:20px}
.featured-body h2{font-family:'DM Serif Display',serif;font-size:clamp(24px,2.5vw,34px);font-weight:400;color:white;letter-spacing:-.02em;line-height:1.2;margin-bottom:16px}
.featured-body p{font-size:14px;color:rgba(255,255,255,.5);line-height:1.65;margin-bottom:28px}
.read-more{font-size:13px;color:var(--lime);font-weight:500}
.post-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:transform .25s,border-color .25s}
.post-card:hover{transform:translateY(-4px);border-color:rgba(13,15,14,.2)}
.post-thumb{height:160px;display:flex;align-items:center;justify-content:center;font-size:40px}
.thumb-lime{background:var(--lime)}.thumb-dark{background:var(--ink)}.thumb-purple{background:var(--purple)}.thumb-warm{background:#EDE0CC}
.post-body{padding:24px;flex:1;display:flex;flex-direction:column}
.post-tag{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:10px}
.post-body h3{font-family:'DM Serif Display',serif;font-size:19px;font-weight:400;letter-spacing:-.01em;line-height:1.25;margin-bottom:10px;color:var(--ink)}
.post-body p{font-size:13px;color:var(--muted);line-height:1.65;flex:1}
.post-date{font-size:11px;color:var(--muted)}
.post-arrow{font-size:14px;color:var(--muted);transition:color .2s,transform .2s}
.post-card:hover .post-arrow{color:var(--ink);transform:translateX(3px)}
.newsletter-input{flex:1;padding:14px 18px;border-radius:5px;border:none;font-size:14px;font-family:'DM Sans',sans-serif;background:rgba(255,255,255,.1);color:white;outline:none}
.newsletter-input::placeholder{color:rgba(255,255,255,.3)}
@media(max-width:900px){
  .featured-post{grid-template-columns:1fr}
  .featured-visual{min-height:180px}
  .filter-row,.featured-wrap,.posts-wrap{padding-left:24px;padding-right:24px}
}

/* ─── FUND OF FUNDS ─── */
.fof-hero{background:#BEB9D6;padding:84px 40px 100px;position:relative;overflow:hidden}
.fof-hero .hero-blob{position:absolute;top:-80px;right:-100px;width:400px;height:400px;background:var(--purple);border-radius:50%;opacity:.2}
.fof-hero .hero-blob2{position:absolute;bottom:-100px;left:-80px;width:300px;height:300px;background:var(--ink);border-radius:50%;opacity:.15}
.fof-hero-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;position:relative;z-index:1}
.fh-badge{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:rgba(13,15,14,.45);margin-bottom:20px}
.fh-badge::before{content:'';width:20px;height:1px;background:rgba(13,15,14,.45);display:inline-block}
.fof-hero h1{font-family:'DM Serif Display',serif;font-size:clamp(36px,4.5vw,56px);font-weight:400;letter-spacing:-.02em;line-height:1.05;margin-bottom:20px;color:var(--ink)}
.fof-hero h1 em{font-style:italic;color:rgba(13,15,14,.55)}
.fof-hero p{font-size:16px;color:rgba(13,15,14,.65);line-height:1.6;max-width:480px}
.btn-dark-hero{display:inline-block;padding:14px 24px;background:var(--ink);color:white;border-radius:5px;font-size:14px;font-weight:500;text-decoration:none;transition:transform .2s}
.btn-dark-hero:hover{transform:translateY(-2px)}
.btn-ghost-sm{display:inline-block;padding:14px 22px;color:var(--ink);border-radius:5px;font-size:14px;font-weight:500;text-decoration:none;border:1px solid rgba(13,15,14,.15)}
.btn-ghost-sm:hover{border-color:var(--ink)}
.anchor-hero-card{background:var(--ink);border-radius:16px;padding:40px;position:relative;overflow:hidden;color:white}
.ahc-blob{position:absolute;top:-50px;right:-50px;width:200px;height:200px;background:var(--lime);border-radius:50%;opacity:.15}
.ahc-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.4);margin-bottom:20px;position:relative}
.ahc-amount{font-family:'DM Serif Display',serif;font-size:64px;font-weight:400;letter-spacing:-.03em;line-height:1;margin-bottom:14px;color:var(--lime);position:relative}
.ahc-desc{font-size:13px;color:rgba(255,255,255,.55);line-height:1.65;position:relative}
.ahc-divider{height:1px;background:rgba(255,255,255,.1);margin:24px 0;position:relative}
.ahc-partner-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.4);margin-bottom:6px;position:relative}
.ahc-partner-name{font-size:14px;font-weight:500;color:white;margin-bottom:4px;position:relative}
.ahc-partner-note{font-size:12px;color:rgba(255,255,255,.4);position:relative}

.fof-audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.aud-block{border-radius:14px;padding:44px;position:relative;overflow:hidden;display:flex;flex-direction:column}
.aud-block .btn-lime-sm,.aud-block .btn-dark-sm{margin-top:auto;align-self:flex-start}
.aud-block.dark{background:var(--ink);color:white}
.aud-block.light{background:var(--card-bg);border:1px solid var(--border)}
.aud-block .aud-blob{position:absolute;bottom:-40px;right:-40px;width:180px;height:180px;border-radius:50%;opacity:.15}
.aud-block.dark .aud-blob{background:var(--lime)}
.aud-block.light .aud-blob{background:var(--ink);opacity:.04}
.aud-block .aud-tag{font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;position:relative}
.aud-block.dark .aud-tag{color:rgba(255,255,255,.4)}
.aud-block.light .aud-tag{color:var(--muted)}
.aud-block h3{font-family:'DM Serif Display',serif;font-size:28px;font-weight:400;letter-spacing:-.02em;margin-bottom:14px;position:relative}
.aud-block.dark h3{color:white}
.aud-block p{font-size:14px;line-height:1.65;margin-bottom:24px;position:relative}
.aud-block.dark p{color:rgba(255,255,255,.55)}
.aud-block.light p{color:var(--muted)}
.aud-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:28px;position:relative}
.aud-list li{font-size:13px;padding-left:16px;position:relative}
.aud-list li::before{content:'→';position:absolute;left:0}
.aud-block.dark .aud-list li{color:rgba(255,255,255,.7)}
.aud-block.light .aud-list li{color:var(--muted)}
.btn-lime-sm{display:inline-block;padding:10px 18px;background:var(--lime);color:var(--ink);border-radius:5px;font-size:13px;font-weight:500;text-decoration:none;position:relative}
.btn-dark-sm{display:inline-block;padding:10px 18px;background:var(--ink);color:white;border-radius:5px;font-size:13px;font-weight:500;text-decoration:none;position:relative}

.fof-coinvest{background:var(--lime);border-radius:14px;padding:44px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;position:relative;overflow:hidden}
.fof-coinvest-blob{position:absolute;bottom:-40px;right:-40px;width:200px;height:200px;background:var(--lime-dark);border-radius:50%;opacity:.35}
.fof-coinvest > div{position:relative;z-index:1}
.fof-coinvest h3{font-family:'DM Serif Display',serif;font-size:28px;font-weight:400;letter-spacing:-.02em;color:var(--ink);margin-bottom:14px}
.fof-coinvest p{font-size:14px;color:rgba(13,15,14,.6);line-height:1.65;margin-bottom:0}
.fof-coinvest-list{list-style:none;display:flex;flex-direction:column;gap:12px}
.fof-coinvest-list li{font-size:13px;color:rgba(13,15,14,.7);display:flex;align-items:flex-start;gap:10px}
.fof-coinvest-list li .arr{flex-shrink:0;font-weight:600}

.steps-list{list-style:none}
.step-row{display:grid;grid-template-columns:80px 1fr;gap:32px;padding:32px 0;border-bottom:1px solid var(--border);align-items:start}
.step-row:first-child{border-top:1px solid var(--border)}
.step-circle{width:40px;height:40px;border-radius:50%;background:var(--card-bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--muted)}
.step-body h4{font-size:16px;font-weight:500;margin-bottom:8px}
.step-body p{font-size:14px;color:var(--muted);line-height:1.65}

@media(max-width:900px){
  .fof-hero-inner,.fof-audience-grid,.fof-coinvest{grid-template-columns:1fr !important;gap:32px}
  .fof-hero{padding:100px 24px 60px}
}

/* ─── APPLY PAGE ─── */
.apply-section{max-width:900px;margin:0 auto;padding:84px 40px 100px}
.apply-inner .eyebrow{margin-bottom:20px}
.apply-inner h2{font-family:'DM Serif Display',serif;font-size:clamp(36px,4.5vw,56px);font-weight:400;letter-spacing:-.02em;line-height:1.05;margin-bottom:16px}
.apply-inner h2 em{font-style:italic;color:var(--muted)}
.apply-inner > p{font-size:17px;color:var(--muted);line-height:1.6;margin-bottom:40px}
.apply-toggle{display:flex;gap:6px;padding:6px;background:#f8f9fa;border-radius:10px;margin-bottom:32px;flex-wrap:wrap}
.toggle-btn{flex:1;min-width:120px;padding:12px 18px;background:transparent;border:none;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;border-radius:7px;font-family:'DM Sans',sans-serif;transition:all .2s}
.toggle-btn.active{background:white;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.apply-form{display:none}
.apply-form.active{display:block}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group.full{grid-column:1/-1}
.form-group label{font-size:12px;font-weight:500;color:var(--ink)}
.form-group input,.form-group select,.form-group textarea{padding:12px 14px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:'DM Sans',sans-serif;color:var(--ink);background:white;outline:none;transition:border-color .2s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--ink)}
.form-group textarea{resize:vertical;min-height:100px}
.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%278%27%3E%3Cpath d=%27M1 1l5 5 5-5%27 stroke=%27%237A7A72%27 stroke-width=%271.5%27 fill=%27none%27 stroke-linecap=%27round%27/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.form-consent{display:flex;align-items:flex-start;gap:10px;margin:14px 0 22px;font-size:12px;color:var(--muted);line-height:1.5}
.form-consent input[type=checkbox]{margin-top:2px;flex-shrink:0;accent-color:var(--ink)}
.btn-submit{width:100%;padding:15px;background:var(--ink);color:white;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;transition:opacity .2s}
.btn-submit:hover{opacity:.85}
.form-note{font-size:12px;color:var(--muted);text-align:center;margin-top:14px}
.apply-msg{padding:16px 20px;border-radius:8px;margin-bottom:24px;font-size:14px;line-height:1.5}
.apply-msg-success{background:#ECFDF5;color:#065F46;border:1px solid #A7F3D0}
.apply-msg-error{background:#FEF2F2;color:#991B1B;border:1px solid #FECACA}
@media(max-width:700px){
  .apply-section{padding:32px 20px 80px}
  .form-grid{grid-template-columns:1fr}
}
.form-section-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:28px 0 4px;border-top:1px solid var(--border);margin-top:20px}
.form-section-label:first-child{border-top:none;padding-top:0;margin-top:0}

/* ─── EVENTS PAGE ─── */
.hero-left .hero-badge{margin-bottom:24px}
.next-event-card{background:var(--ink);border-radius:16px;padding:40px;position:relative;overflow:hidden;color:white}
.next-event-card .ne-blob{position:absolute;top:-50px;right:-50px;width:200px;height:200px;background:var(--lime);border-radius:50%;opacity:.15}
.next-event-card .ne-blob2{position:absolute;bottom:-60px;left:-60px;width:180px;height:180px;background:var(--purple);border-radius:50%;opacity:.2}
.ne-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.4);margin-bottom:24px;position:relative}
.ne-date-row{display:flex;align-items:baseline;gap:12px;margin-bottom:24px;position:relative}
.ne-month-badge{font-size:11px;text-transform:uppercase;letter-spacing:.1em;background:var(--lime);color:var(--ink);padding:5px 10px;border-radius:4px;font-weight:500}
.ne-day{font-family:'DM Serif Display',serif;font-size:56px;font-weight:400;letter-spacing:-.03em;line-height:1;color:var(--lime)}
.ne-year{font-size:14px;color:rgba(255,255,255,.4)}
.next-event-card h3{font-family:'DM Serif Display',serif;font-size:24px;font-weight:400;letter-spacing:-.01em;margin-bottom:12px;position:relative}
.next-event-card p{font-size:14px;color:rgba(255,255,255,.55);line-height:1.65;margin-bottom:24px;position:relative}
.ne-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;position:relative}
.ne-pill{font-size:11px;padding:5px 12px;border-radius:100px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.65);border:1px solid rgba(255,255,255,.1)}
.btn-lime-sm{display:inline-block;padding:12px 20px;background:var(--lime);color:var(--ink);border-radius:5px;font-size:13px;font-weight:500;text-decoration:none;position:relative}

.event-list{display:flex;flex-direction:column;gap:0;list-style:none}
.event-row{display:grid;grid-template-columns:100px 1fr auto;gap:32px;padding:28px 0;border-bottom:1px solid var(--border);align-items:start;transition:background .2s}
.event-row:first-child{border-top:1px solid var(--border)}
.event-row:hover{background:rgba(13,15,14,.02)}
.ev-date{text-align:center;padding-top:4px}
.ev-month{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:500}
.ev-day{font-family:'DM Serif Display',serif;font-size:36px;font-weight:400;letter-spacing:-.02em;line-height:1;margin:4px 0}
.ev-year{font-size:11px;color:var(--muted)}
.ev-body h4{font-family:'DM Serif Display',serif;font-size:20px;font-weight:400;margin-bottom:8px}
.ev-body p{font-size:14px;color:var(--muted);line-height:1.65;margin-bottom:12px}
.ev-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.ev-tag{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;padding:3px 10px;border-radius:100px;border:1px solid var(--border);color:var(--muted)}
.ev-tag.summit,.ev-tag.conference{background:var(--ink);color:white;border-color:var(--ink)}
.ev-tag.workshop{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.ev-tag.dinner,.ev-tag.roundtable{background:var(--purple);color:white;border-color:var(--purple)}
.ev-location{font-size:12px;color:var(--muted)}
.ev-cta a{font-size:13px;font-weight:500;color:var(--ink);text-decoration:none;white-space:nowrap;padding:10px 16px;border:1px solid var(--border);border-radius:6px;display:inline-block;transition:all .2s}
.ev-cta a:hover{background:var(--ink);color:white;border-color:var(--ink)}

@media(max-width:900px){
  .page-hero{grid-template-columns:1fr !important;gap:40px !important}
  .event-row{grid-template-columns:70px 1fr;gap:16px}
  .ev-cta{grid-column:1/-1;margin-top:12px}
}

/* ─── ABOUT EXTENSIONS ─── */
.section-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:40px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.stats-band{background:var(--ink);padding:80px 40px;border-radius:0}
.stats-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}
.si{text-align:center;padding:0 20px;border-right:1px solid rgba(255,255,255,.08)}
.si:last-child{border-right:none}
.sn{font-family:'DM Serif Display',serif;font-size:clamp(36px,4vw,56px);font-weight:400;color:var(--lime);line-height:1;margin-bottom:8px}
.sl{font-size:13px;color:rgba(255,255,255,.4)}
.adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.adv-card{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:28px;transition:border-color .2s,transform .25s}
.adv-card:hover{border-color:rgba(13,15,14,.2);transform:translateY(-2px)}
.adv-hdr{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.adv-av{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;flex-shrink:0}
.adv-nm{font-size:15px;font-weight:500}
.adv-rl{font-size:12px;color:var(--muted)}
.adv-card p{font-size:13px;color:var(--muted);line-height:1.6}
@media(max-width:900px){
  .stats-inner{grid-template-columns:1fr 1fr;gap:32px}
  .si{border-right:none}
  .adv-grid{grid-template-columns:1fr}
}

/* ─── PORTFOLIO PAGE ─── */
.bc-sep{opacity:.35}
.hero-desc{font-size:17px;color:var(--muted);line-height:1.65;max-width:420px}
.stats-box{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.s-stat{background:white;padding:28px}
.s-num{font-family:'DM Serif Display',serif;font-size:38px;font-weight:400;letter-spacing:-.03em;line-height:1;margin-bottom:6px;color:var(--ink)}
.s-label{font-size:12px;color:var(--muted);line-height:1.4}
.fade-in{opacity:0;animation:fadeIn 1s ease forwards .3s}
.filter-wrap{max-width:1200px;margin:0 auto;padding:32px 40px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.fl{font-size:12px;color:var(--muted);margin-right:4px}
.fb{font-size:12px;font-weight:500;padding:7px 16px;border-radius:100px;border:1px solid var(--border);color:var(--muted);background:transparent;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif}
.fb:hover{border-color:var(--ink);color:var(--ink)}
.fb.active{background:var(--ink);border-color:var(--ink);color:white}
.port-grid{max-width:1200px;margin:0 auto;padding:0 40px 80px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pc{background:white;border:1px solid var(--border);border-radius:12px;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .25s,border-color .25s;display:flex;flex-direction:column}
.pc:hover{transform:translateY(-3px);border-color:rgba(13,15,14,.2)}
.pc-thumb{height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;position:relative;background:#f5f5f0;overflow:hidden}.pc-logo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pc-thumb .t-icon{font-size:32px}
.pc-thumb .t-name{font-family:'DM Serif Display',serif;font-size:14px;color:var(--muted)}
.pc-stage{position:absolute;top:12px;right:12px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;background:rgba(13,15,14,.7);color:white;padding:4px 10px;border-radius:100px}
.pc-body{padding:20px;flex:1;display:flex;flex-direction:column}
.pc-tag{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}
.pc-body h3{font-family:'DM Serif Display',serif;font-size:18px;font-weight:400;margin-bottom:8px}
.pc-body p{font-size:13px;color:var(--muted);line-height:1.6;flex:1}
.pc-foot{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid var(--border)}
.pc-arr{font-size:14px;color:var(--muted);transition:transform .2s}
.pc:hover .pc-arr{transform:translateX(3px);color:var(--ink)}
.dot-row{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}
.dot{display:inline-block;width:6px;height:6px;border-radius:50%}
.dot-y{background:#D8EE5A}
.dot-p{background:var(--purple)}
.dot-g{background:#7FB069}
.pc.stealth .pc-thumb{background:linear-gradient(135deg,#1e1e1e 0%,#2a2a2a 100%);color:white}
.pc.stealth .pc-thumb .t-name{color:rgba(255,255,255,.4)}
.pc.cta{background:var(--lime)}
.pc.cta .pc-thumb{background:transparent}
.pc.cta:hover{transform:translateY(-3px)}
.thesis{max-width:1200px;margin:0 auto;padding:80px 40px}
.thesis-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ti{padding:32px;border:1px solid var(--border);border-radius:12px;background:var(--card-bg)}
.ti-icon{font-size:32px;margin-bottom:16px}
.ti h4{font-family:'DM Serif Display',serif;font-size:22px;font-weight:400;margin-bottom:12px}
.ti p{font-size:14px;color:var(--muted);line-height:1.65}
/* Portfolio hero grid */
.portfolio-hero-grid{max-width:1200px;margin:0 auto;padding:84px 40px 64px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}

@media(max-width:900px){
  .portfolio-hero-grid{grid-template-columns:1fr;gap:40px;padding:84px 24px 48px}
  .stats-box{grid-template-columns:1fr 1fr}
  .port-grid{grid-template-columns:1fr;padding:0 24px 60px}
  .thesis-inner{grid-template-columns:1fr}
  .filter-wrap{padding:24px}
}
@media(max-width:600px){
  .stats-box{grid-template-columns:1fr}
  .s-stat{padding:20px 24px}
}

/* ─── LEGAL PAGES (Impressum, Datenschutz) ─── */
.legal-content{max-width:800px;margin:0 auto;padding:84px 40px 100px}
.legal-h1{font-family:'DM Serif Display',serif;font-size:clamp(36px,5vw,56px);font-weight:400;letter-spacing:-.02em;margin-bottom:48px;line-height:1.05}
.legal-body{display:flex;flex-direction:column;gap:36px;font-size:15px;color:var(--muted);line-height:1.8}
.legal-body h2{font-family:'DM Serif Display',serif;font-size:22px;font-weight:400;color:var(--ink);margin-bottom:14px}
.legal-body h3{font-size:15px;font-weight:500;color:var(--ink);margin:16px 0 8px}
.legal-body p{margin-bottom:8px}
.legal-body a{color:var(--ink);text-decoration:underline;text-decoration-color:rgba(13,15,14,.2)}
.legal-body a:hover{text-decoration-color:var(--ink)}
.legal-notice{padding:24px;background:#F7F7F5;border-radius:10px;border-left:3px solid var(--lime)}
.legal-notice p{font-size:13px;color:var(--muted);margin:0}
@media(max-width:700px){
  .legal-content{padding:32px 20px 60px}
  .legal-body{gap:28px}
}

/* ─── RICHTEXT SECTION (Quill-saved HTML, e.g. Impressum / Datenschutz) ─── */
.richtext-content{max-width:800px;margin:0 auto;padding:84px 40px 100px}
.richtext-content h1{font-family:'DM Serif Display',serif;font-size:clamp(36px,5vw,56px);font-weight:400;letter-spacing:-.02em;margin-bottom:48px;line-height:1.05;color:var(--ink)}
.richtext-content h2{font-family:'DM Serif Display',serif;font-size:22px;font-weight:400;color:var(--ink);margin-bottom:14px;margin-top:32px}
.richtext-content h3{font-size:15px;font-weight:500;color:var(--ink);margin:16px 0 8px}
.richtext-content p{font-size:15px;color:var(--muted);line-height:1.8;margin-bottom:8px}
.richtext-content a{color:var(--ink);text-decoration:underline;text-decoration-color:rgba(13,15,14,.2)}
.richtext-content a:hover{text-decoration-color:var(--ink)}
.richtext-content ul,.richtext-content ol{font-size:15px;color:var(--muted);line-height:1.8;padding-left:24px;margin-bottom:8px}
/* hide Quill empty-line artifacts like <h1><br></h1> */
.richtext-content h1:has(>br:only-child),.richtext-content h2:has(>br:only-child),.richtext-content p:has(>br:only-child){display:none}
@media(max-width:700px){.richtext-content{padding:32px 20px 60px}}

/* ─── NEWS PAGE ─── */
.page-header h1 em{font-style:italic;color:var(--muted)}
.cat-bar{max-width:1200px;margin:0 auto;padding:0 40px 32px;display:flex;gap:8px;flex-wrap:wrap}
.cat-btn{padding:8px 18px;border-radius:100px;font-size:13px;font-weight:500;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;transition:all .2s;font-family:inherit;text-decoration:none;display:inline-block}
.cat-btn:hover{border-color:var(--ink);color:var(--ink)}
.cat-btn.active{background:var(--ink);color:white;border-color:var(--ink)}
.news-section{max-width:1200px;margin:0 auto;padding:0 40px 32px}
.featured-post{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--border);border-radius:16px;overflow:hidden;margin-bottom:24px;cursor:pointer;transition:border-color .2s,transform .25s;text-decoration:none;color:inherit}
.featured-post:hover{border-color:rgba(13,15,14,.25);transform:translateY(-3px)}
.fp-visual{padding:56px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;min-height:360px}
.fp-color-dark{background:var(--ink)}
.fp-color-lime{background:var(--lime)}
.fp-color-purple{background:var(--purple)}
.fp-color-warm{background:#C9A876}
.fp-color-teal{background:#5C9EAD}
.fp-color-sand{background:#D9C9A0}
.fp-color-dark *,.fp-color-purple *,.fp-color-teal *{color:white}
.fp-color-lime *,.fp-color-warm *,.fp-color-sand *{color:var(--ink)}
.fp-blob{position:absolute;top:-40px;right:-40px;width:200px;height:200px;background:rgba(255,255,255,.15);border-radius:50%}
.fp-blob2{position:absolute;bottom:-30px;left:10%;width:140px;height:140px;background:rgba(255,255,255,.08);border-radius:50%}
.fp-cat{font-size:10px;text-transform:uppercase;letter-spacing:.1em;opacity:.6;margin-bottom:16px;position:relative;z-index:1}
.fp-visual h2{font-family:'DM Serif Display',serif;font-size:clamp(22px,2.5vw,32px);font-weight:400;letter-spacing:-.02em;line-height:1.2;position:relative;z-index:1}
.fp-content{background:var(--card-bg);padding:48px;display:flex;flex-direction:column}
.fp-meta{font-size:12px;color:var(--muted);margin-bottom:16px}
.fp-content h2{font-family:'DM Serif Display',serif;font-size:24px;font-weight:400;letter-spacing:-.01em;line-height:1.2;margin-bottom:14px;color:var(--ink)}
.fp-content p{font-size:14px;color:var(--muted);line-height:1.65;margin-bottom:24px}
.fp-author{display:flex;align-items:center;gap:12px;margin:auto 0 20px}
.fp-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;font-size:13px;font-weight:500;flex-shrink:0}
.fp-author-info .name{font-size:13px;font-weight:500}
.fp-author-info .role{font-size:11px;color:var(--muted)}
.fp-read{font-size:13px;font-weight:500;color:var(--ink);display:inline-flex;gap:4px;transition:gap .2s}
.featured-post:hover .fp-read{gap:10px}

.main-sidebar{display:grid;grid-template-columns:1fr 280px;gap:48px}
.post-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.post-card{background:white;border:1px solid var(--border);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .25s,border-color .25s;display:flex;flex-direction:column}
.post-card:hover{transform:translateY(-3px);border-color:rgba(13,15,14,.2)}
.post-card-img{height:160px;display:flex;align-items:center;justify-content:center;position:relative}
.img-lime{background:var(--lime)}
.img-dark{background:var(--ink)}
.img-purple{background:var(--purple)}
.img-warm{background:#C9A876}
.img-teal{background:#5C9EAD}
.img-sand{background:#D9C9A0}
.post-card-img-inner{font-size:48px;opacity:.85}
.img-dark .post-card-img-inner,.img-purple .post-card-img-inner,.img-teal .post-card-img-inner{filter:grayscale(0)}
.post-cat-badge{position:absolute;top:12px;left:12px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;background:rgba(255,255,255,.9);color:var(--ink);padding:4px 10px;border-radius:100px;font-weight:500}
.post-card-body{padding:24px;flex:1;display:flex;flex-direction:column}
.post-meta{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
.post-card-body h3{font-family:'DM Serif Display',serif;font-size:18px;font-weight:400;line-height:1.25;margin-bottom:10px}
.post-card-body p{font-size:13px;color:var(--muted);line-height:1.6;flex:1;margin-bottom:16px}
.post-footer{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--border);font-size:12px}
.post-author-mini{color:var(--ink);font-weight:500}
.read-time{color:var(--muted)}

.sidebar-block{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:24px}
.sidebar-block h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:16px}
.topic-list{list-style:none}
.topic-item{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}
.topic-item:last-child{border-bottom:none}
.topic-count{color:var(--muted);font-size:11px}
.sidebar-authors{display:flex;flex-direction:column;gap:14px}
.s-author{display:flex;align-items:center;gap:12px}
.s-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;font-size:12px;font-weight:500;flex-shrink:0}
.s-author-name{font-size:13px;font-weight:500}
.s-author-role{font-size:11px;color:var(--muted)}

/* News article detail */
.news-article{max-width:800px;margin:0 auto;padding:84px 40px 64px}
.news-article-header{margin-bottom:48px}
.post-cat-badge-static{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;background:var(--card-bg);border:1px solid var(--border);padding:5px 12px;border-radius:100px;color:var(--muted);margin-bottom:24px}
.news-article h1{font-family:'DM Serif Display',serif;font-size:clamp(32px,4.5vw,52px);font-weight:400;letter-spacing:-.02em;line-height:1.1;margin-bottom:20px}
.news-excerpt{font-size:18px;color:var(--muted);line-height:1.6;margin-bottom:32px}
.news-meta-row{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--border);flex-wrap:wrap;gap:16px}
.news-author{display:flex;align-items:center;gap:12px}
.news-author-name{font-size:14px;font-weight:500}
.news-author-role{font-size:12px;color:var(--muted)}
.news-meta{font-size:13px;color:var(--muted)}
.news-cover{max-width:1000px;margin:0 auto 48px;border-radius:16px;height:380px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.news-cover-emoji{font-size:120px;position:relative;z-index:1}
.news-content{max-width:800px;margin:0 auto;padding:0 40px;font-size:17px;line-height:1.75;color:var(--ink)}
.news-content h2{font-family:'DM Serif Display',serif;font-size:28px;font-weight:400;margin:40px 0 16px}
.news-content h3{font-family:'DM Serif Display',serif;font-size:22px;font-weight:400;margin:32px 0 12px}
.news-content p{margin-bottom:20px;color:var(--muted)}
.news-content ul,.news-content ol{margin:20px 0 20px 24px;color:var(--muted)}
.news-content li{margin-bottom:8px}
.news-content a{color:var(--ink);text-decoration:underline;text-decoration-color:rgba(13,15,14,.3)}
.news-content blockquote{border-left:3px solid var(--lime);padding:8px 24px;margin:24px 0;font-style:italic;color:var(--muted)}

@media(max-width:900px){
  .main-sidebar{grid-template-columns:1fr}
  .post-grid{grid-template-columns:1fr}
  .featured-post{grid-template-columns:1fr}
  .fp-visual{min-height:280px;padding:32px}
  .fp-content{padding:32px}
  .news-article,.news-content{padding-left:20px;padding-right:20px}
  .news-cover{height:240px;margin:0 20px 32px}
  .news-cover-emoji{font-size:80px}
}

/* ─── NAV DROPDOWNS ─── */
.nav-links { position: relative; }
.nav-links > li { position: relative; }
.nav-links .caret { display:inline-block; font-size:9px; margin-left:4px; opacity:.6; transition:transform .2s; position:relative; top:-1px }
.nav-links li.has-dropdown:hover > a .caret,
.nav-links li.has-dropdown:focus-within > a .caret { transform:rotate(180deg) }
.dropdown-menu {
  position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(-8px);
  min-width:200px; background:white; border:1px solid var(--border); border-radius:10px;
  box-shadow:0 10px 30px rgba(13,15,14,.08), 0 2px 6px rgba(13,15,14,.04);
  padding:8px; list-style:none; margin-top:8px;
  opacity:0; visibility:hidden; pointer-events:none;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index:100;
}
.nav-links li.has-dropdown:hover > .dropdown-menu,
.nav-links li.has-dropdown:focus-within > .dropdown-menu {
  opacity:1; visibility:visible; pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.dropdown-menu::before {
  content:''; position:absolute; top:-6px; left:50%; transform:translateX(-50%) rotate(45deg);
  width:12px; height:12px; background:white;
  border-left:1px solid var(--border); border-top:1px solid var(--border);
}
/* bridge invisible gap so hovering to dropdown doesn't close */
.nav-links li.has-dropdown::after {
  content:''; position:absolute; top:100%; left:0; right:0; height:12px;
}
.dropdown-menu li { padding:0; margin:0; }
.dropdown-menu a {
  display:block; padding:10px 14px; font-size:14px; color:var(--ink);
  text-decoration:none; border-radius:6px; white-space:nowrap;
  transition:background .15s, color .15s;
}
.dropdown-menu a:hover { background:var(--card-bg); color:var(--ink); }
.dropdown-menu a.active { background:rgba(107,79,187,.08); color:var(--purple); font-weight:500; }

/* Mobile submenu */
.mobile-submenu { list-style:none; margin:4px 0 8px; padding-left:16px; border-left:2px solid var(--border); }
.mobile-submenu li { margin:0; }
.mobile-submenu a { font-size:15px; color:var(--muted); padding:8px 0; display:block }

/* ─── CATALYST DETAIL PAGE ─── */
.catalyst-detail-page .nav-links a:hover, .catalyst-detail-page .nav-links a.active {
color:var(--ink)
}
.catalyst-detail-page .nav-dropdown-menu a.active {
color:var(--ink);font-weight:500
}
.catalyst-detail-page .mob {
display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:white;z-index:199;padding:90px 32px 48px;flex-direction:column;justify-content:space-between;transform:translateY(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1)
}
.catalyst-detail-page .mob.open {
transform:translateY(0)
}
.catalyst-detail-page .mob-links {
list-style:none;display:flex;flex-direction:column;margin:0;padding:0
}
.catalyst-detail-page .mob-links li {
border-bottom:1px solid var(--border);list-style:none;margin:0;padding:0
}
.catalyst-detail-page .mob-links a {
display:block;padding:16px 0;font-family:'DM Serif Display',serif;font-size:26px;font-weight:400;color:var(--ink);text-decoration:none
}
.catalyst-detail-page .mob-links a.active {
color:var(--muted)
}
.catalyst-detail-page .mob-fof {
display:block;padding:11px 0 11px 20px;font-size:15px;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--border)
}
.catalyst-detail-page .mob-bottom {
display:flex;flex-direction:column;gap:10px
}
.catalyst-detail-page .mob-cta {
display:block;text-align:center;padding:15px;background:var(--lime);color:var(--ink);border-radius:6px;font-size:15px;font-weight:500;text-decoration:none
}
.catalyst-detail-page .mob-copy {
font-size:12px;color:var(--muted);text-align:center
}
.catalyst-detail-page .breadcrumb {
display:flex;align-items:center;gap:8px;font-size:12px;color:rgba(255,255,255,.5);margin-bottom:20px
}
.catalyst-detail-page .breadcrumb a {
color:var(--muted);text-decoration:none;transition:color .2s
}
.catalyst-detail-page .breadcrumb a:hover {
color:var(--ink)
}
.catalyst-detail-page hr.divider {
border:none;border-top:1px solid var(--border);max-width:1200px;margin:0 auto
}
.catalyst-detail-page .eyebrow {
font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:20px;display:flex;align-items:center;gap:8px
}
.catalyst-detail-page .eyebrow::before {
content:'';width:20px;height:1px;background:var(--muted);display:inline-block
}
.catalyst-detail-page section.content {
max-width:1200px;margin:0 auto;padding:80px 40px
}
.catalyst-detail-page .section-header {
margin-bottom:52px
}
.catalyst-detail-page .section-header.center {
text-align:center
}
.catalyst-detail-page .section-header h2 {
font-family:'Inter',sans-serif;font-size:clamp(28px,4vw,48px);font-weight:600;letter-spacing:-.02em;line-height:1.1;margin-bottom:12px
}
.catalyst-detail-page .section-header h2 em {
font-style:italic;font-weight:400;color:var(--muted)
}
.catalyst-detail-page .section-header p {
font-size:15px;color:var(--muted);line-height:1.6;max-width:500px
}
.catalyst-detail-page .section-header.center p {
margin:0 auto
}
.catalyst-detail-page .btn-primary {
display:inline-block;padding:13px 24px;background:var(--lime);color:var(--ink);border-radius:5px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s,transform .15s;white-space:nowrap
}
.catalyst-detail-page .btn-primary:hover {
background:var(--lime-dark);transform:translateY(-1px)
}
.catalyst-detail-page .btn-ghost-w {
display:inline-block;padding:13px 22px;border:1px solid rgba(255,255,255,.25);color:white;border-radius:5px;font-size:14px;text-decoration:none;transition:border-color .2s;white-space:nowrap
}
.catalyst-detail-page .btn-ghost-w:hover {
border-color:rgba(255,255,255,.6)
}
.catalyst-detail-page .cta-band {
background:var(--ink);padding:80px 40px;text-align:center
}
.catalyst-detail-page .cta-band h2 {
font-family:'Inter',sans-serif;font-size:clamp(28px,4vw,52px);font-weight:600;color:white;letter-spacing:-.02em;line-height:1.1;margin-bottom:16px
}
.catalyst-detail-page .cta-band h2 em {
font-style:italic;font-weight:400;color:var(--lime)
}
.catalyst-detail-page .cta-band p {
font-size:15px;color:rgba(255,255,255,.45);margin-bottom:32px
}
.catalyst-detail-page .cta-row {
display:flex;gap:12px;justify-content:center;flex-wrap:wrap
}
@keyframes fadeUp {
to{opacity:1;transform:translateY(0)}
}
@keyframes fadeIn {
to{opacity:1}
}
@media(max-width:900px) {
.catalyst-detail-page .mob {
display:flex
}
.catalyst-detail-page .breadcrumb {
padding:76px 20px 0
}
.catalyst-detail-page section.content {
padding:60px 20px
}
.catalyst-detail-page .cta-band {
padding:60px 20px
}
}
.catalyst-detail-page .hero {
background:var(--purple);padding:0;position:relative;overflow:hidden;max-width:none;margin:0;display:block
}
.catalyst-detail-page .hero-inner {
max-width:1200px;margin:0 auto;padding:80px 40px 80px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;position:relative;z-index:1;box-sizing:border-box;width:100%
}
.catalyst-detail-page .blob1 {
position:absolute;top:-80px;right:5%;width:400px;height:400px;background:var(--lime);border-radius:50%;opacity:.07;pointer-events:none
}
.catalyst-detail-page .blob2 {
position:absolute;bottom:-60px;left:10%;width:280px;height:280px;background:white;border-radius:50%;opacity:.04;pointer-events:none
}
.catalyst-detail-page .hero-badge {
display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.45);margin-bottom:24px
}
.catalyst-detail-page .hero-badge::before {
content:'';width:20px;height:1px;background:rgba(255,255,255,.3);display:inline-block
}
.catalyst-detail-page .hero h1 {
font-family:'Inter',sans-serif;font-size:clamp(36px,5vw,60px);font-weight:700;letter-spacing:-.03em;line-height:1.05;color:white;margin-bottom:20px
}
.catalyst-detail-page .hero h1 em {
font-style:italic;font-weight:400;color:var(--lime)
}
.catalyst-detail-page .hero-sub {
font-size:17px;color:rgba(255,255,255,.55);line-height:1.65;margin-bottom:36px;max-width:460px
}
.catalyst-detail-page .hero-pills {
display:flex;flex-wrap:wrap;gap:8px
}
.catalyst-detail-page .hp {
font-size:11px;font-weight:500;padding:6px 14px;border-radius:100px;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.6)
}
.catalyst-detail-page .hp-lime {
background:rgba(228,244,111,.15);border-color:rgba(228,244,111,.35);color:var(--lime)
}
.catalyst-detail-page /* stat box */
.stat-box {
display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);border-radius:14px;overflow:hidden
}
.catalyst-detail-page .s-stat {
background:rgba(255,255,255,.06);padding:28px;backdrop-filter:blur(8px)
}
.catalyst-detail-page .s-num {
font-family:'Inter',sans-serif;font-size:38px;font-weight:700;letter-spacing:-.03em;color:white;line-height:1;margin-bottom:6px
}
.catalyst-detail-page .s-num span {
color:var(--lime)
}
.catalyst-detail-page .s-lbl {
font-size:12px;color:rgba(255,255,255,.4);line-height:1.4
}
.catalyst-detail-page /* ── WHAT IS IT ── */
.what-grid {
display:grid;grid-template-columns:1fr 1fr;gap:14px
}
.catalyst-detail-page .what-card {
background:white;border:1px solid var(--border);border-radius:12px;padding:36px;transition:transform .25s,border-color .25s
}
.catalyst-detail-page .what-card:hover {
transform:translateY(-3px);border-color:rgba(13,15,14,.2)
}
.catalyst-detail-page .wc-icon {
font-size:32px;margin-bottom:20px
}
.catalyst-detail-page .wc-tag {
font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:10px
}
.catalyst-detail-page .what-card h3 {
font-family:'Inter',sans-serif;font-size:22px;font-weight:600;margin-bottom:12px;letter-spacing:-.01em
}
.catalyst-detail-page .what-card p {
font-size:14px;color:var(--muted);line-height:1.65
}
.catalyst-detail-page /* ── PROCESS ── */
.process-wrap {
background:var(--ink);padding:80px 40px
}
.catalyst-detail-page .process-inner {
max-width:1200px;margin:0 auto
}
.catalyst-detail-page .process-inner .section-header h2 {
color:white
}
.catalyst-detail-page .process-inner .section-header h2 em {
color:var(--lime)
}
.catalyst-detail-page .process-inner .section-header p {
color:rgba(255,255,255,.45)
}
.catalyst-detail-page .process-steps {
display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative
}
.catalyst-detail-page .process-steps::before {
content:'';position:absolute;top:27px;left:calc(12.5% + 20px);right:calc(12.5% + 20px);height:1px;background:rgba(255,255,255,.1);z-index:0
}
.catalyst-detail-page .ps {
padding:0 20px;position:relative;z-index:1
}
.catalyst-detail-page .ps-num {
width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;font-size:13px;color:rgba(255,255,255,.4);margin-bottom:20px;transition:all .25s
}
.catalyst-detail-page .ps:hover .ps-num {
background:var(--lime);border-color:var(--lime-dark);color:var(--ink)
}
.catalyst-detail-page .ps h4 {
font-family:'Inter',sans-serif;font-size:16px;font-weight:600;color:white;margin-bottom:8px
}
.catalyst-detail-page .ps p {
font-size:13px;color:rgba(255,255,255,.4);line-height:1.65
}
.catalyst-detail-page /* ── FOR WHOM ── */
.whom-grid {
display:grid;grid-template-columns:repeat(3,1fr);gap:14px
}
.catalyst-detail-page .wh-card {
border:1px solid var(--border);border-radius:12px;overflow:hidden;background:white;transition:transform .25s,border-color .25s
}
.catalyst-detail-page .wh-card:hover {
transform:translateY(-3px);border-color:rgba(107,79,187,.3)
}
.catalyst-detail-page .wh-head {
padding:28px 28px 20px;border-bottom:1px solid var(--border)
}
.catalyst-detail-page .wh-icon {
font-size:28px;margin-bottom:14px
}
.catalyst-detail-page .wh-card h3 {
font-family:'Inter',sans-serif;font-size:19px;font-weight:600;margin-bottom:6px
}
.catalyst-detail-page .wh-role {
font-size:12px;color:var(--muted)
}
.catalyst-detail-page .wh-body {
padding:20px 28px
}
.catalyst-detail-page .wh-list {
list-style:none;display:flex;flex-direction:column;gap:8px
}
.catalyst-detail-page .wh-list li {
font-size:13px;color:var(--muted);display:flex;align-items:flex-start;gap:8px;line-height:1.5
}
.catalyst-detail-page .wh-list li::before {
content:'→';color:var(--purple);flex-shrink:0;font-weight:500
}
.catalyst-detail-page /* ── CASE STUDIES ── */
.case-grid {
display:grid;grid-template-columns:1fr 1fr;gap:14px
}
.catalyst-detail-page .case-card {
border:1px solid var(--border);border-radius:12px;overflow:hidden;background:white;transition:transform .25s,border-color .25s
}
.catalyst-detail-page .case-card:hover {
transform:translateY(-3px);border-color:rgba(13,15,14,.2)
}
.catalyst-detail-page .case-head {
padding:24px 28px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--border)
}
.catalyst-detail-page .case-num {
width:40px;height:40px;border-radius:8px;background:var(--purple);color:white;display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;font-size:14px;font-weight:700;flex-shrink:0
}
.catalyst-detail-page .case-head-text {

}
.catalyst-detail-page .case-industry {
font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:3px
}
.catalyst-detail-page .case-head-text h4 {
font-family:'Inter',sans-serif;font-size:16px;font-weight:600
}
.catalyst-detail-page .case-body {
padding:20px 28px
}
.catalyst-detail-page .case-body p {
font-size:13px;color:var(--muted);line-height:1.65;margin-bottom:14px
}
.catalyst-detail-page .case-outcome {
display:flex;align-items:flex-start;gap:8px;padding:12px;background:#F5F5F3;border-radius:6px;font-size:12px;color:var(--ink);line-height:1.5
}
.catalyst-detail-page .case-outcome::before {
content:'✓';color:var(--purple);font-weight:700;flex-shrink:0
}
.catalyst-detail-page .case-tag {
display:inline-block;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;padding:3px 10px;border-radius:100px;margin-right:6px;margin-top:10px
}
.catalyst-detail-page .ct-energy {
background:rgba(228,244,111,.25);color:#5A5000
}
.catalyst-detail-page .ct-chem {
background:rgba(107,79,187,.12);color:var(--purple)
}
.catalyst-detail-page .ct-food {
background:rgba(76,175,133,.12);color:#2D7A5A
}
.catalyst-detail-page .ct-indus {
background:rgba(13,15,14,.06);color:var(--muted)
}
.catalyst-detail-page /* ── MEMBERSHIP ── */
.membership-wrap {
background:#F9F9F7;border:1px solid var(--border);border-radius:16px;padding:56px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start
}
.catalyst-detail-page .mem-left h2 {
font-family:'Inter',sans-serif;font-size:clamp(26px,3.5vw,40px);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-bottom:16px
}
.catalyst-detail-page .mem-left h2 em {
font-style:italic;font-weight:400;color:var(--muted)
}
.catalyst-detail-page .mem-left p {
font-size:15px;color:var(--muted);line-height:1.65;margin-bottom:28px
}
.catalyst-detail-page .mem-includes {
list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:32px
}
.catalyst-detail-page .mem-includes li {
font-size:14px;color:var(--ink);display:flex;align-items:flex-start;gap:10px;line-height:1.5
}
.catalyst-detail-page .mem-includes li::before {
content:'✓';color:var(--purple);font-weight:700;flex-shrink:0;margin-top:1px
}
.catalyst-detail-page .mem-note {
font-size:12px;color:var(--muted);font-style:italic
}
.catalyst-detail-page .mem-right {

}
.catalyst-detail-page .mem-price-card {
background:white;border:1px solid var(--border);border-radius:12px;padding:36px;text-align:center;box-shadow:0 4px 24px rgba(0,0,0,.06)
}
.catalyst-detail-page .mem-price-label {
font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:16px
}
.catalyst-detail-page .mem-price {
font-family:'Inter',sans-serif;font-size:52px;font-weight:700;letter-spacing:-.04em;color:var(--ink);line-height:1;margin-bottom:4px
}
.catalyst-detail-page .mem-price-sub {
font-size:13px;color:var(--muted);margin-bottom:24px
}
.catalyst-detail-page .mem-divider {
height:1px;background:var(--border);margin:24px 0
}
.catalyst-detail-page .mem-fte {
font-size:14px;color:var(--ink);margin-bottom:6px;font-weight:500
}
.catalyst-detail-page .mem-fte-sub {
font-size:12px;color:var(--muted);line-height:1.5;margin-bottom:28px
}
.catalyst-detail-page .mem-cta {
display:block;width:100%;padding:14px;background:var(--purple);color:white;border-radius:6px;font-size:14px;font-weight:600;text-decoration:none;text-align:center;transition:opacity .2s;margin-bottom:10px;font-family:'DM Sans',sans-serif
}
.catalyst-detail-page .mem-cta:hover {
opacity:.88
}
.catalyst-detail-page .mem-cta-note {
font-size:11px;color:var(--muted);text-align:center
}
.catalyst-detail-page /* ── TEAM ── */
.team-grid {
display:grid;grid-template-columns:repeat(3,1fr);gap:14px
}
.catalyst-detail-page .team-card {
background:white;border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:transform .25s,border-color .25s
}
.catalyst-detail-page .team-card:hover {
transform:translateY(-3px);border-color:rgba(107,79,187,.25)
}
.catalyst-detail-page .tc-avatar {
height:160px;background:linear-gradient(135deg,#EDE8F7,#D4CBF0);display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;font-size:40px;font-weight:700;color:var(--purple)
}
.catalyst-detail-page .tc-body {
padding:20px
}
.catalyst-detail-page .tc-name {
font-family:'Inter',sans-serif;font-size:17px;font-weight:600;margin-bottom:4px
}
.catalyst-detail-page .tc-role {
font-size:12px;color:var(--purple);font-weight:500;margin-bottom:10px
}
.catalyst-detail-page .tc-bio {
font-size:13px;color:var(--muted);line-height:1.6
}
.catalyst-detail-page /* ── NETWORK STRIP ── */
.network-strip {
background:var(--purple);padding:64px 40px
}
.catalyst-detail-page .network-inner {
max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center
}
.catalyst-detail-page .network-inner h2 {
font-family:'Inter',sans-serif;font-size:clamp(26px,3.5vw,40px);font-weight:700;letter-spacing:-.02em;line-height:1.1;color:white;margin-bottom:16px
}
.catalyst-detail-page .network-inner h2 em {
font-style:italic;font-weight:400;color:var(--lime)
}
.catalyst-detail-page .network-inner p {
font-size:15px;color:rgba(255,255,255,.5);line-height:1.65
}
.catalyst-detail-page .network-stats {
display:grid;grid-template-columns:1fr 1fr;gap:14px
}
.catalyst-detail-page .ns-card {
background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:24px
}
.catalyst-detail-page .ns-num {
font-family:'Inter',sans-serif;font-size:36px;font-weight:700;color:white;letter-spacing:-.03em;line-height:1;margin-bottom:4px
}
.catalyst-detail-page .ns-num span {
color:var(--lime)
}
.catalyst-detail-page .ns-lbl {
font-size:12px;color:rgba(255,255,255,.4);line-height:1.4
}
@media(max-width:900px) {
.catalyst-detail-page .hero-inner {
grid-template-columns:1fr;gap:40px;padding:60px 20px 80px
}
.catalyst-detail-page .what-grid, .catalyst-detail-page .case-grid, .catalyst-detail-page .network-inner {
grid-template-columns:1fr
}
.catalyst-detail-page .whom-grid {
grid-template-columns:1fr
}
.catalyst-detail-page .process-steps {
grid-template-columns:1fr 1fr;gap:32px
}
.catalyst-detail-page .process-steps::before {
display:none
}
.catalyst-detail-page .ps {
padding:0
}
.catalyst-detail-page .membership-wrap {
grid-template-columns:1fr;gap:40px;padding:36px 24px
}
.catalyst-detail-page .team-grid {
grid-template-columns:1fr 1fr
}
.catalyst-detail-page .network-strip {
padding:48px 20px
}
.catalyst-detail-page .network-stats {
grid-template-columns:1fr 1fr
}
}
@media(max-width:480px) {
.catalyst-detail-page .team-grid {
grid-template-columns:1fr
}
}

.partner-banner{background:#5B3FA8;padding:80px 40px;overflow:hidden;position:relative;}
.partner-banner::before{content:"";position:absolute;top:-120px;right:-80px;width:400px;height:400px;background:rgba(255,255,255,.04);border-radius:50%;}
.partner-banner::after{content:"";position:absolute;bottom:-80px;left:-60px;width:280px;height:280px;background:rgba(255,255,255,.04);border-radius:50%;}
.partner-banner-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 360px;gap:80px;align-items:center;position:relative;z-index:1;}
.partner-banner-h2{font-family:"DM Serif Display",serif;font-size:clamp(28px,3vw,44px);font-weight:400;color:white;line-height:1.1;margin:0 0 16px;}
.partner-banner-h2 em{color:var(--lime);font-style:italic;}
.partner-banner-text{font-size:16px;line-height:1.65;color:rgba(255,255,255,.7);margin:0 0 28px;max-width:480px;}
.partner-banner-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;background:var(--lime);color:var(--ink);font-size:14px;font-weight:600;border-radius:6px;text-decoration:none;transition:transform .2s;}
.partner-banner-btn:hover{transform:translateY(-2px);}
.partner-banner-card{background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:28px;}
.pbc-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:12px;}
.pbc-name{font-size:20px;font-weight:600;color:white;margin-bottom:4px;}
.pbc-sub{font-size:14px;color:rgba(255,255,255,.5);margin-bottom:20px;}
.pbc-divider{border-top:1px solid rgba(255,255,255,.1);margin-bottom:16px;}
.pbc-value-label{font-size:12px;color:rgba(255,255,255,.4);margin-bottom:4px;}
.pbc-value{font-size:32px;font-weight:700;color:var(--lime);letter-spacing:-.02em;}
@media(max-width:768px){.partner-banner-inner{grid-template-columns:1fr;gap:40px;}.partner-banner{padding:60px 24px;}}

/* ─── Flywheel (hero) ──────────────────────────────────────────────────── */

    @keyframes spinOuter {
      from { transform: rotate(0deg); }
      to   { transform: rotate(360deg); }
    }
    @keyframes spinInner {
      from { transform: rotate(0deg); }
      to   { transform: rotate(-360deg); }
    }
    @keyframes counterOuter {
      from { transform: rotate(0deg); }
      to   { transform: rotate(-360deg); }
    }
    @keyframes counterInner {
      from { transform: rotate(0deg); }
      to   { transform: rotate(360deg); }
    }
    @keyframes ringPulse {
      0%,100% { opacity:0.2; }
      50%      { opacity:0.45; }
    }
    @media (prefers-reduced-motion: reduce) {
      .ring-outer, .ring-inner { animation: none !important; }
      .label-outer, .label-inner { animation: none !important; }
    }
    .fw-wrap {
      display: flex;
      flex-direction: column;
      align-items: center;
      padding: 3rem 0 2rem;
    }
    .fw-scene {
      position: relative;
      width: 560px;
      height: 560px;
    }
    .fw-svg {
      position: absolute;
      top: 0; left: 0;
      width: 100%; height: 100%;
      overflow: visible;
    }
    .ring-outer {
      transform-origin: 280px 280px;
      animation: spinOuter 28s linear infinite;
    }
    .ring-inner {
      transform-origin: 280px 280px;
      animation: spinInner 18s linear infinite;
    }
    .label-outer {
      animation: counterOuter 28s linear infinite;
      transform-origin: 0px 0px;
    }
    .label-inner {
      animation: counterInner 18s linear infinite;
      transform-origin: 0px 0px;
    }
.fw-scene{position:relative;width:100%;max-width:520px;aspect-ratio:1}
.fw-svg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:visible}
@media(max-width:900px){.fw-wrap{display:none}}
