/* Festive presentation in the established Rhine hotel palette. */
.christmas-teaser{background:linear-gradient(115deg,#003466,#004387);color:#fff;border-bottom:4px solid #c4a268}
.christmas-teaser>.wrap{display:flex;align-items:center;justify-content:space-between;gap:36px;padding-block:38px}
.christmas-teaser .eyebrow{margin-bottom:7px;font-size:.8rem}.christmas-teaser h2{color:#fff;font-size:2.1rem;margin-bottom:9px}.christmas-teaser p:last-child{margin:0;color:#deebf6;font-size:1rem;max-width:680px}.christmas-teaser .button{flex-shrink:0;gap:16px}
.christmas-hero{position:relative;isolation:isolate;overflow:hidden;background:#003466;color:#fff}
.christmas-hero-image,.christmas-hero-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.christmas-hero-image{object-fit:cover;object-position:center}.christmas-hero-overlay{z-index:-1;background:linear-gradient(105deg,#002950f5 0%,#002950e6 50%,#002950b8 100%)}
.christmas-hero-inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.85fr);gap:72px;align-items:center;padding-block:42px 62px}
.christmas-back{display:inline-block;color:#d9e8f4;font-size:.9rem;margin-bottom:48px;text-decoration:none}.christmas-back:hover{text-decoration:underline}.christmas-hero .eyebrow{font-size:.875rem;margin-bottom:20px}.christmas-hero h1{color:#fff;line-height:1.09;font-size:clamp(2.75rem,4.7vw,4.4rem);margin-bottom:25px}
.christmas-lead{font-size:1.15rem;line-height:1.7;color:#deebf6;max-width:565px;margin-bottom:28px}.christmas-dates{display:flex;flex-direction:column;gap:7px;margin:0 0 24px}.christmas-dates time{font-size:1.3rem;font-weight:750;color:#edd4a4}.christmas-dates span{font-size:1rem;color:#deebf6}.christmas-details-link{font-weight:650;color:#fff}
.christmas-booking{background:#fffaf0;color:#263849;border-radius:8px;padding:30px 30px 25px;border-top:5px solid #c4a268;box-shadow:0 15px 50px #001b3855;position:relative}.christmas-card-label{text-transform:uppercase;font-size:.77rem;letter-spacing:.1em;color:#8e692b;font-weight:750;margin-bottom:12px}.christmas-booking h2{font-size:1.42rem;letter-spacing:-.02em;margin-bottom:24px}
.christmas-stay{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:0;padding-block:17px;border-block:1px solid #e5dcc9}.christmas-stay dt{font-size:.8rem;color:#647482}.christmas-stay dd{margin:3px 0 0;font-size:.96rem;font-weight:650;color:#004387;white-space:nowrap}
.christmas-price{font-size:3.2rem;color:#004387;line-height:1.15;font-weight:760;letter-spacing:-.04em;margin:24px 0 5px}.christmas-price span{font-size:1.7rem;letter-spacing:0;margin-left:9px;font-weight:500}.christmas-price-person{font-size:.86rem;color:#536a7c;margin-bottom:24px}.christmas-booking>.button{width:100%;gap:16px}.christmas-booking-note{font-size:.86rem;line-height:1.6;color:#536a7c;margin:15px 0}.christmas-calendar{display:inline-block;color:#004387;font-size:.875rem}.christmas-price-note{font-size:.75rem;line-height:1.6;color:#667988;margin:18px 0 0}
.christmas-benefits{background:#f5f0e6;border-bottom:1px solid #e4ded0}.christmas-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;padding-block:23px}.christmas-benefit-grid>div{display:flex;gap:10px;align-items:center;color:#004387;font-weight:650;font-size:.88rem}.christmas-benefit-grid svg,.christmas-included-group svg{width:22px;height:22px;flex-shrink:0;color:#98712f}
.christmas-section-heading{display:grid;grid-template-columns:1fr .8fr;gap:75px;align-items:end;margin-bottom:38px}.christmas-section-heading>p{max-width:465px;margin:0;color:#586f81;font-size:1.05rem}.christmas-included-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:45px}.christmas-included-group h3{font-size:1.23rem;margin-bottom:22px}.christmas-included-group ul{padding:0;margin:0;list-style:none}.christmas-included-group li{display:flex;align-items:flex-start;gap:13px;margin-bottom:14px;color:#4c6579;font-size:1rem;line-height:1.65}.christmas-included-group li svg{margin-top:3px}
.christmas-hotel-photo{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.7fr);border-radius:7px;overflow:hidden;background:#edf4fa}.christmas-hotel-photo img{width:100%;height:300px;object-fit:cover}.christmas-hotel-photo figcaption{display:flex;align-items:center;padding:36px;font-size:1.5rem;line-height:1.45;font-weight:650;color:#004387}
.christmas-moments{padding-block:68px;background:#faf7f0;border-block:1px solid #ece5d6}.christmas-moments h2{margin-bottom:36px}.christmas-moment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.christmas-moment-grid article{position:relative;padding-top:22px;border-top:2px solid #c4a268}.christmas-moment-number{position:absolute;top:17px;right:0;font-size:2.2rem;color:#dccba9;line-height:1;font-weight:700}.christmas-moment-date{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:#8e692b;font-weight:700;margin:0 48px 16px 0}.christmas-moment-grid h3{font-size:1.32rem;line-height:1.35;margin-bottom:15px}.christmas-moment-grid article>p:last-child{font-size:1rem;line-height:1.7;color:#546c7d;margin:0}
.christmas-winter{display:grid;grid-template-columns:1fr 260px;gap:85px;align-items:center}.christmas-winter h2{margin-bottom:22px}.christmas-winter>div>p:not(.eyebrow){color:#526a7d;max-width:735px}.christmas-winter-links{display:flex;align-items:flex-start;flex-wrap:wrap;gap:18px 30px}.christmas-winter-links .text-link{font-size:.9rem}.christmas-winter-date{aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#004387;background:#edf4fa;border-radius:50%;border:1px solid #d3e0ea;outline:1px solid #c4a268;outline-offset:-14px}.christmas-winter-date span{font-size:.8rem;letter-spacing:.12em;font-weight:650}.christmas-winter-date strong{font-size:2.7rem;line-height:1.4;letter-spacing:-.05em}
.christmas-faq{background:#f2f6fa;padding-block:60px}.christmas-closing{background:#004387;color:#fff;padding-block:46px}.christmas-closing>.wrap{display:flex;gap:40px;align-items:center;justify-content:space-between}.christmas-closing .eyebrow{margin-bottom:10px}.christmas-closing h2{color:#fff;font-size:2rem;margin-bottom:15px}.christmas-closing p:last-child{color:#deebf6;margin:0}.christmas-closing .button{gap:16px;flex-shrink:0}
.christmas-page .footer .credits a{color:#004387}.christmas-page .footer-inner{align-items:flex-start}.christmas-page .footer-inner>div{justify-content:flex-end}
@media(max-width:1100px){body:has(.christmas-teaser) .menu-toggle,.christmas-page .menu-toggle{display:block}body:has(.christmas-teaser) .nav-row,.christmas-page .nav-row{min-height:78px}body:has(.christmas-teaser) #main-nav,.christmas-page #main-nav{display:none;position:absolute;top:78px;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;padding:14px 20px 24px;border-top:1px solid #e0e8ef;box-shadow:0 8px 12px #002c4910;gap:0}body:has(.christmas-teaser) #main-nav.open,.christmas-page #main-nav.open{display:flex}body:has(.christmas-teaser) #main-nav>a,.christmas-page #main-nav>a{font-size:.95rem;padding:13px 8px}body:has(.christmas-teaser) #main-nav>.nav-book,.christmas-page #main-nav>.nav-book{margin-top:8px}.christmas-hero-inner{gap:38px}.christmas-hero h1{font-size:3.4rem}.christmas-benefit-grid{grid-template-columns:1fr 1fr}.christmas-teaser>.wrap{gap:25px}.christmas-teaser p:last-child{max-width:580px}.christmas-section-heading{gap:40px}}
@media(max-width:800px){.christmas-hero-inner{grid-template-columns:1fr;padding-block:28px 40px;gap:30px}.christmas-back{margin-bottom:30px}.christmas-hero h1{font-size:3.2rem;max-width:600px}.christmas-lead{max-width:640px}.christmas-booking{max-width:560px;width:100%}.christmas-section-heading{grid-template-columns:1fr;gap:23px}.christmas-section-heading>p{max-width:640px}.christmas-included-grid{gap:30px}.christmas-hotel-photo{grid-template-columns:1fr}.christmas-hotel-photo figcaption{padding:23px;font-size:1.2rem}.christmas-moments{padding-block:50px}.christmas-moment-grid{grid-template-columns:1fr;gap:30px}.christmas-winter{grid-template-columns:1fr;gap:25px}.christmas-winter-date{width:200px}.christmas-winter-date strong{font-size:2.3rem}.christmas-teaser>.wrap,.christmas-closing>.wrap{align-items:flex-start;flex-direction:column;gap:24px}.christmas-closing h2{font-size:1.9rem}.christmas-page .footer-inner>div{justify-content:flex-start}}
@media(max-width:500px){.christmas-hero h1{font-size:2.65rem}.christmas-lead{font-size:1rem}.christmas-hero .eyebrow{font-size:.8rem}.christmas-dates time{font-size:1.18rem}.christmas-booking{padding:25px 20px 21px}.christmas-booking h2{font-size:1.25rem}.christmas-stay{gap:10px}.christmas-stay dd{font-size:.87rem}.christmas-price{font-size:2.95rem}.christmas-benefit-grid{gap:18px 14px;padding-block:21px}.christmas-benefit-grid>div{font-size:.78rem;gap:8px}.christmas-benefit-grid svg{width:18px;height:18px}.christmas-included-grid{grid-template-columns:1fr;gap:28px}.christmas-included-group li{font-size:.95rem}.christmas-hotel-photo img{height:240px}.christmas-winter-links{flex-direction:column}.christmas-closing .button,.christmas-teaser .button{width:100%;font-size:.9rem}.christmas-teaser h2{font-size:1.9rem}.christmas-teaser p:last-child{font-size:.95rem}.christmas-faq{padding-block:45px}.christmas-page .planning-layout{gap:26px}}
