:root{
  --bg:#eceef2; --ink:#23243a; --mute:#6a6d86;
  --pink:#ff5fa8; --mag:#e0359a; --yel:#ffd23f; --blue:#5b8def; --lav:#9aa7e8; --mint:#7be0b4; --org:#ff7a45;
  --night:#07070f;
  --serif:'Fraunces',Georgia,serif; --sans:'DM Sans',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit}
::selection{background:var(--pink);color:#fff}

section{position:relative}
.wrap{max-width:1040px;margin:0 auto;padding:0 24px}
.rv{opacity:0;filter:blur(14px);transform:translateY(34px);transition:opacity 1.2s,filter 1.2s,transform 1.2s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;filter:none;transform:none}
.kicker{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--mag);margin-bottom:18px}
h2{font-family:var(--serif);font-weight:300;font-size:clamp(34px,5.4vw,66px);line-height:1.08;letter-spacing:-.02em}
h2 em{font-style:italic;color:var(--mag)}
