/* Duncan Peak Wines — shared design tokens (coordinator-owned) */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400&family=Source+Sans+3:wght@300;400;500;600&family=IBM+Plex+Mono:wght@300;400&display=swap');

:root {
  --limestone: #F2EEE7;
  --slate: #252E36;
  --wine: #692F3B;
  --copper: #B58A62;
  --sage: #7E8977;
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body: 'Source Sans 3', 'Helvetica Neue', Arial, sans-serif;
  --font-mono: 'IBM Plex Mono', 'Courier New', monospace;
  --ease-soft: cubic-bezier(.22,.61,.36,1);
  --reveal-ms: 640ms;
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

body {
  margin: 0;
  background: var(--limestone);
  color: var(--slate);
  font-family: var(--font-body);
  font-weight: 300;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3 { font-family: var(--font-display); font-weight: 400; line-height: 1.08; margin: 0; }
.display-xl { font-size: clamp(2.75rem, 6.2vw, 5.25rem); letter-spacing: -0.015em; }
.display-lg { font-size: clamp(2.25rem, 4.6vw, 3.75rem); letter-spacing: -0.01em; }
.mono-label {
  font-family: var(--font-mono);
  font-size: .72rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 400;
}
.eyebrow { color: var(--wine); }
.support { font-size: 1.06rem; max-width: 62ch; }

/* three-stroke mountain mark (authored motif, drawn once) */
.mark-chevrons { display: block; overflow: visible; }
.mark-chevrons path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 60;
  stroke-dashoffset: 60;
}
.animate-mark path { transition: stroke-dashoffset 900ms var(--ease-soft) 150ms; }
.animate-mark.is-drawn path { stroke-dashoffset: 0; }
.animate-mark path:nth-child(2) { transition-delay: 320ms; }
.animate-mark path:nth-child(3) { transition-delay: 520ms; }
@media (prefers-reduced-motion: reduce) {
  .mark-chevrons path { stroke-dashoffset: 0 !important; transition: none !important; }
}

/* focus visibility everywhere */
a:focus-visible, button:focus-visible, input:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--copper);
  outline-offset: 3px;
}
.skip-link {
  position: absolute; left: 1rem; top: -3rem; z-index: 100;
  background: var(--slate); color: var(--limestone);
  padding: .6rem 1rem; font-family: var(--font-mono); font-size: .75rem;
  transition: top 200ms;
}
.skip-link:focus { top: 1rem; }

/* image treatment */
img { display: block; max-width: 100%; height: auto; }
.photo { object-fit: cover; width: 100%; height: 100%; }
