/* ============================================================
   VAIORA — real-imagery build (Ayzz process: elite STILL frame first)
   Full-bleed photography + scrim, editorial rows, Cormorant + Inter.
   ============================================================ */
:root{
  --ink:#0A1416; --bone:#F4EEE2; --gold:#E0A95E; --aqua:#7FD9C4;
  --soft:rgba(244,238,226,.7); --faint:rgba(244,238,226,.42); --line:rgba(244,238,226,.16);
  --display:"Cormorant Garamond", Georgia, serif;
  --body:"Inter", system-ui, sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --pad:clamp(1.4rem,5vw,5rem);
}
*{ margin:0; padding:0; box-sizing:border-box; }
body{ font-family:var(--body); background:var(--ink); color:var(--bone); font-size:16px; line-height:1.65; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }
::selection{ background:var(--gold); color:var(--ink); }
a{ color:inherit; text-decoration:none; }
img{ display:block; max-width:100%; }
.eyebrow{ font-size:.74rem; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); }

/* CURSOR */
.cursor{ position:fixed; top:0; left:0; width:12px; height:12px; border-radius:50%; background:var(--aqua); pointer-events:none; z-index:300; transform:translate(-50%,-50%); mix-blend-mode:screen; transition:width .22s var(--ease), height .22s var(--ease); }
.cursor.is-hover{ width:54px; height:54px; background:rgba(127,217,196,.32); }
@media (hover:none){ .cursor{ display:none; } }

/* INTRO */
.intro{ position:fixed; inset:0; z-index:200; background:var(--ink); display:grid; place-items:center; }
.intro__word{ font-family:var(--display); font-weight:500; font-size:clamp(2.6rem,10vw,7rem); letter-spacing:.14em; color:var(--bone); }

/* NAV */
.nav{ position:fixed; inset:0 0 auto 0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:1.5rem var(--pad); transition:transform .45s var(--ease); }
.nav--hidden{ transform:translateY(-115%); }
.nav__brand{ font-family:var(--display); font-weight:600; font-size:1.6rem; letter-spacing:.1em; }
.nav__links{ display:flex; gap:2rem; }
.nav__links a{ font-size:.78rem; letter-spacing:.08em; color:var(--soft); transition:color .16s var(--ease); }
.nav__links a:hover{ color:var(--bone); }
.nav__cta{ font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; padding:.7rem 1.3rem; border:1px solid var(--line); border-radius:100px; transition:background .24s var(--ease), color .24s var(--ease); }
.nav__cta:hover{ background:var(--bone); color:var(--ink); }

/* HERO — full-bleed photo + scrim, editorial bottom overlay */
.hero{ position:relative; height:100svh; overflow:hidden; display:flex; align-items:flex-end; }
.hero__media{ position:absolute; inset:0; z-index:0; }
.hero__media img{ width:100%; height:120%; object-fit:cover; will-change:transform; }
.hero__scrim{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,20,22,.36) 0%, rgba(10,20,22,0) 26%, rgba(10,20,22,.18) 54%, rgba(10,20,22,.86) 100%); }
.hero__content{ position:relative; z-index:2; width:100%; padding:0 var(--pad) clamp(2.4rem,6vh,4.5rem); }
.hero__eyebrow{ margin-bottom:1.4rem; font-size:.76rem; letter-spacing:.26em; text-transform:uppercase; color:var(--aqua); }
.hero__title{ font-family:var(--display); font-weight:500; font-size:clamp(3rem,9vw,8rem); line-height:1; letter-spacing:.005em; }
.hero__title em{ font-style:italic; color:var(--gold); }
.line{ display:block; overflow:hidden; }
.line > span{ display:block; will-change:transform; }
.hero__row{ display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-top:2rem; flex-wrap:wrap; }
.hero__sub{ max-width:32rem; color:var(--soft); font-size:clamp(1rem,1.4vw,1.14rem); }
.hero__btn, .invite__btn{ display:inline-flex; align-items:center; gap:.7rem; padding:1.05rem 2.1rem; border-radius:100px; background:var(--bone); color:var(--ink); font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; transition:transform .16s var(--ease); will-change:transform; }
.hero__btn i, .invite__btn i{ transition:transform .2s var(--ease); }
.hero__btn:hover i, .invite__btn:hover i{ transform:translateX(4px); }
.hero__cue{ position:absolute; bottom:1.5rem; right:var(--pad); z-index:2; display:flex; flex-direction:column; align-items:center; gap:.5rem; font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--soft); }
.hero__cue i{ width:1px; height:28px; background:linear-gradient(var(--soft),transparent); }

/* MANIFESTO */
.manifesto{ padding:clamp(7rem,18vh,14rem) var(--pad); max-width:62rem; margin:0 auto; }
.manifesto .eyebrow{ display:block; margin-bottom:2rem; }
.manifesto__line{ font-family:var(--display); font-weight:500; font-size:clamp(1.9rem,4.6vw,3.5rem); line-height:1.24; }
.word{ display:inline-block; overflow:hidden; vertical-align:top; }
.word > span{ display:inline-block; will-change:transform; }

/* FEATURE ROWS (real photo + text, alternating) */
.feat{ display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:clamp(2rem,5vw,6rem); padding:clamp(3rem,7vh,6rem) var(--pad); max-width:1500px; margin:0 auto; }
.feat--rev .feat__media{ order:2; }
.feat__media{ border-radius:14px; overflow:hidden; aspect-ratio:7/5; }
.feat__media img{ width:100%; height:100%; object-fit:cover; will-change:transform; }
.feat__text h2{ font-family:var(--display); font-weight:500; font-size:clamp(2.2rem,4.6vw,4rem); line-height:1.02; letter-spacing:-.01em; margin:.8rem 0 1.4rem; }
.feat__text p{ color:var(--soft); max-width:32rem; }
.feat__n{ font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }

/* GOLDEN MOMENT (full-bleed photo) */
.moment{ position:relative; min-height:80svh; display:grid; place-items:center; overflow:hidden; padding:clamp(6rem,14vh,11rem) var(--pad); }
.moment__bg{ position:absolute; inset:0; width:100%; height:115%; object-fit:cover; z-index:0; will-change:transform; }
.moment__scrim{ position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(10,20,22,.7), rgba(10,20,22,.5)); }
.moment__q{ position:relative; z-index:2; font-family:var(--display); font-style:italic; font-weight:500; font-size:clamp(2rem,5.2vw,4.2rem); line-height:1.2; max-width:46rem; text-align:center; color:var(--bone); text-shadow:0 2px 30px rgba(0,0,0,.5); }
.moment__q .word > span{ color:var(--bone); }

/* INVITE */
.invite{ text-align:center; padding:clamp(7rem,16vh,13rem) var(--pad); display:flex; flex-direction:column; align-items:center; gap:1.2rem; }
.invite .eyebrow{ margin-bottom:.6rem; }
.invite__title{ font-family:var(--display); font-weight:500; font-size:clamp(2.6rem,8vw,6rem); line-height:1; }
.invite__title em{ font-style:italic; color:var(--gold); }
.invite__sub{ color:var(--soft); max-width:30rem; }
.invite__btn{ margin-top:1rem; }

/* FOOTER */
.foot{ border-top:1px solid var(--line); padding:3rem var(--pad); display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.foot__brand{ font-family:var(--display); font-weight:600; font-size:clamp(3rem,12vw,8rem); line-height:.8; letter-spacing:.04em; }
.foot__cols{ display:flex; flex-direction:column; gap:.3rem; text-align:right; color:var(--faint); font-size:.84rem; }

@media (max-width:820px){
  .nav__links{ display:none; }
  .cursor{ display:none; }
  .feat{ grid-template-columns:1fr; gap:1.6rem; }
  .feat--rev .feat__media{ order:0; }
  .hero__row{ flex-direction:column; align-items:flex-start; gap:1.6rem; }
}
