:root{--c-paper: #fdfaf2;--c-sand: #ece1c8;--c-sand-deep: #c8b58d;--c-atlantic: #143a52;--c-ink: #0a1f2e;--c-coral: #d6553a;--c-muted: #5b7383;--c-hairline: rgba(20, 58, 82, .1);--color-stucco: var(--c-paper);--color-surface: var(--c-paper);--color-limestone: var(--c-sand-deep);--color-limestone-soft: var(--c-sand);--color-ink: var(--c-ink);--color-muted: var(--c-muted);--color-olive: var(--c-atlantic);--color-olive-dark: var(--c-atlantic);--color-terracotta: var(--c-coral);--color-pool: var(--c-atlantic);--color-white: var(--c-paper);--shadow-card: 0 1px 2px rgba(10, 31, 46, .06), 0 4px 14px -8px rgba(10, 31, 46, .18);--font-display: "Fraunces", Georgia, serif;--font-body: "Plus Jakarta Sans", system-ui, sans-serif;--font-script: "Caveat Brush", "Caveat", cursive;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--space-10: 128px;--radius-sm: 4px;--radius-md: 8px;--radius-card: 12px;--container: 1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--c-paper)}body{margin:0;background:var(--c-paper);color:var(--c-ink);font-family:var(--font-body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input{font:inherit}::selection{background:var(--c-atlantic);color:var(--c-paper)}:focus-visible{outline:2px solid var(--c-coral);outline-offset:3px}h1,h2,h3{margin:0;font-family:var(--font-display);color:var(--c-atlantic);line-height:1.06;font-weight:400;font-variation-settings:"opsz" 96,"SOFT" 60;letter-spacing:-.012em}h1{font-size:clamp(44px,7vw,80px)}h2{font-size:clamp(30px,4.2vw,48px);font-style:italic}h3{font-size:20px;letter-spacing:-.005em}p{margin:0}ul{margin:0;padding:0}.script{font-family:var(--font-script);font-weight:400;font-style:normal;font-variation-settings:normal;line-height:1}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.site-shell{min-height:100vh}.container{width:min(var(--container),calc(100% - 48px));margin:0 auto}.section{padding:var(--space-9) 0}.stack{display:grid;gap:var(--space-5)}.site-header{position:sticky;top:0;z-index:20;background:#fdfaf2eb;backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--c-hairline)}.site-header__inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-5)}.brand{display:flex;align-items:center;gap:var(--space-3)}.brand img{width:38px;height:38px;border-radius:50%;object-fit:cover}.brand__name{display:block;font-family:var(--font-display);font-style:italic;font-size:22px;font-weight:400;line-height:1;color:var(--c-atlantic);font-variation-settings:"opsz" 144,"SOFT" 60}.brand__place{display:block;margin-top:4px;color:var(--c-muted);font-size:11px;font-weight:500;letter-spacing:.06em}.nav{display:flex;align-items:center;gap:var(--space-5);font-size:14px;font-weight:500;color:var(--c-atlantic)}.nav a{padding:var(--space-2) 0;transition:color .16s ease}.nav a:not(.button):hover{color:var(--c-coral)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border:1px solid var(--c-atlantic);border-radius:8px;background:var(--c-atlantic);color:var(--c-paper);font-family:var(--font-body);font-size:14px;font-weight:600;letter-spacing:.005em;line-height:1;white-space:nowrap;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.button:hover{background:var(--c-coral);border-color:var(--c-coral);color:var(--c-paper)}.button--light{background:transparent;color:var(--c-atlantic)}.button--light:hover{background:var(--c-atlantic);color:var(--c-paper)}.button--coral{background:var(--c-coral);border-color:var(--c-coral)}.button--coral:hover{background:var(--c-atlantic);border-color:var(--c-atlantic)}.button--hero{background:var(--c-coral);border-color:var(--c-coral);color:var(--c-paper);min-height:50px;padding:0 28px;font-size:14px}.button--hero:hover{background:var(--c-paper);color:var(--c-atlantic);border-color:var(--c-paper)}.nav .button{min-height:38px;padding:0 18px;font-size:13px}.hero{position:relative;background:var(--c-atlantic)}.hero__media{position:relative;height:clamp(560px,78vh,760px);overflow:hidden}.hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0a1f2e00 35%,#0a1f2e8c),linear-gradient(95deg,#0a1f2e52,#0a1f2e00 55%);pointer-events:none}.hero__content{position:absolute;inset:auto 0 0;padding:0 0 var(--space-9);z-index:1;color:var(--c-paper);animation:hero-fade .7s .1s ease backwards}.hero__eyebrow{margin:0 0 var(--space-3);color:#fdfaf2d9;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}.hero__title{margin:0;color:var(--c-paper);max-width:12ch;display:block}.hero__title-script{display:block;font-family:var(--font-script);font-weight:400;font-size:clamp(76px,11vw,156px);line-height:.92;letter-spacing:-.005em;color:var(--c-paper);font-variation-settings:normal}.hero__tagline{max-width:540px;margin-top:var(--space-4);color:#fdfaf2eb;font-size:17px;line-height:1.55}.hero__facts{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-5) var(--space-7);margin-top:var(--space-6);padding:var(--space-5) 0 0;border-top:1px solid rgba(253,250,242,.22);max-width:760px}.hero__fact{display:flex;flex-direction:column;gap:4px;color:var(--c-paper)}.hero__fact strong{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:26px;line-height:1;color:var(--c-paper);font-variation-settings:"opsz" 144,"SOFT" 60}.hero__fact span{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#fdfaf2bf}.hero__actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-5);margin-top:var(--space-6)}.hero__actions p{margin:0;color:#fdfaf2c7;font-size:14px;letter-spacing:.04em}@keyframes hero-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.wave-divider{position:relative;z-index:2;margin-top:-60px;height:120px;pointer-events:none;overflow:hidden;background:transparent}.wave-divider .wave{position:absolute;left:0;bottom:0;width:200%;height:100%;display:block}.wave-divider .wave--deep{fill:var(--c-atlantic);animation:wave-drift-l 32s linear infinite}.wave-divider .wave--mid{fill:var(--c-paper);opacity:.32;animation:wave-drift-r 22s linear infinite}.wave-divider .wave--foam{fill:var(--c-paper);animation:wave-drift-l 14s linear infinite}@keyframes wave-drift-l{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@keyframes wave-drift-r{0%{transform:translate3d(-50%,0,0)}to{transform:translateZ(0)}}@media(prefers-reduced-motion:reduce){.wave-divider .wave{animation:none}}.booking{background:var(--c-paper);padding:var(--space-7) 0 var(--space-8)}.booking__inner{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:0;align-items:stretch;background:var(--c-paper);border-radius:var(--radius-card);border:1px solid var(--c-hairline);box-shadow:var(--shadow-card)}.booking__field{padding:var(--space-4) var(--space-5);border-right:1px solid var(--c-hairline);display:flex;flex-direction:column;justify-content:center}.booking__field:last-of-type{border-right:0}.booking__field label{display:block;color:var(--c-muted);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.booking__field div{margin-top:6px;font-size:15px;font-weight:500;color:var(--c-ink)}.booking .button{margin:var(--space-3);align-self:stretch}.section{padding:var(--space-9) 0;position:relative}.section--surface{background:var(--c-sand)}.intro{text-align:center;display:grid;justify-items:center;gap:var(--space-4)}.intro h2{max-width:22ch}.intro h2:after{content:"";display:block;width:48px;height:1.5px;background:var(--c-coral);margin:var(--space-4) auto 0}.intro p{max-width:64ch;color:var(--c-ink);opacity:.78;font-size:16.5px;line-height:1.7}.section-grid{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.5fr);gap:var(--space-7);align-items:start}.section-heading{position:sticky;top:88px}.section-heading h2{position:relative;padding-bottom:var(--space-3)}.section-heading h2:after{content:"";display:block;margin-top:var(--space-3);width:36px;height:1.5px;background:var(--c-coral)}.section-heading p{margin-top:var(--space-4);color:var(--c-muted);font-size:15px;line-height:1.6}.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-8);align-items:start}.story__copy{display:grid;gap:var(--space-4)}.story__copy h2{margin-bottom:var(--space-2)}.story__copy p{color:var(--c-ink);opacity:.78;font-size:16px;line-height:1.7}.story__copy ul{display:grid;gap:var(--space-3);padding-left:0;list-style:none}.story__copy ul li{position:relative;padding-left:var(--space-5);color:var(--c-ink);opacity:.85}.story__copy ul li:before{content:"";position:absolute;left:0;top:12px;width:12px;height:1.5px;background:var(--c-coral)}.story__images{position:sticky;top:88px;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.media-frame{margin:0;background:transparent}.media-frame img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius-md)}.media-frame:nth-child(odd) img{aspect-ratio:3 / 4}.media-frame figcaption{margin-top:var(--space-2);color:var(--c-muted);font-size:12px;letter-spacing:.02em}.amenities{display:grid;gap:var(--space-7)}.amenity-group{display:grid;align-content:start;gap:var(--space-4)}.amenity-group h3{font-size:13px;font-weight:600;font-family:var(--font-body);font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--c-muted);font-variation-settings:normal}.amenity-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);align-items:start}.amenity-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--c-paper);border:1px solid var(--c-hairline);border-radius:var(--radius-md)}.amenity-card__head{display:flex;align-items:center;gap:10px;color:var(--c-ink);font-size:14.5px;font-weight:600;line-height:1.4}.amenity-card__head strong{font-weight:600}.amenity-card p{margin:0;color:var(--c-muted);font-size:13.5px;line-height:1.6}.amenity-check{display:inline-flex;align-items:center;justify-content:center;color:var(--c-coral);font-size:13px;font-weight:700;line-height:1;flex-shrink:0}.amenity-tags{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0}.amenity-tags li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--c-hairline);border-radius:var(--radius-md);background:var(--c-paper);font-size:13.5px;font-weight:500;color:var(--c-ink);line-height:1}.amenity-tags .amenity-check{font-size:12px}.gallery-section{display:grid;gap:var(--space-6)}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-5)}.gallery-tabs{display:flex;flex-wrap:wrap;gap:var(--space-5);justify-content:flex-end}.gallery-tab{border:0;padding:6px 0;background:transparent;color:var(--c-muted);cursor:pointer;font-family:var(--font-body);font-size:13px;font-weight:500;letter-spacing:.02em;border-bottom:1.5px solid transparent;transition:color .16s ease,border-color .16s ease}.gallery-tab:hover{color:var(--c-atlantic)}.gallery-tab[aria-pressed=true]{color:var(--c-atlantic);border-color:var(--c-coral)}.gallery-viewer{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.65fr);gap:var(--space-4);align-items:start}.gallery-feature{margin:0;position:sticky;top:96px}.gallery-feature img{width:100%;aspect-ratio:16 / 10;object-fit:cover;border-radius:var(--radius-card)}.gallery-feature figcaption{margin-top:var(--space-3);color:var(--c-muted);font-size:13px}.gallery-thumbs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);max-height:660px;overflow:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:var(--c-sand-deep) transparent}.gallery-thumbs::-webkit-scrollbar{width:6px}.gallery-thumbs::-webkit-scrollbar-thumb{background:var(--c-sand-deep);border-radius:3px}.gallery-thumb{border:0;padding:0;background:transparent;cursor:pointer;text-align:left}.gallery-thumb[hidden]{display:none}.gallery-thumb img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius-md);opacity:.85;transition:opacity .16s ease}.gallery-thumb span{display:block;margin-top:4px;color:var(--c-muted);font-size:11px;letter-spacing:.04em}.gallery-thumb:hover img,.gallery-thumb[aria-pressed=true] img{opacity:1}.gallery-thumb[aria-pressed=true] img{outline:2px solid var(--c-coral);outline-offset:2px}.location-panel{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);align-items:start}.distance-list,.contact-list{list-style:none;display:grid;gap:0}.distance-list li,.contact-list li{display:flex;justify-content:space-between;gap:var(--space-4);align-items:baseline;padding:var(--space-3) 0;border-bottom:1px solid var(--c-hairline)}.distance-list strong,.contact-list strong{font-family:var(--font-body);font-style:normal;font-weight:600;font-size:15px;color:var(--c-ink);line-height:1.4}.distance-list span,.contact-list span{color:var(--c-muted);font-size:13.5px;font-weight:500}.distance-list strong span{display:block;margin-top:2px;font-weight:500;font-size:13px;color:var(--c-muted)}.contact-list a{font-weight:500;color:var(--c-coral);transition:opacity .16s ease}.contact-list a:hover{opacity:.78}.map-panel{position:relative;min-height:460px;overflow:hidden;border-radius:var(--radius-card);background:var(--c-sand)}.map-panel iframe{width:100%;height:100%;min-height:460px;border:0;display:block}.map-open{position:absolute;top:var(--space-4);left:var(--space-4);min-height:38px;display:inline-flex;align-items:center;padding:0 16px;border-radius:8px;background:var(--c-paper);color:var(--c-atlantic);box-shadow:var(--shadow-card);font-size:13px;font-weight:600;transition:color .16s ease}.map-open:hover{color:var(--c-coral)}.reviews{display:grid;gap:var(--space-5)}.reviews__heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-5)}.reviews__heading h2{position:relative;padding-bottom:var(--space-3)}.reviews__heading h2:after{content:"";display:block;margin-top:var(--space-3);width:36px;height:1.5px;background:var(--c-coral)}.reviews__controls{display:flex;gap:var(--space-2)}.review-control{min-height:38px;padding:0 16px;border:1px solid var(--c-hairline);border-radius:8px;background:transparent;color:var(--c-atlantic);cursor:pointer;font-family:var(--font-body);font-size:13px;font-weight:500;transition:background .16s ease,color .16s ease,border-color .16s ease}.review-control:hover{background:var(--c-atlantic);color:var(--c-paper);border-color:var(--c-atlantic)}.review-slider{position:relative;min-height:220px}.review-slide{margin:0}.review-slide[aria-hidden=true]{display:none}.review-card{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--space-6);align-items:start;padding:var(--space-6) 0}.review-person{display:flex;align-items:center;gap:var(--space-3)}.review-flag{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--c-sand);font-size:18px}.review-person strong,.review-person span span{display:block}.review-person strong{font-family:var(--font-body);font-style:normal;color:var(--c-ink);font-size:15px;font-weight:600;line-height:1.3}.review-person span span{margin-top:2px;color:var(--c-muted);font-size:12px;font-weight:500}.review-slide p{position:relative;max-width:60ch;padding-left:var(--space-6);color:var(--c-ink);font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(19px,1.7vw,24px);line-height:1.55;font-variation-settings:"opsz" 144,"SOFT" 60}.review-slide p:before{content:"“";position:absolute;left:-2px;top:-10px;color:var(--c-coral);font-family:var(--font-display);font-weight:400;font-size:56px;line-height:1}.review-slide footer{grid-column:2;margin-top:var(--space-3);padding-left:var(--space-6);color:var(--c-muted);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.site-footer{background:var(--c-atlantic);color:#fdfaf2b3;border-top:1px solid var(--c-coral);padding:var(--space-7) 0}.site-footer__inner{display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);flex-wrap:wrap}.site-footer .brand img{background:#fdfaf20f}.site-footer .brand__name{color:var(--c-paper)}.site-footer .brand__place{color:#fdfaf299}.footer-links{display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap;font-size:13.5px;font-weight:500}.footer-links a{color:var(--c-paper);transition:opacity .16s ease}.footer-links a:hover{opacity:.7}.footer-links span{color:#fdfaf28c;font-size:12.5px}.privacy-main{padding:var(--space-9) 0}.privacy-main article{max-width:720px;display:grid;gap:var(--space-5);color:var(--c-ink)}@media(max-width:920px){.site-header{position:static}.site-header__inner{align-items:flex-start;flex-direction:column;padding:var(--space-4) 0}.nav{width:100%;gap:var(--space-3);flex-wrap:wrap;overflow:visible;padding-bottom:var(--space-1)}.hero__media{height:620px}.hero__title-script{font-size:clamp(64px,14vw,108px)}.hero__facts{gap:var(--space-4) var(--space-5)}.booking__inner,.story,.section-grid,.location-panel,.gallery-viewer{grid-template-columns:1fr}.story__images{position:static}.review-card{grid-template-columns:1fr;gap:var(--space-4);padding:var(--space-5) 0}.review-slide p,.review-slide footer{padding-left:var(--space-5)}.review-slide footer{grid-column:auto;margin-top:0}.booking__field{border-right:0;border-bottom:1px solid var(--c-hairline)}.booking__field:last-of-type{border-bottom:0}.booking .button{margin:12px}.section-heading{position:static}.amenity-list{grid-template-columns:1fr}.gallery-heading,.reviews__heading{align-items:start;flex-direction:column}.gallery-tabs{justify-content:flex-start}.gallery-feature{position:static}.map-panel,.map-panel iframe{min-height:360px}.site-footer__inner{flex-direction:column;align-items:flex-start}}@media(max-width:620px){.container{width:min(100% - 28px,var(--container))}.section{padding:var(--space-8) 0}.hero__media{height:580px}.hero__content{padding-bottom:var(--space-7)}.hero__title-script{font-size:clamp(60px,16vw,96px)}.hero__facts{gap:var(--space-4)}.hero__fact strong{font-size:22px}.amenity-list{grid-template-columns:1fr}.gallery-thumbs{max-height:none;overflow:visible}.review-slide p{font-size:18px}.review-slide p:before{font-size:44px;top:-8px}.footer-links{gap:var(--space-3);font-size:12.5px}}
