:root{--night:#202322;--black:#161918;--paper:#f3f0e9;--white:#fffcf6;--gold:#dbc5a0;--ink:#282d29;--muted:#626860;--line:#c9cdc3;--darkline:#525a51;--serif:'Bodoni MT',Didot,'Times New Roman',serif;--pad:clamp(24px,6vw,100px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 Arial,Helvetica,sans-serif}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.035em}h2{font-size:clamp(2.9rem,4.8vw,5rem)}h3{font-size:1.9rem}em{font-weight:400;font-style:italic}a{color:inherit;text-decoration:none}a:hover{opacity:.82}button,select{font:inherit}button{cursor:pointer}a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%;object-fit:cover}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #b9914d;outline-offset:5px}header{display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center;background:var(--night);color:var(--white);padding:27px 4.5%;border-bottom:1px solid var(--darkline);position:relative}.brand{display:flex;flex-direction:column;align-items:center;line-height:1;text-align:center;flex-shrink:0}header>.brand{grid-column:2;grid-row:1}.brand>span{font:400 3.15rem/.95 var(--serif);letter-spacing:-.045em;color:var(--white)}.brand small{font-size:.75rem;letter-spacing:.16em;margin-top:11px;line-height:1.5;font-weight:400}.brand-dot{display:none}nav{grid-column:1;grid-row:1;display:flex;gap:23px;align-items:center;font-size:.8125rem}nav a{padding:9px 0;white-space:nowrap}nav a:hover{text-decoration:underline;text-underline-offset:7px;opacity:1}header>.button{grid-column:3;grid-row:1;justify-self:end}.menu{display:none}.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:50px;padding:15px 27px;background:var(--night);color:var(--white);border:1px solid var(--night);border-radius:0;font-size:.8125rem;line-height:1.45;letter-spacing:.1em;text-transform:uppercase;transition:background .2s,color .2s}.button:hover{background:#424b42;color:#fff;opacity:1}.button.small{background:transparent;border-color:#a7987d;color:var(--gold);padding:13px 22px}.button.small:hover{background:var(--gold);color:var(--night)}.button.cream{background:var(--gold);border-color:var(--gold);color:var(--black)}.button.cream:hover{background:#eddbbb;color:var(--black)}.eyebrow{display:block;font-size:.75rem;font-weight:400;letter-spacing:.18em;line-height:1.7;color:var(--muted);margin-bottom:23px}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:7px;font-size:.8125rem;line-height:1.4;letter-spacing:.09em;text-transform:uppercase}.section{padding:105px var(--pad)}.hero{position:relative;isolation:isolate;min-height:690px;display:flex;align-items:center;background:var(--night);color:var(--white)}.hero-background{position:absolute;inset:0;width:100%;height:100%;object-position:center 55%;z-index:-2}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#101813cf 0%,#10181385 43%,#1018131c 100%),linear-gradient(0deg,#141a1670,transparent 35%);z-index:-1}.hero-content{padding:65px 8% 110px;max-width:1000px}.hero .eyebrow{color:var(--gold)}.hero h1{font-size:clamp(4.3rem,7.1vw,7.6rem);line-height:1.02;letter-spacing:-.035em}.hero h1 em{color:#f2e3cb}.hero p{font-size:1.05rem;line-height:1.8;max-width:380px;color:#f0efe9;margin:27px 0 32px}.hero-caption{position:absolute;bottom:27px;left:8%;right:8%;display:flex;justify-content:space-between;gap:20px;font-size:.75rem;letter-spacing:.14em;color:#f1eadf}.highlights{display:grid;grid-template-columns:repeat(4,1fr);background:var(--night);color:var(--gold);padding:25px var(--pad);font-size:.8125rem;letter-spacing:.025em}.highlights span{padding:4px 20px;text-align:center;border-right:1px solid var(--darkline)}.highlights span:last-child{border:0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:50px}.section-head>p{max-width:330px;font-size:.95rem;color:var(--muted)}.gallery{background:var(--paper)}.room-slide{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);background:#e7e7df}.slide-image{border:0;padding:0;background:var(--night);min-width:0;position:relative}.slide-image img{width:100%;height:550px;object-fit:cover}.slide-photo-hint{position:absolute;left:23px;bottom:23px;background:var(--white);color:var(--ink);padding:11px 16px;font-size:.8125rem;letter-spacing:.035em}.slide-info{padding:42px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;border-right:1px solid var(--line);border-block:1px solid var(--line)}.slide-info .eyebrow{border-bottom:1px solid #9ba18f;padding-bottom:8px;margin-bottom:23px;color:#586049}.slide-info h3{font-size:clamp(2.3rem,3.1vw,3.3rem);line-height:1.08;min-height:2.16em}.slide-info p{font-size:.95rem;color:var(--muted);margin:20px 0;min-height:4.95em}.slide-info>span:not(.eyebrow){font-size:.875rem;color:var(--muted);margin-bottom:25px}.slideshow-controls{display:flex;align-items:center;gap:14px;width:100%;margin-top:32px;font-size:.875rem}.slideshow-controls button{background:none;border:1px solid #a5ad9d;color:var(--ink);height:42px;min-width:42px;display:flex;align-items:center;justify-content:center;border-radius:0}.slideshow-controls #room-prev,.slideshow-controls #room-next{font-size:1.9rem}.slideshow-controls #room-pause{font-size:.8125rem;padding:0 12px;margin-left:auto}.slideshow-controls button:hover{background:#d7dccc}.room-picker{display:flex;gap:15px;overflow-x:auto;padding:28px 3px 7px;scrollbar-width:thin;scrollbar-color:#a29b88 var(--paper)}.room-pick{flex:1 0 84px;max-width:128px;background:none;border:0;border-bottom:1px solid transparent;padding:0 0 8px;color:var(--muted)}.room-pick img{width:100%;height:67px;opacity:.7;object-fit:cover}.room-pick span{display:block;font-size:.8125rem;margin-top:10px;letter-spacing:.04em}.room-pick.active{border-bottom-color:var(--ink);color:var(--ink)}.room-pick.active img,.room-pick:hover img{opacity:1}.welcome{background:var(--night);color:var(--white);text-align:center;padding-block:100px}.welcome .eyebrow{color:var(--gold)}.welcome h2{font-size:clamp(3rem,5vw,5.5rem)}.welcome h2 em{color:var(--gold)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:0 55px;max-width:880px;margin:40px auto 0}.intro p{font-size:1rem;text-align:left;color:#d8ddd2;margin-bottom:28px}.intro .text-link{grid-column:1/-1;justify-self:center;color:var(--gold);margin-top:6px}.rooms{background:var(--white)}.room-feature{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:9%}.room-photo{grid-column:2;grid-row:1;min-width:0;position:relative;padding-top:25px}.room-photo img{width:100%;height:520px;object-fit:cover}.photo-label{display:block;font-size:.75rem;letter-spacing:.1em;color:var(--muted);margin-top:15px}.room-feature article{grid-column:1;grid-row:1;max-width:450px}.room-feature h3{font-size:clamp(2.8rem,4vw,4.2rem)}.room-feature p{color:var(--muted);margin:25px 0}.room-facts{border-block:1px solid var(--line);padding:18px 0;display:flex;flex-wrap:wrap;gap:12px 25px;font-size:.875rem}.secondary{font-size:.95rem}.other-rooms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;margin-top:65px;padding-top:28px;border-top:1px solid var(--line)}.other-rooms article{padding-right:30px;border-right:1px solid var(--line)}.other-rooms article:last-child{border:0;padding-right:0}.other-rooms span{font-size:.75rem;letter-spacing:.09em;color:var(--muted)}.other-rooms h3{font-size:1.8rem;line-height:1.15;margin:16px 0}.other-rooms p{font-size:.95rem;color:var(--muted)}.slow{display:grid;grid-template-columns:.85fr 1fr;background:#e3e5dc;gap:9%;align-items:center;padding:90px var(--pad)}.slow-photo{min-width:0}.slow-photo img{width:100%;height:610px;object-fit:cover;object-position:center}.slow-copy h2{font-size:clamp(2.8rem,4vw,4.2rem)}.slow-copy>p{margin:27px 0 32px;color:var(--muted)}.moment{display:grid;grid-template-columns:32px 1fr;gap:20px;padding:24px 0;border-top:1px solid #b4bcaa}.moment>span{font:1.2rem var(--serif);color:var(--muted)}.moment h3{font-size:1.65rem;margin-bottom:10px}.moment p{font-size:.95rem;color:var(--muted)}.explore{background:var(--night);color:var(--white)}.explore .eyebrow{color:var(--gold)}.explore h2 em{color:var(--gold)}.explore .section-head>p{color:#d8ddd2}.places{border-top:1px solid var(--darkline);margin-top:55px}.places article{display:grid;grid-template-columns:55px .8fr 1.2fr .7fr;gap:27px;align-items:center;padding:35px 0;border-bottom:1px solid var(--darkline)}.place-number{font:2rem var(--serif);color:var(--gold)}.places h3{font-size:1.8rem}.places p{font-size:.95rem;color:#d8ddd2}.place-tag{font-size:.75rem;letter-spacing:.1em;color:var(--gold);text-align:right}.practical{display:grid;grid-template-columns:1fr 1.4fr;gap:10%;background:var(--paper)}.faqs{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:24px 0}summary{display:flex;justify-content:space-between;gap:24px;font-size:1rem;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:1.4rem;line-height:1.25;color:var(--muted)}details[open] summary:after{content:'−'}details p{margin-top:20px;color:var(--muted);font-size:.95rem}details .text-link{margin-top:15px}.visit{display:grid;grid-template-columns:1.6fr 1fr;gap:10%;align-items:center;background:#dcd3c3;border-top:1px solid #c1b7a3}.visit h2{font-size:clamp(3.2rem,5.5vw,5.8rem);line-height:1.06;margin-bottom:30px}.visit .button.cream{background:var(--night);border-color:var(--night);color:#fff}.visit .button.cream:hover{background:#424b42}.booking-note{font-size:.875rem;color:#55594f;max-width:370px;margin-top:22px}address{font-style:normal;padding-left:15%;border-left:1px solid #b8b1a1;min-width:0}address p{font:1.7rem/1.5 var(--serif);margin-bottom:26px}address a{display:block;width:fit-content;max-width:100%;margin-bottom:12px;overflow-wrap:anywhere}.email{font-size:.9rem}address .text-link{margin-top:25px}footer{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px 50px;padding:55px var(--pad);background:var(--black);color:var(--white)}footer>.brand{align-items:flex-start}footer .brand>span{font-size:clamp(3.5rem,6vw,6.5rem)}footer .brand small{color:var(--gold)}footer p{font-family:var(--serif);font-size:1.2rem;font-style:italic;grid-column:1;color:#cbd0c5}footer>div{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;gap:16px;font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase}.skip{position:fixed;top:-100px;left:15px;background:white;padding:15px;z-index:100}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.photo-open{overflow:hidden}
#photo-dialog{width:calc(100% - 48px);max-width:1300px;max-height:94dvh;background:var(--night);color:var(--white);border:1px solid #79705f;border-radius:0;padding:0;overflow:auto;box-shadow:0 20px 80px #0007}#photo-dialog::backdrop{background:#0b0e0df2}.lightbox{display:grid;grid-template-columns:1fr auto;gap:19px;padding:25px}.photo-room-title{font-size:1.65rem;line-height:1.25;color:var(--gold);align-self:center}.photo-close{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;min-height:44px;padding:10px 16px;background:none;color:var(--gold);border:1px solid #9d907a;align-self:start}.photo-close:hover{background:#394036}.photo-stage{grid-column:1/-1;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:16px;align-items:center}.photo-stage img{width:100%;height:min(60dvh,720px);object-fit:contain}.photo-prev,.photo-next{width:48px;height:48px;background:none;border:1px solid var(--darkline);color:var(--gold);font-size:2rem;line-height:1}.photo-prev:hover,.photo-next:hover{background:#394036}.photo-thumbnails{grid-column:1/-1;display:flex;gap:13px;overflow-x:auto;padding:3px 64px 5px;scrollbar-width:thin;scrollbar-color:#a2947b var(--night)}.photo-thumbnails button{flex:0 0 72px;border:2px solid transparent;padding:0;background:none}.photo-thumbnails img{width:100%;height:52px;object-fit:cover}.photo-thumbnails button.active{border-color:var(--gold)}.photo-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:22px;padding:0 64px;font-size:.875rem;color:#cbd0c5}.photo-bottom span{white-space:nowrap}
@media(min-width:1650px){.section,.slow{padding-inline:max(var(--pad),calc((100vw - 1450px)/2))}}@media(max-width:1200px){header{gap:22px;padding-inline:4%}nav{gap:17px;font-size:.8125rem}.brand>span{font-size:2.8rem}.brand small{font-size:.75rem;letter-spacing:.1em}.button.small{font-size:.75rem;padding:12px 18px}.slide-info{padding:33px 29px}.room-slide{grid-template-columns:1.4fr 1fr}.slide-image img{height:565px}.slideshow-controls{gap:9px}.room-feature{gap:6%}.places article{grid-template-columns:45px .8fr 1.2fr;gap:22px}.place-tag{grid-column:3;text-align:left}.places p{grid-column:3}.slow{gap:6%}.visit{gap:7%}address{padding-left:12%}}
@media(max-width:1000px){header{display:flex;gap:20px;padding:22px var(--pad)}header>.brand{align-items:flex-start;text-align:left}header>.button{margin-left:auto}.brand>span{font-size:2.6rem}nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:10;background:var(--night);padding:20px var(--pad);flex-direction:column;align-items:flex-start;gap:5px;border-bottom:1px solid var(--darkline);font-size:.875rem}nav.open{display:flex}.menu{display:block;min-height:44px;background:none;border:0;border-bottom:1px solid var(--gold);color:var(--gold);padding:8px 0;font-size:.875rem}.hero{min-height:650px}.hero-content{padding-left:var(--pad)}.hero-caption{left:var(--pad);right:var(--pad)}.hero h1{font-size:6rem}.section{padding-block:80px}.highlights span{padding-inline:10px}.slide-image img{height:565px}.slide-info h3{font-size:2.45rem}.room-slide{grid-template-columns:1.2fr 1fr}.slide-info p{min-height:0}.room-photo img{height:470px}.other-rooms{gap:22px}.other-rooms article{padding-right:20px}.other-rooms h3{font-size:1.65rem}.slow{padding-block:80px}.slow-photo img{height:640px}.slow-copy h2{font-size:3rem}.visit h2{font-size:4rem}.practical{gap:7%}}
@media(max-width:720px){:root{--pad:24px}header{padding-block:20px;gap:16px}.brand>span{font-size:2.35rem}.brand small{font-size:.75rem;letter-spacing:.025em;max-width:155px;margin-top:8px}.button.small{font-size:.75rem;letter-spacing:.045em;max-width:125px;padding:10px 14px}.menu{font-size:.875rem}.hero{min-height:615px}.hero-background{object-position:58% center}.hero-shade{background:linear-gradient(90deg,#101813d1,#10181399),linear-gradient(0deg,#12191585,transparent 40%)}.hero-content{padding:58px var(--pad) 110px}.hero h1{font-size:clamp(3.7rem,11.5vw,5.5rem);line-height:1.04}.hero .eyebrow{font-size:.75rem;letter-spacing:.12em}.hero p{max-width:320px;font-size:1rem;margin:24px 0 30px}.hero-caption{bottom:23px;font-size:.75rem;letter-spacing:.1em}.highlights{grid-template-columns:1fr 1fr;padding:20px 15px;gap:12px 0}.highlights span{border:0;padding:0 8px;font-size:.8125rem}.section{padding-block:58px}h2{font-size:2.8rem}.eyebrow{margin-bottom:18px}.section-head{flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:30px}.section-head>p{max-width:none}.room-slide{grid-template-columns:1fr}.slide-image img{height:320px}.slide-info{padding:28px;border-left:1px solid var(--line);border-top:0}.slide-info .eyebrow{margin-bottom:18px}.slide-info h3{font-size:2.55rem;min-height:0}.slide-info p{margin:18px 0}.slide-info>span:not(.eyebrow){margin-bottom:20px}.slideshow-controls{gap:14px;margin-top:29px}.slide-photo-hint{left:16px;bottom:16px;font-size:.8125rem}.room-picker{gap:12px;padding-top:22px}.room-pick{flex:0 0 82px}.room-pick img{height:61px}.welcome h2{font-size:3.1rem}.intro{grid-template-columns:1fr;gap:0;margin-top:30px;max-width:500px}.intro p{text-align:center}.intro .text-link{grid-column:1}.room-feature{grid-template-columns:1fr;gap:30px}.room-photo{grid-column:1;grid-row:1;padding-top:0}.room-photo img{height:350px}.room-feature article{grid-column:1;grid-row:2;max-width:none}.room-feature h3{font-size:3rem}.other-rooms{grid-template-columns:1fr;margin-top:40px;gap:24px;padding-top:25px}.other-rooms article,.other-rooms article:last-child{border-right:0;padding:0 0 24px;border-bottom:1px solid var(--line)}.other-rooms article:last-child{border-bottom:0;padding-bottom:0}.other-rooms h3{font-size:1.85rem}.slow{grid-template-columns:1fr;gap:35px;padding-block:58px}.slow-photo img{height:390px;object-position:center 60%}.slow-copy h2{font-size:2.9rem}.places{margin-top:32px}.places article{grid-template-columns:35px 1fr;gap:14px 18px;padding:28px 0}.place-number{font-size:1.75rem}.places h3{font-size:1.9rem}.places p,.place-tag{grid-column:2}.practical,.visit{grid-template-columns:1fr;gap:32px}.visit h2{font-size:3.6rem}.visit address{border-left:0;border-top:1px solid #b8b1a1;padding:32px 0 0}.booking-note{max-width:none}footer{grid-template-columns:1fr;gap:26px;padding-block:40px}footer>.brand{align-items:center}footer .brand>span{font-size:4.3rem}footer p{text-align:center}footer>div{grid-column:1;grid-row:auto;flex-direction:row;justify-content:center;flex-wrap:wrap;gap:25px}#photo-dialog{width:calc(100% - 16px);max-height:96dvh}.lightbox{padding:16px;gap:15px}.photo-room-title{font-size:1.25rem;line-height:1.2}.photo-close{padding:8px 11px;font-size:.75rem}.photo-stage{grid-template-columns:36px minmax(0,1fr) 36px;gap:5px}.photo-stage img{height:50dvh}.photo-prev,.photo-next{width:36px;height:44px;font-size:1.8rem}.photo-thumbnails{padding:3px 0 5px;gap:10px}.photo-thumbnails button{flex-basis:60px}.photo-thumbnails img{height:45px}.photo-bottom{padding:0;gap:12px}}
@media(max-width:390px){header{gap:11px}.brand>span{font-size:2.1rem}.brand small{max-width:108px}.button.small{max-width:104px;padding:9px 10px;font-size:.75rem}.hero h1{font-size:3.55rem}.hero-content{padding-top:45px}.section-head h2{font-size:2.5rem}.slide-image img{height:280px}.slide-info{padding:25px}.slide-info h3{font-size:2.35rem}.slideshow-controls{gap:11px}.visit h2{font-size:3.25rem}.photo-room-title{font-size:1.15rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Brand headline */
.hero-content{max-width:1180px}.hero h1{font-size:clamp(3rem,5.8vw,6rem);line-height:1.08;letter-spacing:-.035em}.tagline-line{display:block}.hero h1 strong{font-weight:400;color:var(--gold);white-space:nowrap}.hero .eyebrow{text-transform:none}
@media(max-width:1150px){header{display:flex;gap:20px;padding:22px var(--pad)}header>.brand{align-items:flex-start;text-align:left}header>.button{margin-left:auto}nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:10;background:var(--night);padding:20px var(--pad);flex-direction:column;align-items:flex-start;gap:5px;border-bottom:1px solid var(--darkline);font-size:.875rem}nav.open{display:flex}.menu{display:block;min-height:44px;background:none;border:0;border-bottom:1px solid var(--gold);color:var(--gold);padding:8px 0;font-size:.875rem}}
@media(max-width:1000px){.hero h1{font-size:clamp(3rem,6.9vw,5.5rem)}}
@media(max-width:720px){.hero h1{font-size:clamp(2.85rem,8.7vw,4.4rem)}.hero-content{padding-top:48px;padding-bottom:95px}header{display:grid;grid-template-columns:1fr auto;gap:16px;padding:19px var(--pad)}header>.brand{grid-column:1 / -1;grid-row:1;justify-self:center}header>.button{grid-column:1;grid-row:2;justify-self:start;margin-left:0}.menu{grid-column:2;grid-row:2}}
@media(max-width:390px){.hero h1{font-size:2.65rem}}

/* Coastal identity: generated emblem and crisp, accessible lettering. */
.brand.brand-coastal{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:13px;max-width:100%;text-align:left}
.brand-coastal .brand-symbol{width:68px;height:78px;object-fit:contain;flex:0 0 auto}
.brand.brand-coastal>.brand-type{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;font:inherit;line-height:1;letter-spacing:normal;color:var(--gold)}
.brand-coastal .brand-name{font:400 2.25rem/1.1 Georgia,'Times New Roman',serif;letter-spacing:.055em;white-space:normal}
.brand-coastal .brand-subtitle{font:400 .75rem/1.5 Arial,Helvetica,sans-serif;letter-spacing:.1em;white-space:normal;color:var(--white)}
footer>.brand.brand-coastal{justify-self:start}
@media(max-width:720px){.brand.brand-coastal{gap:11px}.brand-coastal .brand-symbol{width:56px;height:68px}.brand-coastal .brand-name{font-size:2rem}.brand-coastal .brand-subtitle{letter-spacing:.06em}footer>.brand.brand-coastal{justify-self:center}}
@media(max-width:360px){.brand.brand-coastal{gap:9px}.brand-coastal .brand-symbol{width:52px}.brand-coastal .brand-name{font-size:1.875rem}}

/* Complete header logo. */
header{padding-block:18px}
header>.brand-header-art{width:300px;max-width:100%;align-items:center}
.header-brand-image{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:1000px){header>.brand-header-art{width:280px}}
@media(max-width:720px){header>.brand-header-art{width:260px}}

/* Navigation, booking paths and narrow-screen interaction refinements. */
.room-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px;width:100%}
.room-actions .text-link{font-size:.75rem;letter-spacing:.05em;min-height:44px;display:inline-flex;align-items:center}
.room-shortcut{background:none;border:0;border-bottom:1px solid currentColor;color:var(--ink);margin-top:16px;min-height:44px;cursor:pointer}
.inline-link{text-decoration:underline;text-underline-offset:3px}
.gallery-fallback{margin-top:24px}
.slideshow-controls button{min-width:44px;height:44px}
.photo-thumbnails button{min-height:44px}
.photo-booking{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;padding:12px 64px 0;border-top:1px solid var(--darkline)}
.photo-booking p{font-size:.8125rem;color:#cbd0c5;max-width:300px}
.lightbox{grid-template-columns:minmax(0,1fr) auto}
.photo-stage,.photo-bottom,.photo-booking{min-width:0}
.photo-room-title,#photo-caption{overflow-wrap:anywhere}
section:focus,main:focus{outline:none}
@media(max-width:1150px){
  body:not(.has-navigation-script) header{flex-wrap:wrap}
  body:not(.has-navigation-script) nav{display:flex;position:static;flex-basis:100%;order:4;flex-direction:row;flex-wrap:wrap;padding:8px 0;gap:8px 24px;border:0}
  body:not(.has-navigation-script) .menu{display:none}
  nav a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:720px){
  body:not(.has-navigation-script) nav{grid-column:1/-1;grid-row:3}
  .room-actions{gap:14px 20px}
  .slideshow-controls{gap:8px}
  .slideshow-controls #room-pause{min-width:64px}
  .photo-stage{grid-template-columns:44px minmax(0,1fr) 44px}
  .photo-prev,.photo-next{width:44px;height:44px}
  .photo-booking{padding:12px 0 0;gap:12px}
  .photo-booking .button{width:100%}
  .photo-bottom{flex-wrap:wrap}
  .photo-bottom p{flex:1 1 160px}
  .photo-bottom span{margin-left:auto}
  .room-feature h3,.slide-info h3{overflow-wrap:anywhere}
}
body:not(.has-gallery-script) #slide-details,
body:not(.has-gallery-script) #featured-open,
body:not(.has-gallery-script) .room-shortcut,
body:not(.has-gallery-script) .slideshow-controls{display:none}
/* Let the room photograph fill cards whose text wraps to several lines. */
.slide-image{min-height:550px;overflow:hidden}
.slide-image img{position:absolute;inset:0;height:100%;width:100%}
@media(max-width:1200px){.slide-image{min-height:565px}}
@media(max-width:720px){.slide-image{min-height:0}.slide-image img{position:static;height:320px}}
@media(max-width:390px){.slide-image img{height:280px}}

/* Integrated wordmark: show the handwritten lettering and wave group in full. */
header>.brand-header-art{height:auto;justify-content:center;overflow:visible}
.header-brand-image{width:100%;max-width:100%;flex:0 0 auto}

/* Ivory header with a clear brand, navigation and booking hierarchy. */
.site-header{display:block;padding:0;background:var(--white);color:var(--ink);border-bottom:1px solid #d9ded2;position:relative;z-index:20}
.header-meta{max-width:1440px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:9px var(--pad);border-bottom:1px solid #e4e6dc;font-size:.6875rem;line-height:1.5;letter-spacing:.11em;color:#667264}
.header-meta p{font:inherit}
.header-meta a{min-height:24px;display:inline-flex;align-items:center;gap:7px;letter-spacing:.025em;color:#42554b}
.header-main{max-width:1440px;margin:0 auto;padding:18px var(--pad);display:grid;grid-template-columns:250px minmax(0,1fr) auto;gap:30px;align-items:center}
.site-header .brand-header-art{grid-column:1;grid-row:1;width:250px;max-width:100%;height:auto;justify-self:start;align-items:center;text-align:left;line-height:1}
.site-header .header-brand-image{width:100%;height:auto;max-width:100%;object-fit:contain}
.site-header #main-nav{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;gap:25px;position:static;padding:0;border:0;background:transparent;color:#42554b;font-size:.8125rem;line-height:1.5}
.site-header #main-nav a{min-height:44px;display:flex;align-items:center;padding:10px 0;white-space:nowrap;text-underline-offset:6px;text-decoration-thickness:1px}
.site-header #main-nav a:hover{color:#263f30;text-decoration:underline;opacity:1}
.site-header .header-cta{grid-column:3;grid-row:1;justify-self:end;margin:0;max-width:none;min-height:48px;padding:12px 21px;background:#294c3c;border-color:#294c3c;color:var(--white);border-radius:999px;gap:13px;font-size:.75rem;line-height:1.4;letter-spacing:.075em;white-space:nowrap}
.site-header .header-cta:hover{background:#1e3d2e;border-color:#1e3d2e}
.booking-arrow{font-size:1.1rem;line-height:1}
.site-header .menu{display:none;min-height:44px;margin:0;padding:10px 16px;border:1px solid #c8d0c1;border-radius:999px;background:transparent;color:#294c3c;font-size:.8125rem;line-height:1.4;gap:9px;align-items:center;justify-content:center}
.site-header .menu::before{content:'';display:block;width:15px;height:12px;background:linear-gradient(#294c3c,#294c3c) top/100% 1px no-repeat,linear-gradient(#294c3c,#294c3c) center/100% 1px no-repeat,linear-gradient(#294c3c,#294c3c) bottom/100% 1px no-repeat}
.site-header .menu[aria-expanded="true"]::before{background:linear-gradient(45deg,transparent 46%,#294c3c 46%,#294c3c 54%,transparent 54%),linear-gradient(-45deg,transparent 46%,#294c3c 46%,#294c3c 54%,transparent 54%)}
@media(max-width:1150px){
  .header-main{grid-template-columns:minmax(0,1fr) auto auto;gap:18px}
  .site-header .brand-header-art{width:235px}
  .site-header .header-cta{grid-column:2}
  .site-header .menu{grid-column:3;grid-row:1;display:inline-flex}
  .site-header #main-nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:30;padding:20px var(--pad) 24px;background:var(--white);border-bottom:1px solid #cbd3c3;box-shadow:0 15px 24px #20232212;gap:5px 28px;justify-content:stretch;align-items:stretch}
  .site-header #main-nav.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-header #main-nav a{padding:14px 0;border-bottom:1px solid #e4e6dc;min-height:48px}
  body:not(.has-navigation-script) .site-header #main-nav{display:grid;position:static;grid-template-columns:repeat(2,minmax(0,1fr));grid-column:1/-1;grid-row:2;box-shadow:none;padding:0;border:0;order:0}
  body:not(.has-navigation-script) .site-header .menu{display:none}
}
@media(max-width:720px){
  .header-meta{padding:8px var(--pad);gap:10px;font-size:.625rem;letter-spacing:.07em}
  .header-meta a{font-size:.6875rem;letter-spacing:0}
  .header-main{grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:14px var(--pad) 18px}
  .site-header .brand-header-art{grid-column:1;grid-row:1;width:210px;justify-self:start}
  .site-header .menu{grid-column:2;grid-row:1;padding:10px 13px}
  .site-header .header-cta{grid-column:1/-1;grid-row:2;justify-self:stretch;width:100%;min-height:46px;padding:12px 18px}
  .site-header #main-nav.open{grid-template-columns:1fr}
  body:not(.has-navigation-script) .site-header #main-nav{grid-column:1/-1;grid-row:3;grid-template-columns:1fr}
}
@media(max-width:390px){
  .header-meta{font-size:.5625rem;gap:7px}
  .header-meta a{font-size:.625rem;gap:4px}
  .header-call-label{display:none}
  .header-main{gap:12px}
  .site-header .brand-header-art{width:182px}
  .site-header .menu{padding:10px 12px;gap:7px}
}

/* Uploaded guest-house and coastal photographs. */
.moments{background:var(--white)}
.moments .section-head>p{max-width:370px}
.moments-frame{background:var(--paper);border:1px solid var(--line)}
.moments-stage{position:relative;height:clamp(340px,48vw,620px);background:var(--night)}
.moments-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
.moments-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 30px}
.moments-caption{min-width:0}
.moments-caption .eyebrow{font-size:.625rem;letter-spacing:.13em;margin-bottom:8px}
.moments-caption p{font:400 1.75rem/1.25 var(--serif);color:var(--ink)}
.moments-controls{display:flex;align-items:center;gap:12px;flex:0 0 auto;font-size:.8125rem}
.moments-controls button{height:44px;min-width:44px;border:1px solid #a5ad9d;border-radius:0;background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;padding:0 12px}
.moments-controls button:hover:not(:disabled){background:#e0e4d8}
.moments-controls button:disabled{opacity:.35;cursor:default}
#moments-prev,#moments-next{font-size:1.8rem}
#moments-pause{min-width:70px;font-size:.8125rem}
#moments-position{min-width:44px;text-align:center;white-space:nowrap}
.moments-note{font-size:.8125rem;color:var(--muted);margin-top:18px}
body:not(.has-moments-script) .moments-controls,body:not(.has-moments-script) .moments-note{display:none}
@media(max-width:720px){
  .moments-stage{height:clamp(280px,75vw,440px)}
  .moments-footer{flex-direction:column;align-items:flex-start;padding:22px;gap:20px}
  .moments-caption p{font-size:1.55rem}
  .moments-controls{width:100%;gap:10px}
  #moments-pause{margin-left:auto}
}
@media(max-width:390px){
  .moments-footer{padding:18px}
  .moments-controls{gap:8px}
  #moments-pause{min-width:64px}
}
