/* Campaign and booking enhancements; original photography and branding retained. */
.festive-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:center;padding-block:46px}
.festive-art{margin:0;min-width:0}.festive-image-link{display:block;line-height:0;border-radius:3px;overflow:hidden;outline-offset:5px}
.festive-image-link img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.festive-art figcaption{font-size:12px;line-height:1.6;color:#52636b;margin-top:12px}
.festive-copy h2{font:clamp(30px,3.2vw,44px)/1.18 Georgia,'Times New Roman',serif;margin:0 0 20px;letter-spacing:-.02em}
.festive-copy .eyebrow{margin-bottom:18px}.festive-lead{font:italic 22px/1.5 Georgia,'Times New Roman',serif;color:#40545f}
.season-actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 12px}.season-actions .button{white-space:normal;line-height:1.5;text-align:center}
.booking-intro>.prose{max-width:850px}.booking-form{max-width:1050px;background:#fff;border:1px solid #d6d9d7;padding:30px;margin:28px 0}
.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}.booking-fields>label{grid-column:1/-1}.booking-fields>#residence{grid-column:1/-1;margin-top:-16px}
.booking-fields label{display:block;font-weight:600;margin-bottom:7px;font-size:15px}.booking-fields input,.booking-fields select{display:block;width:100%;max-width:100%;min-height:48px;padding:10px 12px;border:1px solid #8b9a9f;border-radius:2px;color:#18384a;background:#fff;font:inherit;font-size:16px;box-sizing:border-box}
.booking-fields :is(input,select):focus-visible{outline:3px solid #a1814d;outline-offset:2px}.booking-form .button{font:inherit;font-size:16px;cursor:pointer;white-space:normal}
.booking-form .button:disabled{opacity:.6;cursor:default}.booking-fine{font-size:14px;color:#52636b;line-height:1.7;margin:18px 0}
#booking-status{font-size:15px;margin:15px 0 0;color:#7c3429}body{overflow-wrap:break-word}html[lang=ru] body{font-family:Arial,'Helvetica Neue',sans-serif}html[lang=ru] :is(h1,h2,h3,.masthead-name,.hero-title){font-family:Georgia,'Times New Roman',serif}
html[lang=ru] .masthead-name{font-family:Georgia,'Times New Roman',serif}.language-switch nav{min-width:175px;max-height:70vh;overflow:auto}.language-switch nav a{min-height:44px;box-sizing:border-box}
@media(max-width:899px){.festive-feature{gap:28px}.booking-form{padding:24px}.festive-copy h2{font-size:32px}}
@media(max-width:699px){.festive-feature{grid-template-columns:1fr;gap:24px;padding-block:30px}.festive-copy h2{font-size:31px}.festive-lead{font-size:21px}.festive-art{max-width:560px}.booking-fields{grid-template-columns:1fr}.booking-form{padding:20px}.booking-fields :is(input,select){min-width:0}.season-actions{gap:12px}.season-actions .button{width:100%}html[lang=ru] .hero-title span:first-child{font-size:.8em}.festive-art figcaption{font-size:12px}}
.page-book{display:none}@media(max-width:699px){.page-heading .page-book{display:inline-flex;align-items:center;justify-content:center;margin-top:20px;font-size:14px;padding:11px 16px;white-space:normal;max-width:100%;line-height:1.5;text-align:center}}
/* On phones preserve the complete panoramic photograph instead of an excessive portrait crop. */
@media(max-width:699px){.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;background:#173547}.hero-bg{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:2000/1208;object-fit:contain;object-position:center}.hero:after{display:none}.hero-content{padding:30px 24px 34px}.hero .prose .hero-title{font-size:34px;margin:16px 0 22px}.hero .hero-brandline{font-size:22px}.hero-actions{margin-top:22px}.hero .hero-actions .button.secondary{background:transparent}}
/* Keep full English desktop navigation on common laptop screens. */
@media(min-width:1320px) and (max-width:1550px){html[lang=en] .masthead-bar{grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:none;gap:12px;padding:12px 18px}html[lang=en] .masthead-brand,html[lang=en] .masthead-tools,html[lang=en] .masthead-book,html[lang=en] .masthead-nav{grid-area:auto}html[lang=en] .masthead-nav{display:flex;flex-wrap:nowrap;justify-content:space-evenly;gap:9px;padding:0;margin:0;border:0}html[lang=en] .masthead-nav a{font-size:15px}html[lang=en] .masthead .masthead-menu{display:none}html[lang=en] .masthead-name{font-size:27px}html[lang=en] .masthead-brand{gap:10px}html[lang=en] .masthead-brand img{width:58px;height:58px}html[lang=en] .masthead-book{font-size:13.5px;padding:10px 12px}html[lang=en] .language-switch summary{min-width:44px}}
