@font-face{font-family:"DM Sans";src:url("assets/dm-sans.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
:root{color-scheme:light;--ink:#193238;--navy:#17343b;--navy-deep:#102b32;--sea:#2f7280;--muted:#526369;--cream:#e9ece9;--mist:#e0e4df;--line:#c6cfca;--airbnb:#e31c5f;font-family:"DM Sans",Arial,sans-serif;font-size:16px;font-synthesis:none}
*{box-sizing:border-box}
html{scroll-padding-top:6rem}
body{margin:0;background:var(--cream);color:var(--ink);min-width:320px;line-height:1.55;-webkit-font-smoothing:antialiased}
body:has(.gallery-dialog[open]){overflow:hidden}
::selection{background:#a8d4da;color:var(--navy-deep)}
a{color:inherit;text-underline-offset:.22em}
button,input,select{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--sea);outline-offset:4px}
img{display:block;max-width:100%}
svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
h1,h2,h3,p,figure,blockquote{margin-top:0}
h1,h2,h3{font-family:"DM Sans",Arial,sans-serif;font-weight:500;line-height:1.06;letter-spacing:-.035em;text-wrap:balance}
p{max-width:70ch}
.page-shell{width:min(100% - 7.8vw,1360px);margin-inline:auto}
.skip-link{position:fixed;z-index:100;top:.5rem;left:.5rem;padding:.7rem 1rem;background:var(--navy);color:#fff;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:50;background:var(--cream);border-bottom:1px solid var(--line)}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--sea);transform:scaleX(var(--reading-progress,0));transform-origin:left center;pointer-events:none}
.site-header.is-scrolled{background:var(--cream);border-bottom-color:var(--navy)}
.header-inner{height:74px;width:min(100% - 7.8vw,1360px);margin:auto;display:flex;align-items:center;gap:1.5rem}
.brand{display:inline-flex;align-items:center;gap:.7rem;font-family:"DM Sans",Arial,sans-serif;font-size:1.45rem;font-weight:600;line-height:1.15;color:var(--navy);text-decoration:none;white-space:nowrap;letter-spacing:-.025em}
.site-header .brand-mark{display:block;width:52px;height:52px;flex:none;background:var(--navy);-webkit-mask:url("assets/amandier-embleme.png") center/contain no-repeat;mask:url("assets/amandier-embleme.png") center/contain no-repeat}
.site-header .brand-name{display:block;opacity:0;transition:opacity .2s}
.site-header.is-scrolled .brand-name{opacity:1}
.current-section{display:none;flex:0 1 auto;min-width:0;max-width:15rem;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sea);font-size:.88rem;font-weight:700;letter-spacing:.01em;line-height:1.25}
.site-header.is-scrolled .current-section{display:block}
.site-header.is-scrolled .desktop-nav{margin-left:0}
.desktop-nav{display:flex;align-items:center;gap:2.15rem;margin-left:auto}
.desktop-nav a{font-size:.94rem;text-decoration:none}
.desktop-nav a:hover{color:var(--sea)}
.header-actions{display:flex;align-items:center;gap:1rem}
.preview-badge{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:.28rem .58rem}
.header-book{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:128px;border:1px solid var(--navy);border-radius:0;padding:.55rem 1.15rem;background:var(--navy);color:var(--cream);text-decoration:none;font-size:.9rem;font-weight:700;letter-spacing:.01em}
.header-book:hover{background:var(--navy-deep);color:var(--cream)}
.mobile-nav{display:none}
.hero{padding-top:2.3rem}
.hero-intro{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:1.8rem}
.hero h1{font-size:clamp(3.8rem,6vw,6rem);font-weight:500;line-height:1;letter-spacing:-.04em;margin:0 0 .55rem;color:var(--navy)}
.hero-lead{font-size:clamp(1.2rem,1.8vw,1.65rem);line-height:1.3;margin:0;color:var(--muted)}
.hero-location{font-size:.9rem;color:var(--sea);margin:0 0 .4rem;white-space:nowrap}
.hero-location span{padding:0 .35rem}
.hero-stage{display:grid;grid-template-columns:minmax(0,2.25fr) minmax(0,.93fr) minmax(310px,1.05fr);gap:1rem;min-height:518px}
.hero-photo,.hero-pool{height:518px;min-width:0;overflow:hidden}
.photo-link{display:block;position:relative;overflow:hidden}
.photo-link img{width:100%;height:100%;object-fit:cover}
.hero-photo img{object-position:center 56%}
.hero-pool img{object-position:center 56%}
.booking-card{border:1px solid var(--line);border-radius:0;background:#dfe3df;padding:1.5rem;scroll-margin-top:2rem}
.booking-card h2{font-size:2rem;font-weight:600;line-height:1.1;margin:0 0 .35rem;color:var(--navy)}
.booking-card>p{font-size:.88rem;color:var(--muted);line-height:1.5;margin-bottom:1.4rem}
.date-pair{display:grid;grid-template-columns:1fr 1fr;border:1px solid #899b9a;border-radius:0;overflow:hidden}
.date-pair label,.guest-field{display:flex;flex-direction:column;min-width:0;padding:.6rem .7rem .7rem}
.date-pair label+label{border-left:1px solid #9baead}
.date-pair label>span,.guest-field>span{font-size:.71rem;letter-spacing:.045em;text-transform:uppercase;color:var(--navy);font-weight:700;line-height:1.4}
.date-pair input{appearance:none;border:0;outline:0;min-width:0;width:100%;font-size:.82rem;color:var(--ink);background:transparent;margin-top:.45rem;line-height:1.5}
.date-pair input::-webkit-calendar-picker-indicator{width:12px;opacity:.65;cursor:pointer}
.date-pair:focus-within,.guest-field:focus-within{border-color:var(--sea);outline:2px solid var(--sea);outline-offset:1px}
.guest-field{margin-top:.75rem;border:1px solid #899b9a;border-radius:0}
.guest-field select{appearance:none;border:0;outline:0;background:transparent;color:var(--ink);font-size:.9rem;margin-top:.4rem;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2319343b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center}
.booking-submit,.mobile-booking-bar button{border:1px solid var(--airbnb);border-radius:8px;background:var(--airbnb);color:#fff;font-size:1rem;font-weight:700;letter-spacing:.01em}
.booking-submit{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;width:100%;min-height:64px;margin-top:1.2rem;padding:.65rem 1rem;line-height:1.2}
.booking-submit small{font-size:.75rem;font-weight:500;letter-spacing:.02em}
.booking-submit:hover,.mobile-booking-bar button:hover{background:#c52b54;border-color:#c52b54}
.booking-submit:active,.mobile-booking-bar button:active{background:#af2149;border-color:#af2149}
.booking-submit:focus-visible,.mobile-booking-bar button:focus-visible{outline-color:var(--navy)}
.booking-note{font-size:.78rem;line-height:1.55;color:var(--muted);margin:.85rem 0 0}
.booking-error{font-size:.84rem;color:#a0233a;margin:.7rem 0 0}
.facts-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:transparent;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:1.55rem;padding:.75rem 0;color:var(--navy)}
.facts-bar div{display:flex;align-items:baseline;justify-content:center;gap:.55rem;white-space:nowrap;padding:.35rem 1rem}
.facts-bar div+div{border-left:1px solid var(--line)}
.facts-bar strong{font-family:"DM Sans",Arial,sans-serif;font-size:1.45rem;font-weight:700;line-height:1.2;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.facts-bar span{font-size:.9rem;color:var(--muted)}
.intro-section{padding-top:7.2rem;padding-bottom:8rem}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}
.section-heading h2,.story-copy h3,.amenities-lead h2,.local-copy h2,.practical-lead h2,.closing-section h2{font-size:clamp(2.55rem,4vw,4.6rem);margin:0 0 .7rem;color:var(--navy)}
.section-heading p{font-size:1.1rem;color:var(--muted);margin:0;line-height:1.55}
.text-link{font-size:.92rem;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.25rem;color:var(--navy)}
.text-link:hover{color:var(--sea)}
.gallery-grid{display:grid;grid-template-columns:1.04fr 1.04fr 1.12fr;gap:1rem}
.gallery-grid .photo-link{height:300px;color:#fff;text-decoration:none}
.gallery-grid .photo-link span{position:absolute;z-index:1;bottom:0;left:0;padding:.43rem .7rem;background:var(--navy);color:#fff;font-size:.86rem;font-weight:700}
.story-row{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2.5rem,6vw,7rem);align-items:center;margin-top:7.5rem}
.story-copy{max-width:35rem;padding-left:clamp(0rem,3vw,3rem)}
.story-copy h3{font-size:clamp(2.25rem,3.5vw,4rem);margin-bottom:1.3rem}
.story-copy p{font-size:1.05rem;color:var(--muted);line-height:1.75;margin-bottom:1.1rem}
.story-photos{display:grid;grid-template-columns:1.1fr .8fr;gap:.8rem;align-items:end;min-width:0}
.story-image{height:510px}
.story-image img{object-position:center 58%}
.story-evening{height:410px}
.rooms-section{background:#dfe4df;padding:7rem 0 7.2rem}
.narrow-heading{max-width:900px}
.rooms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.7rem}
.room .photo-link{height:360px}
.room:nth-child(2) img{object-position:center 40%}
.room-label{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-top:1.1rem}
.room-label h3{font-family:"DM Sans",Arial,sans-serif;font-size:1.04rem;font-weight:700;line-height:1.35;letter-spacing:0;margin:0}
.room-label p{font-size:.9rem;color:var(--muted);margin:0;white-space:nowrap}
.rooms-note{font-size:.9rem;color:var(--muted);margin:2rem 0 0}
.amenities-section{padding-top:8rem;padding-bottom:8rem}
.amenities-lead{display:grid;grid-template-columns:1fr .82fr;align-items:center;gap:clamp(3rem,8vw,9rem)}
.amenities-lead>div{padding-left:clamp(0rem,4vw,4rem)}
.amenities-lead h2{max-width:14ch}
.amenities-lead p{font-size:1.08rem;line-height:1.7;color:var(--muted);max-width:38rem}
.amenity-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 2rem;list-style:none;margin:2.5rem 0 0;padding:0}
.amenity-highlights li{font-size:.92rem;font-weight:700;padding:.85rem 0;border-top:1px solid var(--line)}
.amenities-image{height:580px}
.amenities-image img{object-position:center 52%}
.detail-photos{display:grid;grid-template-columns:.78fr .78fr 1.28fr;gap:1rem;margin-top:1rem}
.detail-photos .photo-link{height:280px;color:#fff;text-decoration:none}
.detail-photos .photo-link span{position:absolute;z-index:1;bottom:0;left:0;padding:.43rem .7rem;background:var(--navy);color:#fff;font-size:.84rem;font-weight:700}
.amenities-panel{margin-top:5rem;border-top:1px solid var(--navy);border-bottom:1px solid var(--navy)}
.amenities-panel summary{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 0;font-size:1.2rem;font-weight:700;cursor:pointer;list-style:none}
.amenities-panel summary::-webkit-details-marker{display:none}
.amenities-panel[open] summary svg{transform:rotate(45deg)}
.amenities-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.3rem 4rem;padding:2rem 0 2.8rem}
.amenities-groups h3{font-family:"DM Sans",sans-serif;font-size:1rem;line-height:1.3;letter-spacing:0;margin:0 0 .8rem}
.amenities-groups ul{list-style:none;margin:0;padding:0}
.amenities-groups li{font-size:.91rem;color:var(--muted);line-height:1.55;margin-bottom:.38rem}
.amenities-source{font-size:.8rem;color:var(--muted);margin:0 0 2rem}
.reviews-section{background:#e3e7e2;padding:7rem 0 7.5rem}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:3.2rem}
.reviews-grid figure{margin:0;padding:0 2.5rem 0 0;display:flex;flex-direction:column;min-height:225px}
.reviews-grid figure+figure{border-left:1px solid var(--line);padding-left:2.5rem}
.reviews-grid blockquote{font-family:"DM Sans",Arial,sans-serif;font-weight:500;font-size:clamp(1.3rem,1.8vw,1.8rem);line-height:1.38;letter-spacing:-.025em;color:var(--navy);margin:0 0 auto;text-wrap:balance}
.reviews-grid figcaption{display:flex;align-items:baseline;flex-wrap:wrap;gap:.3rem .75rem;margin-top:2rem;font-size:.86rem}
.reviews-grid figcaption span{color:var(--muted)}
.reviews-grid figcaption a{width:100%;color:var(--sea);font-weight:700;text-decoration:none;margin-top:.25rem}
.reviews-grid figcaption a:hover{text-decoration:underline}
.reviews-source{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,450px);align-items:start;gap:clamp(2rem,7vw,7rem);border-top:1px solid var(--line);margin-top:3.1rem;padding-top:2.7rem}
.reviews-source-copy h3{font-size:clamp(1.45rem,2vw,2rem);margin-bottom:.75rem}
.reviews-source-copy p{font-size:.95rem;color:var(--muted);max-width:48ch;margin:0}
.reviews-proof{min-width:0;max-width:450px;width:100%;margin-left:auto}
.reviews-proof summary{display:inline-block;cursor:pointer;list-style:none;border-bottom:1px solid currentColor;font-weight:700;color:var(--navy);padding:.5rem 0;line-height:1.3}
.reviews-proof summary::-webkit-details-marker{display:none}
.reviews-proof summary:hover{color:var(--sea)}
.reviews-proof p{font-size:.82rem;color:var(--muted);margin:1.1rem 0 0}
.reviews-proof p a{font-weight:700;color:var(--sea)}
.reviews-embed{min-width:0;max-width:450px;width:100%;margin-top:1.25rem}
.reviews-embed .airbnb-embed-frame{max-width:100%}
.local-section{background:var(--navy);color:#fff;padding:7.5rem 0}
.local-inner{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(3rem,8vw,8rem);align-items:center}
.local-copy{padding-left:clamp(0rem,4vw,4rem)}
.local-copy h2{color:#fff;max-width:15ch}
.local-copy>p{color:#d4e4e3;font-size:1.08rem;line-height:1.7;max-width:36rem;margin:1.6rem 0 2.2rem}
.local-facts{margin:0;border-top:1px solid #66828a}
.local-facts div{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid #66828a;font-size:.93rem}
.local-facts dt{font-weight:700}
.local-facts dd{margin:0;color:#c3dadb;text-align:right}
.local-photos{display:grid;grid-template-columns:1fr .72fr;gap:.9rem;align-items:end;height:520px}
.local-photos a:first-child{height:100%}
.local-photos a:last-child{height:78%}
.map-section{padding-top:7.5rem;padding-bottom:8rem}
.map-frame{height:425px;overflow:hidden;background:#dce3de;border:1px solid var(--line)}
.map-placeholder{display:grid;place-items:center;text-align:center;height:100%;padding:2rem;background:#dce3de}
.map-placeholder h3{font-size:2rem;font-weight:600;color:var(--navy);max-width:24ch;margin:0 auto .7rem}
.map-placeholder p{font-size:.95rem;color:#435c60;margin:0 auto 1.4rem}
.map-placeholder button{background:var(--navy);border:1px solid var(--navy);border-radius:0;color:#fff;font-weight:700;padding:.9rem 1.3rem;min-height:48px}
.map-placeholder button:hover{background:var(--sea)}
.map-frame iframe{width:100%;height:100%;border:0}
.map-credit{font-size:.8rem;color:var(--muted);margin:.7rem 0 0}
.practical-section{background:#dfe4df;padding:7rem 0}
.practical-inner{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(3rem,7vw,7rem)}
.practical-lead h2{font-size:clamp(2.55rem,4vw,4.4rem);max-width:15ch}
.practical-lead p{color:var(--muted);font-size:1.03rem;line-height:1.65}
.practical-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem 2.5rem;margin-bottom:2.5rem}
.practical-grid div{border-top:1px solid #b5c9c5;padding-top:1rem}
.practical-grid h3{font-family:"DM Sans",sans-serif;font-size:1.03rem;line-height:1.3;letter-spacing:0;margin:0 0 .6rem}
.practical-grid p{font-size:.92rem;line-height:1.65;color:var(--muted);margin:0}
.closing-section{display:flex;align-items:center;justify-content:space-between;gap:3rem;padding-top:7.5rem;padding-bottom:8rem}
.closing-section h2{max-width:17ch}
.closing-section p{font-size:1.08rem;color:var(--muted);margin:0}
.closing-cta{display:inline-flex;align-items:center;justify-content:center;min-width:230px;min-height:58px;padding:.75rem 1.3rem;background:var(--navy);border:1px solid var(--navy);border-radius:0;color:#fff;text-decoration:none;font-weight:700;letter-spacing:.01em}
.closing-cta:hover{background:var(--navy-deep)}
.site-footer{background:var(--navy-deep);color:#d5e2e1;padding:3.5rem 0}
.footer-inner{display:flex;align-items:start;justify-content:space-between;gap:3rem}
.site-footer .brand{color:#fff;font-size:1.5rem}
.site-footer p{font-size:.83rem;margin:.6rem 0;color:#c1d3d3}
.site-footer a:not(.brand){font-size:.84rem;font-weight:700}
.mobile-booking-bar{display:none}
.gallery-dialog{border:1px solid #526b70;background:var(--navy-deep);color:#fff;padding:1rem;width:min(100vw,1200px);max-width:100vw;max-height:100dvh}
.gallery-dialog::backdrop{background:rgba(3,22,28,.88)}
.gallery-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.85rem;color:#d4e4e3;padding:.2rem .5rem .8rem}
.gallery-dialog button{border:0;background:transparent;color:#fff;display:grid;place-items:center;width:44px;height:44px}
.gallery-dialog button:hover{background:#355159}
.gallery-dialog-content{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:.5rem;align-items:center}
.gallery-dialog-content img{width:100%;height:min(72dvh,780px);object-fit:contain}
.gallery-dialog>p{text-align:center;font-size:.91rem;margin:.7rem 0 .2rem}

@media(max-width:1120px){.desktop-nav{gap:1.2rem}.hero-stage{grid-template-columns:1.8fr 1fr}.hero-photo,.hero-pool{height:460px}.booking-card{grid-column:1/-1;display:grid;grid-template-columns:.75fr 1.25fr;align-items:start;gap:0 2rem;min-height:0}.booking-card h2,.booking-card>p{grid-column:1}.booking-card form{grid-column:2;grid-row:1/3}.booking-card>p{margin-top:4rem}.facts-bar{grid-template-columns:repeat(4,1fr)}.facts-bar div{display:block}.facts-bar span{display:block}}
@media(max-width:800px){.desktop-nav,.header-book{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{display:grid;place-items:center;width:44px;height:44px;cursor:pointer;list-style:none}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{position:absolute;z-index:40;right:0;top:calc(100% + .65rem);width:min(82vw,280px);display:grid;gap:0;background:var(--cream);border:1px solid var(--line);padding:.45rem}.mobile-nav nav a{padding:.8rem .95rem;text-decoration:none;font-size:.95rem}.mobile-nav nav a:hover{background:var(--mist)}.header-actions{margin-left:auto}.hero-intro{display:block}.hero-location{margin-top:1rem}.hero-stage{grid-template-columns:1.4fr .8fr}.booking-card{grid-column:1/-1}.section-heading{display:block}.section-heading .text-link{display:inline-block;margin-top:1rem}.story-row,.amenities-lead,.local-inner,.practical-inner{gap:2.5rem}.amenities-groups{grid-template-columns:repeat(2,1fr)}.reviews-grid figure{padding-right:1.5rem}.reviews-grid figure+figure{padding-left:1.5rem}.reviews-source{grid-template-columns:1fr;gap:2rem}.reviews-proof{margin-left:0}}
@media(max-width:640px){html{scroll-padding-top:4rem}.page-shell,.header-inner{width:min(100% - 40px,500px)}.header-inner{height:65px}.brand{font-size:1.8rem}.preview-badge{font-size:.64rem;padding:.13rem .5rem}.hero{padding-top:1.8rem}.hero h1{font-size:clamp(3.15rem,11.8vw,4.25rem);line-height:1.01;max-width:11ch;margin:0 0 1rem}.hero-lead{font-size:1rem;line-height:1.45;max-width:24ch}.hero-location{font-size:.84rem;margin:1rem 0 0}.hero-stage{display:block;position:relative;margin-top:1.7rem}.hero-photo{height:290px}.hero-photo img{object-position:center 50%}.hero-pool{position:absolute;top:208px;right:0;width:38%;height:190px;border:8px solid var(--cream)}.booking-card{display:block;margin-top:111px;padding:1.3rem 1.2rem}.booking-card h2{font-size:1.95rem}.booking-card>p{margin:.1rem 0 1.25rem}.date-pair input{font-size:.8rem}.booking-submit{margin-top:1rem}.booking-note{font-size:.76rem}.facts-bar{grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem;padding:1.1rem 1.2rem}.facts-bar div{display:flex;align-items:baseline;gap:.55rem;white-space:normal}.facts-bar strong{font-size:2rem}.facts-bar span{font-size:.81rem}.intro-section{padding-top:5.5rem;padding-bottom:6rem}.section-heading h2,.amenities-lead h2,.local-copy h2,.practical-lead h2,.closing-section h2{font-size:clamp(2.35rem,8.8vw,3.1rem)}.section-heading p{font-size:1rem}.gallery-grid{grid-template-columns:1fr 1fr;gap:.65rem}.gallery-grid .photo-link{height:175px}.gallery-grid .gallery-wide{grid-column:1/-1;height:240px}.gallery-grid .photo-link span{bottom:0;left:0;font-size:.8rem}.story-row{display:block;margin-top:5rem}.story-copy{padding-left:0}.story-copy h3{font-size:2.35rem}.story-copy p{font-size:1rem}.story-image{height:400px;margin-top:2rem}.rooms-section{padding:5.5rem 0 5rem}.rooms-grid{grid-template-columns:1fr 1fr;gap:1.5rem .8rem;margin-top:2rem}.room .photo-link{height:260px}.room:nth-child(3){grid-column:1/-1;max-width:60%}.room-label{display:block;padding-top:.6rem}.room-label h3{font-size:1rem}.room-label p{font-size:.81rem;margin-top:.15rem}.rooms-note{font-size:.82rem}.amenities-section{padding-top:5.5rem;padding-bottom:6rem}.amenities-lead{display:block}.amenities-lead>div{padding-left:0}.amenities-lead h2{max-width:16ch}.amenities-lead p{font-size:1rem}.amenity-highlights{gap:.5rem 1rem;margin-top:1.7rem}.amenity-highlights li{font-size:.82rem}.amenities-image{height:340px;margin-top:2rem}.amenities-panel{margin-top:2.3rem}.amenities-panel summary{font-size:1rem}.amenities-groups{grid-template-columns:1fr 1fr;gap:1.5rem;padding-top:1.3rem}.amenities-groups h3{font-size:.88rem}.amenities-groups li{font-size:.8rem}.reviews-section{padding:5.5rem 0 5rem}.reviews-grid{display:block;margin-top:2.5rem}.reviews-grid figure,.reviews-grid figure+figure{border-left:0;border-top:1px solid var(--line);min-height:0;padding:1.4rem 0 1.6rem}.reviews-grid blockquote{font-size:1.55rem}.reviews-grid figcaption{margin-top:1rem}.local-section{padding:5.5rem 0}.local-inner{display:block}.local-copy{padding-left:0}.local-copy>p{font-size:1rem}.local-facts div{font-size:.86rem}.local-photos{height:300px;margin-top:2rem}.map-section{padding-top:5.5rem;padding-bottom:6rem}.map-frame{height:340px}.map-placeholder h3{font-size:1.75rem}.practical-section{padding:5.5rem 0}.practical-inner{display:block}.practical-grid{grid-template-columns:1fr 1fr;gap:1.5rem 1rem;margin-top:2.5rem}.practical-grid h3{font-size:.9rem}.practical-grid p{font-size:.83rem}.closing-section{display:block;padding-top:5.5rem;padding-bottom:6rem}.closing-cta{margin-top:2rem}.footer-inner{display:block}.footer-inner>div+div{margin-top:2rem}.site-footer{padding-bottom:7rem}.mobile-booking-bar{position:fixed;z-index:25;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--cream);border-top:1px solid var(--navy);padding:.65rem max(20px,env(safe-area-inset-left)) calc(.65rem + env(safe-area-inset-bottom))}.mobile-booking-bar div{display:grid;line-height:1.3}.mobile-booking-bar strong{font-size:.87rem;color:var(--navy)}.mobile-booking-bar span{font-size:.74rem;color:var(--muted)}.mobile-booking-bar button{font-size:.85rem;min-height:44px;padding:.6rem .9rem;white-space:nowrap}.gallery-dialog{padding:.5rem}.gallery-dialog-content{grid-template-columns:37px minmax(0,1fr) 37px;gap:0}.gallery-dialog-content img{height:70dvh}.gallery-dialog button{width:36px;height:44px}}
@media(max-width:380px){.brand{font-size:1.65rem}.preview-badge{display:none}.date-pair label{padding:.55rem .4rem}.date-pair input{font-size:.74rem}.facts-bar{padding:1rem .8rem}.facts-bar strong{font-size:1.8rem}.facts-bar span{font-size:.75rem}.rooms-grid{gap:1rem .7rem}}
@media(max-width:1120px) and (min-width:641px){.facts-bar div{display:flex;flex-wrap:wrap;align-items:baseline}.facts-bar span{display:inline}}
@media(max-width:640px){
  .header-inner{gap:.75rem}
  .preview-badge{display:none}
  .site-header .brand-mark{width:45px;height:45px}
  .site-header .brand-name{font-size:1.32rem}
  .facts-bar{background:transparent;gap:0;padding:.5rem 0}
  .facts-bar div{display:flex;align-items:baseline;justify-content:flex-start;gap:.4rem;padding:.7rem .25rem}
  .facts-bar div+div{border-left:0}
  .facts-bar div:nth-child(even){border-left:1px solid var(--line);padding-left:1rem}
  .facts-bar div:nth-child(n+3){border-top:1px solid var(--line)}
  .facts-bar strong{font-size:1.18rem}
  .facts-bar span{font-size:.82rem}
  .room-label h3{font-size:.95rem}
  .story-photos{margin-top:2rem;gap:.55rem}
  .story-image{height:370px;margin-top:0}
  .story-evening{height:290px}
  .detail-photos{grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.65rem}
  .detail-photos .photo-link{height:220px}
  .detail-photos .photo-link:last-child{grid-column:1/-1;height:210px}
  .detail-photos .photo-link span{bottom:0;left:0;font-size:.8rem}
}
@media(max-width:380px){.site-header .brand-name{font-size:1.14rem}.facts-bar{padding:.5rem 0}.facts-bar div{display:block}.facts-bar strong,.facts-bar span{display:block}.facts-bar strong{font-size:1.1rem;white-space:nowrap}.facts-bar span{font-size:.77rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

.footer-disclosures{display:flex;gap:2rem;flex-wrap:wrap;margin-top:1.4rem;padding-top:1rem;border-top:1px solid #66828a}
.footer-disclosures details{max-width:22rem;font-size:.83rem}
.footer-disclosures summary{cursor:pointer;font-weight:700;list-style:none;text-decoration:underline;text-underline-offset:.2em}
.footer-disclosures summary::-webkit-details-marker{display:none}
.footer-disclosures p{line-height:1.6;margin:.65rem 0 0;color:#d5e2e1}

@media(min-width:801px) and (max-width:1240px){.desktop-nav{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{display:grid;place-items:center;width:44px;height:44px;cursor:pointer;list-style:none}.mobile-nav nav{position:absolute;z-index:40;right:0;top:calc(100% + .65rem);width:min(82vw,280px);display:grid;background:var(--cream);border:1px solid var(--line);padding:.45rem}.mobile-nav nav a{padding:.8rem .95rem;text-decoration:none;font-size:.95rem}.mobile-nav nav a:hover{background:var(--mist)}.header-actions{margin-left:auto}}

@media(max-width:1240px){.site-header.is-scrolled .header-inner{position:relative}.site-header.is-scrolled .brand-name,.site-header.is-scrolled .preview-badge{display:none}.site-header.is-scrolled .current-section{position:absolute;left:50%;transform:translateX(-50%);max-width:min(14rem,calc(100vw - 152px));margin:0;text-align:center}.site-header.is-scrolled .header-actions{margin-left:auto}}

@media(min-width:641px) and (max-width:800px){.header-book{display:inline-flex}}

@keyframes terrace-unveil{from{clip-path:inset(0 3% 0 0)}to{clip-path:inset(0)}}
@keyframes pool-unveil{from{clip-path:inset(0 0 3% 0)}to{clip-path:inset(0)}}
@keyframes booking-arrive{from{opacity:.82;transform:translateX(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){.hero-photo{animation:terrace-unveil .7s cubic-bezier(.16,1,.3,1) both}.hero-pool{animation:pool-unveil .62s cubic-bezier(.16,1,.3,1) .08s both}.booking-card{animation:booking-arrive .52s cubic-bezier(.16,1,.3,1) .16s both}}
