@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f5f4ef;--ink:#252622;--red:#eb492f;--lime:#d8ed87;--muted:#5e6358;--line:#ddded4;--lilac:#dedaf1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.65 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;line-height:1.03;letter-spacing:-.065em}h2{font-size:clamp(40px,4.8vw,68px)}h2 em{font-style:normal;color:var(--red)}p{color:var(--muted)}.eyebrow{font-size:14px;letter-spacing:1.4px;font-weight:600;display:inline-flex;align-items:center;gap:9px}.eyebrow i,.scene-top i{width:6px;height:6px;border-radius:50%;background:var(--red)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--red);color:#fff;border:0;border-radius:13px;padding:17px 23px;font-size:17px;font-weight:600;min-height:54px;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}.button span{font-size:22px;line-height:1}.button:after{content:'';position:absolute;inset:-100% auto -100% -80%;width:40%;transform:rotate(25deg);background:linear-gradient(90deg,transparent,#fff6,transparent);pointer-events:none;transition:left .65s}.button:hover:after{left:140%}.button:hover{transform:translateY(-3px);box-shadow:0 10px 25px #eb492f30}.button.small{padding:12px 18px;min-height:46px;font-size:15px}.text-link{display:inline-flex;gap:24px;align-items:center;padding:8px 0;font-size:17px;font-weight:600}.text-link span{background:var(--lime);width:36px;height:36px;display:grid;place-items:center;border-radius:50%;font-size:22px}.round{width:45px;height:45px;background:#fff8;border:1px solid #0002;border-radius:50%;display:grid;place-items:center;font-size:22px}.skip{position:fixed;left:15px;top:-100px;z-index:20}.skip:focus{top:15px;padding:10px;background:white}.header{height:100px;padding:0 5%;display:flex;gap:30px;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-logo{width:64px;height:50px;object-fit:contain}.brand>span{font-size:23px;font-weight:700;letter-spacing:-1px;line-height:1.2}.brand small{display:block;font-size:12px;letter-spacing:2px;font-weight:500;line-height:2.2}.header nav{display:flex;gap:28px;font-size:16px}.header nav a{transition:color .2s}.header nav a:hover{color:var(--red)}.header-actions{display:flex;gap:22px;align-items:center}.header-phone{font-size:16px;font-weight:600}.menu{display:none;background:none;border:0;font-size:27px;padding:5px}
.modern-hero{padding:18px 5% 0;position:relative;isolation:isolate}.modern-hero:before{content:'';position:absolute;inset:0 0 0 50%;background:radial-gradient(ellipse at 80% 10%,#e7ebd360,transparent 60%);z-index:-1}.hero-intro{display:flex;align-items:flex-end;justify-content:space-between;padding:26px 0 32px;gap:35px}h1{position:relative;font-size:clamp(64px,7.5vw,112px);line-height:1.02;letter-spacing:-.08em;margin-top:20px;font-weight:600}h1>span{color:var(--red)}.headline-arrow{display:inline-block;width:62px;height:62px;margin-left:25px;fill:none;stroke:var(--red);stroke-width:5;vertical-align:baseline}.intro-aside{padding:0 0 5px;min-width:250px}.local-label{display:flex;align-items:center;gap:8px;font-size:15px}.local-label svg{width:16px;height:16px;stroke:var(--red);fill:none;stroke-width:1.5}.intro-aside p{font-size:18px;line-height:1.7;margin:17px 0 21px}.intro-aside p b{font-weight:500;color:var(--ink)}.intro-aside .button{width:100%}.hero-mosaic{display:grid;grid-template-columns:1fr 29%;grid-template-rows:195px 195px;gap:16px}.hero-scene{grid-row:1/3;position:relative;isolation:isolate;overflow:hidden;border-radius:26px;background:#692a2b}.scene-slide{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;opacity:0;transition:opacity 1s ease;object-position:center center}.scene-slide.active{opacity:1}.hero-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#14171330,transparent 30%,#14171300 45%,#141713b0);z-index:1;pointer-events:none}.hero-scene:before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(115deg,transparent 25%,#ffe3ad16 45%,#fff4 49%,#ffe9bc12 53%,transparent 75%);transform:translateX(-100%);animation:light-pass 12s ease-in-out infinite}.scene-top{position:absolute;top:22px;left:22px;display:flex;align-items:center;gap:8px;z-index:3;color:white;border:1px solid #ffffff44;border-radius:25px;padding:8px 12px;font-size:13px;letter-spacing:1px;background:#ffffff15;backdrop-filter:blur(12px)}.scene-top i{background:var(--lime)}.scene-bottom{position:absolute;bottom:22px;left:27px;right:22px;display:flex;align-items:end;justify-content:space-between;gap:20px;z-index:3;color:white}.scene-bottom>span{font-size:25px;letter-spacing:-1px;font-weight:500}.scene-controls{display:flex;gap:5px}.scene-controls button{background:#fff2;backdrop-filter:blur(15px);border:1px solid #fff5;color:white;width:36px;height:36px;border-radius:50%;font-size:14px;transition:background .2s}.scene-controls button[aria-pressed=true]{background:white;color:var(--ink)}.number-tile{background:var(--lime);border-radius:25px;padding:21px 25px;display:flex;flex-direction:column;position:relative;overflow:hidden;isolation:isolate}.tile-label{font-size:13px;letter-spacing:1.5px;font-weight:600}.number-large{display:flex;justify-content:space-between;align-items:center;font-size:87px;letter-spacing:-7px;font-weight:500;line-height:1.05}.tile-flower{font-size:66px;color:#617b32;line-height:1;letter-spacing:0;animation:slow-turn 30s linear infinite}.number-footer{font-size:16px;line-height:1.4;position:relative}.number-footer b{position:absolute;right:0;bottom:0;font-weight:400;font-size:26px}.tile-orbit{position:absolute;inset:-20px -20px auto auto;width:260px;height:170px;fill:none;stroke:#7f9a3435;stroke-width:1;z-index:-1}.restaurant-tile{position:relative;border-radius:25px;overflow:hidden;isolation:isolate}.restaurant-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent,#111b);z-index:1}.restaurant-tile>img{width:100%;height:100%;transition:transform .6s}.restaurant-tile:hover img{transform:scale(1.05)}.restaurant-tile>span{position:absolute;bottom:22px;left:22px;right:20px;color:white;font-size:21px;letter-spacing:-.7px;line-height:1.2;z-index:2}.restaurant-tile small{display:block;font-size:12px;letter-spacing:1px;margin-bottom:8px}.restaurant-tile b{position:absolute;right:0;bottom:0;font-size:27px;font-weight:400}.hero-caption{display:flex;justify-content:space-between;padding:16px 3px;font-size:15px;color:var(--muted)}.hero-caption b{color:var(--red);font-size:18px;margin-left:12px}.stay-strip{display:flex;align-items:center;justify-content:center;gap:30px;margin:12px 5% 0;padding:16px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stay-strip p{font-size:15px;color:#575d50}.stay-strip>span{font-size:18px;color:var(--red)}
.booking-wrap{margin:30px 5% 0;border-radius:22px;background:#fff;padding:28px;display:grid;grid-template-columns:1fr 2.6fr;gap:0 25px;box-shadow:0 16px 40px #33390706}.booking-label{align-self:center}.booking-label h2{font-size:27px;letter-spacing:-1.4px;margin-top:9px}.booking-label .eyebrow{font-size:13px;color:var(--muted)}.booking-wrap form{display:grid;grid-template-columns:1fr 1fr .8fr 1fr;gap:14px;align-items:end}.booking-wrap label{font-size:14px;color:var(--muted)}.booking-wrap input,.booking-wrap select{display:block;width:100%;min-width:0;height:46px;background:var(--paper);border:1px solid transparent;border-radius:10px;padding:10px;font-size:17px;margin-top:6px}.booking-wrap .button{min-height:46px;padding:12px 18px;font-size:16px}.booking-hint{grid-column:2;font-size:14px;margin-top:12px}.amenity-line{padding:0;margin:27px 5% 60px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.amenity-line>span{display:flex;align-items:center;gap:11px;font-size:15px;padding:12px 0}.amenity-line svg{width:42px;height:42px;padding:10px;background:#e8ebdf;border-radius:13px;fill:none;stroke:var(--ink);stroke-width:1.4;flex-shrink:0}.amenity-line>span:nth-child(2) svg{background:#f9d8ca}.amenity-line>span:nth-child(3) svg{background:var(--lilac)}.amenity-line>span:nth-child(4) svg{background:#e9ec9b}.section{padding:85px 5%}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.section-head h2{margin-top:21px}.section-head>p{font-size:17px;max-width:280px}.rooms{background:#292d28;color:#f5f5ee;border-radius:38px;margin:0 2%;padding:70px 3.15%;position:relative;isolation:isolate;overflow:hidden}.rooms:after{content:'';position:absolute;right:-180px;top:130px;width:400px;height:400px;border:1px solid #d8ed8720;border-radius:50%;box-shadow:0 0 0 80px #d8ed8705,0 0 0 160px #d8ed8703;z-index:-1}.rooms h2{font-size:clamp(38px,4.7vw,65px)}.rooms h2 em{color:var(--lime)}.rooms .section-head>p{color:#afb8a7}.inventory{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;margin:32px 0 25px;gap:0}.inventory>div{display:flex;align-items:center;gap:16px;padding:18px 25px;border-right:1px solid #ffffff25}.inventory>div:first-child{padding-left:0}.inventory>div:last-child{border:0}.inventory b{font-size:49px;font-weight:500;letter-spacing:-3px}.inventory span{font-size:15px;color:#bac3b3}.filters{display:flex;align-items:center;gap:9px;margin:30px 0 25px}.filters button{border:1px solid #ffffff38;border-radius:30px;background:none;color:white;font-size:15px;padding:10px 19px}.filters button.active{background:var(--lime);color:var(--ink);border-color:var(--lime)}.filters>span{margin-left:auto;color:#a9b4a4;font-size:14px}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.room{border-radius:23px;padding:10px 10px 20px;background:#f6f5f0;color:var(--ink);transition:transform .3s}.room:hover{transform:translateY(-6px)}.room-photo{height:245px;border:0;padding:0;position:relative;overflow:hidden;border-radius:16px;width:100%;background:#c4c0b8}.room-photo img{width:100%;height:100%;transition:transform .6s}.room-photo:hover img{transform:scale(1.035)}.room-tag{position:absolute;left:12px;top:12px;padding:7px 10px;font-size:12px;letter-spacing:.7px;background:#fffdf4eb;border-radius:20px;backdrop-filter:blur(10px)}.room-meta{display:flex;gap:13px;font-size:14px;color:#797d72;margin:13px 10px}.room h3{font-size:25px;line-height:1.18;letter-spacing:-1px;min-height:60px;margin:0 10px}.room-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #dfe1d6;padding-top:16px;margin:19px 10px 0}.price{font-size:18px;letter-spacing:-.7px;font-weight:600}.price small{font-size:14px;letter-spacing:0;font-weight:400;color:var(--muted);margin-left:5px}.room-bottom button{border:0;background:#e3e9d7;padding:9px 11px;border-radius:20px;font-size:14px}.price-note{font-size:14px;color:#a9b4a4;margin-top:15px}.catalog-link{margin-top:20px;color:#e5ebdd;font-size:16px}.catalog-link span{color:var(--ink);width:30px;height:30px;font-size:20px}.selection-note{padding:14px 18px;background:#d8ed8720;color:#e4efd3;border-radius:13px;font-size:16px;margin:0 0 20px}.about{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;padding-top:100px;padding-bottom:115px}.about-images{position:relative;min-height:470px;padding-right:45px}.about-images>img:first-child{width:100%;height:420px;border-radius:25px}.about-inset{position:absolute;right:-15px;bottom:-20px;width:53%;height:220px;border:7px solid var(--paper);border-radius:23px;transform:rotate(5deg)}.vertical-note{position:absolute;writing-mode:vertical-rl;left:-20px;bottom:35px;font-size:12px;letter-spacing:1px;transform:rotate(180deg);color:var(--muted)}.about-copy{align-self:center}.about-copy h2{margin:22px 0 25px;line-height:1.1;font-size:clamp(40px,4.6vw,65px)}.about-copy p{font-size:17px;line-height:1.9;margin:0 0 17px;max-width:405px}.about-copy .text-link{margin-top:8px}.cafe{background:#e4e1f0;border-radius:35px;margin:0 5%;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;position:relative;isolation:isolate}.cafe:before{content:'';position:absolute;width:450px;height:450px;border-radius:50%;border:1px solid #9b94b329;box-shadow:0 0 0 70px #a39bb10b;top:-200px;left:220px;z-index:-1}.cafe-copy{padding:60px 10%}.cafe h2{font-size:clamp(38px,4.25vw,60px);margin:22px 0;line-height:1.08}.cafe h2 em{color:#80709f}.cafe p{font-size:17px;color:#746f7e;max-width:360px}.cafe-facts{display:flex;gap:55px;margin:25px 0 30px}.cafe-facts span{max-width:110px;font-size:14px;color:#746f7e}.cafe-facts b{display:block;font-size:45px;letter-spacing:-2px;font-weight:500;line-height:1.1;color:var(--ink);margin-bottom:7px}.cafe>img{height:100%;min-height:610px;width:100%;border-radius:35px 0 0 35px}.button.light{background:var(--ink);color:white}.gallery{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:20px}.gallery button{padding:0;border:0;text-align:left;background:none}.gallery img{width:100%;height:320px;border-radius:22px;transition:transform .4s}.gallery button:hover img{transform:translateY(-5px)}.gallery button:nth-child(2){margin-top:45px}.gallery button:nth-child(3){margin-top:90px}.gallery span{display:flex;align-items:center;justify-content:space-between;padding:13px 5px;font-size:17px}.gallery b{width:33px;height:33px;background:var(--lilac);border-radius:50%;display:grid;place-items:center;font-weight:400;font-size:21px}.reviews-band{margin:0 5%;border-radius:30px;padding:55px 7%;background:var(--lime);position:relative;overflow:hidden}.reviews-band:after{content:'↗';font-size:260px;position:absolute;right:5%;top:-55px;font-weight:400;color:#8aa54c33;line-height:1.2;pointer-events:none}.reviews-band h2{font-size:clamp(36px,4.5vw,63px);margin:22px 0;line-height:1.08}.reviews-band h2 em{color:#6e843e}.reviews-band .text-link{font-size:16px;position:relative;z-index:1}.reviews-band .text-link span{background:#ffffff70}.contacts{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contacts h2{margin:22px 0 27px;line-height:1.1}.contacts address{font-style:normal;font-size:17px;color:var(--muted);margin-bottom:24px}.contact-phone{display:block;font-size:25px;font-weight:600;letter-spacing:-1px}.contacts a[href^='mailto:']{font-size:17px;color:var(--muted)}.contact-buttons{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:24px}.contact-buttons .button{font-size:15px;padding:15px 17px;min-height:46px}.contact-buttons .text-link{font-size:15px}.map-card{border-radius:30px;background:#e5e7db;min-height:390px;overflow:hidden;align-self:center}.map-art{height:290px;position:relative;overflow:hidden;background:repeating-linear-gradient(25deg,transparent 0 90px,#d9ddcd 90px 93px)}.road{position:absolute;background:#f9f8f2;width:130%;height:35px;transform:rotate(-28deg);left:-50px}.road-one{top:130px}.road-two{top:20px;transform:rotate(65deg)}.road-three{top:240px;transform:rotate(12deg)}.map-block{position:absolute;width:75px;height:50px;border-radius:7px;background:#c6cdb5;transform:rotate(-28deg)}.b1{top:75px;left:70px}.b2{top:190px;right:65px}.b3{top:40px;right:30px}.map-pin{position:absolute;top:90px;left:52%;width:55px;height:65px;background:var(--red);color:white;border-radius:30px 30px 30px 0;transform:rotate(-45deg);display:grid;place-items:center;font-size:28px;box-shadow:0 0 0 12px #eb492f15,0 10px 20px #eb492f30}.street{position:absolute;top:191px;left:27%;transform:rotate(-28deg);font-size:13px;letter-spacing:2px}.map-bottom{display:flex;justify-content:space-between;align-items:center;padding:18px 25px}.map-bottom b{font-size:24px;letter-spacing:-1px}.map-bottom small{display:block;font-size:15px;color:var(--muted)}.map-label{display:block;padding:0 25px 15px;font-size:13px;color:var(--muted)}.faq{padding-top:0;max-width:1100px;margin:auto}.faq h2{font-size:44px;line-height:1.13;margin:20px 0 30px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;font-size:18px}.faq summary::-webkit-details-marker{display:none}.faq summary span{background:#e8e8e1;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-size:20px;flex-shrink:0}.faq details[open] summary span{transform:rotate(45deg);background:var(--lime)}.faq details p{font-size:17px;max-width:720px;margin-top:15px}.faq p a{text-decoration:underline}footer{background:#292d28;color:#f3f4eb;padding:45px 5% 70px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-radius:35px 35px 0 0}footer .brand-logo{filter:brightness(0) invert(1)}footer p{color:#a9b4a4;font-size:15px}footer>a:last-child{font-size:16px}dialog{padding:0;border:0;border-radius:25px;max-width:800px;width:calc(100% - 30px);max-height:90vh;background:var(--paper);color:var(--ink);box-shadow:0 25px 100px #0005}dialog::backdrop{background:#172017b8;backdrop-filter:blur(7px)}.dialog-close{position:absolute;top:16px;right:16px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:var(--ink);font-size:27px;z-index:2}.detail-image{width:100%;height:320px}.detail-copy{padding:30px}.detail-copy h2{font-size:39px;line-height:1.1;margin-top:15px}.detail-copy p{font-size:17px;margin:17px 0}.detail-copy .button{margin-top:10px}.detail-copy .text-link{margin-left:14px}#photo-dialog{max-width:1000px;background:#252b24;color:#fff;padding:45px 18px 18px}#large-photo{width:100%;max-height:70vh;object-fit:contain}#photo-caption{text-align:center;font-size:17px;color:#fff;margin-top:10px}.motion-toggle{position:fixed;bottom:14px;right:14px;z-index:8;display:flex;gap:8px;align-items:center;min-height:40px;border:1px solid #fff6;border-radius:22px;background:#fffaf0e0;backdrop-filter:blur(15px);padding:9px 14px;color:var(--ink);font-size:15px;box-shadow:0 5px 22px #25262215}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.reveal-ready{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal-ready.revealed{opacity:1;transform:translateY(0)}@keyframes light-pass{0%,25%{transform:translateX(-110%)}65%,100%{transform:translateX(110%)}}@keyframes slow-turn{to{transform:rotate(360deg)}}
@media(min-width:1600px){body{max-width:1600px;margin:auto}}
@media(max-width:1100px){.header-phone{display:none}.header nav{gap:20px}.hero-intro{gap:25px}.intro-aside{min-width:220px}h1{font-size:79px}.headline-arrow{width:47px;height:47px;margin-left:15px}.hero-mosaic{grid-template-columns:1fr 31%;grid-template-rows:180px 180px}.number-tile{padding:18px}.number-large{font-size:74px}.tile-flower{font-size:54px}.restaurant-tile>span{font-size:17px;left:18px}.scene-bottom>span{font-size:22px}.booking-wrap{grid-template-columns:1fr;gap:20px}.booking-label{display:flex;align-items:center;gap:25px}.booking-label h2{margin:0}.booking-hint{grid-column:1;margin-top:-8px}.room-photo{height:200px}.room h3{font-size:22px}.room-bottom{gap:5px}.price{font-size:16px}.room-bottom button{font-size:13px;padding:8px}.inventory>div{padding:15px}.inventory b{font-size:40px}.inventory span{font-size:14px}.about{gap:7%}.about-images{min-height:430px}.about-images>img:first-child{height:370px}.cafe-copy{padding:50px 9%}.cafe>img{min-height:570px}.gallery img{height:270px}.contacts{gap:6%}}
@media(max-width:760px){html{scroll-padding-top:20px}.header{height:80px;padding:0 5%;gap:10px}.brand-logo{width:55px;height:43px}.brand{gap:9px}.brand>span{font-size:21px}.brand small{font-size:12px}.header-actions .button{display:none}.menu{display:block}.header nav{display:none;position:absolute;z-index:10;top:78px;left:5%;right:5%;padding:25px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 30px #0001}.header nav.open{display:flex;flex-wrap:wrap;gap:25px;font-size:18px}.modern-hero{padding:10px 5% 0}.hero-intro{display:block;padding:12px 0 23px}.hero-intro .eyebrow{font-size:12px;letter-spacing:1.2px}h1{font-size:clamp(43px,10.8vw,77px);line-height:1.06;letter-spacing:-.075em;margin-top:17px}.headline-arrow{width:32px;height:32px;margin-left:13px;stroke-width:6}.intro-aside{display:grid;grid-template-columns:1fr auto;align-items:center;gap:13px;margin-top:23px;min-width:0;padding:0}.intro-aside p{font-size:15px;margin:0;line-height:1.6}.intro-aside .local-label{grid-column:1/-1;font-size:14px}.intro-aside .button{font-size:15px;gap:16px;padding:14px 15px;min-height:46px}.intro-aside .button span{font-size:20px}.hero-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:285px 172px;gap:12px}.hero-scene{grid-row:1;grid-column:1/-1;border-radius:20px}.scene-top{top:15px;left:15px;font-size:12px;padding:7px 10px}.scene-bottom{bottom:17px;left:17px;right:15px;align-items:center;gap:10px}.scene-bottom>span{font-size:18px;letter-spacing:-.7px;max-width:160px;line-height:1.2}.scene-controls{gap:4px}.scene-controls button{width:30px;height:30px;font-size:13px}.number-tile{padding:16px;border-radius:20px}.tile-label{font-size:12px;letter-spacing:.8px}.number-large{font-size:64px;letter-spacing:-4px;line-height:1.15}.tile-flower{font-size:36px}.number-footer{font-size:14px}.number-footer b{font-size:23px}.restaurant-tile{border-radius:20px}.restaurant-tile>span{left:14px;bottom:17px;right:14px;font-size:17px;line-height:1.12;padding-right:15px}.restaurant-tile small{font-size:12px;line-height:1.6;letter-spacing:.4px}.restaurant-tile b{font-size:23px;right:-1px}.hero-caption{padding:13px 0;font-size:13px;gap:20px;align-items:center}.hero-caption>span{max-width:145px}.hero-caption b{font-size:14px;margin-left:5px}.stay-strip{margin:9px 5% 0;padding:15px 0;gap:12px;flex-wrap:wrap;justify-content:flex-start}.stay-strip p{font-size:14px;flex:1 1 85%;line-height:1.5}.stay-strip>span{font-size:14px}.stay-strip>span:last-child{display:none}.booking-wrap{margin:24px 5% 0;padding:22px 17px;border-radius:20px;gap:20px}.booking-label{display:block}.booking-label h2{font-size:25px;margin-top:7px}.booking-wrap form{grid-template-columns:1fr 1fr;gap:14px 11px}.booking-wrap label{font-size:13px}.booking-wrap input,.booking-wrap select{font-size:16px;padding:8px;height:44px}.booking-wrap .button{min-height:44px;font-size:15px;padding:11px 15px}.booking-hint{font-size:13px;margin-top:-7px}.amenity-line{margin:20px 5% 38px;grid-template-columns:1fr 1fr;gap:10px}.amenity-line>span{font-size:13px;gap:9px;padding:5px 0}.amenity-line svg{width:36px;height:36px;padding:8px}.section{padding:55px 5%}.section-head{display:block;margin-bottom:25px}.section-head h2{font-size:37px;line-height:1.12;margin-top:18px}.section-head>p{font-size:16px;margin-top:18px}.rooms{margin:0 3%;padding:40px 4%;border-radius:25px}.rooms .eyebrow{font-size:13px}.inventory{grid-template-columns:1fr 1fr;margin:25px 0 16px;gap:0}.inventory>div{padding:15px;border-bottom:1px solid #fff3;gap:12px}.inventory>div:first-child{padding:15px}.inventory>div:nth-child(2){border-right:0}.inventory>div:nth-child(3){border-bottom:0}.inventory b{font-size:37px}.inventory span{font-size:13px}.filters{gap:6px;flex-wrap:wrap;margin:22px 0}.filters button{padding:9px 11px;font-size:13px}.filters>span{display:none}.room-grid{grid-template-columns:1fr;gap:20px}.room{border-radius:20px;padding:9px 9px 18px}.room-photo{height:240px;border-radius:14px}.room h3{font-size:26px;min-height:0}.room-meta{font-size:14px}.room-bottom{margin-top:16px}.room-bottom button{font-size:14px;padding:9px 12px}.price{font-size:19px}.price small{font-size:14px}.price-note{font-size:13px}.catalog-link{font-size:15px}.about{display:flex;flex-direction:column;gap:50px;padding-top:60px;padding-bottom:60px}.about-images{min-height:350px;padding-right:35px}.about-images>img:first-child{height:310px;border-radius:22px}.about-inset{height:175px;width:53%;right:0;bottom:-10px;border-width:5px;border-radius:20px}.vertical-note{display:none}.about-copy h2{font-size:44px;line-height:1.1}.about-copy p{font-size:17px}.cafe{grid-template-columns:1fr;border-radius:25px;margin:0 5%}.cafe-copy{padding:35px 7%}.cafe h2{font-size:40px;line-height:1.1}.cafe p{font-size:16px}.cafe-facts{gap:50px;margin:22px 0}.cafe-facts b{font-size:36px}.cafe-facts span{font-size:14px}.cafe>img{height:260px;min-height:0;border-radius:25px 25px 0 0}.gallery{grid-template-columns:1fr 1fr;gap:17px 13px}.gallery button:first-child{grid-column:1/-1}.gallery button:nth-child(2),.gallery button:nth-child(3){margin-top:0}.gallery img{height:180px;border-radius:18px}.gallery button:first-child img{height:245px}.gallery span{font-size:15px;padding:10px 2px}.gallery b{width:28px;height:28px;font-size:18px}.reviews-band{padding:38px 7%;border-radius:24px}.reviews-band h2{font-size:37px;line-height:1.12;margin:18px 0}.reviews-band:after{font-size:170px;right:-5%;top:-20px}.reviews-band .text-link{font-size:14px;gap:10px}.reviews-band .text-link span{width:28px;height:28px;font-size:18px}.contacts{grid-template-columns:1fr;gap:35px}.contacts h2{font-size:40px}.contact-phone{font-size:23px}.map-card{min-height:350px;border-radius:24px}.map-art{height:245px}.contact-buttons{gap:12px}.faq{padding-top:0}.faq h2{font-size:35px}.faq summary{font-size:16px}.faq details p{font-size:16px}footer{flex-wrap:wrap;padding:35px 5% 70px;gap:24px;border-radius:25px 25px 0 0}footer .brand{width:100%}footer p{font-size:14px}.motion-toggle{padding:9px 11px;min-height:36px;font-size:15px}.motion-toggle span{display:none}.detail-image{height:235px}.detail-copy{padding:24px}.detail-copy h2{font-size:30px}.detail-copy .text-link{margin:13px 0 0}.detail-copy .eyebrow{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}.motion-toggle{display:none}}

/* Photo framing: preserve the portrait reception and readable entrance sign. */
.reception-story{min-height:560px}.reception-story>img:first-child{height:530px;object-position:center}.reception-gallery{object-position:center 60%}.hero-scene:after{background:linear-gradient(180deg,#14171318,transparent 30%,transparent 55%,#141713a0)}
@media(max-width:1100px) and (min-width:761px){.reception-story{min-height:470px}.reception-story>img:first-child{height:440px}}
@media(max-width:760px){.reception-story{min-height:440px}.reception-story>img:first-child{height:420px}.gallery .reception-gallery{object-position:center 64%}}
.reception-story .about-inset{width:36%;height:150px;bottom:-20px}@media(max-width:760px){.reception-story .about-inset{height:115px;bottom:-10px}}

/* Readable type needs room to breathe at every viewport. */
.header{gap:20px}.header nav{gap:22px}.header-actions{gap:16px}.brand small{letter-spacing:1px}.intro-aside{min-width:280px}.hero-mosaic{grid-template-rows:225px 225px}.number-footer{padding-right:23px}.tile-label{letter-spacing:.8px}.hero-caption{gap:30px}.hero-caption>span{max-width:none}.scene-controls button{width:44px;height:44px}.scene-top{background:#20251d80}.booking-wrap{grid-template-columns:minmax(210px,1fr) 3fr}.booking-wrap form{grid-template-columns:1.15fr 1.15fr .9fr 1fr}.booking-wrap input,.booking-wrap select{font-size:16px;height:52px}.booking-wrap .button{min-height:52px}.booking-hint{line-height:1.6}.room-bottom{flex-wrap:wrap;row-gap:12px}.price{font-size:24px}.room-bottom button{min-height:44px}.room-meta{flex-wrap:wrap;gap:6px 12px}.room h3{min-height:62px}.filters{flex-wrap:wrap}.filters button{min-height:44px}.inventory>div{min-width:0}.inventory span{overflow-wrap:break-word}.about-copy p{line-height:1.75;max-width:480px}.cafe p{max-width:430px}.cafe-facts span{max-width:155px}.section-head>p{max-width:340px}.map-label{line-height:1.5}.faq summary{align-items:center;min-height:44px}.text-link{line-height:1.5}.text-link span,.gallery b{flex-shrink:0}.motion-toggle{min-height:44px}.vertical-note{font-size:12px}
@media(max-width:1200px){.header-phone{display:none}.booking-wrap{grid-template-columns:1fr;gap:20px}.booking-hint{grid-column:1}.intro-aside{min-width:240px}.hero-intro h1{font-size:clamp(64px,7vw,84px)}.inventory>div{flex-direction:column;align-items:flex-start;gap:5px}}
@media(min-width:761px) and (max-width:1000px){.header-actions .button{display:none}.header nav{font-size:16px;gap:18px}.hero-mosaic{grid-template-columns:1fr 33%}.hero-intro h1{font-size:64px}.headline-arrow{width:36px;margin-left:12px}.booking-wrap form{grid-template-columns:1fr 1fr}.amenity-line{grid-template-columns:1fr 1fr}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room h3{min-height:0}.about,.contacts{gap:5%}.cafe-copy{padding:35px 8%}}
@media(max-width:760px){.header nav.open{font-size:18px}.brand small{font-size:11px}.hero-intro h1{font-size:clamp(40px,10.8vw,77px)}.hero-intro .eyebrow{font-size:12px}.intro-aside{grid-template-columns:1fr;min-width:0;gap:18px}.intro-aside p{font-size:17px}.intro-aside .local-label{font-size:15px}.intro-aside .button{width:100%;font-size:17px;min-height:52px}.hero-mosaic{grid-template-rows:300px 220px}.scene-bottom{flex-wrap:wrap;align-items:center;gap:12px}.scene-bottom>span{font-size:22px;max-width:none;flex:1 1 100%}.scene-controls button{width:40px;height:40px;font-size:14px}.scene-top{font-size:12px}.tile-label{font-size:12px;line-height:1.4;min-height:34px}.number-footer{font-size:14px}.number-large{font-size:64px}.tile-flower{font-size:30px}.restaurant-tile small{font-size:12px}.restaurant-tile>span{font-size:21px}.hero-caption{display:block;font-size:14px}.hero-caption>span{display:block;margin:6px 0}.stay-strip p{font-size:15px;flex:1 1 80%}.booking-wrap{padding:24px 17px}.booking-wrap form{grid-template-columns:1fr}.booking-wrap label{font-size:15px}.booking-wrap input,.booking-wrap select{font-size:17px}.booking-wrap .button{font-size:17px}.booking-hint{font-size:14px}.amenity-line>span{font-size:14px;align-items:flex-start}.section-head>p,.about-copy p,.cafe p,.faq details p,.detail-copy p{font-size:17px}.inventory>div{flex-direction:column;align-items:flex-start;gap:3px;padding:14px}.inventory>div:first-child{padding:14px}.inventory span{font-size:14px}.filters button{font-size:14px;padding:10px 14px}.room-meta{font-size:14px}.room h3{min-height:0}.price{font-size:24px}.price small{font-size:14px}.room-bottom button{font-size:15px}.gallery span{font-size:16px;gap:6px}.cafe-facts{gap:25px}.cafe-facts span{font-size:14px}.reviews-band .text-link{font-size:16px;gap:14px}.contact-buttons .button,.contact-buttons .text-link{font-size:16px}.faq summary{font-size:17px}.motion-toggle{min-width:44px;min-height:44px;font-size:17px}footer p{font-size:14px;overflow-wrap:anywhere}}
