/* =====================================================================
   SIMPLIFYBER — VARIANT-1 «ECLIPSE»
   Editorial fashion × space · monochrome moon theme
   ===================================================================== */

/* ---------- TOKENS ---------- */
:root{
  --ink:        #0a0a0a;
  --ink-2:      #161616;
  --ink-3:      #222222;
  --regolith:   #f4f2ee;
  --white:      #ffffff;
  --grey:       #8a8a8a;
  --grey-2:     #d9d9d9;
  --line:       rgba(255,255,255,.15);
  --line-dark:  rgba(34,34,34,.15);
  --overlay:    rgba(0,0,0,.7);

  --moon-hi:    #fafafa;
  --moon-mid:   #d9d9d9;
  --moon-lo:    #8a8a8a;
  --glow:       rgba(245,245,245,.35);

  --font-display:'Jost', sans-serif;
  --font-body:   'Inter', sans-serif;

  --s1:8px;  --s2:16px; --s3:24px; --s4:40px;
  --s5:64px; --s6:96px; --s7:140px; --s8:200px;

  --ease: cubic-bezier(.16,1,.3,1);
  --container: 1320px;
  --pad: clamp(20px, 5vw, 80px);
}

/* ---------- RESET ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
body{
  margin:0;
  background:var(--ink);
  color:var(--white);
  font-family:var(--font-body);
  font-weight:400;
  line-height:1.7;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body.menu-open{ overflow:hidden; }
img{ display:block; max-width:100%; height:auto; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
button{ font:inherit; cursor:pointer; }
sub{ font-size:.6em; }

:focus-visible{ outline:1px solid var(--white); outline-offset:3px; }
.contact :focus-visible{ outline-color:var(--ink-3); }

/* ---------- LAYOUT ---------- */
.container{
  width:100%;
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:var(--pad);
}
.section{
  padding-block:clamp(96px, 14vh, 200px);
  position:relative;
}

/* ---------- TYPE PRIMITIVES ---------- */
.eyebrow{
  font-family:var(--font-display);
  font-size:.8rem; font-weight:500;
  letter-spacing:.42em; line-height:1;
  text-transform:uppercase;
  color:var(--grey-2);
  margin:0;
}
.eyebrow--dark{ color:var(--ink-3); }
.caption{
  font-family:var(--font-body);
  font-size:.78rem; font-weight:500;
  letter-spacing:.16em; line-height:1.4;
  text-transform:uppercase;
  color:var(--grey);
  margin:0;
}
.lead{
  font-family:var(--font-body);
  font-size:clamp(1.05rem, 1.6vw, 1.4rem);
  font-weight:300; letter-spacing:.01em; line-height:1.6;
  color:var(--grey-2);
}
.section-head{ margin-bottom:clamp(48px, 7vw, 96px); }
.section-title{
  font-family:var(--font-display);
  font-weight:500; text-transform:uppercase;
  font-size:clamp(2rem, 6vw, 5rem);
  letter-spacing:.03em; line-height:1;
  margin:.4em 0 0;
}

/* ---------- BUTTONS ---------- */
.btn{
  font-family:var(--font-display);
  text-transform:uppercase; letter-spacing:.18em;
  font-size:.82rem; font-weight:500;
  padding:18px 34px;
  border:1px solid var(--white); border-radius:0;
  transition:.5s var(--ease);
  display:inline-flex; align-items:center; gap:12px;
  background:transparent; color:var(--white);
  white-space:nowrap;
}
.btn::after{ content:'→'; transition:transform .4s var(--ease); }
.btn:hover::after{ transform:translateX(6px); }
.btn--primary{ background:var(--white); color:var(--ink); }
.btn--primary:hover{ background:transparent; color:var(--white); }
.btn--ghost{ background:transparent; color:var(--white); }
.btn--ghost:hover{ background:var(--white); color:var(--ink); }
/* on light (regolith) section */
.btn--dark{ border-color:var(--ink-3); background:var(--ink-3); color:var(--regolith); }
.btn--dark:hover{ background:transparent; color:var(--ink-3); }

/* ---------- HEADER ---------- */
.site-header{
  position:fixed; top:0; left:0; width:100%; z-index:100;
  transition:background .5s var(--ease), backdrop-filter .5s var(--ease), border-color .5s var(--ease);
  border-bottom:1px solid transparent;
}
.site-header.is-scrolled{
  background:rgba(10,10,10,.72);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom-color:var(--line);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--s3);
  height:78px;
}
.brand{ display:inline-flex; align-items:center; flex:0 0 auto; }
.brand__logo{ height:22px; width:auto; }
.nav{ margin-left:auto; }
.nav__list{ display:flex; gap:clamp(18px, 2.6vw, 40px); align-items:center; }
.nav__link{
  font-family:var(--font-display);
  font-size:.82rem; font-weight:400;
  letter-spacing:.22em; text-transform:uppercase;
  position:relative; padding-block:4px;
  transition:opacity .4s var(--ease);
}
.nav__link::after{
  content:''; position:absolute; left:0; bottom:0;
  width:0; height:1px; background:currentColor;
  transition:width .4s var(--ease);
}
.nav__link:hover{ opacity:.6; }
.nav__link:hover::after{ width:100%; }
.header-cta{ flex:0 0 auto; padding:13px 24px; font-size:.74rem; }

/* burger */
.burger{
  display:none; flex-direction:column; gap:6px;
  width:44px; height:44px; align-items:center; justify-content:center;
  background:transparent; border:0; padding:0; z-index:120;
}
.burger span{
  display:block; width:26px; height:1.5px; background:var(--white);
  transition:transform .4s var(--ease), opacity .3s var(--ease);
}
body.menu-open .burger span:nth-child(1){ transform:translateY(3.75px) rotate(45deg); }
body.menu-open .burger span:nth-child(2){ transform:translateY(-3.75px) rotate(-45deg); }

/* ---------- MOBILE MENU ---------- */
.mobile-menu{
  position:fixed; inset:0; z-index:110;
  background:rgba(10,10,10,.97);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden;
  transition:opacity .5s var(--ease), visibility .5s var(--ease);
}
body.menu-open .mobile-menu{ opacity:1; visibility:visible; }
.mobile-menu__list{ text-align:center; display:flex; flex-direction:column; gap:clamp(20px,5vh,40px); }
.mobile-menu__list a{
  font-family:var(--font-display);
  font-size:clamp(1.6rem, 7vw, 2.2rem); font-weight:400;
  letter-spacing:.12em; text-transform:uppercase;
  opacity:0; transform:translateY(20px);
  transition:opacity .5s var(--ease), transform .5s var(--ease);
  transition-delay:calc(var(--i) * 70ms);
}
body.menu-open .mobile-menu__list a{ opacity:1; transform:none; }

/* ---------- HERO ---------- */
.hero{
  position:relative;
  min-height:100svh;
  display:flex; align-items:flex-end;
  padding-bottom:clamp(80px, 16vh, 180px);
  overflow:hidden;
}
.hero__media{ position:absolute; inset:0; z-index:0; }
.hero__img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center;
  filter:grayscale(.2) contrast(1.05) brightness(.8);
}
.hero__overlay{
  position:absolute; inset:0; z-index:2;
  background:
    radial-gradient(120% 90% at 50% 22%, transparent 0%, rgba(0,0,0,.35) 45%, rgba(0,0,0,.85) 100%),
    linear-gradient(180deg, rgba(10,10,10,.55) 0%, rgba(10,10,10,.15) 35%, rgba(10,10,10,.95) 100%);
}
/* moon disc */
.moon-disc{
  position:absolute; z-index:1;
  top:8vh; left:50%; transform:translateX(-50%);
  width:clamp(280px, 55vw, 760px); aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle at 38% 32%, var(--moon-hi) 0%, var(--moon-mid) 38%, var(--moon-lo) 78%, #5a5a5a 100%);
  box-shadow:0 0 140px 30px var(--glow);
  animation:glowPulse 7s ease-in-out infinite;
  --eclipse:0;
  opacity:.92;
}
.moon-disc::after{
  content:''; position:absolute; inset:0; border-radius:50%;
  background:
    radial-gradient(circle at 30% 28%, rgba(0,0,0,.18) 0 6%, transparent 7%),
    radial-gradient(circle at 62% 55%, rgba(0,0,0,.14) 0 9%, transparent 10%),
    radial-gradient(circle at 48% 72%, rgba(0,0,0,.12) 0 5%, transparent 6%),
    radial-gradient(circle at 72% 30%, rgba(0,0,0,.1)  0 4%, transparent 5%);
  mix-blend-mode:multiply;
}
.moon-disc::before{
  content:''; position:absolute; inset:0; border-radius:50%;
  background:var(--ink); z-index:1;
  transform:translateX(calc(-100% + var(--eclipse) * 100%));
  transition:transform .1s linear;
}

.hero__content{ position:relative; z-index:5; text-align:center; }
.hero__eyebrow{ margin-bottom:clamp(24px,4vw,40px); }
.hero__title{
  font-family:var(--font-display);
  font-weight:500; text-transform:uppercase;
  font-size:clamp(2.6rem, 9vw, 9.5rem);
  letter-spacing:.04em; line-height:.95;
  margin:0 0 clamp(24px,3vw,40px);
  text-shadow:0 2px 40px rgba(0,0,0,.6);
  color:var(--white);
}
.hero__title span{ display:block; }
.hero__lead{
  max-width:60ch; margin:0 auto clamp(32px,4vw,48px);
  color:var(--grey-2);
}
.hero__actions{ display:flex; gap:var(--s2); justify-content:center; flex-wrap:wrap; }

.scroll-cue{
  position:absolute; left:50%; bottom:28px; transform:translateX(-50%);
  z-index:6; display:flex; flex-direction:column; align-items:center; gap:12px;
  color:var(--grey-2);
}
.scroll-cue__line{
  position:relative; display:block; width:1px; height:46px;
  background:rgba(255,255,255,.25); overflow:hidden;
}
.scroll-cue__dot{
  position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:3px; height:3px; border-radius:50%; background:var(--white);
  animation:scrollDot 2s var(--ease) infinite;
}
.scroll-cue__label{ font-size:.66rem; }

/* ---------- ABOUT ---------- */
.about{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.about__grid{
  display:grid; grid-template-columns:repeat(12,1fr);
  gap:clamp(16px,2vw,32px);
}
.about__head{ grid-column:1 / -1; }
.about__label{ margin-top:12px; }
.about__body{ grid-column:1 / -1; margin-top:var(--s4); }
.manifesto{
  font-family:var(--font-display);
  font-weight:300; line-height:1.25;
  font-size:clamp(1.6rem, 4vw, 3.2rem);
  letter-spacing:.005em; margin:0;
}
.manifesto .dim{ color:var(--grey); }
.manifesto .hi{ color:var(--white); }
.about__mission{ max-width:64ch; margin-top:clamp(40px,5vw,72px); }

@media (min-width:768px){
  .about__head{ grid-column:1 / 5; }
  .about__body{ grid-column:6 / 13; margin-top:0; }
}

/* ---------- HOW IT WORKS ---------- */
.steps{
  display:grid; grid-template-columns:1fr;
  border-top:1px solid var(--line);
}
.step{
  padding:clamp(32px,4vw,56px) 0;
  border-bottom:1px solid var(--line);
}
.step__num{
  font-family:var(--font-display); font-weight:300;
  font-size:clamp(3rem,7vw,6rem); line-height:1;
  color:var(--grey); display:block;
}
.step__rule{
  display:block; width:48px; height:1px; background:var(--line);
  margin:var(--s3) 0;
  transform:scaleX(0); transform-origin:left;
  transition:transform .9s var(--ease) .3s;
}
.reveal.in-view .step__rule{ transform:scaleX(1); }
.step__title{
  font-family:var(--font-display); font-weight:500;
  text-transform:uppercase; letter-spacing:.06em;
  font-size:clamp(1.3rem,2.6vw,2rem); line-height:1.1;
  margin:0 0 var(--s2);
}
.step__text{ color:var(--grey-2); margin:0; max-width:42ch; }

.claims{
  display:grid; grid-template-columns:1fr; gap:var(--s4);
  margin-top:clamp(56px,7vw,96px);
  padding-top:clamp(40px,5vw,64px);
  border-top:1px solid var(--line);
}
.claim__title{
  font-family:var(--font-display); font-weight:500;
  text-transform:uppercase; letter-spacing:.05em;
  font-size:clamp(1.15rem,2.2vw,1.7rem); line-height:1.2;
  margin:0 0 var(--s2);
}
.claim__text{ color:var(--grey); margin:0; max-width:48ch; }

@media (min-width:768px){
  .steps{ grid-template-columns:repeat(3,1fr); gap:0; }
  .step{ padding:clamp(32px,4vw,56px) clamp(24px,3vw,48px); border-bottom:0; border-left:1px solid var(--line); }
  .step:first-child{ border-left:0; padding-left:0; }
  .claims{ grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,80px); }
}

/* ---------- MOON SHOE ---------- */
.moonshoe__credit{ margin-top:14px; }
.moonshoe__hero{
  position:relative; margin:0;
  width:100%; max-width:var(--container);
  margin-inline:auto; padding-inline:var(--pad);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.parallax-wrap{ overflow:hidden; }
.moonshoe__hero img{
  width:100%; object-fit:cover;
  filter:grayscale(.15) contrast(1.05);
  will-change:transform;
  transform:scale(1.05);
}
.moonshoe__wordmark{
  position:absolute; left:0; right:0; bottom:clamp(12px,3vw,40px);
  text-align:center;
  font-family:var(--font-display); font-style:italic; font-weight:400;
  text-transform:uppercase; letter-spacing:.04em;
  font-size:clamp(2.5rem,8vw,7rem); line-height:1;
  color:rgba(255,255,255,.85);
  mix-blend-mode:overlay;
  pointer-events:none;
}
.moonshoe__desc{
  max-width:64ch; text-align:center;
  margin:clamp(56px,8vw,110px) auto clamp(48px,6vw,80px);
}
.moonshoe__drop{ text-align:center; margin-bottom:clamp(32px,4vw,56px); }

.gallery{
  display:grid; grid-template-columns:1fr; gap:clamp(20px,3vw,40px);
}
.gallery__item{ margin:0; }
.gallery__frame{
  border:1px solid var(--line); overflow:hidden;
  aspect-ratio:4/3; background:var(--ink-2);
  clip-path:inset(0 0 100% 0);
  transition:clip-path 1s var(--ease);
}
.gallery__item:nth-child(2) .gallery__frame{ transition-delay:.12s; }
.gallery__item:nth-child(3) .gallery__frame{ transition-delay:.24s; }
.reveal.in-view .gallery__frame{ clip-path:inset(0 0 0 0); }
.gallery__frame img{
  width:100%; height:100%; object-fit:cover;
  filter:grayscale(.1) contrast(1.04) brightness(.92);
  transition:transform .6s var(--ease), filter .6s var(--ease);
}
.gallery__item:hover .gallery__frame img{ transform:scale(1.04); filter:grayscale(0) contrast(1.04) brightness(1.02); }
.gallery__cap{
  display:flex; align-items:baseline; gap:14px;
  margin-top:var(--s3);
  transition:transform .6s var(--ease);
}
.gallery__item:hover .gallery__cap{ transform:translateY(-4px); }
.gallery__roman{
  font-family:var(--font-display); font-weight:300;
  color:var(--grey); font-size:1rem; letter-spacing:.1em;
}
.gallery__label{
  font-family:var(--font-display); font-weight:500;
  text-transform:uppercase; letter-spacing:.06em;
  font-size:clamp(1rem,1.6vw,1.3rem);
}

@media (min-width:768px){
  .gallery{ grid-template-columns:1fr 1fr; }
  .gallery__item--wide{ grid-column:1 / -1; }
  .gallery__item--wide .gallery__frame{ aspect-ratio:16/8; }
}

/* ---------- STATS ---------- */
.stats{ border-top:1px solid var(--line); }
.stat{
  display:grid; grid-template-columns:1fr; gap:var(--s3);
  align-items:end;
  padding-block:clamp(40px,6vw,80px);
  border-bottom:1px solid var(--line);
}
.stat__num{
  font-family:var(--font-display); font-weight:300;
  font-size:clamp(5rem,22vw,18rem); line-height:.85;
  letter-spacing:-.02em; color:var(--white);
  display:block; word-break:keep-all;
}
.stat__desc{ max-width:34ch; padding-bottom:.5em; }

.metrics{ padding-top:clamp(48px,6vw,80px); }
.metrics__head{ text-align:center; margin-bottom:clamp(32px,4vw,56px); }
.metrics__row{
  display:grid; grid-template-columns:1fr; gap:var(--s4);
  text-align:center;
}
.metric{ display:flex; flex-direction:column; gap:var(--s2); padding-block:var(--s3); }
.metric__num{
  font-family:var(--font-display); font-weight:300;
  font-size:clamp(2.4rem,6vw,4rem); line-height:1;
  letter-spacing:-.01em;
}
.metric__label{ color:var(--grey); }

@media (min-width:768px){
  .stat{ grid-template-columns:auto 1fr; gap:clamp(40px,6vw,100px); }
  .metrics__row{ grid-template-columns:repeat(3,1fr); gap:0; }
  .metric{ border-left:1px solid var(--line); }
  .metric:first-child{ border-left:0; }
}

/* ---------- INVESTORS ---------- */
.backers{
  display:grid; grid-template-columns:1fr; gap:0;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.backer{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:14px; min-height:120px;
  padding:var(--s4) var(--s3);
  border-bottom:1px solid var(--line);
  opacity:.7; filter:grayscale(1);
  transition:opacity .5s var(--ease), filter .5s var(--ease);
}
.backer:last-child{ border-bottom:0; }
.backer:hover{ opacity:1; filter:grayscale(0); }
.backer__logo{ height:28px; width:auto; }
.backer__name{
  font-family:var(--font-display); font-weight:500;
  text-transform:uppercase; letter-spacing:.12em;
  font-size:clamp(1.05rem,1.8vw,1.4rem); text-align:center;
}
.backer__note{ color:var(--grey); font-size:.7rem; }

.partners{
  margin-top:clamp(48px,6vw,80px);
  display:flex; flex-direction:column; align-items:center; gap:var(--s3);
  text-align:center;
}
.partners__list{
  display:flex; gap:var(--s3); align-items:center; flex-wrap:wrap; justify-content:center;
  margin:0;
  font-family:var(--font-display); font-weight:500;
  text-transform:uppercase; letter-spacing:.14em;
  font-size:clamp(.95rem,1.6vw,1.2rem); color:var(--grey-2);
}
.partners__list span:not(:last-child)::after{
  content:'·'; margin-left:var(--s3); color:var(--grey);
}

@media (min-width:600px){ .backers{ grid-template-columns:1fr 1fr; }
  .backer{ border-bottom:0; }
  .backer:nth-child(odd){ border-right:1px solid var(--line); }
  .backer:nth-child(-n+2){ border-bottom:1px solid var(--line); }
}
@media (min-width:980px){ .backers{ grid-template-columns:repeat(4,1fr); }
  .backer{ border-bottom:0; border-right:1px solid var(--line); }
  .backer:nth-child(odd){ border-right:1px solid var(--line); }
  .backer:nth-child(-n+2){ border-bottom:0; }
  .backer:last-child{ border-right:0; }
}

/* ---------- TEAM ---------- */
.founders{
  display:grid; grid-template-columns:1fr; gap:0;
  border-top:1px solid var(--line);
}
.founder{
  position:relative; overflow:hidden;
  padding:clamp(48px,6vw,80px) 0;
  border-bottom:1px solid var(--line);
}
.founder__mono{
  position:absolute; top:-.2em; right:0; z-index:0;
  font-family:var(--font-display); font-weight:300;
  font-size:clamp(4rem,10vw,8rem); line-height:1;
  color:var(--ink-2); letter-spacing:.02em;
  pointer-events:none; user-select:none;
}
.founder__info{ position:relative; z-index:1; }
.founder__name{
  font-family:var(--font-display); font-weight:500;
  text-transform:uppercase; letter-spacing:.04em;
  font-size:clamp(1.4rem,3vw,2.4rem); line-height:1.05;
  margin:0 0 var(--s2);
}
.founder__role{ color:var(--grey-2); margin-bottom:var(--s2); }
.founder__bio{ color:var(--grey); margin:0; max-width:40ch; }

@media (min-width:768px){
  .founders{ grid-template-columns:1fr 1fr; gap:0; }
  .founder{ border-bottom:0; border-left:1px solid var(--line); padding:clamp(32px,4vw,64px) clamp(32px,4vw,64px); }
  .founder:first-child{ border-left:0; padding-left:0; }
}

/* ---------- CONTACT (regolith inversion) ---------- */
.contact{ background:var(--regolith); color:var(--ink-3); }
.contact__inner{ text-align:center; }
.contact__title{ color:var(--ink-3); }
.contact__lead{ color:#5b5b5b; max-width:48ch; margin-inline:auto; margin-top:var(--s3); }

.signup{
  display:grid; grid-template-columns:1fr; gap:var(--s4);
  max-width:920px; margin:clamp(48px,6vw,72px) auto 0;
  text-align:left;
}
.field{ display:flex; flex-direction:column; gap:10px; }
.field__label{
  font-family:var(--font-body); font-weight:500;
  text-transform:uppercase; letter-spacing:.16em;
  font-size:.74rem; color:#5b5b5b;
}
.field input{
  font-family:var(--font-body); font-size:1rem; color:var(--ink-3);
  background:transparent; border:0; border-bottom:1px solid var(--ink-3);
  padding:10px 0; border-radius:0;
  transition:border-color .4s var(--ease);
}
.field input:focus{ outline:0; border-bottom-color:#000; }
.field input::placeholder{ color:#9a9a9a; }
.signup__submit{ justify-self:start; margin-top:var(--s1); }
.signup__msg{
  font-family:var(--font-display); text-transform:uppercase;
  letter-spacing:.14em; font-size:.95rem; color:var(--ink-3);
  margin:var(--s4) 0 0; text-align:center;
}
.contact__logo{ height:26px; width:auto; margin:clamp(56px,7vw,90px) auto 0; opacity:.85; }

@media (min-width:768px){
  .signup{ grid-template-columns:1fr 1fr 1fr; align-items:end; }
  .signup__submit{ grid-column:1 / -1; justify-self:center; margin-top:var(--s3); }
}

/* ---------- FOOTER ---------- */
.footer{
  position:relative; overflow:hidden;
  background:var(--ink);
  border-top:1px solid var(--line);
  padding-top:clamp(64px,8vw,110px);
  padding-bottom:clamp(140px,20vw,260px);
}
.footer__grid{
  display:grid; grid-template-columns:1fr; gap:var(--s5);
  position:relative; z-index:2;
}
.footer__brand{ display:flex; flex-direction:column; gap:var(--s2); }
.footer__logo{ height:24px; width:auto; }
.footer__addr{ margin:0; }
.footer__nav ul{ display:flex; flex-direction:column; gap:14px; }
.footer__social{ display:flex; flex-direction:column; gap:14px; }
.footer__bottom{
  position:relative; z-index:2;
  display:flex; flex-direction:column; gap:var(--s2);
  margin-top:clamp(48px,6vw,80px);
  padding-top:var(--s4);
  border-top:1px solid var(--line);
}
.footer__copy, .footer__echo{ margin:0; }
.footer__echo{ color:var(--grey-2); }
.footer__watermark{
  position:absolute; left:0; right:0; bottom:-.18em;
  text-align:center; z-index:1;
  font-family:var(--font-display); font-weight:300;
  text-transform:uppercase; letter-spacing:.02em;
  font-size:clamp(3rem,20vw,16rem); line-height:.8;
  color:var(--ink-2);
  pointer-events:none; user-select:none; white-space:nowrap;
}

@media (min-width:768px){
  .footer__grid{ grid-template-columns:1fr auto auto; align-items:start; gap:clamp(40px,8vw,120px); }
  .footer__bottom{ flex-direction:row; justify-content:space-between; align-items:center; }
}

/* ---------- REVEAL ANIMATION ---------- */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.in-view{ opacity:1; transform:none; }
/* staggered children */
.steps.in-view .step,
.gallery.in-view .gallery__item,
.founders.in-view .founder{
  animation:fadeUp .9s var(--ease) both;
  animation-delay:calc(var(--i) * 120ms);
}

/* ---------- KEYFRAMES ---------- */
@keyframes fadeUp{ from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:none} }
@keyframes scrollDot{ 0%{transform:translate(-50%,0);opacity:0} 30%{opacity:1} 100%{transform:translate(-50%,34px);opacity:0} }
@keyframes glowPulse{ 0%,100%{box-shadow:0 0 120px 24px var(--glow)} 50%{box-shadow:0 0 170px 40px var(--glow)} }

/* ---------- RESPONSIVE: HEADER / NAV ---------- */
@media (max-width:860px){
  .nav, .header-cta{ display:none; }
  .burger{ display:flex; }
  .header-inner{ height:68px; }
}

/* ---------- RESPONSIVE: HERO MOBILE ---------- */
@media (max-width:768px){
  .hero__title{ font-size:clamp(2.6rem, 13vw, 4rem); }
  .moon-disc{ width:clamp(220px, 80vw, 360px); top:5vh; }
}

/* ---------- REDUCED MOTION ---------- */
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; }
  .moon-disc{ animation:none; }
  .moon-disc::before{ transform:translateX(-100%); }
  .scroll-cue__dot{ animation:none; opacity:1; }
  .reveal{ opacity:1 !important; transform:none !important; transition:none; }
  .gallery__frame{ clip-path:inset(0 0 0 0); transition:none; }
  .step__rule{ transform:scaleX(1); transition:none; }
  .moonshoe__hero img{ transform:scale(1); }
  .steps.in-view .step,
  .gallery.in-view .gallery__item,
  .founders.in-view .founder{ animation:none; }
}
