:root { color-scheme: light; font-family: system-ui, sans-serif; color: #2c2031; background: #fff4f4; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; padding: 24px; }
main { width: 100%; max-width: 560px; text-align: center; background: white; border: 1px solid #f3d6df; border-radius: 24px; padding: clamp(24px, 6vw, 48px); }
.brand { font-weight: 800; font-size: .8rem; letter-spacing: .16em; color: #a3153d; }
.gift { display: block; font-size: 3rem; margin-top: 24px; }
h1 { font-size: clamp(1.8rem, 6vw, 2.3rem); line-height: 1.15; margin: 20px 0; }
p { line-height: 1.6; }
a { color: #a3153d; }
.button { display: inline-block; background: #ab1743; color: white; font-weight: 700; padding: 16px 24px; border-radius: 12px; text-decoration: none; margin-top: 12px; }
.button:hover { background: #881235; }
a:focus-visible { outline: 3px solid #372057; outline-offset: 4px; }
.destination { font-size: .85rem; color: #655361; margin-top: 8px; }
.note { font-size: .9rem; color: #655361; border-top: 1px solid #f3d6df; padding-top: 24px; margin-top: 24px; }
.home { display: inline-block; padding: 12px; font-size: .9rem; }
