@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Inter:wght@300;400;500&display=swap');

:root {
  --sage: #BBC187;
  --forest: #54674E;
  --burgundy: #380D0D;
  --burnt-orange: #A73B04;
  --dusty-rose: #D06567;
  --cream: #F5F0E8;
  --off-white: #FAF8F4;
}

[data-theme="dark"] {
  --bg: #0a0404;
  --bg-secondary: #150606;
  --surface: #1e0808;
  --text-primary: #D4CEA8;
  --text-secondary: #B8BD85;
  --text-muted: #8a956a;
  --accent: #D06567;
  --accent-hover: #A73B04;
  --border: #54674E;
  --btn-primary-bg: #A73B04;
  --btn-primary-text: #FAF8F4;
  --accent-sage: #BBC187;
  --accent-rose: #D06567;
  --accent-orange: #C4703A;
}

[data-theme="light"] {
  --bg: #FAF8F4;
  --bg-secondary: #F0EBE1;
  --surface: #FFFFFF;
  --text-primary: #380D0D;
  --text-secondary: #54674E;
  --text-muted: #888;
  --accent: #A73B04;
  --accent-hover: #380D0D;
  --border: #BBC187;
  --btn-primary-bg: #54674E;
  --btn-primary-text: #FAF8F4;
  --accent-sage: #54674E;
  --accent-rose: #A73B04;
  --accent-orange: #8B4A1A;
}

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

body {
  background: var(--bg);
  color: var(--text-primary);
  font-family: 'Inter', sans-serif;
  font-weight: 300;
  line-height: 1.7;
  transition: background 0.3s, color 0.3s;
  min-height: 100vh;
}

/* ── Found footage: global film grain ── */
/* mix-blend-mode: screen makes dark noise ADD light to dark backgrounds */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 9000;
  pointer-events: none;
  opacity: 0.55;
  mix-blend-mode: screen;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.35'/%3E%3C/svg%3E");
}

/* ── Found footage: global scanlines ── */
/* White lines (not black) so they're visible on dark backgrounds */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 9001;
  pointer-events: none;
  background: repeating-linear-gradient(
    0deg,
    rgba(255,255,255,0.025) 0px, rgba(255,255,255,0.025) 1px,
    transparent 1px, transparent 4px
  );
}

h1, h2, h3, h4 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.02em;
}

h1 { font-size: clamp(3rem, 8vw, 6rem); }
h2 { font-size: clamp(2rem, 5vw, 3.5rem); }
h3 { font-size: clamp(1.5rem, 3vw, 2rem); }

a { color: var(--accent); text-decoration: none; transition: color 0.2s; }
a:hover { color: var(--accent-hover); }

.container { max-width: 900px; margin: 0 auto; padding: 0 24px; }
.section { padding: 100px 0; }
.section--sm { padding: 60px 0; }

.divider {
  width: 60px;
  height: 1px;
  background: var(--sage);
  margin: 24px auto;
}

.text-center { text-align: center; }
.text-accent { color: var(--accent); }
.text-sage { color: var(--sage); }
.text-muted { color: var(--text-muted); font-size: 0.875rem; letter-spacing: 0.1em; text-transform: uppercase; }

.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fade-in.visible { opacity: 1; transform: translateY(0); }

@media (max-width: 768px) {
  .section { padding: 72px 0; }
  .section--sm { padding: 44px 0; }
}
@media (max-width: 480px) {
  .section { padding: 52px 0; }
  .section--sm { padding: 32px 0; }
  .container { padding: 0 16px; }
}
