:root { --ivory:#f8f6f1; --cream:#efecdf; --olive:#6b6f5b; --charcoal:#2e2e2e; --line:rgba(46,46,46,.18); }
* { box-sizing:border-box; }
body { margin:0; background:var(--ivory); color:var(--charcoal); font-family:Montserrat,Arial,sans-serif; font-size:1rem; line-height:1.75; }
a { color:inherit; text-underline-offset:.22em; }
header { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; padding:1.25rem 5vw; border-bottom:1px solid var(--line); }
.brand { font-size:.92rem; font-weight:600; letter-spacing:.18em; text-decoration:none; }
.back { font-size:.76rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
main { width:min(860px,90vw); margin:0 auto; padding:6rem 0 8rem; }
.eyebrow { color:var(--olive); font-size:.72rem; font-weight:600; letter-spacing:.14em; }
h1,h2 { font-family:"Cormorant Garamond",Georgia,serif; font-weight:500; line-height:1.05; }
h1 { margin:.8rem 0 2rem; font-size:clamp(3rem,7vw,5.8rem); }
h2 { margin:2.6rem 0 .7rem; font-size:2rem; }
.effective { padding-bottom:2rem; border-bottom:1px solid var(--line); color:#67675f; font-size:.85rem; }
.notice { margin:2rem 0; padding:1.4rem; background:var(--cream); }
ul { padding-left:1.25rem; }
footer { padding:2.5rem 5vw; background:var(--olive); color:#fff; font-size:.76rem; }
footer p { margin:.3rem 0; }
@media(max-width:620px){ header{align-items:flex-start;flex-direction:column;} main{padding:4rem 0 6rem;} }
