.news-preview,.news-page,.gallery-page{padding:80px 6%;}.news-grid,.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.news-grid article{background:#fff;border-radius:18px;overflow:hidden;padding-bottom:20px}.news-grid img{width:100%;height:180px;object-fit:cover}.news-grid h2,.news-grid h3,.news-grid p,.news-grid a{margin:14px 20px;display:block}.show-more{display:inline-block;margin-top:30px}.photo-grid{grid-template-columns:repeat(4,1fr)}.photo-grid figure{margin:0}.photo-grid img{width:100%;aspect-ratio:1.3;object-fit:cover;border-radius:14px}.photo-grid figcaption{padding:8px;font-weight:700}.legal{display:flex;gap:18px;flex-wrap:wrap}.video-widget{position:fixed;right:22px;bottom:22px;width:230px;height:150px;background:#111;border-radius:16px;z-index:20;box-shadow:0 8px 30px #0004;overflow:hidden}.video-widget video{width:100%;height:100%;object-fit:cover}.video-widget button{position:absolute;z-index:2;border:0;border-radius:50%;width:28px;height:28px;background:#fff;color:#111;cursor:pointer}.video-close{right:8px;top:8px}.video-min{right:8px;bottom:8px}.video-widget.collapsed{width:52px;height:52px;border-radius:50%}.video-widget.collapsed video,.video-widget.collapsed .video-close{display:none}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#1b1b1b;color:#fff;padding:14px 6%;z-index:30;display:flex;gap:20px;align-items:center;justify-content:center}.cookie-banner a{color:#c9f05b}.cookie-banner button{background:#c9f05b;border:0;padding:8px 18px;border-radius:8px}@media(max-width:700px){.news-grid,.photo-grid{grid-template-columns:1fr 1fr}.video-widget{right:10px;bottom:70px}}

/* Homepage news block */
html,body{max-width:100%;overflow-x:hidden}
.news-preview{padding:clamp(56px,8vw,112px) clamp(20px,6vw,96px);background:#f3f7f4;overflow:hidden}
.news-preview .case-head{display:block;max-width:1180px;margin:0 auto 30px;text-align:center}
.news-preview .case-head span{display:block;margin-bottom:10px;color:#6e7d74;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.news-preview .case-head h2{margin:0 auto;color:#13231c;font-size:clamp(30px,4vw,56px);line-height:1.05;letter-spacing:-.03em}
.news-preview .news-grid{max-width:1180px;margin:0 auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.news-preview .news-grid article{min-width:0;background:#fff;border:1px solid #dde8e1;border-radius:22px;box-shadow:0 10px 24px rgba(24,55,40,.06);padding:0 0 22px;transition:transform .2s ease,box-shadow .2s ease}
.news-preview .news-grid article:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(24,55,40,.11)}
.news-preview .news-grid img{display:block;width:100%;height:clamp(170px,18vw,230px);object-fit:cover}
.news-preview .news-grid h3{margin:20px 22px 9px;color:#14231c;font-size:20px;line-height:1.2}
.news-preview .news-grid p{margin:0 22px 18px;color:#6d7a73;font-size:14px;line-height:1.55}
.news-preview .news-grid a{display:inline-flex;align-items:center;gap:8px;margin:0 22px;color:#16804e;font-size:13px;font-weight:700;text-decoration:none}
.news-preview .show-more{display:flex;width:max-content;max-width:100%;margin:28px auto 0;color:#16804e;font-size:14px;font-weight:700;text-decoration:none}
@media(max-width:850px){.news-preview .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-preview .news-grid article:last-child{grid-column:1/-1}}
@media(max-width:560px){.news-preview{padding:52px 16px}.news-preview .news-grid{grid-template-columns:1fr}.news-preview .news-grid article:last-child{grid-column:auto}.news-preview .news-grid h3{font-size:19px}}

/* More readable navigation */
.nav nav{font-size:15px;gap:30px}
.book-mini{font-size:14px}
.nav-place{font-size:12px}
.nav-place b{font-size:12px}
.nav-place{color:#17251f}

/* Improve readability of the hero details */
.status{font-size:13px}
.hero-main>p{font-size:16px}
.hero-actions a{font-size:14px}
.hero-stats span{font-size:12px}
.hero-stats b{font-size:30px}
.hero-stats small{font-size:12px}
.monitor-ui span{font-size:12px}
.monitor-ui small{font-size:12px}
.image-count{font-size:12px}

/* Site-wide readable typography for secondary text */
.topline{font-size:13px}
.eyebrow,.rooms header span,.schedule-title>span,.booking-console>div>span,.location-data>span{font-size:12px}
.finder-head span,.finder label span,.finder select,.finder button{font-size:14px}
.legend,.time-labels,.periods{font-size:12px}
.room-info small,.room-info>a,.room-info p{font-size:14px}
.room-info>b{font-size:15px}
.ticker div{font-size:15px}
.photo button,.tag{font-size:13px}
.news-preview .case-head span{font-size:14px}
.news-preview .news-grid p{font-size:16px}
.news-preview .news-grid a,.news-preview .show-more{font-size:15px}
.left-panel section header small,.week span,.calendar label small,.other-date,.key,.slots small,.hall-options small,.hall-options i,.contact-block label,.order-card>span,.order-line small,.price span,.price small,.order-card p{font-size:12px}

/* Footer readability across every page */
footer nav,footer>div:not(.legal),footer>div:not(.legal) a{font-size:18px!important;line-height:1.4}
footer p{font-size:17px!important;line-height:1.6}
footer small{font-size:14px!important}
footer .legal,footer .legal a{font-size:16px!important;line-height:1.4}
@media(max-width:700px){footer nav,footer>div:not(.legal),footer>div:not(.legal) a{font-size:16px!important}footer p{font-size:16px!important}footer .legal,footer .legal a{font-size:14px!important}}
.location-data>span{font-size:14px!important;display:block}
.gallery-extra{margin-top:90px}.gallery-extra .case-head{margin-bottom:28px}.gallery-extra video{display:block;max-height:560px;object-fit:contain;background:#14201b}
.privacy-page{width:auto;max-width:none;margin:40px 2vw 80px;padding:64px 4vw;background:#fff;border-radius:28px;box-shadow:0 18px 45px #20372b12}.privacy-page h1,.privacy-page h2,.privacy-page p{width:100%;max-width:none;margin-left:0;margin-right:0}.privacy-page h1{font-size:clamp(30px,4vw,54px);line-height:1.05;letter-spacing:-.05em;margin-top:0;margin-bottom:34px}.privacy-page h2{font-size:clamp(24px,3vw,36px);line-height:1.1;margin-top:42px;margin-bottom:20px}.privacy-page p{font-size:16px;line-height:1.75;color:#5e6b63;margin-top:0;margin-bottom:22px}.privacy-contacts{font-weight:700;color:#14201b!important}@media(max-width:700px){.privacy-page{margin:20px 10px 50px;padding:32px 22px;border-radius:22px}.privacy-page p{font-size:15px}}
.gallery .extra{grid-column:1/-1;min-height:245px;background-position:center;background-size:cover;border-radius:14px}
.gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,245px);grid-auto-rows:245px}.gallery-main{grid-column:span 2;grid-row:span 2}.gallery .extra{grid-column:auto;min-height:0;cursor:zoom-in}.gallery-main,.gallery-side{cursor:zoom-in}@media(max-width:800px){.gallery{grid-template-columns:1fr;grid-template-rows:330px 180px 180px;grid-auto-rows:180px}.gallery-main{grid-column:auto;grid-row:auto}.gallery .extra{grid-column:auto}}
.gallery-more{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:14px 4.2vw 0}.gallery-more img{width:100%;height:260px;object-fit:cover;border-radius:14px;display:block}@media(max-width:800px){.gallery-more{grid-template-columns:repeat(2,1fr);padding-left:20px;padding-right:20px}.gallery-more img{height:180px}}

/* Единая шапка и подвал для внутренних страниц */
body>header.header,body>header.nav{margin:14px 2vw 0;height:84px;border:1px solid #d2dbd4;border-radius:22px;background:#fff;padding:0 24px;box-shadow:0 14px 35px #20372b0d;position:sticky;top:12px;z-index:20;display:flex;align-items:center;justify-content:flex-start;gap:34px}
body>header.nav .nav-logo{display:flex;align-items:center;flex:0 0 118px;width:118px;height:68px;overflow:hidden}body>header.nav .nav-logo img{display:block!important;width:118px!important;height:68px!important;max-width:118px!important;max-height:68px!important;object-fit:contain!important}
body>header.nav .nav-place{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important;padding:10px 14px!important;border:0!important;border-radius:12px!important;background:#f0f5f1!important;color:#17251f!important;font-size:12px!important;line-height:1.25!important;text-transform:uppercase!important}body>header.nav .nav-place i{display:block!important;flex:0 0 8px!important;width:8px!important;height:8px!important;border-radius:50%!important;background:#45c982!important;box-shadow:0 0 0 4px #45c98233!important}body>header.nav .nav-place span{display:block!important}body>header.nav .nav-place b{color:#14201b!important;font-size:12px!important;text-transform:none!important}
body>header.nav a,body>footer a{color:inherit!important;text-decoration:none!important}
body>header:not(.header):not(.nav){margin:14px 2vw 0;height:84px;border:1px solid #d2dbd4;border-radius:22px;background:#fff;padding:0 24px;box-shadow:0 14px 35px #20372b0d;position:sticky;top:12px;z-index:20;display:flex;align-items:center;gap:34px}
body>header:not(.header):not(.nav)>a:first-child{display:block;width:118px;height:68px}body>header:not(.header):not(.nav)>a:first-child img{width:100%;height:100%;object-fit:contain}
body>header:not(.header):not(.nav)>div{display:flex;flex-direction:column;font-size:14px}body>header:not(.header):not(.nav)>div span{font-weight:700}body>header:not(.header):not(.nav)>div b{font-size:12px;color:var(--muted)}body>header:not(.header):not(.nav)>a:last-child{margin-left:auto;font-size:14px;font-weight:700;color:var(--green-deep)}
body>header.header .logo{display:block;width:118px;height:68px;background:url('images/client-logo.png') center/contain no-repeat;font-size:0}
body>header.header .logo span,body>header.header .logo sup{display:none}
body>header.header nav,body>header.nav nav{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;display:flex!important;gap:30px!important;margin:0!important;font-size:15px!important;font-weight:700!important;white-space:nowrap!important}
body>header.header .header-cta,body>header.nav .book-mini{border-radius:14px;background:var(--green-deep,#18794a);color:#fff;padding:15px 20px;font-size:14px;font-weight:700}
body>header.header .header-cta,body>header.nav .book-mini{color:#fff!important}
body>header.nav .book-mini{height:46px;min-width:180px;display:flex;align-items:center;justify-content:center;gap:22px;white-space:nowrap;margin-left:auto!important}
body>footer{margin:0 2vw 20px;border-radius:32px;background:#13221b;color:#fff;padding:48px;display:flex;align-items:flex-start;justify-content:space-between;gap:30px}
body>footer>img{display:block!important;flex:0 0 125px!important;width:125px!important;height:95px!important;max-width:125px!important;max-height:95px!important;object-fit:contain!important}
body>footer>div:not(.legal){display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:30px!important;white-space:nowrap!important}body>footer>div:not(.legal) a{display:inline-block!important;white-space:nowrap!important}body>footer .legal{display:flex!important;flex-direction:row!important;gap:18px!important;flex-wrap:nowrap!important;white-space:nowrap!important}
body>footer>p{color:#89968d!important;white-space:nowrap!important;margin:0!important;line-height:1.4!important}
body>footer .logo{display:block;width:125px;height:95px;background:url('images/client-logo-dark.png') center/contain no-repeat;font-size:0}
body>footer .logo span,body>footer .logo sup{display:none}
body>footer a{color:inherit}
@media(max-width:700px){body>header.header,body>header.nav{margin:8px 10px 0;top:7px;height:72px;padding:0 14px;border-radius:17px}body>header.header nav,body>header.nav nav{display:none}body>header.header .logo{width:98px;height:58px}body>header.nav .nav-logo{flex-basis:98px;width:98px;height:58px}body>header.nav .nav-logo img{width:98px!important;height:58px!important;max-width:98px!important;max-height:58px!important}body>header.header .header-cta,body>header.nav .book-mini{margin-left:auto;padding:12px;font-size:13px}}
.location-data>div p{font-size:15px!important;line-height:1.5}
.location-data>div b,.location-data>div a{font-size:16px!important}
/* News card actions */
.news-preview .news-grid article{display:flex;flex-direction:column}
.news-preview .news-grid p{flex:1}
.news-preview .news-grid a{align-self:flex-start;margin:0 22px;padding:11px 16px;border-radius:10px;background:#16804e;color:#fff;display:inline-flex;align-items:center;font-size:15px;font-weight:700;text-decoration:none}
.news-preview .news-grid a:hover{background:#126a40}
.news-preview .show-more{background:none;padding:0;border-radius:0;color:#16804e;font-size:15px}

/* Booking console readability */
.booking-console .console-card>div{font-size:16px}
.booking-console .console-card>div i{width:11px;height:11px}
.booking-console .console-card p{font-size:17px;line-height:1.55}
.booking-console .console-card>a{font-size:16px;padding:17px 18px}
.booking-console .console-card>a b{font-size:18px}

/* Booking console eyebrow */
.booking-console>div:first-child>span{color:#fff}

/* Use-case card microcopy */
.case-list b{font-size:14px}
.case-list i{font-size:15px;line-height:1.5}

/* Schedule readability and spacing */
.schedule-title>span{font-size:14px}
.schedule-title p{font-size:16px;line-height:1.65;margin:28px 0 0}
.time-labels{font-size:13px}
.time-labels span:nth-child(3){transform:none}
.track b{font-size:15px}
.track span{font-size:14px}
.periods span{font-size:12px}

/* Cookie notice in the Space2Dance visual style */
.cookie-banner{position:fixed!important;left:50%!important;right:auto!important;bottom:22px!important;transform:translateX(-50%)!important;width:min(720px,calc(100% - 32px))!important;background:#fff!important;color:#14201b!important;padding:18px 20px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:18px!important;border:1px solid #d2dbd4!important;border-radius:18px!important;box-shadow:0 18px 48px #14251d2b!important;font:500 14px/1.45 Manrope,Arial,sans-serif!important}.cookie-banner:before{content:'';flex:0 0 10px;width:10px;height:10px;border-radius:50%;background:#45c982;box-shadow:0 0 0 5px #45c98230}.cookie-banner a{color:#18794a!important;font-weight:700;white-space:nowrap}.cookie-banner button{margin-left:auto!important;background:#14201b!important;color:#fff!important;border:0!important;padding:12px 20px!important;border-radius:11px!important;font:700 14px Manrope,Arial,sans-serif!important;cursor:pointer;white-space:nowrap}.cookie-banner button:hover{background:#18794a!important}@media(max-width:700px){.cookie-banner{bottom:12px!important;padding:16px!important;gap:12px!important;flex-wrap:wrap!important;font-size:13px!important}.cookie-banner:before{align-self:flex-start;margin-top:5px}.cookie-banner a{margin-right:auto}.cookie-banner button{width:100%;margin-left:0!important}}

/* One typography system on every public page, matching the homepage */
html,body,button,input,select,textarea{font-family:Manrope,Arial,sans-serif!important}h1,h2,h3,h4,h5,h6,.logo,.header nav,.header-cta,.button{font-family:Manrope,Arial,sans-serif!important}h1 em,h2 em,h3 em{font-family:inherit!important}

/* Floating phone video tour */
.phone-video .video-close{display:none!important}.phone-video .video-min{top:15px!important;left:13px!important;right:auto!important;bottom:auto!important}
.phone-video{right:22px!important;bottom:22px!important;width:210px!important;height:374px!important;border:7px solid #14201b;border-radius:30px!important;background:#14201b!important;box-shadow:0 22px 55px #1020194d!important;overflow:hidden;z-index:29!important;transition:width .25s,height .25s,border-radius .25s,transform .25s}.phone-video:after{content:'';position:absolute;inset:0;border:1px solid #ffffff22;border-radius:22px;pointer-events:none}.phone-video .phone-speaker{position:absolute;z-index:4;top:7px;left:50%;transform:translateX(-50%);width:54px;height:5px;border-radius:10px;background:#fff8}.phone-video video{display:block;width:100%;height:100%;object-fit:cover;background:#0c1612;cursor:pointer}.phone-video button{position:absolute;z-index:5;display:grid;place-items:center;border:0;cursor:pointer;font-family:Manrope,Arial,sans-serif}.phone-video .video-close,.phone-video .video-min{top:15px;width:30px;height:30px;border-radius:50%;background:#fff;color:#14201b;font-size:20px;box-shadow:0 5px 16px #0004}.phone-video .video-close{right:13px}.phone-video .video-min{left:13px;font-size:17px}.phone-video .video-play{left:50%;top:50%;transform:translate(-50%,-50%);width:82px;height:82px;border-radius:50%;background:#ffffffeb;color:#14201b}.phone-video .video-play span{font-size:24px;margin-left:4px}.phone-video .video-play small{position:absolute;top:91px;width:110px;color:#fff;font-size:13px;font-weight:700;text-shadow:0 2px 8px #000}.phone-video.is-playing .video-play{opacity:0;pointer-events:none}.phone-video .video-restore{display:none;inset:0;width:100%;height:100%;border-radius:50%;background:#18794a;color:#fff;font-size:20px}.phone-video.collapsed{width:58px!important;height:58px!important;border-width:4px;border-radius:50%!important}.phone-video.collapsed video,.phone-video.collapsed .phone-speaker,.phone-video.collapsed .video-close,.phone-video.collapsed .video-min,.phone-video.collapsed .video-play{display:none}.phone-video.collapsed .video-restore{display:grid}@media(max-width:700px){.phone-video{right:12px!important;bottom:12px!important;width:170px!important;height:302px!important;border-radius:25px!important}.phone-video .video-play{width:66px;height:66px}.phone-video .video-play small{top:76px}}

/* Photo gallery */
.gallery-masonry-page{padding:70px 2vw 100px}.gallery-masonry-page>h1{text-align:center;font-size:clamp(42px,5vw,72px);line-height:1;margin:0 0 50px;letter-spacing:-.055em}.masonry-grid{columns:4;column-gap:16px}.masonry-grid>a{display:block;margin:0 0 16px;break-inside:avoid;overflow:hidden;border-radius:18px;background:#dfe7e1;cursor:zoom-in}.masonry-grid img{display:block;width:100%;height:auto;transition:transform .35s ease}.masonry-grid>a:hover img{transform:scale(1.025)}@media(max-width:1100px){.masonry-grid{columns:3}}@media(max-width:700px){.gallery-masonry-page{padding:48px 10px 70px}.gallery-masonry-page>h1{margin-bottom:32px}.masonry-grid{columns:2;column-gap:10px}.masonry-grid>a{margin-bottom:10px;border-radius:12px}}

/* News listing */
.news-grid article[data-href]{cursor:pointer}.news-grid article[data-href]:focus-visible{outline:3px solid #45c982;outline-offset:4px}.news-card-link{display:inline-flex!important;align-self:flex-start;margin:22px 28px 0!important;padding:11px 16px;border-radius:10px;background:#18794a;color:#fff!important;font-size:15px;font-weight:700}.news-list-page .news-grid p{flex:1}
.news-list-page{padding:70px 6vw 110px}.news-list-page>h1{text-align:center;font-size:clamp(44px,5vw,72px);line-height:1;letter-spacing:-.055em;margin:0 0 48px}.news-list-page .news-grid{max-width:1680px;margin:0 auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.news-list-page .news-grid article{display:flex;flex-direction:column;min-width:0;padding:0 0 28px;border:1px solid #dce6df;border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 16px 40px #20372b10}.news-list-page .news-grid img{display:block;width:100%;height:clamp(300px,25vw,440px);object-fit:cover}.news-list-page .news-grid h2{margin:26px 28px 12px;font-size:clamp(23px,1.7vw,30px);line-height:1.15;letter-spacing:-.035em}.news-list-page .news-grid p{margin:0 28px;font-size:17px;line-height:1.6;color:#68756d}@media(max-width:950px){.news-list-page .news-grid{grid-template-columns:1fr 1fr}.news-list-page .news-grid article:last-child{grid-column:1/-1}.news-list-page .news-grid img{height:330px}}@media(max-width:650px){.news-list-page{padding:50px 14px 75px}.news-list-page>h1{margin-bottom:34px}.news-list-page .news-grid{grid-template-columns:1fr;gap:16px}.news-list-page .news-grid article:last-child{grid-column:auto}.news-list-page .news-grid img{height:280px}.news-list-page .news-grid h2{margin:22px 20px 10px}.news-list-page .news-grid p{margin:0 20px;font-size:16px}}

/* Individual news article */
.room-price-section{margin:55px 5vw 90px!important;padding:40px 5vw!important;border:0!important;border-radius:28px;background:#fff;box-shadow:0 16px 40px #20372b12;display:flex;align-items:center;justify-content:space-between}.room-price-section small{font-size:14px!important}.room-price-section strong{font-size:48px!important}.room-price-section .room-book-button{display:inline-flex!important;margin:22px 0 0!important;padding:16px 24px!important;border-radius:13px!important;background:#45c982!important;color:#14201b!important;font-size:16px!important;font-weight:700!important}.room-price-section .room-book-button b{display:none}@media(max-width:700px){.room-price-section{margin:20px 10px 40px!important;padding:28px 22px!important}.room-price-section strong{font-size:38px!important}}
.room-card[data-href]{cursor:pointer}.room-card[data-href]:focus-visible{outline:3px solid #45c982;outline-offset:5px}
.room-intro.room-intro-details{grid-template-columns:1fr}
.room-intro.room-intro-details{margin-left:2vw;margin-right:2vw;padding-left:0;padding-right:0;padding-top:42px;padding-bottom:28px}
.room-intro.room-intro-details>div:first-child{max-width:none;margin:0;width:100%}
.room-intro.room-intro-details>div:first-child>p:last-child{max-width:760px}
.room-intro.room-intro-details>div:first-child>p:last-child{display:none}
.room-intro.room-intro-details .eyebrow,.room-body .room-info>.eyebrow{display:none}
.room-body .room-info>.room-description{font-size:18px;line-height:1.75;max-width:620px}
.room-body .features span{font-size:14px;padding:11px 14px}
.room-specs span{font-size:12px}
.room-specs b{font-size:17px}
.room-specs>div{padding:22px 0}
@media(max-width:800px){.room-body .room-info>.room-description{font-size:17px}.room-body .features span{font-size:13px}.room-specs b{font-size:16px}}
.gallery{width:auto;margin:38px 2vw 0;padding-left:0;padding-right:0}
.room-body{margin-left:2vw;margin-right:2vw;padding-left:0;padding-right:0;padding-top:58px;padding-bottom:72px}
.room-price-section{margin:24px 2vw 60px!important}
.room-price-section:before{display:none!important}
.room-price-section .room-book-button,.room-price-section .room-book-button b,.room-price-section .room-book-button span{color:#fff!important}
.room-price-section{display:grid!important;grid-template-columns:minmax(0,1fr) auto;column-gap:32px;align-items:center;justify-content:stretch!important}
.room-price-section>small,.room-price-section>strong,.room-price-section>span{grid-column:1}
.room-price-section .room-book-button{grid-column:2;grid-row:1/4;margin:0!important;align-self:center;white-space:nowrap}
@media(max-width:700px){.room-price-section{grid-template-columns:1fr}.room-price-section .room-book-button{grid-column:1;grid-row:auto;margin-top:24px!important;justify-content:center}}
@media(max-width:800px){.gallery{margin:24px 10px 0;padding:0}.room-intro.room-intro-details,.room-body{margin-left:10px;margin-right:10px;padding-left:20px;padding-right:20px}.room-price-section{margin-left:10px!important;margin-right:10px!important}}
@media(max-width:600px){.room-intro h1{font-size:40px!important}}
:root{--bg:#f4f2eb}html,body{background:radial-gradient(circle at 15% 8%,#f8fbf8 0,transparent 27%),var(--bg)!important}
.page-hero.contacts-compact,.contacts-compact{display:block!important;text-align:center;padding:54px 2vw 42px!important}.contacts-compact .eyebrow,.contacts-compact>p:last-child{display:none}.contacts-compact h1{font-size:clamp(48px,6vw,82px)!important;margin:0!important}
.contact-grid{margin-left:2vw!important;margin-right:2vw!important;border-radius:28px;overflow:hidden}
.contact-map{margin-left:2vw!important;margin-right:2vw!important;width:auto;border-radius:28px;overflow:hidden}
.contact-map:before,.contact-map:after{display:none!important}
.contact-list a{font-size:26px!important}
.contact-list .contact-social{display:none!important}
.contact-list p{font-size:18px!important;line-height:1.7}
.contact-list small,.contact-form .eyebrow,.booking-form label{font-size:13px!important}
.contact-grid .booking-form h2{font-size:44px!important;line-height:1.05}
.contact-grid .booking-form input,.contact-grid .booking-form textarea{font-size:17px!important;padding:14px 0}
.contact-grid .booking-form .button{font-size:16px!important;padding:17px 22px}
.contact-grid .booking-form .button{color:#fff!important}
.contact-grid .booking-form .button{background:var(--green-deep,#18794a)!important}
.contact-grid .booking-form .button{border-radius:14px!important}
.contact-grid .booking-form .button{transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease}.contact-grid .booking-form .button.is-sent{background:#2fd886!important;box-shadow:0 0 0 5px #2fd88626,0 12px 28px #2fd88638;transform:translateY(-1px)}.contact-grid .booking-form .button.is-error{background:#b94a48!important}.contact-grid .booking-form .button:disabled{cursor:default}
.booking-workspace .progress span{font-size:0!important}
.booking-workspace .slots label.occupied span{background:#f3e6e6!important;border:1px dashed #c98585!important;color:#9b4d4d!important;cursor:not-allowed!important;opacity:.8}.booking-workspace .slots label.occupied span small{color:#a55b5b!important;font-weight:700}.booking-workspace .slots label.occupied:after{content:'×';position:absolute;top:5px;right:8px;color:#a55b5b;font-weight:700}.booking-workspace .slots label.occupied{position:relative;cursor:not-allowed}.booking-workspace .slots label.occupied input{pointer-events:none}
.month-controls{display:flex;align-items:center;gap:8px}.month-controls b{min-width:112px;text-align:center;font-size:12px}.month-controls button{width:30px;height:30px;border:1px solid #d6ded8;border-radius:9px;background:#f7faf8;color:#14201b;font:600 20px/1 Manrope,Arial,sans-serif;cursor:pointer;transition:.2s}.month-controls button:hover:not(:disabled){background:#18794a;color:#fff;border-color:#18794a}.month-controls button:disabled{opacity:.28;cursor:not-allowed}
.contact-grid .booking-form .button span{color:#fff!important}
.contact-grid .booking-form>.eyebrow{display:none!important}
@media(max-width:800px){.contact-grid{margin-left:10px!important;margin-right:10px!important}.contact-list a{font-size:22px!important}.contact-list p{font-size:17px!important}.contact-grid .booking-form h2{font-size:36px!important}}
@media(max-width:800px){.contact-map{margin-left:10px!important;margin-right:10px!important}}
.location-data>div{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.location-data .location-email{grid-column:1/-1;margin-top:4px}.location-data .location-email a{font-size:clamp(13px,1.05vw,17px);overflow-wrap:anywhere}@media(max-width:700px){.location-data>div{grid-template-columns:1fr 1fr}.location-data .location-email{grid-column:1/-1}}
.news-article{margin:40px 2vw 80px;padding:64px 7vw 90px;background:#fff;border-radius:30px;box-shadow:0 18px 45px #20372b12}.article-back{display:inline-flex;margin-bottom:48px;color:#18794a;font-size:15px;font-weight:700}.article-kicker{margin:0 0 15px;color:#18794a;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.news-article>h1{max-width:1100px;margin:0 0 26px;font-size:clamp(42px,6vw,86px);line-height:.98;letter-spacing:-.065em}.article-lead{max-width:900px;margin:0 0 50px;color:#627068;font-size:clamp(18px,2vw,24px);line-height:1.55}.article-cover{display:block;width:100%;height:clamp(380px,52vw,760px);object-fit:cover;border-radius:24px}.article-body{max-width:980px;margin:70px auto 0}.article-body h2{margin:48px 0 18px;font-size:clamp(28px,4vw,48px);line-height:1.08;letter-spacing:-.045em}.article-body p{margin:0 0 22px;color:#58665e;font-size:18px;line-height:1.8}.article-cta{display:inline-flex;margin-top:20px;padding:16px 22px;border-radius:13px;background:#18794a;color:#fff;font-size:16px;font-weight:700}@media(max-width:700px){.news-article{margin:20px 10px 50px;padding:38px 20px 55px;border-radius:22px}.article-back{margin-bottom:34px}.article-cover{height:300px;border-radius:16px}.article-body{margin-top:45px}.article-body p{font-size:16px}}
.finder button{justify-content:center!important;text-align:center;cursor:pointer}
@media(max-width:700px){
  body>header.nav,body>header.header{display:grid!important;grid-template-columns:76px minmax(0,1fr) 48px!important;align-items:center!important;gap:8px!important;height:68px!important;margin:8px 10px 0!important;padding:0 10px!important;border-radius:16px!important;overflow:hidden!important}
  body>header.nav .nav-logo,body>header.header .logo{width:76px!important;height:54px!important;min-width:0!important;flex:none!important}
  body>header.nav .nav-logo img{width:76px!important;height:54px!important;max-width:76px!important;max-height:54px!important}
  body>header.nav .nav-place{display:none!important}
  body>header.nav nav,body>header.header nav{position:static!important;transform:none!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:18px!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap!important;scrollbar-width:none!important;font-size:12px!important}
  body>header.nav nav::-webkit-scrollbar,body>header.header nav::-webkit-scrollbar{display:none}
  body>header.nav nav a,body>header.header nav a{flex:0 0 auto!important;padding:8px 0!important}
  body>header.nav .book-mini,body>header.header .header-cta{width:48px!important;min-width:48px!important;height:44px!important;margin:0!important;padding:0!important;border-radius:12px!important;display:grid!important;place-items:center!important;font-size:0!important}
  body>header.nav .book-mini span,body>header.header .header-cta span{display:block!important;font-size:17px!important}
}

/* Extra-small screens: keep the navigation on its own row so nothing overlaps. */
@media(max-width:600px){
  body>header.nav,body>header.header{
    grid-template-columns:minmax(0,1fr) 48px!important;
    grid-template-areas:"brand action" "menu menu"!important;
    align-content:center!important;
    row-gap:2px!important;
    height:104px!important;
    padding:7px 10px!important;
  }
  body>header.nav .nav-logo,body>header.header .logo{grid-area:brand!important;align-self:center!important}
  body>header.nav nav,body>header.header nav{
    grid-area:menu!important;
    width:100%!important;
    height:34px!important;
    gap:20px!important;
    font-size:13px!important;
    border-top:1px solid #e5ebe7!important;
    padding-top:2px!important;
  }
  body>header.nav .book-mini,body>header.header .header-cta{grid-area:action!important;justify-self:end!important}
}

/* Cap the schedule heading size on mobile. */
@media(max-width:600px){
  body .schedule-title h2{
    font-size:clamp(28px,9vw,36px)!important;
  }
  body .booking-console h2{
    font-size:clamp(28px,9vw,36px)!important;
  }
  body .time-labels{
    display:none!important;
  }
}

/* Keep the address/location block readable on narrow screens. */
@media(max-width:600px){
  body .location-data{
    padding:42px 22px!important;
  }
  body .location h2{
    width:100%!important;
    max-width:100%!important;
    margin:12px 0 28px!important;
    font-size:clamp(38px,11vw,48px)!important;
    line-height:.92!important;
    letter-spacing:-.07em!important;
    overflow-wrap:anywhere!important;
  }
  body .location-data>div{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:24px 18px!important;
    margin-top:0!important;
  }
  body .location-data>div>div{min-width:0!important}
  body .location p,
  body .location b,
  body .location a{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }
  body .location p{font-size:14px!important;line-height:1.5!important}
  body .location b,body .location a{font-size:15px!important}
}
@media(max-width:380px){
  body .location h2{font-size:36px!important}
  body .location-data{padding-left:18px!important;padding-right:18px!important}
  body .location-data>div{grid-template-columns:1fr!important}
}
@media(max-width:600px){
  body>header.nav,body>header.header{grid-template-columns:minmax(0,1fr) 44px!important;grid-template-areas:"brand toggle"!important;height:68px!important;align-content:center!important;row-gap:0!important;padding:7px 10px!important;overflow:visible!important}
  body>header.nav .nav-logo,body>header.header .logo{grid-area:brand!important}
  body>header.nav .nav-place{display:none!important}
  body>header.nav .book-mini,body>header.header .header-cta{display:none!important}
  body>header.nav .nav-toggle,body>header.header .nav-toggle{grid-area:toggle!important;display:grid!important;place-items:center!important;width:44px!important;height:44px!important;border:0!important;border-radius:12px!important;background:#f0f5f1!important;color:#18794a!important;padding:9px!important;cursor:pointer!important}
  body>header.nav .nav-toggle span,body>header.header .nav-toggle span{display:block!important;width:20px!important;height:2px!important;border-radius:2px!important;background:currentColor!important;transition:transform .2s,opacity .2s!important}
  body>header.nav nav,body>header.header nav{grid-area:auto!important;position:absolute!important;left:10px!important;right:10px!important;top:calc(100% + 8px)!important;display:none!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;width:auto!important;height:auto!important;max-height:70vh!important;overflow:auto!important;padding:8px!important;border:1px solid #dce6df!important;border-radius:14px!important;background:#fff!important;box-shadow:0 14px 30px #20372b1c!important;transform:none!important;z-index:40!important}
  body>header.nav.menu-open nav,body>header.header.menu-open nav{display:flex!important}
  body>header.nav nav a,body>header.header nav a{display:block!important;padding:13px 12px!important;border-radius:9px!important;font-size:14px!important}
  body>header.nav nav a:hover,body>header.header nav a:hover{background:#f0f5f1!important}
  body>header.nav.menu-open .nav-toggle span:nth-child(1),body>header.header.menu-open .nav-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)!important}
  body>header.nav.menu-open .nav-toggle span:nth-child(2),body>header.header.menu-open .nav-toggle span:nth-child(2){opacity:0!important}
  body>header.nav.menu-open .nav-toggle span:nth-child(3),body>header.header.menu-open .nav-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)!important}
}
@media(min-width:601px){body>header.nav .nav-toggle,body>header.header .nav-toggle{display:none!important}}

/* Mobile footer: stack content and allow every link to wrap cleanly. */
@media(max-width:700px){
  body>footer{
    margin:0 10px 10px!important;
    padding:28px 22px 88px!important;
    border-radius:24px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    justify-items:start!important;
    align-items:start!important;
    gap:20px!important;
    overflow:hidden!important;
  }
  body>footer>*{
    grid-column:1/-1!important;
  }
  body>footer>img,
  body>footer>.logo{
    order:1!important;
    width:120px!important;
    height:82px!important;
    max-width:120px!important;
    max-height:82px!important;
    object-fit:contain!important;
  }
  body>footer>p{
    order:2!important;
    width:100%!important;
    margin:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    font-size:14px!important;
    line-height:1.5!important;
  }
  body>footer>div:not(.legal){
    order:3!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    gap:12px!important;
    white-space:normal!important;
  }
  body>footer>div:not(.legal) a{
    display:block!important;
    min-width:0!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    font-size:15px!important;
    line-height:1.35!important;
  }
  body>footer .legal{
    order:4!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    gap:11px!important;
    padding-top:16px!important;
    border-top:1px solid rgba(255,255,255,.16)!important;
    white-space:normal!important;
  }
  body>footer .legal a{
    display:block!important;
    min-width:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    font-size:13px!important;
    line-height:1.4!important;
  }
}
