body { background:#f5f0e7; color:#262a23; }
.policy-header { padding:24px max(24px,calc((100% - 1100px)/2)); border-bottom:1px solid #d8d5cb; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.policy-header a:last-child { text-align:right; }
.policy { width:min(100% - 40px,780px); margin:54px auto 80px; }
.policy h1 { font-size:clamp(2.4rem,7vw,4rem); line-height:1.05; margin:18px 0 26px; }
.policy h2 { font-size:1.65rem; line-height:1.2; margin:40px 0 16px; }
.policy h3 { font-size:1.14rem; margin:26px 0 12px; }
.policy p, .policy li { line-height:1.75; margin:0 0 16px; }
.policy ul, .policy ol { padding-left:24px; }
.policy a { text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.policy section { scroll-margin-top:24px; }
.policy .lead { font-size:1.15rem; }
.policy-kicker, .policy-footer { color:#696a61; font-size:.82rem; }
.review-note { padding:20px; background:#e8dfcc; border-left:3px solid #8e6b35; line-height:1.65; margin:26px 0; }
.page-contents, .policy-nav { display:flex; flex-wrap:wrap; gap:10px 22px; padding:20px 0; border-block:1px solid #d8d5cb; margin:26px 0; font-size:.9rem; }
.booking-steps li { padding-left:5px; margin-bottom:20px; }
.policy-footer { border-top:1px solid #d8d5cb; padding-top:20px; }
@media(max-width:480px) { .policy-header { padding:20px; } .policy { margin-top:32px; } .policy-header .wordmark { font-size:1.2rem; } }
@media print { .skip-link,.page-contents,.policy-nav,.policy-header { display:none; } .policy { width:100%; margin:0; } .policy h1 { font-size:28pt; } .policy h2 { break-after:avoid; } .policy a { color:inherit; } }
