:root {
  color-scheme: light;
  --color-brand-700: #643141;
  --color-brand-600: #7b3f50;
  --color-brand-500: #955768;
  --color-rose-300: #c58b98;
  --color-rose-100: #e8c7c3;
  --color-cream-100: #e9ded3;
  --color-cream-50: #faf7f3;
  --color-ink-900: #252124;
  --color-ink-700: #4e474b;
  --color-ink-500: #5d555a;
  --color-line: #d8cec8;
  --color-control-border: #8c8287;
  --color-success: #287a52;
  --color-warning: #8a5b19;
  --color-danger: #b32632;
  --color-white: #fff;
  --color-on-dark-muted: #f2e4e8;
  --color-footer-muted: #d8ced3;
  --color-promo-charcoal: #282326;
  --font-family: Tahoma, "Segoe UI", Arial, sans-serif;
  --font-size-xs: .75rem;
  --font-size-sm: .875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.375rem;
  --font-size-2xl: clamp(1.65rem, 4vw, 2.5rem);
  --font-size-hero: clamp(2rem, 4.6vw, 3.65rem);
  --line-height-tight: 1.35;
  --line-height-body: 1.8;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --radius-sm: .375rem;
  --radius-md: .625rem;
  --radius-lg: .875rem;
  --radius-pill: 999px;
  --shadow-soft: 0 10px 30px rgba(52,43,48,.07);
  --shadow-float: 0 16px 42px rgba(52,43,48,.15);
  --container: 82rem;
  --header-height: 4.5rem;
  --transition: 180ms ease;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { max-width: 100%; overflow-x: hidden; }
body { margin: 0; min-width: 320px; background: var(--color-cream-50); color: var(--color-ink-900); font-family: var(--font-family); font-size: var(--font-size-base); line-height: var(--line-height-body); }
img { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3, h4 { margin-block-start: 0; }
h1, h2, h3, h4 { color: var(--color-ink-900); line-height: var(--line-height-tight); }
h1 { font-size: var(--font-size-hero); }
h2 { font-size: var(--font-size-2xl); }
h3 { font-size: var(--font-size-lg); }
ul { margin: 0; padding: 0; list-style: none; }
table { max-width: 100%; }
:focus-visible { outline: 3px solid var(--color-brand-600); outline-offset: 3px; }
::selection { background: var(--color-rose-300); color: var(--color-ink-900); }
.container { width: min(100% - 2rem, var(--container)); margin-inline: auto; }
.section { padding-block: 2.5rem; }
.section--muted { background: var(--color-white); }
.eyebrow { margin-bottom: var(--space-2); color: var(--color-brand-600); font-size: var(--font-size-sm); font-weight: 700; letter-spacing: .02em; }
.eyebrow--on-dark { color: var(--color-on-dark-muted); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-5); }
.section-heading p { margin: .5rem 0 0; color: var(--color-ink-500); }
.text-muted { color: var(--color-ink-500); }
.sr-only, .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; inset-block-start: .5rem; inset-inline-start: .5rem; transform: translateY(-160%); padding: .7rem 1rem; background: var(--color-ink-900); color: var(--color-white); border-radius: var(--radius-sm); }
.skip-link:focus { transform: translateY(0); }
.content-narrow { max-width: 54rem; }
.entry-content > * { max-width: 100%; }
.entry-content a { color: var(--color-brand-600); text-decoration: underline; }

@media (min-width: 48rem) {
  .container { width: min(100% - 3rem, var(--container)); }
  .section { padding-block: 3.5rem; }
}

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