/* ================================================================
   Verdant Bridge Group -- Pacesetter-Inspired Redesign
   ================================================================ */

:root {
  --green-deep:   #1a3a0f;
  --green-mid:    #2d5016;
  --green-accent: #4a8228;
  --gold:         #d4af37;
  --gold-light:   #e8c84a;
  --dark-bg:      #1a1a1a;
  --dark-mid:     #222222;
  --dark-card:    #2a2a2a;
  --white:        #ffffff;
  --text-primary: #f0f0f0;
  --text-muted:   #9aaa8c;
  --text-subtle:  #5a6a50;
  --border:       rgba(255,255,255,0.07);
  --border-gold:  rgba(212,175,55,0.20);
  --radius:       6px;
  --ease:         cubic-bezier(0.4,0,0.2,1);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
body{font-family:'Manrope',-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;line-height:1.7;color:var(--text-primary);background:var(--dark-bg);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
ul{list-style:none}

.skip-link{position:absolute;top:-100%;left:1rem;background:var(--green-mid);color:#fff;padding:.75rem 1.5rem;z-index:10000;font-size:.9rem;font-weight:600;text-decoration:none;border-radius:var(--radius)}
.skip-link:focus{top:.5rem}

.container{max-width:1240px;margin:0 auto;padding:0 32px}
.container-wide{max-width:1400px;margin:0 auto;padding:0 32px}

.btn-gold{display:inline-block;background:var(--gold);color:#1a1a1a;padding:15px 36px;border-radius:var(--radius);font-weight:700;font-size:15px;text-decoration:none;transition:background .2s,transform .2s}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-2px)}
.btn-outline{display:inline-block;background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.25);padding:15px 36px;border-radius:var(--radius);font-weight:600;font-size:15px;text-decoration:none;transition:border-color .2s,color .2s}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}
.btn-primary{display:inline-block;background:var(--green-mid);color:#fff;padding:15px 36px;border-radius:var(--radius);font-weight:700;font-size:15px;text-decoration:none;transition:background .2s,transform .2s}
.btn-primary:hover{background:var(--green-accent);transform:translateY(-2px)}
.btn-large{padding:18px 48px;font-size:17px}

.section{padding:120px 0}
.section-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.section-title{font-size:clamp(30px,4vw,52px);font-weight:800;letter-spacing:-1.5px;line-height:1.1;color:#fff;margin-bottom:20px}
.section-intro{font-size:18px;color:var(--text-muted);line-height:1.8;max-width:680px}
.section-header{margin-bottom:64px}
.section-header.centered{text-align:center}
.section-header.centered .section-intro{margin:0 auto}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.reveal.visible{opacity:1;transform:none}

/* HEADER */
#site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(26,26,26,.97);backdrop-filter:blur(16px);border-bottom:1px solid rgba(45,80,22,.4);transition:box-shadow .3s}
#site-header.scrolled{box-shadow:0 4px 32px rgba(0,0,0,.4)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:20px 0}
.logo{text-decoration:none}
.logo-text{font-size:20px;font-weight:800;color:#fff;letter-spacing:-.5px}
.logo-text span{color:var(--gold)}
.nav-center{display:flex;gap:28px;list-style:none}
.nav-center a{text-decoration:none;color:var(--text-muted);font-size:13px;font-weight:500;letter-spacing:0.03em;transition:color .2s}
.nav-center a:hover{color:#fff}
.nav-right{display:flex;align-items:center;gap:24px}
.nav-contact a{color:var(--text-muted);text-decoration:none;font-size:13px;transition:color .2s}
.nav-contact a:hover{color:#fff}
.nav-cta{background:var(--green-mid);color:#fff;padding:10px 22px;border-radius:var(--radius);text-decoration:none;font-size:14px;font-weight:600;transition:background .2s,transform .2s;white-space:nowrap}
.nav-cta:hover{background:var(--green-accent);transform:translateY(-1px)}

/* HERO */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-image:url('https://images.unsplash.com/photo-1497366858526-0766e4101b58?w=1920&q=92&auto=format&fit=crop');background-size:cover;background-position:center;filter:brightness(.42)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(18,46,8,.82) 0%,rgba(29,58,15,.55) 60%,rgba(26,58,15,.3) 100%)}
.hero-content{position:relative;z-index:2;max-width:920px;padding:140px 0 100px}
.hero-tag{display:inline-flex;align-items:center;background:rgba(45,80,22,.22);border:1px solid rgba(45,80,22,.5);color:var(--gold);font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;padding:8px 18px;border-radius:100px;margin-bottom:32px}
.hero h1{font-size:clamp(40px,6vw,78px);font-weight:900;line-height:1.08;letter-spacing:-2.5px;margin-bottom:28px;color:#fff}
.hero-subtitle{font-size:18px;line-height:1.85;color:var(--text-muted);max-width:680px;margin-bottom:48px}
.hero-subtitle strong{color:var(--text-primary)}
.hero-subtitle em{font-style:italic;color:var(--gold)}
.hero-buttons{display:flex;gap:16px;flex-wrap:wrap}
.hero-scroll{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);z-index:2}
.scroll-line{width:1px;height:48px;background:linear-gradient(to bottom,transparent,var(--text-subtle));animation:scrollPulse 2s ease-in-out infinite;margin:0 auto}
@keyframes scrollPulse{0%,100%{opacity:.3}50%{opacity:1}}

/* STATS BAR */
.stats-bar{background:var(--green-deep);border-top:1px solid var(--border-gold);border-bottom:1px solid var(--border-gold);padding:64px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.stat-item{text-align:center;position:relative}
.stat-item:not(:last-child)::after{content:"";position:absolute;right:0;top:15%;bottom:15%;width:1px;background:var(--border-gold)}
.stat-number{font-size:52px;font-weight:900;color:#fff;letter-spacing:-2px;line-height:1;margin-bottom:12px}
.stat-number span{color:var(--gold)}
.stat-label{font-size:13px;color:var(--text-muted);line-height:1.5;font-weight:500}

/* PROBLEM */
.problem{background:var(--dark-mid)}
.problem-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.problem-text{padding-top:8px}
.problem-text p{color:var(--text-muted);margin-bottom:20px;font-size:17px;line-height:1.8}
.problem-callout{position:sticky;top:120px}
.problem-img-wrap{border-radius:var(--radius);overflow:hidden;margin-bottom:32px}
.problem-img-wrap img{width:100%;height:280px;object-fit:cover}
.problem-quote{font-size:22px;font-weight:700;color:#fff;line-height:1.4;border-left:3px solid var(--gold);padding-left:24px;font-style:italic}

/* SERVICES */
.services-section{background:var(--dark-bg)}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:48px}
.service-card{background:var(--dark-card);border:1px solid var(--border);border-radius:var(--radius);padding:36px 28px;transition:border-color .3s,transform .3s}
.service-card:hover{border-color:var(--border-gold);transform:translateY(-4px)}
.service-icon{color:var(--gold);font-size:18px;margin-bottom:20px}
.service-card h3{font-size:16px;font-weight:700;color:#fff;margin-bottom:14px;line-height:1.4}
.service-card p{font-size:14px;color:var(--text-muted);line-height:1.7}
.services-plus{background:var(--green-deep);border:1px solid var(--border-gold);border-radius:var(--radius);padding:40px}
.plus-label{font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.services-plus h3{font-size:22px;font-weight:700;color:#fff;margin-bottom:14px}
.services-plus p{color:var(--text-muted);font-size:16px;line-height:1.7}

/* CAROUSEL */
.carousel-section{background:var(--dark-mid)}
.vip-swiper{padding-bottom:56px!important}
.case-card{background:var(--dark-card);border:1px solid var(--border);border-radius:var(--radius);padding:48px;height:100%;transition:border-color .3s}
.case-card:hover{border-color:var(--border-gold)}
.case-tag{display:inline-block;background:rgba(45,80,22,.22);border:1px solid rgba(45,80,22,.5);color:var(--gold);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:6px 14px;border-radius:100px;margin-bottom:24px}
.case-card h3{font-size:22px;font-weight:700;color:#fff;margin-bottom:16px;line-height:1.3}
.case-card p{color:var(--text-muted);font-size:16px;line-height:1.75;margin-bottom:28px}
.case-outcome{background:rgba(26,58,15,.25);border:1px solid rgba(212,175,55,.15);border-radius:var(--radius);padding:16px 20px;font-size:14px;color:var(--text-muted)}
.outcome-label{color:var(--gold);font-weight:600;margin-right:8px}
.swiper-button-prev,.swiper-button-next{color:var(--gold)!important}
.swiper-pagination-bullet{background:var(--text-subtle)!important}
.swiper-pagination-bullet-active{background:var(--gold)!important}

/* METRICS */
.metrics-section{background:var(--dark-bg)}
.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:64px}
.metric-item{display:flex;flex-direction:column;align-items:center;gap:28px}
.ring-wrap{position:relative;width:120px;height:120px}
.ring-svg{width:120px;height:120px;transform:rotate(-90deg)}
.ring-bg{fill:none;stroke:rgba(255,255,255,.06);stroke-width:8}
.ring-fill{fill:none;stroke:var(--gold);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1.4s var(--ease)}
.ring-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;color:#fff;letter-spacing:-1px}
.ring-pct{font-size:14px;font-weight:700;color:var(--gold);margin-left:1px}
.metric-text{text-align:center}
.metric-text h4{font-size:18px;font-weight:700;color:#fff;margin-bottom:10px}
.metric-text p{font-size:14px;color:var(--text-muted);line-height:1.65}

/* VIP PLATFORM */
.vip-section{background:var(--dark-mid)}
.vip-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.vip-features{margin-top:36px;display:flex;flex-direction:column;gap:24px}
.vip-feature{display:flex;gap:16px}
.vip-feature-dot{width:8px;height:8px;background:var(--gold);border-radius:50%;margin-top:6px;flex-shrink:0}
.vip-feature strong{display:block;color:#fff;font-size:15px;margin-bottom:4px}
.vip-feature p{color:var(--text-muted);font-size:14px;line-height:1.6}
.vip-visual{position:sticky;top:120px}
.vip-visual img{border-radius:var(--radius);width:100%}

/* TRACKS */
.tracks-section{background:var(--dark-bg)}
.tracks-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.track-card{background:var(--dark-card);border:1px solid var(--border);border-radius:var(--radius);padding:32px 28px;transition:border-color .3s}
.track-card:hover{border-color:var(--border-gold)}
.track-card h4{font-size:15px;font-weight:700;color:var(--gold);margin-bottom:18px}
.track-card ul{list-style:none}
.track-card li{font-size:13px;color:var(--text-muted);line-height:1.6;padding:6px 0;border-bottom:1px solid var(--border)}
.track-card li:last-child{border-bottom:none}
.track-card li::before{content:"-- ";color:var(--text-subtle)}

/* IMPACT TABS */
.impact-section{background:var(--dark-mid)}
.impact-tabs{display:flex;gap:8px;margin-bottom:40px;border-bottom:1px solid var(--border);justify-content:center}
.impact-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:14px;font-weight:600;padding:14px 28px;cursor:pointer;transition:color .2s,border-color .2s;font-family:inherit;margin-bottom:-1px}
.impact-tab:hover{color:#fff}
.impact-tab.active{color:var(--gold);border-bottom-color:var(--gold)}
.impact-panel{display:none}
.impact-panel.active{display:block}
.impact-panel-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:60px}
.impact-col h4{font-size:18px;font-weight:700;color:#fff;margin-bottom:20px}
.impact-col ul{list-style:none}
.impact-col li{color:var(--text-muted);font-size:15px;padding:10px 0;border-bottom:1px solid var(--border)}
.impact-col li:last-child{border-bottom:none}
.impact-col li::before{content:"-> ";color:var(--gold)}
.impact-img{border-radius:var(--radius);overflow:hidden}
.impact-img img{width:100%;height:320px;object-fit:cover}
.gain-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:20px}
.gain-item{background:var(--dark-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px}
.gain-label{font-size:13px;font-weight:700;color:var(--gold);letter-spacing:1px;text-transform:uppercase;margin-bottom:10px}
.gain-item p{font-size:14px;color:var(--text-muted);line-height:1.6}

/* TEAM */
.team-section{background:var(--dark-bg)}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.team-card{background:var(--dark-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .3s,transform .3s}
.team-card:hover{border-color:var(--border-gold);transform:translateY(-4px)}
.team-photo{width:100%;height:280px;object-fit:cover;object-position:top}
.team-meta{padding:28px 28px 0}
.team-meta h3{font-size:20px;font-weight:700;color:#fff;margin-bottom:4px}
.team-title{font-size:13px;color:var(--gold);font-weight:600;margin-bottom:20px}
.team-card p{padding:0 28px 28px;font-size:14px;color:var(--text-muted);line-height:1.7}

/* PRINCIPLES */
.principles-section{background:var(--green-deep)}
.principles-inner{display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:start}
.principles-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:rgba(255,255,255,.04);border:1px solid var(--border-gold);border-radius:var(--radius);overflow:hidden}
.principle-item{padding:28px 32px;background:rgba(26,58,15,.15);border-bottom:1px solid rgba(255,255,255,.05)}
.principle-num{display:block;font-size:11px;font-weight:700;color:var(--gold);letter-spacing:2px;margin-bottom:10px}
.principle-item p{font-size:15px;color:var(--text-primary);line-height:1.5}

/* CTA SECTION */
.cta-section{position:relative;overflow:hidden}
.cta-bg{position:absolute;inset:0;background-image:url('https://images.unsplash.com/photo-1556761175-b413da4baf72?w=1920&q=92&auto=format&fit=crop');background-size:cover;background-position:center;filter:brightness(.12)}
.cta-content{position:relative;z-index:2;text-align:center;max-width:740px;margin:0 auto}
.cta-content .section-intro{max-width:100%;margin-bottom:40px}
.cta-content h2{font-size:clamp(32px,4.5vw,58px);margin-bottom:20px}

/* FOOTER */
.site-footer{background:var(--dark-mid);border-top:1px solid var(--border);padding:80px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;padding-bottom:60px}
.footer-logo-text{font-size:18px;font-weight:800;color:#fff;letter-spacing:-.5px;margin-bottom:12px}
.footer-logo-text span{color:var(--gold)}
.footer-tagline{font-size:13px;color:var(--gold);font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:16px}
.footer-desc{font-size:14px;color:var(--text-muted);line-height:1.7}
.footer-nav-col h4{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text-subtle);margin-bottom:20px}
.footer-nav-col ul{list-style:none}
.footer-nav-col li{margin-bottom:12px;font-size:14px;color:var(--text-muted)}
.footer-nav-col a{text-decoration:none;color:var(--text-muted);transition:color .2s}
.footer-nav-col a:hover{color:#fff}
.footer-bottom{border-top:1px solid var(--border);padding:24px 0;font-size:13px;color:var(--text-subtle)}

/* INNER PAGE STYLES */
.page-hero{padding:160px 0 80px;background:var(--dark-mid);border-bottom:1px solid var(--border)}
.page-hero h1{font-size:clamp(32px,5vw,60px);font-weight:800;letter-spacing:-2px;line-height:1.1;color:#fff}
.page-hero p{font-size:18px;color:var(--text-muted);max-width:600px;margin-top:16px;line-height:1.8}
.section-label{display:inline-block;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.section-label.light{color:var(--gold)}
.section-header-centered{text-align:center;margin-bottom:60px}
.section-header-centered h2{font-size:clamp(28px,4vw,48px);font-weight:800;letter-spacing:-1.5px;color:#fff;margin-bottom:16px}
.section-intro{font-size:18px;color:var(--text-muted);line-height:1.8;max-width:680px}
.section-header-centered .section-intro{max-width:620px;margin:0 auto}

.services{padding:80px 0;background:var(--dark-bg)}
.services-grid.services-grid--four{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:48px}
.card-arrow{width:24px;height:2px;background:var(--gold);margin-top:28px;transition:width .3s}
.service-card:hover .card-arrow{width:40px}

.final-cta{padding:120px 0;background:var(--dark-mid);text-align:center;border-top:1px solid var(--border-gold)}
.final-cta h2{font-size:clamp(28px,4vw,48px);font-weight:800;letter-spacing:-1.5px;color:#fff;margin-bottom:20px;line-height:1.2}
.final-cta p{color:var(--text-muted);font-size:17px;max-width:560px;margin:0 auto 36px;line-height:1.7}
.cta-eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:18px}

.leadership{padding:80px 0;background:var(--dark-bg)}
.founders-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.founder-card{background:var(--dark-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.founder-header{display:flex;gap:24px;align-items:center;padding:32px;border-bottom:1px solid var(--border)}
.founder-photo{width:80px;height:80px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--border-gold)}
.founder-name{font-size:20px;font-weight:700;color:#fff;margin-bottom:4px}
.founder-title{font-size:13px;color:var(--gold);font-weight:600}
.founder-bio{padding:0 32px 24px;font-size:15px;color:var(--text-muted);line-height:1.75}
.founder-bio:first-of-type{padding-top:28px}
.founder-card--dylan{grid-column:1/-1}

.value-props{padding:80px 0;background:var(--dark-mid)}
.impact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.impact-col-title{font-size:18px;font-weight:700;color:#fff;margin-bottom:28px}
.impact-group{margin-bottom:32px}
.impact-group-label{font-size:13px;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:12px}
.impact-list{list-style:none}
.impact-list li{font-size:14px;color:var(--text-muted);padding:8px 0;border-bottom:1px solid var(--border)}
.impact-list li:last-child{border-bottom:none}
.impact-gain-list{list-style:none}
.impact-gain-list li{padding:16px 0;border-bottom:1px solid var(--border)}
.gain-text{font-size:14px;color:var(--text-muted);line-height:1.6}

.philosophy{padding:80px 0;background:var(--green-deep)}
.philosophy h2{font-size:clamp(2rem,3.5vw,3rem);color:#fff;margin-bottom:3.5rem;margin-top:1rem}
.philosophy-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.philosophy-item{padding:2rem 1.75rem;border-top:1px solid rgba(255,255,255,.1);border-left:1px solid rgba(255,255,255,.1)}
.philosophy-num{display:block;font-size:1.6rem;font-weight:600;color:var(--gold);line-height:1;margin-bottom:1.5rem}
.philosophy-item p{font-size:15px;color:var(--text-primary);line-height:1.5}

.vip-platform{padding:80px 0;background:var(--dark-bg)}
.vip-in-action,.vip-tracks,.vip-scenario{padding:80px 0;background:var(--dark-mid)}
.scenarios-grid,.scenario-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.scenario-card{background:var(--dark-card);border:1px solid var(--border);border-radius:var(--radius);padding:40px;transition:border-color .3s}
.scenario-card:hover{border-color:var(--border-gold)}
.scenario-tag{display:inline-block;background:rgba(45,80,22,.22);border:1px solid rgba(45,80,22,.5);color:var(--gold);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:5px 12px;border-radius:100px;margin-bottom:20px}
.scenario-card h3,.scenario-card h4{font-size:20px;font-weight:700;color:#fff;margin-bottom:14px;line-height:1.35}
.scenario-card p{font-size:15px;color:var(--text-muted);line-height:1.7}
.scenario-result,.scenario-outcome{margin-top:24px;background:rgba(26,58,15,.25);border:1px solid rgba(212,175,55,.15);border-radius:var(--radius);padding:14px 18px;font-size:14px;color:var(--text-muted)}
.tracks-full-grid,.track-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.track-category{background:var(--dark-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px}
.track-category h4{font-size:14px;font-weight:700;color:var(--gold);margin-bottom:16px}
.track-category li{font-size:13px;color:var(--text-muted);padding:6px 0;line-height:1.5;border-bottom:1px solid var(--border)}
.track-category li:last-child{border-bottom:none}
.data-sources-note{margin-top:40px;font-size:13px;color:var(--text-subtle);line-height:1.7;border-top:1px solid var(--border);padding-top:24px}

#cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--dark-card);border-top:1px solid var(--border-gold);padding:20px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:9999;font-size:14px;color:var(--text-muted)}
#cookie-banner a{color:var(--gold)}
#cookie-accept{background:var(--green-mid);color:#fff;border:none;padding:10px 24px;border-radius:var(--radius);cursor:pointer;font-size:14px;font-weight:600;font-family:inherit;transition:background .2s;white-space:nowrap}
#cookie-accept:hover{background:var(--green-accent)}
.cookie-consent{position:fixed;bottom:0;left:0;right:0;z-index:9000;background:var(--dark-card);border-top:1px solid var(--border-gold);padding:1.5rem 2.5rem}
.cookie-consent[hidden]{display:none}
.cookie-consent__inner{max-width:1060px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.cookie-consent__inner p{font-size:.88rem;color:rgba(255,255,255,.8);line-height:1.6;margin:0}
.cookie-consent__actions{display:flex;gap:.75rem;flex-shrink:0}
.btn-consent{display:inline-block;padding:.65rem 1.75rem;font-family:inherit;font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;border:2px solid;cursor:pointer;transition:background .2s}
.btn-consent--accept{background:var(--green-accent);color:#fff;border-color:var(--green-accent)}
.btn-consent--accept:hover{background:var(--green-mid);border-color:var(--green-mid)}
.btn-consent--decline{background:transparent;color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.25)}
.btn-consent--decline:hover{border-color:rgba(255,255,255,.5);color:#fff}

/* RESPONSIVE */
@media(max-width:1080px){
  .services-grid,.tracks-grid,.services-grid.services-grid--four{grid-template-columns:repeat(2,1fr)}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .stat-item:nth-child(2)::after{display:none}
  .principles-inner{grid-template-columns:1fr;gap:48px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
  .metrics-grid{grid-template-columns:repeat(3,1fr);gap:32px}
}
@media(max-width:800px){
  .container,.container-wide{padding:0 20px}
  .section{padding:80px 0}
  .problem-inner,.vip-inner{grid-template-columns:1fr;gap:48px}
  .problem-callout,.vip-visual{position:static}
  .metrics-grid{grid-template-columns:1fr;gap:48px}
  .team-grid{grid-template-columns:1fr}
  .impact-panel-inner{grid-template-columns:1fr}
  .gain-grid{grid-template-columns:repeat(2,1fr)}
  .founders-grid{grid-template-columns:1fr}
  .founder-card--dylan{grid-column:auto}
  .impact-grid{grid-template-columns:1fr}
  .scenarios-grid,.scenario-grid{grid-template-columns:1fr}
  .tracks-full-grid,.track-grid{grid-template-columns:1fr}
  .philosophy-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .nav-center,.nav-contact{display:none}
  .hero h1{letter-spacing:-1.5px}
  .stats-grid{grid-template-columns:1fr}
  .stat-item::after{display:none!important}
  .gain-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .hero-buttons{flex-direction:column}
  .impact-tabs{flex-direction:column;border-bottom:none}
  .impact-tab{border:1px solid var(--border);border-radius:var(--radius)}
  .impact-tab.active{border-color:var(--gold)}
  .principles-grid{grid-template-columns:1fr}
  .cookie-consent{padding:1.25rem 1.5rem}
  .cookie-consent__inner{flex-direction:column;text-align:center}
  .cookie-consent__actions{width:100%;justify-content:center}
}


/* ================================================================
   LIGHT THEME + FONT/LOGO OVERRIDES (v3)
   ================================================================ */

/* New light palette tokens */
:root {
  --off-white:        #f8f7f4;
  --light-gray:       #f0efea;
  --text-dark:        #111e09;
  --text-muted-light: #475940;
  --border-light:     rgba(0,0,0,0.09);
}

/* Base */
body { background: #fff; color: var(--text-dark); }

/* Shared section typography on light backgrounds */
.section-title                  { color: var(--text-dark); }
.section-intro                  { color: var(--text-muted-light); }
.section-header-centered h2     { color: var(--text-dark); }

/* Header — rich dark green instead of near-black */
#site-header {
  background: rgba(26,58,15,.97);
  border-bottom-color: rgba(212,175,55,.2);
}

/* PROBLEM — light */
.problem                        { background: var(--off-white); }
.problem-text p                 { color: var(--text-muted-light); }
.problem-quote                  { color: var(--text-dark); border-left-color: var(--gold); }

/* SERVICES — white */
.services-section               { background: #fff; }
.service-card {
  background: #fff;
  border-color: var(--border-light);
  box-shadow: 0 2px 12px rgba(0,0,0,.05);
}
.service-card:hover {
  border-color: var(--border-gold);
  box-shadow: 0 8px 32px rgba(0,0,0,.10);
  transform: translateY(-4px);
}
.service-card h3                { color: var(--text-dark); }
.service-card p                 { color: var(--text-muted-light); }
.services-plus                  { background: var(--green-deep); }

/* CAROUSEL — light gray */
.carousel-section               { background: var(--light-gray); }
.case-card {
  background: #fff;
  border-color: var(--border-light);
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.case-card:hover                { border-color: var(--border-gold); box-shadow: 0 6px 24px rgba(0,0,0,.09); }
.case-card h3                   { color: var(--text-dark); }
.case-card p                    { color: var(--text-muted-light); }
.case-outcome                   { background: rgba(26,58,15,.06); border-color: rgba(184,148,30,.15); }

/* METRICS — white */
.metrics-section                { background: #fff; }
.metric-text h4                 { color: var(--text-dark); }
.metric-text p                  { color: var(--text-muted-light); }
.ring-bg                        { stroke: rgba(0,0,0,.08); }
.ring-label                     { color: var(--text-dark); }

/* VIP SECTION — off-white */
.vip-section                    { background: var(--off-white); }
.vip-feature strong             { color: var(--text-dark); }
.vip-feature p                  { color: var(--text-muted-light); }

/* TRACKS — white */
.tracks-section                 { background: #fff; }
.track-card {
  background: #fff;
  border-color: var(--border-light);
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.track-card:hover               { border-color: var(--border-gold); }
.track-card li                  { color: var(--text-muted-light); border-bottom-color: var(--border-light); }

/* IMPACT TABS — light gray */
.impact-section                 { background: var(--light-gray); }
.impact-tabs                    { border-bottom-color: rgba(0,0,0,.12); }
.impact-tab                     { color: var(--text-muted-light); }
.impact-tab:hover               { color: var(--text-dark); }
.impact-col h4                  { color: var(--text-dark); }
.impact-col li                  { color: var(--text-muted-light); border-bottom-color: var(--border-light); }
.gain-item {
  background: #fff;
  border-color: var(--border-light);
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.gain-item p                    { color: var(--text-muted-light); }

/* TEAM — white */
.team-section                   { background: #fff; }
.team-card {
  background: #fff;
  border-color: var(--border-light);
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
}
.team-card:hover {
  border-color: var(--border-gold);
  box-shadow: 0 10px 40px rgba(0,0,0,.11);
  transform: translateY(-4px);
}
.team-meta h3                   { color: var(--text-dark); }
.team-card p                    { color: var(--text-muted-light); }

/* INNER PAGE STYLES — light */
.page-hero                      { background: var(--off-white); border-bottom-color: var(--border-light); }
.page-hero h1                   { color: var(--text-dark); }
.page-hero p                    { color: var(--text-muted-light); }
.services                       { background: #fff; }
.leadership                     { background: #fff; }
.value-props                    { background: var(--off-white); }
.vip-platform                   { background: #fff; }
.vip-in-action,.vip-tracks,.vip-scenario { background: var(--off-white); }
.founder-card {
  background: #fff;
  border-color: var(--border-light);
  box-shadow: 0 2px 12px rgba(0,0,0,.05);
}
.founder-header                 { border-bottom-color: var(--border-light); }
.founder-name                   { color: var(--text-dark); }
.founder-bio                    { color: var(--text-muted-light); }
.scenario-card {
  background: #fff;
  border-color: var(--border-light);
}
.scenario-card:hover            { border-color: var(--border-gold); }
.scenario-card h3,.scenario-card h4 { color: var(--text-dark); }
.scenario-card p                { color: var(--text-muted-light); }
.track-category {
  background: #fff;
  border-color: var(--border-light);
}
.track-category li              { color: var(--text-muted-light); border-bottom-color: var(--border-light); }
.impact-col-title               { color: var(--text-dark); }
.impact-list li                 { color: var(--text-muted-light); border-bottom-color: var(--border-light); }
.gain-text                      { color: var(--text-muted-light); }
.impact-gain-list li            { border-bottom-color: var(--border-light); }
.final-cta                      { background: var(--off-white); border-top-color: var(--border-gold); }
.final-cta h2                   { color: var(--text-dark); }
.final-cta p                    { color: var(--text-muted-light); }
.data-sources-note              { color: var(--text-muted-light); border-top-color: var(--border-light); }

/* FONT: Playfair Display for headings */
h1,h2,h3,h4,
.section-title,.hero h1,.case-card h3,.metric-text h4,
.team-meta h3,.founder-name,.principle-item p {
  font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  letter-spacing: -0.02em;
}
.hero h1 { font-size: clamp(42px,6.5vw,84px); font-weight: 900; line-height: 1.05; letter-spacing: -0.03em; }
.section-title { font-size: clamp(32px,4vw,56px); font-weight: 800; line-height: 1.08; letter-spacing: -0.025em; }
.hero-subtitle em { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 600; color: var(--gold); }
.problem-quote { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 26px; font-weight: 700; }
.stat-number { font-family: 'Manrope', sans-serif; }
.ring-label  { font-family: 'Manrope', sans-serif; }
.section-tag { font-family: 'Manrope', sans-serif; }
.nav-center a,.nav-cta,.nav-contact a,.btn-gold,.btn-outline,.btn-primary { font-family: 'Manrope', sans-serif; }
.case-card h3 { font-size: 20px; font-weight: 700; letter-spacing: -0.01em; }
.impact-tab { font-family: 'Manrope', sans-serif; }
.service-card h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 17px; font-weight: 700; }
.team-meta h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 22px; }
.principle-num { font-family: 'Manrope', sans-serif; font-size: 10px; letter-spacing: 3px; }
.principle-item p { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 16px; font-weight: 600; font-style: italic; }
.cta-content h2 { font-family: 'Cormorant Garamond', Georgia, serif; }
.footer-tagline-sub { font-size: 12px; color: var(--text-subtle); margin-top: 4px; }

/* LOGO */
.logo-img { height: 44px; width: auto; display: block; filter: brightness(0) invert(1); transition: opacity .2s; }
.logo:hover .logo-img { opacity: .85; }
.footer-logo-link { display: inline-block; margin-bottom: 20px; }
.footer-logo-img { height: 64px; width: auto; filter: brightness(0) invert(1); opacity: .9; }
.footer-logo-text,.footer-logo-link + .footer-tagline { display: none; }
.hero-logo-watermark {
  position: absolute; right: -2%; top: 50%; transform: translateY(-50%);
  width: clamp(320px,38vw,560px); opacity: .045;
  filter: brightness(0) invert(1); pointer-events: none; z-index: 1; user-select: none;
}
.footer-brand-col { padding-top: 4px; }

/* ABOUT & CAREERS pages */
.about-page,.careers-page { background: #fff; }
.about-values { background: var(--off-white); }
.careers-section { background: var(--off-white); }
.values-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 32px; margin-top: 48px; }
.value-card {
  background: #fff; border: 1px solid var(--border-light); border-radius: var(--radius);
  padding: 32px 28px; box-shadow: 0 2px 12px rgba(0,0,0,.05);
}
.value-card h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 18px; font-weight: 700; color: var(--text-dark); margin-bottom: 12px; }
.value-card p { font-size: 14px; color: var(--text-muted-light); line-height: 1.7; }
.value-icon { font-size: 24px; margin-bottom: 16px; color: var(--gold); }
.about-story { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; padding: 100px 0; }
.about-story-text h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(28px,3.5vw,48px); font-weight: 800; color: var(--text-dark); margin-bottom: 24px; letter-spacing: -0.02em; }
.about-story-text p { font-size: 16px; color: var(--text-muted-light); line-height: 1.8; margin-bottom: 18px; }
.about-story-img { border-radius: var(--radius); overflow: hidden; }
.about-story-img img { width: 100%; height: 420px; object-fit: cover; }
.positions-list { display: flex; flex-direction: column; gap: 16px; margin-top: 40px; }
.position-card {
  background: #fff; border: 1px solid var(--border-light); border-radius: var(--radius);
  padding: 32px; display: flex; justify-content: space-between; align-items: center;
  box-shadow: 0 2px 8px rgba(0,0,0,.04); transition: box-shadow .2s, border-color .2s;
}
.position-card:hover { box-shadow: 0 8px 32px rgba(0,0,0,.10); border-color: var(--border-gold); }
.position-info h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 18px; font-weight: 700; color: var(--text-dark); margin-bottom: 6px; }
.position-info p { font-size: 14px; color: var(--text-muted-light); }
.position-tags { display: flex; gap: 8px; margin-top: 10px; }
.position-tag { font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; padding: 4px 10px; border-radius: 100px; background: rgba(26,58,15,.08); color: var(--green-accent); }
.careers-why { display: grid; grid-template-columns: repeat(2,1fr); gap: 40px; margin-top: 48px; }
.why-item { display: flex; gap: 20px; }
.why-num { font-family: 'Manrope', sans-serif; font-size: 36px; font-weight: 900; color: var(--gold); line-height: 1; flex-shrink: 0; width: 48px; }
.why-item h4 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 17px; font-weight: 700; color: var(--text-dark); margin-bottom: 8px; }
.why-item p { font-size: 14px; color: var(--text-muted-light); line-height: 1.7; }
@media(max-width:800px) {
  .values-grid { grid-template-columns: 1fr; }
  .about-story { grid-template-columns: 1fr; gap: 40px; padding: 64px 0; }
  .careers-why { grid-template-columns: 1fr; }
}

/* Hero text — white + text-shadow for readability on green bg */
.hero h1 { color: #fff !important; text-shadow: 0 2px 24px rgba(0,0,0,.45); }
.hero-subtitle { color: rgba(255,255,255,.9) !important; text-shadow: 0 1px 12px rgba(0,0,0,.35); }
.hero-subtitle strong { color: #fff !important; }
.hero-tag { background: rgba(0,0,0,.25); border-color: rgba(255,255,255,.3); color: #fff; }


/* ── HUB CARDS ── */
.hub-intro-section { background: #fff; padding-bottom: 0; }
.hub-section { background: var(--off-white); padding: 48px 0 100px; }
.hub-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.hub-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--border-light);
  border-top: 3px solid transparent;
  border-radius: var(--radius);
  padding: 40px 32px;
  text-decoration: none;
  color: inherit;
  transition: border-color .25s, box-shadow .25s, transform .25s;
  box-shadow: 0 2px 12px rgba(0,0,0,.05);
}
.hub-card:hover {
  border-top-color: var(--green-accent);
  box-shadow: 0 10px 40px rgba(0,0,0,.10);
  transform: translateY(-4px);
}
.hub-icon {
  font-size: 20px;
  color: var(--gold);
  margin-bottom: 20px;
  line-height: 1;
}
.hub-card h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 20px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 12px;
  letter-spacing: -0.02em;
}
.hub-card p {
  font-size: 14px;
  color: var(--text-muted-light);
  line-height: 1.75;
  flex: 1;
  margin: 0;
}
.hub-arrow {
  display: inline-block;
  margin-top: 28px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--green-accent);
  font-family: 'Manrope', sans-serif;
  transition: letter-spacing .2s;
}
.hub-card:hover .hub-arrow { letter-spacing: 2px; }
@media(max-width:900px) { .hub-grid { grid-template-columns: repeat(2,1fr); } }
@media(max-width:560px) { .hub-grid { grid-template-columns: 1fr; } }

/* CTA section — force white text over dark background image */
.cta-section .section-title,
.cta-section .section-intro,
.cta-section .section-tag { color: #fff !important; }

/* VIP In Action — Result label legibility */
.scenario-result {
  color: #fff !important;
  font-weight: 600;
  font-size: 14px;
  border-left: 3px solid var(--gold);
  padding-left: 14px;
  background: rgba(26,58,15,.35) !important;
  border-radius: 0 var(--radius) var(--radius) 0;
}

/* Leadership page — education + LinkedIn */
.founder-edu {
  font-size: 13px;
  font-weight: 600;
  color: var(--green-accent);
  letter-spacing: 0.3px;
  padding: 0 32px 16px;
  font-family: 'Manrope', sans-serif;
}
.linkedin-btn {
  display: inline-block;
  margin: 0 32px 28px;
  font-size: 13px;
  font-weight: 700;
  font-family: 'Manrope', sans-serif;
  color: var(--green-mid);
  text-decoration: none;
  letter-spacing: 0.5px;
  border-bottom: 1.5px solid var(--green-accent);
  padding-bottom: 2px;
  transition: color .2s, border-color .2s;
}
.linkedin-btn:hover { color: var(--green-accent); border-color: var(--gold); }


/* ── CONTACT MODAL ── */
.cmodal-overlay {
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(10,20,6,.65);
  backdrop-filter: blur(6px);
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
  animation: cmodalFadeIn .2s ease;
}
.cmodal-overlay[hidden] { display: none; }
@keyframes cmodalFadeIn { from { opacity: 0; } to { opacity: 1; } }
.cmodal-box {
  background: #fff;
  border-radius: 10px;
  padding: 48px;
  max-width: 580px;
  width: 100%;
  position: relative;
  box-shadow: 0 24px 80px rgba(0,0,0,.22);
  animation: cmodalSlideUp .25s ease;
}
@keyframes cmodalSlideUp { from { transform: translateY(16px); opacity: 0; } to { transform: none; opacity: 1; } }
.cmodal-close {
  position: absolute; top: 16px; right: 20px;
  background: none; border: none; font-size: 24px;
  color: var(--text-muted-light); cursor: pointer; line-height: 1;
  transition: color .2s;
}
.cmodal-close:hover { color: var(--text-dark); }
.cmodal-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 28px; font-weight: 400;
  color: var(--text-dark); margin-bottom: 8px; margin-top: 12px;
}
.cmodal-intro { font-size: 14px; color: var(--text-muted-light); margin-bottom: 28px; line-height: 1.6; }
.cmodal-form { display: flex; flex-direction: column; gap: 18px; }
.cmodal-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cmodal-field { display: flex; flex-direction: column; gap: 6px; }
.cmodal-field label { font-size: 12px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; color: var(--text-muted-light); }
.cmodal-field label span { color: var(--gold); }
.cmodal-field input, .cmodal-field textarea {
  border: 1.5px solid var(--border-light);
  border-radius: var(--radius);
  padding: 12px 14px;
  font-size: 14px; font-family: inherit;
  color: var(--text-dark);
  background: #fff;
  transition: border-color .2s;
  resize: vertical;
}
.cmodal-field input:focus, .cmodal-field textarea:focus {
  outline: none; border-color: var(--green-accent);
}
.cmodal-note { font-size: 12px; color: var(--text-muted-light); line-height: 1.5; }
@media(max-width:560px) {
  .cmodal-box { padding: 32px 24px; }
  .cmodal-row { grid-template-columns: 1fr; }
}

/* ── Opportunities / Job Pages ─────────────────────────────── */
.position-actions { display:flex; gap:1rem; align-items:center; flex-shrink:0; }
.job-back-link { display:inline-block; color:var(--text-muted); font-size:14px; font-weight:500; text-decoration:none; margin-bottom:1.25rem; transition:color .2s; }
.job-back-link:hover { color:var(--green-mid); }
.job-description-wrap { display:grid; grid-template-columns:1fr 300px; gap:4rem; align-items:start; }
.job-description-content h2 { font-size:clamp(18px,2vw,22px); margin:2rem 0 .75rem; color:var(--text-dark); }
.job-description-content ul { padding-left:1.25rem; margin:.5rem 0 1.5rem; }
.job-description-content li { margin-bottom:.5rem; color:var(--text-muted); line-height:1.7; }
.job-apply-card { background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius); padding:2rem; }
.job-apply-card h3 { font-size:18px; margin-bottom:.5rem; color:var(--text-dark); }
.job-apply-card p { color:var(--text-muted); font-size:14px; line-height:1.6; }
@media(max-width:768px) {
  .job-description-wrap { grid-template-columns:1fr; }
  .position-actions { flex-direction:column; width:100%; }
  .position-actions a { width:100%; text-align:center; }
}

/* ── Opportunities — client search roles ───────────────────── */
.position-company { font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); margin-bottom:.35rem; }
.careers-vbg-callout { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:2.5rem 0; }
@media(max-width:768px) { .careers-vbg-callout { flex-direction:column; align-items:flex-start; } }

/* ── Express Interest modal extras ────────────────────────── */
.ef-file-input { padding:10px 0; cursor:pointer; }
.ef-file-note { font-size:12px; color:var(--text-muted); margin-top:4px; }
.ef-status { padding:12px 16px; border-radius:var(--radius); font-size:14px; margin-bottom:1rem; }
.ef-status--success { background:rgba(45,80,22,.15); color:#7ab648; }
.ef-status--error   { background:rgba(180,60,60,.12); color:#d96b6b; }

/* ── Lightbox ──────────────────────────────────────────────── */
img[data-lightbox] { cursor: zoom-in; }
.lightbox-overlay {
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(0,0,0,.88);
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
  opacity: 0; transition: opacity .2s ease;
  cursor: zoom-out;
}
.lightbox-overlay.is-open { opacity: 1; }
.lightbox-overlay img {
  max-width: 90vw; max-height: 90vh;
  border-radius: 6px;
  box-shadow: 0 24px 80px rgba(0,0,0,.6);
  object-fit: contain;
  cursor: default;
}
.lightbox-close {
  position: absolute; top: 20px; right: 24px;
  background: none; border: none;
  color: #fff; font-size: 32px; line-height: 1;
  cursor: pointer; opacity: .7; transition: opacity .15s;
}
.lightbox-close:hover { opacity: 1; }

/* ── Resume file upload ────────────────────────────────────── */
.cmodal-file-input {
  padding: 8px 0;
  font-size: 13px;
  color: var(--text-muted);
  cursor: pointer;
  width: 100%;
}
.cmodal-file-hint {
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  font-size: 11px;
  color: var(--text-muted-light);
}
