:root{--ink:#24332f;--muted:#6d7974;--forest:#23483c;--forest-deep:#17362e;--red:#a63735;--red-dark:#842a29;--cream:#f6f0e7;--soft:#f3f6f3;--line:#dfe5e1;--white:#fff;--shadow:0 22px 60px #20362e24;--serif:Georgia, "Times New Roman", serif;--sans:Inter, "Segoe UI", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{color:var(--ink);background:var(--white);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}body,button,input,select,textarea{font-family:var(--sans)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}.container{width:min(1180px,100% - 40px);margin-inline:auto}.site-header{z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff2;border-bottom:1px solid #1e3f3417;height:78px;position:sticky;top:0}.header-inner{align-items:center;gap:30px;height:100%;display:flex}.brand{flex:none;align-items:center;gap:11px;display:inline-flex}.brand-mark{color:#fff;background:var(--forest);width:42px;height:42px;font:22px/1 var(--serif);border-radius:50% 50% 47% 53%/54% 48% 52% 46%;place-items:center;display:grid;transform:rotate(-4deg)}.brand>span:last-child{gap:1px;display:grid}.brand strong{font:19px/1.1 var(--serif)}.brand small{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:9px;font-weight:700}.main-nav{align-items:center;gap:23px;margin-left:auto;display:flex}.main-nav a{font-size:13px;font-weight:600;position:relative}.main-nav a:after{content:"";background:var(--red);height:2px;transition:right .18s;position:absolute;bottom:-7px;left:0;right:100%}.main-nav a:hover:after{right:0}.header-actions{align-items:center;gap:16px;display:flex}.header-phone{text-align:right;gap:2px;display:grid}.header-phone small{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:700}.header-phone strong{white-space:nowrap;font-size:14px}.button{border:1px solid var(--red);color:#fff;background:var(--red);cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:0 22px;font-size:13px;font-weight:700;transition:all .18s;display:inline-flex;box-shadow:0 12px 30px #a6373533}.button:hover{border-color:var(--red-dark);background:var(--red-dark);transform:translateY(-1px)}.button svg,.text-link svg,.card-body a svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:19px}.button-small{min-height:42px;padding-inline:16px}.menu-button{width:44px;height:44px;color:var(--ink);background:var(--soft);border:0;border-radius:10px;padding:11px;display:none}.menu-button span{background:currentColor;height:2px;margin:4px 0;display:block}.hero{background:#25473d;align-items:center;min-height:690px;display:flex;position:relative;overflow:hidden}.hero>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero>img.is-unavailable{opacity:0}.hero-overlay{background:linear-gradient(90deg,#0e251ee8 0%,#0e251ea6 43%,#0e251e1f 78%),linear-gradient(#0000 54%,#0e251e6b);position:absolute;inset:0}.hero-content{z-index:1;color:#fff;padding-block:90px 72px;position:relative}.eyebrow{color:var(--red);letter-spacing:.2em;text-transform:uppercase;margin:0 0 15px;font-size:11px;font-weight:700}.eyebrow.light{color:#f2c7b8}.hero h1{max-width:700px;font:clamp(54px, 7.2vw, 96px)/1.02 var(--serif);letter-spacing:-.04em;margin:0}.hero-lead{color:#ffffffdb;max-width:620px;margin:24px 0 0;font-size:clamp(17px,2vw,21px);line-height:1.55}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.button-ghost{box-shadow:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border-color:#fff6}.button-ghost:hover{background:#ffffff29;border-color:#fffc}.button-ghost svg{fill:none;stroke:currentColor;stroke-width:1.6px}.hero-facts{border-top:1px solid #ffffff38;grid-template-columns:repeat(3,1fr);max-width:670px;margin-top:60px;padding-top:24px;display:grid}.hero-facts span{color:#ffffffa6;letter-spacing:.03em;gap:3px;font-size:11px;display:grid}.hero-facts strong{color:#fff;font-size:14px}.quick-benefits{border-bottom:1px solid var(--line);background:#fff}.benefits-grid{grid-template-columns:repeat(4,1fr);display:grid}.benefits-grid article{border-right:1px solid var(--line);align-items:flex-start;gap:16px;min-height:132px;padding:30px 24px;display:flex}.benefits-grid article:first-child{border-left:1px solid var(--line)}.benefits-grid article>span{color:var(--red);font:16px/1 var(--serif)}.benefits-grid strong{margin-bottom:7px;font-size:14px;display:block}.benefits-grid p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.section{padding:100px 0}.section-heading{grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);align-items:end;gap:50px;margin-bottom:44px;display:grid}h2{font:clamp(34px, 4.3vw, 54px)/1.15 var(--serif);letter-spacing:-.03em;margin:0}.section-heading>p,.feature-copy>p,.restaurant-copy>p,.reviews-copy>p{color:var(--muted);margin:0;font-size:15px;line-height:1.8}.rooms-grid{grid-template-columns:repeat(2,1fr);gap:26px;display:grid}.room-card{border:1px solid var(--line);background:#fff;border-radius:22px;transition:all .22s;overflow:hidden}.room-card:hover{box-shadow:var(--shadow);transform:translateY(-5px)}.card-image{background:var(--soft);height:340px;overflow:hidden}.card-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.card-image img.is-unavailable{opacity:0}.room-card:hover .card-image img{transform:scale(1.025)}.card-body{padding:28px 30px 30px}.card-kicker{color:var(--red);letter-spacing:.13em;text-transform:uppercase;margin:0 0 8px;font-size:10px;font-weight:700}.card-body h3{font:30px/1.2 var(--serif);margin:0}.card-body>p:not(.card-kicker){min-height:50px;color:var(--muted);margin:14px 0 22px;font-size:14px;line-height:1.7}.card-body a,.text-link{color:var(--red);align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.section-warm{background:var(--cream)}.split-feature{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);align-items:center;gap:clamp(48px,8vw,100px);display:grid}.feature-image{background:#ded8ce;border-radius:22px;height:590px;position:relative;overflow:hidden}.feature-image img{object-fit:cover;width:100%;height:100%}.feature-image img.is-unavailable{opacity:0}.image-note{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1a372ee0;border-radius:14px;gap:2px;min-width:180px;padding:18px 20px;display:grid;position:absolute;bottom:24px;left:24px}.image-note strong{font:24px/1.2 var(--serif)}.image-note span{color:#ffffffb8;font-size:10px}.feature-copy h2,.restaurant-copy h2,.reviews-copy h2{margin-bottom:25px}.check-list{gap:14px;margin:28px 0;padding:0;list-style:none;display:grid}.check-list li{padding-left:28px;font-size:13px;font-weight:600;position:relative}.check-list li:before{content:"✓";color:#fff;background:var(--forest);border-radius:50%;place-items:center;width:19px;height:19px;font-size:10px;display:grid;position:absolute;top:-2px;left:0}.restaurant-layout{grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(45px,7vw,90px);display:grid}.meal-times{gap:12px;margin-top:30px;display:grid}.meal-times span{border-bottom:1px solid var(--line);color:var(--muted);grid-template-columns:115px 1fr;align-items:center;padding-bottom:12px;font-size:12px;display:grid}.meal-times strong{color:var(--forest);font-size:13px}.restaurant-images{grid-template-columns:1fr .7fr;align-items:end;gap:16px;min-height:610px;display:grid}.restaurant-images img{object-fit:cover;background:var(--soft);border-radius:22px;width:100%;height:520px}.restaurant-images img:last-child{height:380px}.restaurant-images img.is-unavailable{opacity:0}.booking-section{color:#fff;background:radial-gradient(circle at 85% 0%, #608b7861, transparent 30%), var(--forest-deep);padding:94px 0 105px}.booking-intro{text-align:center;margin-bottom:32px}.booking-intro h2{color:#fff}.booking-intro>p:last-child{color:#ffffffad;max-width:600px;margin:15px auto 0;font-size:14px;line-height:1.7}.booking-shell{max-width:1030px}.booking-shell>div{min-height:320px}.corporate-section{background:var(--forest-deep);padding-block:0 100px}.corporate-card{color:#fff;background:#ffffff0f;border:1px solid #ffffff21;border-radius:22px;justify-content:space-between;align-items:center;gap:45px;padding:42px 48px;display:flex}.corporate-card h2{max-width:690px;font-size:clamp(30px,3.5vw,45px)}.corporate-card p:not(.eyebrow){color:#ffffffad;max-width:700px;margin:15px 0 0;font-size:13px;line-height:1.7}.button-light{color:var(--forest);box-shadow:none;background:#fff;border-color:#fff;flex:none}.button-light:hover{color:var(--forest);background:#f4ece2;border-color:#f4ece2}.section-soft{background:var(--soft)}.reviews-layout{grid-template-columns:minmax(280px,.6fr) minmax(0,1.4fr);align-items:start;gap:clamp(40px,7vw,90px);display:grid}.reviews-copy{position:sticky;top:115px}.rating-card{border-left:3px solid var(--red);background:#fff;gap:4px;margin-top:28px;padding:19px 21px;display:grid}.rating-card strong{font-size:14px}.rating-card span{color:var(--muted);font-size:11px}.reviews-widget{background:#fff;border:1px solid #e6e6e6;border-radius:18px;height:680px;position:relative;overflow:hidden}.reviews-widget iframe{pointer-events:none;border:0;width:100%;height:100%}.interaction-shield{z-index:2;position:absolute;inset:0}.contacts-layout{grid-template-columns:minmax(300px,.65fr) minmax(0,1.35fr);gap:30px;display:grid}.contact-card{color:#fff;background:var(--forest);border-radius:22px;padding:45px}.contact-card .eyebrow{color:#f1c7b8}.contact-card h2{font-size:clamp(34px,4vw,48px)}.contact-card address{color:#ffffffad;margin:24px 0;font-size:13px;font-style:normal;line-height:1.7}.large-phone{font:clamp(22px, 3vw, 31px)/1.2 var(--serif);display:inline-block}.messenger-row{flex-wrap:wrap;gap:10px;margin-top:27px;display:flex}.messenger-row a{border:1px solid #ffffff40;border-radius:10px;align-items:center;gap:8px;min-height:43px;padding:0 16px;font-size:12px;font-weight:700;display:inline-flex}.messenger-row svg{fill:currentColor;width:18px}.messenger-row span{width:18px;height:18px;color:var(--forest);background:currentColor;border-radius:5px;place-items:center;font-size:11px;display:grid}.contact-note{color:#ffffff94;border-top:1px solid #ffffff2e;margin:27px 0 0;padding-top:18px;font-size:10px;line-height:1.6}.map-widget{background:#dfe6df;border-radius:22px;min-height:530px;position:relative;overflow:hidden}.map-viewport{transform-origin:50%;transition:transform .22s;position:absolute;inset:0}.map-viewport iframe{pointer-events:none;border:0;width:100%;height:100%}.map-controls{z-index:3;border-radius:10px;position:absolute;top:20px;right:20px;overflow:hidden;box-shadow:0 10px 25px #18312833}.map-controls button{width:44px;height:44px;color:var(--ink);cursor:pointer;background:#fff;border:0;font-size:23px;display:block}.map-controls button+button{border-top:1px solid var(--line)}.map-caption{z-index:3;color:var(--muted);background:#ffffffeb;border-radius:8px;padding:9px 12px;font-size:9px;font-weight:700;position:absolute;bottom:17px;left:18px}.site-footer{color:#fff;background:#102a23;padding:66px 0 24px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:60px;display:grid}.footer-brand .brand-mark{color:var(--forest-deep);background:#f2e5d7}.footer-brand small,.footer-grid>div:first-child>p{color:#ffffff80}.footer-grid>div:first-child>p{max-width:310px;margin:20px 0 0;font-size:11px;line-height:1.7}.footer-links,.footer-contacts{align-content:start;gap:11px;display:grid}.footer-links strong,.footer-contacts strong{letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:12px}.footer-links a,.footer-contacts a{color:#ffffff94;font-size:11px}.footer-links a:hover,.footer-contacts a:hover{color:#fff}.footer-bottom{color:#fff6;border-top:1px solid #ffffff1a;justify-content:space-between;gap:20px;margin-top:48px;padding-top:20px;font-size:9px;display:flex}.floating-contacts{z-index:90;gap:9px;display:grid;position:fixed;bottom:20px;right:18px}.floating-contacts a{color:#fff;border:3px solid #fff;border-radius:50%;place-items:center;width:47px;height:47px;transition:transform .18s;display:grid;box-shadow:0 12px 30px #192b253b}.floating-contacts a:hover{transform:translateY(-2px)scale(1.04)}.floating-contacts svg{fill:currentColor;width:21px}.floating-contacts .float-phone{background:var(--red)}.floating-contacts .float-phone svg{fill:none;stroke:currentColor;stroke-width:1.6px}.float-telegram{background:#2aabee}.float-max{background:#7653ff}.float-max span{font-weight:800}.cookie-banner{z-index:120;border:1px solid var(--line);background:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;width:min(880px,100% - 36px);padding:18px 20px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 20px 70px #162d253d}.cookie-banner strong{font-size:13px}.cookie-banner p{color:var(--muted);margin:4px 0 0;font-size:10px;line-height:1.6}.cookie-banner p a{color:var(--red);text-decoration:underline}.cookie-actions{flex:none;align-items:center;gap:14px;display:flex}.button-text{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:6px;font-size:10px;text-decoration:underline}@media (width<=1080px){.main-nav{gap:15px}.main-nav a{font-size:11px}.header-actions .button{display:none}.benefits-grid{grid-template-columns:repeat(2,1fr)}.benefits-grid article:nth-child(3){border-left:1px solid var(--line)}.corporate-card{align-items:flex-end}}@media (width<=820px){.container{width:min(100% - 30px,680px)}.site-header{height:68px}.header-inner{justify-content:space-between}.brand-mark{width:38px;height:38px}.main-nav{border-top:1px solid var(--line);background:#fff;flex-direction:column;align-items:flex-start;gap:18px;padding:22px 20px 25px;display:none;position:absolute;top:68px;left:0;right:0;box-shadow:0 20px 30px #23483c1a}.main-nav.is-open{display:flex}.main-nav a{width:100%;font-size:14px}.menu-button{order:3;display:block}.header-actions{margin-left:auto}.header-phone small{display:none}.hero{min-height:650px}.hero-overlay{background:linear-gradient(90deg,#0e251ee0,#0e251e6b)}.section{padding:75px 0}.section-heading,.split-feature,.restaurant-layout,.reviews-layout,.contacts-layout{grid-template-columns:1fr}.section-heading{gap:20px}.feature-image{height:480px}.restaurant-copy{order:2}.restaurant-images{min-height:470px}.restaurant-images img{height:430px}.restaurant-images img:last-child{height:315px}.corporate-card{flex-direction:column;align-items:flex-start;padding:36px}.reviews-copy{position:static}.reviews-widget{height:620px}.map-widget{min-height:440px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}@media (width<=580px){.container{width:min(100% - 24px,520px)}.header-phone{display:none}.brand strong{font-size:17px}.hero{min-height:620px}.hero-content{padding-block:70px 46px}.hero h1{font-size:clamp(48px,15vw,65px)}.hero-lead{font-size:16px}.hero-actions,.hero-actions .button{width:100%}.hero-facts{grid-template-columns:1fr 1fr;gap:18px;margin-top:38px}.hero-facts span:last-child{grid-column:1/-1}.benefits-grid{grid-template-columns:1fr}.benefits-grid article,.benefits-grid article:nth-child(3){border-left:1px solid var(--line);min-height:0;padding:22px 16px}.rooms-grid{grid-template-columns:1fr}.card-image{height:250px}.card-body{padding:23px}.feature-image{height:390px}.image-note{bottom:14px;left:14px}.restaurant-images{gap:8px;min-height:390px}.restaurant-images img{border-radius:14px;height:360px}.restaurant-images img:last-child{height:250px}.booking-section{padding:74px 0 80px}.corporate-section{padding-bottom:75px}.corporate-card{padding:28px 23px}.reviews-widget{height:560px}.contact-card{padding:32px 25px}.map-widget{min-height:400px}.footer-grid{grid-template-columns:1fr;gap:35px}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.floating-contacts{bottom:10px;right:10px}.cookie-banner{flex-direction:column;align-items:stretch;gap:14px;padding:16px;bottom:10px}.cookie-actions{justify-content:space-between}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
