.hotel-policy { max-width:1380px; padding:160px 6vw 90px; margin:auto; }
.hotel-policy-heading { max-width:940px; margin-bottom:65px; }
.hotel-policy-heading h1 { font:400 clamp(3.4rem,6.5vw,7rem)/1.08 var(--serif); color:var(--cream); margin:25px 0 30px; }
.hotel-policy-heading>p:not(.eyebrow) { max-width:540px; line-height:1.8; color:var(--muted); font-size:1.05rem; }
.policy-version { display:flex; flex-wrap:wrap; gap:14px 30px; font-size:.75rem; color:var(--muted); margin-top:30px; line-height:1.7; }
.policy-version a,.hotel-policy-copy a { color:var(--honey); }
.hotel-policy-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:7vw; align-items:start; }
.hotel-policy-index { position:sticky; top:145px; display:flex; flex-direction:column; gap:0; }
.hotel-policy-index>.eyebrow { margin-bottom:25px; }
.hotel-policy-index a { color:var(--muted); font-size:.85rem; line-height:1.6; padding:12px 0; display:flex; gap:16px; align-items:baseline; }
.hotel-policy-index a:hover { color:var(--honey); }
.hotel-policy-index small { color:var(--honey); font-size:.6rem; }
.hotel-policy-clause { display:grid; grid-template-columns:30px minmax(0,1fr); gap:20px; margin-bottom:40px; scroll-margin-top:140px; }
.hotel-policy-clause>span { color:var(--honey); font-size:.63rem; padding-top:12px; }
.hotel-policy-clause h2,.policy-website-note h2 { font:400 clamp(1.8rem,2.6vw,2.8rem)/1.2 var(--serif); margin:0 0 18px; color:var(--cream); }
.hotel-policy-clause p,.hotel-policy-copy>p,.policy-website-note p { color:var(--muted); font-size:1rem; line-height:1.95; margin:0; }
.hotel-policy-clause .text-button { margin-top:18px; display:inline-block; font-size:.82rem; }
.policy-contact-card { padding:38px; margin-top:45px; border-radius:6px; background:radial-gradient(ellipse at 10% 0%,var(--warm-glow),transparent 65%),var(--surface-raised); overflow-wrap:anywhere; }
.policy-contact-card h2 { font:400 clamp(2rem,3vw,3rem)/1.18 var(--serif); margin:20px 0 30px; color:var(--cream); }
.policy-contact-card>a { display:block; width:fit-content; font-size:.95rem; margin:18px 0; color:var(--cream); line-height:1.7; }
.policy-contact-card>.text-button { color:var(--honey); }
.policy-related { display:flex; gap:25px 40px; flex-wrap:wrap; padding-top:70px; color:var(--honey); font-size:.85rem; }
.policy-related>a { padding:12px 0; }
.policy-website-note { margin:45px 0; }
.policy-website-note>a { display:inline-block; margin:20px 25px 0 0; font-size:.8rem; }
@media(max-width:900px) { .hotel-policy-layout { grid-template-columns:190px minmax(0,1fr); gap:35px; } }
@media(max-width:750px) {
 .hotel-policy { padding:130px 24px 65px; }
 .hotel-policy-heading { margin-bottom:40px; }
 .hotel-policy-heading h1 { font-size:clamp(2.4rem,10vw,4rem); overflow-wrap:anywhere; }
 .hotel-policy-layout { grid-template-columns:minmax(0,1fr); gap:35px; }
 .hotel-policy-index { position:relative; inset:auto; flex-direction:row; flex-wrap:wrap; gap:8px 18px; }
 .hotel-policy-index>.eyebrow { flex:0 0 100%; margin-bottom:10px; }
 .hotel-policy-index a { font-size:.78rem; gap:8px; padding:8px 0; min-height:44px; }
 .hotel-policy-clause { gap:12px; grid-template-columns:24px minmax(0,1fr); margin-bottom:35px; scroll-margin-top:110px; }
 .hotel-policy-clause h2,.policy-website-note h2 { font-size:clamp(1.75rem,7vw,2.5rem); }
 .hotel-policy-clause>span { padding-top:9px; }
 .policy-contact-card { padding:28px 22px; }
 .policy-contact-card h2 { font-size:clamp(2rem,8vw,2.8rem); }
 .policy-contact-card>a { min-height:44px; }
 .policy-related { padding-top:40px; }
}
