/* ============================================
   FOUNDERA — Shared Stylesheet
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

/* ============================================
   DESIGN TOKENS
   ============================================ */
:root {
  --color-bg:       #FAFAFA;
  --color-black:    #0A0A0A;
  --color-grey:     #777777;
  --color-border:   #EEEEEE;
  --color-white:    #FFFFFF;
  --color-dark-bg:  #0A0A0A;
  --font: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --text-xs:   0.75rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-lg:   1.125rem;
  --text-xl:   1.25rem;
  --text-2xl:  1.5rem;
  --text-3xl:  1.875rem;
  --text-4xl:  2.25rem;
  --fw-medium:    500;
  --fw-semibold:  600;
  --fw-bold:      700;
  --fw-black:     800;
  --ls-tight:   -0.02em;
  --ls-tighter: -0.03em;
  --ls-tightest:-0.04em;
  --color-off-white: #F5F4F1;
  --sp-1:0.25rem; --sp-2:0.5rem;  --sp-3:0.75rem; --sp-4:1rem;
  --sp-5:1.25rem; --sp-6:1.5rem;  --sp-7:1.75rem; --sp-8:2rem;    --sp-10:2.5rem;
  --sp-12:3rem;   --sp-16:4rem;   --sp-20:5rem;   --sp-24:6rem;  --sp-32:8rem;
  --container-max: 1120px;
  --container-px:  var(--sp-6);
  --r-card: 20px;
  --r-pill: 100px;
  --r-sm:   8px;
  --shadow-sm:    0 1px 3px rgba(0,0,0,.06),  0 1px 2px rgba(0,0,0,.04);
  --shadow-md:    0 4px 16px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.05);
  --shadow-hover: 0 20px 60px rgba(0,0,0,.14),0 6px 20px rgba(0,0,0,.08);
  --ease-out:   cubic-bezier(0.33, 1, 0.68, 1);
  --ease-inout: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast:  150ms;
  --dur-base:  250ms;
  --dur-slow:  400ms;
  --dur-slower:600ms;
}

/* ============================================
   RESET
   ============================================ */
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
body { font-family:var(--font); background:var(--color-bg); color:var(--color-black); font-size:var(--text-base); font-weight:var(--fw-medium); line-height:1.6; overflow-x:hidden; }
img,svg { display:block; max-width:100%; }
a   { color:inherit; text-decoration:none; }
button { font-family:var(--font); cursor:pointer; border:none; background:none; }
ul,ol  { list-style:none; }
input  { font-family:var(--font); }

/* ============================================
   LAYOUT
   ============================================ */
.container { width:100%; max-width:var(--container-max); margin:0 auto; padding:0 var(--container-px); }
.section   { padding:var(--sp-32) 0; }
.divider   { height:1px; background:var(--color-border); }

/* ============================================
   TYPOGRAPHY
   ============================================ */
.label        { font-size:var(--text-xs); font-weight:var(--fw-black); letter-spacing:.12em; text-transform:uppercase; color:var(--color-grey); }
.label-light  { color:rgba(255,255,255,.35); }
.headline     { font-size:clamp(2rem,4vw,3.75rem); font-weight:var(--fw-black); letter-spacing:var(--ls-tighter); line-height:1.05; }
.headline-white { color:var(--color-white); }

/* ============================================
   SCROLL REVEAL
   ============================================ */
.reveal { opacity:0; transform:translateY(28px); transition:opacity var(--dur-slower) var(--ease-out), transform var(--dur-slower) var(--ease-out); }
.reveal.in { opacity:1; transform:none; }
.d1 { transition-delay:100ms; }
.d2 { transition-delay:200ms; }
.d3 { transition-delay:300ms; }
.d4 { transition-delay:400ms; }

/* ============================================
   BUTTON
   ============================================ */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:var(--sp-2);
  padding:var(--sp-4) var(--sp-8); border-radius:var(--r-pill);
  font-family:var(--font); font-size:var(--text-sm); font-weight:var(--fw-bold); letter-spacing:.01em;
  transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), background var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out);
  cursor:pointer; white-space:nowrap;
}
.btn:hover                { transform:scale(1.04); }
.btn-primary              { background:var(--color-black); color:var(--color-white); box-shadow:var(--shadow-sm); }
.btn-primary:hover        { box-shadow:var(--shadow-md); }
.btn-outline              { background:transparent; color:var(--color-black); border:1.5px solid var(--color-black); }
.btn-outline:hover        { background:var(--color-black); color:var(--color-white); }
.btn-outline-white        { background:transparent; color:var(--color-white); border:1.5px solid rgba(255,255,255,.3); }
.btn-outline-white:hover  { background:var(--color-white); color:var(--color-black); }
.btn-lg                   { padding:var(--sp-5) var(--sp-10); font-size:var(--text-base); }

/* ============================================
   CARD
   ============================================ */
.card { background:var(--color-white); border-radius:var(--r-card); padding:var(--sp-10); border:1px solid var(--color-border); position:relative; overflow:hidden; transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); }
.card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--color-black); transform:scaleX(0); transform-origin:left; transition:transform var(--dur-base) var(--ease-out); }
.card:hover { transform:translateY(-4px); box-shadow:var(--shadow-hover); }
.card:hover::after { transform:scaleX(1); }
.card-icon  { width:44px; height:44px; margin-bottom:var(--sp-5); display:flex; align-items:center; justify-content:center; border-radius:var(--r-sm); background:var(--color-bg); border:1px solid var(--color-border); }
.card-title { font-size:var(--text-lg); font-weight:var(--fw-bold); letter-spacing:var(--ls-tight); margin-bottom:var(--sp-2); }
.card-body  { font-size:var(--text-sm); color:var(--color-grey); line-height:1.5; }

/* Badge */
.badge           { display:inline-flex; align-items:center; padding:3px var(--sp-3); border-radius:var(--r-pill); font-size:.65rem; font-weight:var(--fw-bold); letter-spacing:.06em; text-transform:uppercase; }
.badge-founders  { background:#F0F0F0; color:#0A0A0A; }
.badge-corporate { background:#0A0A0A; color:#FAFAFA; }
.badge-workshop  { background:#EEEEEE; color:#555; }

/* Pill */
.pill { display:inline-flex; align-items:center; padding:var(--sp-2) var(--sp-5); border-radius:var(--r-pill); font-size:var(--text-xs); font-weight:var(--fw-bold); letter-spacing:.04em; border:1px solid var(--color-border); background:var(--color-white); transition:background var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out); cursor:default; }
.pill:hover       { background:var(--color-black); border-color:var(--color-black); color:var(--color-white); }
.pill-dark        { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.12); color:var(--color-white); }

/* ============================================
   PAGE HERO (inner pages)
   ============================================ */
.page-hero { padding:160px 0 var(--sp-24); text-align:center; border-bottom:1px solid var(--color-border); }
.page-hero-h1 { font-size:clamp(2.75rem,6vw,5.5rem); font-weight:var(--fw-black); letter-spacing:var(--ls-tightest); line-height:.95; margin-bottom:var(--sp-6); }
.page-hero-sub { font-size:clamp(var(--text-base),1.8vw,var(--text-xl)); font-weight:var(--fw-bold); color:var(--color-grey); letter-spacing:var(--ls-tight); max-width:520px; margin:0 auto; }

/* ============================================
   NAVBAR
   ============================================ */
.nav { position:fixed; top:0; left:0; right:0; z-index:100; padding:var(--sp-5) var(--sp-6); background:rgba(250,250,250,.88); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border-bottom:1px solid transparent; transition:transform var(--dur-slow) var(--ease-out), border-color var(--dur-base) var(--ease-out), background var(--dur-base) var(--ease-out); }
.nav.hidden   { transform:translateY(-100%); }
.nav.scrolled { border-bottom-color:var(--color-border); background:rgba(250,250,250,.96); }
.nav-inner    { max-width:var(--container-max); margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:var(--sp-8); }
.nav-logo     { display:flex; align-items:center; gap:var(--sp-3); }
.nav-logo-word{ font-size:var(--text-lg); font-weight:var(--fw-black); letter-spacing:var(--ls-tight); }
.nav-links    { display:flex; align-items:center; gap:var(--sp-8); flex:1; justify-content:center; }
.nav-link     { font-size:var(--text-sm); font-weight:var(--fw-semibold); color:var(--color-grey); transition:color var(--dur-fast) var(--ease-out); position:relative; }
.nav-link:hover    { color:var(--color-black); }
.nav-link.is-active{ color:var(--color-black); font-weight:var(--fw-bold); }

/* ============================================
   HERO (home page)
   ============================================ */
.hero { min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding-top:100px; padding-bottom:var(--sp-32); position:relative; }
.hero-eyebrow { display:inline-flex; align-items:center; gap:var(--sp-3); margin-bottom:var(--sp-8); }
.hero-dot  { width:5px; height:5px; border-radius:50%; background:var(--color-black); opacity:.3; }
.hero-h1   { font-size:clamp(3rem,9vw,7.5rem); font-weight:var(--fw-black); letter-spacing:var(--ls-tightest); line-height:.95; margin-bottom:var(--sp-8); }
.hero-sub  { font-size:clamp(var(--text-lg),2.5vw,var(--text-3xl)); font-weight:var(--fw-bold); letter-spacing:var(--ls-tight); color:var(--color-grey); margin-bottom:var(--sp-12); line-height:1.2; }
.hero-scroll { position:absolute; bottom:var(--sp-10); left:50%; transform:translateX(-50%); opacity:.3; animation:bob 2s var(--ease-inout) infinite; }
.hero-scroll-line { width:1px; height:40px; background:linear-gradient(to bottom, var(--color-black), transparent); }
@keyframes bob { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(6px)} }

/* ============================================
   MARQUEE
   ============================================ */
.marquee-wrap  { border-top:1px solid var(--color-border); border-bottom:1px solid var(--color-border); background:var(--color-white); overflow:hidden; padding:var(--sp-4) 0; user-select:none; }
.marquee-track { display:flex; width:max-content; animation:marquee 28s linear infinite; }
.marquee-track:hover { animation-play-state:paused; }
.marquee-group { display:flex; align-items:center; flex-shrink:0; }
.marquee-item  { display:inline-flex; align-items:center; padding:0 var(--sp-5); font-size:var(--text-xs); font-weight:var(--fw-black); letter-spacing:.14em; text-transform:uppercase; color:var(--color-grey); white-space:nowrap; }
.marquee-item::after { content:'·'; margin-left:var(--sp-5); opacity:.4; }
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ============================================
   TABS
   ============================================ */
.tabs-header  { text-align:center; margin-bottom:var(--sp-16); }
.tabs-nav     { display:inline-flex; align-items:center; gap:var(--sp-2); background:var(--color-white); border:1px solid var(--color-border); border-radius:var(--r-pill); padding:var(--sp-1); margin-top:var(--sp-10); }
.tab-btn      { padding:var(--sp-3) var(--sp-6); border-radius:var(--r-pill); font-size:var(--text-sm); font-weight:var(--fw-bold); color:var(--color-grey); transition:background var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out); white-space:nowrap; }
.tab-btn:hover{ color:var(--color-black); }
.tab-btn.active { background:var(--color-black); color:var(--color-white); box-shadow:var(--shadow-sm); }
.tab-panel    { display:none; margin-top:var(--sp-12); animation:fadeUp var(--dur-slow) var(--ease-out) both; }
.tab-panel.active { display:block; }
@keyframes fadeUp { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:none} }
.cards-grid   { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp-5); }

/* ============================================
   EVENTS
   ============================================ */
.events-list  { border-top:1px solid var(--color-border); }
.event-row    { display:grid; grid-template-columns:100px 1fr auto auto 28px; align-items:center; gap:var(--sp-6); padding:var(--sp-6) var(--sp-4); border-bottom:1px solid var(--color-border); color:var(--color-black); border-radius:var(--r-sm); margin:0 calc(-1 * var(--sp-4)); transition:transform var(--dur-base) var(--ease-out), background var(--dur-base) var(--ease-out); }
.event-row:hover { transform:translateX(8px); background:rgba(0,0,0,.025); }
.event-row:hover .event-arrow { transform:translateX(4px); }
.event-date   { font-size:var(--text-sm); font-weight:var(--fw-bold); color:var(--color-grey); white-space:nowrap; }
.event-title  { font-size:var(--text-lg); font-weight:var(--fw-bold); letter-spacing:var(--ls-tight); }
.event-location { font-size:var(--text-sm); color:var(--color-grey); white-space:nowrap; }
.event-arrow  { display:flex; align-items:center; justify-content:center; color:var(--color-grey); transition:transform var(--dur-base) var(--ease-out); }

/* ============================================
   SPLIT (Partner / Speak)
   ============================================ */
.split-grid   { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-5); }
.split-card   { border-radius:var(--r-card); border:1px solid var(--color-border); padding:var(--sp-12) var(--sp-10); display:flex; flex-direction:column; gap:var(--sp-8); background:var(--color-white); position:relative; overflow:hidden; transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); }
.split-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--color-black); transform:scaleX(0); transform-origin:left; transition:transform var(--dur-base) var(--ease-out); }
.split-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-hover); }
.split-card:hover::after { transform:scaleX(1); }
.split-card-headline { font-size:clamp(var(--text-2xl),2.5vw,var(--text-4xl)); font-weight:var(--fw-black); letter-spacing:var(--ls-tighter); line-height:1.05; }
.split-card-body { font-size:var(--text-sm); color:var(--color-grey); }
.partner-logos { display:flex; align-items:center; gap:var(--sp-4); flex-wrap:wrap; }
.logo-ph       { height:28px; border-radius:var(--r-sm); background:var(--color-border); opacity:.7; }

/* ============================================
   RESOURCES
   ============================================ */
.resources-section { background:var(--color-dark-bg); padding:var(--sp-32) 0; overflow:hidden; }
.resources-scroll-outer { position:relative; }
.resources-scroll-outer::after { content:''; position:absolute; top:0; right:0; bottom:0; width:80px; background:linear-gradient(to right, transparent, var(--color-dark-bg)); pointer-events:none; z-index:1; }
.resources-scroll { overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; scrollbar-width:none; cursor:grab; margin:0 calc(-1 * var(--container-px)); padding:0 var(--container-px); }
.resources-scroll::-webkit-scrollbar { display:none; }
.resources-scroll:active { cursor:grabbing; }
.resources-track { display:flex; gap:var(--sp-4); width:max-content; padding-bottom:var(--sp-2); }
.resource-card { width:260px; flex-shrink:0; border:1px solid rgba(255,255,255,.1); border-radius:var(--r-card); padding:var(--sp-8); background:rgba(255,255,255,.04); display:flex; flex-direction:column; justify-content:space-between; gap:var(--sp-10); transition:background var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out); }
.resource-card:hover { background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.2); transform:translateY(-3px); }
.resource-tag   { font-size:var(--text-xs); font-weight:var(--fw-black); letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.3); }
.resource-title { font-size:var(--text-lg); font-weight:var(--fw-bold); letter-spacing:var(--ls-tight); color:var(--color-white); line-height:1.2; }
.resource-read  { font-size:var(--text-xs); font-weight:var(--fw-bold); letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.4); display:flex; align-items:center; gap:var(--sp-2); transition:color var(--dur-fast) var(--ease-out); }
.resource-arrow { transition:transform var(--dur-base) var(--ease-out); }
.resource-card:hover .resource-read  { color:var(--color-white); }
.resource-card:hover .resource-arrow { transform:translateX(4px); }

/* ============================================
   COMMUNITY
   ============================================ */
.community-section  { padding:var(--sp-32) 0; text-align:center; }
.community-pills    { display:flex; flex-wrap:wrap; gap:var(--sp-3); justify-content:center; margin-bottom:var(--sp-12); }

/* ============================================
   EMAIL CTA
   ============================================ */
.email-section { background:var(--color-black); padding:var(--sp-32) 0; text-align:center; }
.email-form    { display:flex; align-items:center; gap:var(--sp-3); max-width:440px; margin:var(--sp-10) auto 0; flex-wrap:wrap; justify-content:center; }
.email-input   { flex:1; min-width:200px; padding:var(--sp-4) var(--sp-6); border-radius:var(--r-pill); border:1px solid rgba(255,255,255,.15); font-family:var(--font); font-size:var(--text-sm); font-weight:var(--fw-medium); background:rgba(255,255,255,.07); color:var(--color-white); outline:none; transition:border-color var(--dur-base) var(--ease-out), background var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); }
.email-input::placeholder { color:rgba(255,255,255,.3); }
.email-input:focus { border-color:rgba(255,255,255,.5); background:rgba(255,255,255,.1); box-shadow:0 0 0 3px rgba(255,255,255,.08); }
.email-note    { font-size:var(--text-xs); color:rgba(255,255,255,.3); font-weight:var(--fw-medium); margin-top:var(--sp-5); letter-spacing:.02em; }

/* Light email form (for non-dark sections) */
.email-input-light { background:var(--color-white); color:var(--color-black); border:1px solid var(--color-border); }
.email-input-light::placeholder { color:var(--color-grey); }
.email-input-light:focus { border-color:var(--color-black); box-shadow:0 0 0 3px rgba(0,0,0,.06); }

/* ============================================
   FOOTER
   ============================================ */
.footer       { border-top:1px solid var(--color-border); padding:var(--sp-16) 0 var(--sp-10); }
.footer-grid  { max-width:var(--container-max); margin:0 auto; padding:0 var(--container-px); display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:var(--sp-12); }
.footer-brand-tagline { font-size:var(--text-xs); color:var(--color-grey); font-weight:var(--fw-medium); margin-top:var(--sp-3); line-height:1.6; }
.footer-col-title  { font-size:var(--text-xs); font-weight:var(--fw-black); letter-spacing:.1em; text-transform:uppercase; color:var(--color-black); margin-bottom:var(--sp-5); }
.footer-col-links  { display:flex; flex-direction:column; gap:var(--sp-3); }
.footer-link       { font-size:var(--text-sm); color:var(--color-grey); transition:color var(--dur-fast) var(--ease-out); width:fit-content; position:relative; }
.footer-link::after{ content:''; position:absolute; bottom:-2px; left:0; width:0; height:1px; background:var(--color-black); transition:width var(--dur-base) var(--ease-out); }
.footer-link:hover { color:var(--color-black); }
.footer-link:hover::after { width:100%; }
.footer-bottom { max-width:var(--container-max); margin:var(--sp-12) auto 0; padding:var(--sp-6) var(--container-px) 0; border-top:1px solid var(--color-border); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--sp-4); }
.footer-copy   { font-size:var(--text-xs); color:var(--color-grey); }
.footer-legal  { display:flex; gap:var(--sp-6); }
.footer-legal a { font-size:var(--text-xs); color:var(--color-grey); transition:color var(--dur-fast) var(--ease-out); }
.footer-legal a:hover { color:var(--color-black); }

/* ============================================
   FORM (partners page)
   ============================================ */
.form-group   { display:flex; flex-direction:column; gap:var(--sp-2); }
.form-label   { font-size:var(--text-xs); font-weight:var(--fw-black); letter-spacing:.08em; text-transform:uppercase; color:var(--color-black); }
.form-input, .form-textarea, .form-select {
  padding:var(--sp-4) var(--sp-5); border-radius:var(--r-sm); border:1px solid var(--color-border);
  font-family:var(--font); font-size:var(--text-sm); font-weight:var(--fw-medium);
  background:var(--color-white); color:var(--color-black); outline:none;
  transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);
  width:100%;
}
.form-textarea { resize:vertical; min-height:100px; line-height:1.6; }
.form-select   { cursor:pointer; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23777' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right var(--sp-4) center; padding-right:var(--sp-10); }
.form-input:focus, .form-textarea:focus, .form-select:focus { border-color:var(--color-black); box-shadow:0 0 0 3px rgba(0,0,0,.06); }
.form-grid    { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-5); }
.form-stack   { display:flex; flex-direction:column; gap:var(--sp-5); }

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 960px) {
  .cards-grid  { grid-template-columns:repeat(2,1fr); }
  .split-grid  { grid-template-columns:1fr; }
  .event-row   { grid-template-columns:80px 1fr auto 28px; }
  .event-location { display:none; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:var(--sp-10); }
  .form-grid   { grid-template-columns:1fr; }
  .access-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  :root { --container-px:var(--sp-5); }
  .section         { padding:var(--sp-20) 0; }
  .community-section { padding:var(--sp-20) 0; }
  .email-section   { padding:var(--sp-20) 0; }
  .nav             { padding:var(--sp-4) var(--sp-5); }
  .nav-links       { display:none; }
  .hero            { min-height:auto; padding-top:110px; padding-bottom:var(--sp-20); justify-content:flex-start; }
  .hero-h1         { font-size:clamp(2.5rem,11vw,3.5rem); }
  .hero-sub        { font-size:var(--text-xl); }
  .page-hero       { padding:130px 0 var(--sp-16); }
  .page-hero-h1    { font-size:clamp(2.25rem,10vw,3rem); }
  .tabs-nav        { flex-direction:column; border-radius:var(--r-card); width:100%; }
  .tab-btn         { width:100%; text-align:center; padding:var(--sp-4); }
  .cards-grid      { grid-template-columns:1fr; }
  .event-row       { grid-template-columns:1fr 28px; gap:var(--sp-3); }
  .event-row .badge{ display:none; }
  .event-date      { display:none; }
  .event-title     { font-size:var(--text-base); }
  .split-card      { padding:var(--sp-8) var(--sp-6); }
  .split-card-headline { font-size:var(--text-3xl); }
  .resources-scroll-outer::after { width:40px; }
  .email-form      { flex-direction:column; align-items:stretch; }
  .email-input     { min-width:unset; width:100%; }
  .footer-grid     { grid-template-columns:1fr; gap:var(--sp-8); }
  .footer-bottom   { flex-direction:column; align-items:flex-start; gap:var(--sp-3); }
  .features-grid   { grid-template-columns: 1fr; }
  .access-grid     { grid-template-columns: 1fr; }
  .shift-columns   { height: 260px; }
}
@media (max-width: 380px) {
  .hero-h1  { font-size:2.25rem; }
  .headline { font-size:1.875rem; }
  .btn-lg   { padding:var(--sp-4) var(--sp-8); font-size:var(--text-sm); }
}

/* Hamburger */
.nav-burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 36px;
  height: 36px;
  min-width: 36px;
  flex-shrink: 0;
  cursor: pointer;
  background: none;
  border: none;
  padding: 4px;
  z-index: 200;
}
.nav-burger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--color-black);
  border-radius: 2px;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transform-origin: center;
}
.nav-burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-burger.open span:nth-child(2) { opacity: 0; }
.nav-burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile nav drawer */
.nav-mobile {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(250,250,250,0.98);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  z-index: 99;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--sp-8);
  padding: var(--sp-20) var(--sp-8);
}
.nav-mobile.open { display: flex; }
.nav-mobile-link {
  font-size: clamp(1.5rem, 6vw, 2rem);
  font-weight: var(--fw-black);
  letter-spacing: var(--ls-tighter);
  color: var(--color-black);
  text-align: center;
  transition: opacity 0.15s ease;
}
.nav-mobile-link:hover { opacity: 0.5; }
.nav-mobile-link.is-active { opacity: 0.4; }
.nav-mobile-cta { margin-top: var(--sp-4); }

@media (max-width: 768px) {
  .nav-burger { display: flex; }
  .nav-inner > .btn { display: none; }
}

/* ============================================
   FOOTER SOCIAL ICONS
   ============================================ */
.footer-social {
  display: flex;
  gap: var(--sp-2);
  margin-top: var(--sp-5);
  flex-wrap: wrap;
}
.footer-social-icon {
  width: 34px;
  height: 34px;
  border: 1px solid var(--color-border);
  border-radius: var(--r-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-grey);
  transition: color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);
  flex-shrink: 0;
}
.footer-social-icon:hover {
  border-color: var(--color-black);
  background: var(--color-black);
  color: var(--color-white);
}

/* ============================================
   STATS COUNTER
   ============================================ */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-8);
  margin: var(--sp-12) auto;
  max-width: 680px;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  padding: var(--sp-10) 0;
}
.stat-item { text-align: center; }
.stat-number {
  font-size: clamp(2.25rem, 4.5vw, 3.25rem);
  font-weight: var(--fw-black);
  letter-spacing: var(--ls-tightest);
  line-height: 1;
  color: var(--color-black);
}
.stat-label {
  font-size: var(--text-xs);
  font-weight: var(--fw-bold);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--color-grey);
  margin-top: var(--sp-2);
}
@media (max-width: 480px) {
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: var(--sp-6); }
}

/* ── INTERACTIVE PATH SECTION ── */
.path-section {
  padding: var(--sp-24) 0;
  background: var(--color-black);
}
.path-section .label { color: rgba(255,255,255,.45); }
.path-section .headline { color: #fff; }
.path-section-sub {
  font-size: var(--text-base);
  color: rgba(255,255,255,.5);
  font-weight: var(--fw-medium);
  margin-top: var(--sp-4);
}
.path-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-6);
}
@media (max-width: 860px) {
  .path-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .path-grid { grid-template-columns: 1fr; }
}
.path-flip {
  height: 300px;
  perspective: 1200px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.path-flip-inner {
  width: 100%;
  height: 100%;
  position: relative;
  transform-style: preserve-3d;
  transition: transform .55s cubic-bezier(.4,0,.2,1);
}
.path-flip.flipped .path-flip-inner { transform: rotateY(180deg); }
.path-flip-front,
.path-flip-back {
  position: absolute;
  inset: 0;
  border-radius: var(--r-card);
  padding: var(--sp-8);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.path-flip-front {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  transition: background .2s ease, border-color .2s ease;
}
.path-flip:hover .path-flip-front {
  background: rgba(255,255,255,.1);
  border-color: rgba(255,255,255,.2);
}
.path-flip-back {
  background: var(--color-off-white);
  border: 1px solid var(--color-border);
  transform: rotateY(180deg);
}
.path-flip-number {
  font-size: clamp(2.5rem,4vw,3.5rem);
  font-weight: var(--fw-black);
  color: rgba(255,255,255,.1);
  letter-spacing: -.04em;
  line-height: 1;
}
.path-flip-title {
  font-size: clamp(var(--text-xl),2.2vw,var(--text-2xl));
  font-weight: var(--fw-black);
  color: #fff;
  letter-spacing: var(--ls-tightest);
  line-height: 1.1;
}
.path-flip-hint {
  font-size: var(--text-xs);
  color: rgba(255,255,255,.38);
  font-weight: var(--fw-bold);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.path-flip-tag {
  font-size: var(--text-xs);
  font-weight: var(--fw-black);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--color-black);
  background: var(--color-black);
  color: #fff;
  border-radius: var(--r-pill);
  padding: 4px 14px;
  display: inline-block;
}
.path-flip-list {
  list-style: none;
  padding: 0;
  margin: var(--sp-5) 0 0;
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  flex: 1;
}
.path-flip-list li {
  font-size: var(--text-sm);
  font-weight: var(--fw-medium);
  color: var(--color-grey);
  padding-left: var(--sp-5);
  position: relative;
  line-height: 1.5;
}
.path-flip-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--color-black);
}
.path-flip-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--text-sm);
  font-weight: var(--fw-bold);
  color: var(--color-black);
  text-decoration: none;
  margin-top: var(--sp-5);
  transition: opacity .15s ease;
}
.path-flip-cta:hover { opacity: .65; }
.path-flip-cta svg { flex-shrink: 0; }
