:root {
  --wine: #651f36; --wine-deep: #2b1d24; --rose: #d9a0a4;
  --blush: #f4e8e5; --cream: #fbf7f2; --ink: #33262b;
  --muted: #786b6e; --line: #dfd2ce;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: Arial, Helvetica, sans-serif; line-height: 1.7; }
a { color: inherit; }
.site-header { min-height: 76px; padding: 0 6vw; display:flex; align-items:center; justify-content:space-between; gap:24px; background:var(--cream); }
.wordmark { text-decoration:none; color:var(--wine); font-family: Georgia, serif; letter-spacing:.13em; font-size:16px; white-space:nowrap; }
.wordmark span { font: 9px Arial; vertical-align:top; margin-left:3px; }
nav { display:flex; gap:30px; }
nav a,.header-link { text-decoration:none; font-size:10px; letter-spacing:.16em; font-weight:700; }
nav a:hover,.text-link:hover,.header-link:hover { color:#a34c68; }
.header-link { color:var(--wine); border-bottom:1px solid var(--wine); padding:8px 0; }
.hero { min-height:650px; position:relative; overflow:hidden; display:grid; place-items:center; text-align:center; color:#fff9f5; background:radial-gradient(ellipse at 72% 38%,rgba(147,65,83,.58),transparent 34%),linear-gradient(115deg,#20171d 0%,#43232f 48%,#241920 100%); }
.hero:before,.hero:after { content:""; position:absolute; border:1px solid rgba(242,210,205,.18); border-radius:50%; transform:rotate(-28deg); }
.hero:before { width:580px;height:780px;right:-120px;top:-90px; }
.hero:after { width:420px;height:610px;left:-140px;bottom:-240px; }
.hero-image { position:absolute; inset:0; opacity:.26; background:linear-gradient(90deg,rgba(24,15,20,.7),rgba(40,20,29,.15)),radial-gradient(ellipse at 80% 80%,#a85c6c 0,transparent 28%); }
.hero-content { position:relative; z-index:1; max-width:760px; padding:90px 24px 82px; }
.eyebrow { font-size:10px; font-weight:700; letter-spacing:.24em; line-height:1.6; }
.hero .eyebrow { color:#e7b9b7; }
h1,h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; line-height:1.06; }
h1 { font-size:clamp(54px,9vw,112px); letter-spacing:.08em; margin:22px 0 12px; }
h1 em,h2 em { color:var(--rose); font-weight:400; }
.hero-tagline { font:clamp(18px,2.2vw,25px) Georgia,serif; margin:16px 0 8px; }
.hero-copy { color:#eadfdd; font-size:15px; margin:12px 0 28px; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:24px; min-height:52px; padding:0 25px; text-decoration:none; font-size:10px; font-weight:700; letter-spacing:.16em; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button-light { color:var(--wine-deep); background:var(--blush); }
.button-dark { color:white; background:var(--wine); }
.button-dark:hover { background:#7e2b47; }
.hero-note { font-size:9px; letter-spacing:.18em; color:#cdb7b6; margin-top:26px; }
.hero-side-note { position:absolute; right:22px; bottom:28px; writing-mode:vertical-rl; font-size:8px; letter-spacing:.2em; color:#cbb7b7; }
.section-grid { display:grid; grid-template-columns:1fr 2.2fr 1fr; gap:5vw; padding:110px 9vw; }
.section-index { font-size:11px; color:var(--wine); letter-spacing:.12em; }
.section-index span { color:var(--muted); font-size:9px; }
.eyebrow.rose { color:#a34c68; }
.section-copy { max-width:660px; }
h2 { font-size:clamp(38px,5vw,62px); margin:12px 0 22px; }
.section-copy p,.notice-copy p,.transparency-copy p { color:#6e6063; font-size:14px; }
.text-link { display:inline-block; margin-top:18px; color:var(--wine); font-size:10px; font-weight:700; letter-spacing:.16em; text-decoration:none; border-bottom:1px solid var(--wine); padding-bottom:7px; }
.rose-art { min-height:300px; position:relative; overflow:hidden; background:linear-gradient(145deg,#ead1cd,#b66f7c 55%,#552b3b); }
.rose-orb { position:absolute; width:210px;height:260px;border-radius:48% 52% 44% 56%; background:radial-gradient(ellipse at 35% 30%,#f4d6d0,#a94d66 48%,#4d2034 78%); filter:drop-shadow(20px 24px 22px rgba(49,22,34,.25)); transform:rotate(28deg); top:15%;left:24%; }
.rose-caption { position:absolute; bottom:18px;right:18px;color:#fff7f2;font:italic 13px Georgia;letter-spacing:.1em;text-align:right; }
.discover-section { background:#f1e5e1; padding:100px 9vw 115px; }
.section-heading { text-align:center; max-width:650px; margin:0 auto 48px; }
.section-heading .eyebrow { color:#a34c68; }
.section-heading h2 { margin:14px 0; }
.muted { color:var(--muted); }
.steps { display:grid; grid-template-columns:repeat(3,1fr); max-width:1100px; margin:auto; gap:16px; }
.step-card { min-height:260px; padding:30px; border:1px solid #d9c7c3; background:rgba(255,255,255,.35); position:relative; }
.step-card.featured { background:var(--wine); color:#fff7f2; border-color:var(--wine); transform:translateY(-12px); }
.step-number { font:italic 14px Georgia; color:#a34c68; }
.featured .step-number,.featured .step-symbol { color:#e8b8bc; }
.step-symbol { float:right; font:30px Georgia; color:#a34c68; }
.step-card h3 { font-size:12px; letter-spacing:.2em; margin-top:44px; }
.step-card p { font-size:13px; color:var(--muted); }
.step-card.featured p { color:#ead9dc; }
.manifesto { padding:120px 24px; color:#fff7f2; text-align:center; background:linear-gradient(120deg,#2b1d24,#5a293d 55%,#2a1b23); }
.manifesto-inner { max-width:680px; margin:auto; }
.manifesto .eyebrow { color:#e7b9b7; }
.manifesto h2 { font-size:clamp(42px,6vw,72px); }
.manifesto p:not(.eyebrow) { max-width:590px; margin:18px auto; color:#e3d4d3; font-size:14px; }
.cta-section { text-align:center; padding:105px 24px; background:var(--blush); }
.cta-section .eyebrow { color:#a34c68; }
.cta-section h2 { margin:14px 0 18px; }
.cta-section>p:not(.eyebrow):not(.cta-small) { max-width:560px; margin:0 auto 28px; color:var(--muted); font-size:14px; }
.cta-small { font-size:10px; color:var(--muted); margin-top:16px; }
.notice { background:var(--cream); }
.notice-copy { grid-column:2/4; max-width:760px; }
.transparency { padding:75px 9vw; display:grid; grid-template-columns:1fr 1fr; gap:8vw; background:#e9d9d5; }
.transparency .eyebrow { color:#a34c68; }
.transparency h2 { font-size:clamp(34px,4vw,50px); }
.transparency-copy { align-self:center; }
.transparency-copy p { font-size:13px; }
.site-footer { position:relative; padding:55px 9vw 48px; color:#eee1df; background:var(--wine-deep); }
.site-footer .wordmark { color:#f4d9d8; }
.footer-line { font:italic 14px Georgia; color:#d8b6b8; margin:14px 0 28px; }
.footer-disclaimer,.copyright { font-size:9px; letter-spacing:.13em; color:#bda9ab; }
.copyright { margin-top:12px; }
.back-top { position:absolute; right:9vw; bottom:50px; color:#f4d9d8; text-decoration:none; font-size:9px; letter-spacing:.15em; }
@media(max-width:760px) {
  .site-header { padding:18px 6vw; flex-wrap:wrap; }
  nav { order:3; width:100%; justify-content:space-between; gap:12px; }
  nav a { font-size:8px; }
  .hero { min-height:570px; }
  .hero-content { padding:75px 20px; }
  .section-grid { grid-template-columns:1fr; padding:70px 7vw; gap:24px; }
  .rose-art { min-height:220px; }
  .discover-section { padding:75px 7vw; }
  .steps { grid-template-columns:1fr; gap:12px; }
  .step-card.featured { transform:none; }
  .manifesto { padding:85px 7vw; }
  .notice-copy { grid-column:auto; }
  .transparency { grid-template-columns:1fr; padding:70px 7vw; gap:12px; }
  .back-top { position:static; display:inline-block; margin-top:20px; }
  .desktop-only { display:none; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition:none!important; } }
