
/* Selene® — Design tokens & utilities (Warm Sand + Maroon) */
:root{
  --radius:1rem;
  --background:oklch(0.975 0.012 80);
  --foreground:oklch(0.24 0.02 40);
  --surface:oklch(0.945 0.018 75);
  --surface-elevated:oklch(0.96 0.014 78);
  --card:oklch(1 0 0);
  --card-foreground:oklch(0.24 0.02 40);
  --primary:oklch(0.38 0.12 30);
  --primary-foreground:oklch(0.98 0.008 80);
  --muted:oklch(0.94 0.014 75);
  --muted-foreground:oklch(0.46 0.02 40);
  --accent:oklch(0.52 0.14 35);
  --accent-foreground:oklch(0.98 0.008 80);
  --destructive:oklch(0.50 0.18 27);
  --border:oklch(0.32 0.05 35 / 0.16);
  --border-subtle:oklch(0.32 0.05 35 / 0.08);
  --input:oklch(0.32 0.05 35 / 0.20);
  --ring:oklch(0.52 0.14 35);
}
.dark{
  --background:oklch(0.18 0.012 40);
  --foreground:oklch(0.95 0.012 80);
  --surface:oklch(0.22 0.014 40);
  --surface-elevated:oklch(0.26 0.016 40);
  --card:oklch(0.22 0.014 40);
  --card-foreground:oklch(0.95 0.012 80);
  --primary:oklch(0.95 0.012 80);
  --primary-foreground:oklch(0.18 0.012 40);
  --muted:oklch(0.26 0.016 40);
  --muted-foreground:oklch(0.72 0.012 70);
  --accent:oklch(0.68 0.16 38);
  --accent-foreground:oklch(0.18 0.012 40);
  --border:oklch(1 0 0 / 0.12);
  --border-subtle:oklch(1 0 0 / 0.07);
  --input:oklch(1 0 0 / 0.18);
  --ring:oklch(0.68 0.16 38);
}

*{border-color:var(--border)}
html{scroll-behavior:smooth}
body{
  background:var(--background); color:var(--foreground);
  font-family:'Poppins',system-ui,-apple-system,sans-serif;
  font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased;
  transition:background-color .4s ease, color .4s ease;
}
::selection{background:color-mix(in oklab,var(--accent) 35%,transparent); color:var(--foreground)}
h1,h2,h3,h4,h5,h6{font-family:'Plus Jakarta Sans','Poppins',sans-serif; letter-spacing:-0.02em; font-weight:600}

/* Tailwind config extensions via plugin (set in <script>) */

/* Custom utilities */
.shadow-warm{box-shadow:0 30px 60px -30px color-mix(in oklab,var(--accent) 35%,transparent),0 8px 20px -10px color-mix(in oklab,var(--foreground) 12%,transparent)}
.nav-blur{backdrop-filter:blur(14px); background:color-mix(in oklab,var(--background) 88%,transparent)}
.eyebrow{font-size:.65rem; letter-spacing:.32em; text-transform:uppercase; color:var(--foreground); font-weight:700}
.soft-card{background:var(--card); border:1px solid var(--border-subtle); box-shadow:0 1px 0 0 oklch(0.05 0 0 / 0.06)}
.font-display{font-family:'Plus Jakarta Sans','Poppins',sans-serif}

/* Reveal animation */
.reveal{opacity:0; transform:translate3d(0,28px,0) scale(.985); transition:opacity .9s cubic-bezier(.22,1,.36,1), transform 1s cubic-bezier(.22,1,.36,1)}
.reveal.show{opacity:1; transform:translate3d(0,0,0) scale(1)}

/* Marquee */
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee-track{display:flex; gap:3rem; animation:marquee 40s linear infinite; white-space:nowrap; width:max-content}

/* Fade-up entry */
@keyframes fade-up{from{opacity:0; transform:translateY(28px)}to{opacity:1; transform:translateY(0)}}
.fade-up{animation:fade-up 1s cubic-bezier(.22,1,.36,1) both}
.fade-up-slow{animation:fade-up 1.2s cubic-bezier(.22,1,.36,1) both}

/* Form */
.field{width:100%; background:var(--background); border:1px solid var(--input); padding:.75rem 1rem; border-radius:.5rem; font-size:.875rem; color:var(--foreground); transition:border-color .2s}
.field:focus{outline:none; border-color:var(--accent)}
.field.err{border-color:var(--destructive)}
