.page-hero,.room-intro{padding:90px 11vw 80px;display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:end}.page-hero h1,.room-intro h1{font-size:clamp(58px,7vw,105px);line-height:.94;letter-spacing:-.07em;margin:0}.page-hero h1 em,.room-intro h1 em{font-family:'Playfair Display',serif;font-weight:600}.page-hero>p:last-child,.room-intro>div>p:last-child{font-size:15px;line-height:1.75;color:#5c665e;max-width:360px;margin:0 0 5px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;margin:0 4.2vw 110px;background:#e5e7dc}.contact-list{padding:50px 7vw}.contact-list>div{padding:21px 0;border-bottom:1px solid #c8ccc3}.contact-list small,.room-price small,.room-specs span{display:block;font:10px Manrope,Arial,sans-serif;color:#718076;text-transform:uppercase;margin-bottom:8px}.contact-list a{font-size:21px;font-weight:700;letter-spacing:-.05em}.contact-list p{font-size:14px;line-height:1.6;margin:0}.contact-social{display:flex;gap:25px}.contact-social a{font-size:12px}.booking-form{padding:50px 7vw;background:var(--ink);color:white;display:flex;flex-direction:column;gap:22px}.booking-form h2{font-size:34px;margin:0 0 13px}.booking-form .eyebrow{color:#c7d0c7}.booking-form label{font:10px Manrope,Arial,sans-serif;text-transform:uppercase;color:#a9b3aa}.booking-form input,.booking-form textarea,.booking-form select{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #647268;padding:10px 0;color:#fff;font:13px Manrope,sans-serif;outline:0;resize:vertical}.booking-form select option{color:var(--ink)}.booking-form .button{margin-top:5px;align-self:start}.contact-map{height:480px;filter:grayscale(.85)}.contact-map iframe{width:100%;height:100%;border:0}.room-intro{padding-bottom:55px}.room-price{border-left:1px solid var(--line);padding:13px 0 13px 48px}.room-price strong{display:block;font-size:42px;letter-spacing:-.07em}.room-price>span{display:block;font-size:12px;color:#737c74;margin:5px 0 24px}.gallery{padding:0 4.2vw;display:grid;grid-template-columns:2fr 1fr;grid-template-rows:245px 245px;gap:14px}.gallery-main{grid-row:1/3;background:url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1500&q=85') center/cover}.gallery-side.one{background:url('https://images.unsplash.com/photo-1497366216548-37526070297c?auto=format&fit=crop&w=900&q=80') center/cover}.gallery-side.two{background:url('https://images.unsplash.com/photo-1497366811353-6870744d04b2?auto=format&fit=crop&w=900&q=80') center/cover}.room-body{padding:130px 11vw;display:grid;grid-template-columns:1.2fr .8fr;gap:10vw}.room-info h2{font-size:57px}.room-description{font-size:15px;line-height:1.75;color:#5d665e;max-width:430px;margin:32px 0}.features{display:flex;flex-wrap:wrap;gap:9px;max-width:520px}.features span{border:1px solid #c6cbc3;padding:9px 11px;font-size:11px}.room-specs>div{border-bottom:1px solid var(--line);padding:17px 0}.room-specs b{font-size:14px}.booking{padding:80px 11vw;background:#e5e7dc;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.booking h2{font-size:58px}.booking>div>p:last-child{font-size:14px;color:#616a62;line-height:1.7;max-width:340px}.booking .booking-form{padding:35px}.booking-form textarea{height:60px}@media(max-width:800px){.page-hero,.room-intro,.contact-grid,.room-body,.booking{display:block;padding:65px 20px}.page-hero>p:last-child,.room-intro>div>p:last-child{margin-top:35px}.contact-grid{margin:0}.contact-list,.booking-form{padding:40px 25px}.contact-map{height:350px}.room-price{border-left:0;border-top:1px solid var(--line);padding:30px 0 0;margin-top:35px}.gallery{padding:0 20px;grid-template-columns:1fr;grid-template-rows:330px 180px 180px}.gallery-main{grid-row:auto}.room-body{padding-top:80px}.room-info h2,.booking h2{font-size:47px}.room-specs{margin-top:50px}.booking{padding:65px 20px}.booking .booking-form{margin-top:35px;padding:30px}.page-hero h1,.room-intro h1{font-size:64px}}

.gallery-main,.gallery-side{transition:transform .6s cubic-bezier(.16,1,.3,1),filter .4s}.gallery{overflow:hidden}.gallery-main:hover,.gallery-side:hover{transform:scale(1.025);filter:brightness(1.08)}.room-price{position:relative}.room-price:before{content:'01';position:absolute;right:0;top:-18px;font:10px Manrope,Arial,sans-serif;color:#198e52}.booking{background:radial-gradient(circle at 85% 20%,#f6ffe0 0,transparent 30%),#e5e7dc}.booking-form{box-shadow:22px 22px 0 #cdd0c4}.contact-map{position:relative}.contact-map:after{content:"";position:absolute;z-index:3;left:50%;top:50%;width:22px;height:22px;border:4px solid var(--lime);border-radius:50% 50% 50% 0;background:var(--ink);transform:translate(-50%,-58%) rotate(-45deg);pointer-events:none}.contact-map:before{content:'НАШ АДРЕС · НАШ АДРЕС · НАШ АДРЕС';position:absolute;z-index:2;top:18px;left:20px;background:var(--lime);padding:9px 12px;font:10px Manrope,Arial,sans-serif;letter-spacing:.1em}.contact-list a{transition:color .2s}.contact-list a:hover{color:#7f9c0a}@media(max-width:800px){.booking-form{box-shadow:10px 10px 0 #cdd0c4}}
.booking-head{padding:75px 11vw;display:grid;grid-template-columns:1fr .75fr;gap:11vw;align-items:end}.booking-head h1{font-size:clamp(58px,7vw,100px);line-height:.93;letter-spacing:-.07em;margin:0}.booking-head h1 em{font-family:'Playfair Display',serif;font-weight:600}.booking-head>div>p:last-child{color:#667067;font-size:14px;line-height:1.7;max-width:360px;margin:32px 0 0}.booking-object{border:1px solid var(--line);background:#fff;padding:12px;display:grid;grid-template-columns:105px 1fr;gap:14px}.booking-object-photo{height:112px;background:url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=500&q=75') center/cover}.booking-object small,.booking-object span{display:block;color:#748077;font:9px Manrope,Arial,sans-serif;text-transform:uppercase}.booking-object b{display:block;font-size:15px;margin:8px 0 5px}.booking-object strong{display:block;font-size:12px;margin-top:9px}.booking-object a{grid-column:1/3;border-top:1px solid var(--line);padding-top:10px;font-size:11px;font-weight:800}.booking-layout{padding:0 11vw 110px;display:grid;grid-template-columns:1fr 280px;gap:55px}.full-booking-form{background:#fff;padding:0 38px 38px;border:1px solid var(--line)}.full-booking-form fieldset{border:0;border-bottom:1px solid var(--line);padding:32px 0;margin:0}.full-booking-form legend{font-size:20px;font-weight:800;letter-spacing:-.05em}.full-booking-form legend span{font:10px Manrope,Arial,sans-serif;color:#7a887b;margin-right:13px}.field-hint{font-size:12px;color:#707a71;margin:10px 0 18px}.date-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.date-card input,.time-grid input,.visit-grid input{position:absolute;opacity:0}.date-card span{display:block;border:1px solid var(--line);padding:13px 10px;cursor:pointer}.date-card b,.date-card small{display:block}.date-card b{font-size:12px}.date-card small{font-size:10px;color:#758075;margin-top:3px}.date-card input:checked+span,.time-grid input:checked+span,.visit-grid input:checked+span{border-color:var(--ink);background:var(--lime);box-shadow:inset 0 0 0 1px var(--ink)}.custom-date{display:flex;align-items:center;gap:15px;margin-top:13px;font-size:12px;font-weight:700}.custom-date input{font:12px Manrope,sans-serif;border:0;border-bottom:1px solid var(--line);padding:7px}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.time-grid label{position:relative}.time-grid span{display:block;border:1px solid var(--line);text-align:center;padding:11px 5px;font-size:12px;font-weight:700;cursor:pointer}.time-grid small{font-size:8px;color:#9a6259}.time-grid .time-busy span{opacity:.4;background:#eee;cursor:not-allowed}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.visit-grid label{position:relative}.visit-grid span{display:block;border:1px solid var(--line);padding:15px;cursor:pointer}.visit-grid b,.visit-grid small{display:block}.visit-grid b{font-size:13px}.visit-grid small{font-size:11px;color:#717a71;line-height:1.45;margin-top:6px}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.details-grid label,.comment-label{font:10px Manrope,Arial,sans-serif;text-transform:uppercase;color:#778176}.details-grid small{font-size:8px}.details-grid input,.comment-label textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--line);padding:10px 0;color:var(--ink);font:13px Manrope,sans-serif;outline:0}.comment-label{display:block;margin-top:20px}.comment-label textarea{height:65px;resize:vertical}.check{display:flex;gap:10px;font-size:10px;line-height:1.5;color:#69736a;margin:23px 0}.check input{accent-color:var(--ink)}.booking-submit{width:100%}.booking-summary{height:max-content;background:var(--ink);color:#fff;padding:28px;position:sticky;top:20px}.booking-summary .eyebrow{color:#c8d1c8}.booking-summary>div{border-bottom:1px solid #435149;padding:13px 0}.booking-summary span{display:block;font:9px Manrope,Arial,sans-serif;text-transform:uppercase;color:#a9b3a9;margin-bottom:6px}.booking-summary b{font-size:13px}.booking-summary hr{border:0;border-top:1px solid #435149;margin:18px 0}.booking-summary p:not(.eyebrow){font-size:11px;color:#b7c0b6;line-height:1.6}.booking-summary a{font-size:11px;font-weight:800;border-bottom:1px solid var(--lime);padding-bottom:4px}@media(max-width:800px){.booking-head,.booking-layout{display:block;padding:55px 20px}.booking-object{margin-top:40px}.booking-layout{padding-top:0}.full-booking-form{padding:0 20px 25px}.date-grid{grid-template-columns:1fr 1fr}.time-grid{grid-template-columns:repeat(3,1fr)}.visit-grid,.details-grid{grid-template-columns:1fr}.booking-summary{position:static;margin-top:25px}.booking-head h1{font-size:61px}}

/* Readability upgrade */
body{font-size:16px}.topline{font-size:11px}.header nav,.header-cta{font-size:14px}.eyebrow{font-size:11px}.hero-text,.statement-footer p,.map-copy>p:not(.eyebrow){font-size:16px}.trust span,.trust small{font-size:11px}.card-bottom p{font-size:10px}.card-bottom h3{font-size:19px}.card-bottom strong{font-size:14px}.filter label{font-size:11px}.filter input,.filter select{font-size:15px}.form-note{font-size:10px}.numbers p,.process li p{font-size:13px}.process li b{font-size:16px}footer div{font-size:13px}.booking-head{background:linear-gradient(115deg,#eef0e7 0%,#f4f2eb 57%,#45c982 170%);position:relative}.booking-head:after{content:'01';position:absolute;right:5vw;top:35px;font:clamp(100px,16vw,240px) Manrope,Arial,sans-serif;letter-spacing:-.15em;color:#17251f0b;pointer-events:none}.booking-head>*{position:relative;z-index:1}.booking-head h1{font-size:clamp(65px,7.6vw,112px)}.booking-head>div>p:last-child{font-size:17px;max-width:420px}.booking-object{box-shadow:12px 12px 0 #17251f;transform:translateY(18px)}.booking-object b{font-size:17px}.booking-object strong{font-size:14px}.booking-layout{background:#f4f2eb;gap:42px}.full-booking-form{border:0;box-shadow:0 14px 45px #1b2a2020;padding:4px 46px 46px}.full-booking-form fieldset{padding:40px 0}.full-booking-form legend{font-size:25px}.full-booking-form legend span{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:50%;background:var(--lime);color:var(--ink);margin-right:12px;font-size:11px}.field-hint{font-size:14px;margin:12px 0 22px}.date-grid{gap:12px}.date-card span{min-height:86px;padding:17px 14px;transition:.2s}.date-card b{font-size:15px}.date-card small{font-size:12px}.date-card span:hover,.time-grid span:hover,.visit-grid span:hover{border-color:#637161;background:#f7faee}.custom-date{font-size:14px;margin-top:18px}.custom-date input{font-size:14px}.time-grid{gap:11px}.time-grid span{padding:16px 6px;font-size:16px}.time-grid small{font-size:10px}.visit-grid{gap:13px}.visit-grid span{min-height:112px;padding:20px}.visit-grid b{font-size:16px}.visit-grid small{font-size:13px}.details-grid{gap:24px}.details-grid label,.comment-label{font-size:11px}.details-grid input,.comment-label textarea{padding:13px 0;font-size:15px}.check{font-size:12px;line-height:1.6}.booking-submit{font-size:15px;padding:21px}.booking-summary{padding:31px;box-shadow:12px 12px 0 var(--lime)}.booking-summary>div{padding:17px 0}.booking-summary span{font-size:10px}.booking-summary b{font-size:15px}.booking-summary p:not(.eyebrow),.booking-summary a{font-size:12px}@media(max-width:800px){body{font-size:15px}.booking-head{padding-top:58px}.booking-head:after{right:12px;top:18px;font-size:130px}.booking-head h1{font-size:64px}.booking-head>div>p:last-child{font-size:16px}.booking-object{box-shadow:7px 7px 0 #17251f;transform:none}.full-booking-form{padding:3px 23px 28px;box-shadow:none}.full-booking-form fieldset{padding:30px 0}.full-booking-form legend{font-size:22px}.date-card span{min-height:76px;padding:14px 10px}.time-grid span{font-size:15px;padding:14px 5px}.visit-grid span{min-height:auto}.booking-summary{box-shadow:7px 7px 0 var(--lime)}}
/* Refined booking form */
.booking-layout{gap:34px;align-items:start}.full-booking-form{padding:8px 48px 48px;border:1px solid #dde1d7;border-radius:20px;box-shadow:0 18px 48px #1b2a2012}.full-booking-form fieldset{padding:36px 0}.full-booking-form legend{font-size:23px;letter-spacing:-.045em}.full-booking-form legend span{width:28px;height:28px;background:#e8eee1;color:#526057}.field-hint{margin:9px 0 20px;color:#7b857c}.date-grid,.time-grid{gap:10px}.date-card span,.time-grid span,.visit-grid span{border-color:#d9ded4;border-radius:10px;background:#fbfcf9;transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.date-card span{min-height:82px;padding:15px 13px}.date-card span:hover,.time-grid span:hover,.visit-grid span:hover{border-color:#9eab9f;background:#fff;transform:translateY(-2px);box-shadow:0 8px 17px #1b2a200b}.date-card input:checked+span,.time-grid input:checked+span,.visit-grid input:checked+span{border-color:#17251f;background:#17251f;color:#fff;box-shadow:0 8px 18px #17251f22}.date-card input:checked+span small,.visit-grid input:checked+span small{color:#d2dbd0}.time-grid span{padding:14px 6px}.time-grid .time-busy span{background:#f0f1ed;border-color:#e0e3dc;box-shadow:none}.custom-date{padding:13px 15px;border:1px dashed #cfd6cb;border-radius:10px;background:#fafbf8}.custom-date input{margin-left:auto;background:transparent}.visit-grid{gap:12px}.visit-grid span{min-height:106px;padding:18px}.details-grid{gap:15px}.details-grid label,.comment-label{padding:11px 13px 0;border:1px solid #dde2d9;border-radius:10px;background:#fafbf8;color:#69766c;transition:border-color .2s ease,box-shadow .2s ease}.details-grid label:focus-within,.comment-label:focus-within{border-color:#6f806f;background:#fff;box-shadow:0 0 0 3px #45c98257}.details-grid input,.comment-label textarea{border:0;padding:7px 0 11px;background:transparent}.comment-label{margin-top:15px}.comment-label textarea{height:58px}.check{padding:14px 15px;border-radius:10px;background:#f2f4ee;margin:24px 0 18px}.check input{margin-top:2px}.booking-submit{border-radius:10px;background:#17251f;color:#fff;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.booking-submit:hover{background:#263b31;box-shadow:0 10px 20px #17251f24}.booking-summary{border-radius:16px;box-shadow:0 16px 35px #17251f1f}.booking-summary:before{content:'';display:block;width:38px;height:3px;background:var(--lime);margin-bottom:21px}.booking-summary .eyebrow{margin-top:0}@media(max-width:800px){.full-booking-form{padding:4px 20px 27px;border-radius:14px}.full-booking-form fieldset{padding:29px 0}.date-card span{min-height:76px}.details-grid{gap:11px}.booking-summary{border-radius:14px}}

/* Breathing room between the booking intro and the form. */
.booking-layout{padding-top:56px}
@media(max-width:800px){.booking-layout{padding-top:34px}}

/* Authentic Space2Dance photography */
.gallery-main{background-image:url('images/space2dance/room6.jpg')}.gallery-side.one{background-image:url('images/space2dance/room4.jpg')}.gallery-side.two{background-image:url('images/space2dance/room7.jpg')}.booking-object-photo{background-image:url('images/space2dance/room2.jpg')}


