/* ========== TOKENS + RESET (light editorial) ========== */
:root{
  --bg-0:#ffffff;   /* near white canvas */
  --bg-1:#fbfaf6;   /* paper */
  --bg-2:#f3f0e8;   /* subtle cream tint */
  --surface:#ffffff;
  --surface-2:#fbfaf6;
  --line: rgba(15,29,51,.09);
  --line-2: rgba(169,136,38,.30);

  --ink:#0f1d33;
  --ink-2:#3a4760;
  --ink-mute:#7a8190;

  --navy:#1B3A6B;
  --navy-2:#2a4d85;
  --navy-deep:#0f1d33;
  --gold:#a98826;       /* deeper, legible on cream */
  --gold-2:#C9A84C;
  --gold-deep:#6b5418;

  --serif:"Cormorant Garamond","Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,Segoe UI,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;

  --r-sm:8px; --r-md:14px; --r-lg:22px; --r-xl:32px;

  --shadow-1: 0 30px 60px -30px rgba(15,29,51,.25);
  --shadow-2: 0 14px 40px -22px rgba(15,29,51,.18);
  --shadow-gold: 0 24px 60px -22px rgba(169,136,38,.35);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg-0);color:var(--ink)}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  background:
    radial-gradient(1400px 700px at 50% -10%, #ffffff 0%, transparent 60%),
    radial-gradient(900px 500px at 100% 110%, #f3f0e8 0%, transparent 55%),
    linear-gradient(180deg,#ffffff 0%,#fbfaf6 50%,#ffffff 100%);
  background-attachment: fixed;
  overflow-x: clip;
}
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:1;
  opacity:.05; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.06  0 0 0 0 0.11  0 0 0 0 0.20  0 0 0 0.55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  background-size:240px 240px;
}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

.container{ width:100%; max-width:1180px; margin:0 auto; padding: 0 28px; }

.eyebrow{
  font-family:var(--mono); font-size:11.5px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--gold);
  display:inline-flex;align-items:center;gap:10px;
}
.eyebrow::before{ content:""; width:24px; height:1px; background:var(--gold); opacity:.7; }

.h2{
  font-family:var(--serif); font-style:italic; font-weight:500;
  font-size:clamp(30px,4.4vw,52px); line-height:1.08; letter-spacing:-.01em;
  color:var(--ink); margin:14px 0 0; text-wrap:balance;
}
.h2 em{
  color:var(--gold); font-style:italic;
  background:linear-gradient(180deg,var(--gold-2),var(--gold-deep));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.lede{
  font-size:17px; line-height:1.6; color:var(--ink-2);
  max-width:60ch; text-wrap:pretty; margin:14px 0 0;
}

.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--sans); font-weight:600; font-size:14.5px; letter-spacing:.01em;
  padding:14px 20px; border-radius:999px; border:1px solid transparent; cursor:pointer;
  transition: transform .25s, background .25s, border-color .25s, box-shadow .25s, color .25s;
  white-space:nowrap;
}
.btn .arr{
  width:22px; height:22px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.18); font-size:13px; transition: transform .25s;
}
.btn:hover{ transform: translateY(-2px); }
.btn:hover .arr{ transform: translateX(3px); }

.btn-primary{
  background:linear-gradient(180deg,var(--navy-2),var(--navy-deep));
  color:#faf6ec;
  box-shadow: 0 14px 30px -14px rgba(15,29,51,.55), inset 0 1px 0 rgba(255,255,255,.18);
}
.btn-primary:hover{
  box-shadow: 0 22px 40px -16px rgba(15,29,51,.7), inset 0 1px 0 rgba(255,255,255,.25);
}
.btn-ghost{
  background:#ffffff; color:var(--ink); border:1px solid var(--line);
}
.btn-ghost:hover{ border-color:var(--line-2); background:#faf6ec; }

section{ position:relative; z-index:2; padding: 96px 0; }
section + section{ padding-top: 0; }
section.tight{ padding: 64px 0; }

.reveal{ opacity:0; transform: translateY(18px); transition: opacity .8s ease, transform .8s ease; }
.reveal.is-in{ opacity:1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce){ .reveal{ opacity:1; transform:none; transition:none; } }

.mono{ font-family:var(--mono); }
.serif-it{ font-family:var(--serif); font-style:italic; }
.gold{ color:var(--gold); }
.muted{ color:var(--ink-mute); }

.section-label{
  display:flex;align-items:center;gap:14px;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ink-mute); margin-bottom:18px;
}
.section-label .line{flex:1;height:1px;background:linear-gradient(90deg,rgba(15,29,51,.18),transparent)}

[data-accent="navy"] { --accent: var(--navy); --accent-2: var(--navy-2); }
[data-accent="gold"] { --accent: var(--gold); --accent-2: var(--gold-2); }
[data-accent="green"] { --accent: #2f6b54; --accent-2: #4d9379; }
[data-accent="graphite"] { --accent: #4a5566; --accent-2: #6c7a8e; }
[data-accent="offwhite"] { --accent: #d8d3c1; --accent-2: #ecead8; }
:root { --accent: var(--gold); --accent-2: var(--gold-2); }
