* { box-sizing: border-box; }
body { margin: 0; background: #faf7f2; color: #30282b; font: 1rem/1.65 Arial, sans-serif; }
a { color: #401426; }
header, main, footer { width: min(100% - 2.5rem, 46rem); margin-inline: auto; }
header { padding-block: 1.5rem; border-bottom: 1px solid #ded2c7; }
header a { font: 1.2rem Georgia, serif; letter-spacing: .08em; }
main { padding-block: clamp(2rem, 7vw, 5rem); }
h1, h2 { font-family: Georgia, serif; font-weight: normal; line-height: 1.15; color: #401426; }
h1 { font-size: clamp(2.35rem, 7vw, 4.4rem); margin: .4em 0; }
h2 { font-size: clamp(1.5rem, 4vw, 2.2rem); margin-top: 1.6em; }
.eyebrow { color: #765c36; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; }
.actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-block: 1.5rem; }
.button { padding: .75rem 1.2rem; background: #401426; color: white; text-decoration: none; }
footer { padding-block: 1.5rem; border-top: 1px solid #ded2c7; }
.hero-photo { display: block; width: 100%; height: auto; border-radius: .25rem; margin-block: 2rem; }
