/* ================================================================
   DANIEL JORGE — style.css v6.0 (definitive)
   Color System: Deep Forest Green · Champagne Gold · Warm Ivory
   Token approach: ALL custom props use --c- prefix for consistency
   ================================================================ */

:root {
  /* ── Brand greens ── */
  --c-green-950: #0a1a0d;
  --c-green-900: #0f1f13;
  --c-green-800: #142a18;
  --c-green-700: #1a3520;
  --c-green-600: #1E3D2F;
  --c-green-500: #285040;
  --c-green-400: #3a6b54;
  --c-green-300: #5a9078;
  --c-green-200: #8ec4aa;
  --c-green-100: #c2ddd0;
  --c-green-50:  #eaf3ee;

  /* ── Brand golds ── */
  --c-gold-800:  #7a5210;
  --c-gold-700:  #8f6118;
  --c-gold-600:  #A07830;
  --c-gold-500:  #b58f42;
  --c-gold-400:  #c9a85a;
  --c-gold-300:  #d9bc7a;
  --c-gold-200:  #e8d4a8;
  --c-gold-100:  #f3e9cc;
  --c-gold-50:   #faf5e8;

  /* ── Neutrals ── */
  --c-ivory:      #FAF7F2;
  --c-ivory-mid:  #F0EBE2;
  --c-ivory-deep: #E4DDD3;
  --c-white:      #ffffff;
  --c-charcoal:   #1a1a1a;
  --c-text:       #2c2c2c;
  --c-text-muted: #5a5a5a;
  --c-text-light: #999999;
  --c-divider:    #DDD8CF;

  /* ── Semantic tokens ── */
  --c-bg-page:    var(--c-ivory);
  --c-bg-muted:   var(--c-ivory-mid);
  --c-bg-dark:    var(--c-green-800);
  --c-bg-darkest: var(--c-green-900);
  --c-primary:    var(--c-green-600);
  --c-primary-h:  var(--c-green-500);
  --c-accent:     var(--c-gold-600);
  --c-accent-h:   var(--c-gold-500);

  /* Legacy aliases so older HTML inline styles still work */
  --primary:         var(--c-primary);
  --accent:          var(--c-accent);
  --c-text-muted:    #5a5a5a;
  --c-divider:       #DDD8CF;

  /* ── Typography ── */
  --ff-display: 'Cormorant Garamond', Georgia, serif;
  --ff-body:    'Outfit', sans-serif;
  --fs-xs:  0.75rem;   --fs-sm: 0.875rem; --fs-base: 1rem;
  --fs-md:  1.125rem;  --fs-lg: 1.25rem;  --fs-xl:   1.5rem;
  --fs-2xl: 1.875rem;  --fs-3xl:2.25rem;  --fs-4xl:  3rem;
  --fs-5xl: 3.75rem;
  --fw-regular:400; --fw-medium:500; --fw-semi:600; --fw-bold:700;
  --lh-tight:1.15; --lh-snug:1.35; --lh-normal:1.6; --lh-loose:1.75;

  /* ── Spacing (sp = space) ── */
  --sp-1:.25rem;  --sp-2:.5rem;   --sp-3:.75rem;  --sp-4:1rem;
  --sp-5:1.25rem; --sp-6:1.5rem;  --sp-8:2rem;    --sp-10:2.5rem;
  --sp-12:3rem;   --sp-16:4rem;   --sp-20:5rem;   --sp-24:6rem;
  --sp-32:8rem;

  /* Legacy --space-N aliases for inline HTML styles */
  --space-1:var(--sp-1);  --space-2:var(--sp-2);  --space-3:var(--sp-3);
  --space-4:var(--sp-4);  --space-5:var(--sp-5);  --space-6:var(--sp-6);
  --space-8:var(--sp-8);  --space-10:var(--sp-10);--space-12:var(--sp-12);
  --space-16:var(--sp-16);--space-20:var(--sp-20);--space-24:var(--sp-24);
  --space-32:var(--sp-32);

  /* ── Layout ── */
  --container:    1200px;
  --container-w:  1400px;
  --container-n:  820px;
  --pad:          clamp(1.25rem, 5vw, 2.5rem);
  --header-h:     80px;

  /* ── Shape ── */
  --r-sm:4px; --r-md:8px; --r-lg:12px; --r-xl:18px; --r-2xl:24px; --r-full:9999px;
  /* Legacy */
  --radius-sm:var(--r-sm); --radius-md:var(--r-md); --radius-lg:var(--r-lg);
  --radius-xl:var(--r-xl); --radius-full:var(--r-full);

  /* ── Shadows ── */
  --sh-xs:0 1px 3px rgba(0,0,0,.06);
  --sh-sm:0 2px 8px rgba(0,0,0,.08);
  --sh-md:0 4px 20px rgba(0,0,0,.10);
  --sh-lg:0 8px 40px rgba(0,0,0,.14);

  /* ── Motion ── */
  --ease-f:150ms ease; --ease-b:250ms ease; --ease-s:400ms ease;
}

/* ─── RESET ───────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--ff-body);font-size:var(--fs-base);line-height:var(--lh-normal);
  color:var(--c-text);background:var(--c-bg-page);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,video{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
ul,ol{list-style:none;}
button{cursor:pointer;font-family:inherit;border:none;background:none;}
input,textarea,select{font-family:inherit;}
address{font-style:normal;}

/* ─── LAYOUT ──────────────────────────────────────────────── */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--pad);}
.container--wide{max-width:var(--container-w);}
.container--narrow{max-width:var(--container-n);}

/* ─── TYPOGRAPHY ──────────────────────────────────────────── */
h1,h2,h3,h4,h5,h6{
  font-family:var(--ff-display);font-weight:var(--fw-semi);
  line-height:var(--lh-tight);color:var(--c-charcoal);
}
h1{font-size:clamp(2.25rem,5vw,var(--fs-5xl));letter-spacing:-.025em;}
h2{font-size:clamp(1.75rem,3.5vw,var(--fs-4xl));letter-spacing:-.015em;}
h3{font-size:clamp(1.2rem,2.5vw,var(--fs-2xl));}
h4{font-size:var(--fs-xl);}
p{margin-bottom:var(--sp-4);line-height:var(--lh-loose);}
p:last-child{margin-bottom:0;}
strong{font-weight:var(--fw-semi);}
em{font-style:italic;}

.eyebrow{
  font-family:var(--ff-body);font-size:var(--fs-sm);
  font-weight:var(--fw-semi);letter-spacing:.12em;text-transform:uppercase;
  color:var(--c-accent);display:block;margin-bottom:var(--sp-3);
}
.lead{font-size:var(--fs-lg);line-height:var(--lh-loose);color:var(--c-text-muted);}
.text-muted{color:var(--c-text-muted);}
.text-center{text-align:center;}
.w-full{width:100%;}
.hidden{display:none!important;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.divider{
  width:48px;height:2px;background:var(--c-accent);margin:var(--sp-5) 0;
}
.disclaimer{
  font-size:var(--fs-xs);color:var(--c-text-light);line-height:var(--lh-loose);
  padding:var(--sp-3) var(--sp-4);background:var(--c-ivory-mid);
  border-radius:var(--r-sm);border-left:2px solid var(--c-divider);
  margin-top:var(--sp-4);
}

/* ─── SECTIONS ─────────────────────────────────────────────── */
.section        {padding-block:clamp(var(--sp-16),7vw,var(--sp-32));}
.section--sm    {padding-block:clamp(var(--sp-10),4vw,var(--sp-20));}
.section--muted {background:var(--c-bg-muted);}
.section--dark  {background:var(--c-bg-dark);}
.section--darkest{background:var(--c-bg-darkest);}

.section--dark h1,.section--dark h2,.section--dark h3,
.section--darkest h1,.section--darkest h2,.section--darkest h3{color:var(--c-white);}
.section--dark .eyebrow,.section--darkest .eyebrow{color:var(--c-gold-300);}
.section--dark p,.section--dark .lead,
.section--darkest p,.section--darkest .lead{color:rgba(255,255,255,.78);}

.section__head{
  text-align:center;max-width:680px;margin-inline:auto;
  margin-bottom:clamp(var(--sp-10),5vw,var(--sp-16));
}
.section__head p{font-size:var(--fs-lg);color:var(--c-text-muted);margin-top:var(--sp-4);}
.section--dark .section__head p,
.section--darkest .section__head p{color:rgba(255,255,255,.7);}

/* ─── HEADER ─────────────────────────────────────────────── */
#siteHeader{
  position:fixed;inset-block-start:0;inset-inline:0;
  z-index:1000;height:var(--header-h);display:flex;align-items:center;
  background:transparent;
  transition:background var(--ease-b),box-shadow var(--ease-b);
}
#siteHeader.scrolled{
  background:rgba(250,247,242,.97);backdrop-filter:blur(12px);
  box-shadow:0 1px 0 var(--c-divider);
}
#siteHeader.dark-mode.scrolled{
  background:rgba(20,42,24,.97);backdrop-filter:blur(12px);
}

.header__inner{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--pad);
}
.header__logo{display:flex;flex-direction:column;line-height:1;}
.header__logo-name{
  font-family:var(--ff-display);font-size:1.35rem;font-weight:var(--fw-semi);
  color:var(--c-charcoal);letter-spacing:-.01em;transition:color var(--ease-f);
}
.header__logo-tagline{
  font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--c-accent);margin-top:2px;
}
#siteHeader.dark-mode .header__logo-name,
#siteHeader.dark-mode.scrolled .header__logo-name{color:var(--c-white);}
#siteHeader.dark-mode .header__logo-tagline{color:var(--c-gold-300);}

.header__nav{display:flex;align-items:center;gap:var(--sp-6);}
.header__nav a{
  font-size:var(--fs-sm);font-weight:var(--fw-medium);
  color:var(--c-text);letter-spacing:.02em;transition:color var(--ease-f);position:relative;
}
.header__nav a::after{
  content:'';position:absolute;bottom:-3px;left:0;
  width:0;height:1.5px;background:var(--c-accent);transition:width var(--ease-b);
}
.header__nav a:hover{color:var(--c-primary);}
.header__nav a:hover::after,.header__nav a[aria-current]::after{width:100%;}
#siteHeader.dark-mode .header__nav a{color:rgba(255,255,255,.85);}
#siteHeader.dark-mode .header__nav a:hover{color:var(--c-white);}

.header__cta{display:flex;align-items:center;gap:var(--sp-3);}

#hamburgerBtn{
  display:none;flex-direction:column;gap:5px;
  padding:var(--sp-2);z-index:1100;
}
#hamburgerBtn span{
  display:block;width:24px;height:2px;background:var(--c-charcoal);
  transition:all var(--ease-b);transform-origin:center;
}
#siteHeader.dark-mode #hamburgerBtn span{background:var(--c-white);}
#hamburgerBtn.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
#hamburgerBtn.open span:nth-child(2){opacity:0;}
#hamburgerBtn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

#mobileDrawer{
  position:fixed;inset:0;z-index:1050;
  display:flex;justify-content:flex-end;
  visibility:hidden;pointer-events:none;
}
#mobileDrawer::before{
  content:'';position:absolute;inset:0;
  background:rgba(0,0,0,.5);opacity:0;transition:opacity var(--ease-b);
}
#mobileDrawer.open{visibility:visible;pointer-events:auto;}
#mobileDrawer.open::before{opacity:1;}
.mobile-drawer__panel{
  position:relative;width:min(320px,90vw);height:100%;
  background:var(--c-ivory);
  transform:translateX(100%);
  transition:transform var(--ease-s) cubic-bezier(.4,0,.2,1);
  overflow-y:auto;display:flex;flex-direction:column;
  padding:var(--sp-8) var(--sp-6);
}
#mobileDrawer.open .mobile-drawer__panel{transform:translateX(0);}
.mobile-drawer__close{
  position:absolute;top:var(--sp-5);right:var(--sp-5);
  font-size:1.5rem;color:var(--c-text-muted);line-height:1;
}
.mobile-drawer__logo{
  font-family:var(--ff-display);font-size:1.2rem;
  font-weight:var(--fw-semi);color:var(--c-charcoal);margin-bottom:var(--sp-8);
}
.mobile-drawer__nav{display:flex;flex-direction:column;flex:1;}
.mobile-drawer__nav a{
  font-family:var(--ff-display);font-size:var(--fs-lg);font-weight:500;
  color:var(--c-text);padding:var(--sp-4) 0;border-bottom:1px solid var(--c-divider);
  transition:color var(--ease-f),padding-left var(--ease-f);
}
.mobile-drawer__nav a:hover{color:var(--c-primary);padding-left:var(--sp-2);}
.mobile-drawer__footer{margin-top:var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-3);}

/* ─── BUTTONS ─────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  gap:var(--sp-2);padding:.72em 1.75em;
  font-family:var(--ff-body);font-size:var(--fs-sm);font-weight:var(--fw-semi);
  letter-spacing:.04em;border-radius:var(--r-sm);border:2px solid transparent;
  cursor:pointer;white-space:nowrap;
  transition:background var(--ease-b),border-color var(--ease-b),
             color var(--ease-b),transform var(--ease-f),box-shadow var(--ease-b);
}
.btn--primary{background:var(--c-primary);color:var(--c-white);border-color:var(--c-primary);}
.btn--primary:hover{background:var(--c-primary-h);border-color:var(--c-primary-h);transform:translateY(-1px);box-shadow:0 6px 20px rgba(30,61,47,.25);}
.btn--gold{background:var(--c-accent);color:var(--c-white);border-color:var(--c-accent);}
.btn--gold:hover{background:var(--c-accent-h);border-color:var(--c-accent-h);transform:translateY(-1px);box-shadow:0 6px 20px rgba(160,120,48,.3);}
.btn--outline{background:transparent;color:var(--c-primary);border-color:var(--c-primary);}
.btn--outline:hover{background:var(--c-primary);color:var(--c-white);transform:translateY(-1px);}
.btn--ghost{background:transparent;color:var(--c-white);border-color:rgba(255,255,255,.45);}
.btn--ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.85);}
.btn--ghost-dark{background:transparent;color:var(--c-primary);border-color:rgba(30,61,47,.28);}
.btn--ghost-dark:hover{background:var(--c-primary);color:var(--c-white);border-color:var(--c-primary);}
.btn--sm{padding:.5em 1.2em;font-size:var(--fs-xs);}
.btn--lg{padding:.95em 2.2em;font-size:var(--fs-md);}

/* ─── HERO ─────────────────────────────────────────────────── */
.hero{
  position:relative;min-height:100svh;
  display:flex;align-items:center;
  background:var(--c-bg-darkest);overflow:hidden;
}
.hero__bg{
  position:absolute;inset:0;
  background-image:var(--hero-image);background-size:cover;background-position:center;
  transform:scale(1.04);transition:transform 8s ease;will-change:transform;
}
.hero__bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to bottom,
    rgba(13,31,17,.55) 0%, rgba(18,38,24,.68) 40%, rgba(13,31,17,.88) 100%);
}
.hero.hero--loaded .hero__bg{transform:scale(1);}
.hero__inner{
  position:relative;z-index:2;max-width:860px;
  padding-block:calc(var(--header-h) + var(--sp-16)) var(--sp-20);
}
.hero__eyebrow{
  font-size:var(--fs-sm);font-weight:var(--fw-semi);
  letter-spacing:.15em;text-transform:uppercase;color:var(--c-gold-300);
  display:block;margin-bottom:var(--sp-5);
  opacity:0;animation:fadeUp .7s .2s forwards ease;
}
.hero__headline{
  font-family:var(--ff-display);font-size:clamp(2.5rem,6vw,4.5rem);
  font-weight:var(--fw-semi);color:var(--c-white);
  line-height:1.1;letter-spacing:-.025em;margin-bottom:var(--sp-6);
  opacity:0;animation:fadeUp .7s .35s forwards ease;
}
.hero__headline em{font-style:italic;color:var(--c-gold-300);}
.hero__sub{
  font-size:var(--fs-lg);color:rgba(255,255,255,.82);
  line-height:var(--lh-loose);max-width:680px;margin-bottom:var(--sp-8);
  opacity:0;animation:fadeUp .7s .5s forwards ease;
}
.hero__actions{
  display:flex;flex-wrap:wrap;gap:var(--sp-4);margin-bottom:var(--sp-10);
  opacity:0;animation:fadeUp .7s .65s forwards ease;
}
.hero__meta{
  display:flex;flex-wrap:wrap;gap:var(--sp-8);
  padding-top:var(--sp-8);border-top:1px solid rgba(255,255,255,.12);
  opacity:0;animation:fadeUp .7s .8s forwards ease;
}
.hero__meta-item{display:flex;flex-direction:column;gap:2px;}
.hero__meta-item strong{
  font-family:var(--ff-display);font-size:var(--fs-2xl);
  font-weight:var(--fw-semi);color:var(--c-white);line-height:1;
}
.hero__meta-item span{
  font-size:var(--fs-xs);letter-spacing:.1em;
  text-transform:uppercase;color:var(--c-gold-300);
}

/* Page hero */
.page-hero{
  position:relative;overflow:hidden;background:var(--c-bg-dark);
  padding-top:calc(var(--header-h) + var(--sp-16));padding-bottom:var(--sp-16);
}
.page-hero::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 15% 60%,rgba(160,120,48,.07) 0%,transparent 55%),
    radial-gradient(ellipse at 85% 20%,rgba(30,61,47,.25) 0%,transparent 60%);
}
.page-hero__inner{position:relative;z-index:1;max-width:720px;}
.page-hero__kicker{
  font-size:var(--fs-sm);font-weight:var(--fw-semi);
  letter-spacing:.15em;text-transform:uppercase;
  color:var(--c-gold-300);display:block;margin-bottom:var(--sp-4);
}
.page-hero__title{
  font-family:var(--ff-display);font-size:clamp(2rem,4vw,3.5rem);
  color:var(--c-white);margin-bottom:var(--sp-5);
}
.page-hero__lead{
  font-size:var(--fs-lg);color:rgba(255,255,255,.78);
  line-height:var(--lh-loose);margin-bottom:0;
}

/* ─── GRIDS / SPLIT ───────────────────────────────────────── */
.grid{display:grid;gap:var(--sp-6);}
.grid--2{grid-template-columns:repeat(2,1fr);}
.grid--3{grid-template-columns:repeat(3,1fr);}
.grid--4{grid-template-columns:repeat(4,1fr);}
.grid>.card{display:flex;flex-direction:column;}
.split{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(var(--sp-10),5vw,var(--sp-20));align-items:start;
}
.split--wide{grid-template-columns:1.4fr 1fr;}

/* ─── CARDS ───────────────────────────────────────────────── */
.card{
  background:var(--c-white);border:1px solid var(--c-divider);
  border-radius:var(--r-lg);padding:var(--sp-8);
  box-shadow:var(--sh-sm);display:flex;flex-direction:column;
  transition:box-shadow var(--ease-b),transform var(--ease-b);
}
.card:hover{box-shadow:var(--sh-md);transform:translateY(-2px);}
.card--featured{
  border-color:var(--c-accent);
  box-shadow:0 0 0 1px var(--c-accent),var(--sh-sm);
}
.card--featured:hover{box-shadow:0 0 0 1px var(--c-accent),var(--sh-md);}
.card--dark{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);}
.card--dark h3{color:var(--c-white);}
.card--gold-top{border-top:3px solid var(--c-accent);}
.card__icon{
  width:48px;height:48px;background:var(--c-green-50);
  border-radius:var(--r-md);display:flex;align-items:center;
  justify-content:center;font-size:1.4rem;margin-bottom:var(--sp-5);flex-shrink:0;
}

/* ─── CHECKLIST ───────────────────────────────────────────── */
.checklist{display:flex;flex-direction:column;gap:var(--sp-3);}
.checklist li{display:flex;align-items:flex-start;gap:var(--sp-3);line-height:var(--lh-normal);}
.checklist li::before{
  content:'';flex-shrink:0;width:20px;height:20px;margin-top:2px;border-radius:50%;
  background:var(--c-green-50)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6l3 3 5-5' stroke='%231E3D2F' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E")
    center/12px no-repeat;
  border:1.5px solid var(--c-green-200);
}
.section--dark .checklist li::before,
.section--darkest .checklist li::before,
.card--dark .checklist li::before,
.engine .checklist li::before{
  background-color:rgba(255,255,255,.08);border-color:var(--c-gold-400);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6l3 3 5-5' stroke='%23d9bc7a' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* ─── NUMBERED STEPS ──────────────────────────────────────── */
.steps{counter-reset:step;display:flex;flex-direction:column;gap:var(--sp-5);}
.steps li{
  counter-increment:step;
  display:grid;grid-template-columns:36px 1fr;gap:var(--sp-4);align-items:start;
}
.steps li::before{
  content:counter(step);
  width:36px;height:36px;background:var(--c-primary);color:var(--c-white);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:var(--fs-sm);font-weight:var(--fw-bold);flex-shrink:0;
}
.steps li>*{padding-top:6px;}

/* ─── STATS ───────────────────────────────────────────────── */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4);}
.stat{text-align:center;padding:var(--sp-8) var(--sp-4);}
.stat__number{
  font-family:var(--ff-display);font-size:clamp(2.5rem,5vw,3.75rem);
  font-weight:var(--fw-semi);color:var(--c-white);line-height:1;display:block;
}
.stat__label{
  font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;
  color:var(--c-gold-300);margin-top:var(--sp-2);
}

/* ─── TRUST BAR ───────────────────────────────────────────── */
.trust-bar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:var(--sp-3) var(--sp-5);
  padding:var(--sp-5) 0;border-top:1px solid var(--c-divider);border-bottom:1px solid var(--c-divider);
}
.trust-bar__item{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--c-charcoal);}
.trust-bar__sep{color:var(--c-divider);font-size:1.2rem;line-height:1;}

/* ─── BREADCRUMB ──────────────────────────────────────────── */
.breadcrumb{
  display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);
  font-size:var(--fs-sm);color:rgba(255,255,255,.5);margin-bottom:var(--sp-5);
}
.breadcrumb a{color:rgba(255,255,255,.65);transition:color var(--ease-f);}
.breadcrumb a:hover{color:var(--c-gold-300);}
.breadcrumb__sep{color:rgba(255,255,255,.3);}

/* ─── BLOCKQUOTE ──────────────────────────────────────────── */
.blockquote{border-left:3px solid var(--c-accent);padding-left:var(--sp-6);margin:var(--sp-8) 0;}
.blockquote p{
  font-family:var(--ff-display);font-size:var(--fs-xl);font-style:italic;
  color:var(--c-green-700);line-height:var(--lh-snug);
}
.blockquote cite{
  font-size:var(--fs-sm);color:var(--c-text-muted);
  display:block;margin-top:var(--sp-3);font-style:normal;letter-spacing:.04em;
}
.blockquote-centered{
  text-align:center;border-left:none;
  border-top:3px solid var(--c-accent);padding:var(--sp-10) var(--sp-8) 0;
}
.blockquote-centered p{color:var(--c-green-700);}

/* ─── FAQ ─────────────────────────────────────────────────── */
.faq{display:flex;flex-direction:column;max-width:780px;margin-inline:auto;}
.faq-item{border-bottom:1px solid var(--c-divider);}
.faq-item:first-child{border-top:1px solid var(--c-divider);}
.faq-question{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);
  padding:var(--sp-5) 0;
  font-family:var(--ff-display);font-size:var(--fs-lg);font-weight:var(--fw-semi);
  color:var(--c-charcoal);text-align:left;cursor:pointer;transition:color var(--ease-f);
}
.faq-question:hover{color:var(--c-primary);}
.faq-question::after{
  content:'+';font-size:1.5rem;font-weight:300;flex-shrink:0;
  color:var(--c-accent);transition:transform var(--ease-b);
}
.faq-question[aria-expanded="true"]::after{transform:rotate(45deg);}
.faq-answer{overflow:hidden;max-height:0;transition:max-height .35s ease;}
.faq-answer__inner{
  padding-bottom:var(--sp-6);color:var(--c-text-muted);
  font-size:var(--fs-md);line-height:var(--lh-loose);
}

/* ─── FORMS ───────────────────────────────────────────────── */
.form{display:flex;flex-direction:column;gap:var(--sp-5);}
.form-group{display:flex;flex-direction:column;gap:var(--sp-2);}
.form-row{display:grid;gap:var(--sp-4);}
.form-row--2{grid-template-columns:1fr 1fr;}
.form-label{font-size:var(--fs-sm);font-weight:var(--fw-semi);color:var(--c-charcoal);letter-spacing:.02em;}
.form-input{
  width:100%;padding:.75em 1em;background:var(--c-white);
  border:1.5px solid var(--c-divider);border-radius:var(--r-sm);
  font-size:var(--fs-base);color:var(--c-text);appearance:none;
  transition:border-color var(--ease-f),box-shadow var(--ease-f);
}
.form-input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(30,61,47,.1);}
.form-input.error{border-color:#c0392b;}
textarea.form-input{resize:vertical;min-height:120px;}
select.form-input{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1em center;padding-right:2.5em;
}
.checkbox{display:flex;align-items:flex-start;gap:var(--sp-3);cursor:pointer;font-size:var(--fs-sm);color:var(--c-text-muted);}
.checkbox input{width:16px;height:16px;margin-top:2px;flex-shrink:0;accent-color:var(--c-primary);}
.form-honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none;}
.form-status{font-size:var(--fs-sm);min-height:1.4em;}
.form-status.success{color:var(--c-green-500);}
.form-status.error{color:#c0392b;}

/* ─── CTA BANNER ──────────────────────────────────────────── */
.cta-banner{
  background:linear-gradient(135deg,var(--c-green-800) 0%,var(--c-green-900) 100%);
  border-radius:var(--r-2xl);
  padding:clamp(var(--sp-12),6vw,var(--sp-20)) clamp(var(--sp-8),5vw,var(--sp-16));
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--sp-8);position:relative;overflow:hidden;
}
.cta-banner::before{
  content:'';position:absolute;top:-100px;right:-100px;
  width:400px;height:400px;border-radius:50%;
  background:rgba(160,120,48,.07);pointer-events:none;
}
.cta-banner__text{position:relative;}
.cta-banner__text h2{color:var(--c-white);margin-bottom:var(--sp-3);}
.cta-banner__text p{color:rgba(255,255,255,.72);margin:0;font-size:var(--fs-lg);}
.cta-banner__actions{display:flex;gap:var(--sp-3);flex-wrap:wrap;flex-shrink:0;position:relative;}

/* ─── ENGINE GRID ─────────────────────────────────────────── */
.engine-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;border-radius:var(--r-2xl);overflow:hidden;}
.engine{
  padding:clamp(var(--sp-10),5vw,var(--sp-20)) clamp(var(--sp-8),4vw,var(--sp-16));
  position:relative;overflow:hidden;
}
.engine--faith{background:var(--c-green-800);}
.engine--real{background:var(--c-green-900);}
.engine::before{
  content:'';position:absolute;top:-80px;right:-80px;
  width:280px;height:280px;border-radius:50%;
  background:rgba(160,120,48,.06);pointer-events:none;
}
.engine__badge{
  display:inline-block;font-size:var(--fs-xs);font-weight:var(--fw-semi);
  letter-spacing:.15em;text-transform:uppercase;
  color:var(--c-gold-300);background:rgba(160,120,48,.12);
  padding:4px 12px;border-radius:var(--r-full);
  border:1px solid rgba(160,120,48,.2);margin-bottom:var(--sp-5);
}
.engine h2,.engine h3{color:var(--c-white);margin-bottom:var(--sp-4);}
.engine h3{font-size:clamp(var(--fs-2xl),3vw,var(--fs-3xl));}
.engine p{color:rgba(255,255,255,.72);font-size:var(--fs-md);margin-bottom:var(--sp-6);}
.engine .checklist{margin-bottom:var(--sp-6);}
.engine .checklist li{color:rgba(255,255,255,.8);font-size:var(--fs-sm);}

/* ─── FIVE PILLARS ─────────────────────────────────────────── */

/* Index homepage — 5 pillars on dark bg, ONE ROW */
.pillar-grid--5{
  display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-4);
}

/* Mentorship — 5 pillars on dark bg, high contrast */
.pillar-grid--5-mento{
  display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-4);
}

/* Stewardship — 6 volumes, 3+3 */
.pillar-grid--6{
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5);
}

/* Common pillar base — index (dark section) */
.pillar-grid--5 .pillar,
.pillar-grid--5-mento .pillar{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-top:3px solid var(--c-gold-400);
  border-radius:var(--r-md);padding:var(--sp-6) var(--sp-5);
  transition:background var(--ease-b);
}
.pillar-grid--5 .pillar:hover,
.pillar-grid--5-mento .pillar:hover{background:rgba(255,255,255,.1);}
.pillar-grid--5 .pillar__number,
.pillar-grid--5-mento .pillar__number{
  font-family:var(--ff-display);font-size:2.5rem;font-weight:300;
  color:rgba(217,188,122,.3);line-height:1;margin-bottom:var(--sp-3);
}
.pillar-grid--5 h3,
.pillar-grid--5-mento h3{
  color:var(--c-white)!important;font-size:var(--fs-lg);margin-bottom:var(--sp-2);
}
.pillar-grid--5 p,
.pillar-grid--5-mento p{
  color:rgba(255,255,255,.78)!important;font-size:var(--fs-sm);margin:0;
}

/* Stewardship pillars */
.pillar-grid--6 .pillar{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-top:2px solid rgba(255,255,255,.12);
  border-radius:var(--r-md);padding:var(--sp-7) var(--sp-6);
  transition:background var(--ease-b);
}
.pillar-grid--6 .pillar:nth-child(1){border-top-color:var(--c-gold-400);}
.pillar-grid--6 .pillar:hover{background:rgba(255,255,255,.09);}
.pillar-grid--6 .pillar__number{
  font-family:var(--ff-display);font-size:2.5rem;font-weight:300;
  color:rgba(217,188,122,.25);line-height:1;margin-bottom:var(--sp-3);
}
.pillar-grid--6 h3{color:var(--c-white);font-size:var(--fs-xl);margin-bottom:var(--sp-3);}
.pillar-grid--6 p{color:rgba(255,255,255,.68);font-size:var(--fs-sm);margin:0;}

/* ─── ECOSYSTEM GRID ───────────────────────────────────────── */

/* 5 companies in ONE ROW using display:contents trick */
.eco-5-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:var(--sp-4);
}
/* eco-last-row: transparent wrapper that lets children flow naturally into the grid */
.eco-last-row{display:contents;}

.eco-card{
  background:var(--c-white);border:1px solid var(--c-divider);
  border-top:3px solid var(--c-accent);border-radius:var(--r-md);
  padding:var(--sp-6);display:flex;flex-direction:column;
  transition:box-shadow var(--ease-b),transform var(--ease-b);
}
.eco-card:hover{box-shadow:var(--sh-md);transform:translateY(-2px);}
.eco-card__name{
  font-family:var(--ff-display);font-size:var(--fs-lg);
  font-weight:var(--fw-semi);color:var(--c-primary);margin-bottom:var(--sp-2);
}
.eco-card__role{
  font-size:var(--fs-xs);font-weight:var(--fw-semi);letter-spacing:.1em;
  text-transform:uppercase;color:var(--c-accent);margin-bottom:var(--sp-3);
}
.eco-card p{font-size:var(--fs-sm);color:var(--c-text-muted);margin:0;flex:1;}
.eco-card__link{
  font-size:var(--fs-sm);color:var(--c-accent);font-weight:var(--fw-semi);
  display:inline-block;margin-top:var(--sp-3);
}

/* ─── INVEST PAGE SPECIFIC ─────────────────────────────────── */
.invest-split{
  display:grid;grid-template-columns:1fr 1fr;
  gap:var(--sp-12);align-items:start;
  margin-bottom:var(--sp-16);
}
.invest-focus-card{
  background:var(--c-white);border:1.5px solid var(--c-accent);
  border-radius:var(--r-lg);padding:var(--sp-8);
  box-shadow:0 0 0 1px var(--c-gold-100),var(--sh-sm);
}
.invest-focus-divider{height:1px;background:var(--c-divider);margin:var(--sp-6) 0;}
.invest-structure{
  font-family:var(--ff-display);font-size:var(--fs-xl);
  font-weight:var(--fw-semi);color:var(--c-primary);margin-bottom:var(--sp-1);
}
.invest-structure-label{
  font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;
  color:var(--c-text-muted);margin-bottom:var(--sp-5);
}

/* ─── PROFILE IMAGE ────────────────────────────────────────── */
.profile-col{position:relative;}
.profile-img-wrap{
  border-radius:var(--r-2xl);overflow:hidden;
  background:linear-gradient(160deg,var(--c-green-50) 0%,var(--c-ivory-deep) 100%);
  aspect-ratio:4/5;
}
.profile-img{width:100%;height:100%;object-fit:cover;object-position:top center;}
.pull-quote{
  position:absolute;bottom:-1.5rem;left:-1.5rem;
  background:var(--c-white);border-radius:var(--r-md);
  padding:var(--sp-5) var(--sp-6);box-shadow:var(--sh-lg);max-width:260px;
}
.pull-quote p{
  font-family:var(--ff-display);font-size:var(--fs-md);
  font-style:italic;color:var(--c-green-700);margin:0;
}
.pull-quote cite{
  font-size:var(--fs-xs);color:var(--c-text-muted);
  display:block;margin-top:var(--sp-2);font-style:normal;
}

/* ─── TESTIMONIALS ─────────────────────────────────────────── */
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-6);}
.testimonial{
  background:var(--c-white);border:1px solid var(--c-divider);
  border-radius:var(--r-lg);padding:var(--sp-8);position:relative;
}
.testimonial::before{
  content:'"';font-family:var(--ff-display);font-size:5rem;line-height:.5;
  color:var(--c-gold-200);position:absolute;top:var(--sp-6);left:var(--sp-6);
}
.testimonial__body{
  font-size:var(--fs-md);font-style:italic;color:var(--c-text);
  padding-top:var(--sp-6);line-height:var(--lh-loose);margin-bottom:var(--sp-5);
}
.testimonial__author{display:flex;flex-direction:column;gap:2px;}
.testimonial__author strong{font-size:var(--fs-sm);color:var(--c-charcoal);}
.testimonial__author span{font-size:var(--fs-xs);color:var(--c-text-muted);}

/* ─── CONTACT CARDS ────────────────────────────────────────── */
.contact-cards{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:var(--sp-5);margin-bottom:var(--sp-12);
}
.contact-card{
  background:var(--c-white);border:1px solid var(--c-divider);
  border-top:3px solid var(--c-accent);border-radius:var(--r-lg);
  padding:var(--sp-6);text-align:center;
  transition:box-shadow var(--ease-b),transform var(--ease-b);
}
.contact-card:hover{box-shadow:var(--sh-md);transform:translateY(-2px);}
.contact-card__icon{font-size:2rem;margin-bottom:var(--sp-3);}
.contact-card__label{
  font-size:var(--fs-xs);font-weight:var(--fw-semi);letter-spacing:.12em;
  text-transform:uppercase;color:var(--c-accent);margin-bottom:var(--sp-2);
}
.contact-card__value{
  font-family:var(--ff-display);font-size:var(--fs-lg);
  font-weight:var(--fw-semi);color:var(--c-primary);
  display:block;margin-bottom:var(--sp-2);transition:color var(--ease-f);
}
a.contact-card__value:hover{color:var(--c-primary-h);}
.contact-card__note{font-size:var(--fs-xs);color:var(--c-text-light);margin:0;}
.quick-connect{display:flex;flex-direction:column;gap:var(--sp-3);}

/* ─── BOOK COVER ───────────────────────────────────────────── */
.book-cover-wrap{
  background:var(--c-green-800);border-radius:var(--r-2xl);
  padding:var(--sp-10);text-align:center;position:relative;overflow:hidden;
}
.book-cover-wrap::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 30% 70%,rgba(160,120,48,.15) 0%,transparent 60%);
}
.book-cover{
  width:160px;height:220px;
  background:linear-gradient(135deg,var(--c-gold-600),var(--c-gold-800));
  border-radius:8px;margin:0 auto var(--sp-6);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--sp-2);
  box-shadow:0 20px 60px rgba(0,0,0,.4);position:relative;z-index:1;
}
.book-cover__title{font-family:var(--ff-display);font-size:1.4rem;font-weight:var(--fw-semi);color:var(--c-white);}
.book-cover__vol{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.65);}
.book-cover__sub{font-family:var(--ff-display);font-size:.85rem;font-style:italic;color:rgba(255,255,255,.85);margin-top:var(--sp-2);}
.book-cover__note{color:rgba(255,255,255,.65);font-size:var(--fs-sm);line-height:1.7;position:relative;z-index:1;}

/* ─── MISC ─────────────────────────────────────────────────── */
.info-box{
  background:var(--c-green-50);border-left:3px solid var(--c-accent);
  border-radius:var(--r-sm);padding:var(--sp-4) var(--sp-5);
  font-size:var(--fs-sm);color:var(--c-text-muted);
}
.info-box p{margin:0;}
.thanks-icon{
  width:80px;height:80px;border-radius:50%;
  background:var(--c-green-50);border:2px solid var(--c-green-200);
  display:flex;align-items:center;justify-content:center;
  font-size:2rem;color:var(--c-primary);font-weight:700;margin:0 auto var(--sp-8);
}

/* ─── FOOTER ───────────────────────────────────────────────── */
#siteFooter{background:var(--c-green-900);color:rgba(255,255,255,.7);padding-top:var(--sp-20);padding-bottom:var(--sp-10);}
.footer__grid{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--sp-10);
  padding-bottom:var(--sp-12);border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:var(--sp-8);
}
.footer__brand-name{font-family:var(--ff-display);font-size:1.5rem;font-weight:var(--fw-semi);color:var(--c-white);display:block;margin-bottom:var(--sp-2);}
.footer__brand-tag{font-size:var(--fs-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--c-gold-300);display:block;margin-bottom:var(--sp-5);}
.footer__bio{font-size:var(--fs-sm);color:rgba(255,255,255,.55);line-height:var(--lh-loose);margin-bottom:var(--sp-5);}
.footer__contact{display:flex;flex-direction:column;gap:var(--sp-2);}
.footer__contact a,.footer__contact span{font-size:var(--fs-sm);color:rgba(255,255,255,.6);transition:color var(--ease-f);}
.footer__contact a:hover{color:var(--c-gold-300);}
.footer__col h4{font-family:var(--ff-body);font-size:var(--fs-xs);font-weight:var(--fw-semi);letter-spacing:.15em;text-transform:uppercase;color:var(--c-gold-300);margin-bottom:var(--sp-5);}
.footer__links{display:flex;flex-direction:column;gap:var(--sp-3);}
.footer__links a{font-size:var(--fs-sm);color:rgba(255,255,255,.6);transition:color var(--ease-f),padding-left var(--ease-f);}
.footer__links a:hover{color:var(--c-white);padding-left:4px;}
.footer__bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-4);font-size:var(--fs-xs);color:rgba(255,255,255,.35);}
.footer__bottom a{color:rgba(255,255,255,.45);transition:color var(--ease-f);}
.footer__bottom a:hover{color:var(--c-gold-300);}
.footer__license{font-size:var(--fs-xs);color:rgba(255,255,255,.4);margin-top:var(--sp-3);}

/* ─── MOBILE BAR ──────────────────────────────────────────── */
#mobileBottomBar{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:900;
  background:var(--c-green-800);border-top:1px solid rgba(255,255,255,.08);
  padding:var(--sp-3) var(--sp-4);
}
.mobile-bottom-bar__inner{display:flex;align-items:center;gap:var(--sp-3);}
.mobile-bottom-bar__inner .btn{flex:1;justify-content:center;}

/* ─── ANIMATIONS ──────────────────────────────────────────── */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-left{opacity:0;transform:translateX(-28px);transition:opacity .65s ease,transform .65s ease;}
.reveal-left.visible{opacity:1;transform:translateX(0);}
.reveal-right{opacity:0;transform:translateX(28px);transition:opacity .65s ease,transform .65s ease;}
.reveal-right.visible{opacity:1;transform:translateX(0);}
.reveal-delay-1{transition-delay:.1s;} .reveal-delay-2{transition-delay:.2s;}
.reveal-delay-3{transition-delay:.3s;} .reveal-delay-4{transition-delay:.4s;}

/* ─── RESPONSIVE ──────────────────────────────────────────── */
@media(max-width:1400px){
  .eco-5-grid{grid-template-columns:repeat(5,1fr);}
  .pillar-grid--5,.pillar-grid--5-mento{grid-template-columns:repeat(5,1fr);}
}
@media(max-width:1200px){
  .pillar-grid--5,.pillar-grid--5-mento{grid-template-columns:repeat(3,1fr);}
  .eco-5-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:1024px){
  .footer__grid{grid-template-columns:1fr 1fr;gap:var(--sp-8);}
  .stats{grid-template-columns:repeat(2,1fr);}
  .contact-cards{grid-template-columns:repeat(2,1fr);}
  .pillar-grid--6{grid-template-columns:repeat(2,1fr);}
  .testimonial-grid{grid-template-columns:1fr 1fr;}
  .invest-split{grid-template-columns:1fr;gap:var(--sp-8);margin-bottom:var(--sp-10);}
}
@media(max-width:900px){
  .eco-5-grid{grid-template-columns:repeat(2,1fr);}
  .pillar-grid--5,.pillar-grid--5-mento{grid-template-columns:repeat(2,1fr);}
  .engine-grid{grid-template-columns:1fr;}
}
@media(max-width:768px){
  :root{--header-h:68px;}
  .header__nav{display:none;}
  .header__cta .btn:not(:last-child){display:none;}
  #hamburgerBtn{display:flex;}
  #mobileBottomBar{display:block;}
  body{padding-bottom:72px;}
  .grid--2,.grid--3,.grid--4{grid-template-columns:1fr;}
  .split,.split--wide{grid-template-columns:1fr;gap:var(--sp-8);}
  .cta-banner{flex-direction:column;text-align:center;}
  .cta-banner__actions{justify-content:center;}
  .footer__grid{grid-template-columns:1fr;}
  .form-row--2{grid-template-columns:1fr;}
  .testimonial-grid{grid-template-columns:1fr;}
  .pull-quote{position:relative;bottom:0;left:0;margin-top:var(--sp-4);max-width:100%;}
}
@media(max-width:600px){
  .eco-5-grid{grid-template-columns:1fr;}
  .pillar-grid--5,.pillar-grid--5-mento,.pillar-grid--6{grid-template-columns:1fr;}
  .contact-cards{grid-template-columns:1fr;}
}
@media(max-width:480px){
  .hero__actions{flex-direction:column;}
  .hero__actions .btn{width:100%;}
  .stats{grid-template-columns:1fr 1fr;}
}

/* ═══════════════════════════════════════════════════════════
   v6.2 ADDITIONS — New components from ChatGPT audit rebuild
   ═══════════════════════════════════════════════════════════ */

/* ── Logo tagline update ── */
.header__logo-tagline { color: var(--c-gold-300); }

/* ── Path grid (homepage audience segmentation) ── */
.path-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-6);
}
.path-card {
  background: var(--c-white);
  border: 1px solid var(--c-divider);
  border-top: 3px solid var(--c-accent);
  border-radius: var(--r-lg);
  padding: var(--sp-8);
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--ease-b), transform var(--ease-b);
}
.path-card:hover { box-shadow: var(--sh-md); transform: translateY(-3px); }
.path-card__number {
  font-family: var(--ff-display);
  font-size: 3rem; font-weight: 300;
  color: var(--c-gold-200); line-height: 1;
  margin-bottom: var(--sp-4);
}
.path-card h3 { font-size: var(--fs-xl); margin-bottom: var(--sp-3); color: var(--c-charcoal); }
.path-card p  { font-size: var(--fs-sm); color: var(--c-text-muted); margin-bottom: var(--sp-4); }
.path-card .btn { margin-top: auto; align-self: flex-start; }

/* ── Investment thesis grid ── */
.thesis-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-3);
}
.thesis-item {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--r-md);
  padding: var(--sp-4) var(--sp-5);
}
.thesis-item__label {
  font-size: var(--fs-xs);
  font-weight: var(--fw-semi);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--c-gold-300);
  margin-bottom: var(--sp-1);
}
.thesis-item__value {
  font-size: var(--fs-sm);
  color: rgba(255,255,255,.82);
  line-height: var(--lh-normal);
}

/* ── Credential badges ── */
.about-credentials {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  margin-top: var(--sp-6);
  margin-bottom: var(--sp-6);
}
.cred-badge {
  display: inline-flex;
  align-items: center;
  background: var(--c-green-50);
  border: 1px solid var(--c-green-200);
  border-radius: var(--r-full);
  padding: var(--sp-1) var(--sp-4);
  font-size: var(--fs-xs);
  font-weight: var(--fw-semi);
  color: var(--c-green-600);
  letter-spacing: .04em;
  white-space: nowrap;
}

/* ── Contact routing cards (3 path routing) ── */
.contact-routing {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-5);
  margin-bottom: var(--sp-12);
}
.routing-card {
  background: var(--c-white);
  border: 1px solid var(--c-divider);
  border-radius: var(--r-lg);
  padding: var(--sp-8);
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  transition: box-shadow var(--ease-b), transform var(--ease-b);
}
.routing-card:hover { box-shadow: var(--sh-md); transform: translateY(-2px); }
.routing-card--investor { border-top: 3px solid var(--c-primary); }
.routing-card--operator { border-top: 3px solid var(--c-accent); }
.routing-card--mentor   { border-top: 3px solid var(--c-green-400); }
.routing-card__icon { font-size: 2rem; }
.routing-card__type {
  font-size: var(--fs-xs);
  font-weight: var(--fw-semi);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--c-accent);
}
.routing-card h3 { font-size: var(--fs-xl); color: var(--c-charcoal); }
.routing-card p  { font-size: var(--fs-sm); color: var(--c-text-muted); flex: 1; }

/* ── Deal lifecycle / funnel steps ── */
.funnel-steps {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  margin: var(--sp-10) 0;
  position: relative;
}
.funnel-steps::before {
  content: '';
  position: absolute;
  top: 28px; left: 10%;
  width: 80%; height: 2px;
  background: var(--c-divider);
  z-index: 0;
}
.funnel-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  z-index: 1;
  padding: 0 var(--sp-2);
}
.funnel-step__dot {
  width: 56px; height: 56px;
  background: var(--c-white);
  border: 2px solid var(--c-divider);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--ff-display);
  font-size: var(--fs-lg); font-weight: var(--fw-semi);
  color: var(--c-primary);
  margin-bottom: var(--sp-3);
  transition: border-color var(--ease-b), background var(--ease-b);
}
.funnel-step--active .funnel-step__dot {
  background: var(--c-primary);
  border-color: var(--c-primary);
  color: var(--c-white);
}
.funnel-step__label {
  font-size: var(--fs-xs);
  font-weight: var(--fw-semi);
  color: var(--c-text-muted);
  letter-spacing: .05em;
}

/* ── Process timeline ── */
.process-timeline {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
}
.process-timeline::before {
  content: '';
  position: absolute;
  left: 20px; top: 0; bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, var(--c-accent) 0%, var(--c-divider) 100%);
}
.process-step {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: var(--sp-5);
  padding: var(--sp-5) 0;
  position: relative;
}
.process-step__num {
  width: 44px; height: 44px;
  background: var(--c-white);
  border: 2px solid var(--c-accent);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: var(--fs-sm); font-weight: var(--fw-bold);
  color: var(--c-accent);
  flex-shrink: 0;
  position: relative; z-index: 1;
}
.process-step__content h4 { font-size: var(--fs-lg); margin-bottom: var(--sp-1); }
.process-step__content p  { font-size: var(--fs-sm); color: var(--c-text-muted); margin: 0; }

/* ── About timeline ── */
.timeline { display: flex; flex-direction: column; gap: var(--sp-6); }
.timeline-item {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: var(--sp-5);
  align-items: start;
}
.timeline-item__year {
  font-family: var(--ff-display);
  font-size: var(--fs-2xl); font-weight: var(--fw-semi);
  color: var(--c-gold-400); line-height: 1;
  text-align: right;
  padding-top: 4px;
}
.timeline-item__content h4 { font-size: var(--fs-lg); margin-bottom: var(--sp-1); color: var(--c-charcoal); }
.timeline-item__content p  { font-size: var(--fs-sm); color: var(--c-text-muted); margin: 0; }

/* ── Qualification row (investor page) ── */
.qual-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-5);
  margin: var(--sp-8) 0;
}
.qual-card {
  background: var(--c-green-50);
  border: 1px solid var(--c-green-100);
  border-radius: var(--r-md);
  padding: var(--sp-6);
  text-align: center;
}
.qual-card__icon { font-size: 2rem; margin-bottom: var(--sp-3); }
.qual-card__label { font-size: var(--fs-xs); font-weight: var(--fw-semi); letter-spacing: .1em; text-transform: uppercase; color: var(--c-accent); margin-bottom: var(--sp-1); }
.qual-card__value { font-family: var(--ff-display); font-size: var(--fs-xl); font-weight: var(--fw-semi); color: var(--c-primary); }

/* ── Responsive additions ── */
@media (max-width: 1024px) {
  .path-grid         { grid-template-columns: 1fr; }
  .contact-routing   { grid-template-columns: 1fr; }
  .funnel-steps      { grid-template-columns: 1fr; }
  .funnel-steps::before { display: none; }
}
@media (max-width: 900px) {
  .thesis-grid       { grid-template-columns: 1fr; }
  .qual-grid         { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .qual-grid         { grid-template-columns: 1fr; }
  .path-grid         { grid-template-columns: 1fr; }
}

/* ─── VOLUME CARDS (Stewardship series — all available) ──── */
/* ── Volume cards — on section--darkest background ── */
.volume-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-5);
}
.volume-card {
  background: var(--c-green-800);
  border: 1px solid rgba(255,255,255,.10);
  border-top: 3px solid var(--c-gold-500);
  border-radius: var(--r-lg);
  padding: var(--sp-7) var(--sp-6);
  display: flex;
  flex-direction: column;
  transition: background var(--ease-b), transform var(--ease-b), box-shadow var(--ease-b);
  position: relative;
  overflow: hidden;
}
.volume-card:hover {
  background: var(--c-green-700);
  transform: translateY(-3px);
  box-shadow: 0 12px 40px rgba(0,0,0,.35);
}
.volume-card__num {
  font-family: var(--ff-display);
  font-size: 3.5rem;
  font-weight: 300;
  color: rgba(201,168,90,.25);
  line-height: 1;
  margin-bottom: var(--sp-3);
}
.volume-card__badge {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1);
  background: rgba(201,168,90,.15);
  border: 1px solid var(--c-gold-500);
  border-radius: var(--r-full);
  padding: 3px 12px;
  font-size: var(--fs-xs);
  font-weight: var(--fw-semi);
  color: var(--c-gold-300);
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: var(--sp-4);
  align-self: flex-start;
}
.volume-card__badge::before { content: '✓  '; }
.volume-card h3 {
  font-family: var(--ff-display);
  font-size: var(--fs-xl);
  color: var(--c-white);
  margin-bottom: var(--sp-2);
  font-weight: var(--fw-semi);
}
.volume-card__subtitle {
  font-size: var(--fs-sm);
  font-style: italic;
  color: var(--c-gold-300);
  margin-bottom: var(--sp-4);
  opacity: .85;
}
.volume-card p {
  font-size: var(--fs-sm);
  color: rgba(255,255,255,.72);
  line-height: var(--lh-loose);
  flex: 1;
  margin-bottom: var(--sp-5);
}
.volume-card__format {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-xs);
  color: rgba(255,255,255,.45);
  letter-spacing: .06em;
  margin-bottom: var(--sp-4);
  text-transform: uppercase;
  font-weight: var(--fw-semi);
}
.volume-card__format::before { content: '📖'; font-size: .85rem; }
.volume-card .btn--primary {
  background: var(--c-gold-600);
  border-color: var(--c-gold-600);
  color: var(--c-white);
}
.volume-card .btn--primary:hover {
  background: var(--c-gold-500);
  border-color: var(--c-gold-500);
}

@media (max-width: 1024px) {
  .volume-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .volume-grid { grid-template-columns: 1fr; }
}

/* ─── LANGUAGE SWITCHER ───────────────────────────────────────── */
.lang-switcher {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-right: var(--sp-3);
}
.lang-btn {
  font-family: var(--ff-body);
  font-size: 11px;
  font-weight: var(--fw-semi);
  letter-spacing: .06em;
  padding: 4px 8px;
  border-radius: var(--r-sm);
  border: 1.5px solid transparent;
  cursor: pointer;
  transition: all var(--ease-f);
  line-height: 1;
  /* default: on dark header */
  background: transparent;
  color: rgba(255,255,255,.55);
  border-color: transparent;
}
.lang-btn:hover {
  color: var(--c-white);
  border-color: rgba(255,255,255,.3);
}
.lang-btn--active {
  background: rgba(201,168,90,.18);
  color: var(--c-gold-300);
  border-color: var(--c-gold-500);
}
/* When header is scrolled (light bg) */
#siteHeader.scrolled .lang-btn {
  color: var(--c-text-muted);
}
#siteHeader.scrolled .lang-btn:hover {
  color: var(--c-primary);
  border-color: var(--c-green-200);
}
#siteHeader.scrolled .lang-btn--active {
  background: var(--c-gold-50);
  color: var(--c-gold-700);
  border-color: var(--c-gold-500);
}
@media (max-width: 768px) {
  .lang-switcher { margin-right: var(--sp-2); }
  .lang-btn { padding: 3px 6px; font-size: 10px; }
}

/* ─── OPERATOR PROCESS STRIP ─────────────────────────────────── */
.operator-process {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  position: relative;
  margin: var(--sp-10) 0;
}
.operator-process::before {
  content: '';
  position: absolute;
  top: 28px; left: 12.5%; right: 12.5%;
  height: 2px;
  background: linear-gradient(90deg, var(--c-gold-500), var(--c-gold-300), var(--c-gold-500));
  z-index: 0;
}
.op-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 var(--sp-4);
  position: relative;
  z-index: 1;
}
.op-step__dot {
  width: 56px; height: 56px;
  background: var(--c-green-800);
  border: 2px solid var(--c-gold-500);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--ff-display);
  font-size: var(--fs-xl);
  font-weight: var(--fw-semi);
  color: var(--c-gold-300);
  margin-bottom: var(--sp-4);
  transition: background var(--ease-b), transform var(--ease-b);
}
.op-step:hover .op-step__dot {
  background: var(--c-green-700);
  transform: scale(1.08);
}
.op-step__title {
  font-family: var(--ff-display);
  font-size: var(--fs-lg);
  font-weight: var(--fw-semi);
  color: var(--c-white);
  margin-bottom: var(--sp-2);
}
.op-step__desc {
  font-size: var(--fs-sm);
  color: rgba(255,255,255,.65);
  line-height: var(--lh-normal);
  max-width: 160px;
  margin-inline: auto;
}

/* ─── CASE STUDY CARDS ────────────────────────────────────────── */
.case-card {
  background: var(--c-white);
  border: 1px solid var(--c-divider);
  border-radius: var(--r-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--ease-b), transform var(--ease-b);
}
.case-card:hover { box-shadow: var(--sh-lg); transform: translateY(-4px); }
.case-card__img {
  background: linear-gradient(135deg, var(--c-green-800) 0%, var(--c-green-700) 100%);
  height: 200px;
  display: flex; align-items: center; justify-content: center;
  position: relative; overflow: hidden;
}
.case-card__img::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(13,31,17,.6) 100%);
}
.case-card__img-label {
  position: absolute; bottom: var(--sp-4); left: var(--sp-4); z-index: 1;
  font-size: var(--fs-xs); font-weight: var(--fw-semi);
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--c-gold-300);
}
.case-card__img-placeholder {
  font-family: var(--ff-display);
  font-size: 2.5rem; color: rgba(255,255,255,.15);
  letter-spacing: .05em;
}
.case-card__body { padding: var(--sp-6); flex: 1; display: flex; flex-direction: column; }
.case-card__type {
  font-size: var(--fs-xs); font-weight: var(--fw-semi);
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--c-accent); margin-bottom: var(--sp-3);
}
.case-card__title { font-size: var(--fs-xl); color: var(--c-charcoal); margin-bottom: var(--sp-3); }
.case-card__meta {
  display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-4);
  margin-bottom: var(--sp-4);
}
.case-card__meta-item {
  font-size: var(--fs-xs); color: var(--c-text-muted);
  display: flex; align-items: center; gap: var(--sp-1);
}
.case-card__meta-item::before { content: '→'; color: var(--c-accent); }
.case-card p { font-size: var(--fs-sm); color: var(--c-text-muted); flex: 1; }
.case-card__outcome {
  margin-top: var(--sp-4); padding: var(--sp-3) var(--sp-4);
  background: var(--c-green-50);
  border-left: 3px solid var(--c-accent);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  font-size: var(--fs-sm); color: var(--c-green-600);
  font-weight: var(--fw-semi);
}

/* ─── MARKETING / PROOF COMPONENTS ───────────────────────────── */
.proof-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-1);
  background: var(--c-green-900);
  border-radius: var(--r-xl);
  overflow: hidden;
  margin: var(--sp-10) 0;
}
.proof-item {
  padding: var(--sp-8) var(--sp-6);
  text-align: center;
  border-right: 1px solid rgba(255,255,255,.07);
  transition: background var(--ease-b);
}
.proof-item:last-child { border-right: none; }
.proof-item:hover { background: rgba(255,255,255,.04); }
.proof-item__number {
  font-family: var(--ff-display);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: var(--fw-semi);
  color: var(--c-white);
  line-height: 1;
  display: block;
  margin-bottom: var(--sp-2);
}
.proof-item__label {
  font-size: var(--fs-xs);
  font-weight: var(--fw-semi);
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--c-gold-300);
}

/* ─── OPERATOR METHODOLOGY BADGE ─────────────────────────────── */
.methodology-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-3);
  background: var(--c-green-50);
  border: 1px solid var(--c-green-200);
  border-radius: var(--r-full);
  padding: var(--sp-2) var(--sp-5) var(--sp-2) var(--sp-3);
  font-size: var(--fs-sm);
  font-weight: var(--fw-semi);
  color: var(--c-green-600);
}
.methodology-badge__dot {
  width: 8px; height: 8px;
  background: var(--c-green-500);
  border-radius: 50%;
  flex-shrink: 0;
  box-shadow: 0 0 0 3px rgba(74,139,110,.2);
  animation: pulse-dot 2s infinite;
}
@keyframes pulse-dot {
  0%, 100% { box-shadow: 0 0 0 3px rgba(74,139,110,.2); }
  50%       { box-shadow: 0 0 0 6px rgba(74,139,110,.05); }
}

@media (max-width: 1024px) {
  .operator-process { grid-template-columns: repeat(2, 1fr); gap: var(--sp-8); }
  .operator-process::before { display: none; }
  .proof-strip { grid-template-columns: repeat(2, 1fr); }
  .proof-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,.07); }
  .proof-item:nth-child(2n) { border-bottom: 1px solid rgba(255,255,255,.07); }
  .proof-item:nth-last-child(-n+2) { border-bottom: none; }
}
@media (max-width: 640px) {
  .operator-process { grid-template-columns: 1fr; }
  .proof-strip { grid-template-columns: 1fr 1fr; }
}
