/* Local brand foundation; no deployed site or business content. */
:root {
  color-scheme: light;
  --spa-ivory: #f8f5ef;
  --spa-white: #fffdf9;
  --spa-champagne: #e8d8c0;
  --spa-sand: #d5bea0;
  --spa-bronze: #865c2a;
  --spa-gold: #b78c45;
  --spa-espresso: #34271e;
  --spa-muted: #6e6256;
  --spa-line: #d8c9b5;
  --spa-display: Georgia, 'Times New Roman', serif;
  --spa-body: Arial, Helvetica, sans-serif;
  --spa-max-width: 1200px;
  --spa-gutter: clamp(1.25rem, 4vw, 4rem);
  --spa-section-space: clamp(4.5rem, 9vw, 8.5rem);
  --spa-display-size: clamp(2.8rem, 6.3vw, 6rem);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--spa-espresso);
  background: var(--spa-ivory);
  font-family: var(--spa-body);
  font-size: 1rem;
  line-height: 1.65;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: .2em; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--spa-bronze); outline-offset: 5px; }
::selection { color: var(--spa-espresso); background: var(--spa-champagne); }
.spa-container { width: min(calc(100% - var(--spa-gutter) * 2), var(--spa-max-width)); margin-inline: auto; }
.spa-section { padding-block: var(--spa-section-space); }
.spa-heading { font-family: var(--spa-display); font-weight: 400; line-height: 1.05; letter-spacing: -.035em; }
.spa-display { font-size: var(--spa-display-size); }
.spa-eyebrow { color: var(--spa-bronze); font-size: .75rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.spa-copy { max-width: 40rem; color: var(--spa-muted); }
.spa-logo-original { width: 100%; aspect-ratio: 1; object-fit: contain; }
.spa-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  min-height: 48px;
  padding: .875rem 1.5rem;
  border: 1px solid var(--spa-espresso);
  border-radius: 2px;
  background: var(--spa-espresso);
  color: var(--spa-white);
  text-decoration: none;
  font-size: .875rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease;
}
.spa-button:hover { background: var(--spa-bronze); border-color: var(--spa-bronze); }
.spa-button-secondary { color: var(--spa-espresso); background: transparent; }
.spa-button-secondary:hover { color: var(--spa-espresso); background: var(--spa-champagne); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
