﻿:root {
  --navy:        #0E2A4A;
  --navy-deep:   #08182B;
  --navy-line:   rgba(239, 231, 214, 0.10);
  --navy-line-2: rgba(239, 231, 214, 0.18);
  --cream:       #EFE7D6;
  --cream-soft:  rgba(239, 231, 214, 0.78);
  --cream-mute:  rgba(239, 231, 214, 0.55);
  --cream-dim:   rgba(239, 231, 214, 0.42);
  --copper:      #B07A4A;
  --copper-soft: #C58F5C;
  --copper-deep: #8C5E36;
  --font-sans: 'Sora', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --container: 1200px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
section[id] { scroll-margin-top: 84px; }

/* iOS Safari: ensure tap registers on interactive elements */
button, a, .dor-card, .faq-question, .method-step, .plan-card {
  -webkit-tap-highlight-color: rgba(176, 122, 74, 0.15);
  touch-action: manipulation;
}
button { -webkit-appearance: none; appearance: none; }
body {
  margin: 0;
  font-family: var(--font-sans);
  background: var(--navy);
  color: var(--cream);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }

body::before {
  content: '';
  position: fixed; inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.937 0 0 0 0 0.906 0 0 0 0 0.839 0 0 0 0.06 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  opacity: 0.55;
  pointer-events: none;
  mix-blend-mode: overlay;
  z-index: 0;
}
