@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Marcellus&display=swap');
:root{--bg:#f6f3ed;--paper:#fffdf8;--ink:#1f332c;--forest:#224d3e;--olive:#6d7d5c;--muted:#657169;--gold:#b38e5e;--line:#dcded7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-family:'DM Sans',Arial,sans-serif;color:var(--ink);line-height:1.62}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.17;letter-spacing:-.035em}h1{font-size:clamp(2.7rem,5.6vw,5.9rem);font-weight:600}h2{font-size:clamp(2rem,3.3vw,3.5rem);font-weight:600}h3{font-size:1.3rem}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(1160px,calc(100% - 44px));margin:auto}.topbar{background:#183a2f;color:#dfe9e2;font-size:.78rem;letter-spacing:.03em;text-align:center;padding:7px}.header{position:sticky;top:0;z-index:100;background:rgba(250,248,243,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(30,60,45,.1)}.nav{display:flex;justify-content:space-between;align-items:center;min-height:82px;gap:24px}.logo{display:flex;align-items:center;gap:13px;font-family:Manrope;font-weight:800;font-size:1.04rem;letter-spacing:.02em}.logo-badge{width:54px;height:54px;border-radius:50%;object-fit:cover;flex:0 0 auto;box-shadow:0 4px 14px rgba(0,0,0,.08)}.logo-text{display:flex;flex-direction:column;line-height:1.02}.logo-text strong{font-size:1rem;font-weight:800;letter-spacing:.01em}.logo-text small{font-size:.72rem;letter-spacing:.22em;color:var(--olive);font-weight:800;margin-top:4px}.navlinks{display:flex;gap:30px;font-size:.88rem;font-weight:600}.navlinks a:hover,.footer a:hover{color:#b18b57}.navcta{display:inline-flex;align-items:center;border-radius:100px;border:1px solid var(--forest);padding:11px 21px;color:var(--forest);font-size:.87rem;font-weight:700}.menu-toggle{display:none;border:0;background:none;font-size:24px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.hero-copy{padding:95px max(25px,calc((100vw - 1160px)/2)) 80px max(22px,calc((100vw - 1160px)/2));padding-right:55px;display:flex;flex-direction:column;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.74rem;color:var(--olive);font-weight:800;margin-bottom:25px}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:#5c7560}.hero .lead{max-width:460px;color:#647269;font-size:1.06rem;margin-bottom:30px}.hero-art{position:relative;min-height:530px;background:linear-gradient(10deg,rgba(15,53,38,.25),transparent 50%),url('/assets/mountains.svg') center/cover}.hero-art .artlabel{position:absolute;bottom:28px;left:28px;color:white;text-shadow:0 1px 12px #243b32;background:#163f31b5;padding:12px 20px;border-radius:4px;font-size:.83rem}.buttons{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--forest);color:#fff;padding:14px 24px;border:1px solid var(--forest);border-radius:6px;font-weight:700;font-size:.91rem;transition:.2s}.btn:hover{transform:translateY(-2px);background:#17372c}.btn-outline{background:transparent;color:var(--forest)}.btn-outline:hover{background:#e4e8de}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#efeee7}.stat{padding:25px;text-align:center;border-right:1px solid #dbded4}.stat:last-child{border:0}.stat strong{display:block;font:700 1.4rem Manrope}.stat span{font-size:.8rem;color:var(--muted)}.section{padding:100px 0}.section-alt{background:#eaece4}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:34px}.section-heading p{max-width:430px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.room-card{background:var(--paper);border:1px solid #e6e6de;border-radius:10px;overflow:hidden}.room-card img{aspect-ratio:1.35}.room-body{padding:22px}.room-body p{color:var(--muted);font-size:.92rem}.meta{display:flex;gap:14px;color:var(--muted);font-size:.82rem;flex-wrap:wrap;margin:14px 0}.textlink{font-weight:800;color:#28543f;border-bottom:1px solid #b2c0ad;padding-bottom:3px}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.split img{height:470px;border-radius:8px}.featuregrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:26px}.feature{padding:19px;background:#fffdf8;border-radius:8px}.feature b{display:block;font-size:.94rem}.feature span{font-size:.84rem;color:var(--muted)}.quote{max-width:750px;margin:auto;text-align:center}.quote blockquote{font:400 clamp(1.5rem,2.7vw,2.5rem)/1.46 Georgia,serif;margin:25px 0}.quote cite{font-style:normal;font-size:.85rem;color:var(--muted)}.callout{background:#214838;color:white;padding:65px 72px;border-radius:10px;display:flex;justify-content:space-between;align-items:center;gap:30px}.callout h2{margin-bottom:8px}.callout p{margin:0;color:#cbded0}.callout .btn{background:#e5d2ac;color:#173528;border-color:#e5d2ac}.footer{background:#182f27;color:#dce4db;padding:65px 0 25px}.footergrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer a{display:block;margin:7px 0;color:#cbd9ce}.footer p{color:#bdc9bf}.footerbottom{border-top:1px solid #395248;margin-top:45px;padding-top:20px;color:#b3c3b6;font-size:.8rem}.pagehero{padding:78px 0 65px;background:#edf0e8}.pagehero p{max-width:640px;color:var(--muted)}.pagehero h1{font-size:clamp(2.5rem,4.9vw,4.5rem)}.room-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.room-grid .room-card img{aspect-ratio:1.65}.details{display:grid;grid-template-columns:1.2fr 1fr;gap:60px}.details img{border-radius:10px;max-height:490px}.details ul{padding-left:20px;color:var(--muted)}.note{border-left:3px solid var(--gold);background:#fbf7ec;padding:16px 20px;color:#665a3c;font-size:.91rem}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery img{height:260px;border-radius:8px}.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact-info{padding:38px;background:#e9eee5;border-radius:10px}.contact-info a{text-decoration:underline}.booking-form{background:var(--paper);padding:40px;border:1px solid var(--line);border-radius:12px;max-width:750px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}label{display:block;font-size:.88rem;font-weight:700;margin-bottom:7px}input,select,textarea{width:100%;border:1px solid #cdd6cb;background:white;padding:13px 14px;border-radius:6px;outline-offset:3px;color:#20382a}textarea{resize:vertical}.field{margin-bottom:18px}.small{font-size:.82rem;color:var(--muted)}.mobilebar{display:none}.notice{background:#fff9ea;border:1px solid #e3d3a9;border-radius:7px;padding:16px;margin-bottom:30px;color:#675533}.spacer{height:20px}@media(max-width:900px){.navlinks{display:none;position:absolute;top:82px;left:0;right:0;background:#faf8f3;flex-direction:column;padding:20px 30px;box-shadow:0 15px 25px #0002}.navlinks.open{display:flex}.menu-toggle{display:block}.navcta{margin-left:auto}.hero{grid-template-columns:1fr}.hero-copy{padding:75px 25px}.hero-art{min-height:420px}.cards{grid-template-columns:repeat(2,1fr)}.split{gap:30px}.footergrid{grid-template-columns:1fr 1fr}.callout{padding:40px}}@media(max-width:620px){.container{width:min(100% - 34px,1160px)}.nav{min-height:70px}.navlinks{top:70px}.logo{font-size:.86rem}.navcta{padding:9px 11px;font-size:.75rem}.logo-badge{width:42px;height:42px}.logo-text strong{font-size:.86rem}.logo-text small{font-size:.62rem}.hero-art{min-height:330px}.section{padding:65px 0}.stats{grid-template-columns:repeat(3,1fr)}.stat{padding:16px 8px}.stat strong{font-size:1.1rem}.stat span{font-size:.68rem}.cards,.split,.room-grid,.contactgrid,.details,.footergrid,.gallery,.form-grid{grid-template-columns:1fr}.split img{height:310px}.featuregrid{grid-template-columns:1fr}.section-heading{display:block}.callout{display:block;padding:36px 25px}.callout .btn{margin-top:20px}.gallery img{height:250px}.booking-form{padding:24px}.mobilebar{position:fixed;display:flex;bottom:0;left:0;right:0;background:var(--paper);border-top:1px solid var(--line);z-index:102;padding:10px 16px;gap:10px}.mobilebar a{flex:1;text-align:center;font-size:.85rem;padding:10px;background:var(--forest);color:white;border-radius:5px}.mobilebar a:first-child{background:#f0eee7;color:var(--forest);border:1px solid #ccd5cd}body{padding-bottom:60px}}
/* v2 visual refinement and functioning lightbox */
.navlinks a[aria-current="page"]{color:var(--forest);text-decoration:underline;text-underline-offset:8px;text-decoration-color:var(--gold)}a:focus-visible,button:focus-visible,.gallery img:focus-visible{outline:3px solid #b38e5e;outline-offset:4px}.room-card{transition:transform .2s,box-shadow .2s}.room-card:hover{transform:translateY(-4px);box-shadow:0 14px 35px #1f332c18}.gallery img{cursor:zoom-in;transition:transform .2s,filter .2s}.gallery img:hover{filter:brightness(.92)}.lightbox{max-width:min(1000px,94vw);width:100%;max-height:92vh;border:0;padding:54px 50px 24px;background:#172a22;color:white;border-radius:14px;box-shadow:0 20px 80px #0008}.lightbox::backdrop{background:rgba(5,14,10,.88)}.lightbox figure{margin:0}.lightbox img{max-height:70vh;object-fit:contain}.lightbox figcaption{text-align:center;color:#cadacf;margin-top:12px}.lightbox button{position:absolute;border:0;background:#ffffffdd;border-radius:50%;width:40px;height:40px;font-size:26px;color:#173528}.lightbox-close{right:8px;top:8px}.lightbox-prev{left:6px;top:50%}.lightbox-next{right:6px;top:50%}.call-now{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.prelaunch{background:#f5efe1;padding:20px;border-radius:10px;border-left:4px solid var(--gold)}@media(max-width:620px){.lightbox{padding:60px 16px 22px}.lightbox-prev{left:3px}.lightbox-next{right:3px}.hero h1{font-size:clamp(2.6rem,12vw,4rem)}.hero-copy{padding-top:56px;padding-bottom:56px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* v3: real photography */
.room-card img{height:250px;width:100%;object-fit:cover}.price-placeholder{display:flex;justify-content:space-between;align-items:end;gap:12px;border-top:1px solid #e8e3d9;padding:17px 0;margin-top:14px}.price-placeholder span{font-size:13px;color:#6d736e}.price-placeholder strong{font-size:20px;font-weight:650;white-space:nowrap}.room-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.room-gallery img{height:350px;width:100%;object-fit:cover;border-radius:12px}.hero img{object-fit:cover}@media(max-width:620px){.room-gallery{grid-template-columns:1fr}.room-gallery img{height:250px}.price-placeholder strong{font-size:18px}}

/* v4: stronger UX, clearer CTAs, decorative SVG accents */
.navcta{background:var(--forest);color:#fff;border-color:var(--forest);box-shadow:0 10px 24px rgba(34,77,62,.18)}
.navcta:hover{transform:translateY(-2px);background:#17372c;color:#fff}.hero{background:linear-gradient(180deg,#faf8f2 0%,#f3f1ea 100%)}.hero-copy{position:relative;overflow:hidden}.hero-copy::before{content:"";position:absolute;right:25px;top:55px;width:140px;height:140px;background:url('/assets/decor-dots.svg') center/contain no-repeat;opacity:.9;pointer-events:none}.hero-buttons .btn{min-width:220px}.hero-note{max-width:520px}.quick-links{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 22px}.quick-link{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#eef2ea;border:1px solid #d7dfd3;font-weight:700;font-size:.88rem;color:#294836;transition:.2s}.quick-link:hover{transform:translateY(-2px);background:#e5ece0}.review-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px}.review-pill{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e2e7df;border-radius:18px;padding:12px 16px;box-shadow:0 14px 30px rgba(31,51,44,.06)}.review-logo{min-width:70px;height:54px;padding:0 14px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:#f6f7fb;font-weight:800;color:#1f4b99}.google-mark{min-width:54px;width:54px;padding:0;border-radius:14px;background:#fff;font-size:34px;font-weight:800;background:conic-gradient(#4285F4 0 25%,#34A853 25% 50%,#FBBC05 50% 75%,#EA4335 75% 100%);-webkit-background-clip:text;background-clip:text;color:transparent;border:1px solid #ececec}.review-copy{display:flex;flex-direction:column;line-height:1.1}.review-copy strong{font:800 1.55rem/1 Manrope;color:#24372f}.review-copy span{font-size:.9rem;color:var(--muted);margin-top:5px}.hero-art{position:relative;min-height:590px;background:linear-gradient(180deg,rgba(17,39,32,.12),rgba(17,39,32,.45)),url('/assets/photos/exterior-flowers.webp') center/cover}.hero-art::before{content:"";position:absolute;top:36px;right:36px;width:170px;height:70px;background:url('/assets/decor-squiggle.svg') center/contain no-repeat;opacity:.95}.hero-art::after{content:"";position:absolute;left:30px;top:36px;width:118px;height:118px;border-radius:50%;background:rgba(233,215,162,.92);mix-blend-mode:screen}.hero-card{position:absolute;left:28px;bottom:90px;max-width:290px;background:rgba(14,40,31,.74);backdrop-filter:blur(8px);color:#fff;padding:18px 18px 16px;border:1px solid rgba(255,255,255,.18);border-radius:18px;box-shadow:0 16px 40px rgba(0,0,0,.16)}.hero-card-label{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}.hero-card strong{display:block;font:800 1.5rem/1.1 Manrope;margin-bottom:6px}.hero-card span:last-child{font-size:.92rem;color:#d5e0d7}.artlabel{position:absolute;bottom:28px;left:28px;color:white;text-shadow:0 1px 12px #243b32;background:#163f31c9;padding:12px 20px;border-radius:999px;font-size:.83rem}.stats-wrap{padding:24px 0 0;background:linear-gradient(180deg,#f3f1ea 0%,transparent 100%)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;border:0;background:transparent;width:min(1160px,calc(100% - 44px));margin:auto}.stat{padding:24px 22px;text-align:left;border:1px solid #e2e5dc;border-radius:18px;background:#fffdf8;box-shadow:0 12px 28px rgba(31,51,44,.05)}.stat strong{display:block;font:800 1.35rem Manrope;margin-bottom:4px}.stat span{font-size:.88rem;color:var(--muted)}.stat-link{transition:transform .2s,box-shadow .2s}.stat-link:hover{transform:translateY(-4px);box-shadow:0 18px 30px rgba(31,51,44,.09)}.cards-4{grid-template-columns:repeat(4,1fr)}.room-card{display:flex;flex-direction:column}.room-body{display:flex;flex-direction:column;flex:1}.room-body .btn-card{margin-top:16px;width:100%;padding:13px 18px;border-radius:10px}.price-placeholder{margin-top:auto}.price-placeholder strong{font:800 1.1rem Manrope;color:#24372f}.section-soft{background:linear-gradient(180deg,#eff2eb 0%,#f7f5ee 100%);position:relative;overflow:hidden}.section-soft::before{content:"";position:absolute;right:0;top:0;width:240px;height:240px;background:url('/assets/decor-dots.svg') center/contain no-repeat;opacity:.5}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.step{background:#fffdf8;border:1px solid #e2e7df;border-radius:18px;padding:26px;box-shadow:0 10px 24px rgba(31,51,44,.05);position:relative}.step-num{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#214838;color:#fff;font:800 1.1rem Manrope;margin-bottom:18px}.step h3{margin-bottom:10px}.step p{color:var(--muted);margin-bottom:0}.callout{position:relative;overflow:hidden}.callout::after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:rgba(233,210,172,.1)}.callout-actions{display:flex;gap:12px;flex-wrap:wrap}.btn-light{background:transparent;border-color:rgba(255,255,255,.45);color:#fff}.btn-light:hover{background:rgba(255,255,255,.08)}.quote{background:#fffdf8;border:1px solid #e6e6de;border-radius:22px;padding:44px 34px;box-shadow:0 16px 35px rgba(31,51,44,.05)}
@media(max-width:1100px){.cards-4{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.hero-copy::before{right:10px;top:25px;width:110px;height:110px}.hero-art{min-height:430px}.review-pill{width:100%}.steps{grid-template-columns:1fr}.callout-actions{margin-top:18px}}
@media(max-width:620px){.hero-copy{padding-top:52px;padding-bottom:46px}.hero-buttons .btn{min-width:unset;width:100%}.quick-links{gap:8px}.quick-link{font-size:.82rem;padding:10px 12px}.review-copy strong{font-size:1.28rem}.hero-art{min-height:350px}.hero-art::before{width:130px;right:16px;top:24px}.hero-art::after{left:18px;top:20px;width:84px;height:84px}.hero-card{left:16px;right:16px;max-width:none;bottom:78px;padding:16px}.stats{grid-template-columns:1fr}.stat{padding:18px}.cards-4{grid-template-columns:1fr}.quote{padding:30px 22px}.callout-actions .btn{width:100%}.callout::after{display:none}}

/* Review carousel — v6 */
.reviews-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:27px}.reviews-heading p{max-width:660px;color:var(--muted)}.reviews-controls{display:flex;gap:10px;flex-shrink:0}.reviews-controls button{width:46px;height:46px;border-radius:50%;border:1px solid #d9e0d7;background:#fff;color:var(--ink);font-size:24px}.reviews-controls button:hover{background:var(--forest);color:#fff}.reviews-carousel{overflow:hidden;border-radius:22px;border:1px solid #e2e6df;box-shadow:0 16px 40px rgba(31,51,44,.08);background:#fff}.reviews-track{display:flex;transition:transform .45s ease;will-change:transform}.review-slide{flex:0 0 100%;min-width:0;display:grid;grid-template-columns:42% 58%;min-height:380px}.review-photo img{width:100%;height:100%;min-height:380px;object-fit:cover}.review-content{display:flex;flex-direction:column;justify-content:center;padding:45px 50px}.review-source{display:flex;align-items:center;gap:10px;color:#637268;font-size:.9rem;font-weight:700}.source-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#f3f5f3;font-weight:900;font-size:22px}.source-google{color:#4285f4}.source-booking{background:#083b84;color:white;font-size:18px}.review-stars{color:#e5a935;font-size:25px;letter-spacing:4px;margin:17px 0}.review-content blockquote{font:400 clamp(1.3rem,2.3vw,1.85rem)/1.48 Georgia,serif;margin:0 0 22px;color:#263d32}.review-author{font-size:.83rem;color:#78847d}.review-visit{display:inline-flex;align-self:flex-start;font-size:.86rem;color:#27513c;font-weight:800;border-bottom:1px solid #97b19e;margin-top:22px}.reviews-footer{display:flex;justify-content:center;align-items:center;gap:14px;margin:17px 0 0}.reviews-dots{display:flex;gap:8px}.reviews-dots button{border:0;background:#b7c4b9;width:9px;height:9px;border-radius:99px;padding:0}.reviews-dots button.active{width:28px;background:#224d3e}.review-counter{font-size:.85rem;color:var(--muted)}.reviews-disclaimer{font-size:.77rem;color:#78847d;text-align:center;max-width:720px;margin:16px auto 0}@media(max-width:700px){.review-slide{grid-template-columns:1fr}.review-photo img{height:235px;min-height:0}.review-content{padding:27px 25px 32px}.reviews-heading{align-items:center}.reviews-heading h2{font-size:2rem}.reviews-controls button{width:40px;height:40px}.review-stars{font-size:22px;margin:12px 0}.review-content blockquote{font-size:1.35rem}}@media(prefers-reduced-motion:reduce){.reviews-track{transition:none}}

/* v7 room-detail redesign */
.room-breadcrumb{padding:24px 0 6px;display:flex;align-items:center;gap:10px;font-size:.82rem;color:var(--muted)}.room-breadcrumb a:hover{text-decoration:underline}.room-breadcrumb strong{color:var(--forest)}.room-kicker{display:block;font-size:.75rem;letter-spacing:.18em;font-weight:800;color:var(--olive);margin-bottom:16px}.room-newhero{padding:36px 0 78px}.room-newheading{margin-bottom:32px}.room-newheading h1{font-size:clamp(2.8rem,5vw,5rem);margin-bottom:12px}.room-newheading p{font-size:1.12rem;color:var(--muted)}.room-hero-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.85fr);align-items:start;gap:34px}.room-photo-panel{min-width:0}.room-main-photo{display:block;width:100%;padding:0;border:none;background:transparent;border-radius:22px;overflow:hidden;cursor:zoom-in}.room-main-photo img{width:100%;height:480px;object-fit:cover;transition:transform .35s}.room-main-photo:hover img{transform:scale(1.025)}.room-thumbs{display:flex;gap:12px;margin-top:14px}.room-thumbnail{width:108px;height:82px;border:3px solid transparent;border-radius:13px;padding:0;overflow:hidden;background:#fff;cursor:pointer}.room-thumbnail img{width:100%;height:100%;object-fit:cover}.room-thumbnail.selected{border-color:var(--forest)}.room-gallery-hint{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.82rem;margin-top:13px}.room-gallery-hint svg{width:18px;height:18px}.room-reservation-panel{background:#fffdf8;border:1px solid #e3e6dc;border-radius:24px;padding:32px;box-shadow:0 16px 44px rgba(31,51,44,.07);position:sticky;top:112px}.room-note-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:#e9f0e5;border-radius:999px;color:#315440;font-size:.78rem;font-weight:700;margin-bottom:18px}.room-note-badge svg{width:17px;height:17px}.room-reservation-panel h2{font-size:clamp(1.6rem,2vw,2.2rem)}.room-reservation-panel>p{color:var(--muted)}.room-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.room-facts>div{display:flex;gap:9px;align-items:center;background:#f4f5ee;border-radius:12px;padding:14px 10px}.room-facts svg{width:24px;height:24px;flex:0 0 auto;color:var(--forest)}.room-facts span{display:flex;flex-direction:column}.room-facts small{font-size:.7rem;color:var(--muted)}.room-facts strong{font-size:.88rem}.room-price-display{border-top:1px solid var(--line);padding-top:22px;display:flex;flex-direction:column}.room-price-display>span{font-size:.83rem;color:var(--muted)}.room-price-display>strong{font:800 2rem Manrope;color:var(--ink);margin:6px 0}.room-price-display>strong small{font-size:.8rem;font-weight:500;color:var(--muted)}.room-price-display>small{font-size:.75rem;color:var(--muted)}.room-booking-actions{display:grid;gap:11px;margin:24px 0 12px}.room-booking-actions .btn{min-height:52px;border-radius:12px;gap:9px}.room-booking-actions svg{width:19px;height:19px}.room-primary-btn{background:var(--forest);color:white}.room-secondary-btn{border:1px solid var(--forest);background:white;color:var(--forest)}.room-secondary-btn:hover{background:#eef2ea}.room-disclaimer{font-size:.77rem;color:var(--muted);margin:0}.room-info-row{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:center}.room-info-row p{color:var(--muted);max-width:470px}.room-feature-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.room-feature-cards>div{display:flex;flex-direction:column;gap:9px;background:#fffdf8;padding:25px 18px;border-radius:17px}.room-feature-cards svg{width:30px;height:30px;color:var(--forest)}.room-feature-cards strong{font-size:.92rem}.room-feature-cards span{font-size:.8rem;color:var(--muted)}.room-other-title{display:flex;justify-content:space-between;gap:15px;align-items:end;margin-bottom:27px}.room-other-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.other-room{background:#fffdf8;border:1px solid var(--line);border-radius:17px;overflow:hidden;transition:.2s}.other-room:hover{transform:translateY(-4px);box-shadow:0 14px 32px #0001}.other-room img{height:190px;width:100%;object-fit:cover}.other-room span{display:flex;align-items:center;justify-content:space-between;padding:20px;font-weight:800}.other-room svg{height:18px;width:18px}.room-modal{position:fixed;max-width:min(1050px,96vw);width:100%;max-height:94vh;border:0;background:#192c24;color:#fff;border-radius:17px;padding:50px 60px 36px;box-shadow:0 15px 65px #0008}.room-modal::backdrop{background:rgba(2,12,7,.88)}.room-modal img{max-height:73vh;object-fit:contain;width:100%;height:auto}.room-modal button{position:absolute;background:#fff;border:none;border-radius:50%;width:42px;height:42px;font-size:25px;color:#193e30}.room-modal-close{right:10px;top:9px}.room-modal-prev{left:9px;top:50%}.room-modal-next{right:9px;top:50%}.room-modal-count{text-align:center;margin:12px 0 0;font-size:.85rem;color:#d4ded5}@media(max-width:1000px){.room-hero-layout{grid-template-columns:1fr}.room-reservation-panel{position:static}.room-info-row{grid-template-columns:1fr}}@media(max-width:620px){.room-breadcrumb{flex-wrap:wrap}.room-newhero{padding-top:20px;padding-bottom:60px}.room-main-photo img{height:330px}.room-thumbnail{width:82px;height:67px}.room-reservation-panel{padding:24px}.room-feature-cards{grid-template-columns:1fr}.room-other-grid{grid-template-columns:1fr}.room-other-title{display:block}.room-modal{padding:58px 12px 26px}.room-modal button{height:35px;width:35px}.room-other-grid img{height:220px}}

/* v8: amenities and mobile conversion-first detail layout */
.room-amenities{padding-top:58px;padding-bottom:58px}.amenities-heading h2{margin:8px 0 8px}.amenities-heading p{color:var(--muted)}.amenities-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px}.amenity-item{display:flex;gap:13px;align-items:center;padding:19px 20px;background:#fffdf8;border:1px solid #e0e5da;border-radius:14px;font-weight:650}.amenity-item svg{width:28px;height:28px;flex-shrink:0;color:#33634a}.amenities-note{font-size:.82rem;color:var(--muted);margin:18px 0 0}.mobile-room-summary,.room-sticky-actions{display:none}
@media(max-width:760px){
 .amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.amenity-item{padding:13px 10px;font-size:.85rem;gap:8px}.amenity-item svg{width:22px;height:22px}.room-amenities{padding-top:32px;padding-bottom:32px}
 .room-newhero{padding-top:22px!important}.room-newheading h1{font-size:clamp(1.9rem,7vw,2.7rem)!important;margin-bottom:8px}.room-newheading>p{margin-bottom:12px!important}.room-hero-layout{gap:12px!important}.room-photo-panel{margin-top:4px}.room-main-photo img{height:265px!important;max-height:36vh!important}.room-thumbs{gap:7px!important;margin-top:7px!important}.room-thumbnail img{height:56px!important}.room-gallery-hint{display:none!important}
 .room-reservation-panel{padding:16px!important}.room-reservation-panel h2{font-size:1.3rem!important;margin-bottom:5px}.room-reservation-panel>p:not(.room-disclaimer){font-size:.85rem!important}.room-facts{gap:8px!important;margin:10px 0!important}.room-facts>div{padding:8px!important}.room-price-display{padding:12px!important;margin:10px 0!important}.room-booking-actions{display:none!important}.room-disclaimer{font-size:.72rem!important;margin:8px 0 0!important}
 .mobile-room-summary{display:flex;justify-content:space-between;align-items:center;gap:14px;border-radius:11px;background:#e8eee5;padding:10px 14px;margin:10px 0;font-size:.82rem}.mobile-room-summary strong{display:block;font-size:1.03rem;color:#214838}.mobile-room-summary a{font-weight:800;color:#214838;text-decoration:underline;text-underline-offset:3px}
 .room-sticky-actions{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:999;background:#fffefa;border-top:1px solid #d5dfd2;box-shadow:0 -8px 24px #203b2a19;gap:8px;align-items:center;padding:9px max(12px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.room-sticky-price{min-width:82px;display:flex;flex-direction:column;line-height:1.2}.room-sticky-price small{font-size:.64rem;color:#6a766d}.room-sticky-price strong{font-size:.86rem;white-space:nowrap}.room-sticky-actions a{height:46px;display:flex;justify-content:center;align-items:center;border-radius:9px;font-weight:800;font-size:.8rem}.room-sticky-call{width:73px;display:flex!important;flex-direction:column;background:#ecf1e9;color:#214838;border:1px solid #cadacc;gap:0}.room-sticky-call svg{width:18px;height:18px}.room-sticky-call span{font-size:.65rem}.room-sticky-book{flex:1;background:#24543e;color:#fff}.room-sticky-actions~*{box-sizing:border-box}body:has(.room-sticky-actions){padding-bottom:80px}
}
@media(max-width:360px){.amenities-grid{grid-template-columns:1fr}.room-sticky-price{min-width:72px}.room-sticky-call{width:60px}.room-sticky-book{font-size:.73rem!important}}

/* v9 explicit responsive fixes — no dependency on :has() */
.build-indicator{position:fixed;right:12px;top:110px;z-index:1200;background:#e9d7a2;color:#1e342b;font:800 11px/1.1 Arial,sans-serif;letter-spacing:.06em;padding:7px 10px;border-radius:20px;box-shadow:0 3px 14px #0002;pointer-events:none}
.room-newhero+.room-amenities{padding-top:25px;padding-bottom:28px}
.room-amenities .amenities-grid{margin-top:15px}
@media(max-width:760px){
  body.room-detail-page{padding-bottom:110px!important}
  body.room-detail-page .room-sticky-actions{display:flex!important;visibility:visible!important;opacity:1!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important;z-index:3000!important;background:#fffefa!important;min-height:68px;box-shadow:0 -5px 25px #1e392d38!important}
  body.room-detail-page .room-sticky-actions a{display:flex!important;visibility:visible!important}
  body.room-detail-page .room-sticky-price{display:flex!important}
  body.room-detail-page .room-newhero+.room-amenities{padding:20px 0 24px!important}
  body.room-detail-page .room-newhero{padding-bottom:12px!important}
  body.room-detail-page .room-amenities .amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.room-detail-page .mobile-room-summary{display:flex!important}
  body.room-detail-page .room-reservation-panel{padding:15px!important}
  body.room-detail-page .room-main-photo img{height:230px!important}
  .build-indicator{top:72px;right:8px;font-size:9px;padding:6px 8px}
}

/* v10 — каталог та фільтрована галерея */
.room-list-hero,.gallery-hero{background:linear-gradient(120deg,#ecf0e9,#faf8f2)}.room-list-hero .btn{margin-top:14px;border-radius:10px}.catalog-section{padding-top:66px}.catalog-toolbar{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}.catalog-switch,.gallery-filters{display:flex;flex-wrap:wrap;gap:9px}.catalog-filter,.gallery-filter{background:#fffdf8;border:1px solid #d6dfd3;border-radius:999px;padding:11px 17px;font-weight:750;color:#36513f;transition:background .2s,color .2s,transform .2s}.catalog-filter:hover,.gallery-filter:hover{transform:translateY(-2px);border-color:#315947}.catalog-filter.active,.gallery-filter.active{background:#224d3e;color:#fff;border-color:#224d3e}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.catalog-card{background:#fffdf8;border:1px solid #e2e7df;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px #17372c0d;display:flex;flex-direction:column}.catalog-photo{position:relative;overflow:hidden}.catalog-photo img{aspect-ratio:16/10;width:100%;object-fit:cover;transition:transform .35s}.catalog-photo:hover img{transform:scale(1.035)}.catalog-photo-label{position:absolute;bottom:15px;left:18px;background:#17372cce;color:#fff;padding:7px 12px;border-radius:20px;font-size:.78rem;font-weight:700}.catalog-card-body{padding:26px;display:flex;flex:1;flex-direction:column}.catalog-head{display:flex;justify-content:space-between;gap:14px;align-items:start}.catalog-head h3{font-size:1.5rem}.catalog-index{font:800 1.1rem Manrope;color:#90a08f}.catalog-card-body p{color:var(--muted)}.catalog-spec{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}.catalog-spec span{background:#f1f4ee;padding:8px 12px;border-radius:8px;font-weight:700;font-size:.84rem}.catalog-price{border-top:1px solid #e5e7df;display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:16px;gap:15px}.catalog-price span{color:var(--muted);font-size:.82rem}.catalog-price strong{white-space:nowrap;font-size:1.18rem}.catalog-actions{display:flex;gap:10px;margin-top:16px}.catalog-actions .btn{flex:1;border-radius:10px}.catalog-phone{display:grid;place-items:center;min-width:52px;border:1px solid #224d3e;color:#224d3e;border-radius:10px;font-size:1.4rem}.catalog-note{margin-top:22px;color:var(--muted);font-size:.85rem}.catalog-help{display:flex;align-items:center;justify-content:space-between;gap:40px}.catalog-help h2{margin-bottom:15px}.catalog-help p{max-width:570px;color:var(--muted)}.catalog-help-actions{display:flex;gap:12px;flex-wrap:wrap}.gallery-section{padding-top:56px}.gallery-filters{margin-bottom:30px}.gallery-filter .photo-count{opacity:.65;margin-left:2px}.gallery-filtered{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.photo-tile{margin:0;position:relative;overflow:hidden;border-radius:15px;background:#ebeee8}.photo-tile img{width:100%;height:260px;border-radius:0}.photo-tile figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,#13281fcc,transparent);color:white;padding:28px 16px 14px;font-size:.85rem;pointer-events:none}.photo-tile[hidden],.catalog-card[hidden]{display:none!important}.gallery-hint{color:var(--muted);font-size:.86rem;margin-top:22px}.lightbox figcaption{color:#cbd8ce}.catalog-help .btn{white-space:nowrap}
@media(max-width:900px){.catalog-toolbar{align-items:start;flex-direction:column}.gallery-filtered{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-help{flex-direction:column;align-items:start}}
@media(max-width:620px){.catalog-grid,.gallery-filtered{grid-template-columns:1fr}.catalog-card-body{padding:20px}.catalog-photo img{aspect-ratio:1.5}.catalog-head h3{font-size:1.28rem}.catalog-section{padding-top:42px}.photo-tile img{height:265px}.gallery-filters{gap:7px}.gallery-filter,.catalog-filter{padding:10px 12px;font-size:.84rem}.catalog-actions .btn{padding:12px}.catalog-help-actions{width:100%;flex-direction:column}.catalog-help-actions .btn{width:100%}}

/* v11: catalogue starts directly with rooms */
.catalog-section{padding-top:42px!important}
@media(max-width:620px){.catalog-section{padding-top:24px!important}}

/* v12 · embedded maps / direct directions */
.map-section{padding-bottom:96px}.map-section-head{display:flex;gap:20px;align-items:end;justify-content:space-between;margin-bottom:22px}.map-section-head h2{margin-bottom:10px}.map-section-head p{margin:0;color:var(--muted)}.map-section-head .eyebrow{margin-bottom:12px}.map-frame{border:1px solid var(--line);background:#e6ebe4;border-radius:18px;overflow:hidden;box-shadow:0 18px 35px rgba(31,51,44,.07)}.map-frame iframe{display:block;width:100%;height:460px;border:0}.map-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:19px}.map-actions .btn{min-height:48px}.map-section-head .btn{white-space:nowrap}
@media(max-width:620px){.map-section{padding-bottom:60px}.map-section-head h2{font-size:2rem}.map-section-head .map-desktop-action{display:none}.map-frame iframe{height:310px}.map-actions{display:grid;grid-template-columns:1fr}.map-actions .btn{width:100%}}


/* v13 · redesigned contacts section */
.contact-combo{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:26px;align-items:stretch}.contact-panel,.map-panel{background:#fffdf8;border:1px solid #e1e6dd;border-radius:26px;padding:30px;box-shadow:0 16px 36px rgba(31,51,44,.06)}.contact-panel h2{margin-bottom:14px}.contact-lead{color:var(--muted);font-size:1.02rem;max-width:36ch}.contact-badges{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 8px}.contact-badges span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#eef2ea;border:1px solid #d6dfd3;font-size:.84rem;font-weight:700;color:#2b4739}.phone-stack{display:grid;gap:14px;margin:24px 0}.phone-card{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:20px;background:linear-gradient(180deg,#f8fbf6 0%,#f2f6f0 100%);border:1px solid #d8e0d6;box-shadow:0 10px 24px rgba(31,51,44,.05);transition:transform .2s,box-shadow .2s,border-color .2s}.phone-card:hover{transform:translateY(-3px);box-shadow:0 16px 28px rgba(31,51,44,.09);border-color:#c2d0c1}.phone-icon{width:52px;height:52px;flex:0 0 auto;border-radius:16px;background:#214838;color:#fff;display:grid;place-items:center;font-size:1.3rem;box-shadow:0 10px 20px rgba(34,77,62,.18)}.phone-copy{display:flex;flex-direction:column;line-height:1.18}.phone-copy small{font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:#6f7d74;font-weight:800;margin-bottom:7px}.phone-copy strong{font:800 1.32rem/1.08 Manrope;color:#1d332b;margin-bottom:6px}.phone-copy span:last-child{font-size:.92rem;color:var(--muted)}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}.contact-actions .btn{flex:1;min-width:190px}.contact-note{font-size:.9rem;color:var(--muted);margin-top:16px}.map-panel{display:flex;flex-direction:column}.map-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.map-panel-head h3{margin-bottom:8px}.map-panel-head p{margin:0;color:var(--muted)}.map-inline-link{font-weight:800;color:#224d3e;white-space:nowrap;border-bottom:1px solid rgba(34,77,62,.35);padding-bottom:2px}.map-inline-link:hover{color:#17372c}.map-panel .map-frame{margin:0;border-radius:20px}.map-panel .map-frame iframe{height:440px}.map-mini-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.map-mini-actions .btn{min-width:180px}.contactgrid,.contact-info,.map-section{display:none}@media(max-width:920px){.contact-combo{grid-template-columns:1fr}.map-panel .map-frame iframe{height:360px}.map-panel-head{flex-direction:column}.map-inline-link{white-space:normal}}@media(max-width:620px){.contact-panel,.map-panel{padding:20px;border-radius:20px}.phone-card{padding:15px;border-radius:18px}.phone-icon{width:46px;height:46px;font-size:1.15rem}.phone-copy strong{font-size:1.13rem}.contact-actions,.map-mini-actions{display:grid;grid-template-columns:1fr}.contact-actions .btn,.map-mini-actions .btn{width:100%;min-width:0}.map-panel .map-frame iframe{height:290px}}

/* visual version confirmation — remove before public launch */

.contact-actions-single .btn-booking-large{width:100%;min-height:64px;font-size:1.12rem;border-radius:16px;box-shadow:0 16px 28px rgba(34,77,62,.18)}
.contact-actions-single .btn-booking-large:hover{transform:translateY(-2px)}

/* v16 · social links on contact page */
.contact-social{margin-top:26px;padding-top:22px;border-top:1px solid #e0e5dc}.contact-social-label{font-size:.85rem;font-weight:800;color:#526a58;margin-bottom:12px}.contact-social-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.social-button{display:flex;align-items:center;gap:9px;padding:13px 14px;background:#f3f6f0;border:1px solid #d5dfd4;border-radius:14px;color:#224d3e;font-weight:800;font-size:.95rem;transition:transform .2s,background .2s,border-color .2s}.social-button svg{width:23px;height:23px;flex-shrink:0}.social-button:hover{transform:translateY(-2px);background:#e7eee5;border-color:#92b09d}.social-arrow{margin-left:auto;color:#6e8574}@media(max-width:420px){.contact-social-links{grid-template-columns:1fr}}

/* v17 contact: clear mobile path from contact details to map and socials */
.email-card .phone-icon svg{width:24px;height:24px}
.email-card .phone-copy strong{font-size:1.04rem;overflow-wrap:anywhere}
.contact-social-mobile{display:none}
@media(max-width:920px){
  body:has(.contact-combo) .section.container{padding-top:28px}
  .contact-combo{gap:14px}
  .contact-social-desktop{display:none!important}
  .contact-social-mobile{display:block;background:#fffdf8;border:1px solid #e1e6dd;border-radius:20px;padding:20px}
}
@media(max-width:620px){
  body:has(.contact-combo) .topbar{display:none}
  body:has(.contact-combo) .section.container{padding-top:10px;padding-bottom:35px}
  .contact-combo{gap:12px}
  .contact-panel,.map-panel{padding:17px;border-radius:18px}
  .contact-panel .eyebrow,.contact-panel .contact-lead{display:none}
  .contact-panel h2{font-size:clamp(1.48rem,6vw,1.75rem);line-height:1.18;margin:0 0 16px;letter-spacing:-.04em}
  .phone-stack{gap:9px;margin:0 0 13px}
  .phone-card{padding:12px;gap:11px;align-items:center;border-radius:14px}
  .phone-icon{width:40px;height:40px;border-radius:12px;font-size:1.1rem}
  .phone-icon svg{width:20px;height:20px}
  .phone-copy small{margin-bottom:4px;font-size:.65rem;letter-spacing:.035em}
  .phone-copy strong{margin-bottom:0;font-size:1.01rem;line-height:1.18}
  .phone-copy span:last-child{display:none}
  .email-card .phone-copy strong{font-size:.92rem;overflow-wrap:anywhere}
  .contact-actions{margin-top:8px}
  .contact-actions-single .btn-booking-large{min-height:53px;font-size:1rem;border-radius:13px}
  .map-panel .map-panel-head{gap:7px;margin-bottom:10px}
  .map-panel-head .eyebrow,.map-panel-head h3{display:none}
  .map-panel-head p{font-size:.95rem;font-weight:750;line-height:1.4;color:#26473a}
  .map-inline-link{font-size:.84rem;width:max-content}
  .map-panel .map-frame{border-radius:13px}
  .map-panel .map-frame iframe{height:260px}
  .contact-social-mobile{padding:16px}
  .contact-social-mobile .contact-social-label{margin-bottom:10px}
  .contact-social-mobile .contact-social-links{gap:9px}
}

/* v18: mobile social strip sits directly beneath the map */
@media (min-width:921px){.map-panel .contact-social-mobile{display:none!important}}
@media (max-width:920px){
  .map-panel .contact-social-mobile{display:block!important;margin:10px 0 0;padding:13px 14px;background:#e5eee5;border:1px solid #cfddcf;border-radius:15px;box-shadow:none}
  .map-panel .contact-social-label{margin:0 0 9px;color:#28503e;font-size:.79rem}
  .map-panel .contact-social-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px}
  .map-panel .social-button{min-width:0;min-height:46px;justify-content:center;padding:9px 8px;background:#fffefa;border:1px solid #ccdaca;border-radius:11px;font-size:.82rem;gap:6px}
  .map-panel .social-button svg{width:19px;height:19px}
  .map-panel .social-arrow{display:none}
}
@media (max-width:390px){.map-panel .social-button{font-size:.77rem;gap:5px;padding:8px 5px}.map-panel .social-button svg{width:17px;height:17px}}

/* v19: clear, accessible booking CTA in the header */
.header .navcta-book{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex:0 0 auto;white-space:nowrap;min-height:49px;padding:11px 19px;border:1px solid #1d4937;border-radius:14px;background:linear-gradient(135deg,#285c43 0%,#173d30 100%);color:#fff;box-shadow:0 8px 18px rgba(23,61,48,.2);font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:.89rem;letter-spacing:.005em;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.header .navcta-book:hover{transform:translateY(-2px);background:linear-gradient(135deg,#326b4e 0%,#1e503c 100%);color:#fff;box-shadow:0 12px 24px rgba(23,61,48,.27)}
.header .navcta-book:focus-visible{outline:3px solid #c9a765;outline-offset:3px}
.header .navcta-book .navcta-icon{display:block;flex:0 0 auto;width:19px;height:19px}
.header .navcta-book .navcta-arrow{display:block;flex:0 0 auto;width:17px;height:17px;opacity:.83;transition:transform .18s ease}
.header .navcta-book:hover .navcta-arrow{transform:translateX(3px)}
@media(max-width:620px){.header .navcta-book{min-height:39px;border-radius:11px;padding:8px 11px;gap:6px;font-size:.75rem;box-shadow:0 4px 12px rgba(23,61,48,.18)}.header .navcta-book .navcta-icon{width:17px;height:17px}.header .navcta-book .navcta-arrow{display:none}.header .nav{gap:9px}.header .logo{gap:8px}}
@media(max-width:360px){.header .navcta-book{padding:8px;font-size:.71rem}.header .logo-text strong{font-size:.74rem}.header .logo-badge{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.header .navcta-book,.header .navcta-book .navcta-arrow{transition:none}}

/* v20 booking */
.booking-main{background:#f6f4ee;padding-bottom:90px}.booking-intro{padding-top:55px;padding-bottom:26px}.booking-intro .eyebrow{margin-bottom:12px}.booking-intro h1{font-size:clamp(2rem,3.3vw,3.3rem);margin-bottom:12px}.booking-intro p{max-width:650px;color:var(--muted);margin-bottom:0}.booking-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.85fr);gap:24px;align-items:start}.booking-form-shell,.booking-aside{background:#fffdf9;border:1px solid #e0e5db;border-radius:22px;overflow:hidden;box-shadow:0 16px 36px #1f332c0c}.booking-form-shell{padding:32px}.booking-form-heading{display:flex;align-items:center;gap:16px;margin-bottom:24px}.booking-form-heading h2{font-size:1.55rem;margin-bottom:3px}.booking-form-heading p{font-size:.88rem;color:var(--muted);margin-bottom:0}.booking-mini-icon{display:grid;place-items:center;background:#e8eee7;color:#224d3e;border-radius:14px;width:52px;height:52px;flex:0 0 auto}.booking-mini-icon svg{width:27px;height:27px}.booking-fields-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-field{margin-bottom:17px}.booking-field label{font-size:.85rem;font-weight:750}.booking-optional{font-weight:500;color:var(--muted);font-size:.78rem}.booking-field input,.booking-field select,.booking-field textarea{min-height:48px;width:100%;background:#fff;border:1px solid #d2d9d0;border-radius:11px;padding:12px 14px;color:#20382a}.booking-field textarea{min-height:80px}.booking-field :is(input,select,textarea):focus{outline:2px solid #8cac95;outline-offset:2px}.booking-consent{display:flex;align-items:flex-start;gap:11px;font-weight:400;color:#4b5e53;font-size:.8rem;line-height:1.55;margin-bottom:18px}.booking-consent input{width:19px;height:19px;margin:2px 0 0;flex:0 0 auto;accent-color:#224d3e}.booking-error{background:#fff0ed;border:1px solid #c78a79;border-radius:10px;padding:12px;color:#8f3523;font-size:.89rem}.booking-submit{border-radius:12px;width:100%;min-height:56px;font-size:1rem;gap:12px}.booking-submit svg{width:20px;height:20px}.booking-disclaimer{color:#617166;font-size:.78rem;line-height:1.6;margin:12px 0 0}.booking-aside-photo{height:230px;position:relative}.booking-aside-photo img{height:100%;width:100%;object-fit:cover}.booking-aside-photo span{position:absolute;left:18px;bottom:18px;background:#173d2fdc;color:white;font-weight:750;border-radius:9px;padding:8px 12px}.booking-help{padding:25px}.booking-help h2{font-size:1.4rem;margin-bottom:10px}.booking-help p{color:var(--muted);font-size:.94rem}.booking-tel{display:flex;align-items:center;gap:10px;background:#e8efe6;border-radius:12px;padding:15px;color:#204836;font-weight:800;font-size:1.12rem}.booking-tel svg{width:22px;height:22px;flex:0 0 auto}.booking-second-link{display:block;margin-top:13px;color:#204836;font-weight:700}.booking-help-divider{border-top:1px solid #e3e8dd;margin:23px 0}.booking-aside-tip{line-height:1.9}.booking-rooms-link{display:inline-block;font-weight:750;border-bottom:1px solid #a7b9a7;color:#244d3d;padding-bottom:3px}@media(max-width:850px){.booking-layout{grid-template-columns:1fr}.booking-aside{display:grid;grid-template-columns:210px 1fr}.booking-aside-photo{height:100%}}@media(max-width:620px){.booking-main{padding-bottom:45px}.booking-intro{padding-top:24px;padding-bottom:18px}.booking-intro h1{font-size:2rem}.booking-intro p{font-size:.9rem}.booking-form-shell{padding:20px 17px;border-radius:17px}.booking-form-heading{margin-bottom:19px}.booking-fields-2{gap:10px}.booking-fields-2 .booking-field{min-width:0}.booking-field input,.booking-field select{padding:10px 9px;font-size:16px}.booking-field{margin-bottom:12px}.booking-field label{margin-bottom:5px}.booking-aside{display:block}.booking-aside-photo{height:165px}.booking-help{padding:18px}.booking-tel{font-size:1rem}.booking-disclaimer{font-size:.77rem}.booking-submit{min-height:52px}.booking-form-heading h2{font-size:1.28rem}}

/* v21 — consistent booking aside phone cards and return button */
.booking-help .booking-tel{display:flex;align-items:center;gap:12px;margin-top:11px;background:#e8efe6;border:1px solid #dce5da;border-radius:13px;padding:15px 16px;color:#204836;font-weight:800;font-size:clamp(.94rem,1.45vw,1.12rem);line-height:1.3;box-shadow:0 3px 9px rgba(30,66,45,.035);transition:background .2s,transform .2s,border-color .2s}
.booking-help .booking-tel:first-of-type{margin-top:18px}
.booking-help .booking-tel svg{width:23px;height:23px;flex-shrink:0}
.booking-help .booking-tel:hover{background:#dee9dc;border-color:#bfceb9;transform:translateY(-2px)}
.booking-help .booking-rooms-link{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;margin-top:21px;padding:14px 17px;min-height:52px;border:1.5px solid #224d3e;border-radius:12px;background:#fffdf9;color:#224d3e;font-weight:800;text-align:center;text-decoration:none;transition:background .2s,transform .2s,border-color .2s}
.booking-help .booking-rooms-link svg{width:19px;height:19px;flex-shrink:0;transition:transform .2s}
.booking-help .booking-rooms-link:hover{background:#edf3eb;transform:translateY(-2px)}
.booking-help .booking-rooms-link:hover svg{transform:translateX(-3px)}
@media(max-width:620px){.booking-help .booking-tel{padding:13px 14px;font-size:clamp(.94rem,4.2vw,1.08rem)}.booking-help .booking-rooms-link{min-height:50px}}

/* v22 · booking: clean compact help panel, without decorative image */
.booking-aside{overflow:hidden}.booking-aside .booking-help{padding:28px}.booking-aside .booking-help h2{margin-bottom:12px}
@media(max-width:850px){.booking-aside{display:block}}
@media(max-width:620px){.booking-aside .booking-help{padding:19px}.booking-help-divider{margin:17px 0}}

/* v24: photography-led hotel hero inspired by Aman, Rosewood & Six Senses */
.hero-art{background:none!important;isolation:isolate}.hero-art>picture{position:absolute;inset:0;z-index:-1;display:block;overflow:hidden}.hero-art .hotel-hero-photo{width:100%;height:100%;object-fit:cover;object-position:50% 52%}.hero-art::before,.hero-art::after{pointer-events:none}.hero-buttons .hero-main-cta{background:#214c3b;color:#fff;border-color:#214c3b}.hero-buttons .hero-main-cta::after{content:'↗';margin-left:14px}.hero-buttons .hero-secondary-cta::after{content:'↗';margin-left:10px}.hero-buttons .hero-secondary-cta{background:transparent}.hero-buttons .hero-secondary-cta:hover{background:#e4ebe1}.hero-art .artlabel{backdrop-filter:blur(5px)}
@media(max-width:900px){.hero{display:flex;flex-direction:column}.hero-art{order:0}.hero-copy{order:1}}
@media(max-width:620px){
  .hero{display:flex;flex-direction:column;background:#faf8f2}
  .hero-art{order:0;min-height:0;height:clamp(230px,66vw,330px);border-radius:0 0 22px 22px;overflow:hidden;position:relative}
  .hero-art .hotel-hero-photo{object-position:center 47%}
  .hero-art::before{display:none}.hero-art::after{display:none}
  .hero-art .hero-card{display:none}.hero-art .artlabel{bottom:13px;left:14px;padding:7px 13px;font-size:.72rem;background:#163f31cc}
  .hero-copy{order:1;padding:20px 17px 34px!important;overflow:visible}
  .hero-copy::before{display:none}
  .hero-copy .eyebrow{font-size:.65rem;letter-spacing:.16em;margin:0 0 12px}
  .hero-copy h1{font-size:clamp(2.14rem,9.3vw,3.55rem);line-height:1.05;letter-spacing:-.055em;margin:0 0 13px}
  .hero-copy h1 em{color:#536f58}
  .hero-copy .lead{font-size:.90rem;line-height:1.5;margin:0 0 16px;max-width:50ch}
  .hero-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px;width:100%}
  .hero-buttons .btn{min-width:0;padding:12px 8px;border-radius:12px;font-size:.83rem;white-space:nowrap;min-height:48px;box-shadow:none}
  .hero-buttons .hero-main-cta::after{margin-left:6px}.hero-buttons .hero-secondary-cta::after{margin-left:6px}
  .hero-copy .quick-links{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0 10px}
  .hero-copy .quick-link{padding:7px 9px;font-size:.74rem;gap:4px;border-radius:999px}
  .hero-copy .review-row{margin-top:14px}
  .hero-copy .hero-note{margin:12px 0 0}
}
@media(max-width:360px){.hero-buttons{grid-template-columns:1fr}.hero-copy h1{font-size:2.1rem}}


/* V44 — Useful, equal-height room category cards on home page */
.home-rooms-v44{padding-top:clamp(38px,5vw,68px);padding-bottom:76px}
.home-rooms-v44 .section-heading{align-items:end;margin-bottom:29px;gap:30px}
.home-rooms-v44 .section-heading h2{max-width:650px;margin:0;line-height:1.07}
.home-rooms-v44 .section-heading>p{font-size:.98rem;max-width:440px;line-height:1.6;margin:0}
.home-rooms-v44 .cards-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;align-items:stretch}
.home-rooms-v44 .room-card{display:flex;flex-direction:column;overflow:hidden;border-radius:18px;border:1px solid #e1e5dd;background:#fffdfa;box-shadow:0 8px 26px rgba(31,51,44,.055)}
.home-rooms-v44 .room-photo-link{display:block;overflow:hidden;flex:none}
.home-rooms-v44 .room-photo-link img{aspect-ratio:1.22;width:100%;object-fit:cover;transition:transform .3s ease}
.home-rooms-v44 .room-photo-link:hover img{transform:scale(1.035)}
.home-rooms-v44 .room-body{padding:20px 17px 17px;display:flex;flex-direction:column;flex:1;min-width:0;gap:0}
.home-rooms-v44 .room-body h3{font-size:clamp(1.11rem,1.65vw,1.37rem);line-height:1.25;letter-spacing:-.025em;min-height:3.1em;margin:0 0 11px}
.home-rooms-v44 .room-body .meta{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:0 0 15px;color:#46634e}
.home-rooms-v44 .room-body .meta span{display:flex;align-items:center;gap:7px;font-size:.77rem;line-height:1.35;font-weight:650}
.home-rooms-v44 .room-body .meta svg{width:17px;height:17px;flex:0 0 17px;color:#5d775f}
.home-rooms-v44 .room-body>p{font-size:.82rem;line-height:1.6;margin:0 0 12px;color:#657169;flex:1}
.home-rooms-v44 .price-placeholder{margin-top:auto;padding-top:13px;border-top:1px solid #e5e9e1;color:#657169;min-height:40px}
.home-rooms-v44 .price-placeholder span{font-size:.76rem;line-height:1.45}
.home-rooms-v44 .room-body .btn-card{margin-top:12px;display:flex;justify-content:space-between;gap:8px;align-items:center;width:100%;border-radius:12px;min-height:48px;padding:12px 15px;font-size:.84rem;background:#234e3c;color:#fff}
.home-rooms-v44 .room-body .btn-card:hover{background:#17372c;transform:translateY(-2px)}
.home-rooms-v44 .room-body .btn-card svg{width:19px;height:19px;flex:0 0 19px}
@media(max-width:1100px){.home-rooms-v44 .cards-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.home-rooms-v44 .room-body h3{min-height:0;font-size:1.3rem}.home-rooms-v44 .room-photo-link img{aspect-ratio:1.65}}
@media(max-width:620px){.home-rooms-v44{padding-top:40px;padding-bottom:52px}.home-rooms-v44 .section-heading{margin-bottom:20px}.home-rooms-v44 .section-heading h2{font-size:2rem}.home-rooms-v44 .section-heading>p{font-size:.85rem;line-height:1.5;margin-top:10px}.home-rooms-v44 .cards-4{grid-template-columns:1fr;gap:16px}.home-rooms-v44 .room-photo-link img{aspect-ratio:1.6}.home-rooms-v44 .room-body{padding:19px}.home-rooms-v44 .room-body h3{font-size:1.38rem}.home-rooms-v44 .room-body .meta{gap:7px}.home-rooms-v44 .room-body>p{font-size:.88rem}}


/* V45 — consistent catalogue cards and quick-access category button */
.home-rooms-v44 .section-heading {align-items:center}
.home-rooms-v44 .all-rooms-button {display:inline-flex;gap:12px;align-items:center;justify-content:center;min-height:53px;padding:12px 18px;background:#e7eee5;border:1.5px solid #b9cbb9;border-radius:13px;color:#224d3e;font-weight:800;font-size:.87rem;line-height:1.25;white-space:nowrap;transition:transform .2s,background .2s,border-color .2s}
.home-rooms-v44 .all-rooms-button:hover {background:#dce9db;border-color:#73937b;transform:translateY(-2px)}
.home-rooms-v44 .all-rooms-button svg {height:21px;width:21px;flex-shrink:0}
.home-rooms-v44 .all-rooms-button svg:last-child {height:18px;width:18px}
.home-rooms-v44 .room-body h3 {min-height:3.0em;margin-bottom:10px}
.home-rooms-v44 .room-body .meta {min-height:4.2em;margin-bottom:11px}
.home-rooms-v44 .room-body>p {flex:1;min-height:8.0em;margin-bottom:14px}
.home-rooms-v44 .room-body .price-placeholder {display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:74px;margin-top:auto;padding-top:12px}
.home-rooms-v44 .room-body .price-placeholder span {font-size:.73rem;color:#7c887d}
.home-rooms-v44 .room-body .price-placeholder strong {font-size:1.08rem;color:#253d30;font-weight:800;white-space:nowrap}
@media (max-width:1100px){.home-rooms-v44 .room-body h3,.home-rooms-v44 .room-body .meta,.home-rooms-v44 .room-body>p{min-height:0}.home-rooms-v44 .room-body .meta{min-height:3.5em}.home-rooms-v44 .room-body>p{min-height:4.4em}}
@media (max-width:620px){.home-rooms-v44 .section-heading {align-items:stretch;gap:16px}.home-rooms-v44 .all-rooms-button {width:100%;justify-content:space-between;white-space:normal;padding:13px 15px}.home-rooms-v44 .room-body h3,.home-rooms-v44 .room-body .meta,.home-rooms-v44 .room-body>p{min-height:0}.home-rooms-v44 .room-body .price-placeholder{min-height:66px}}

/* V46 — Compact room cards: no artificial stretch between room information and price. */
@media (min-width:1101px) {
  .home-rooms-v44 .room-body h3 {
    min-height: 2.52em;
    margin-bottom: 7px;
  }
  .home-rooms-v44 .room-body .meta {
    min-height: 0;
    margin-bottom: 10px;
    gap: 6px;
  }
  .home-rooms-v44 .room-body > p {
    flex: none;
    min-height: 5.0em;
    margin-bottom: 10px;
    line-height: 1.52;
  }
  .home-rooms-v44 .room-body .price-placeholder {
    margin-top: 0;
    min-height: 0;
    padding-top: 11px;
    gap: 2px;
  }
  .home-rooms-v44 .room-body .btn-card {
    margin-top: 13px;
  }
}
@media (max-width:1100px) {
  .home-rooms-v44 .room-body > p {
    flex: none;
    min-height: 0;
  }
  .home-rooms-v44 .room-body .price-placeholder {
    margin-top: 8px;
  }
}

/* V47: remove unused whitespace between hero and room catalog (homepage only). */
.home-v29 .home-rooms-v44.section{padding-top:30px;}
@media(max-width:900px){.home-v29 .home-rooms-v44.section{padding-top:20px;}}
@media(max-width:620px){.home-v29 .home-rooms-v44.section{padding-top:14px;}}


/* V48: eliminate unused minimum-height below mobile homepage hero. */
@media (max-width: 900px) {
  body.home-v29 .hero {
    min-height: 0 !important;
    height: auto !important;
    align-items: stretch !important;
  }
  body.home-v29 .hero-copy {
    flex: 0 0 auto !important;
    min-height: 0 !important;
  }
}
@media (max-width: 620px) {
  body.home-v29 .hero-copy {
    padding-bottom: 12px !important;
  }
  body.home-v29 .hero-copy .quick-links {
    margin-bottom: 0 !important;
  }
  body.home-v29 .home-rooms-v44.section {
    padding-top: 14px !important;
  }
  body.home-v29 .home-rooms-v44 .section-heading {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 15px !important;
    margin-bottom: 22px !important;
  }
  body.home-v29 .home-rooms-v44 .section-heading > div {
    width: 100%;
  }
  body.home-v29 .home-rooms-v44 .section-heading .eyebrow {
    margin-bottom: 8px !important;
  }
  body.home-v29 .home-rooms-v44 .section-heading h2 {
    margin: 0 !important;
    line-height: 1.16 !important;
  }
  body.home-v29 .home-rooms-v44 .all-rooms-button {
    width: 100% !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
    min-height: 52px !important;
    align-self: stretch !important;
  }
}


/* V49 — cleaner mobile hero actions and single elegant call bar */
@media (max-width: 620px) {
  body.home-v29 .hero-copy {
    padding-bottom: 18px !important;
  }

  body.home-v29 .hero-buttons {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
  }

  body.home-v29 .hero-buttons .hero-main-cta {
    width: 100% !important;
    min-height: 52px !important;
    border-radius: 14px !important;
    font-size: .93rem !important;
    box-shadow: 0 10px 24px rgba(31, 51, 44, .14) !important;
  }

  body.home-v29 .hero-buttons .hero-secondary-cta {
    align-self: center !important;
    width: auto !important;
    min-height: auto !important;
    padding: 4px 6px 0 !important;
    border: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    font-size: .92rem !important;
    font-weight: 700 !important;
    color: #355746 !important;
    box-shadow: none !important;
  }

  body.home-v29 .hero-buttons .hero-secondary-cta::after {
    margin-left: 7px !important;
  }

  body.home-v29 .hero-copy .quick-links {
    display: none !important;
  }

  .mobilebar.mobilebar-call {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0 !important;
    padding: 12px 14px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    background: linear-gradient(180deg, rgba(246,243,237,0) 0%, rgba(246,243,237,.82) 28%, rgba(246,243,237,.95) 100%) !important;
    border-top: 0 !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    box-shadow: none !important;
  }

  .mobilebar.mobilebar-call .mobilebar-call-btn {
    width: min(100%, 420px) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 13px 18px !important;
    border-radius: 999px !important;
    background: rgba(34, 77, 62, .88) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    box-shadow: 0 14px 28px rgba(23, 55, 44, .18), inset 0 1px 0 rgba(255,255,255,.12) !important;
    font-size: .94rem !important;
    font-weight: 800 !important;
    letter-spacing: .01em !important;
  }

  .mobilebar.mobilebar-call .mobilebar-call-btn svg {
    width: 19px !important;
    height: 19px !important;
    flex: 0 0 19px !important;
  }

  body {
    padding-bottom: 86px !important;
  }
}


/* V50 — clearer hero buttons and simpler mobile call bar */
.hero-buttons .btn{gap:11px}
.hero-buttons .btn svg{width:19px;height:19px;flex:0 0 19px}
.hero-buttons .btn .btn-arrow{width:18px;height:18px;opacity:.92}
.hero-buttons .hero-secondary-cta{background:rgba(255,253,248,.88);border-color:rgba(34,77,62,.78)}
.hero-buttons .hero-secondary-cta:hover{background:#eef2ea}

@media (max-width: 620px) {
  body.home-v29 .hero-buttons {
    gap: 10px !important;
  }

  body.home-v29 .hero-buttons .hero-main-cta,
  body.home-v29 .hero-buttons .hero-secondary-cta {
    width: 100% !important;
    min-height: 54px !important;
    padding: 14px 18px !important;
    border-radius: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    font-size: .95rem !important;
    font-weight: 800 !important;
  }

  body.home-v29 .hero-buttons .hero-main-cta {
    box-shadow: 0 10px 24px rgba(31, 51, 44, .14) !important;
  }

  body.home-v29 .hero-buttons .hero-secondary-cta {
    align-self: stretch !important;
    padding: 13px 18px !important;
    border: 1.5px solid rgba(34, 77, 62, .82) !important;
    background: rgba(255, 253, 248, .72) !important;
    border-radius: 14px !important;
    color: #294c3c !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.65) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
  }

  body.home-v29 .hero-buttons .hero-secondary-cta::after {
    display: none !important;
  }

  body.home-v29 .hero-buttons .hero-secondary-cta:hover {
    background: rgba(255,253,248,.84) !important;
  }

  .mobilebar.mobilebar-call {
    background: transparent !important;
    border-top: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .mobilebar.mobilebar-call .mobilebar-call-btn {
    background: rgba(34, 77, 62, .74) !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    box-shadow: 0 10px 20px rgba(23, 55, 44, .14), inset 0 1px 0 rgba(255,255,255,.08) !important;
  }
}

/* V51: remove legacy decorative arrows; keep single intentional SVG arrow. */
body.home-v29 .hero-buttons .hero-main-cta::after,
body.home-v29 .hero-buttons .hero-secondary-cta::after { content: none !important; display: none !important; }
body.home-v29 .hero-buttons .btn { gap: 9px !important; }
body.home-v29 .hero-buttons .btn > span { white-space: nowrap !important; }
@media(max-width:620px) {
  body.home-v29 .hero-buttons .btn { font-size: clamp(.78rem, 3.5vw, .94rem) !important; padding-left: 10px !important; padding-right: 10px !important; gap: 8px !important; }
  body.home-v29 .hero-buttons .btn svg { width: 18px !important; height: 18px !important; flex: 0 0 18px !important; }
  body.home-v29 .hero-buttons .btn .btn-arrow { width: 17px !important; height: 17px !important; flex: 0 0 17px !important; }
}


/* V52 about section improvements */
.home-v29 .home-rooms-v44.section{padding-bottom:44px}
.about-section{padding-top:46px;padding-bottom:74px}
.about-wrap{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:44px}
.about-carousel{position:relative;background:#fffdf8;border:1px solid #dce3d9;border-radius:24px;padding:14px;box-shadow:0 18px 38px rgba(31,51,44,.07)}
.about-viewport{overflow:hidden;border-radius:18px}
.about-track{display:flex;transition:transform .48s ease}
.about-slide{min-width:100%;position:relative;margin:0}
.about-slide img{display:block;width:100%;height:520px;object-fit:cover}
.about-slide figcaption{position:absolute;left:18px;right:18px;bottom:18px;padding:12px 15px;border-radius:14px;background:rgba(20,43,34,.58);backdrop-filter:blur(8px);color:#fff;font-size:.88rem;line-height:1.45}
.about-carousel-btn{position:absolute;top:calc(50% - 24px);transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(255,253,248,.88);color:#224d3e;box-shadow:0 10px 22px rgba(31,51,44,.16);transition:transform .2s ease,background .2s ease}
.about-carousel-btn:hover{transform:translateY(-50%) scale(1.04);background:#fff}
.about-carousel-btn svg{width:20px;height:20px}
.about-prev{left:24px}.about-next{right:24px}
.about-dots{display:flex;align-items:center;justify-content:center;gap:8px;padding-top:14px}
.about-dot{width:10px;height:10px;border-radius:50%;border:0;background:#cad4c9;padding:0;transition:transform .2s ease,background .2s ease}
.about-dot.active,.about-dot:hover{background:#224d3e;transform:scale(1.06)}
.about-copy .eyebrow{margin-bottom:18px}
.about-copy h2{margin-bottom:18px;max-width:8.5em}
.about-copy>p{margin:0;color:#5f6f66;font-size:1.03rem;line-height:1.78;max-width:650px}
.about-featuregrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px}
.about-feature{display:flex;gap:14px;align-items:flex-start;padding:18px;background:rgba(255,253,248,.9);border:1px solid #dbe2da;border-radius:18px;box-shadow:0 8px 24px rgba(31,51,44,.035)}
.about-feature-icon{width:44px;height:44px;flex:0 0 44px;border-radius:14px;display:grid;place-items:center;background:#e8efe6;color:#224d3e}
.about-feature-icon svg{width:22px;height:22px}
.about-feature b{display:block;font-size:1rem;line-height:1.25;margin-bottom:6px;color:#20362d}
.about-feature span{display:block;color:#657169;font-size:.9rem;line-height:1.58}
@media(max-width:1100px){.about-wrap{grid-template-columns:1fr;gap:28px}.about-copy h2{max-width:none}.about-slide img{height:440px}}
@media(max-width:620px){.home-v29 .home-rooms-v44.section{padding-bottom:24px}.about-section{padding-top:24px;padding-bottom:52px}.about-carousel{padding:10px;border-radius:20px}.about-slide img{height:260px}.about-slide figcaption{left:10px;right:10px;bottom:10px;padding:10px 12px;font-size:.78rem;line-height:1.38}.about-carousel-btn{width:38px;height:38px;top:calc(50% - 34px)}.about-prev{left:16px}.about-next{right:16px}.about-copy h2{font-size:2.08rem;margin-bottom:14px}.about-copy>p{font-size:.95rem;line-height:1.68}.about-featuregrid{grid-template-columns:1fr;gap:12px;margin-top:20px}.about-feature{padding:15px;border-radius:16px}.about-feature b{font-size:.95rem}.about-feature span{font-size:.86rem}}


/* V53 about section layout */
.about-section{padding-top:42px;padding-bottom:74px}
.about-shell{display:block}
.about-header{margin-bottom:24px;max-width:860px}
.about-header .eyebrow{margin-bottom:14px}
.about-header h2{margin:0;max-width:10.5em}
.about-body{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:44px}
.about-copy{padding-top:6px}
.about-copy>p{margin-top:0}
.about-carousel{padding:16px}
.about-slide img{height:580px}
@media(max-width:1100px){.about-header{margin-bottom:20px}.about-body{grid-template-columns:1fr;gap:26px}.about-copy{padding-top:0}.about-slide img{height:470px}}
@media(max-width:620px){.about-section{padding-top:20px;padding-bottom:52px}.about-header{margin-bottom:14px}.about-header .eyebrow{margin-bottom:10px}.about-header h2{font-size:2.02rem;line-height:1.02;max-width:9.5em}.about-body{gap:18px}.about-carousel{padding:10px}.about-slide img{height:300px}.about-copy>p{margin-top:0}}


/* V54 — on wide screens align the right-side introduction with the left title. */
@media (min-width: 1101px) {
  body.home-v29 .about-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    column-gap: 44px;
    row-gap: 24px;
    align-items: start;
  }
  body.home-v29 .about-header {
    grid-column: 1;
    grid-row: 1;
    margin-bottom: 0;
    max-width: none;
  }
  body.home-v29 .about-body {
    display: contents;
  }
  body.home-v29 .about-carousel {
    grid-column: 1;
    grid-row: 2;
    min-width: 0;
  }
  body.home-v29 .about-copy {
    grid-column: 2;
    grid-row: 1 / span 2;
    min-width: 0;
    padding-top: 48px;
    align-self: start;
  }
}


/* V56: compact transition to reviews and larger on-carousel navigation */
.home-v29 .about-section{padding-bottom:32px!important}
.home-v29 .reviews-section.section{padding-top:38px!important}
.home-v29 .reviews-heading{margin-bottom:22px!important}
.home-v29 .reviews-carousel{position:relative;isolation:isolate}
.home-v29 .reviews-carousel .reviews-controls{position:absolute;z-index:5;top:50%;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:0;transform:translateY(-50%);padding:0 15px;pointer-events:none}
.home-v29 .reviews-carousel .reviews-controls button{width:56px;height:56px;display:grid;place-items:center;pointer-events:auto;font-size:29px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:rgba(250,248,243,.9);box-shadow:0 8px 23px rgba(25,45,34,.19);color:#224d3e;transition:background .2s,transform .2s}
.home-v29 .reviews-carousel .reviews-controls button:hover{background:#fff;transform:scale(1.05)}
@media(max-width:700px){
  .home-v29 .about-section{padding-bottom:22px!important}
  .home-v29 .reviews-section.section{padding-top:28px!important}
  .home-v29 .reviews-heading{margin-bottom:16px!important}
  .home-v29 .reviews-carousel .reviews-controls{top:120px;padding:0 10px}
  .home-v29 .reviews-carousel .reviews-controls button{width:46px;height:46px;font-size:25px}
}

/* V57: full-width contact invitation + tighter vertical rhythm */
.home-v29 .reviews-section{padding-bottom:20px!important;}
.home-v29 .reviews-footer{margin-bottom:0!important;padding-bottom:0!important;}
.home-v29 .wide-booking-cta{position:relative;isolation:isolate;background:linear-gradient(180deg,#214838 0%,#214838 78%,#182f27 100%);padding:42px 0 70px;margin:0;overflow:hidden;}
.home-v29 .wide-booking-cta .callout{background:transparent!important;padding:28px 0 0!important;border-radius:0!important;box-shadow:none!important;}
.home-v29 .wide-booking-cta::after{content:"";position:absolute;left:0;right:0;bottom:0;height:100px;background:linear-gradient(to bottom,rgba(24,47,39,0),#182f27);pointer-events:none;z-index:-1;}
.home-v29 .wide-booking-cta + .footer{padding-top:35px!important;}
.home-v29 .reviews-section .review-stars{font:700 .85rem Manrope,sans-serif;color:#8e7852;letter-spacing:.01em;}
.home-v29 .review-slide blockquote{quotes:none;}
@media(max-width:620px){.home-v29 .reviews-section{padding-bottom:12px!important;}.home-v29 .wide-booking-cta{padding:20px 0 62px;}.home-v29 .wide-booking-cta .callout{padding:18px 0 0!important;}.home-v29 .wide-booking-cta + .footer{padding-top:25px!important;}}
.home-v29 .wide-booking-cta .callout::after{display:none!important;}

/* V58 verified source note */
.review-source-note{font-size:.78rem;color:#738076;line-height:1.5;text-align:center;max-width:800px;margin:15px auto 0}

/* V59: Keep the final "Приємні враження" benefit on desktop,
   but hide it on narrow/mobile screens. */
@media (max-width: 620px) {
  .about-section .about-featuregrid > .about-feature:last-child {
    display: none !important;
  }
}

/* V60: concise reviews and compact mobile layout */
.home-v29 .reviews-carousel .review-content{gap:0}
.home-v29 .reviews-carousel .source-google{background:#f2f5f1;border-radius:12px;padding:5px}
.home-v29 .reviews-carousel .source-google svg{display:block;width:100%;height:100%}
.home-v29 .reviews-carousel .review-content blockquote{margin-bottom:0}
@media(max-width:700px){
  .home-v29 .reviews-carousel .review-slide{display:flex!important;flex-direction:column!important;min-height:0!important;align-items:stretch!important;}
  .home-v29 .reviews-carousel .review-photo{height:auto!important;min-height:0!important;flex:0 0 auto!important;line-height:0!important;margin:0!important;padding:0!important;}
  .home-v29 .reviews-carousel .review-photo img{display:block!important;min-height:0!important;height:clamp(215px,56vw,300px)!important;width:100%!important;object-fit:cover!important;}
  .home-v29 .reviews-carousel .review-content{min-height:0!important;flex:0 0 auto!important;justify-content:flex-start!important;padding:15px 22px 24px!important;margin:0!important;}
  .home-v29 .reviews-carousel .review-stars{margin:9px 0 11px!important;}
  .home-v29 .reviews-carousel .review-content blockquote{margin:0!important;font-size:clamp(1.08rem,4.5vw,1.35rem)!important;line-height:1.46!important;}
}

/* V61: narrower guest reviews carousel */
.home-v29 .reviews-carousel,
.home-v29 .reviews-footer{
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 1500px){
  .home-v29 .reviews-carousel,
  .home-v29 .reviews-footer{
    max-width: 1240px;
  }
}
@media (max-width: 1200px){
  .home-v29 .reviews-carousel,
  .home-v29 .reviews-footer{
    max-width: none;
  }
}


/* V62: simplified two-column footer and prominent call CTA */
.footer .footergrid.footergrid-simple {display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:clamp(24px,6vw,100px);align-items:start;}
.footer .footergrid.footergrid-simple>div:last-child {justify-self:end;width:min(100%,340px)}
.home-v29 .wide-booking-cta .callout-actions {display:flex;align-items:center;justify-content:center;min-width:260px;}
.home-v29 .wide-booking-cta .callout-actions .callout-phone-btn {display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:72px;padding:17px 33px;width:min(100%,340px);border-radius:15px;font-size:1.05rem;font-weight:800;background:#e5d2ac;color:#173528;border:1px solid rgba(255,255,255,.22);box-shadow:0 12px 25px rgba(0,0,0,.13);transition:transform .2s,background .2s;}
.home-v29 .wide-booking-cta .callout-actions .callout-phone-btn svg {width:25px;height:25px;flex:0 0 25px;}
.home-v29 .wide-booking-cta .callout-actions .callout-phone-btn:hover {background:#efddb9;transform:translateY(-2px);}
@media(max-width:900px){.footer .footergrid.footergrid-simple {grid-template-columns:1fr 1fr;gap:24px}.footer .footergrid.footergrid-simple>div:last-child {justify-self:start}}
@media(max-width:620px){.footer .footergrid.footergrid-simple {grid-template-columns:1fr;gap:25px}.home-v29 .wide-booking-cta .callout-actions {min-width:0;width:100%;margin-top:19px;}.home-v29 .wide-booking-cta .callout-actions .callout-phone-btn {width:100%;min-height:60px;padding:14px 20px;font-size:1rem;margin:0}}

/* V63 — only the guest reviews carousel is narrowed, not the courtyard photo carousel. */
@media (min-width: 1101px) {
  .home-v29 .reviews-section .reviews-carousel,
  .home-v29 .reviews-section .reviews-footer {
    max-width: 990px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .home-v29 .reviews-section .review-slide {
    grid-template-columns: 41% 59%;
    min-height: 405px;
  }
  .home-v29 .reviews-section .review-photo,
  .home-v29 .reviews-section .review-photo img {
    min-height: 405px;
    height: 405px;
  }
  .home-v29 .reviews-section .review-photo img {object-fit: cover;}
  .home-v29 .reviews-section .review-content {
    padding: 31px 44px;
  }
  .home-v29 .reviews-section .review-content blockquote {
    font-size: clamp(1.26rem, 1.85vw, 1.65rem);
    line-height: 1.42;
  }
}

/* V64: compact mobile CTA and fade exactly at the footer boundary */
@media (max-width: 620px) {
  .home-v29 .wide-booking-cta {
    padding: 8px 0 0 !important;
    background: linear-gradient(to bottom, #214838 0%, #204536 60%, #1b382d 82%, #182f27 100%) !important;
    overflow: hidden !important;
  }
  .home-v29 .wide-booking-cta .callout {
    padding: 13px 0 0 !important;
    gap: 0 !important;
  }
  .home-v29 .wide-booking-cta .callout-actions {
    margin-top: 17px !important;
    margin-bottom: 0 !important;
  }
  .home-v29 .wide-booking-cta .callout-actions .callout-phone-btn {
    margin: 0 !important;
  }
  .home-v29 .wide-booking-cta::after {
    display: block !important;
    height: 42px !important;
    bottom: 0 !important;
    background: linear-gradient(180deg, rgba(24,47,39,0) 0%, rgba(24,47,39,.45) 58%, #182f27 100%) !important;
  }
  .home-v29 .wide-booking-cta::before {
    content: "";
    display: block;
    height: 36px;
    width: 100%;
    position: relative;
    pointer-events: none;
    order: 2;
  }
  .home-v29 .wide-booking-cta + .footer {
    padding-top: 9px !important;
    margin-top: 0 !important;
    border-top: 0 !important;
  }
  .home-v29 .wide-booking-cta + .footer .footergrid {
    padding-top: 0 !important;
  }
}


/* V68: matching full-width booking help section on /rooms/, based on V64 home */
.rooms-page .catalog-section{padding-bottom:0!important;margin-bottom:0!important}
.rooms-page .wide-booking-cta{position:relative;isolation:isolate;background:linear-gradient(180deg,#214838 0%,#214838 78%,#182f27 100%);padding:42px 0 70px;margin:0;overflow:hidden}
.rooms-page .wide-booking-cta .callout{background:transparent!important;padding:28px 0 0!important;border-radius:0!important;box-shadow:none!important}
.rooms-page .wide-booking-cta .callout::after{display:none!important}
.rooms-page .wide-booking-cta::after{content:"";position:absolute;left:0;right:0;bottom:0;height:100px;background:linear-gradient(to bottom,rgba(24,47,39,0),#182f27);pointer-events:none;z-index:-1}
.rooms-page .wide-booking-cta + .footer{padding-top:35px!important}
.rooms-page .wide-booking-cta .callout-actions{display:flex;align-items:center;justify-content:center;min-width:260px}
.rooms-page .wide-booking-cta .callout-actions .callout-phone-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:72px;padding:17px 33px;width:min(100%,340px);border-radius:15px;font-size:1.05rem;font-weight:800;background:#e5d2ac;color:#173528;border:1px solid rgba(255,255,255,.22);box-shadow:0 12px 25px rgba(0,0,0,.13);transition:transform .2s,background .2s}
.rooms-page .wide-booking-cta .callout-actions .callout-phone-btn svg{width:25px;height:25px;flex:0 0 25px}
.rooms-page .wide-booking-cta .callout-actions .callout-phone-btn:hover{background:#efddb9;transform:translateY(-2px)}
@media(max-width:620px){
 .rooms-page .wide-booking-cta{padding:8px 0 0!important;background:linear-gradient(to bottom,#214838 0%,#204536 60%,#1b382d 82%,#182f27 100%)!important;overflow:hidden!important}
 .rooms-page .wide-booking-cta .callout{padding:13px 0 0!important;gap:0!important}
 .rooms-page .wide-booking-cta .callout-actions{min-width:0;width:100%;margin-top:17px!important;margin-bottom:0!important}
 .rooms-page .wide-booking-cta .callout-actions .callout-phone-btn{width:100%;min-height:60px;padding:14px 20px;font-size:1rem;margin:0!important}
 .rooms-page .wide-booking-cta::after{display:block!important;height:42px!important;bottom:0!important;background:linear-gradient(180deg,rgba(24,47,39,0) 0%,rgba(24,47,39,.45) 58%,#182f27 100%)!important}
 .rooms-page .wide-booking-cta::before{content:"";display:block;height:36px;width:100%;position:relative;pointer-events:none;order:2}
 .rooms-page .wide-booking-cta + .footer{padding-top:9px!important;margin-top:0!important;border-top:0!important}
 .rooms-page .wide-booking-cta + .footer .footergrid{padding-top:0!important}
}

/* V69: clean room list & consistent SVG catalogue buttons */
.rooms-page .catalog-section{padding-bottom:0!important}
.rooms-page .catalog-card .catalog-actions .btn{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none}
.rooms-page .catalog-card .catalog-actions .btn svg{width:19px;height:19px;min-width:19px;flex:0 0 19px}
.rooms-page .catalog-card .catalog-spec .catalog-room-count{display:inline-flex;align-items:center;gap:7px}
.rooms-page .catalog-card .catalog-spec .catalog-room-count svg{width:18px;height:18px;flex:0 0 18px}
@media(max-width:620px){.rooms-page .catalog-card .catalog-spec{gap:8px}.rooms-page .catalog-card .catalog-spec span{font-size:.79rem}}

/* V70 — subtle separation of catalog cards and CTA; mobile copy slightly higher */
.rooms-page .catalog-section {
  padding-bottom: 18px !important;
}
@media (max-width: 620px) {
  .rooms-page .catalog-section {
    padding-bottom: 12px !important;
  }
  .rooms-page .wide-booking-cta .callout {
    padding-top: 4px !important;
  }
  .rooms-page .wide-booking-cta .callout-actions {
    margin-top: 14px !important;
  }
}

/* V71 — hide only the eyebrow in rooms CTA on phones and reclaim its space */
@media (max-width: 620px) {
  .rooms-page .wide-booking-cta .callout .eyebrow {
    display: none !important;
  }
  .rooms-page .wide-booking-cta .callout {
    padding-top: 0 !important;
  }
  .rooms-page .wide-booking-cta .callout h2 {
    margin-top: 0 !important;
  }
}

/* V72 — однакова нижня панель дзвінка на всіх сторінках */
@media(max-width:620px){
  .mobilebar.mobilebar-call{
    display:flex!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;
    align-items:center!important;justify-content:center!important;gap:0!important;
    background:transparent!important;border:0!important;box-shadow:none!important;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px))!important;
    z-index:102!important;
  }
  .mobilebar.mobilebar-call .mobilebar-call-btn,
  .mobilebar.mobilebar-call .mobilebar-call-btn:first-child{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
    width:min(100%,420px)!important;flex:none!important;
    padding:13px 18px!important;border-radius:999px!important;
    color:#fff!important;background:rgba(34,77,62,.74)!important;
    border:1px solid rgba(255,255,255,.16)!important;
    box-shadow:0 10px 20px rgba(23,55,44,.14),inset 0 1px 0 rgba(255,255,255,.08)!important;
    font-size:.94rem!important;font-weight:800!important;letter-spacing:.01em!important;text-align:center!important;
    text-decoration:none!important;
  }
  .mobilebar.mobilebar-call svg{width:19px!important;height:19px!important;flex:0 0 19px!important}
}


/* V73 — mobile room catalogue: balanced tighter spacing */
@media (max-width:620px) {
  .rooms-page .catalog-section {padding-top:20px!important;}
  .rooms-page .catalog-toolbar {gap:0!important;margin-bottom:18px!important;}
  .rooms-page .catalog-toolbar .eyebrow {margin:0 0 12px!important;}
  .rooms-page .catalog-toolbar h2 {margin:0!important;line-height:1.14!important;}
  .rooms-page .catalog-toolbar .catalog-switch {margin-top:22px!important;}
}

/* V74 — compact consistent heading on all room detail pages */
body.room-detail-page .room-newhero{padding-top:14px}
body.room-detail-page .room-newheading{margin-bottom:24px}
body.room-detail-page .room-newheading h1{margin-top:0}
@media(max-width:620px){
 body.room-detail-page .room-newhero{padding-top:10px!important}
 body.room-detail-page .room-newheading{margin-bottom:18px!important}
}

/* V75 — Room details: remove the redundant price/phone mini-panel on phones.
   The description flows directly into the gallery, with a modest breathing space. */
@media (max-width: 620px) {
  body.room-detail-page .room-newheading .mobile-room-summary {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.room-detail-page .room-newheading {
    margin-bottom: 12px !important;
  }
  body.room-detail-page .room-newheading > p {
    margin-bottom: 0 !important;
  }
  body.room-detail-page .room-photo-panel {
    margin-top: 0 !important;
  }
}

/* V76 — mobile room pages: hide the short introductory sentence.
   Keep title and gallery close together, without a leftover gap. */
@media (max-width: 620px) {
  body.room-detail-page .room-newheading > p {
    display: none !important;
  }
  body.room-detail-page .room-newheading {
    margin-bottom: 12px !important;
  }
  body.room-detail-page .room-newheading h1 {
    margin-bottom: 0 !important;
  }
}

/* V77: room subtitles removed on all viewports */
.room-newheading h1 { margin-bottom: 12px; }
.room-newheading { margin-bottom: 20px; }
@media(max-width:700px) { .room-newheading { margin-bottom: 12px; } }

/* V78 — bring amenities directly below the room gallery and booking panel.
   Shared by all four room detail pages; leave a comfortable 20px gap. */
body.room-detail-page .room-newhero {
  padding-bottom: 0 !important;
}
body.room-detail-page .room-newhero + .room-amenities {
  padding-top: 20px !important;
}
@media (max-width: 620px) {
  body.room-detail-page .room-newhero + .room-amenities {
    padding-top: 18px !important;
  }
}


/* V80 — apply the same wide booking CTA styling to all room category detail pages */
.room-detail-page .wide-booking-cta{position:relative;isolation:isolate;background:linear-gradient(180deg,#214838 0%,#214838 78%,#182f27 100%);padding:42px 0 70px;margin:0;overflow:hidden}
.room-detail-page .wide-booking-cta .callout{background:transparent!important;padding:28px 0 0!important;border-radius:0!important;box-shadow:none!important}
.room-detail-page .wide-booking-cta .callout::after{display:none!important}
.room-detail-page .wide-booking-cta::after{content:"";position:absolute;left:0;right:0;bottom:0;height:100px;background:linear-gradient(to bottom,rgba(24,47,39,0),#182f27);pointer-events:none;z-index:-1}
.room-detail-page .wide-booking-cta + .footer{padding-top:35px!important}
.room-detail-page .wide-booking-cta .callout-actions{display:flex;align-items:center;justify-content:center;min-width:260px}
.room-detail-page .wide-booking-cta .callout-actions .callout-phone-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:72px;padding:17px 33px;width:min(100%,340px);border-radius:15px;font-size:1.05rem;font-weight:800;background:#e5d2ac;color:#173528;border:1px solid rgba(255,255,255,.22);box-shadow:0 12px 25px rgba(0,0,0,.13);transition:transform .2s,background .2s}
.room-detail-page .wide-booking-cta .callout-actions .callout-phone-btn svg{width:25px;height:25px;flex:0 0 25px}
.room-detail-page .wide-booking-cta .callout-actions .callout-phone-btn:hover{background:#efddb9;transform:translateY(-2px)}
@media(max-width:620px){
 .room-detail-page .wide-booking-cta{padding:8px 0 0!important;background:linear-gradient(to bottom,#214838 0%,#204536 60%,#1b382d 82%,#182f27 100%)!important;overflow:hidden!important}
 .room-detail-page .wide-booking-cta .callout{padding:0!important;gap:0!important}
 .room-detail-page .wide-booking-cta .callout .eyebrow{display:none!important}
 .room-detail-page .wide-booking-cta .callout h2{margin-top:0!important}
 .room-detail-page .wide-booking-cta .callout-actions{min-width:0;width:100%;margin-top:14px!important;margin-bottom:0!important}
 .room-detail-page .wide-booking-cta .callout-actions .callout-phone-btn{width:100%;min-height:60px;padding:14px 20px;font-size:1rem;margin:0!important}
 .room-detail-page .wide-booking-cta::after{display:block!important;height:42px!important;bottom:0!important;background:linear-gradient(180deg,rgba(24,47,39,0) 0%,rgba(24,47,39,.45) 58%,#182f27 100%)!important}
 .room-detail-page .wide-booking-cta::before{content:"";display:block;height:36px;width:100%;position:relative;pointer-events:none;order:2}
 .room-detail-page .wide-booking-cta + .footer{padding-top:9px!important;margin-top:0!important;border-top:0!important}
 .room-detail-page .wide-booking-cta + .footer .footergrid{padding-top:0!important}
}


/* V83: close excessive gap between amenities and comparison sections on all room pages */
body.room-detail-page .room-amenities {
  padding-bottom: 12px !important;
}
body.room-detail-page .room-amenities + section.section.container {
  padding-top: 16px !important;
}
@media (max-width: 620px) {
  body.room-detail-page .room-amenities {
    padding-bottom: 8px !important;
  }
  body.room-detail-page .room-amenities + section.section.container {
    padding-top: 14px !important;
  }
}

/* V84: close the gap between the comparison cards and the full-width help CTA */
body.room-detail-page .room-other-grid {
  margin-bottom: 0 !important;
}
body.room-detail-page .room-other-grid + * {
  margin-top: 0;
}
body.room-detail-page section.section.container:has(> .room-other-title):has(> .room-other-grid) {
  padding-bottom: 20px !important;
  margin-bottom: 0 !important;
}
body.room-detail-page section.section.container:has(> .room-other-title):has(> .room-other-grid) + .wide-booking-cta {
  margin-top: 0 !important;
}
@media (max-width:620px) {
  body.room-detail-page section.section.container:has(> .room-other-title):has(> .room-other-grid) {
    padding-bottom: 14px !important;
  }
}

/* V85: premium reservation panel, consistent across all room categories */
.room-detail-page .premium-room-panel{padding:29px;position:sticky;top:110px;background:#fffdf9;border:1px solid #e1e5db;border-radius:23px;box-shadow:0 12px 38px #152f2511}
.room-detail-page .premium-room-eyebrow{letter-spacing:.18em;font-size:.7rem;font-weight:800;color:#6b806b;margin-bottom:12px}
.room-detail-page .premium-room-panel h2{font-size:clamp(1.35rem,1.65vw,1.8rem);line-height:1.2;margin:0 0 8px}
.room-detail-page .premium-room-intro{font-size:.91rem!important;line-height:1.6;color:#66746b!important;margin:0 0 18px!important}
.room-detail-page .premium-room-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 20px}
.room-detail-page .premium-room-fact{background:#f1f4ed;border-radius:12px;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;min-height:88px;padding:10px 6px;text-align:center}
.room-detail-page .premium-room-fact svg{width:24px;height:24px;color:#23503e;flex:0 0 auto}
.room-detail-page .premium-room-fact strong{font-size:.79rem;line-height:1.3}
.room-detail-page .premium-room-benefits{border-top:1px solid #e5e8e0;padding-top:17px}
.room-detail-page .premium-room-benefits h3{font-size:.91rem;margin:0 0 12px}
.room-detail-page .premium-room-benefits-grid{display:grid;grid-template-columns:1fr;gap:8px}
.room-detail-page .premium-room-benefit{display:flex;gap:10px;align-items:center;background:#f6f7f2;border-radius:10px;padding:9px 12px;font-size:.86rem;font-weight:700}
.room-detail-page .premium-room-benefit svg{width:21px;height:21px;color:#295843;flex-shrink:0}
.room-detail-page .premium-benefits-note{font-size:.71rem!important;line-height:1.5;color:#6b766c!important;margin:11px 0 0!important}
.room-detail-page .premium-room-bottom{border-top:1px solid #e5e8e0;margin-top:17px;padding-top:16px}
.room-detail-page .premium-room-price{display:flex;justify-content:space-between;gap:6px 10px;align-items:center;flex-wrap:wrap;margin-bottom:13px}
.room-detail-page .premium-room-price>span{font-size:.78rem;color:#627267}
.room-detail-page .premium-room-price strong{font-size:1.5rem;line-height:1.2;white-space:nowrap}
.room-detail-page .premium-room-price small{flex-basis:100%;font-size:.72rem;color:#6e7970}
.room-detail-page .premium-room-book{display:flex;align-items:center;justify-content:center;gap:11px;background:#214838;color:#fff;border-radius:12px;padding:15px;min-height:54px;font-size:1rem;font-weight:800;text-decoration:none;transition:background .2s}
.room-detail-page .premium-room-book:hover{background:#30634e}
.room-detail-page .premium-room-book svg{width:21px;height:21px;flex-shrink:0}
.room-detail-page .premium-room-book svg:last-child{margin-left:auto}
.room-detail-page .premium-room-disclaimer{font-size:.71rem!important;color:#69766b!important;line-height:1.5;margin:10px 0 0!important}
@media(max-width:1000px){.room-detail-page .premium-room-panel{position:static}}
@media(max-width:760px){.room-detail-page .premium-room-panel{padding:19px!important}.room-detail-page .premium-room-facts{gap:6px}.room-detail-page .premium-room-fact{min-height:74px;padding:8px 3px}.room-detail-page .premium-room-fact svg{width:20px;height:20px}.room-detail-page .premium-room-fact strong{font-size:.7rem}.room-detail-page .premium-room-panel h2{font-size:1.32rem!important}.room-detail-page .premium-room-intro{font-size:.83rem!important}.room-detail-page .premium-room-benefits-grid{grid-template-columns:1fr 1fr}.room-detail-page .premium-room-benefit{font-size:.76rem;padding:10px 8px}.room-detail-page .premium-room-benefit svg{width:18px;height:18px}.room-detail-page .premium-room-book{display:flex!important}}


/* V90 — compact spacing above the comparison room cards */
body.room-detail-page .room-other-title {
  align-items: center;
  margin-bottom: 14px !important;
  gap: 12px;
}
body.room-detail-page .room-other-title .room-kicker { margin-bottom: 8px !important; }
body.room-detail-page .room-other-title h2 { margin: 0 !important; line-height: 1.16; }
@media (max-width:620px) {
  body.room-detail-page .room-other-title { margin-bottom: 12px !important; }
  body.room-detail-page .room-other-title .textlink { display: inline-block; margin-top: 12px; }
}

/* V91: Gallery grid remains grouped by category. Unified final CTA. */
.gallery-page .gallery-section{padding-bottom:34px!important}
.gallery-page .wide-booking-cta{margin-top:0}
.gallery-page .gallery-filters{gap:9px;margin-bottom:25px}
.gallery-page .photo-tile img{object-fit:cover}
@media(max-width:620px){.gallery-page .gallery-section{padding-bottom:18px!important}.gallery-page .gallery-filter{font-size:.79rem}}

/* V92: gallery introduction tighter after removing the descriptive paragraph */
.gallery-page .gallery-hero{padding-top:54px!important;padding-bottom:28px!important}
.gallery-page .gallery-hero .eyebrow{margin-bottom:15px!important}
.gallery-page .gallery-hero h1{margin-bottom:0!important}
.gallery-page .gallery-section{padding-top:24px!important}
@media(max-width:620px){
 .gallery-page .gallery-hero{padding-top:33px!important;padding-bottom:17px!important}
 .gallery-page .gallery-hero .eyebrow{margin-bottom:10px!important}
 .gallery-page .gallery-section{padding-top:18px!important}
}

/* V93: Gallery tiles show photographs without visible labels */
.gallery-page .photo-tile figcaption{display:none!important}

/* V94 — compact gallery start immediately after the header */
.gallery-page .gallery-hero {padding-top:12px!important;padding-bottom:12px!important}
.gallery-page .gallery-hero .eyebrow {margin-bottom:8px!important}
.gallery-page .gallery-hero h1 {margin-bottom:0!important}
.gallery-page .gallery-section {padding-top:16px!important}
@media(max-width:620px){
 .gallery-page .gallery-hero {padding-top:8px!important;padding-bottom:10px!important}
 .gallery-page .gallery-hero .eyebrow {margin-bottom:6px!important}
 .gallery-page .gallery-section {padding-top:12px!important}
}

/* V99 — premium dark-green styling for seasonal rates */
.room-detail-page .room-periods-section{padding-top:32px!important;padding-bottom:4px!important;margin-top:0!important;margin-bottom:0!important}
.room-detail-page .period-prices-heading{margin-bottom:18px}
.room-detail-page .period-prices-heading .room-kicker{display:block;margin-bottom:8px}
.room-detail-page .period-prices-heading h2{margin:0 0 7px;line-height:1.1}
.room-detail-page .period-prices-heading p{margin:0;color:#657369;line-height:1.55;max-width:720px}
.room-detail-page .period-prices-panel{background:linear-gradient(180deg,#27463c 0%,#1c342d 100%);border:1px solid rgba(209,224,214,.18);border-radius:24px;padding:18px 26px 16px;box-shadow:0 18px 38px rgba(19,35,29,.16);overflow:hidden;position:relative}
.room-detail-page .period-prices-panel::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(255,255,255,.08),transparent 32%);pointer-events:none}
.room-detail-page .period-prices-table{width:100%;border-collapse:separate;border-spacing:0;text-align:left;position:relative;z-index:1}
.room-detail-page .period-prices-table thead th{font-size:.8rem;letter-spacing:.04em;color:#b8c8be;font-weight:700;padding:14px 10px 16px;border-bottom:1px solid rgba(225,235,228,.16)}
.room-detail-page .period-prices-table td{padding:20px 10px;border-bottom:1px solid rgba(225,235,228,.14);line-height:1.45;vertical-align:middle;color:#eff5f0}
.room-detail-page .period-prices-table tbody tr:last-child td{border-bottom:none}
.room-detail-page .period-prices-table th:last-child,.room-detail-page .period-prices-table td:last-child{text-align:right}
.room-detail-page .period-prices-range{font-size:clamp(1.02rem,1.1vw,1.2rem);font-weight:600;color:#f3f8f4}
.room-detail-page .period-prices-price-cell{white-space:nowrap}
.room-detail-page .period-prices-price{display:inline-flex;align-items:center;justify-content:flex-end;padding:.38rem .9rem;border-radius:999px;background:rgba(250,252,249,.95);border:1px solid rgba(230,236,229,.9);box-shadow:0 4px 12px rgba(0,0,0,.10);color:#1f513a;font-size:clamp(1.08rem,1.25vw,1.34rem);font-weight:800}
.room-detail-page .period-prices-table tbody tr.is-current td{background:rgba(255,255,255,.06)}
.room-detail-page .period-prices-table tbody tr.is-current td:first-child{border-radius:16px 0 0 16px}
.room-detail-page .period-prices-table tbody tr.is-current td:last-child{border-radius:0 16px 16px 0}
.room-detail-page .period-prices-empty{padding:6px 0;color:#e4ede7;margin:0}
.room-detail-page .period-prices-note{color:#d2ddd6;margin:10px 10px 4px;font-size:.9rem;position:relative;z-index:1}
body.room-detail-page .room-periods-section + .room-amenities.section.container{padding-top:10px!important;margin-top:0!important}
@media(max-width:620px){
  .room-detail-page .room-periods-section{padding-top:20px!important;padding-bottom:0!important}
  .room-detail-page .period-prices-heading{margin-bottom:14px}
  .room-detail-page .period-prices-panel{padding:10px 12px 12px;border-radius:18px}
  .room-detail-page .period-prices-table thead th{font-size:.72rem;padding:12px 6px 12px}
  .room-detail-page .period-prices-table td{padding:14px 6px}
  .room-detail-page .period-prices-range{font-size:.98rem}
  .room-detail-page .period-prices-price{font-size:1rem;padding:.32rem .74rem}
  .room-detail-page .period-prices-heading p{font-size:.89rem}
  .room-detail-page .period-prices-note{margin:8px 6px 2px;font-size:.84rem}
  body.room-detail-page .room-periods-section + .room-amenities.section.container{padding-top:10px!important}
}


/* V100 — no empty subtitle gap, subtle warm-green amenities panel */
body.room-detail-page .period-prices-heading h2{margin-bottom:0!important}
body.room-detail-page .period-prices-heading{margin-bottom:14px!important}
body.room-detail-page .room-amenities.section.container{
 background:#edf0e9;
 border:1px solid #e1e6dc;
 border-radius:22px;
 padding:22px 28px 16px!important;
 margin-top:14px!important;
 margin-bottom:14px!important;
}
body.room-detail-page .room-periods-section + .room-amenities.section.container{padding-top:22px!important;margin-top:14px!important}
@media(max-width:620px){
 body.room-detail-page .room-amenities.section.container{border-radius:16px;padding:20px 14px 12px!important;margin-top:10px!important;margin-bottom:10px!important}
 body.room-detail-page .room-periods-section + .room-amenities.section.container{padding-top:20px!important;margin-top:10px!important}
}


/* V101 — full-width amenities background and balanced mobile cards */
body.room-detail-page .room-amenities.section.container {
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  border-left:0!important;
  border-right:0!important;
  border-radius:0!important;
  padding:34px max(22px,calc((100vw - 1160px)/2)) 32px!important;
  box-sizing:border-box;
}
body.room-detail-page .room-periods-section + .room-amenities.section.container {
  padding-top:34px!important;
}
body.room-detail-page .room-amenities .amenities-grid {
  width:100%;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:20px;
}
body.room-detail-page .room-amenities .amenity-item {
  min-width:0;
  min-height:82px;
  gap:14px;
  padding:16px 20px;
}
body.room-detail-page .room-amenities .amenity-item span {
  display:block;
  min-width:0;
  overflow-wrap:anywhere;
  line-height:1.35;
}
@media(max-width:760px){
  body.room-detail-page .room-amenities.section.container,
  body.room-detail-page .room-newhero + .room-amenities.section.container {
    padding:25px 16px 25px!important;
    margin-top:10px!important;
    margin-bottom:10px!important;
  }
  body.room-detail-page .room-periods-section + .room-amenities.section.container {
    padding-top:25px!important;
  }
  body.room-detail-page .room-amenities .amenities-heading h2 {
    margin:0;
    font-size:clamp(1.7rem,6.7vw,2.65rem);
    line-height:1.16;
  }
  body.room-detail-page .room-amenities .amenities-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin-top:18px;
  }
  body.room-detail-page .room-amenities .amenity-item {
    min-width:0;
    min-height:82px;
    padding:12px 10px!important;
    gap:9px;
    border-radius:17px;
    font-size:clamp(.74rem,3.2vw,.9rem);
    line-height:1.35;
  }
  body.room-detail-page .room-amenities .amenity-item svg {
    width:23px!important;
    height:23px!important;
    flex:0 0 23px;
  }
}
@media(max-width:380px){
  body.room-detail-page .room-amenities.section.container {padding-left:12px!important;padding-right:12px!important}
  body.room-detail-page .room-amenities .amenities-grid {gap:8px!important}
  body.room-detail-page .room-amenities .amenity-item {gap:7px;padding:11px 8px!important;font-size:.74rem}
  body.room-detail-page .room-amenities .amenity-item svg {width:21px!important;height:21px!important;flex-basis:21px}
}


/* V102 — compact amenity cards; full-bleed tinted section remains intact */
body.room-detail-page .room-amenities .amenity-item{min-height:64px!important;padding:11px 16px!important;gap:12px!important}
body.room-detail-page .room-amenities .amenity-item svg{width:25px;height:25px;flex:0 0 25px}
@media(max-width:760px){
 body.room-detail-page .room-amenities .amenities-grid{gap:9px!important;align-items:stretch}
 body.room-detail-page .room-amenities .amenity-item{min-height:59px!important;padding:10px 9px!important;gap:8px!important;align-self:stretch;border-radius:15px}
 body.room-detail-page .room-amenities .amenity-item svg{width:22px!important;height:22px!important;flex:0 0 22px!important}
 body.room-detail-page .room-amenities .amenity-item span{font-size:clamp(.73rem,3.1vw,.91rem);line-height:1.25;overflow-wrap:normal;word-break:normal;hyphens:auto}
}
@media(max-width:380px){
 body.room-detail-page .room-amenities .amenity-item{min-height:58px!important;padding:9px 7px!important;gap:7px!important}
 body.room-detail-page .room-amenities .amenity-item svg{width:20px!important;height:20px!important;flex-basis:20px!important}
}

/* V103: compact room specifications at left of current price, on homepage mobile cards only */
.home-rooms-v44 .home-room-specs{display:none}
@media(max-width:620px){
 .home-rooms-v44 .room-body .price-placeholder{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px!important;min-height:76px!important;padding-top:15px!important}
 .home-rooms-v44 .home-room-specs{display:flex;flex-direction:column;gap:8px;min-width:0;color:#496a58}
 .home-rooms-v44 .home-room-specs span{display:flex;align-items:center;gap:7px;font-size:.82rem;line-height:1.15;font-weight:700;white-space:nowrap}
 .home-rooms-v44 .home-room-specs svg{width:16px;height:16px;flex-shrink:0}
 .home-rooms-v44 .home-price-amount{display:flex;align-items:flex-end;flex-direction:column;gap:5px;text-align:right;min-width:0}
 .home-rooms-v44 .home-price-amount>span{font-size:.72rem}
 .home-rooms-v44 .home-price-amount strong{font-size:clamp(.95rem,4vw,1.1rem);white-space:nowrap}
}


/* V104: consistent card specification + price layout at all viewports. */
.home-rooms-v44 .home-room-specs{display:flex!important;flex-direction:column;justify-content:center;gap:6px;min-width:0;color:#496a58}
.home-rooms-v44 .home-room-specs span{display:flex;align-items:center;gap:6px;font-size:.77rem;color:#496a58;line-height:1.25;font-weight:700;white-space:nowrap}
.home-rooms-v44 .home-room-specs svg{width:15px;height:15px;flex:0 0 15px}
.home-rooms-v44 .room-body .price-placeholder{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,auto)!important;align-items:center!important;column-gap:10px!important;row-gap:0!important;min-height:75px!important;margin-top:auto!important;padding:12px 0!important}
.home-rooms-v44 .home-price-amount{min-width:0;display:flex!important;flex-direction:column!important;align-items:flex-end!important;justify-content:center;gap:4px!important;text-align:right!important}
.home-rooms-v44 .home-price-amount>span{display:block!important;font-size:.7rem!important;line-height:1.25!important;color:#7c887d!important;white-space:nowrap}
.home-rooms-v44 .home-price-amount strong{display:block!important;font-size:clamp(.92rem,1vw,1.08rem)!important;line-height:1.25!important;white-space:nowrap!important;letter-spacing:-.02em}
@media (min-width:621px) and (max-width:1199px){
 .home-rooms-v44 .room-body .price-placeholder{column-gap:6px!important}
 .home-rooms-v44 .home-room-specs span{font-size:.7rem}
 .home-rooms-v44 .home-price-amount strong{font-size:.92rem!important}
}
@media (max-width:620px){
 .home-rooms-v44 .room-body .price-placeholder{column-gap:10px!important;min-height:76px!important}
 .home-rooms-v44 .home-room-specs span{font-size:.78rem}
 .home-rooms-v44 .home-price-amount strong{font-size:clamp(.94rem,3.7vw,1.1rem)!important}
}


/* V105 — Elegant Premium mobile hotel header. Desktop stays unchanged. */
@media (max-width:620px){
  .header{background:rgba(255,253,248,.97);border-bottom:1px solid rgba(33,72,56,.14);box-shadow:0 3px 16px rgba(21,44,34,.045)}
  .header .nav{min-height:72px;gap:8px;justify-content:space-between;flex-wrap:nowrap;align-items:center}
  .header .logo{min-width:0;flex:1 1 auto;gap:8px;margin:0;letter-spacing:0}
  .header .logo-badge{width:40px;height:40px;flex:0 0 40px;box-shadow:none}
  .header .logo-text{min-width:0;gap:1px;line-height:1.04}
  .header .logo-text strong{font-family:'Marcellus',Georgia,serif;font-weight:400;font-size:clamp(.85rem,3.75vw,1.04rem);letter-spacing:-.018em;line-height:1.08;white-space:nowrap;color:#1e3a2c}
  .header .logo-text small{font-family:Manrope,Arial,sans-serif;font-size:.54rem;font-weight:700;letter-spacing:.3em;margin-top:4px;color:#8d947e}
  .header .navcta-book{flex:0 0 auto;min-height:38px;padding:8px 10px;gap:6px;margin:0;border-radius:11px;background:#234a3a;border:1px solid #345743;box-shadow:0 3px 9px rgba(26,59,44,.13);font-size:.71rem;font-weight:750;letter-spacing:0}
  .header .navcta-book .navcta-icon{width:15px;height:15px;flex:0 0 15px}
  .header .navcta-book .navcta-arrow{display:none}
  .header .menu-toggle{flex:0 0 35px;width:35px;height:38px;display:grid;place-items:center;padding:0;border:1px solid #e1e6dc;border-radius:10px;background:#f5f6f0;color:#244b3b;font-size:23px;line-height:1;box-shadow:none}
  .header .menu-toggle:focus-visible,.header .navcta-book:focus-visible{outline:2px solid #b4a16f;outline-offset:3px}
  .header .navlinks{top:72px;background:#fffdf8;border-top:1px solid #e5e9e1;box-shadow:0 16px 24px rgba(20,50,36,.12)}
}
@media (max-width:370px){
  .header .nav{gap:6px}
  .header .logo{gap:6px}
  .header .logo-badge{width:35px;height:35px;flex-basis:35px}
  .header .logo-text strong{font-size:.85rem}
  .header .navcta-book{font-size:.68rem;padding:7px 8px;gap:5px}
  .header .navcta-book .navcta-icon{width:14px;height:14px;flex-basis:14px}
  .header .menu-toggle{width:32px;flex-basis:32px}
}

/* V106 — SVG hamburger icon with true geometric centering */
@media (max-width:900px){
  .header .menu-toggle{align-items:center;justify-items:center;text-align:center;vertical-align:middle}
  .header .menu-toggle-icon{width:22px;height:22px;display:block;flex:0 0 22px;margin:0;overflow:visible}
}
@media (max-width:370px){.header .menu-toggle-icon{width:20px;height:20px}}

/* V107: bold traditional logo and secure-looking booking feedback */
@media(max-width:620px){
 .header .logo-text strong{font-family:Manrope,Arial,sans-serif!important;font-weight:800!important;font-size:clamp(.75rem,3.6vw,.94rem)!important;letter-spacing:-.025em!important;line-height:1.15!important}
}
@media(max-width:370px){.header .logo-text strong{font-size:.75rem!important}}
.booking-feedback{margin-top:18px;padding:26px 20px;border:1px solid #bdd8c5;border-radius:20px;background:#e7f3e9;color:#1e4a35;text-align:center;box-shadow:0 12px 24px rgba(29,87,52,.07)}
.booking-feedback[hidden]{display:none!important}
.booking-feedback h3{margin:7px 0 10px;color:#1b4933;font-size:clamp(1.25rem,3vw,1.55rem);line-height:1.3}
.booking-feedback p{margin:0 auto 12px;max-width:540px;line-height:1.6;color:#365b47}
.booking-feedback a{font-weight:800;color:#205b3f;text-decoration:underline;text-underline-offset:3px}
.booking-check-animated{display:block;width:94px;height:94px;margin:0 auto 10px}
.booking-check-animated circle{fill:#24724d;transform-origin:50% 50%;animation:booking-circle-pop .45s cubic-bezier(.2,1.6,.4,1) both}
.booking-check-animated path{fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:64;stroke-dashoffset:64;animation:booking-check-draw .65s .27s ease forwards}
.booking-form-shell.booking-sent{background:linear-gradient(180deg,#eef8ef,#fdfefa);border-color:#b4d3be;transition:background .35s ease,border-color .35s ease}
.booking-form-shell.booking-sent form{display:none}
.booking-submit[disabled]{opacity:.62;cursor:wait;transform:none!important}
@keyframes booking-circle-pop{from{opacity:0;transform:scale(.48)}to{opacity:1;transform:scale(1)}}
@keyframes booking-check-draw{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.booking-check-animated circle,.booking-check-animated path{animation:none;opacity:1;stroke-dashoffset:0}}
