@font-face { font-family:'Cormorant Garamond'; src:url('../fonts/cormorant-300.woff2') format('woff2'); font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:'Cormorant Garamond'; src:url('../fonts/cormorant-300i.woff2') format('woff2'); font-weight:300; font-style:italic; font-display:swap; }
@font-face { font-family:'Cormorant Garamond'; src:url('../fonts/cormorant-400.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Cormorant Garamond'; src:url('../fonts/cormorant-400i.woff2') format('woff2'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:'Cormorant Garamond'; src:url('../fonts/cormorant-600.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'Cormorant Garamond'; src:url('../fonts/cormorant-600i.woff2') format('woff2'); font-weight:600; font-style:italic; font-display:swap; }
@font-face { font-family:'Josefin Sans'; src:url('../fonts/josefin-300.woff2') format('woff2'); font-weight:100; font-style:normal; font-display:swap; }
@font-face { font-family:'Josefin Sans'; src:url('../fonts/josefin-400.woff2') format('woff2'); font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:'Josefin Sans'; src:url('../fonts/josefin-500.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Josefin Sans'; src:url('../fonts/josefin-600.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }


/* ── TOKENS ── */
:root {
  --ink:#163832; --green:#4A7C5B; --orange:#E07A5F; --opal:#008B6A;
  --silver:#AEACB7; --lime:#909175; --gold:#E07A5F; --cream:#F7F4EF;
  --crema2:#EDE8E0; --white:#FFFFFF;
  --terracotta:#C17850; --sage:#8FB9A2; --moss:#3D6B5E; --sand:#D4C4A8;
  --fire:#FF5400; --sky:#87D6FF; --lilac:#B5B5E5;
  --ff-d:'Cormorant Garamond',Georgia,serif;
  --ff-s:'Josefin Sans',Helvetica,sans-serif;
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--ff-s);font-weight:300;background:var(--cream);color:#2a2a2a;overflow-x:hidden}

/* ── GRAIN ── */
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.025;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  padding:1.1rem 3rem;
  display:flex;justify-content:space-between;align-items:center;
  background:rgba(250,248,245,.95);backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(28,56,58,.07);
  transition:padding .3s;
}
/* Logo transparent trick: multiply on light bg */
.nav-logo img{
  height:54px;display:block;
  mix-blend-mode:multiply;
  opacity:.95;
  transition:height .3s;
}
.nav-logo.scrolled img{height:40px}
/* Version badge */
.version-badge{position:fixed;top:12px;right:16px;z-index:201;font-family:var(--ff-s);font-size:.55rem;letter-spacing:.12em;color:var(--sage);opacity:.45;text-transform:uppercase}
nav ul{list-style:none;display:flex;gap:2.5rem;align-items:center}
nav ul a{
  text-decoration:none;color:var(--ink);
  font-family:var(--ff-s);font-size:.7rem;font-weight:400;
  letter-spacing:.2em;text-transform:uppercase;transition:color .3s;
}
nav ul a:hover{color:var(--opal)}
.nav-cta{background:var(--opal)!important;color:var(--white)!important;padding:.48rem 1.4rem}
.nav-cta:hover{background:var(--fire)!important}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none}
.hamburger span{display:block;width:24px;height:2px;background:var(--ink);transition:.3s}
@media(max-width:768px){
  nav{padding:1rem 1.5rem}
  nav ul{display:none}
  nav ul.open{display:flex;flex-direction:column;position:fixed;top:65px;left:0;right:0;background:rgba(250,248,245,.98);padding:2rem;gap:1.5rem;border-bottom:1px solid rgba(28,56,58,.1);z-index:199}
  .hamburger{display:flex}
}

/* ── HERO ── */
.hero{
  min-height:100vh;position:relative;overflow:hidden;
  display:flex;align-items:flex-end;
}
.hero-bg{
  position:absolute;inset:0;
  background:url('../img/hero-bg.jpg') center/cover no-repeat;
}
.hero-bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top, rgba(28,56,58,.92) 0%, rgba(28,56,58,.55) 40%, rgba(28,56,58,.2) 80%, transparent 100%);
}
.hero-content{
  position:relative;z-index:2;
  padding:3rem 4rem 5rem;
  max-width:860px;
  animation:hfade 1.2s ease both;
}
@keyframes hfade{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
/* Hero logo removed per user request */
.hero-eyebrow{
  font-family:var(--ff-s);font-size:.68rem;font-weight:400;
  letter-spacing:.35em;text-transform:uppercase;color:var(--sage);
  margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem;
}
.hero-eyebrow::before{content:'';display:block;width:32px;height:1px;background:var(--sky);opacity:.7}
h1.hero-tag{
  font-family:var(--ff-d);font-size:clamp(3rem,6.5vw,5.5rem);
  font-weight:300;font-style:italic;color:var(--cream);
  line-height:1.1;margin-bottom:.8rem;
}
h1.hero-tag strong{font-weight:600;font-style:normal;color:var(--orange)}
.hero-sub{
  font-family:var(--ff-s);font-size:.72rem;font-weight:300;
  letter-spacing:.22em;text-transform:uppercase;
  color:rgba(250,248,245,.55);margin-bottom:3rem;
}
.hero-btns{display:flex;gap:1.2rem;flex-wrap:wrap}
.btn-p{
  background:var(--opal);color:var(--white);
  font-family:var(--ff-s);font-size:.7rem;font-weight:400;
  letter-spacing:.2em;text-transform:uppercase;
  padding:1rem 2.8rem;text-decoration:none;display:inline-block;transition:all .3s;
}
.btn-p:hover{background:var(--green);transform:translateY(-2px)}
.btn-o{
  background:transparent;color:var(--cream);
  font-family:var(--ff-s);font-size:.7rem;font-weight:400;
  letter-spacing:.2em;text-transform:uppercase;
  padding:1rem 2.8rem;text-decoration:none;
  border:1px solid rgba(250,248,245,.3);display:inline-block;transition:all .3s;
}
.btn-o:hover{border-color:var(--fire);color:var(--fire)}
.scroll-hint{
  position:absolute;bottom:2.5rem;right:4rem;z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:.4rem;
  animation:bob 2.5s ease-in-out infinite;
}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
.scroll-hint span{font-size:.58rem;letter-spacing:.3em;color:var(--sky);opacity:.5;text-transform:uppercase}

/* ── SECTION BASE ── */
section{padding:7rem 2rem}
.si{max-width:1120px;margin:0 auto}
.lbl{
  font-family:var(--ff-s);font-size:.63rem;letter-spacing:.35em;
  text-transform:uppercase;color:var(--opal);margin-bottom:.9rem;
  display:flex;align-items:center;gap:.8rem;
}
.lbl::before{content:'';display:block;width:22px;height:1px;background:var(--opal)}
.lbl.gold{color:var(--orange)}
.lbl.gold::before{background:var(--orange)}
h2.st{
  font-family:var(--ff-d);font-size:clamp(2rem,4vw,3.6rem);
  font-weight:400;color:var(--ink);line-height:1.2;margin-bottom:1.4rem;
}
h2.st em{font-style:italic;color:var(--fire)}
h2.st.light{color:var(--cream)}
h2.st.light em{color:var(--sky)}
p.lead{
  font-family:var(--ff-d);font-size:1.2rem;font-weight:300;
  font-style:italic;color:#5a5a4a;line-height:1.7;
  margin-bottom:1.8rem;max-width:620px;
}
p.bd{font-size:.87rem;line-height:1.9;color:#3a3a3a;margin-bottom:1.2rem;max-width:640px}

/* ── INTRO SPLIT ── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
.split-img{position:relative}
.split-img img{width:100%;display:block;box-shadow:24px 24px 70px rgba(28,56,58,.15)}
.split-badge{
  position:absolute;bottom:-1.5rem;right:-1.5rem;
  width:110px;height:110px;border-radius:50%;
  background:var(--opal);display:flex;flex-direction:column;
  align-items:center;justify-content:center;color:var(--white);
  font-family:var(--ff-s);text-align:center;
  box-shadow:0 8px 30px rgba(0,95,78,.4);
}
.split-badge .by{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;opacity:.7}
.split-badge .bv{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.orn{font-family:var(--ff-d);font-size:7rem;font-weight:300;color:rgba(28,56,58,.05);line-height:1;margin-bottom:-2rem}

/* ── DARK SECTION ── */
.dark{background:var(--ink);color:var(--cream);padding:6rem 2rem;position:relative;overflow:hidden}
.dark::before{
  content:'';position:absolute;top:-30%;right:-5%;
  width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle,rgba(74,124,91,.18) 0%,transparent 70%);pointer-events:none;
}
.dark .lbl{color:var(--sky)}
.dark .lbl::before{background:var(--sky)}
.dark h2.st{color:#fff}
.dark h2.st em{color:var(--sky)}
.dark p.lead{color:rgba(250,248,245,.8)}
.dark p.bd{color:rgba(250,248,245,.88);max-width:none}

/* ── PILLARS ── */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:4rem}
.pillar{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  padding:2.5rem 2rem;position:relative;overflow:hidden;transition:background .4s;
}
.pillar:hover{background:rgba(255,255,255,.09)}
.pillar::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--fire);transform:scaleX(0);transform-origin:left;transition:transform .4s;
}
.pillar:hover::before{transform:scaleX(1)}
.pn{font-family:var(--ff-d);font-size:3rem;font-weight:300;color:rgba(250,248,245,.05);line-height:1;margin-bottom:.7rem}
.pi{font-size:1.6rem;display:block;margin-bottom:.7rem}
.pt{font-family:var(--ff-s);font-size:.7rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--sky);margin-bottom:.6rem}
.pd{font-size:.82rem;line-height:1.7;color:rgba(255,255,255,.88)}

/* ── PHOTO GALLERY ── */
.gallery-sec{background:var(--ink);padding:0}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:280px 280px}
.g-cell{overflow:hidden;position:relative;cursor:pointer}
.g-cell img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,opacity .4s}
.g-cell:hover img{transform:scale(1.06);opacity:.85}
.g-cell.tall{grid-row:span 2}
.g-cell.wide{grid-column:span 2}
.g-caption{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(transparent,rgba(28,56,58,.8));
  padding:2rem 1.2rem .8rem;
  font-family:var(--ff-s);font-size:.6rem;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(250,248,245,.6);
  opacity:0;transition:opacity .3s;
}
.g-cell:hover .g-caption{opacity:1}

/* ── EXPERIENCE ── */
.exp-sec{background:var(--crema2)}
.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:4rem}
.exp-item{position:relative;padding-top:1rem}
.exp-n{font-family:var(--ff-d);font-size:3.5rem;font-weight:300;color:rgba(28,56,58,.06);line-height:1;margin-bottom:.3rem}
.exp-t{font-family:var(--ff-d);font-size:1.5rem;font-weight:400;color:var(--ink);margin-bottom:.6rem;line-height:1.3}
.exp-d{font-size:.82rem;line-height:1.8;color:#5a5a4a}
.exp-tag{display:inline-block;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--lilac);border:1px solid var(--lilac);padding:.2rem .7rem;margin-top:.8rem;opacity:.7}

/* ── PHOTO QUOTE BAND ── */
.pq-band{
  position:relative;min-height:480px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.pq-bg{position:absolute;inset:0}
.pq-bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.pq-bg::after{content:'';position:absolute;inset:0;background:rgba(28,56,58,.72)}
.pq-content{position:relative;z-index:1;text-align:center;padding:4rem 2rem;max-width:800px}
.pq-text{
  font-family:var(--ff-d);font-size:clamp(1.8rem,3.5vw,2.8rem);
  font-weight:300;font-style:italic;color:var(--cream);line-height:1.4;margin-bottom:1.2rem;
}
.pq-attr{font-family:var(--ff-s);font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(250,248,245,.5)}

/* ── FOUNDERS ── */
.founders-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:4rem}
.fc{position:relative}
.fc-photo{
  width:100%;aspect-ratio:4/5;overflow:hidden;
  margin-bottom:1.6rem;position:relative;
}
.fc-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .5s ease}
.fc:hover .fc-photo img{transform:scale(1.03)}
.fc-photo-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(28,56,58,.7) 0%,transparent 50%);
}
.fc-photo-label{
  position:absolute;bottom:1.2rem;left:1.2rem;
  font-family:var(--ff-s);font-size:.6rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--sage);
  background:rgba(0,0,0,.3);padding:.3rem .8rem;
}
.fc-name{font-family:var(--ff-d);font-size:1.9rem;font-weight:400;color:var(--ink);margin-bottom:.2rem}
.fc-title{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--opal);margin-bottom:.9rem}
.fc-bio{font-size:.83rem;line-height:1.8;color:#5a5a4a}
.creds{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.9rem}
.cred{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border:1px solid rgba(28,56,58,.2);padding:.22rem .6rem}

/* ── PLACE ── */
.place-split{display:grid;grid-template-columns:5fr 4fr;gap:5rem;align-items:center}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2.5rem}
.stat{border-top:1px solid rgba(28,56,58,.12);padding-top:1.2rem}
.sv{font-family:var(--ff-d);font-size:2.4rem;font-weight:300;color:var(--ink);line-height:1;margin-bottom:.25rem}
.sl{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--silver)}
.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mos-t{overflow:hidden}
.mos-t img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.mos-t:hover img{transform:scale(1.04)}
.mos-t.tall{grid-row:span 2;min-height:360px}
.mos-t.s{min-height:172px}

/* ── TERRITORY ── */
.terr-sec{background:var(--crema2)}
.terr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem}
.tc{background:var(--cream);padding:2.5rem 2rem;border-bottom:3px solid transparent;transition:border-color .3s,transform .3s}
.tc:hover{border-color:var(--opal);transform:translateY(-4px)}
.te{font-size:2rem;margin-bottom:.9rem;display:block}
.tn{font-family:var(--ff-d);font-size:1.3rem;font-weight:400;color:var(--ink);margin-bottom:.3rem}
.td2{font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;color:var(--opal);margin-bottom:.7rem}
.td3{font-size:.81rem;line-height:1.75;color:#5a5a4a}

/* ── BIO CHIPS ── */
.bio-sec{background:var(--green);padding:6rem 2rem;position:relative;overflow:hidden}
.bio-sec::before{
  content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(90deg,transparent,transparent 58px,rgba(255,255,255,.02) 58px,rgba(255,255,255,.02) 59px),
             repeating-linear-gradient(0deg,transparent,transparent 58px,rgba(255,255,255,.02) 58px,rgba(255,255,255,.02) 59px);
}
.bio-sec .lbl{color:rgba(250,248,245,.5);justify-content:center}
.bio-sec .lbl::before{background:rgba(250,248,245,.35)}
.bio-sec h2.st{color:#fff;text-align:center;margin:0 auto 1.5rem}
.bio-sec h2.st em{color:var(--sky)}
.bio-sec > .si > p{font-size:.87rem;line-height:1.9;color:rgba(255,255,255,.88);max-width:600px;margin:0 auto 3rem}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-bottom:3rem;position:relative;z-index:1}
.chip{
  font-family:var(--ff-s);font-size:.66rem;letter-spacing:.17em;text-transform:uppercase;
  color:var(--white);border:1px solid rgba(255,255,255,.28);
  padding:.38rem 1.1rem;border-radius:100px;transition:all .3s;
}
.chip:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.6)}

/* ── TIMELINE ── */
.tl-wrap{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.timeline{position:relative;margin-top:4rem;padding-left:3rem}
.timeline::before{content:'';position:absolute;top:0;bottom:0;left:0;width:2px;background:linear-gradient(to bottom,var(--opal),transparent)}
.tl-item{position:relative;margin-bottom:3rem}
.tl-dot{position:absolute;left:-3.65rem;top:.3rem;width:12px;height:12px;border-radius:50%;background:var(--opal);border:2px solid var(--cream);box-shadow:0 0 0 2px var(--opal)}
.tl-dot.gold{background:var(--fire);box-shadow:0 0 0 2px var(--fire)}
.tl-date{font-family:var(--ff-s);font-size:.63rem;letter-spacing:.25em;text-transform:uppercase;color:var(--opal);margin-bottom:.3rem}
.tl-t{font-family:var(--ff-d);font-size:1.3rem;font-weight:400;color:var(--ink);margin-bottom:.3rem}
.tl-d{font-size:.82rem;line-height:1.7;color:#5a5a4a}

/* ── MEMBERSHIP ── */
.mem-sec{background:var(--ink);color:var(--cream);position:relative;overflow:hidden}
.mem-sec::after{content:'';position:absolute;bottom:-20%;left:-10%;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(0,95,78,.28) 0%,transparent 70%);pointer-events:none}
.mem-layout{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start;margin-top:3rem}
.perks{list-style:none;margin:2rem 0}
.perks li{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.4rem;font-size:.85rem;line-height:1.6;color:rgba(250,248,245,.88)}
.perks li::before{content:'—';color:var(--sky);flex-shrink:0;font-family:var(--ff-d);font-size:1rem}

/* contact card */
.contact-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);padding:3.5rem 3rem;text-align:center;position:relative;z-index:1}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}
.soon-badge{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--ff-s);font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--sky);border:1px solid rgba(135,214,255,.3);padding:.4rem 1.1rem;border-radius:100px;margin-bottom:2.5rem}
.soon-badge span{width:6px;height:6px;border-radius:50%;background:var(--sky);display:inline-block;animation:pulse 1.8s ease-in-out infinite}
.cc-title{font-family:var(--ff-d);font-size:2rem;font-weight:300;font-style:italic;color:var(--cream);margin-bottom:.8rem;line-height:1.3}
.cc-sub{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(250,248,245,.6);margin-bottom:2.5rem;line-height:1.9}
.cc-div{width:40px;height:1px;background:var(--lilac);opacity:.4;margin:0 auto 2.5rem}
.cc-btn{
  display:inline-block;font-family:var(--ff-s);font-size:.7rem;font-weight:400;
  letter-spacing:.22em;text-transform:uppercase;color:var(--white);
  background:var(--opal);padding:1rem 2.5rem;text-decoration:none;
  transition:background .3s;margin-bottom:1.5rem;
}
.cc-btn:hover{background:var(--green)}
.cc-privacy{font-size:.7rem;color:rgba(250,248,245,.3);letter-spacing:.07em;line-height:1.7}
.cc-soc{margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:center;gap:1rem}
.cc-soc a{font-family:var(--ff-s);font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(250,248,245,.35);text-decoration:none;transition:color .3s}
.cc-soc a:hover{color:var(--orange)}

/* ── FOOTER ── */
footer{background:var(--ink);color:rgba(250,248,245,.5);padding:5rem 2rem 3rem}
.fi{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:4rem}
.fb img{height:28px;margin-bottom:1.5rem;display:block;mix-blend-mode:screen;filter:invert(1);opacity:.6}
.fb p{font-size:.78rem;line-height:1.7;color:rgba(250,248,245,.4);max-width:260px}
.fcol h4{font-family:var(--ff-s);font-size:.63rem;letter-spacing:.25em;text-transform:uppercase;color:var(--sage);margin-bottom:1.1rem}
.fcol ul{list-style:none}
.fcol ul li{margin-bottom:.55rem}
.fcol ul a{text-decoration:none;color:rgba(250,248,245,.4);font-size:.78rem;transition:color .3s}
.fcol ul a:hover{color:var(--cream)}
.fb2{max-width:1120px;margin:0 auto;padding-top:2rem;border-top:1px solid rgba(181,181,229,.15);display:flex;justify-content:space-between;align-items:center;font-size:.7rem;color:rgba(250,248,245,.2);flex-wrap:wrap;gap:1rem}
.fb2 a{color:rgba(250,248,245,.2);text-decoration:none}

/* Language toggle */
.lang-toggle{display:flex;gap:0;align-items:center;font-family:var(--ff-s);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase}
.lang-toggle button{background:none;border:none;color:var(--ink);opacity:.35;cursor:pointer;padding:.3rem .4rem;font-family:inherit;font-size:inherit;letter-spacing:inherit;transition:opacity .3s}
.lang-toggle button.active{opacity:1;color:var(--opal)}
.lang-toggle span{opacity:.2;font-size:.5rem}

/* ── FADE-UP ── */
.fu{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
/* Stagger delays based on transition-delay attribute */
.fu[style*="transition-delay:.1s"]{animation-delay:.1s}
.fu[style*="transition-delay:.15s"]{animation-delay:.15s}
.fu[style*="transition-delay:.2s"]{animation-delay:.2s}
.fu[style*="transition-delay:.25s"]{animation-delay:.25s}
.fu[style*="transition-delay:.3s"]{animation-delay:.3s}
.fu[style*="transition-delay:.05s"]{animation-delay:.05s}
.fu.vis{opacity:1;transform:translateY(0)}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .pillars{grid-template-columns:repeat(2,1fr)}
  .exp-grid{grid-template-columns:1fr 1fr}
  .terr-grid{grid-template-columns:1fr 1fr}
  .split{grid-template-columns:1fr;gap:3rem}
  .place-split{grid-template-columns:1fr}
  .founders-grid{grid-template-columns:1fr 1fr}
  .mem-layout{grid-template-columns:1fr;gap:3rem}
  .fi{grid-template-columns:1fr 1fr}
  .tl-wrap{grid-template-columns:1fr;gap:2rem}
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:240px 240px 240px}
  .g-cell.tall{grid-row:span 1}
  .g-cell.wide{grid-column:span 1}
}
@media(max-width:768px){
  section{padding:4rem 1.2rem}
  .si{padding:0 .5rem}
  .pillars{grid-template-columns:1fr}
  .exp-grid{grid-template-columns:1fr}
  .terr-grid{grid-template-columns:1fr}
  .founders-grid{grid-template-columns:1fr}
  .fi{grid-template-columns:1fr;gap:2rem;text-align:center}
  .fb{text-align:center}
  .fb2{flex-direction:column;text-align:center;gap:.5rem}
  .mosaic{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr 1fr}
  .hero-content{padding:2rem 1.5rem 3.5rem}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .g-cell.tall,.g-cell.wide{grid-row:span 1;grid-column:span 1}

  /* Hero mobile */
  .hero{min-height:100svh}
  .hero-logo{height:48px;margin-bottom:1.5rem}
  h1.hero-tag{font-size:clamp(2rem,8vw,3.2rem)}
  .hero-sub{font-size:.62rem;letter-spacing:.2em}
  .hero-btns{flex-direction:column;gap:.8rem}
  .hero-btns a{width:100%;text-align:center}
  .hero-eyebrow{font-size:.6rem;letter-spacing:.25em}
  .scroll-hint{display:none}

  /* Typography mobile */
  h2.st{font-size:clamp(1.6rem,5.5vw,2.4rem)}
  p.lead{font-size:1rem}
  p.bd{font-size:.84rem}

  /* Nav mobile */
  .nav-logo img{height:42px}
  .nav-logo.scrolled img{height:34px}
  .version-badge{top:8px;right:52px;font-size:.48rem}

  /* Cards mobile */
  .pillar{padding:1.8rem 1.5rem}
  .exp-item{padding:1.2rem 0}
  .tc{padding:1.8rem 1.5rem}
  .contact-card{padding:2.5rem 1.5rem}

  /* Founders mobile */
  .fc-name{font-size:1.5rem}
  .fc-photo{aspect-ratio:3/4}

  /* Place mobile */
  .sv{font-size:2rem}
  .mos-t.tall{min-height:240px}
  .mos-t.s{min-height:140px}

  /* Photo quote band mobile */
  .pq-band{min-height:340px}
  .pq-text{font-size:clamp(1.2rem,4vw,1.8rem)}
  .pq-content{padding:2rem 1.5rem}

  /* Membership mobile */
  .perks{font-size:.78rem}
  .perks li{padding:.4rem 0}
  .mem-layout{gap:2rem}
  .cc-title{font-size:1.5rem}

  /* Biohacking chips mobile */
  .chips{gap:.5rem}
  .chip{font-size:.58rem;padding:.5rem .9rem}

  /* Timeline mobile */
  .tl-t{font-size:1.1rem}

  /* Gallery mobile: single column for small screens */
  .gallery-grid{gap:4px}
  .g-caption{opacity:1;font-size:.55rem}

  /* Cookie banner mobile */
  #cookie-banner{flex-direction:column;text-align:center}
  #cookie-banner div:last-child{justify-content:center}

  /* Footer social mobile */
  .cc-soc{justify-content:center}
}

/* ── SMALL PHONES (iPhone SE, etc.) ── */
@media(max-width:375px){
  nav{padding:.8rem 1rem}
  .nav-logo img{height:36px}
  section{padding:3rem 1rem}
  h1.hero-tag{font-size:2rem}
  h2.st{font-size:1.5rem}
  .hero-content{padding:1.5rem 1rem 3rem}
  .pillars{gap:1px}
  .gallery-grid{grid-template-columns:1fr;grid-template-rows:auto}
  .stats-grid{grid-template-columns:1fr}
  .contact-card{padding:2rem 1.2rem}
}

/* ── TOUCH OPTIMIZATIONS ── */
@media(hover:none){
  .pillar::before{transform:scaleX(1)}
  .g-caption{opacity:1}
  .tc:hover{transform:none}
  .nav-cta{padding:.6rem 1.6rem}
  a,button{-webkit-tap-highlight-color:rgba(0,139,106,.15)}
}

/* ── SAFE AREA (iPhone notch/dynamic island) ── */
@supports(padding:env(safe-area-inset-top)){
  nav{padding-top:max(1.1rem,env(safe-area-inset-top));padding-left:max(3rem,env(safe-area-inset-left));padding-right:max(3rem,env(safe-area-inset-right))}
  footer{padding-bottom:max(3rem,env(safe-area-inset-bottom))}
  .hero-content{padding-bottom:max(5rem,env(safe-area-inset-bottom))}
  #cookie-banner{padding-bottom:max(1rem,env(safe-area-inset-bottom))}
}
@media(max-width:768px){
  @supports(padding:env(safe-area-inset-top)){
    nav{padding-left:max(1.5rem,env(safe-area-inset-left));padding-right:max(1.5rem,env(safe-area-inset-right))}
  }
}

/* ── PREFERS REDUCED MOTION ── */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}