/* ─── RESET ──────────────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }

/* ─── TOKENS ─────────────────────────────────────────────────── */
:root {
  /* signature rose family */
  --rose:       #B8685A;
  --rose-deep:  #7A3A2C;

  /* accent — the one warm highlight */
  --gold:       #C4846A;
  --gold-pale:  #E8CBBC;

  /* surfaces */
  --petal:      #FAF5F2;
  --blush:      #F0E6E0;
  --cream:      #FBF7F4;

  /* text */
  --espresso:   #3A2420;
  --cocoa:      #6A4A40;

  /* kept for contact section only */
  --night:      #1C2461;

  /* type */
  --fd: 'Cormorant Garamond', Georgia, serif;
  --fs: 'Jost', system-ui, sans-serif;
}

body { font-family:var(--fs); background:var(--petal); color:var(--espresso); overflow-x:hidden; }

/* grain overlay */
body::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:9999; opacity:.03;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px 200px;
}
::-webkit-scrollbar { width:4px; }
::-webkit-scrollbar-track { background:var(--blush); }
::-webkit-scrollbar-thumb { background:var(--gold); border-radius:2px; }

/* ─── LABEL ──────────────────────────────────────────────────── */
.label { font-family:var(--fs); font-size:.58rem; font-weight:400; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); }

/* ─── BUTTONS ────────────────────────────────────────────────── */
.btn { display:inline-block; font-size:.62rem; font-weight:500; letter-spacing:.2em; text-transform:uppercase; text-decoration:none; padding:13px 26px; border:1px solid var(--gold); color:var(--espresso); background:var(--gold); transition:background .3s, color .3s, transform .2s; cursor:pointer; }
.btn:hover { background:transparent; color:var(--gold); transform:translateY(-1px); }
.btn-outline { background:transparent; color:var(--gold); }
.btn-outline:hover { background:var(--gold); color:var(--espresso); }

/* ─── UTILS ──────────────────────────────────────────────────── */
.divider { display:none; }
section { position:relative; overflow:hidden; }
.section-inner { max-width:1160px; margin:0 auto; padding:0 56px; }

/* ─── REVEAL ─────────────────────────────────────────────────── */
.reveal { opacity:1; transform:translateY(0); transition:opacity .8s ease, transform .8s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:.1s; }
.reveal-delay-2 { transition-delay:.2s; }
.reveal-delay-3 { transition-delay:.3s; }
.reveal-delay-4 { transition-delay:.4s; }

/* ─── ANIMATIONS ─────────────────────────────────────────────── */
@keyframes fadeUp { from { opacity:0; transform:translateY(26px); } to { opacity:1; transform:translateY(0); } }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }

/* ─── FOOTER ─────────────────────────────────────────────────── */
footer { background:var(--petal); border-top:1px solid rgba(184,104,90,.1); padding:64px 0 44px; }
.footer-inner { max-width:1160px; margin:0 auto; padding:0 56px; display:flex; align-items:flex-start; justify-content:space-between; gap:48px; }
.footer-brand { flex-shrink:0; padding-top:4px; }
.footer-logo { height:36px; width:auto; filter:brightness(0) opacity(.5); }
.footer-cols { display:flex; gap:48px; flex:1; }
.footer-col { display:flex; flex-direction:column; gap:14px; }
.footer-col-label { font-family:var(--fs); font-size:.5rem; letter-spacing:.24em; text-transform:uppercase; color:rgba(106,74,64,.35); }
.footer-nav-col { display:flex; flex-direction:column; gap:10px; }
.footer-nav a { font-size:.58rem; letter-spacing:.16em; text-transform:uppercase; text-decoration:none; color:var(--cocoa); transition:color .3s; }
.footer-nav a:hover { color:var(--gold); }
.footer-legal { text-align:right; flex-shrink:0; padding-top:4px; }
.footer-links { display:flex; gap:16px; justify-content:flex-end; margin-bottom:6px; }
.footer-links a { font-size:.52rem; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; color:var(--cocoa); opacity:.5; transition:opacity .3s; }
.footer-links a:hover { opacity:1; color:var(--gold); }
.footer-copy { font-size:.5rem; letter-spacing:.16em; color:rgba(106,74,64,.35); text-transform:uppercase; }
@media (max-width:900px) {
  .footer-inner { flex-direction:column; align-items:center; text-align:center; gap:32px; }
  .footer-cols { flex-direction:column; gap:28px; align-items:center; }
  .footer-col { align-items:center; }
  .footer-nav-col { align-items:center; }
  .footer-legal { text-align:center; }
  .footer-links { justify-content:center; }
}
