@charset "UTF-8";
:root{--bg:#f6f3e9;--surface:#efecdf;--ink:#173e35;--muted:#54675d;--line:#cdd1bf;--yellow:#f2cd4b;--glass:rgba(246,243,233,.94);--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,sans-serif;color-scheme:light;scroll-behavior:smooth;scroll-padding-top:110px}
:root[data-appearance=dark]{--bg:#122a25;--surface:#1a342e;--ink:#f3f0e4;--muted:#b7c5b9;--line:#395148;--glass:rgba(18,42,37,.95);color-scheme:dark}
@media(prefers-color-scheme:dark){:root[data-appearance=system]{--bg:#122a25;--surface:#1a342e;--ink:#f3f0e4;--muted:#b7c5b9;--line:#395148;--glass:rgba(18,42,37,.95);color-scheme:dark}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,summary,a,select{touch-action:manipulation}button,summary,select{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.07}h1{font-size:clamp(3.6rem,7vw,7.8rem);letter-spacing:-.05em}h2{font-size:clamp(2.7rem,5.1vw,5.3rem);letter-spacing:-.045em}h3{font-size:clamp(1.65rem,2.2vw,2.4rem);letter-spacing:-.03em}em{font-weight:400}p+p{margin-top:1.2rem}p{max-width:65ch}.eyebrow{font-family:var(--sans);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:650;margin-bottom:1.6rem}.section{padding:105px max(5vw,24px)}.button{display:inline-flex;align-items:center;justify-content:center;gap:38px;background:var(--ink);color:var(--bg);padding:17px 26px;border-radius:3px;font-size:.84rem;font-weight:600;min-height:48px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button.yellow{background:var(--yellow);color:#173e35}.button.compact{padding:12px 20px;gap:22px}.text-link{display:inline-block;border-bottom:1px solid;padding:8px 0;font-size:.85rem;font-weight:600}.small{font-size:.76rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;top:0;left:10px;padding:14px;background:var(--yellow);color:#173e35;z-index:100;transform:translateY(-150%)}.skip-link:focus{transform:none}:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 4vw;background:var(--glass);position:sticky;top:0;z-index:30;transition:transform .28s,box-shadow .28s;border-bottom:1px solid var(--line)}.site-header.is-hidden{transform:translateY(-102%)}.site-header:focus-within{transform:none}.brand{display:flex;gap:10px;align-items:center;white-space:nowrap;font-size:14px;letter-spacing:.09em;font-weight:700;line-height:1.3}.brand img{width:62px;height:48px;object-fit:contain}.brand small{display:block;font-size:8px;letter-spacing:.18em;margin-top:5px;font-weight:500}.menu{list-style:none;display:flex;gap:28px;padding:0;margin:0;font-size:.81rem}.menu a{display:flex;align-items:center;min-height:44px}.menu li{position:relative}.menu li.menu-item-has-children>a:after{content:'⌄';margin-inline-start:8px}.menu .sub-menu{display:none;position:absolute;inset-block-start:100%;inset-inline-start:0;background:var(--bg);padding:14px 20px;min-width:210px;list-style:none;box-shadow:0 12px 25px #0002}.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu,.menu li.open>.sub-menu{display:block}.submenu-toggle{background:transparent;color:var(--ink);border:0;padding:10px;min-height:44px}.header-tools{display:flex;align-items:center;gap:15px}.header-tools details{position:relative}.header-tools summary{list-style:none;min-height:44px;min-width:44px;display:grid;place-content:center;font-size:.85rem}.header-tools summary::-webkit-details-marker{display:none}.popover{position:absolute;inset-inline-end:0;top:52px;min-width:230px;max-height:60vh;overflow:auto;background:var(--bg);border:1px solid var(--line);padding:20px;box-shadow:0 18px 40px #0002;border-radius:10px}.popover label{font-size:.8rem}.popover select,.popover input{width:100%;padding:9px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:3px}.language-list{list-style:none;margin:8px 0 0;padding:0}.language-list a{display:block;padding:9px}.language-list [aria-current]{font-weight:700}.language-status{color:var(--muted);font-size:.72rem}.menu-toggle{display:none}.hero{position:relative;min-height:690px;height:calc(100svh - 100px);max-height:1000px;color:#fff;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,#062e2e9e,#062e2e10),linear-gradient(0deg,#062e2e70,transparent 50%)}.hero-copy{position:relative;max-width:850px;padding:clamp(80px,10vh,160px) 6vw 90px}.hero-copy .eyebrow{color:#fff9cb}.hero-copy h1{margin-bottom:24px}.hero-copy h1 em{color:#ffe599}.hero-copy>p:not(.eyebrow){font-size:.96rem;max-width:370px;margin-bottom:32px}.hero-foot{position:absolute;inset-inline:6vw;bottom:28px;display:flex;justify-content:space-between;font-size:.65rem;letter-spacing:.15em}.intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:9vw;align-items:center}.intro-grid p{color:var(--muted);font-size:.94rem}.intro-grid .lead{font-size:1.2rem;line-height:1.5;color:var(--ink);margin-bottom:20px}.intro-grid .text-link{margin-top:20px}.place-line{display:flex;justify-content:space-between;gap:20px;border-block:1px solid var(--line);margin-top:65px;padding:22px 0;font-size:.63rem;letter-spacing:.18em}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:50px}.section-heading>p{max-width:310px;color:var(--muted);font-size:.9rem}.stays{background:var(--surface);padding-top:90px}.stays-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 32px}.stay-image{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;margin-bottom:22px}.stay-image img{height:100%;width:100%;object-fit:cover;transition:transform .6s}.stay-image:hover img{transform:scale(1.035)}.circle-arrow{position:absolute;bottom:16px;right:16px;border-radius:50%;background:var(--bg);color:var(--ink);width:44px;height:44px;display:grid;place-items:center}.stay-meta{font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:10px;color:var(--muted)}.stay h3{margin-bottom:14px}.stay p{font-size:.86rem;color:var(--muted)}.island{display:grid;grid-template-columns:1fr 1fr}.island-image{min-height:620px}.island-image img{width:100%;height:100%;object-fit:cover;max-height:850px}.island-copy{padding:90px 7vw;display:flex;flex-direction:column;align-items:start;justify-content:center}.island-copy h2{margin-bottom:32px}.island-copy p{color:var(--muted);font-size:.95rem}.island-copy .text-link{margin-top:25px}.island-note{font-family:var(--serif);font-style:italic;font-size:1.5rem;padding-top:50px;margin-top:45px;border-top:1px solid var(--line)}.closing{text-align:center;background:var(--yellow);color:#173e35;padding-block:100px}.closing .button{background:#173e35;color:#fff;margin-block:32px 18px}.closing p{margin-inline:auto}.site-footer{background:#173e35;color:#f6f3e9;padding:80px 6vw 25px}.footer-top{display:flex;justify-content:space-between;gap:70px;padding-bottom:70px}.site-footer h2{font-size:clamp(2.4rem,4vw,4rem);margin-bottom:30px}.site-footer .button{background:#f6f3e9;color:#173e35}.contact{display:flex;flex-direction:column;align-items:start;font-size:.86rem}.contact h3{font-family:var(--sans);font-size:.8rem;font-weight:600;letter-spacing:.07em;margin-bottom:20px}.contact address{font-style:normal;opacity:.8;margin-bottom:20px}.contact>a{padding-block:6px}.footer-bottom{border-top:1px solid #ffffff30;display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:24px;font-size:.65rem}.footer-bottom ul{display:flex;gap:20px;list-style:none;padding:0}.page-main{min-height:70vh;padding-block:80px}.page-main h1{font-size:clamp(3rem,6vw,5rem);max-width:1000px;margin-bottom:40px}.page-hero{width:100%;max-height:650px;object-fit:cover;margin-bottom:40px}.prose{max-width:800px;margin-block:32px 45px}.prose h2,.prose h3{font-size:2rem;margin-block:35px 20px}.prose p{margin-block:18px}.prose a{text-decoration:underline}.mobile-dock{display:none}.prose input,.prose textarea{width:100%;padding:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:4px}.prose label{display:block;margin-block:16px}.notice{padding:18px;border-inline-start:4px solid var(--yellow);background:var(--surface)}
@supports(backdrop-filter:blur(15px)){.site-header{background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(18px) saturate(1.2)}.mobile-dock{background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(20px) saturate(1.3)}}
@media(min-width:1550px){.section{padding-inline:max(7vw,calc((100vw - 1400px)/2))}}
@media(max-width:1100px){.brand span{font-size:11px}.menu{gap:16px}.header-tools{gap:5px}.site-header{padding-inline:24px}.header-tools .compact{padding:12px;font-size:.75rem;gap:10px}.intro-grid{gap:6vw}.island-copy{padding:60px 5vw}.stays-grid{gap:36px 22px}}
@media(max-width:850px){.site-header{height:82px;gap:12px}.menu-toggle{display:block;background:transparent;border:0;color:var(--ink);font-size:.8rem;padding:12px;margin-inline-start:auto}.brand img{width:48px;height:42px}.brand span{font-size:11px}.brand small{font-size:6px}.header-tools>.button{display:none}#primary-nav{display:none;position:absolute;top:100%;inset-inline:0;background:var(--bg);padding:25px;border-bottom:1px solid var(--line)}#primary-nav.is-open{display:block}.menu{display:block;font-size:1rem}.menu .sub-menu{position:static;box-shadow:none}.menu li>a{padding:6px}.hero{height:78svh;min-height:600px}.hero-copy{padding-top:90px}.hero-foot>span:first-child{display:none}.section{padding-block:70px}.intro-grid{grid-template-columns:1fr;gap:30px}.intro-grid>div{max-width:540px}.place-line{margin-top:45px;font-size:.55rem;letter-spacing:.08em}.stays-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.island{grid-template-columns:1fr}.island-image{min-height:0;height:480px}.island-copy{padding:65px 6vw}.island-note{margin-top:30px;padding-top:25px}.footer-top{gap:40px}.site-footer h2{font-size:2.5rem}}
@media(max-width:560px){.header-tools{gap:0}.header-tools summary{min-width:35px}.site-header{padding-inline:14px}.brand{gap:6px}.brand span{font-size:9px;letter-spacing:.06em}.brand small{font-size:5px}.brand img{width:42px}.menu-toggle{font-size:0;padding:8px}.menu-toggle span{font-size:19px}.hero{min-height:590px}.hero-copy{padding:95px 24px 85px}.hero h1{font-size:4.3rem}.hero-copy>p:not(.eyebrow){font-size:.9rem;max-width:270px}.hero-foot{inset-inline:24px;font-size:.55rem}.hero-foot>span{display:none}.section-heading{display:block}.section-heading>p{margin-top:24px}.stays-grid{grid-template-columns:1fr;gap:38px}.stay-image{aspect-ratio:1.25}.stay h3{font-size:2rem}.place-line{flex-wrap:wrap;gap:14px}.island-image{height:360px}.footer-top{display:block}.contact{margin-top:55px}.footer-bottom{display:block}.footer-bottom>a{display:inline-block;padding:12px 0}.site-footer{padding-bottom:110px}.mobile-dock{position:fixed;bottom:max(10px,env(safe-area-inset-bottom));inset-inline:16px;display:flex;justify-content:space-around;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:60px;background:var(--glass);box-shadow:0 3px 0 #ffffff25 inset,0 10px 35px #0002;z-index:25;font-size:.72rem}.mobile-dock a{padding:11px 15px;min-height:44px}.dock-book{background:var(--yellow);color:#173e35;border-radius:40px}.popover{position:fixed;inset-inline:20px;top:85px;min-width:0}.page-main{padding-top:50px}.footer-bottom .menu{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Navigation and motion refinement — 0.3.0 */
:root{--glass:rgba(246,243,233,.78);--spring:cubic-bezier(.2,.85,.25,1.16);--header-height:100px}
:root[data-appearance=dark]{--glass:rgba(18,42,37,.8)}
@media(prefers-color-scheme:dark){:root[data-appearance=system]{--glass:rgba(18,42,37,.8)}}
html{scrollbar-gutter:stable}.site-header{height:var(--header-height);isolation:isolate;background:var(--glass);backdrop-filter:blur(26px) saturate(1.5);-webkit-backdrop-filter:blur(26px) saturate(1.5);transition:background .4s,box-shadow .4s,border-color .4s;transform:none!important}
.site-header.is-scrolled{box-shadow:0 8px 32px #061e1812;border-bottom-color:color-mix(in srgb,var(--line) 65%,transparent)}
.brand{transition:transform .4s var(--spring)}.site-header.is-scrolled .brand{transform:scale(.97);transform-origin:left center}
.header-tools summary{display:flex;align-items:center;justify-content:center;gap:5px;border-radius:14px;transition:background .2s;user-select:none}.header-tools summary:hover,.header-tools details[open]>summary{background:color-mix(in srgb,var(--ink) 7%,transparent)}
.language-chevron{transition:transform .3s var(--spring)}.languages[open]:not(.is-closing) .language-chevron{transform:rotate(180deg)}
.popover{transform-origin:top right;border-radius:22px;background:color-mix(in srgb,var(--bg) 96%,transparent);backdrop-filter:blur(30px) saturate(1.4);-webkit-backdrop-filter:blur(30px) saturate(1.4);border-color:color-mix(in srgb,var(--line) 75%,transparent);box-shadow:inset 0 1px 0 #ffffff60,0 18px 50px #071e2020}
.language-popover{width:296px;min-width:0;padding:14px;max-height:calc(100dvh - 125px)}
.language-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0;padding:0}.language-list li{min-width:0}
.language-list .language-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:67px;padding:8px 4px;border:1px solid transparent;border-radius:13px;background:color-mix(in srgb,var(--ink) 4%,transparent);transition:background .2s,transform .3s var(--spring),border-color .2s;line-height:1.25}
.language-flag{font-size:25px;line-height:1.1}.language-code{font-size:.65rem;font-weight:700;letter-spacing:.08em}.language-list a:hover{background:color-mix(in srgb,var(--yellow) 26%,transparent);transform:translateY(-2px)}
.language-list [aria-current]{border-color:var(--ink);background:color-mix(in srgb,var(--yellow) 27%,var(--bg));box-shadow:0 0 0 2px color-mix(in srgb,var(--yellow) 14%,transparent)}
.language-tile.is-unavailable{opacity:.76;cursor:default}.language-pending{position:absolute;top:6px;right:6px;width:4px;height:4px;background:var(--muted);border-radius:50%}
.menu li.menu-item-has-children>a:after{content:none}.submenu-toggle svg{transition:transform .25s}.submenu-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.site-footer{background:var(--surface);color:var(--ink);border-top:1px solid var(--line)}.site-footer .button{background:var(--ink);color:var(--bg)}.footer-bottom{border-color:var(--line)}
.nav-backdrop{position:fixed;inset:var(--header-height) 0 0;z-index:28;border:0;background:#061b1838;backdrop-filter:blur(5px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s,visibility .35s}
.menu-icon{position:relative;display:block;width:25px;height:22px}.menu-icon i{position:absolute;left:0;top:6px;display:block;width:25px;height:1.7px;border-radius:2px;background:currentColor;transition:transform .45s var(--spring),width .3s}.menu-icon i+ i{top:14px;width:18px}.menu-toggle:hover .menu-icon i+ i{width:25px}.menu-toggle[aria-expanded=true] .menu-icon i{transform:translateY(4px) rotate(45deg);width:25px}.menu-toggle[aria-expanded=true] .menu-icon i+ i{transform:translateY(-4px) rotate(-45deg)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease var(--reveal-delay,0ms),transform .8s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}.reveal.is-revealed{opacity:1;transform:none}
.hero-copy>*{animation:hero-arrive .9s cubic-bezier(.2,.7,.2,1) both}.hero-copy>:nth-child(2){animation-delay:.08s}.hero-copy>:nth-child(3){animation-delay:.16s}.hero-copy>:nth-child(4){animation-delay:.24s}
.hero-image{animation:sea-arrive 2s cubic-bezier(.2,.7,.2,1) both}.button:active{transform:scale(.97)}.text-link{transition:opacity .2s,transform .3s}.text-link:hover{transform:translateX(4px);opacity:.75}.circle-arrow{transition:transform .4s var(--spring)}.stay-image:hover .circle-arrow{transform:rotate(45deg)}
@keyframes hero-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes sea-arrive{from{transform:scale(1.035)}to{transform:scale(1)}}
@media(max-width:850px){
 :root{--header-height:82px}
 .menu-toggle{display:grid;place-items:center;width:44px;height:44px;padding:10px;border-radius:14px;flex-shrink:0;transition:background .2s}.menu-toggle:hover,.menu-toggle[aria-expanded=true]{background:color-mix(in srgb,var(--ink) 7%,transparent)}
 #primary-nav{display:block;position:absolute;top:calc(100% - 1px);left:0;right:auto;width:min(420px,calc(100vw - 28px));height:calc(100dvh - var(--header-height));max-height:720px;padding:35px 30px 50px;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(32px) saturate(1.5);-webkit-backdrop-filter:blur(32px) saturate(1.5);border:1px solid var(--line);border-left:0;border-top:0;border-radius:0 0 36px 0;box-shadow:20px 28px 50px #061b1818;opacity:0;visibility:hidden;transform:translateX(-105%) scaleX(.94);transform-origin:top left;clip-path:inset(0 100% 0 0 round 0 0 80px 0);transition:transform .55s var(--spring),clip-path .55s cubic-bezier(.2,.8,.2,1),opacity .3s,visibility .55s;overflow:auto;overscroll-behavior:contain}
 #primary-nav.is-open{display:block;opacity:1;visibility:visible;transform:none;clip-path:inset(0 0 0 0 round 0 0 36px 0)}
 #primary-nav .menu{font-size:clamp(1.65rem,5vw,2.2rem);font-family:var(--serif);line-height:1.3}#primary-nav .menu>li{opacity:0;transform:translateX(-18px);transition:opacity .3s,transform .4s var(--spring)}#primary-nav.is-open .menu>li{opacity:1;transform:none;transition-delay:.1s}#primary-nav.is-open .menu>li:nth-child(2){transition-delay:.16s}#primary-nav.is-open .menu>li:nth-child(3){transition-delay:.22s}
 #primary-nav .menu>li>a{padding:18px 0;border-bottom:1px solid var(--line)}#primary-nav .sub-menu{font-size:1rem}#primary-nav .menu-item-has-children>a{padding-right:44px}#primary-nav .submenu-toggle{position:absolute;right:0;top:10px}
 .menu-open{overflow:hidden}.menu-open .nav-backdrop{opacity:1;visibility:visible;pointer-events:auto}.menu-open .site-header{background:var(--glass);border-bottom-color:transparent}.menu-open .mobile-dock{opacity:0;transform:translateY(25px) scale(.9);pointer-events:none}
}
@media(max-width:560px){
 .header-tools summary{min-width:39px;min-height:44px}.header-tools{gap:3px}.menu-toggle{margin-inline-start:auto}.site-header{gap:6px}.brand img{width:38px}.brand span{font-size:8px}.brand small{font-size:4.8px}
 .language-popover{position:absolute;top:54px;left:auto;right:-39px;width:min(296px,calc(100vw - 32px));max-height:calc(100dvh - 110px)}
 .appearance .popover{top:calc(var(--header-height) + 8px)}
 .mobile-dock{display:flex;isolation:isolate;inset-inline:14px;gap:3px;padding:7px;border-radius:36px;background:var(--glass);border:1px solid color-mix(in srgb,var(--line) 70%,#fff4);backdrop-filter:blur(28px) saturate(1.65);-webkit-backdrop-filter:blur(28px) saturate(1.65);box-shadow:inset 0 1.5px 0 #ffffff80,inset 0 -1px 0 #ffffff24,0 12px 38px #092c3624;transition:transform .55s var(--spring),border-radius .55s var(--spring),box-shadow .4s,opacity .3s;will-change:transform}
 .mobile-dock:before{content:'';position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;background:linear-gradient(125deg,#ffffff26,transparent 42%,#ffffff0a 65%,#ffffff20)}
 .mobile-dock a{position:relative;z-index:1;white-space:nowrap;padding:12px 13px;min-height:44px;font-size:.68rem;border-radius:26px;transition:color .2s,transform .35s var(--spring)}.mobile-dock a:active{transform:scale(.96)}.mobile-dock .dock-book{box-shadow:inset 0 1px 0 #fff6}.dock-book>span{display:none}
 .dock-lens{position:absolute;top:7px;bottom:7px;left:0;width:var(--lens-width,100px);transform:translateX(var(--lens-x,7px));border-radius:26px;z-index:0;background:color-mix(in srgb,var(--ink) 8%,transparent);border:1px solid color-mix(in srgb,var(--ink) 5%,transparent);box-shadow:inset 0 1px 0 #ffffff45;transition:transform .6s var(--spring),width .6s var(--spring),border-radius .4s}
 .mobile-dock.is-scrolling{transform:translateY(3px) scale(.97);border-radius:29px;box-shadow:inset 0 1px 0 #ffffff70,0 7px 25px #092c361c}.mobile-dock.is-pressed{transform:scale(.955);border-radius:25px}.mobile-dock.is-pressed .dock-lens{border-radius:19px}
}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.mobile-dock,.mobile-dock.is-scrolling,.mobile-dock.is-pressed{transform:none}.hero-image{transform:none}}
.nav-invitation{display:none}
@media(max-width:850px){#primary-nav,#primary-nav.is-open{display:flex;flex-direction:column}#primary-nav>.menu{flex-shrink:0}.nav-invitation{display:block;flex-shrink:0;margin-top:auto;padding-top:60px;opacity:0;transform:translateX(-12px);transition:opacity .35s .18s,transform .5s var(--spring) .18s}#primary-nav.is-open .nav-invitation{opacity:1;transform:none}.nav-invitation .eyebrow{font-size:.57rem;margin-bottom:12px}.nav-signoff{font-family:var(--serif);font-size:1.7rem;line-height:1.2;margin-bottom:22px}.nav-invitation .button{width:100%}}
.appearance .appearance-choices{position:absolute;top:52px;inset-inline-end:0;inset-inline-start:auto;display:flex;gap:4px;min-width:0;width:max-content;padding:7px;border-radius:23px;overflow:visible}
.appearance-choices button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:10px;border:1px solid transparent;border-radius:16px;background:transparent;color:var(--ink);transition:background .2s,transform .3s var(--spring),border-color .2s}
.appearance-choices button:hover{background:color-mix(in srgb,var(--ink) 7%,transparent);transform:translateY(-2px)}.appearance-choices button[aria-pressed=true]{background:color-mix(in srgb,var(--yellow) 30%,var(--bg));border-color:color-mix(in srgb,var(--ink) 30%,transparent)}.appearance-current{display:grid;place-items:center}
@media(max-width:560px){html:not([lang^="en"]) .hero{height:auto;min-height:max(590px,78svh);max-height:none}html:not([lang^="en"]) .hero-copy{padding-top:90px;padding-bottom:110px}.mobile-dock a{flex:1;min-width:0;padding-inline:8px;white-space:normal;line-height:1.25;font-size:.65rem;display:flex;align-items:center;justify-content:center}}
.prose code{overflow-wrap:anywhere;font-size:.85em}
@media(min-width:561px){html:not([lang^="en"]) .hero{height:auto;min-height:max(690px,calc(100svh - var(--header-height)));max-height:none}html:not([lang^="en"]) .hero-copy{padding-bottom:110px}}
.prose a{overflow-wrap:anywhere}

/* Transparent outlined SVG lockups follow the same appearance rules as the page. */
.site-header .brand{display:block;flex:0 0 auto;width:224px;line-height:0;letter-spacing:normal}
.site-header .brand .brand-logo{width:100%;height:auto;max-width:none;aspect-ratio:650/220;object-fit:contain}
.site-header .brand .brand-logo--light{display:block}.site-header .brand .brand-logo--dark{display:none}
:root[data-appearance=dark] .site-header .brand-logo--light{display:none}
:root[data-appearance=dark] .site-header .brand-logo--dark{display:block}
@media(prefers-color-scheme:dark){:root[data-appearance=system] .site-header .brand-logo--light{display:none}:root[data-appearance=system] .site-header .brand-logo--dark{display:block}}
@media(max-width:1100px){.site-header .brand{width:200px}}
@media(max-width:850px){.site-header .brand{width:174px}}
@media(max-width:560px){.site-header .brand{width:clamp(128px,42vw,174px)}}

/* The Yellow Bird return-to-top: a perched control becomes a flying character. */
.bird-to-top[hidden]{display:none}.bird-to-top{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:24;display:grid;place-items:center;width:72px;height:72px;padding:3px;border:0;border-radius:0;background:transparent;color:var(--ink);box-shadow:none;transform-origin:center;touch-action:manipulation}
.bird-to-top__float{display:block;width:100%;height:100%}.bird-to-top__sprite{display:block;width:100%;height:100%;overflow:visible;transform:scaleX(-1) rotate(-12deg);transform-origin:50% 55%;transition:transform .45s cubic-bezier(.25,.6,.4,1);filter:drop-shadow(0 2px 2px #08251d18)}
.bird-wing{transform-box:view-box;transform-origin:124px 130px}.bird-tail{transform-box:view-box;transform-origin:82px 173px}
.bird-to-top__label{position:absolute;right:calc(100% + 6px);top:50%;transform:translate(5px,-50%);padding:8px 12px;border-radius:9px;background:var(--ink);color:var(--bg);font-size:.75rem;line-height:1.3;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,transform .18s,visibility .18s}
.bird-to-top[data-flight=perched]:is(:hover,:focus-visible) .bird-to-top__label{opacity:1;visibility:visible;transform:translate(0,-50%)}
.bird-to-top:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:8px}
.bird-to-top[data-flight=perched]{animation:bird-perch-in .35s cubic-bezier(.2,.8,.2,1.1) both}.bird-to-top[data-flight=perched] .bird-to-top__float{animation:bird-idle 3.4s ease-in-out 1}
.bird-to-top:is(:hover,:focus-visible) .bird-wing--front{animation:bird-front-stroke .44s linear 3}.bird-to-top:is(:hover,:focus-visible) .bird-wing--rear{animation:bird-rear-stroke .44s linear 3}
.bird-to-top:is([data-flight=up],[data-flight=left]){z-index:40;background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none;will-change:transform,opacity}
.bird-to-top:is([data-flight=up],[data-flight=left]) .bird-to-top__label{opacity:0;visibility:hidden}.bird-to-top:is([data-flight=up],[data-flight=left]) .bird-to-top__float{animation:bird-flight-lift .44s ease-in-out infinite}
.bird-to-top[data-flight=up] .bird-to-top__sprite{transform:scaleX(-1) rotate(-12deg);transition:none}.bird-to-top[data-flight=left] .bird-to-top__sprite{transform:scaleX(-1) rotate(-12deg)}
.bird-to-top:is([data-flight=up],[data-flight=left]) .bird-wing--front{animation:bird-front-stroke .44s linear infinite}.bird-to-top:is([data-flight=up],[data-flight=left]) .bird-wing--rear{animation:bird-rear-stroke .44s linear infinite}
.bird-to-top:is([data-flight=up],[data-flight=left]) .bird-tail{animation:bird-tailbeat .22s ease-in-out infinite alternate}
.menu-open .bird-to-top{visibility:hidden;pointer-events:none}
/* Fast, extended power stroke; slower, slightly folded recovery. Wings share a beat. */
@keyframes bird-front-stroke{0%,100%{transform:rotate(0deg) scale(1);animation-timing-function:cubic-bezier(.4,0,.75,.5)}38%{transform:rotate(-105deg) scale(1,.94);animation-timing-function:ease-out}48%{transform:rotate(-96deg) scale(.9,.86);animation-timing-function:cubic-bezier(.2,.5,.4,1)}76%{transform:rotate(-42deg) scale(.82,.9);animation-timing-function:ease-out}}
@keyframes bird-rear-stroke{0%,100%{transform:rotate(0deg) scale(1);animation-timing-function:cubic-bezier(.4,0,.75,.5)}38%{transform:rotate(130deg) scale(1,.94);animation-timing-function:ease-out}48%{transform:rotate(118deg) scale(.9,.86);animation-timing-function:cubic-bezier(.2,.5,.4,1)}76%{transform:rotate(52deg) scale(.82,.9);animation-timing-function:ease-out}}
@keyframes bird-flight-lift{0%,100%{transform:translateY(0)}42%{transform:translateY(-2px)}}
@keyframes bird-tailbeat{from{transform:rotate(-4deg)}to{transform:rotate(5deg)}}
@keyframes bird-idle{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes bird-perch-in{from{opacity:0;transform:translateY(14px) scale(.85)}to{opacity:1;transform:none}}
@media(max-width:560px){.bird-to-top{width:64px;height:64px;right:18px;bottom:calc(98px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.bird-to-top,.bird-to-top *{animation:none!important;transition:none!important}.bird-to-top__sprite{transform:scaleX(-1) rotate(-12deg)!important}}

/* A single drawn icon family, with an editorial grid for room-specific comforts. */
.room-amenities{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,3fr);gap:48px;margin:48px 0;padding:36px 0;border-block:1px solid var(--line)}
.room-amenities__heading h2{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:400;line-height:1.15;margin:0 0 12px}
.room-amenities__heading p{font-size:.88rem;line-height:1.6;color:var(--muted);max-width:24ch;margin:0}
.room-amenities__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 28px;list-style:none;margin:0;padding:0}
.room-amenities__list li{display:flex;align-items:center;gap:12px;min-height:76px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.88rem;line-height:1.45;overflow-wrap:anywhere}
.amenity-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--yellow) 16%,transparent);color:var(--ink)}
.amenity-icon svg{display:block;width:32px;height:32px}
@media(max-width:1000px){.room-amenities{grid-template-columns:1fr;gap:24px}.room-amenities__heading p{max-width:none}}
@media(max-width:650px){.room-amenities{margin:32px 0;padding:28px 0}.room-amenities__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.room-amenities__list li{font-size:.8rem;gap:9px;min-height:78px}.amenity-icon{flex-basis:38px;width:38px;height:38px;border-radius:10px}.amenity-icon svg{width:29px;height:29px}}

/* Policy reading experience: clear hierarchy, quiet surfaces, predictable navigation. */
.policy-main{max-width:1440px;margin-inline:auto;padding:72px max(5vw,24px) 88px;min-height:70vh}
.policy-hero{display:flex;align-items:end;justify-content:space-between;gap:32px;padding:20px 0 48px;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 80% 20%,color-mix(in srgb,var(--yellow) 13%,transparent),transparent 60%)}
.policy-hero .eyebrow{margin-bottom:20px;color:var(--muted);font-size:.75rem}
.policy-hero h1{font-size:clamp(2.75rem,6vw,5.4rem);line-height:1.1;letter-spacing:-.04em;overflow-wrap:anywhere}
.policy-actions{display:flex;flex-wrap:wrap;gap:10px;flex-shrink:0;max-width:40%}
.policy-actions a,.policy-actions button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:10px 16px;border:1px solid var(--muted);border-radius:10px;background:transparent;color:var(--ink);font-size:.85rem;text-decoration:none;text-align:center}
.policy-actions [hidden]{display:none}.policy-actions a:hover,.policy-actions button:hover{background:var(--surface)}
.policy-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start;margin-top:48px}
.policy-sidebar{position:sticky;top:124px;max-height:calc(100dvh - 150px);overflow:auto;padding:4px 10px 8px 4px;scrollbar-gutter:stable}
.policy-contents{border-block:1px solid var(--line)}.policy-contents summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:12px 0;font-weight:650;font-size:.85rem;list-style:none}
.policy-contents summary::-webkit-details-marker{display:none}.policy-contents[open] summary svg{transform:rotate(180deg)}
.policy-contents ol{list-style:none;counter-reset:none;margin:0;padding:8px 0 14px}.policy-contents li+li{margin-top:2px}
.policy-contents a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:8px;font-size:.82rem;line-height:1.5;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;overflow-wrap:anywhere}
.policy-contents a:hover{background:var(--surface);text-decoration-color:currentColor}
.policy-reading{min-width:0;max-width:74ch}.policy-copy{font-size:1.0625rem;line-height:1.85;overflow-wrap:anywhere}
.policy-copy p{margin:0 0 1.3em;max-width:none}.policy-copy h2,.policy-copy h3,.policy-copy h4{scroll-margin-top:130px;overflow-wrap:anywhere}
.policy-copy h2{font-size:clamp(1.75rem,3vw,2.3rem);line-height:1.25;letter-spacing:-.025em;margin:56px 0 24px;padding-top:24px;border-top:1px solid var(--line)}
.policy-copy>h2:first-child,.policy-copy>div>h2:first-child{margin-top:0;border-top:0;padding-top:0}
.policy-copy h3{font-size:1.35rem;font-family:var(--sans);font-weight:600;line-height:1.5;letter-spacing:0;margin:36px 0 18px}
.policy-copy h4{font-size:1.08rem;font-family:var(--sans);font-weight:650;line-height:1.5;letter-spacing:0;margin:28px 0 14px}
.policy-copy ul,.policy-copy ol{padding-inline-start:1.4em;margin:20px 0 28px}.policy-copy li+li{margin-top:.7em}
.policy-copy a{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}.policy-copy a:hover{text-decoration-thickness:2px}
.policy-copy code{font-size:.9em;font-family:ui-monospace,monospace;white-space:normal;overflow-wrap:anywhere;background:var(--surface);padding:2px 5px;border-radius:4px}
.policy-record{display:grid;grid-template-columns:minmax(90px,auto) minmax(0,1fr);gap:18px;margin:0;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--surface);font-size:.95rem}
.policy-record dt{font-weight:650;max-width:18ch}.policy-record dd{margin:0;min-width:0}.policy-record dd p:last-child{margin-bottom:0}
.policy-help{padding:28px;margin-top:56px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.policy-help h2{font-size:1.6rem;line-height:1.3;letter-spacing:-.02em;margin:0 0 16px}.policy-help a{display:inline-flex;align-items:center;gap:24px;min-height:48px;text-decoration:underline;text-underline-offset:4px;font-weight:600}.policy-help p{font-size:.9rem;overflow-wrap:anywhere}
.policy-main :focus-visible{outline:3px solid var(--ink);outline-offset:3px}.policy-main :is(a,button,summary){scroll-margin-block:130px 32px}
.policy-page .mobile-dock{display:none}.policy-page .bird-to-top{bottom:max(24px,env(safe-area-inset-bottom))}
@media(max-width:850px){.policy-main{padding-top:40px}.policy-hero{display:block;padding-bottom:32px}.policy-actions{max-width:none;margin-top:28px}.policy-layout{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:28px}.policy-sidebar{position:static;max-height:none;padding:4px}.policy-reading{max-width:none}}
@media(max-width:450px){.policy-main{padding-inline:20px}.policy-actions{gap:8px}.policy-actions a,.policy-actions button{font-size:.8rem;padding-inline:12px}.policy-copy{font-size:1rem;line-height:1.8}.policy-record{grid-template-columns:minmax(0,1fr);gap:5px;padding:14px}.policy-record dt{max-width:none}.policy-help{padding:22px}}
@media print{.policy-page .site-header,.policy-page .site-footer,.policy-sidebar,.policy-actions,.policy-help{display:none!important}.policy-main{padding:0;max-width:none;color:#000;background:#fff}.policy-hero{padding:0 0 24px;background:none}.policy-hero h1{font-size:30pt}.policy-layout{display:block;margin-top:24px}.policy-reading{max-width:none}.policy-copy{font-size:11pt;line-height:1.6}.policy-copy h2,.policy-copy h3,.policy-copy h4{break-after:avoid}.policy-record{background:none;color:#000}.policy-copy a{text-decoration:underline}}

@media print{.policy-page{background:#fff;color:#000}.policy-main{--ink:#000;--bg:#fff;--surface:#fff;--muted:#333;--line:#ccc}}

.policy-contents a{border-inline-start:3px solid transparent}.policy-contents a[aria-current=location]{border-inline-start-color:var(--ink);background:var(--surface);font-weight:700;text-decoration:underline}
.policy-current-section{display:block;max-width:26ch;margin-top:5px;font-weight:400;font-size:.75rem;line-height:1.45;overflow-wrap:anywhere}.policy-current-section:empty{display:none}
.policy-contents summary>span{min-width:0}.policy-reset{margin:28px 0;padding:24px;border:1px solid var(--muted);border-radius:14px}.policy-reset button{min-height:48px;padding:12px 18px;background:var(--ink);color:var(--bg);border:0;border-radius:8px}.policy-reset p{margin-block:12px}.policy-reset [role=status]{min-height:1.5em;font-weight:600}
@media print{
 @page{margin:18mm 16mm}
 html:has(body.policy-page),body.policy-page{width:auto!important;min-width:0!important;height:auto!important;overflow:visible!important;background:#fff!important;color:#000!important}
 .policy-page .skip-link,.policy-page .bird-to-top,.policy-page .nav-backdrop,.policy-page .mobile-dock,.policy-page .rvt-language-preference,.policy-reset,.policy-current-section{display:none!important}
 .policy-page :focus,.policy-page :focus-visible{outline:none!important;box-shadow:none!important}
 .policy-main,.policy-main article,.policy-layout,.policy-reading,.policy-copy{display:block!important;position:static!important;width:auto!important;max-width:none!important;min-width:0!important;overflow:visible!important;transform:none!important}
 .policy-main{margin:0!important;padding:0!important;font-size:11pt}
 .policy-copy h2{font-size:18pt;margin-top:24pt}.policy-copy h3{font-size:14pt;margin-top:18pt}.policy-copy h4{font-size:12pt;margin-top:14pt}
 .policy-copy p,.policy-copy li{orphans:3;widows:3;overflow-wrap:anywhere}.policy-record{break-inside:avoid;grid-template-columns:110px minmax(0,1fr);padding:9pt 0;background:#fff!important}
 .policy-copy code{white-space:normal;overflow-wrap:anywhere;background:#fff!important;color:#000!important}
}

.policy-reset [hidden]{display:none}.policy-reset h2{font-size:1.6rem;line-height:1.3;letter-spacing:-.02em}

.language-flag svg{display:block;width:36px;height:24px;border-radius:3px;overflow:hidden}

.stay h2{font-size:clamp(1.65rem,2.2vw,2.4rem);letter-spacing:-.03em;margin:0}.page-main>.stays-grid{margin-top:36px}
@media(max-width:560px){.stay h2{font-size:2rem}}

@media print{.policy-hero{padding-bottom:12pt}.policy-layout{margin-top:16pt}.policy-copy{line-height:1.55}.policy-copy p{margin:0 0 9pt}.policy-copy h2{margin:18pt 0 10pt;padding-top:10pt}.policy-copy h3{margin:12pt 0 7pt}.policy-copy h4{margin:10pt 0 6pt}}

.policy-copy :is(h2,h3,h4){scroll-margin-top:24px}

.bird-to-top__label{pointer-events:auto}.bird-to-top__label:after{content:'';position:absolute;inset-block:0;right:-10px;width:10px}.bird-to-top.is-tooltip-dismissed .bird-to-top__label{opacity:0!important;visibility:hidden!important}

.policy-actions :is(a,button){max-width:100%;min-width:0;overflow-wrap:anywhere}.policy-help a{max-width:100%;overflow-wrap:anywhere;flex-wrap:wrap;gap:12px}.footer-top>div{min-width:0}.contact a{overflow-wrap:anywhere}

/* Yield the floating mascot while a document control has keyboard focus. */
.policy-page:has(.policy-main :is(a,button,summary):focus-visible) .bird-to-top:not(:focus-visible){visibility:hidden;pointer-events:none}


/* Copyright and studio attribution form one signature; policies sit at the right. */
:root{--studio-accent:#07E09B;--studio-accent-hover:#07E09B}
.footer-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}
.footer-signature{display:flex;align-items:center;flex-wrap:wrap;gap:5px 9px;min-width:0;max-width:100%;margin:0;font-size:.76rem;line-height:1.7}
.footer-attribution{display:inline-flex;align-items:center;gap:9px;max-width:100%}.footer-credit-separator{color:var(--muted)}
.studio-credit{display:inline-flex;align-items:baseline;gap:4px;max-width:100%;margin:0;padding:0;border:0;font:inherit;color:var(--muted)}
.studio-credit__lead{font:inherit}
.studio-credit a.studio-credit__name{display:inline-block;white-space:nowrap;font:inherit;letter-spacing:inherit;background:transparent;padding-inline:0;border-radius:3px;transition:none;text-decoration:none;border:0;transform:none}
.studio-credit a.studio-credit__name:is(:link,:visited,:hover,:active,:focus){color:#07E09B;text-decoration:none;border-bottom:0}
.studio-credit a.studio-credit__name:focus-visible{outline:2px solid #07E09B;outline-offset:5px;border-radius:3px;box-shadow:0 0 0 4px var(--ink)}
.studio-credit__char{display:inline-block;white-space:pre;transform:translateY(0) scale(1);animation:none}
.studio-credit__name:hover .studio-credit__char{animation:studio-credit-wave 900ms ease-in-out infinite;animation-delay:calc(var(--i) * 45ms)}
.footer-policies{margin-inline-start:auto;max-width:100%;font-size:.74rem}.footer-policies ul{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px 20px;margin:0;padding:0;list-style:none}.footer-policies li{min-width:0;max-width:100%}.footer-policies a{min-height:44px;max-width:100%;overflow-wrap:anywhere}
@media(min-width:561px){.footer-bottom{padding-inline-end:84px}}
@media(max-width:560px){.footer-bottom{align-items:start}.footer-policies{width:100%;padding-inline-end:76px}.footer-credit-separator{display:none}.footer-signature{row-gap:4px}}
@keyframes studio-credit-wave{0%,55%,100%{transform:translateY(0) scale(1)}25%{transform:translateY(-2px) scale(1.04)}}
@media(prefers-reduced-motion:reduce){.studio-credit__name .studio-credit__char,.studio-credit__name:hover .studio-credit__char{animation:none!important;transform:translateY(0) scale(1)}}

/* Seven original property photographs, a calm editorial composition. */
.hero-gallery .hero-slides,.hero-slide{position:absolute;inset:0;overflow:hidden}
.hero-gallery .hero-slide{opacity:0;transform:translateX(4%) scale(1.035);transition:opacity 1.35s ease,transform 2.2s cubic-bezier(.2,.65,.3,1);pointer-events:none}
.hero-gallery .hero-slide.is-current{opacity:1;transform:translateX(0) scale(1);z-index:1}
.hero-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-gallery .hero-shade{z-index:2;background:linear-gradient(90deg,rgba(5,28,25,.86) 0%,rgba(5,28,25,.68) 38%,rgba(5,28,25,.15) 78%),linear-gradient(0deg,rgba(5,28,25,.75),transparent 35%)}
.hero.hero-gallery .hero-copy{z-index:3;padding-bottom:160px}
.hero-gallery .hero-foot{z-index:3;align-items:center;gap:24px;bottom:30px;flex-wrap:wrap}
.hero-explore{display:inline-flex;gap:18px;align-items:center;min-height:44px;letter-spacing:.12em}
.hero-explore span{font-size:1.2rem;transition:transform .3s}
.hero-explore:hover span{transform:translateY(4px)}
.hero-controls{display:flex;align-items:center;gap:4px;background:rgba(6,29,26,.8);border:1px solid #ffffff40;border-radius:999px;padding:7px 10px;box-shadow:0 10px 40px #0002;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);letter-spacing:0;color:#fff}
.hero-controls[hidden]{display:none}
.hero-count{font-variant-numeric:tabular-nums;display:flex;gap:8px;font-size:.7rem;padding-inline:10px;white-space:nowrap}
.hero-count-divider{opacity:.65}
.hero-controls button{appearance:none;border:0;background:transparent;color:inherit;cursor:pointer;min-height:44px;padding:0;display:grid;place-items:center;border-radius:50%;transition:background .2s}
.hero-controls button:hover{background:#ffffff1c}
.hero-controls button:focus-visible,.hero-gallery .hero-explore:focus-visible{outline:2px solid #ffe599;outline-offset:3px}
.hero-pagination{display:flex;align-items:center;gap:2px;padding-inline:6px}
.hero-pagination button{width:25px;border-radius:5px}
.hero-pagination button span{height:2px;width:16px;background:#ffffff80;border-radius:2px;transition:height .3s,background .3s}
.hero-pagination button[aria-current] span{height:4px;background:#ffe599}
.hero-control{width:44px;flex-shrink:0}
.hero-control svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.hero-play .play-glyph{display:none}
.hero-play.is-paused .play-glyph{display:block}
.hero-play.is-paused .pause-glyph{display:none}
@media(max-width:1000px){.hero-gallery .hero-foot{gap:10px}.hero-explore{font-size:.55rem}.hero-pagination button{width:22px}}
@media(max-width:680px){.hero-gallery{height:auto;min-height:calc(100svh - 82px);max-height:none}.hero.hero-gallery .hero-copy{padding-top:70px;padding-bottom:210px}.hero-gallery h1{font-size:clamp(3rem,12vw,4.2rem)}.hero-gallery .hero-foot{inset-inline:24px;bottom:90px}.hero-gallery .hero-explore{display:none}.hero-controls{width:100%;max-width:390px;margin-inline-start:auto;display:grid;grid-template-columns:1fr repeat(3,44px);border-radius:24px;padding:8px 12px;gap:0}.hero-count{grid-column:1;grid-row:1}.hero-pagination{grid-row:2;grid-column:1/-1;justify-content:space-between;padding:0}.hero-pagination button{width:32px}.hero-controls>.hero-control{grid-row:1}.hero-pagination button span{width:24px}.hero-gallery .hero-shade{background:linear-gradient(90deg,rgba(5,28,25,.86),rgba(5,28,25,.55) 72%,rgba(5,28,25,.3)),linear-gradient(0deg,rgba(5,28,25,.7),transparent 40%)}}
@media(prefers-reduced-motion:reduce){.hero-gallery .hero-slide{transition:none;transform:none}.hero-explore span{transition:none}}

/* A little Yellow Bird follows the seven stops on its island flight path. */
.hero-pagination{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:196px;flex-shrink:0;padding:0;gap:0}
.hero-pagination button{position:relative;z-index:1;width:100%;border-radius:9px}
.hero-pagination button span{width:4px;height:4px;background:#f4f0db;border-radius:50%;box-shadow:0 0 0 3px #0d3029;transition:opacity .25s,transform .25s}
.hero-pagination button:hover span{transform:scale(1.5);background:#ffe599}
.hero-pagination button[aria-current] span{width:4px;height:4px;opacity:0}
.hero-flight-path{position:absolute;inset-inline:calc(100% / 14);top:10px;width:calc(100% * 6 / 7);height:24px;overflow:visible;pointer-events:none}
.hero-flight-path path{fill:none;stroke:#f4f0db;stroke-opacity:.38;stroke-width:1;stroke-dasharray:1 4;stroke-linecap:round;vector-effect:non-scaling-stroke}
.hero-flight-bird{--bg:#103329;--flight-index:0;position:absolute;z-index:2;left:calc((100% / 7) * (var(--flight-index) + .5));top:5px;width:34px;height:34px;transform:translateX(-50%);transition:left 1s cubic-bezier(.32,.7,.25,1);pointer-events:none;color:#fff5d1;filter:drop-shadow(0 2px 3px #0006)}
.hero-flight-turn{display:block;width:100%;height:100%;transform:perspective(160px) rotateY(0);transform-style:preserve-3d;transition:transform .65s cubic-bezier(.3,.6,.3,1)}
.hero-flight-bird .bird-to-top__sprite{transform:rotate(-12deg);transition:none;filter:none}
.hero-flight-bird[data-direction=left] .hero-flight-turn{transform:perspective(160px) rotateY(180deg)}
.hero-flight-bird.is-fluttering .bird-wing--front{animation:bird-front-stroke .44s linear 3}
.hero-flight-bird.is-fluttering .bird-wing--rear{animation:bird-rear-stroke .44s linear 3}
.hero-flight-bird.is-fluttering .bird-tail{animation:bird-tailbeat .22s ease-in-out 6 alternate}
@media(max-width:1000px) and (min-width:681px){.hero-pagination{width:175px}}
@media(max-width:680px){.hero-pagination{width:100%;padding:0;gap:0}.hero-pagination button{width:100%}.hero-pagination button span{width:4px}.hero-flight-bird{width:32px;height:32px;top:6px}}
@media(prefers-reduced-motion:reduce){.hero-flight-bird,.hero-flight-bird *{animation:none!important;transition:none!important}.hero-flight-bird .bird-to-top__sprite{transform:rotate(-12deg)!important}.hero-flight-bird[data-direction=left] .hero-flight-turn{transform:perspective(160px) rotateY(180deg)!important}}

.hero-flight-bird.is-fluttering{animation:hero-flight-hop 1s cubic-bezier(.25,.65,.3,1)}
@keyframes hero-flight-hop{0%,100%{transform:translateX(-50%) translateY(0)}45%{transform:translateX(-50%) translateY(-7px)}}

.hero-flight-bird.is-turning .hero-flight-turn{animation:hero-bird-bank .85s cubic-bezier(.32,.65,.3,1) both}
@keyframes hero-bird-bank{0%{transform:perspective(160px) translateY(0) rotateY(180deg) rotateZ(0)}35%{transform:perspective(160px) translateY(-5px) rotateY(125deg) rotateZ(-20deg)}65%{transform:perspective(160px) translateY(-3px) rotateY(40deg) rotateZ(12deg)}100%{transform:perspective(160px) translateY(0) rotateY(0) rotateZ(0)}}
@media(max-width:680px){.hero-controls{grid-template-columns:repeat(3,1fr);justify-items:center}.hero-pagination{grid-row:2;grid-column:1/-1;min-width:0}.hero-controls>.hero-control{grid-row:1}}

/* An invitation from Negril, with the same little bird guiding the photographs. */
.newsletter-is-open{overflow:hidden}
.newsletter-dialog{padding:0;border:1px solid var(--line);border-radius:28px;width:min(940px,calc(100% - 32px));max-width:none;max-height:calc(100svh - 32px);margin:auto;background:var(--bg);color:var(--ink);box-shadow:0 30px 100px #0005;overflow:auto;overscroll-behavior:contain}
.newsletter-dialog::backdrop{background:#071f1b9c;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.newsletter-dialog[open]{animation:newsletter-arrive .5s cubic-bezier(.2,.7,.2,1) both}
.newsletter-frame{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr)}
.newsletter-gallery{position:relative;min-height:610px;overflow:hidden;background:#173e35;color:#fff}
.newsletter-gallery .hero-slides{position:absolute;inset:0;overflow:hidden}
.newsletter-gallery .hero-slide{opacity:0;transform:translateX(5%) scale(1.04);transition:opacity 1.2s ease,transform 2s cubic-bezier(.2,.65,.3,1)}
.newsletter-gallery .hero-slide.is-current{opacity:1;transform:translateX(0) scale(1);z-index:1}
.newsletter-photo-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(0deg,#071f1bcc,transparent 55%),linear-gradient(180deg,#071f1b4d,transparent 30%);pointer-events:none}
.newsletter-photo-note{position:absolute;top:32px;left:28px;z-index:3;font-size:.65rem;letter-spacing:.22em;color:#fff}
.newsletter-gallery .hero-controls{position:absolute;bottom:24px;inset-inline:16px;z-index:3;justify-content:center;padding:5px 7px;gap:2px;width:auto;max-width:none;margin:0}
.newsletter-gallery .hero-pagination{width:min(196px,calc(100% - 134px))}
.newsletter-copy{padding:64px 40px 36px;align-self:center;min-width:0}
.newsletter-copy .eyebrow{font-size:.62rem;letter-spacing:.18em;margin-bottom:18px;color:var(--muted)}
.newsletter-copy h2{font-size:clamp(2.35rem,3.7vw,3.4rem);line-height:1.08;letter-spacing:-.035em;margin:0 0 20px;overflow-wrap:anywhere}
.newsletter-copy>p:not(.eyebrow){font-size:.86rem;color:var(--muted);line-height:1.65}
.newsletter-form{margin-top:24px}
.newsletter-form>label:not(.newsletter-consent){display:block;font-size:.75rem;margin-bottom:8px}
.newsletter-form input[type=email]{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--muted);border-radius:8px;font:inherit;background:var(--surface);color:var(--ink)}
.newsletter-consent{display:flex;gap:10px;align-items:start;min-height:44px;font-size:.72rem;line-height:1.6;margin:16px 0}
.newsletter-consent input{flex-shrink:0;width:19px;height:19px;accent-color:#173e35;margin-top:3px}
.newsletter-submit{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:8px;background:var(--yellow);color:#173e35;min-height:50px;text-align:start}
.newsletter-submit svg,.footer-newsletter-link svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}
.newsletter-submit:disabled{cursor:default;opacity:.65}
.newsletter-status{font-size:.78rem;line-height:1.55;margin:14px 0 0;overflow-wrap:anywhere}
.newsletter-status:empty{display:none}
.newsletter-fineprint{margin:16px 0!important;font-size:.66rem!important}
.newsletter-fineprint a{text-decoration:underline;text-underline-offset:3px}
.newsletter-later{border:0;background:none;color:var(--muted);font:inherit;font-size:.75rem;text-decoration:underline;text-underline-offset:5px;min-height:44px;padding:8px 0;cursor:pointer}
.newsletter-close{position:absolute;top:12px;right:12px;z-index:5;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--bg);color:var(--ink);cursor:pointer}
.newsletter-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.newsletter-dialog :is(button,input,a):focus-visible,.footer-newsletter-link:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.newsletter-gallery button:focus-visible{outline-color:#ffe599}
.footer-newsletter{margin-top:32px;max-width:340px}
.footer-newsletter p{font-size:.75rem;color:var(--muted);margin-bottom:8px}
.footer-newsletter-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:7px 0;background:none;border:0;border-bottom:1px solid var(--muted);font:inherit;font-size:.82rem;color:inherit;cursor:pointer}
.footer-newsletter-link[hidden]{display:none}
.footer-newsletter-link>span{display:inline-block;transition:transform .3s}
.footer-newsletter-link:hover>span{transform:translate(3px,-3px)}
.newsletter-result .button{margin-top:28px}
@keyframes newsletter-arrive{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:760px){.newsletter-frame{grid-template-columns:1fr}.newsletter-gallery{min-height:245px;height:245px}.newsletter-copy{padding:28px}.newsletter-copy h2{font-size:2.4rem}.newsletter-gallery .hero-controls{inset-inline:20px;bottom:18px;max-width:390px;margin:auto}.newsletter-photo-note{top:24px;left:24px}}
@media(max-width:680px){.newsletter-gallery .hero-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px 10px;border-radius:22px}.newsletter-gallery .hero-pagination{width:100%;grid-row:2;grid-column:1/-1}.newsletter-gallery .hero-control{grid-row:1}.newsletter-gallery{height:230px;min-height:230px}.newsletter-dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px);border-radius:24px}.newsletter-copy{padding:28px 24px}.newsletter-copy h2{font-size:2.2rem}}
@media(prefers-reduced-motion:reduce){.newsletter-dialog[open],.newsletter-gallery .hero-slide{animation:none;transition:none;transform:none}.footer-newsletter-link>span{transition:none}}
@media print{.newsletter-dialog,.footer-newsletter{display:none!important}}

.newsletter-form.is-saved>label,.newsletter-form.is-saved>input,.newsletter-form.is-saved>.newsletter-submit{display:none}.newsletter-form.is-saved .newsletter-status{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}

.newsletter-submit{border:1px solid transparent;box-shadow:none}.newsletter-submit:hover{background:#ffe599}.newsletter-dialog .newsletter-copy h2:focus{outline:none}

.newsletter-photo-note{background:rgba(6,29,26,.82);border:1px solid #ffffff30;border-radius:999px;padding:7px 11px;max-width:calc(100% - 56px)}

/* A compact invitation; retain overflow only as an accessibility fallback. */
.newsletter-gallery{min-height:0}
.newsletter-copy{padding:40px 32px 24px}
.newsletter-copy .eyebrow{margin-bottom:10px}
.newsletter-copy h2{font-size:clamp(2rem,3vw,2.6rem);margin-bottom:12px}
.newsletter-copy>p:not(.eyebrow){line-height:1.5}
.newsletter-form{margin-top:16px}
.newsletter-names{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
.newsletter-names label{font-size:.72rem;line-height:1.4;min-width:0}
.newsletter-optional{color:var(--muted);font-size:.65rem}
.newsletter-names input{display:block;width:100%;min-height:44px;margin-top:6px;padding:8px 10px;border:1px solid var(--muted);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:.85rem}
.newsletter-form input[type=email]{min-height:44px;padding:8px 12px}
.newsletter-consent{margin:12px 0;line-height:1.45}
.newsletter-submit{min-height:44px;padding:12px 18px}
.newsletter-fineprint{margin:12px 0 4px!important;line-height:1.5!important}
.newsletter-later{min-height:32px;padding:4px 0}
.newsletter-form.is-saved .newsletter-names{display:none}
@media(min-width:761px) and (max-height:760px){.newsletter-copy{padding:24px 30px 18px}.newsletter-copy h2{font-size:2.1rem}.newsletter-copy .eyebrow{margin-bottom:8px}.newsletter-copy>p:not(.eyebrow){font-size:.8rem}.newsletter-form{margin-top:12px}.newsletter-consent{margin:10px 0}.newsletter-fineprint{margin:8px 0 2px!important}}
@media(max-width:760px){.newsletter-dialog{width:min(500px,calc(100% - 24px))}.newsletter-gallery{height:120px;min-height:120px}.newsletter-copy{padding:18px 20px 12px}.newsletter-copy .eyebrow{margin-bottom:6px;font-size:.57rem}.newsletter-copy h2{font-size:1.8rem;line-height:1.05;margin-bottom:8px}.newsletter-copy>p:not(.eyebrow){font-size:.78rem;line-height:1.45}.newsletter-form{margin-top:12px}.newsletter-names{gap:10px;margin-bottom:10px}.newsletter-names label{font-size:.69rem}.newsletter-optional{font-size:.62rem}.newsletter-form>label:not(.newsletter-consent){font-size:.72rem;margin-bottom:5px}.newsletter-consent{font-size:.69rem;margin:10px 0}.newsletter-fineprint{font-size:.62rem!important;margin:9px 0 3px!important}.newsletter-later{font-size:.7rem}.newsletter-close{top:8px;right:8px;width:40px;height:40px}.newsletter-photo-note{top:12px;left:14px;font-size:.5rem;padding:5px 9px}.newsletter-gallery .hero-controls{display:flex;inset-inline:12px;bottom:10px;gap:6px;padding:4px 8px;border-radius:999px;justify-content:center}.newsletter-gallery .hero-pagination{flex:1;width:auto;min-width:168px}.newsletter-gallery :is([data-hero-previous],[data-hero-next]){display:none}.newsletter-gallery .hero-play{width:36px;min-height:44px}}
@media(max-width:360px){.newsletter-copy{padding:14px 18px 10px}.newsletter-copy h2{font-size:1.65rem}.newsletter-copy>p:not(.eyebrow){font-size:.75rem}.newsletter-gallery{height:112px;min-height:112px}}

/* Reference composition: immersive photography left, a generous form panel right. */
@media(min-width:761px){.newsletter-dialog{width:min(1100px,calc(100% - 40px))}.newsletter-frame{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);min-height:min(640px,calc(100svh - 48px))}.newsletter-gallery{height:auto;align-self:stretch}.newsletter-copy{padding:42px 36px 28px}.newsletter-copy h2{font-size:2.5rem;max-width:16ch;margin-bottom:18px}.newsletter-copy .eyebrow{margin-bottom:14px}.newsletter-copy>p:not(.eyebrow){font-size:.87rem}.newsletter-form{margin-top:20px}.newsletter-names{gap:16px;margin-bottom:14px}.newsletter-form>label:not(.newsletter-consent),.newsletter-names label{font-size:.75rem}.newsletter-form input[type=email],.newsletter-names input{min-height:48px}.newsletter-submit{min-height:48px}.newsletter-gallery .hero-controls{inset-inline:28px;bottom:26px}.newsletter-photo-note{display:none}}
.newsletter-photo-shade{background:linear-gradient(0deg,#071f1bf5,#071f1bad 42%,transparent 80%)}
.newsletter-scene-caption{position:absolute;z-index:3;inset-inline:32px;bottom:124px;color:#fff;text-shadow:0 2px 10px #0004}
.newsletter-scene-caption .newsletter-scene-title{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.12;letter-spacing:-.025em;max-width:16ch;margin:0 0 16px}
.newsletter-scene-caption>p:last-child{font-size:.8rem;line-height:1.5;margin:0;color:#fff}
@media(min-width:761px) and (max-height:760px){.newsletter-copy{padding:30px 32px 20px}.newsletter-copy h2{font-size:2.25rem;margin-bottom:12px}.newsletter-copy .eyebrow{margin-bottom:10px}.newsletter-form{margin-top:14px}.newsletter-consent{margin:10px 0}.newsletter-scene-caption{bottom:112px}}
@media(max-width:760px){.newsletter-scene-caption{display:none}.newsletter-photo-note{display:inline}.newsletter-frame{min-height:0}}

.newsletter-names input{font-size:1rem}
/* Keep the small newsletter invitation readable on the light footer surface. */
.footer-newsletter p{color:var(--ink)}
