@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.270md_-rr62el.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0lsanbtneewqp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_efc253b3-module__w1i8Da__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_efc253b3-module__w1i8Da__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9cc5c0547f229dea-s.26a4qkxezf9-r.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b0947914c9718a1e-s.1hzlq6xrrxf6u.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d0b60be57f16ee32-s.33on4mq75bz97.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1f9e983605289f29-s.2xsoqmjk136f4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.0v7knm2wof07y.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9cc5c0547f229dea-s.26a4qkxezf9-r.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b0947914c9718a1e-s.1hzlq6xrrxf6u.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/d0b60be57f16ee32-s.33on4mq75bz97.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1f9e983605289f29-s.2xsoqmjk136f4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.0v7knm2wof07y.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9cc5c0547f229dea-s.26a4qkxezf9-r.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b0947914c9718a1e-s.1hzlq6xrrxf6u.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d0b60be57f16ee32-s.33on4mq75bz97.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1f9e983605289f29-s.2xsoqmjk136f4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.0v7knm2wof07y.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond Fallback;src:local(Times New Roman);ascent-override:95.27%;descent-override:29.59%;line-gap-override:0.0%;size-adjust:96.98%}.cormorant_garamond_40424604-module__9xptEG__className{font-family:Cormorant Garamond,Cormorant Garamond Fallback;font-style:normal}.cormorant_garamond_40424604-module__9xptEG__variable{--font-cormorant:"Cormorant Garamond", "Cormorant Garamond Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-coral:#ff385c;--color-coral-dark:#d90b40;--color-coral-deep:#b70837;--color-ink:#272321;--color-muted:#6f6a66;--color-soft:#f4f1ed;--color-line:#e5e0da;--color-canvas:#fbfaf8;--color-surface:#fff;--font-body:var(--font-dm-sans), Arial, sans-serif;--font-display:var(--font-cormorant), Georgia, serif;--page-width:1500px;--content-width:1050px;--radius:6px;--header-height:76px}*{box-sizing:border-box}html{background:var(--color-canvas);scroll-padding-top:calc(var(--header-height) + 56px)}body{background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-body);font-feature-settings:"salt" 1;text-rendering:optimizelegibility;margin:0}body,button,input,select,summary{font:inherit}a{color:inherit}img{display:block}::selection{background:#ff385c2e}.site-shell{min-height:100dvh;overflow:clip}.site-header{z-index:20;min-height:var(--header-height);border-bottom:1px solid var(--color-line);background:#fbfaf8f5;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;padding:0 clamp(24px,4vw,64px);display:grid;position:sticky;top:0}.wordmark{width:max-content;color:var(--color-coral);letter-spacing:-.055em;font-size:25px;font-weight:600;line-height:1;text-decoration:none;transition:color .16s}.wordmark:hover{color:var(--color-coral-dark)}.desktop-nav,.site-footer nav{align-items:center;gap:clamp(20px,2.4vw,38px);display:flex}.desktop-nav a,.site-footer nav a{color:var(--color-ink);font-size:14px;font-weight:500;text-decoration:none;position:relative}.desktop-nav a:after{background:var(--color-coral);content:"";opacity:0;height:1px;transition:opacity .16s,transform .16s;position:absolute;bottom:-9px;left:0;right:0;transform:scaleX(.4)}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{opacity:1;transform:scaleX(1)}.header-booking{border:1px solid var(--color-coral);border-radius:var(--radius);min-height:42px;color:var(--color-coral-dark);white-space:nowrap;justify-content:center;justify-self:end;align-items:center;padding:0 18px;font-size:13px;font-weight:600;text-decoration:none;transition:background-color .16s,color .16s,transform .16s;display:inline-flex}.header-booking:hover{background:var(--color-coral-dark);color:var(--color-surface)}.header-booking:active,.button:active{transform:translateY(1px)}.mobile-menu{display:none}.page-frame{width:100%;max-width:var(--page-width);margin:0 auto;padding:20px clamp(24px,4vw,64px) 72px}.page-grid{grid-template-columns:minmax(0,1fr) minmax(280px,320px);align-items:start;gap:clamp(18px,2vw,30px);display:grid}.content-column{min-width:0}.hero{border-radius:var(--radius);background:var(--color-soft);isolation:isolate;min-height:min(620px,100dvh - 116px);position:relative;overflow:hidden}.hero__image{z-index:0;object-fit:cover;object-position:50% 48%}.hero__scrim{z-index:1;pointer-events:none;background:#14121199;position:absolute;inset:0}.hero__copy{z-index:2;max-width:690px;color:var(--color-surface);position:absolute;bottom:clamp(30px,6vw,72px);left:clamp(24px,5vw,72px);right:clamp(24px,5vw,72px)}.hero__copy h1,.section-heading h2,.hosts-section h2,.location-section h2,.direct-booking h2,.booking-panel h2,.room-preview h3,.booking-kicker{font-family:var(--font-display)}.hero__copy h1{letter-spacing:-.04em;text-wrap:balance;max-width:12ch;margin:0;font-size:clamp(50px,6vw,76px);font-weight:500;line-height:.92}.hero__copy p{color:#ffffffe6;max-width:53ch;margin:24px 0 20px;font-size:clamp(15px,1.25vw,18px);line-height:1.55}.hero__copy a{min-height:42px;color:var(--color-surface);border-bottom:1px solid #ffffffb8;align-items:center;font-size:14px;font-weight:600;text-decoration:none;transition:border-color .16s;display:inline-flex}.hero__copy a:hover{border-color:var(--color-surface)}.section-nav{top:var(--header-height);z-index:10;border-bottom:1px solid var(--color-line);scrollbar-width:none;background:#fbfaf8f5;align-items:center;gap:clamp(20px,3vw,40px);min-height:58px;padding:0 4px;display:flex;position:sticky;overflow-x:auto}.section-nav::-webkit-scrollbar{display:none}.section-nav a{color:var(--color-muted);flex:none;font-size:13px;font-weight:500;text-decoration:none;transition:color .16s}.section-nav a:hover,.section-nav a:focus-visible{color:var(--color-coral-dark)}.section-block{border-bottom:1px solid var(--color-line);scroll-margin-top:calc(var(--header-height) + 58px);padding:clamp(44px,5vw,72px) 0}.section-heading--compact{margin-bottom:26px}.section-heading h2,.hosts-section h2,.location-section h2,.direct-booking h2{letter-spacing:-.035em;margin:0;font-size:clamp(35px,3.8vw,48px);font-weight:500;line-height:1}.section-heading p,.hosts-section__copy>p:not(.section-label),.location-section__copy p,.direct-booking p{max-width:62ch;color:var(--color-muted);margin:18px 0 0;font-size:15px;line-height:1.65}.overview-section{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:clamp(36px,7vw,88px);display:grid}.overview-section .section-heading{margin:0}.fact-list{border-top:1px solid var(--color-line);gap:0;margin:0;display:grid}.fact-list div{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(110px,.75fr) 1.25fr;gap:20px;padding:16px 0;display:grid}.fact-list dt,.fact-list dd{margin:0;font-size:13px;line-height:1.45}.fact-list dt{color:var(--color-muted)}.fact-list dd{font-weight:500}.room-list{gap:12px;display:grid}.room-preview{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);min-height:250px;display:grid;overflow:hidden}.room-preview__image,.hosts-section__image{background:var(--color-soft);min-height:100%;margin:0;position:relative;overflow:hidden}.room-preview__image img,.hosts-section__image img{object-fit:cover}.room-preview__image img{object-position:center 45%}.room-preview__copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(26px,4vw,48px);display:flex}.room-preview h3{letter-spacing:-.025em;margin:0;font-size:clamp(26px,2.5vw,34px);font-weight:500;line-height:1.05}.room-preview p{max-width:48ch;color:var(--color-muted);margin:15px 0 22px;font-size:14px;line-height:1.6}.room-preview a,.location-section__copy a,.hosts-section__copy a{min-height:40px;color:var(--color-coral-dark);border-bottom:1px solid;align-items:center;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.amenity-groups{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.amenity-groups>div{min-height:126px;padding:25px clamp(18px,2vw,28px)}.amenity-groups>div+div{border-left:1px solid var(--color-line)}.amenity-groups h3{margin:0;font-size:14px;font-weight:600}.amenity-groups p{color:var(--color-muted);margin:11px 0 0;font-size:13px;line-height:1.55}.hosts-section{grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);align-items:stretch;gap:clamp(30px,5vw,62px);display:grid}.hosts-section__image{border-radius:var(--radius);min-height:330px}.hosts-section__image img{object-position:center 46%}.hosts-section__copy{align-self:center}.section-label{color:var(--color-coral-dark);letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;font-size:11px;font-weight:700}.location-section{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);align-items:stretch;gap:clamp(32px,5vw,64px);display:grid}.location-stamp{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-soft);min-height:286px;position:relative;overflow:hidden}.location-stamp__map{object-fit:cover;filter:saturate(.72)contrast(.9)brightness(.88);width:100%;height:100%;position:absolute;inset:0;transform:scale(1.03)}.location-stamp:after{content:"";pointer-events:none;background:linear-gradient(#1b19171f,#1b191799);position:absolute;inset:0}.location-stamp__overlay{z-index:1;pointer-events:none;flex-direction:column;justify-content:flex-end;min-height:286px;padding:clamp(28px,4vw,46px);display:flex;position:relative}.location-stamp__overlay span{color:#ffffffe6;font-size:13px;line-height:1.5;display:block}.location-stamp__overlay span:first-child{color:var(--color-surface);font-family:var(--font-display);letter-spacing:-.04em;overflow-wrap:anywhere;margin-bottom:auto;font-size:clamp(35px,4.4vw,58px);font-weight:500;line-height:.95}.location-section__copy{align-self:center}.location-section__copy a{margin-top:24px}.disclosure-list{gap:10px;display:grid}.disclosure-list details{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);overflow:hidden}.disclosure-list summary{min-height:66px;color:var(--color-ink);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;padding:0 20px;font-size:14px;font-weight:600;display:grid}.disclosure-list summary:hover{color:var(--color-coral-dark)}.disclosure-list summary svg{color:var(--color-coral-dark);transition:transform .18s}.disclosure-list details p{max-width:70ch;color:var(--color-muted);margin:0;padding:0 52px 22px 20px;font-size:13px;line-height:1.6}.direct-booking{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px;margin-top:18px;padding:clamp(28px,4vw,44px);display:grid}.direct-booking h2{font-size:clamp(31px,3.4vw,43px)}.direct-booking p{max-width:56ch;margin-top:10px}.button{border-radius:var(--radius);text-align:center;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;min-height:50px;padding:0 24px;font-size:14px;font-weight:700;text-decoration:none;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex}.button--primary{border-color:var(--color-coral-dark);background:var(--color-coral-dark);color:var(--color-surface)}.button--primary:hover{border-color:var(--color-coral-deep);background:var(--color-coral-deep)}.booking-rail{top:calc(var(--header-height) + 20px);position:sticky}.booking-panel{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);padding:clamp(26px,3vw,34px)}.booking-kicker{letter-spacing:-.02em;margin:0 0 10px;font-size:25px;font-weight:500;line-height:1}.booking-panel h2{letter-spacing:-.035em;margin:0;font-size:34px;font-weight:500;line-height:1}.booking-panel>p:not(.booking-kicker):not(.booking-note){color:var(--color-muted);margin:17px 0 0;font-size:13px;line-height:1.6}.booking-steps{border-top:1px solid var(--color-line);margin:24px 0;padding:0;list-style-position:inside}.booking-steps li{border-bottom:1px solid var(--color-line);color:var(--color-ink);padding:13px 0;font-size:12px;line-height:1.4}.booking-steps li::marker{color:var(--color-coral-dark);font-weight:700}.booking-panel__button{width:100%}.booking-note{color:var(--color-muted);text-align:center;margin:14px 0 0;font-size:11px;line-height:1.4}.mobile-booking{display:none}.site-footer{max-width:var(--page-width);border-top:1px solid var(--color-line);grid-template-columns:1fr auto 1fr;align-items:end;gap:36px;margin:0 auto;padding:28px clamp(24px,4vw,64px) 34px;display:grid}.site-footer__brand p,.site-footer__legal{color:var(--color-muted);margin:10px 0 0;font-size:11px;line-height:1.5}.site-footer__legal{justify-self:end;margin:0}.wordmark:focus-visible,.header-booking:focus-visible,.desktop-nav a:focus-visible,.section-nav a:focus-visible,.hero__copy a:focus-visible,.room-preview a:focus-visible,.location-section a:focus-visible,.button:focus-visible,.site-footer a:focus-visible,.mobile-menu summary:focus-visible,.mobile-menu a:focus-visible,.disclosure-list summary:focus-visible{border-radius:var(--radius);outline-offset:4px;outline:3px solid #ff385c52}@media (max-width:1180px){.page-grid{grid-template-columns:minmax(0,1fr) 282px}.site-header,.desktop-nav,.site-footer nav{gap:22px}.overview-section{grid-template-columns:1fr}.fact-list{grid-template-columns:repeat(3,minmax(0,1fr))}.fact-list div{border-right:1px solid var(--color-line);padding:18px;display:block}.fact-list div:last-child{border-right:0}.fact-list dd{margin-top:8px}}@media (max-width:960px){.page-grid{display:block}.booking-rail{display:none}.mobile-booking{margin-top:16px;display:block}.mobile-booking .booking-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 28px;display:grid}.mobile-booking .booking-kicker,.mobile-booking .booking-panel h2,.mobile-booking .booking-panel>p,.mobile-booking .booking-steps{grid-column:1}.mobile-booking .booking-panel__button,.mobile-booking .booking-note{grid-column:2}.mobile-booking .booking-panel__button{grid-row:1/5;width:auto}.mobile-booking .booking-note{display:none}.mobile-booking .booking-steps{margin-bottom:0}}@media (max-width:820px){:root{--header-height:66px}.site-header{grid-template-columns:1fr auto;padding-inline:18px}.desktop-nav,.header-booking{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);align-items:center;min-height:40px;padding:0 13px;font-size:13px;font-weight:600;list-style-position:inside;display:inline-flex}.mobile-menu nav{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);width:min(280px,100vw - 36px);padding:12px;display:grid;position:absolute;top:48px;right:0}.mobile-menu nav a{border-bottom:1px solid var(--color-line);align-items:center;min-height:44px;padding:0 10px;font-size:14px;text-decoration:none;display:flex}.mobile-menu nav a:last-child{border-radius:var(--radius);background:var(--color-coral-dark);color:var(--color-surface);border:0;justify-content:center;margin-top:8px;font-weight:700}.page-frame{padding:12px 16px 48px}.hero{min-height:min(620px,100dvh - 90px)}.hero__copy{bottom:32px;left:24px;right:24px}.hero__copy h1{max-width:11ch;font-size:clamp(46px,11vw,64px)}.section-nav{margin-inline:-16px;padding-inline:16px}.room-preview,.hosts-section,.location-section{grid-template-columns:1fr}.room-preview__image{aspect-ratio:16/10;min-height:0}.hosts-section__image{aspect-ratio:4/3;min-height:0}.location-stamp{min-height:230px}.site-footer{grid-template-columns:1fr;align-items:start;padding-inline:20px}.site-footer nav{flex-wrap:wrap}.site-footer__legal{justify-self:start}}@media (max-width:620px){.wordmark{font-size:22px}.hero{min-height:560px}.hero__copy h1{font-size:clamp(43px,13vw,55px)}.hero__copy p{max-width:35ch;margin-top:18px;font-size:15px}.mobile-booking .booking-panel{display:block}.mobile-booking .booking-panel__button{width:100%}.mobile-booking .booking-note{display:block}.section-block{padding:44px 0}.section-heading h2,.hosts-section h2,.location-section h2,.direct-booking h2{font-size:36px}.fact-list{grid-template-columns:1fr}.fact-list div{border-right:0;grid-template-columns:110px 1fr;padding-inline:0;display:grid}.fact-list dd{margin-top:0}.room-preview__copy{padding:26px 22px 30px}.amenity-groups{grid-template-columns:1fr}.amenity-groups>div+div{border-top:1px solid var(--color-line);border-left:0}.hosts-section,.location-section{gap:28px}.disclosure-list summary{min-height:68px}.disclosure-list summary span:last-child{text-align:right;max-width:84px}.direct-booking{grid-template-columns:1fr}.direct-booking .button{width:100%}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.desktop-nav a[aria-current=page]{color:var(--color-coral-dark)}.desktop-nav a[aria-current=page]:after{opacity:1;transform:scaleX(1)}.hero__image{object-position:50% 54%}.hero__copy h1{max-width:14ch;font-size:clamp(48px,5.2vw,70px);line-height:.96}.room-card{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);grid-template-columns:minmax(320px,1.08fr) minmax(360px,.92fr);min-width:0;display:grid;overflow:hidden}.room-card__image{background:var(--color-soft);min-height:390px;position:relative;overflow:hidden}.room-card__image img{object-fit:cover;object-position:center;transition:transform .32s cubic-bezier(.16,1,.3,1)}.room-card__image:hover img{transform:scale(1.015)}.room-card__content{flex-direction:column;justify-content:center;gap:24px;min-width:0;padding:clamp(28px,4vw,52px);display:flex}.room-card h3{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1}.room-card h3 a{text-decoration:none}.room-card h3 a:hover{color:var(--color-coral-dark)}.room-card__content>div>p{max-width:52ch;color:var(--color-muted);margin:14px 0 0;font-size:14px;line-height:1.65}.room-card__facts{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.room-card__facts div{padding:14px 14px 14px 0}.room-card__facts div+div{border-left:1px solid var(--color-line);padding-left:14px}.room-card__facts dt,.room-card__facts dd{margin:0;font-size:12px;line-height:1.45}.room-card__facts dt{color:var(--color-muted)}.room-card__facts dd{margin-top:6px;font-weight:600}.room-card__actions{align-items:center;gap:18px;display:flex}.text-link{min-height:42px;color:var(--color-coral-dark);border-bottom:1px solid;align-items:center;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.button--secondary{border-color:var(--color-ink);color:var(--color-ink);background:0 0}.button--secondary:hover{background:var(--color-ink);color:var(--color-surface)}.home-room-grid .room-card{grid-template-columns:minmax(150px,.78fr) minmax(0,1.22fr)}.home-room-grid .room-card:first-child{flex-direction:column;grid-row:1/span 2;display:flex}.home-room-grid .room-card:first-child .room-card__image{flex:auto;min-height:360px}.home-room-grid .room-card:not(:first-child) .room-card__image{min-height:230px}.home-room-grid .room-card__content{gap:16px;padding:24px}.home-room-grid .room-card:first-child .room-card__content{padding:30px}.home-room-grid .room-card h3{font-size:clamp(25px,2.2vw,32px)}.home-room-grid .room-card__content>div>p{margin-top:10px;font-size:13px}.home-room-grid .room-card__facts div{grid-template-columns:82px 1fr;padding:8px 0;display:grid}.amenity-groups ul,.room-amenity-groups ul{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.amenity-groups li,.room-amenity-groups li{color:var(--color-muted);font-size:13px;line-height:1.5}.amenity-groups li:not(.amenity-item):before,.room-amenity-groups li:not(.amenity-item):before{color:var(--color-coral-dark);content:"•";margin-right:9px}.hosts-story{grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:clamp(34px,6vw,84px);display:grid}.hosts-story h2,.guest-feedback h2,.booking-reassurance h2,.room-description h2,.room-highlights h2,.room-amenities h2,.stay-information h2,.related-rooms h2{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(34px,4vw,50px);font-weight:500;line-height:1}.hosts-story>div:last-child p{max-width:62ch;color:var(--color-muted);margin:0;font-size:15px;line-height:1.75}.hosts-story>div:last-child p+p{margin-top:18px}.guest-feedback{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px;display:grid}.guest-feedback h2{font-size:clamp(32px,3.5vw,44px)}.guest-feedback p{max-width:56ch;color:var(--color-muted);margin:12px 0 0;font-size:14px;line-height:1.6}.nearby-list{border-top:1px solid var(--color-line);max-width:520px;margin:24px 0 0}.nearby-list div{border-bottom:1px solid var(--color-line);justify-content:space-between;gap:24px;padding:11px 0;display:flex}.nearby-list dt,.nearby-list dd{margin:0;font-size:13px}.nearby-list dd{color:var(--color-muted)}.inner-page,.room-detail{width:min(100% - 48px,1380px);margin:0 auto;padding-top:clamp(24px,3vw,32px)}.rooms-intro{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(0,1fr) minmax(290px,360px);align-items:start;gap:clamp(48px,9vw,128px);padding:0 0 clamp(34px,6vw,78px);display:grid}.rooms-intro__copy{max-width:790px}.page-kicker{color:var(--color-coral-dark);letter-spacing:.12em;text-transform:uppercase;margin:0 0 15px;font-size:11px;font-weight:700}.rooms-intro h1,.room-identity h1{font-family:var(--font-display);letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:clamp(52px,7vw,88px);font-weight:500;line-height:.94}.rooms-intro__copy>p:last-child,.room-identity>div>p:last-child{max-width:62ch;color:var(--color-muted);margin:24px 0 0;font-size:clamp(15px,1.5vw,18px);line-height:1.65}.catalogue-section,.comparison-section,.shared-amenities-section,.related-rooms{border-bottom:1px solid var(--color-line);padding:clamp(62px,8vw,108px) 0}.room-catalogue{gap:clamp(30px,5vw,62px);display:grid}.room-catalogue .room-card{width:100%}.comparison-scroll{overflow-x:auto}.room-comparison{border-collapse:collapse;text-align:left;width:100%;min-width:840px}.room-comparison th,.room-comparison td{border-bottom:1px solid var(--color-line);vertical-align:top;padding:18px 20px 18px 0;font-size:13px;line-height:1.5}.room-comparison thead th{color:var(--color-ink);font-size:15px;font-weight:700}.room-comparison tbody th{width:140px;color:var(--color-muted);font-weight:500}.room-comparison td{width:calc(25% - 35px);font-weight:500}.shared-amenities-section{border-bottom:0}.booking-reassurance{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:36px;margin-bottom:clamp(52px,7vw,90px);padding:clamp(32px,5vw,56px);display:grid}.booking-reassurance h2{font-size:clamp(34px,4vw,50px)}.booking-reassurance p{max-width:62ch;color:var(--color-muted);margin:12px 0 0;font-size:14px;line-height:1.6}.back-link{min-height:42px;color:var(--color-coral-dark);border-bottom:1px solid;align-items:center;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.room-identity{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);align-items:end;gap:clamp(42px,8vw,110px);padding:0 0 34px;display:grid}.room-identity h1{max-width:14ch;font-size:clamp(48px,6vw,78px)}.room-identity__facts{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.room-identity__facts div{padding:16px}.room-identity__facts div:first-child{padding-left:0}.room-identity__facts div+div{border-left:1px solid var(--color-line)}.room-identity__facts dt,.room-identity__facts dd{margin:0;font-size:12px;line-height:1.45}.room-identity__facts dt{color:var(--color-muted)}.room-identity__facts dd{margin-top:7px;font-weight:600}.room-gallery__grid{grid-template-rows:repeat(2,minmax(210px,1fr));grid-template-columns:1.5fr .75fr .75fr;gap:10px;display:grid}.room-gallery figure,.gallery-more figure{border-radius:var(--radius);background:var(--color-soft);min-height:210px;margin:0;position:relative;overflow:hidden}.room-gallery figure img,.gallery-more figure img{object-fit:cover}.room-gallery__lead{grid-row:1/span 2}.room-gallery__lead img{object-position:center}.gallery-more{margin-top:14px}.gallery-more summary{border:1px solid var(--color-ink);border-radius:var(--radius);background:var(--color-surface);min-height:46px;color:var(--color-ink);align-items:center;padding:0 18px;font-size:13px;font-weight:700;list-style-position:inside;display:inline-flex}.gallery-more[open] summary{margin-bottom:14px}.gallery-more__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.gallery-more__grid figure{aspect-ratio:4/3}.room-detail__grid{grid-template-columns:minmax(0,1fr) minmax(300px,350px);align-items:start;gap:clamp(48px,8vw,116px);padding:clamp(58px,8vw,104px) 0;display:grid}.room-detail__content{min-width:0}.room-description,.room-highlights,.room-amenities,.stay-information{border-bottom:1px solid var(--color-line);padding-bottom:clamp(46px,6vw,72px)}.room-highlights,.room-amenities,.stay-information{padding-top:clamp(46px,6vw,72px)}.room-description p{max-width:70ch;color:var(--color-muted);margin:22px 0 0;font-size:16px;line-height:1.75}.room-highlights ul{border-top:1px solid var(--color-line);grid-template-columns:repeat(2,minmax(0,1fr));margin:28px 0 0;padding:0;list-style:none;display:grid}.room-highlights li{border-bottom:1px solid var(--color-line);align-items:center;min-height:84px;padding:20px 20px 20px 0;font-size:15px;font-weight:600;display:flex}.room-highlights li:nth-child(2n){border-left:1px solid var(--color-line);padding-left:20px}.room-amenity-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;margin-top:30px;display:grid}.room-amenity-groups h3{margin:0;font-size:15px}.stay-information .disclosure-list{margin-top:28px}.room-booking-rail{top:calc(var(--header-height) + 24px);position:sticky}.related-rooms{border-top:1px solid var(--color-line);border-bottom:0}.related-room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.related-room-grid .room-card__image{min-height:300px}.related-room-grid .room-card__content{padding:28px}.mobile-sticky-booking{display:none}.back-link:focus-visible,.room-card a:focus-visible,.guest-feedback a:focus-visible,.gallery-more summary:focus-visible,.mobile-sticky-booking a:focus-visible{border-radius:var(--radius);outline-offset:4px;outline:3px solid #ff385c52}@media (max-width:1120px){.home-room-grid{grid-template-rows:auto;grid-template-columns:1fr}.home-room-grid .room-card:first-child{grid-row:auto;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);display:grid}.home-room-grid .room-card:first-child .room-card__image{min-height:300px}.room-identity{grid-template-columns:1fr}.room-identity__facts{max-width:720px}}@media (max-width:960px){.rooms-intro,.room-detail__grid{grid-template-columns:1fr}.rooms-intro .booking-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 28px;display:grid}.rooms-intro .booking-panel__button{grid-area:1/2/5}.rooms-intro .booking-note,.room-booking-rail{display:none}.room-card{grid-template-columns:minmax(270px,.9fr) minmax(0,1.1fr)}.mobile-sticky-booking{right:14px;bottom:max(14px, env(safe-area-inset-bottom));z-index:18;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);justify-content:space-between;align-items:center;gap:16px;min-height:62px;padding:10px 10px 10px 18px;display:flex;position:fixed;left:14px;box-shadow:0 12px 32px #27232129}.mobile-sticky-booking span{font-size:13px;font-weight:700}.mobile-sticky-booking a{border-radius:var(--radius);background:var(--color-coral-dark);min-height:42px;color:var(--color-surface);white-space:nowrap;align-items:center;padding:0 16px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.room-detail-page{padding-bottom:90px}}@media (max-width:820px){.inner-page,.room-detail{width:min(100% - 32px,1380px)}.home-room-grid .room-card,.home-room-grid .room-card:first-child,.room-card{grid-template-columns:1fr}.home-room-grid .room-card__image,.home-room-grid .room-card:first-child .room-card__image,.room-card__image{aspect-ratio:16/10;min-height:0}.room-card__content{padding:28px}.hosts-story,.guest-feedback{grid-template-columns:1fr}.guest-feedback .button{width:max-content}.room-gallery__grid{grid-template-rows:auto;grid-template-columns:1fr 1fr}.room-gallery figure{aspect-ratio:4/3;min-height:0}.room-gallery__lead{aspect-ratio:16/10;grid-area:auto/1/auto/-1}.room-amenity-groups,.related-room-grid{grid-template-columns:1fr}}@media (max-width:620px){.rooms-intro h1,.room-identity h1{font-size:46px}.rooms-intro .booking-panel{display:block}.rooms-intro .booking-panel__button{width:100%}.rooms-intro .booking-note{display:block}.room-card__facts,.room-identity__facts{grid-template-columns:1fr}.room-card__facts div,.room-identity__facts div{grid-template-columns:86px 1fr;padding:10px 0;display:grid}.room-card__facts div+div,.room-identity__facts div+div{border-top:1px solid var(--color-line);border-left:0;padding-left:0}.room-card__facts dd,.room-identity__facts dd{margin-top:0}.room-card__actions{flex-direction:column;align-items:stretch}.room-card__actions .button,.room-card__actions .text-link{justify-content:center;width:100%}.guest-feedback .button,.booking-reassurance .button{width:100%}.booking-reassurance,.room-gallery__grid,.gallery-more__grid{grid-template-columns:1fr}.room-gallery figure,.room-gallery__lead,.gallery-more__grid figure{aspect-ratio:4/3}.room-highlights ul{grid-template-columns:1fr}.room-highlights li:nth-child(2n){border-left:0;padding-left:0}.mobile-sticky-booking span{display:none}.mobile-sticky-booking a{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.room-card__image img{transition:none}}@media (min-width:821px){.room-gallery__grid--4{grid-template-rows:repeat(3,minmax(150px,1fr));grid-template-columns:1.55fr .85fr}.room-gallery__grid--4 .room-gallery__lead{grid-row:1/span 3}}.not-found{background:var(--color-canvas);place-content:center;justify-items:start;min-height:100dvh;padding:48px 24px;display:grid}.not-found .eyebrow{color:var(--color-coral-dark);letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px;font-size:12px;font-weight:700}.not-found h1{max-width:13ch;font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(44px,7vw,78px);font-weight:500;line-height:.96}.not-found a{min-height:44px;color:var(--color-coral-dark);border-bottom:1px solid;align-items:center;margin-top:28px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}body{font-size:16px}.page-grid--single{grid-template-columns:minmax(0,1fr)}.wordmark{font-family:var(--font-body);letter-spacing:-.045em;align-items:center;gap:10px;font-size:24px;font-weight:750;display:inline-flex}.wordmark__icon{border-radius:var(--radius);border:1px solid;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.wordmark__icon svg{flex:none}.desktop-nav a,.site-footer nav a{font-size:15px}.header-booking{min-height:44px;padding-inline:20px;font-size:14px}.section-heading{max-width:760px;margin-bottom:40px}.section-heading p,.hosts-section__copy>p:not(.section-label),.location-section__copy p,.direct-booking p{font-family:var(--font-body);font-size:17px;line-height:1.7}.fact-list div{grid-template-columns:minmax(150px,.8fr) 1.2fr;padding:20px 0}.fact-list dt{color:var(--color-ink);align-items:center;gap:11px;font-size:15px;font-weight:600;display:flex}.fact-list dt svg{color:var(--color-coral-dark);flex:none}.fact-list dd{font-size:16px}.home-room-grid{grid-template-rows:none;grid-template-columns:1fr;gap:22px;display:grid}.home-room-grid .room-card,.home-room-grid .room-card:first-child{grid-row:auto;grid-template-columns:minmax(330px,.82fr) minmax(0,1.18fr);min-height:340px;display:grid}.home-room-grid .room-card__image,.home-room-grid .room-card:first-child .room-card__image,.home-room-grid .room-card:not(:first-child) .room-card__image{aspect-ratio:auto;min-height:340px}.home-room-grid .room-card__content,.home-room-grid .room-card:first-child .room-card__content{gap:24px;padding:clamp(30px,4vw,48px)}.home-room-grid .room-card h3{max-width:19ch;font-size:clamp(32px,3vw,42px);line-height:1.02}.home-room-grid .room-card__content>div>p{max-width:58ch;margin-top:14px;font-size:16px;line-height:1.65}.home-room-grid .room-card__facts{grid-template-columns:repeat(3,minmax(0,1fr))}.home-room-grid .room-card__facts div{padding:15px 14px 15px 0;display:block}.home-room-grid .room-card__facts div+div{border-top:0;border-left:1px solid var(--color-line);padding-left:14px}.home-room-grid .room-card__facts dt{display:flex}.home-room-grid .room-card__facts dd{margin-top:7px}.home-room-grid .room-card__actions{flex-wrap:nowrap}.home-room-grid .button{min-height:46px;padding-inline:19px;font-size:14px}.room-card__content>div>p{font-size:16px}.room-card__facts dt{color:var(--color-muted);align-items:center;gap:8px;font-size:14px;display:flex}.room-card__facts dt svg{color:var(--color-coral-dark);flex:none}.room-card__facts dd,.text-link,.room-preview a,.location-section__copy a,.hosts-section__copy a,.button{font-size:15px}.amenity-list{border-top:1px solid var(--color-line);grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(28px,5vw,70px);display:grid}.amenity-item{border-bottom:1px solid var(--color-line);align-items:center;gap:15px;min-height:76px;padding:18px 0;display:flex}.amenity-item svg{color:var(--color-coral-dark);flex:none}.amenity-item span{font-family:var(--font-body);font-size:16px;font-weight:500;line-height:1.45}.hosts-story>div:last-child p,.guest-feedback p,.booking-reassurance p,.room-description p{font-family:var(--font-body);font-size:17px}.nearby-list dt,.nearby-list dd{font-size:15px}.disclosure-list summary{min-height:68px;font-family:var(--font-body);font-size:16px}.disclosure-list summary span:last-child{font-size:14px}.disclosure-list details p{font-family:var(--font-body);font-size:15px}.booking-panel{padding:24px}.booking-panel__heading{align-items:flex-start;gap:13px;display:flex}.booking-panel__heading>svg{color:var(--color-coral-dark);flex:none;margin-top:2px}.booking-label{color:var(--color-muted);font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;margin:0 0 5px;font-size:12px;font-weight:700;line-height:1.2}.booking-panel h2{font-family:var(--font-body);letter-spacing:-.025em;margin:0;font-size:23px;font-weight:700;line-height:1.15}.booking-panel>p:not(.booking-note){font-family:var(--font-body);margin:17px 0 22px;font-size:15px;line-height:1.6}.booking-note{font-family:var(--font-body);margin-top:13px;font-size:13px}.site-footer__brand p,.site-footer__legal{font-size:13px}@media (max-width:960px){.rooms-intro .booking-panel{display:block}.rooms-intro .booking-panel__button{width:100%}.rooms-intro .booking-note{display:block}}@media (max-width:820px){.home-room-grid .room-card,.home-room-grid .room-card:first-child{grid-template-columns:1fr}.home-room-grid .room-card__image,.home-room-grid .room-card:first-child .room-card__image,.home-room-grid .room-card:not(:first-child) .room-card__image{aspect-ratio:16/10;min-height:0}.amenity-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.wordmark{gap:8px;font-size:21px}.wordmark__icon{width:31px;height:31px}.section-heading p,.hosts-story>div:last-child p,.guest-feedback p,.booking-reassurance p,.room-description p{font-size:16px}.fact-list dt,.fact-list dd{font-size:15px}.home-room-grid .room-card h3{font-size:32px}.home-room-grid .room-card__content,.home-room-grid .room-card:first-child .room-card__content{padding:26px 22px 30px}.home-room-grid .room-card__facts{grid-template-columns:1fr}.home-room-grid .room-card__facts div{grid-template-columns:110px 1fr;padding:11px 0;display:grid}.home-room-grid .room-card__facts div+div{border-top:1px solid var(--color-line);border-left:0;padding-left:0}.home-room-grid .room-card__facts dd{margin-top:0}.home-room-grid .room-card__actions{flex-direction:column}.amenity-list{grid-template-columns:1fr}.amenity-item{min-height:68px}}.room-card__kind{color:var(--color-coral-dark);font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;margin:0 0 9px;font-size:12px;font-weight:750;line-height:1.3}.room-card__rate-note{color:var(--color-muted);font-family:var(--font-body);margin:-4px 0 0;font-size:14px;font-weight:500;line-height:1.5}.source-note{font-family:var(--font-body);font-weight:500;color:var(--color-muted)!important;margin-top:16px!important;font-size:14px!important}.property-gallery-section{border-bottom:1px solid var(--color-line);padding:clamp(62px,8vw,108px) 0}.property-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:230px;gap:12px;display:grid}.property-gallery-grid figure{border-radius:var(--radius);background:var(--color-soft);margin:0;position:relative;overflow:hidden}.property-gallery-grid figure img{object-fit:cover}.property-gallery-grid__wide{grid-column:span 2}.site-footer__contact{flex-wrap:wrap;gap:6px 16px;margin-top:8px;display:flex}.site-footer__contact a{color:var(--color-muted);font-size:13px;font-weight:500;text-decoration:none}.site-footer__contact a:hover{color:var(--color-coral-dark)}@media (max-width:960px){.property-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.property-gallery-grid{grid-template-columns:1fr;grid-auto-rows:auto}.property-gallery-grid figure,.property-gallery-grid__wide{aspect-ratio:4/3;grid-column:auto}.room-card__kind{font-size:11px}}p,li,dt,dd,nav,button,summary,.wordmark,.header-booking,.text-link,.button,.booking-panel,.room-card__kind,.room-card__rate-note,.source-note,.site-footer,.fact-list,.fact-list dt,.fact-list dd,.room-card__facts,.room-card__facts dt,.room-card__facts dd,.amenity-list,.amenity-item,.nearby-list,.disclosure-list{font-family:var(--font-body)}.hero__copy h1,.section-heading h2,.hosts-story h2,.guest-feedback h2,.location-section h2,.direct-booking h2,.rooms-intro h1,.room-identity h1,.room-card h3,.room-card h3 a,.room-description h2,.room-highlights h2,.room-amenities h2,.stay-information h2,.related-rooms h2,.location-stamp span:first-child{font-family:var(--font-display)}.hero--full-bleed{border-radius:0;width:100vw;min-height:clamp(500px,60dvh,680px);margin-top:-20px;margin-left:calc(50% - 50vw)}.hero__media{z-index:0;will-change:transform;position:absolute;inset:-5%}.hero__media .hero__image{object-fit:cover;object-position:center 50%}.hero__copy--centered{max-width:none;color:var(--color-surface);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:clamp(28px,6vw,84px);display:flex;inset:0}.hero__copy--centered h1{max-width:14ch;font-size:clamp(52px,6.2vw,88px);line-height:.94}.hero__copy--centered p{text-align:center;max-width:58ch;margin:24px auto 28px;font-size:clamp(16px,1.35vw,20px)}.hero__copy .button--hero{border:1px solid var(--color-surface);border-radius:var(--radius);background:var(--color-surface);min-height:52px;color:var(--color-ink);font-family:var(--font-body);padding:0 26px;font-size:15px;font-weight:750;text-decoration:none;transition:background-color .18s,border-color .18s,color .18s,transform .18s}.hero__copy .button--hero:hover{border-color:var(--color-soft);background:var(--color-soft);color:var(--color-coral-dark);transform:translateY(-2px)}.hero__copy .button--hero:active{transform:translateY(1px)}@media (max-width:820px){.hero--full-bleed{min-height:clamp(500px,60dvh,680px);margin-top:-12px}.hero__copy--centered{padding:28px 22px}.hero__copy--centered h1{max-width:12ch;font-size:clamp(46px,13vw,66px)}.hero__copy--centered p{max-width:34ch}}@media (prefers-reduced-motion:reduce){.hero__media{will-change:auto;transform:none!important}.hero__copy .button--hero{transition:none}}.site-shell,.site-shell *{font-family:var(--font-body)}.site-shell h1,.site-shell h2,.site-shell h3,.site-shell h1 *,.site-shell h2 *,.site-shell h3 *{font-family:var(--font-display)}.amenity-list{margin:0;padding:0;list-style:none}.amenity-list--compact{border-top:0;grid-template-columns:1fr;column-gap:0}.amenity-list--compact .amenity-item{min-height:54px;padding:11px 0}.amenity-list--compact .amenity-item span{font-size:15px}.room-identity__facts dt{align-items:center;gap:8px;display:flex}.room-identity__facts dt svg{color:var(--color-coral-dark);flex:none}@media (prefers-reduced-motion:reduce){[data-reveal=true],.hero__copy--centered{opacity:1!important;transform:none!important}}.site-shell .button{border-radius:var(--radius);min-height:48px;font-family:var(--font-body);text-align:center;white-space:nowrap;border-style:solid;border-width:1px;justify-content:center;align-items:center;padding:0 22px;font-size:15px;font-weight:750;line-height:1.2;transition:background-color .18s,border-color .18s,color .18s,transform .18s;display:inline-flex;text-decoration:none!important}.site-shell .button--primary,.site-shell .mobile-menu nav a:last-child,.site-shell .mobile-sticky-booking a{border-color:var(--color-coral-dark);background:var(--color-coral-dark);color:var(--color-surface)}.site-shell .button--primary:hover,.site-shell .mobile-menu nav a:last-child:hover,.site-shell .mobile-sticky-booking a:hover{border-color:var(--color-coral-deep);background:var(--color-coral-deep);color:var(--color-surface);transform:translateY(-1px)}.site-shell .button--secondary{border-color:var(--color-ink);background:var(--color-surface);color:var(--color-ink)}.site-shell .button--secondary:hover{border-color:var(--color-ink);background:var(--color-soft);color:var(--color-ink);transform:translateY(-1px)}.site-shell .button:active,.site-shell .mobile-menu nav a:last-child:active,.site-shell .mobile-sticky-booking a:active{transform:translateY(1px)}.room-card__actions .button{min-width:148px}.hero__copy .button{border-bottom-width:1px}.location-section__copy .button{color:var(--color-ink);border-bottom-width:1px;margin-top:24px}@media (max-width:620px){.room-card__actions .button{width:100%}}.guest-feedback{grid-template-columns:minmax(280px,.72fr) minmax(520px,1.28fr);align-items:start;gap:clamp(42px,7vw,96px)}.guest-feedback__heading{align-self:center}.guest-feedback__heading .section-label{margin-bottom:12px}.booking-rating{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);padding:clamp(24px,3vw,34px)}.booking-rating__summary{align-items:center;gap:24px;display:flex}.booking-rating__score{color:var(--color-ink);align-items:baseline;gap:5px;display:flex}.booking-rating__score strong{letter-spacing:-.07em;font-size:clamp(52px,6vw,72px);font-weight:750;line-height:.9}.booking-rating__score span{color:var(--color-muted);font-size:15px;font-weight:650}.booking-rating .booking-rating__label{color:var(--color-ink);margin:0 0 3px;font-size:19px;font-weight:750;line-height:1.2}.booking-rating__summary>div:last-child>p:last-child{margin:0;font-size:14px}.booking-rating__categories{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);grid-template-columns:repeat(3,minmax(0,1fr));margin:28px 0 0;padding:20px 0;display:grid}.booking-rating__categories div{justify-content:space-between;gap:14px;padding:7px 18px;display:flex}.booking-rating__categories div:nth-child(3n+1){padding-left:0}.booking-rating__categories div:nth-child(3n){padding-right:0}.booking-rating__categories dt,.booking-rating__categories dd{margin:0;font-size:13px}.booking-rating__categories dt{color:var(--color-muted)}.booking-rating__categories dd{color:var(--color-ink);font-weight:750}.booking-rating__source{color:var(--color-muted);justify-content:space-between;gap:20px;margin-top:16px;font-size:12px;display:flex}.booking-rating__source a{color:var(--color-ink);text-underline-offset:3px;font-weight:650}@media (max-width:920px){.guest-feedback{grid-template-columns:1fr}}@media (max-width:620px){.booking-rating__summary{flex-direction:column;align-items:flex-start;gap:14px}.booking-rating__categories{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-rating__categories div,.booking-rating__categories div:nth-child(3n+1),.booking-rating__categories div:nth-child(3n){padding:7px 12px 7px 0}.booking-rating__source{flex-direction:column;gap:6px}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--color-ink);color:#fff;font-family:var(--font-body);border-radius:var(--radius);padding:14px 20px;position:fixed;top:-90px;left:16px}.skip-link:focus{top:12px}.site-shell :is(a,button,summary,[tabindex]):focus-visible{outline:3px solid var(--color-ink);outline-offset:4px}#main-content:focus{outline:none}.site-shell .wordmark{color:var(--color-coral-dark)}.site-shell .button{white-space:normal;padding-block:12px}.site-shell .booking-panel h2{font-family:var(--font-body);font-size:23px;line-height:1.2}.booking-policy-links{margin-bottom:0;font-size:13px;line-height:1.8}.booking-policy-links a,.legal-copy a,.contact-privacy a,.policy-crosslink a{text-underline-offset:3px}.site-footer{flex-wrap:wrap}.site-footer nav{flex-wrap:wrap;gap:14px 26px}.site-footer__legal{flex-wrap:wrap;align-items:center;gap:12px 22px;margin:0;display:flex}.site-footer__legal a{text-underline-offset:3px}.site-footer a{padding-block:8px}.mobile-menu nav{max-height:calc(100dvh - 132px);overflow-y:auto;box-shadow:0 12px 32px #2723211f}.mobile-menu summary{min-height:44px}.mobile-menu:focus-within{z-index:22}.breadcrumbs{color:var(--color-muted);margin-bottom:28px;font-size:13px;line-height:1.6}.breadcrumbs ol{flex-wrap:wrap;gap:8px 12px;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li{align-items:center;gap:12px;display:inline-flex}.breadcrumbs li+li:before{content:"/";color:var(--color-muted)}.breadcrumbs a{text-underline-offset:4px}.breadcrumbs [aria-current]{color:var(--color-ink)}.room-detail .back-link{display:none}.comparison-hint{color:var(--color-muted);font-size:14px;line-height:1.6}.disclosure-list summary{gap:20px;list-style:none}.disclosure-list summary::-webkit-details-marker{display:none}.disclosure-list summary svg,.disclosure-indicator{flex:none;transition:transform .18s}.disclosure-list details[open] summary svg{transform:rotate(180deg)}.disclosure-list details[open] .disclosure-indicator{transform:rotate(45deg)}.disclosure-list details p{max-width:80ch}.content-page__intro{max-width:940px;padding:0 0 64px}.content-page__intro h1,.error-page h1{letter-spacing:-.045em;text-wrap:balance;margin:14px 0 24px;font-size:clamp(46px,5.8vw,78px);font-weight:500;line-height:1.02}.content-page__intro>p:last-child{max-width:68ch;color:var(--color-muted);font-size:18px;line-height:1.75}.content-page h2{letter-spacing:-.025em;margin:0 0 22px;font-size:clamp(32px,3.3vw,46px);font-weight:500;line-height:1.1}.editorial-split{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(32px,6vw,88px);padding:0 0 80px;display:grid}.editorial-split--reverse{grid-template-columns:.85fr 1.15fr}.editorial-split p:not(.page-kicker),.destination-list p:not(.page-kicker),.story-note>p:last-of-type,.directions-section p{color:var(--color-muted);font-size:17px;line-height:1.8}.editorial-split a:not(.button),.destination-list a,.story-note a{text-underline-offset:4px;padding-block:8px;font-size:15px;font-weight:600;display:inline-block}.editorial-photo{aspect-ratio:5/4;border-radius:var(--radius);background:var(--color-soft);min-width:0;margin:0;position:relative;overflow:hidden}.editorial-photo img{object-fit:cover}.editorial-photo figcaption{color:#fff;background:linear-gradient(#0000,#000000b8);padding:28px 20px 16px;font-size:13px;position:absolute;bottom:0;left:0;right:0}.destination-list{border-top:1px solid var(--color-line);margin-bottom:80px}.destination-list article{border-bottom:1px solid var(--color-line);grid-template-columns:100px minmax(0,760px);gap:30px;padding:44px 0;display:grid}.destination-number{color:var(--color-coral-dark);padding-top:6px;font-size:18px}.destination-list .page-kicker{margin-top:0}.address-panel{background:var(--color-soft);border:1px solid var(--color-line);border-radius:var(--radius);justify-content:center;align-items:center;gap:36px;min-height:270px;padding:32px;display:flex}.address-panel>span{font-family:var(--font-display);color:var(--color-coral-dark);font-size:120px;line-height:1}.address-panel p{font-size:16px}.story-note{border-top:1px solid var(--color-line);max-width:780px;padding:56px 0 80px}.page-actions{flex-wrap:wrap;gap:12px;display:flex}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:clamp(40px,9vw,140px);padding-bottom:64px;display:grid}.contact-details{margin:0}.contact-details>div{border-top:1px solid var(--color-line);padding:22px 0}.contact-details dt{color:var(--color-muted);margin-bottom:10px;font-size:14px}.contact-details dd{overflow-wrap:anywhere;margin:0;font-size:19px;line-height:1.7}.contact-details a{text-underline-offset:5px}.contact-details address{max-width:32ch;margin-bottom:12px;font-style:normal}.contact-details address+a{font-size:15px}.contact-privacy{max-width:65ch;color:var(--color-muted);font-size:14px;line-height:1.8}.arrival-note{background:var(--color-soft);border-left:3px solid var(--color-coral-dark);padding:32px}.arrival-note h2{font-size:32px}.arrival-note p{max-width:85ch;margin-bottom:0;font-size:16px;line-height:1.8}.faq-section{padding:80px 0}.policy-crosslink{margin:28px 0;font-size:15px;line-height:1.8}.content-page--legal{max-width:980px}.content-page--legal .content-page__intro{padding-bottom:12px}.legal-updated{color:var(--color-muted);margin-bottom:32px;font-size:14px}.legal-contents{background:var(--color-soft);border-block:1px solid var(--color-line);padding:24px 32px}.legal-contents ol{gap:12px;margin:0;padding-left:22px;display:grid}.legal-contents a{text-underline-offset:4px;font-size:15px;line-height:1.6}.legal-copy{padding-top:12px}.legal-copy section{border-bottom:1px solid var(--color-line);padding:40px 0;scroll-margin-top:110px}.legal-copy h2{font-size:clamp(29px,3vw,38px)}.legal-copy p,.legal-copy li{color:var(--color-muted);overflow-wrap:anywhere;font-size:16px;line-height:1.85}.legal-copy strong{color:var(--color-ink)}.legal-copy ul{padding-left:22px}.legal-copy li+li{margin-top:12px}.error-page{max-width:900px;margin:0 auto;padding:100px 32px 140px}.error-page>p:not(.page-kicker){max-width:60ch;color:var(--color-muted);margin-bottom:32px;font-size:18px;line-height:1.8}@media (max-width:1100px){.site-header{gap:16px}.desktop-nav{gap:22px}.site-footer{gap:28px}}@media (max-width:960px){.room-detail-page .site-footer{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.mobile-sticky-booking{padding:10px}.mobile-sticky-booking a{flex-shrink:0}}@media (max-width:820px){.editorial-split,.editorial-split--reverse,.contact-grid{grid-template-columns:1fr;gap:32px}.editorial-split{padding-bottom:56px}.editorial-photo{aspect-ratio:4/3}.content-page__intro{padding-bottom:40px}.content-page__intro>p:last-child{font-size:17px}.content-page .booking-reassurance{align-items:flex-start}.content-page .page-actions{width:100%}.address-panel{min-height:220px}}@media (max-width:620px){.content-page__intro h1,.error-page h1{font-size:clamp(40px,10.5vw,58px)}.destination-list article{grid-template-columns:28px minmax(0,1fr);gap:16px;padding:32px 0}.destination-list{margin-bottom:56px}.editorial-split p:not(.page-kicker),.destination-list p:not(.page-kicker){font-size:16px}.legal-contents{padding:22px 18px}.legal-copy section{padding:32px 0}.content-page .page-actions .button{width:100%}.contact-details dd{font-size:18px}.arrival-note{padding:24px}.breadcrumbs{margin-bottom:20px;font-size:12px}.site-footer__legal{flex-direction:column;align-items:flex-start;gap:8px}.address-panel{gap:20px;padding:24px}.address-panel>span{font-size:90px}}@media (max-width:360px){.mobile-sticky-booking>span{display:none}.mobile-sticky-booking .button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media print{.site-header,.site-footer,.skip-link,.legal-contents,.mobile-sticky-booking{display:none!important}.site-shell{overflow:visible}.content-page--legal{max-width:none;padding:0}.legal-copy section{break-inside:avoid}}.gallery-photo-link{display:block;position:absolute;inset:0}.gallery-photo-hint{color:#fff;opacity:0;background:#272321e0;border-radius:4px;padding:7px 11px;font-size:12px;transition:opacity .16s;position:absolute;bottom:12px;right:12px}.gallery-photo-link:is(:hover,:focus-visible) .gallery-photo-hint{opacity:1}.site-shell .gallery-photo-link:focus-visible{outline-offset:-5px;outline-color:#fff}.photo-dialog{border-radius:var(--radius);color:#fff;background:#272321;border:0;width:min(1100px,100vw - 32px);max-width:none;max-height:calc(100dvh - 32px);padding:0}.photo-dialog::backdrop{background:#000c}.photo-dialog__content{padding:18px 22px}.photo-dialog header{justify-content:space-between;align-items:center;gap:16px;display:flex}.photo-dialog header p{margin:0;font-size:16px}.photo-dialog button{color:#fff;min-width:44px;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:1px solid #797470;border-radius:4px}.photo-dialog header button{padding:0 12px}.photo-dialog button:hover{background:#4b4541}.site-shell .photo-dialog button:focus-visible{outline-color:#fff}.photo-dialog__image{height:min(65dvh,680px);margin:12px 0;position:relative}.photo-dialog__image img{object-fit:contain}.photo-dialog__controls{justify-content:space-between;align-items:center;gap:16px;display:flex}.photo-dialog__controls p{text-align:center;margin:0;font-size:14px;line-height:1.5}.photo-dialog__controls p span{color:#e5e0da;margin-top:4px;font-size:13px;display:block}@media (hover:none){.gallery-photo-hint{opacity:1}}@media (max-width:620px){.photo-dialog{width:calc(100vw - 16px)}.photo-dialog__content{padding:12px}.photo-dialog__image{height:52dvh}.photo-dialog__controls p{max-width:58%}}.related-room-grid .room-card{grid-template-columns:minmax(0,1fr)}.related-room-grid .room-card__image{aspect-ratio:16/10;width:100%;min-width:0;min-height:0}.site-footer{grid-template-columns:minmax(0,1fr) auto;align-items:start}.site-footer nav{align-self:center}.site-footer__legal{border-top:1px solid var(--color-line);grid-column:1/-1;justify-self:stretch;gap:12px 24px;width:100%;padding-top:18px}.site-footer__legal>span{margin-right:auto}@media (max-width:820px){.site-footer{grid-template-columns:1fr}.site-footer__legal>span{margin-right:0}.site-shell .header-booking{display:none}.site-header{min-height:66px}.mobile-menu{justify-self:end;width:auto}}@media (max-width:620px){.room-card__facts div,.room-identity__facts div{grid-template-columns:110px minmax(0,1fr);column-gap:12px}.room-card__facts dt,.room-identity__facts dt{min-width:0}}.site-shell .booking-panel>p:not(.booking-note):not(.booking-policy-links){margin:17px 0 22px}.site-shell .booking-panel>.booking-policy-links{margin:16px 0 0;font-size:13px}@media (max-width:620px){.overview-section{grid-template-columns:minmax(0,1fr)}.overview-section>*{min-width:0}.fact-list div{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.fact-list dt{gap:8px}}@media (prefers-reduced-motion:no-preference){.hero__copy--centered{animation:.8s cubic-bezier(.16,1,.3,1) both hero-copy-arrive}@supports (animation-timeline:view()){.hero__media{animation:linear both hero-scroll-zoom;animation-timeline:view();animation-range:exit}.reveal{animation:linear both section-arrive;animation-timeline:view();animation-range:entry}}}@keyframes hero-copy-arrive{0%{transform:translateY(24px)}to{transform:translateY(0)}}@keyframes hero-scroll-zoom{0%{transform:scale(1)translateY(0)}to{transform:scale(1.1)translateY(5%)}}@keyframes section-arrive{0%{transform:translateY(16px)}to{transform:translateY(0)}}.site-shell .room-amenity-groups h3{font-family:var(--font-body);font-size:16px;font-weight:600}@media (max-width:960px){html:has(.room-detail-page){scroll-padding-bottom:110px}}.room-photo-placeholder{background:var(--color-soft);width:100%;height:100%;min-height:280px;color:var(--color-ink);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px;display:flex}.room-photo-placeholder span{letter-spacing:.12em;text-transform:uppercase;font-size:13px}.room-photo-placeholder strong{font-family:var(--font-display);font-size:clamp(28px,4vw,48px);font-weight:500}.room-card__image:has(.room-photo-placeholder){text-decoration:none}.wordmark .brand-logo{aspect-ratio:1613/975;background-color:var(--color-coral-dark);width:auto;max-width:100%;height:46px;display:block;-webkit-mask:url(/branding/5onchurch-logo.png) 50%/contain no-repeat;mask:url(/branding/5onchurch-logo.png) 50%/contain no-repeat}.site-footer__brand .brand-logo{height:64px}@media (max-width:820px){.site-header .brand-logo{height:40px}}
