/* mastergf — luxury noir design tokens (LOCKED)
   Source of truth: live aigirlfriendranks.com, extracted 2026-07-20.
   Do not fork these values per-site; sites express identity through copy,
   accent usage and motion, never through new palettes or fonts. */

:root{
  --ink:#0a0a0c; --ink2:#111114; --ink3:#16161a;
  --ivory:#f2ede3; --ivory-dim:#a9a498;
  --gold:#c9a962; --gold-dim:rgba(201,169,98,.28); --gold-faint:rgba(201,169,98,.12);
  --blush:#d4a0a7; --blush-dim:rgba(212,160,167,.3);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Inter',system-ui,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--ivory);font-family:var(--sans);font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(201,169,98,.06),transparent 60%),
             radial-gradient(ellipse 60% 50% at 50% 110%,rgba(212,160,167,.05),transparent 60%)}
main,header,footer{position:relative;z-index:1}
a{color:inherit;text-decoration:none}
::selection{background:var(--gold);color:var(--ink)}

/* type scale */
.ovl{font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--gold);font-weight:400}
.h-display{font-family:var(--serif);font-weight:300;font-size:clamp(46px,8.5vw,110px);line-height:1.02;letter-spacing:-.01em}
.h-display em{font-style:italic;color:var(--blush)}
.h-sec{font-family:var(--serif);font-weight:300;font-size:clamp(32px,4.6vw,58px);line-height:1.08}
.h-sec em{font-style:italic;color:var(--gold)}
.lede{color:var(--ivory-dim);font-size:15px;max-width:52ch}

/* layout primitives */
section{padding:clamp(90px,12vh,150px) clamp(20px,6vw,72px);max-width:1180px;margin:0 auto}
.sec-head{display:flex;align-items:baseline;gap:26px;margin-bottom:64px;flex-wrap:wrap}
.sec-no{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:15px;letter-spacing:.12em;white-space:nowrap}
hr.hair{border:0;border-top:1px solid var(--gold-faint);margin:0 clamp(20px,6vw,72px)}

/* header / nav */
header{display:flex;justify-content:space-between;align-items:center;padding:26px clamp(20px,6vw,72px);border-bottom:1px solid var(--gold-faint)}
.wordmark{font-family:var(--serif);font-size:19px;letter-spacing:.34em;text-transform:uppercase}
.wordmark b{color:var(--gold);font-weight:400}
nav.top{display:flex;gap:34px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ivory-dim)}
nav.top a{transition:color .3s}
nav.top a:hover{color:var(--gold)}
.chip18{font-size:10px;letter-spacing:.2em;border:1px solid var(--gold-dim);color:var(--gold);padding:5px 11px;border-radius:2px}
@media(max-width:640px){nav.top{display:none}}

/* scroll reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity 1s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1)}
.rv.on{opacity:1;transform:none}
.ks{display:inline-block;letter-spacing:.42em;transition:letter-spacing 1.6s cubic-bezier(.2,.8,.2,1)}
.ks.go{letter-spacing:.64em}

@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  .marquee span{animation:none}
  .hero-motion video{display:none}
}
