:root {
  --radius-card: 10px;
  --radius-button: 8px;
  --radius-input: 5px;
  --radius-image: 8px;
  --section-space: clamp(5rem, 8vw, 7rem);
}

html { scroll-behavior: smooth; }
body { background: #fff3ff; color: #161216; font-family: 'PT Sans', sans-serif; font-size: 18px; line-height: 1.65; }
h1, h2, h3, h4, .font-display { font-family: 'PT Serif', serif; text-wrap: balance; }
p { text-wrap: pretty; }
.site-nav { border-bottom: 1px solid rgba(116,87,116,.22); background: #fff3ff; }
.logo-mark { width: 42px; height: 42px; object-fit: contain; }
.hero-image, .content-image { border-radius: var(--radius-image); }
.hero-image { max-height: 520px; object-fit: cover; width: 100%; }
.section-space { padding-block: var(--section-space); }
.eyebrow { font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: #745774; font-weight: 700; }
.prose-measure { max-width: 70ch; }
.pull-quote { border-left: 2px solid #a695ae; padding-left: 1rem; font-family: 'PT Serif', serif; color: #4e2261; }
.btn-primary { background: #745774; color: #fff; border-radius: var(--radius-button); font-weight: 700; transition: background-color .2s ease; }
.btn-primary:hover { background: #4e2261; }
input, select, textarea { border: 1px solid #a695ae; border-radius: var(--radius-input); background: #fbf9fe; color: #161216; }
input:focus, select:focus, textarea:focus { outline: 2px solid #007fac; outline-offset: 1px; }
.card-grid > article { border: 1px solid rgba(116,87,116,.24); border-radius: var(--radius-card); background: #fbf9fe; }
.cookie-banner { position: fixed; inset-inline: 1rem; bottom: 1rem; z-index: 50; max-width: 42rem; margin-inline: auto; border: 1px solid #a695ae; border-radius: 10px; background: #fbf9fe; padding: 1rem 1.25rem; }
.footer { border-top: 1px solid rgba(116,87,116,.22); }
@media (max-width: 767px) { .desktop-nav { display: none; } }
