@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap');

:root {
  --forest: #24382f;
  --forest-2: #355446;
  --coral: #d9926f;
  --coral-soft: #f4d9c9;
  --cream: #f7f3eb;
  --paper: #fffdf8;
  --ink: #202720;
  --muted: #6b746d;
  --line: rgba(36, 56, 47, .13);
  --gold: #d0aa61;
  --shadow: 0 24px 70px rgba(36, 56, 47, .14);
  --sans: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --serif: 'Fraunces', Georgia, serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); font-family: var(--sans); background: var(--cream); -webkit-font-smoothing: antialiased; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
img { max-width: 100%; }
.shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; color: var(--forest); font-size: 19px; font-weight: 700; letter-spacing: -.02em; }
.brand-mark { width: 34px; height: 34px; display: inline-grid; place-items: center; border-radius: 50% 50% 44% 56%; background: var(--forest); color: var(--cream); font-family: var(--serif); font-size: 21px; font-style: italic; transform: rotate(-5deg); }
.button { border: 0; min-height: 44px; padding: 0 20px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; text-decoration: none; font-weight: 700; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: white; background: var(--forest); box-shadow: 0 10px 24px rgba(36, 56, 47, .2); }
.button-primary:hover { background: #192b23; box-shadow: 0 14px 30px rgba(36, 56, 47, .27); }
.button-quiet { border: 1px solid var(--line); background: rgba(255, 255, 255, .52); }
.button-large { min-height: 56px; padding-inline: 28px; }
.google-g { width: 25px; height: 25px; display: inline-grid; place-items: center; border-radius: 50%; color: #4285f4; background: white; font: 700 15px Arial, sans-serif; }
.eyebrow { margin: 0 0 18px; display: flex; align-items: center; gap: 9px; color: var(--forest-2); font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 5px rgba(217, 146, 111, .15); }
.centered { justify-content: center; }
.empty-page { min-height: 100vh; padding: 70px 20px; display: grid; place-content: center; justify-items: center; text-align: center; }
.empty-page h1 { margin: 20px 0; font: 600 clamp(48px, 9vw, 92px)/.95 var(--serif); }
.empty-page h1 em { color: var(--coral); font-weight: 500; }
.empty-page p:not(.eyebrow) { color: var(--muted); margin: 0 0 28px; }

@media (max-width: 700px) {
  .shell { width: min(100% - 24px, 1180px); }
  .button-large { width: 100%; }
}
