/* Compact public application shell — shared across all server-rendered pages. */
:root{--cream:#f5f6f2;--pine:#183f34;--ink:#20362d;--muted:#65766c;--accent:#e4bb83;--line:#e1e6dc}body{background:var(--cream);font-size:15px;line-height:1.55}.wrap{width:min(1120px,calc(100% - 40px))}svg{width:22px;height:22px;flex-shrink:0}.bar.wrap{position:sticky;top:0;z-index:25;height:72px;min-height:72px;background:#f5f6f2f5;backdrop-filter:blur(14px);border-bottom:1px solid #e3e8de;gap:16px}.bar .logo{font-size:1.14rem;letter-spacing:-.04em}.logo small{font-size:.56rem;letter-spacing:.14em;margin-top:5px}.bar .links{font-size:.8rem;gap:22px}.links .nav-cta{padding:11px 16px;border-radius:50px}.admin-link{font-size:.72rem;padding:8px 10px;border:0;color:#6b7e72}.mobile-chat{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;border:0;border-radius:12px;padding:11px 18px;font-size:.85rem;font-weight:700}.button svg{width:18px;height:18px}.button.warm{background:#ebc48c;color:#193b30}.button.warm:hover{background:#f5d5a6}.eyebrow{font-size:.66rem;letter-spacing:.13em;font-weight:800}.eyebrow:before{display:none}.skip-link{position:fixed;left:20px;top:-90px;padding:12px;background:#fff;z-index:80}.skip-link:focus{top:12px}html{scroll-padding-top:90px}.home-app{padding-top:20px}.app-hero{position:relative;isolation:isolate;min-height:365px;overflow:hidden;background:#173b31;border-radius:24px;display:flex;align-items:center}.app-hero-photo{position:absolute;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 46%;inset:0}.app-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0b2b23f5 0%,#0b2b23c9 35%,#0c282536 74%,#16342b20)}.app-hero-copy{padding:40px;max-width:620px;color:white}.hero-location{display:flex;align-items:center;gap:7px;font-size:.72rem;color:#f2e0bd}.hero-location svg{width:15px;height:15px}.app-hero h1{font:800 clamp(2.25rem,4.1vw,3.4rem)/1.07 Manrope,sans-serif;letter-spacing:-.055em;margin:19px 0 14px;max-width:570px}.app-hero p{font-size:.93rem;color:#e0e8df;line-height:1.7;max-width:430px;margin:0 0 24px}.hero-buttons{display:flex;align-items:center;gap:22px}.hero-gallery{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600}.hero-gallery svg{width:18px;height:18px}.hero-photo-label{position:absolute;bottom:24px;right:24px;border:1px solid #ffffff7a;background:#ffffffeb;border-radius:30px;padding:10px 15px;display:flex;align-items:center;gap:8px;font-size:.7rem;font-weight:700}.hero-photo-label svg{width:16px;height:16px}.trip-bar{display:grid;grid-template-columns:1.5fr 1fr 1fr .8fr auto;gap:18px;align-items:center;background:white;border:1px solid var(--line);border-radius:17px;padding:18px 22px;margin:14px 0 20px;box-shadow:0 5px 18px #183f3405}.trip-heading{display:flex;align-items:center;gap:12px}.trip-heading>svg{width:28px;height:28px;color:#81987d}.trip-heading strong{font-size:.83rem;display:block}.trip-heading small{font-size:.67rem;display:block;color:var(--muted);margin-top:4px}.trip-bar label{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;border-left:1px solid var(--line);padding-left:16px}.trip-bar input,.trip-bar select{width:100%;min-width:0;display:block;border:0;background:transparent;padding:6px 0 0;color:var(--ink);font-size:.83rem;min-height:32px;outline-offset:3px}.app-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.app-shortcuts>a{display:flex;align-items:center;gap:12px;padding:15px;background:#edf0e7;border:1px solid #e2e8dc;border-radius:14px;transition:background .2s}.app-shortcuts>a:hover{background:#e0e8d8}.app-shortcuts>a>span{display:grid;place-items:center;width:38px;height:38px;background:#fff;border-radius:11px;color:#4f7259;flex-shrink:0}.app-shortcuts strong{display:block;font-size:.83rem}.app-shortcuts small{display:block;font-size:.67rem;color:var(--muted);margin-top:3px}.app-shortcuts>a>svg{margin-left:auto;width:16px;height:16px;color:#83917d}.app-section{margin:36px 0}.app-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.app-section-head h2,.app-about h2{font:800 clamp(1.5rem,2.7vw,2rem)/1.2 Manrope,sans-serif;letter-spacing:-.045em;margin:6px 0 0}.app-section-head>a{font-size:.78rem;font-weight:700;white-space:nowrap;padding:8px 0}.stay-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.stay-card{border:1px solid var(--line);background:white;overflow:hidden;border-radius:18px;transition:box-shadow .2s}.stay-photo{display:block;position:relative;overflow:hidden}.stay-photo>img{width:100%;height:206px;object-fit:cover;transition:transform .35s}.photo-tag{position:absolute;left:13px;top:13px;padding:5px 9px;background:#fffefaed;border-radius:20px;font-size:.63rem;font-weight:700}.photo-arrow{position:absolute;right:13px;bottom:13px;width:30px;height:30px;border-radius:50%;background:#ffffffeb;display:grid;place-items:center}.stay-body{padding:17px}.stay-body h3{font:800 1.08rem/1.25 Manrope,sans-serif;letter-spacing:-.035em;margin:0 0 9px}.stay-features{display:flex;flex-wrap:wrap;gap:6px}.stay-features span{font-size:.6rem;padding:4px 7px;background:#f0f3ea;color:#61745d;border-radius:6px}.stay-body p{font-size:.78rem;color:var(--muted);line-height:1.65;margin:12px 0 16px}.stay-bottom{border-top:1px solid #edf0e8;padding-top:13px;display:flex;align-items:center;justify-content:space-between;gap:8px}.stay-bottom>span{font-size:.65rem;color:#768474}.stay-bottom>a{font-size:.75rem;font-weight:800;color:#294f3e}.app-about{display:grid;grid-template-columns:.85fr 1.15fr;gap:36px;background:#e9ede2;border:1px solid #dfe6d6;padding:16px;border-radius:20px;align-items:center;margin:36px 0}.app-about-photo{position:relative}.app-about-photo>img{width:100%;height:240px;object-fit:cover;border-radius:13px}.app-about-photo>a{position:absolute;bottom:13px;left:13px;background:#fffdf4e8;padding:9px 13px;border-radius:30px;display:flex;align-items:center;gap:10px;font-size:.7rem;font-weight:700}.app-about-photo svg{width:15px;height:15px}.app-about>div:last-child{padding:10px 20px 10px 0}.app-about p{font-size:.85rem;line-height:1.75;color:#5d725f;margin:14px 0}.amenity-row{display:flex;flex-wrap:wrap;gap:15px;margin:20px 0}.amenity-row span{display:flex;align-items:center;gap:6px;font-size:.68rem}.amenity-row svg{width:17px;height:17px}.app-about .text-link{font-size:.8rem;font-weight:800}.guest-reviews.section{padding:0;margin:36px 0}.guest-reviews .section-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:18px}.guest-reviews .section-title{font-size:1.9rem;margin:6px 0}.guest-reviews .section-intro{font-size:.82rem;margin:8px 0 0;color:var(--muted)}.guest-reviews .text-link{font-size:.75rem;font-weight:700}.reviews-track{gap:14px;padding-bottom:10px}.review-card{flex-basis:calc((100% - 28px)/3);padding:20px;border-radius:16px;min-height:214px;box-shadow:none}.review-card blockquote{font-size:1rem;margin:20px 0;line-height:1.55}.review-author{margin-top:auto}.review-author strong{font-size:.75rem}.review-author small{font-size:.64rem}.review-avatar{width:33px;height:33px;font-size:.65rem}.review-controls{margin-top:4px}.review-controls p{font-size:.66rem}.review-controls button{width:34px;height:34px}.journal-grid{padding:0;gap:17px}.app-location{background:#fff;border:1px solid var(--line);display:flex;align-items:center;gap:20px;padding:24px;border-radius:18px;margin:36px 0 18px}.location-icon{display:grid;place-items:center;background:#edf0e5;width:54px;height:54px;border-radius:16px;flex-shrink:0}.app-location h2{font:800 1.35rem Manrope;letter-spacing:-.035em;margin:5px 0}.app-location p{font-size:.78rem;color:var(--muted);margin:6px 0 0}.app-location .button{margin-left:auto;white-space:nowrap}.app-contact-strip{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 0 30px}.app-contact-strip h2{font:800 1.5rem Manrope;letter-spacing:-.035em;margin:0 0 7px}.app-contact-strip p{font-size:.8rem;color:var(--muted);margin:0}.app-contact-strip>div:last-child{display:flex;align-items:center;gap:18px}.call-link{display:flex;align-items:center;gap:7px;font-size:.8rem;font-weight:700}.call-link svg{width:17px;height:17px}.footer.wrap{padding:24px 0 30px;font-size:.72rem;gap:12px}.app-dock{display:none}
/* Bring interior pages into the same compact rhythm. */
.intro{padding:32px;margin:18px 0 24px;border-radius:19px}.intro h1{font-size:clamp(2rem,3.8vw,3rem);margin:10px 0 14px}.intro p{font-size:.95rem;max-width:650px}.breadcrumbs{padding-top:18px;font-size:.7rem}.grid{gap:17px;padding:0 0 32px}.card{border-radius:17px;box-shadow:none}.card img{aspect-ratio:16/11}.card-body{padding:19px}.card h2{font-size:1.15rem}.card p{font-size:.83rem;margin-bottom:15px}.card a{font-size:.8rem}.card-body>a{padding-top:12px}.feature-panel{gap:32px;margin:20px 0 35px}.feature-panel img{min-height:270px;max-height:440px;border-radius:19px;box-shadow:none}.feature-panel h2{font-size:1.9rem}.feature-panel p{font-size:.9rem}.chips{gap:7px;margin:18px 0}.chips li{padding:6px 9px;font-size:.72rem}.callout{padding:28px;margin:24px 0 36px;border-radius:18px;box-shadow:none}.callout h2{font-size:1.55rem}.callout p{font-size:.9rem;margin-bottom:16px}.callout a{padding:11px 16px;font-size:.85rem}.contact-grid{gap:20px;margin-bottom:36px}.contact-card,.form-card{padding:24px;border-radius:18px;box-shadow:none}.contact-card h2,.form-card h2{font-size:1.3rem}.contact-card p{font-size:.85rem}.contact-item{padding:13px 0;font-size:.85rem}.form-grid{gap:12px}.form-grid label{font-size:.76rem}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px;min-height:44px;padding:9px 11px}.guest-layout{gap:35px}.guest-block h2{font-size:1.4rem}.guest-help{padding:24px;top:90px}.guest-block p{font-size:.9rem}.room-details{gap:28px;margin:30px 0}.room-details h2{font-size:1.5rem}.journal .intro h1{font-size:clamp(2rem,4vw,3rem)}.journal-content{font-size:1rem;margin:30px auto 40px}.journal-cover{max-height:460px}.category-links a{padding:8px 13px;font-size:.76rem}.faq-section{margin:40px 0}.faq-section h2{font-size:1.9rem}.faq summary{font-size:.9rem}.faq p{font-size:.9rem}
@media(hover:hover){.stay-card:hover{box-shadow:0 12px 30px #193f340e}.stay-card:hover .stay-photo img{transform:scale(1.035)}.card:hover{transform:translateY(-3px)}}
@media(max-width:1050px){.trip-heading{display:none}.trip-bar{grid-template-columns:1fr 1fr .8fr auto}.trip-bar label:first-of-type{border-left:0;padding-left:0}.bar .links{gap:14px}.app-shortcuts>a{gap:9px;padding:12px}.app-shortcuts>a>svg{display:none}}
@media(max-width:900px){body{padding-bottom:calc(82px + env(safe-area-inset-bottom))}.wrap{width:calc(100% - 32px)}.bar.wrap{height:64px;min-height:64px;gap:9px}.bar .links,.admin-link{display:none}.bar .menu-toggle{display:inline-flex;min-width:44px;width:44px;min-height:42px;height:42px;padding:9px;border-radius:12px;margin-left:0;box-shadow:none;background:#e9eee4}.menu-toggle>span{display:none}.mobile-chat{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#183f34;color:#fff;flex-shrink:0}.bar>.logo{margin-right:auto}.drawer{width:min(86vw,340px);padding:22px;z-index:60;gap:2px;border-radius:22px 0 0 22px}.menu-scrim{z-index:59}.drawer-top{padding-bottom:22px}.drawer>a{padding:13px 10px;font-size:.9rem;border:0;border-radius:10px;min-height:45px}.drawer>a:last-child{border-top:1px solid var(--line);border-radius:0;font-size:.75rem}.app-dock{position:fixed;bottom:0;left:0;right:0;z-index:40;display:grid;grid-template-columns:repeat(4,1fr);background:#fffffff5;backdrop-filter:blur(16px);border-top:1px solid #dde5d8;padding:8px 12px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -4px 24px #1b3d3108}.app-dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:.62rem;min-height:48px;font-weight:700;color:#7b887b;border-radius:12px}.app-dock svg{width:21px;height:21px}.app-dock [aria-current=page]{color:#204c39;background:#edf3e7}.app-dock a:last-child{color:#264e3b}.app-hero-copy{padding:32px;max-width:580px}.app-hero h1{font-size:2.7rem}.app-hero{min-height:340px}.hero-photo-label{display:none}.app-shortcuts small{display:none}.app-about{gap:24px}.app-about-photo>img{height:235px}.stay-photo>img{height:175px}.stay-body{padding:14px}.stay-body h3{font-size:1rem}.stay-bottom{align-items:flex-start;flex-direction:column;gap:5px}.review-card{flex-basis:calc((100% - 14px)/2)}.app-location{padding:20px;gap:15px}.location-icon{display:none}.app-contact-strip{gap:14px}.app-contact-strip>div:last-child{flex-direction:column;gap:12px;flex-shrink:0}.footer.wrap{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap}}
@media(max-width:620px){.wrap{width:calc(100% - 28px)}.bar.wrap{width:calc(100% - 28px)}.home-app{padding-top:12px}.app-hero{min-height:340px;border-radius:20px;align-items:flex-end}.app-hero:after{background:linear-gradient(0deg,#102d26f7 0%,#102d26ba 43%,#122e2640 100%)}.app-hero-photo{object-position:61% center}.app-hero-copy{padding:25px 22px}.hero-location{font-size:.63rem}.app-hero h1{font-size:2.15rem;max-width:340px;margin:12px 0}.app-hero p{font-size:.8rem;line-height:1.65;margin-bottom:19px;max-width:320px}.hero-buttons{gap:17px}.hero-buttons .button{min-height:43px;padding:10px 14px;font-size:.75rem}.hero-gallery{font-size:.72rem}.trip-bar{grid-template-columns:1fr 1fr;gap:14px 10px;padding:16px;margin:12px 0 16px;border-radius:15px}.trip-bar label{padding-left:12px;font-size:.62rem}.trip-bar label:nth-of-type(3){padding-left:0;border:0}.trip-bar input,.trip-bar select{font-size:16px;min-height:35px}.trip-bar .button{min-height:44px;font-size:.78rem}.app-shortcuts{gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.app-shortcuts>a{flex-direction:column;text-align:center;gap:7px;padding:12px 4px 10px;border-radius:13px}.app-shortcuts>a>span{width:34px;height:34px;border-radius:10px}.app-shortcuts strong{font-size:.6rem;line-height:1.25}.app-shortcuts svg{width:19px;height:19px}.app-section{margin:28px 0}.app-section-head{gap:10px;align-items:end;margin-bottom:13px}.app-section-head h2{font-size:1.45rem;max-width:230px}.app-section-head>a{font-size:.67rem}.stay-grid{grid-template-columns:1fr;gap:13px}.stay-card{display:grid;grid-template-columns:35% 65%;border-radius:15px}.stay-photo>img{height:100%;min-height:184px;max-height:none}.photo-tag{left:7px;top:8px;font-size:.5rem;padding:4px 6px;max-width:calc(100% - 14px)}.photo-arrow{right:8px;bottom:9px;width:26px;height:26px;font-size:.8rem}.stay-body{padding:14px}.stay-body h3{font-size:.95rem;margin-bottom:7px}.stay-features{gap:4px}.stay-features span{font-size:.55rem;padding:3px 5px}.stay-body p{font-size:.71rem;line-height:1.55;margin:9px 0 11px}.stay-bottom{padding-top:10px;gap:4px}.stay-bottom>span{font-size:.59rem}.stay-bottom>a{font-size:.7rem}.app-about{grid-template-columns:1fr;padding:13px;gap:18px;border-radius:17px;margin:28px 0}.app-about-photo>img{height:170px}.app-about>div:last-child{padding:0 5px 7px}.app-about h2{font-size:1.5rem}.app-about p{font-size:.8rem;margin:10px 0}.amenity-row{gap:12px;margin:15px 0}.amenity-row span{font-size:.63rem}.guest-reviews.section{margin:28px 0}.guest-reviews .section-head{display:block;margin-bottom:15px}.guest-reviews .section-title{font-size:1.5rem}.guest-reviews .section-intro{font-size:.74rem;margin:6px 0 8px}.guest-reviews .text-link{font-size:.7rem}.review-card{flex-basis:88%;min-height:194px;padding:20px}.review-card blockquote{font-size:.98rem;margin:16px 0}.app-location{flex-wrap:wrap;margin:28px 0 15px;padding:19px;border-radius:16px}.app-location h2{font-size:1.25rem}.app-location p{font-size:.75rem}.app-location .button{margin-left:0;min-height:42px;font-size:.76rem}.app-contact-strip{display:block;padding:10px 0 24px}.app-contact-strip h2{font-size:1.4rem}.app-contact-strip p{font-size:.76rem}.app-contact-strip>div:last-child{flex-direction:row;justify-content:flex-start;margin-top:16px;gap:20px}.app-contact-strip .button{font-size:.75rem;min-height:43px}.call-link{font-size:.72rem}.footer.wrap{padding-top:22px;gap:12px;font-size:.67rem}.intro{padding:24px 21px;margin:12px 0 20px;border-radius:17px}.intro h1{font-size:2rem;line-height:1.1}.intro p{font-size:.86rem;line-height:1.7}.breadcrumbs{font-size:.65rem;padding-top:14px}.grid{gap:14px;padding-bottom:20px}.card img{aspect-ratio:16/10}.card-body{padding:18px}.card h2{font-size:1.1rem}.feature-panel{gap:20px;margin:18px 0 28px}.feature-panel img{min-height:220px;max-height:310px}.feature-panel h2{font-size:1.6rem}.feature-panel p{font-size:.84rem}.callout{margin:18px 0 28px;padding:23px}.callout h2{font-size:1.35rem}.callout p{font-size:.82rem}.contact-grid{gap:16px}.contact-card,.form-card{padding:20px}.contact-grid .form-card{order:-1}.form-grid{grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1/-1}.form-grid label{font-size:.7rem}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0}.form-grid label:has(input[name=name]),.form-grid label:has(input[name=phone]),.form-grid label:has(input[name=email]){grid-column:1/-1}.room-details{gap:20px}.room-enquiry{padding:22px}.room-photo-grid{margin:22px 0;gap:9px}.room-facts dd{font-size:1rem}.journal .intro h1{font-size:2rem}.journal-content{font-size:.92rem;line-height:1.85}.guest-block p,.faq p{font-size:.85rem}.guest-help{border-radius:17px}.journal-empty{padding:26px}.category-links{gap:6px}.category-links a{font-size:.7rem}.photo-lightbox{padding:14px}.photo-lightbox button{min-height:44px}.photo-lightbox p{font-size:.8rem}}
@media(max-width:360px){.hero-buttons{gap:12px}.hero-gallery{font-size:.65rem}.app-hero h1{font-size:1.95rem}.stay-card{grid-template-columns:32% 68%}.stay-body{padding:12px}.stay-features span{font-size:.5rem}.app-shortcuts strong{font-size:.56rem}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.stay-photo>img{transition:none}.app-dock{backdrop-filter:none}}
/* Small-screen corrections: allow grid content and native date controls to shrink. */
main,.grid>*,.contact-grid>*,.feature-panel>*,.guest-layout>*,.room-details>*,.trip-bar>*,.form-grid>*,.stay-card>*,.app-shortcuts>*{min-width:0}
input,select,textarea{max-width:100%}.trip-bar input[type=date],.form-grid input[type=date]{min-width:0;width:100%;box-sizing:border-box}.trip-bar input::-webkit-date-and-time-value,.form-grid input::-webkit-date-and-time-value{text-align:left;min-width:0}h1,h2,h3,.stay-body,.card-body,.breadcrumbs li{overflow-wrap:anywhere}.stay-photo{min-height:0}.app-hero-copy{min-width:0}.app-dock a{min-width:0;touch-action:manipulation}.app-dock span{line-height:1.2}.drawer{overscroll-behavior:contain}.drawer-close,.mobile-chat,.menu-toggle{touch-action:manipulation}.form-grid input,.form-grid textarea,.form-grid select{scroll-margin-top:90px;scroll-margin-bottom:110px}.form-grid button{min-height:46px}.photo-lightbox{max-height:90dvh;overflow-y:auto}.photo-lightbox img{max-height:65dvh}.hero-gallery,.call-link{min-height:44px}.stay-bottom>a{display:inline-flex;align-items:center;min-height:36px}.review-controls button{min-width:44px;min-height:44px}.footer a{overflow-wrap:anywhere}
@media(min-width:901px) and (max-width:1050px){.bar .links{gap:11px;font-size:.73rem}.bar .links .nav-cta{padding:10px 12px}.bar.wrap{gap:10px}.bar .logo{font-size:1rem}.admin-link{padding:8px 4px}}
@media(min-width:621px) and (max-width:900px){.stay-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{grid-template-columns:1fr}.contact-grid .form-card{order:-1}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-location{flex-wrap:wrap}.app-location .button{margin-left:0}.app-shortcuts strong{font-size:.75rem}}
@media(max-width:900px){.bar.wrap{padding-top:env(safe-area-inset-top);height:calc(64px + env(safe-area-inset-top));min-height:calc(64px + env(safe-area-inset-top))}.drawer{padding-top:max(22px,env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom))}.app-dock{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.app-dock a{min-height:48px}.intro h1 br{display:none}.guest-help{position:static}.keyboard-open .app-dock{display:none}}
@media(max-width:620px){.trip-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.trip-bar label{padding-left:0;border:0}.trip-bar input,.trip-bar select{background:#f3f5ef;border:1px solid #e2e7dd;border-radius:9px;padding:8px;min-height:44px;line-height:1.3;margin-top:6px}.trip-bar .button{align-self:end;height:44px}.stay-body p{font-size:.77rem}.stay-features span{font-size:.62rem}.stay-bottom>span{font-size:.65rem}.stay-bottom>a{font-size:.78rem}.stay-photo>img{min-height:210px}.app-shortcuts strong{font-size:.67rem}.app-section-head h2{max-width:none}.app-section-head>a{font-size:.72rem}.app-dock a{font-size:.69rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label:has(input[name=guests]){grid-column:1/-1}.form-grid label{font-size:.76rem}.form-grid input[type=date]{padding:9px 7px}.app-contact-strip>div:last-child{flex-wrap:wrap;gap:10px 20px}.hero-buttons{flex-wrap:wrap;gap:8px 18px}.app-hero p{font-size:.85rem}.guest-reviews .section-head{overflow-wrap:anywhere}.room-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-card{flex-basis:92%;min-width:0}.review-card blockquote{overflow-wrap:anywhere}.footer.wrap{align-items:flex-start;flex-direction:column}.app-section-head{align-items:center}.category-links{gap:8px}.category-links a{min-height:40px;display:inline-flex;align-items:center}}
@media(max-width:380px){.trip-bar{grid-template-columns:minmax(0,1fr)}.trip-bar .button{width:100%}.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .full,.form-grid label{grid-column:1/-1}.stay-card{grid-template-columns:minmax(0,1fr)}.stay-photo>img{height:175px;min-height:175px}.stay-bottom{flex-direction:row;align-items:center}.stay-body{padding:15px}.app-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shortcuts>a{flex-direction:row;justify-content:flex-start;padding:10px;text-align:left}.app-shortcuts strong{font-size:.72rem}.app-section-head{align-items:flex-start}.app-section-head h2{font-size:1.3rem}.app-section-head>a{padding-top:4px}}
@media(max-height:500px) and (max-width:900px){.app-dock{padding-top:4px;padding-bottom:calc(4px + env(safe-area-inset-bottom))}.app-dock a{min-height:42px;flex-direction:row;gap:7px}.drawer>a{padding-top:9px;padding-bottom:9px}.drawer-top{padding-bottom:12px}}
/* Home date picker: compact controls with bounded native input widths. */
@media(max-width:620px){
 .trip-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;border-radius:14px;align-items:end}
 .trip-bar label{min-width:0;max-width:100%;padding:0;margin:0;border:0;font-size:.6rem;letter-spacing:.06em;overflow:hidden}
 .trip-bar input[type=date],.trip-bar select{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:42px;min-height:42px;margin:5px 0 0;padding:8px 6px;font-size:16px;line-height:24px;border:1px solid #dfe5da;border-radius:9px;background:#f5f7f1;appearance:none;-webkit-appearance:none}
 .trip-bar input[type=date]::-webkit-datetime-edit{padding:0;min-width:0}
 .trip-bar input[type=date]::-webkit-date-and-time-value{min-height:24px;text-align:left}
 .trip-bar input[type=date]::-webkit-calendar-picker-indicator{width:14px;height:14px;margin:0;padding:0;flex-shrink:0}
 .trip-bar select{padding-right:22px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m2 2 4 4 4-4' fill='none' stroke='%233c5845' stroke-width='1.5'/%3E%3C/svg%3E");background-size:10px 7px;background-repeat:no-repeat;background-position:right 8px center}
 .trip-bar .button{width:100%;min-width:0;min-height:42px;height:42px;padding:8px 12px;margin:0;font-size:.76rem;border-radius:9px}
}
@media(max-width:350px){.trip-bar{gap:8px;padding:10px}.trip-bar input[type=date]{font-size:14px;padding:8px 4px}.trip-bar input[type=date]::-webkit-calendar-picker-indicator{width:12px;height:12px}}

.instagram-link{display:inline-flex;align-items:center;gap:7px}
.instagram-link svg{width:18px;height:18px;flex:none}
.app-instagram{display:flex;align-items:center;gap:18px;padding:23px;background:#eeeae0;border:1px solid #e2ddcf;border-radius:18px;margin:18px 0}
.instagram-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#fffaf1;color:#775b42;flex:none}
.instagram-mark svg{width:26px;height:26px}
.app-instagram h2{font:800 1.35rem/1.25 Manrope,sans-serif;letter-spacing:-.035em;margin:5px 0}
.app-instagram p{font-size:.78rem;color:#6b7166;margin:6px 0 0}
.app-instagram p span{white-space:nowrap}
.app-instagram .button{margin-left:auto;white-space:nowrap}
.drawer>a.instagram-link{display:flex;align-items:center}
@media(max-width:620px){.app-instagram{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;padding:18px;border-radius:16px}.instagram-mark{width:42px;height:42px;border-radius:12px}.app-instagram h2{font-size:1.14rem}.app-instagram p{font-size:.72rem}.app-instagram .button{grid-column:1/-1;width:100%;margin:0;font-size:.78rem}.app-instagram p span{white-space:normal;overflow-wrap:anywhere}}

.gallery-count{font-size:.8rem;color:#68736d;margin:0 0 16px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gallery-tile{margin:0;min-width:0;border-radius:16px;background:#fff;border:1px solid #e4e7df;overflow:hidden}
.gallery-tile>a{display:block;position:relative;overflow:hidden;background:#e8ebe4}
.gallery-tile img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .3s ease}
.gallery-tile a:hover img{transform:scale(1.035)}
.gallery-tile a:focus-visible{outline:3px solid #b87f3c;outline-offset:-4px}
.gallery-expand{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;color:#15332d}
.gallery-tile figcaption{padding:12px 14px;font-size:.8rem;overflow-wrap:anywhere}
.gallery-pagination{text-align:center;padding:25px 0;font-size:.8rem;color:#68736d;min-height:88px}
.gallery-pagination [aria-disabled=true]{opacity:.65;pointer-events:none}
@media(max-width:700px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-tile{border-radius:12px}.gallery-tile figcaption{padding:10px;font-size:.72rem}.gallery-expand{width:26px;height:26px;right:7px;bottom:7px}}
@media(prefers-reduced-motion:reduce){.gallery-tile img{transition:none}.gallery-tile a:hover img{transform:none}}

.gallery-tile>a{cursor:zoom-in}
.gallery-lightbox{width:min(1040px,94vw);max-width:94vw;max-height:94dvh;padding:0;border:1px solid #ffffff26;border-radius:22px;background:#10251f;color:#fff;box-shadow:0 24px 90px #0008;overflow:auto}
.gallery-lightbox::backdrop{background:#06130feb;backdrop-filter:blur(8px)}
.gallery-viewer{padding:18px}
.gallery-viewer header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:.8rem;letter-spacing:.1em}
.gallery-viewer header small{display:block;font-size:.6rem;color:#b8c9bd;letter-spacing:.12em;margin-top:3px}
.gallery-viewer button{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid #ffffff40;border-radius:50%;background:#ffffff14;color:white;font-size:1.25rem;cursor:pointer}
.gallery-viewer button:focus-visible{outline:3px solid #e4bb83;outline-offset:3px}
.gallery-viewer button:disabled{opacity:.35;cursor:default}
.gallery-stage{display:grid;place-items:center;background:#091a15;border-radius:12px;overflow:hidden;touch-action:pan-y pinch-zoom}
.gallery-stage img{display:block;width:100%;height:min(64dvh,660px);object-fit:contain}
.gallery-viewer footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px}
.gallery-viewer footer>div{min-width:0;text-align:center}
.gallery-viewer [data-caption]{font-size:.84rem;margin:0 0 4px;overflow-wrap:anywhere}
.gallery-viewer [data-counter]{font-size:.72rem;color:#b8c9bd}
.gallery-swipe-hint{display:block;text-align:center;font-size:.65rem;color:#a5b9aa;margin-top:12px}
@media(max-width:620px){.gallery-lightbox{width:96vw;max-width:96vw;border-radius:16px}.gallery-viewer{padding:12px}.gallery-stage img{height:57dvh}.gallery-viewer [data-caption]{font-size:.75rem}.gallery-viewer footer{gap:10px}}

/* Consistent optical alignment for gallery controls on small screens. */
.gallery-viewer button{border-radius:14px;line-height:1;-webkit-tap-highlight-color:transparent;transition:background .15s}
.gallery-viewer button svg{display:block;width:22px;height:22px;pointer-events:none}
.gallery-viewer button:active{background:#ffffff30}
.gallery-viewer [data-close]{border-radius:50%;background:transparent;border-color:transparent}
.gallery-viewer [data-close] svg{width:20px;height:20px}
.gallery-expand{background:#ffffffed;box-shadow:0 2px 8px #10251f14}
.gallery-expand svg{display:block;width:15px;height:15px}
@media(max-width:620px){.gallery-viewer footer{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:12px}.gallery-viewer button{min-width:44px;min-height:44px}.gallery-viewer button svg{width:21px;height:21px}.gallery-expand svg{width:14px;height:14px}}

.room-mobile-arrow{display:none}
@media(max-width:900px){
.home-app #rooms .room-desktop-arrow{display:none}
.home-app #rooms .room-mobile-arrow{display:block;width:17px;height:17px;flex:none}
.home-app #rooms .photo-arrow{width:30px;height:30px;border-radius:10px;right:10px;bottom:10px;background:#fffffff2;box-shadow:0 2px 8px #183f3414;color:#183f34}
.home-app #rooms .stay-bottom>a,.home-app #rooms .room-all-link{display:inline-flex;align-items:center;gap:4px;min-height:44px}
.home-app #rooms .stay-bottom>a .room-mobile-arrow{width:15px;height:15px}
}

.room-action{display:inline-flex;align-items:center;gap:7px;min-height:44px}
.room-action svg{width:18px;height:18px;flex:none}
.room-back svg{transform:rotate(180deg)}
.room-feature>button{align-self:stretch;border-radius:18px;overflow:hidden}
.room-feature>button img{width:100%;height:100%;max-height:560px;object-fit:cover;display:block}
.photo-lightbox-controls button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:10px;border-radius:12px}
.photo-lightbox-controls svg{display:block;width:21px;height:21px}
@media(max-width:900px){.room-action svg{width:16px;height:16px}.room-feature .button{gap:8px;font-size:.8rem}.room-feature .button svg{width:18px;height:18px}.room-feature>button img{max-height:340px;aspect-ratio:4/3}.photo-lightbox{padding:12px;max-height:94dvh;overflow:auto}.photo-lightbox img{max-height:62dvh}.photo-lightbox p{font-size:.76rem}}
