/* ============================================================
   rey_ — home / signal field
   ============================================================ */

.field{
  position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;
  z-index:0;display:block;background:#000;
}
.field.sf-fallback{
  background:
    radial-gradient(2px 2px at 20% 30%,rgba(255,255,255,.5),transparent),
    radial-gradient(1.5px 1.5px at 70% 60%,rgba(255,255,255,.4),transparent),
    radial-gradient(1.5px 1.5px at 40% 80%,rgba(255,255,255,.35),transparent),
    radial-gradient(circle at 50% 45%,#101012,#000 70%);
}
/* luminous nebula bloom behind the galaxy core */
.field-glow{
  position:fixed;left:50%;top:44%;transform:translate(-50%,-50%);
  width:min(96vw,1200px);height:min(78vh,820px);
  z-index:1;pointer-events:none;mix-blend-mode:screen;
  background:radial-gradient(ellipse at center,
    rgba(255,255,255,.17),rgba(238,242,255,.07) 36%,rgba(180,190,220,.02) 56%,transparent 70%);
  animation:glowPulse 9s ease-in-out infinite;
}
@keyframes glowPulse{
  0%,100%{opacity:.7;transform:translate(-50%,-50%) scale(1);}
  50%{opacity:1;transform:translate(-50%,-50%) scale(1.07);}
}
@media (prefers-reduced-motion:reduce){.field-glow{animation:none;opacity:.85;}}

/* fade the field into pure black just below the hero so content reads on black */
.field-scrim{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 0%,transparent 62%,rgba(0,0,0,.7) 86%,#000 100%);
}

.home{position:relative;z-index:2;}

/* ───────── hero ───────── */
.hero{
  position:relative;z-index:2;
  min-height:100vh;min-height:100dvh;
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  text-align:center;padding:var(--nav-h) var(--pad) 0;
  background:transparent;
}
.hero__inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:clamp(14px,2.4vh,30px);}
.hero__eyebrow{
  font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:#9b9b95;
  mix-blend-mode:difference;
  opacity:0;animation:fadeUp 1s var(--ease) .35s forwards;
}
.hero__word{
  font-size:clamp(5rem,26vw,22rem);font-weight:300;line-height:.82;letter-spacing:-.04em;
  mix-blend-mode:difference;color:#fff;
  opacity:0;animation:fadeUp 1.1s var(--ease) .5s forwards;
}
.hero__word .caret{color:#fff;}
.hero__role{
  font-size:clamp(.8rem,1.5vw,1rem);letter-spacing:.06em;color:#c9c8c2;
  mix-blend-mode:difference;
  min-height:1.4em;opacity:0;animation:fadeUp 1s var(--ease) .9s forwards;
}
.hero__prompt{color:var(--fg-mute);}
.hero__role .caret{color:var(--fg);}

.hero__base{
  position:absolute;left:0;right:0;bottom:clamp(22px,4vh,46px);
  display:flex;justify-content:space-between;align-items:flex-end;gap:20px;
  padding-inline:var(--pad);
  opacity:0;animation:fadeUp 1s var(--ease) 1.3s forwards;
}
.hero__hint{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-mute);max-width:50%;}
.hero__scroll{margin-left:auto;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-dim);display:inline-flex;gap:8px;align-items:center;}
.hero__arrow{display:inline-block;animation:bob 1.8s var(--ease) infinite;}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .hero__eyebrow,.hero__word,.hero__role,.hero__base{animation:none;opacity:1;}
  .hero__arrow{animation:none;}
}

/* ───────── manifesto ───────── */
.manifesto{position:relative;z-index:2;background:transparent;}
.manifesto__card{           /* more transparent, NO blur (not glass) */
  width:fit-content;max-width:100%;
  padding:clamp(28px,4vw,54px) clamp(28px,4vw,58px);
  background:rgba(8,9,11,.40);
  border:1px solid rgba(244,244,242,.07);
  border-radius:12px;
}
.manifesto__text{
  font-size:clamp(1.6rem,4.4vw,3.3rem);font-weight:400;line-height:1.3;letter-spacing:-.02em;
  color:#d7d6d0;max-width:20ch;margin-top:.5em;
}
.manifesto__text b{color:#fff;font-weight:600;}
.manifesto__more{display:inline-block;margin-top:2.2em;font-family:var(--mono);font-size:.8rem;letter-spacing:.1em;}

/* ───────── index of sections (glows over field) ───────── */
.index{
  position:relative;z-index:2;border-top:1px solid var(--hair);
  background:linear-gradient(180deg,#000,rgba(0,0,0,.4) 50%,#000);
}
.idx{
  display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:clamp(16px,3vw,48px);
  padding:clamp(26px,4.4vw,52px) var(--pad);border-bottom:1px solid var(--hair);
  position:relative;overflow:hidden;isolation:isolate;
}
.idx::before{
  content:"";position:absolute;inset:0;z-index:-1;background:var(--fg);
  transform:translateY(101%);transition:transform .55s var(--ease);
}
.idx:hover::before{transform:translateY(0);}
.idx>*{transition:color .45s var(--ease),transform .55s var(--ease);}
.idx:hover .idx__n,.idx:hover .idx__desc{color:#000;}
.idx:hover .idx__name{color:#000;}
.idx:hover .idx__go{color:#000;transform:translateX(6px);}
.idx:hover .idx__name{transform:translateX(10px);}
.idx__n{font-size:.78rem;letter-spacing:.1em;color:var(--fg-mute);align-self:start;padding-top:.5em;}
.idx__name{font-size:clamp(2.4rem,8vw,6rem);line-height:.9;color:var(--fg);}
.idx__name .u{color:var(--fg-dim);}
.idx:hover .idx__name .u{color:#000;}
.idx__desc{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-mute);text-align:right;}
.idx__go{font-size:1.4rem;color:var(--fg-dim);}
@media (max-width:720px){
  .idx{grid-template-columns:auto 1fr;gap:6px 16px;}
  .idx__desc{grid-column:2;text-align:left;}
  .idx__go{display:none;}
}

/* ───────── recent ───────── */
.recent{position:relative;z-index:2;background:var(--bg);}
.recent__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:clamp(20px,4vw,46px);}
.recent__head .link{font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;}
.recent__list{list-style:none;}
.rec{
  display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:clamp(14px,3vw,40px);
  padding:clamp(16px,2.4vw,26px) 0;border-top:1px solid var(--hair);
  transition:padding-left .4s var(--ease);
}
.rec:last-child{border-bottom:1px solid var(--hair);}
.rec:hover{padding-left:14px;}
.rec__y{font-family:var(--mono);font-size:.78rem;color:var(--fg-mute);}
.rec__t{font-size:clamp(1.2rem,3.2vw,2rem);font-weight:400;color:var(--fg);letter-spacing:-.01em;}
.rec__t .u{color:var(--fg-dim);}
.rec__v{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-mute);text-align:right;}
@media (max-width:720px){.rec{grid-template-columns:auto 1fr;}.rec__v{display:none;}}

/* ───────── kinetic ticker ───────── */
.ticker{position:relative;z-index:2;overflow:hidden;border-block:1px solid var(--hair);padding:22px 0;background:var(--bg);white-space:nowrap;}
.ticker__row{display:inline-flex;gap:0;will-change:transform;animation:scrollx 36s linear infinite;}
.ticker__row span{font-size:clamp(1.4rem,4vw,2.6rem);font-weight:300;letter-spacing:-.01em;color:var(--fg-mute);padding-inline:.6em;text-transform:lowercase;}
.ticker__row .dot{color:var(--fg);padding-inline:.2em;}
@keyframes scrollx{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker__row{animation:none;}}

/* ───────── home footer ───────── */
.home-foot{position:relative;z-index:2;background:var(--bg);padding-top:clamp(60px,12vh,150px);}
.home-foot__grid{display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px;}
.home-foot__big{
  font-size:clamp(2.8rem,12vw,9rem);font-weight:300;line-height:.86;letter-spacing:-.04em;
  text-transform:lowercase;color:var(--fg);transition:opacity .3s;
}
.home-foot__big:hover{opacity:.6;}
.home-foot__big .caret{color:var(--fg);}
.home-foot__meta{font-size:.8rem;letter-spacing:.06em;line-height:2.1;text-align:right;color:var(--fg-dim);}
.home-foot__loc{color:var(--fg-mute);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;}
.home-foot__base{display:flex;justify-content:space-between;gap:20px;padding-block:clamp(30px,6vh,60px);margin-top:clamp(40px,8vh,90px);border-top:1px solid var(--hair);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-mute);}
@media (max-width:720px){
  .home-foot__grid{grid-template-columns:1fr;}
  .home-foot__meta{text-align:left;}
  .home-foot__base{flex-direction:column;gap:8px;}
}
