:root { color: #542039; background: #fff4e5; font-family: "Nunito Sans", "Avenir Next", Avenir, sans-serif; line-height: 1.65; }
* { box-sizing: border-box; }
body { margin: 0; }
main, footer { max-width: 48rem; margin: auto; padding: 1.25rem; }
main { padding-block: 2rem 4rem; }
h1, h2 { font-family: "Nunito Sans", "Avenir Next", Avenir, sans-serif; font-weight: 800; line-height: 1.15; }
h1 { font-size: clamp(2.2rem, 7vw, 3.6rem); }
h2 { margin-top: 2.2rem; font-size: 1.7rem; }
a { color: #a52e43; text-underline-offset: .2em; }
a:focus-visible { outline: 3px solid #a52e43; outline-offset: 3px; }
.intro { font-size: 1.18rem; }
.note { padding: 1rem; background: #f7e8e2; border-left: .25rem solid #922d4b; }
.choice { padding: .8rem 0; border-bottom: 1px solid #cfbcc0; }
.choice p { margin: .3rem 0; }
footer { border-top: 1px solid #cfbcc0; }
