*, *::before, *::after { box-sizing: border-box; }
html { line-height: 1.5; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--color-ivory); color: var(--color-ink); font-family: var(--font-body); font-size: 15px; font-weight: 400; line-height: 1.9; }
img, svg { display: block; max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
a { color: inherit; text-decoration: none; transition: color .25s ease, background-color .25s ease, transform .25s ease; }
a:hover { color: var(--color-brown); }
button:focus-visible, a:focus-visible { outline: 2px solid var(--color-peach); outline-offset: 4px; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { font-family: var(--font-heading); font-weight: 400; line-height: 1.35; }
h1 { font-size: clamp(3rem, 5vw, 5.2rem); letter-spacing: .02em; }
h2 { font-size: clamp(2.2rem, 3vw, 3.65rem); letter-spacing: .04em; }
h3 { font-size: 1.2rem; }
.page-id-3 .entry-content h2 { margin: 2rem 0 .75rem; font-size: clamp(1.35rem, 2.4vw, 1.8rem); letter-spacing: .06em; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { position: fixed; top: 1rem; left: 1rem; z-index: 100000; width: auto; height: auto; padding: .75rem 1rem; margin: 0; overflow: visible; clip: auto; background: var(--color-white); color: var(--color-ink); }
