@font-face{font-family:Bodoni;src:url('./assets/fonts/display.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Bodoni;src:url('./assets/fonts/display-italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Great Vibes';src:url('./assets/fonts/great-vibes.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('./assets/fonts/body.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('./assets/fonts/body-medium.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--blue:#274a87;--blue-deep:#101d3a;--paper:#f2f0e8;--ink:#1c3157;--sand:#d7c5a3;--muted:#57667e;--line:#cbd3df;--display:Bodoni,Georgia,serif;--body:Manrope,Arial,sans-serif;--gutter:clamp(24px,5vw,88px);font-family:var(--body);color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:100px}body{margin:0}body.menu-open,body.gallery-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}img{display:block;width:100%;height:100%;object-fit:cover}figure,p,h1,h2,h3,dl,dd{margin:0}ul{padding:0;list-style:none}button svg,a svg{width:21px;height:21px;flex-shrink:0;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:7px}::selection{background:var(--blue);color:var(--paper)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:#758bb1;border:2px solid var(--paper);border-radius:8px}h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:-.035em;text-wrap:balance}h2{font-size:clamp(42px,5vw,76px);line-height:1.08}h2 em{font-weight:400}h3{font-size:32px;line-height:1.12}p{line-height:1.8}button{background:none}.section-pad{padding:110px var(--gutter)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:56px}.section-heading>p{max-width:365px;font-size:14px}.text-link{display:inline-flex;align-items:center;gap:28px;font-size:13px;font-weight:600;padding-bottom:10px;border-bottom:1px solid currentColor;line-height:1.5}.text-link svg,.header-book svg,.button svg{transition:transform .3s ease}.text-link:hover svg,.header-book:hover svg,.button:hover svg{transform:translate(3px,-3px)}.skip-link{position:fixed;z-index:1000;left:20px;top:20px;background:var(--paper);color:var(--blue);padding:15px;transform:translateY(-200%)}.skip-link:focus{transform:none}

.site-header{position:absolute;inset:0 0 auto;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:28px;height:108px;padding:0 var(--gutter);color:var(--paper);transition:background .3s,box-shadow .3s}.js .site-header{position:fixed}.site-header.is-scrolled{height:80px;background:var(--blue-deep);box-shadow:0 6px 24px #101d3a14}.brand{display:inline-flex;align-items:center;gap:11px;flex-shrink:0}.brand>svg{height:38px;width:29px;stroke-width:1.2}.brand>span{font-family:var(--display);font-size:21px;letter-spacing:.02em;line-height:1.1}.brand small{display:block;font-family:var(--body);font-size:11px;letter-spacing:.21em;margin-top:7px}.desktop-nav{display:flex;gap:29px;margin-left:auto;margin-right:auto}.desktop-nav a{font-size:12px;position:relative;padding:10px 0}.desktop-nav a::after{content:'';position:absolute;left:0;bottom:3px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav a:hover::after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:25px}.languages{display:flex;gap:9px;font-size:11px;align-items:center;letter-spacing:.06em}.languages a{padding:8px 0;opacity:.65}.languages a[aria-current]{opacity:1;border-bottom:1px solid currentColor}.languages span{opacity:.4}.header-book{display:flex;gap:25px;align-items:center;padding:13px 20px;border:1px solid #eee8dc88;font-size:11px;white-space:nowrap;transition:background .3s}.header-book:hover{background:#fff2}.header-book svg{width:15px;height:15px}.menu-toggle{display:none}.mobile-menu[hidden]{display:none}.mobile-book{display:none}

.cinema{height:100svh;min-height:680px;background:var(--blue-deep);color:var(--paper)}.motion-enabled .cinema{height:225svh}.cinema-stage{position:relative;isolation:isolate;height:100svh;min-height:680px;overflow:hidden}.motion-enabled .cinema-stage{position:sticky;top:0}.scene{position:absolute;inset:0;overflow:hidden;z-index:-2}.scene-image{object-position:50% 43%}.scene-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,29,58,.49) 0%,rgba(16,29,58,.1) 24%,rgba(16,29,58,.13) 45%,rgba(16,29,58,.67) 100%)}.scene-second{opacity:0}.scene-second .scene-shade{background:linear-gradient(180deg,#14264755,#14264722 35%,#142647b3)}.hero-center{position:absolute;inset:27% 0 auto;text-align:center;z-index:1;padding:0 20px;text-shadow:0 4px 34px #101d3a33}.hero-center h1{font-size:clamp(90px,14vw,224px);line-height:1.03;letter-spacing:-.04em}.hero-center>p{font-size:clamp(17px,1.85vw,28px);font-family:var(--display);margin-top:8px;letter-spacing:.015em}.hero-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:70px;display:flex;justify-content:space-between;align-items:end;gap:30px}.hero-promise{font-family:var(--display);font-size:clamp(23px,2.5vw,36px);line-height:1.35;max-width:520px}.hero-facts{font-size:11px;letter-spacing:.025em;margin-top:16px}.discover-link{display:flex;align-items:center;gap:22px;font-size:11px;white-space:nowrap}.circle-arrow{width:50px;height:50px;border:1px solid #fff7;border-radius:50%;display:grid;place-items:center;transition:background .3s}.circle-arrow svg{transform:rotate(90deg)}.discover-link:hover .circle-arrow{background:#fff2}.cinema-rail{position:absolute;bottom:0;left:0;right:0;height:2px;background:#ffffff25}.cinema-rail>span{display:block;height:100%;background:var(--paper);transform:scaleX(0);transform-origin:left}.scene-copy{position:absolute;inset:32% var(--gutter) auto;opacity:0;pointer-events:none;text-align:center}.scene-copy>p{font-family:var(--display);font-size:clamp(44px,6.3vw,94px);line-height:1.1;letter-spacing:-.035em}.scene-copy>span{display:block;margin-top:28px;font-size:14px}

.intro{padding-top:110px;padding-bottom:110px}.intro-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:72px}.intro-top h2{font-size:clamp(46px,6.2vw,90px)}.place-note{font-size:11px;color:var(--muted);white-space:nowrap;border-bottom:1px solid var(--line);padding:10px 0}.intro-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:11%;align-items:center}.intro-photo{aspect-ratio:1.1;position:relative}.intro-photo img{object-position:50% 55%}.photo-footnote{display:block;margin-top:12px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.intro-copy h3{font-size:clamp(32px,3.3vw,48px);line-height:1.16;margin-bottom:25px}.intro-copy>p{font-size:14px;color:var(--muted);max-width:420px}.house-facts{margin:26px 0 32px;border-top:1px solid var(--line);max-width:420px}.house-facts li{font-size:11px;padding:13px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.house-facts li::before{content:'';height:4px;width:4px;border-radius:50%;background:var(--blue)}

.spaces{background:var(--blue);color:var(--paper)}.spaces .section-heading>p{color:#d5deee}.spaces-grid{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:30px}.photo-button{display:block;position:relative;overflow:hidden;width:100%;padding:0;isolation:isolate;background:#274a87}.photo-button img{transition:transform .8s cubic-bezier(.16,1,.3,1)}.photo-button:hover img{transform:scale(1.045)}.photo-expand{position:absolute;right:15px;bottom:15px;width:34px;height:34px;display:grid;place-items:center;background:#f2f0e8ed;color:var(--blue);border-radius:50%;transition:transform .3s;opacity:0}.photo-button:hover .photo-expand,.photo-button:focus-visible .photo-expand{opacity:1;transform:translateY(-3px)}.photo-expand svg{width:16px}.space-0 .photo-button{aspect-ratio:.77}.space-1{padding-top:100px}.space-1 .photo-button{aspect-ratio:.95}.space-2{padding-top:45px}.space-2 .photo-button{aspect-ratio:.77}.space-caption{padding-top:23px}.space-caption h3{font-size:29px;margin-bottom:12px}.space-caption p{color:#d5deee;font-size:12px;max-width:300px;line-height:1.8}

.rooms{background:#e7edf6}.rooms .section-heading>p{color:#536680}.rooms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-bottom:38px}.room .photo-button{aspect-ratio:1.2}.room h3{font-size:28px;margin-top:22px}.room>p{font-size:12px;color:var(--muted);margin-top:10px;max-width:300px}.room .photo-expand{opacity:1}

.pool{display:grid;grid-template-columns:1.3fr 1fr;min-height:730px;background:#dce5f3}.pool-image{overflow:hidden;min-height:620px}.pool-image img{object-position:55% 50%}.pool-content{padding:90px 12%;display:flex;align-items:start;justify-content:center;flex-direction:column}.pool-content h2{font-size:clamp(55px,5.4vw,84px)}.pool-content>p{margin:32px 0;font-size:13px;max-width:320px}.pool-note{padding:12px 0;border-top:1px solid #274a8755;border-bottom:1px solid #274a8755;font-size:11px;letter-spacing:.015em;max-width:100%}

.moments .section-heading>p{color:var(--muted)}.moments-grid{display:grid;grid-template-columns:1.05fr .7fr 1fr;gap:36px;align-items:start}.moment .photo-button{aspect-ratio:.83}.moment figcaption{margin-top:15px;font-size:11px}.moment-0{grid-row:1 / span 2}.moment-0 .photo-button{aspect-ratio:.72}.moment-1{margin-top:65px}.moment-1 .photo-button{aspect-ratio:1}.moment-2{grid-column:3;grid-row:1 / span 2}.moment-2 .photo-button{aspect-ratio:.7}.moment-3{grid-column:2}.moment-3 .photo-button{aspect-ratio:.83}

.stay{background:#e7edf6;display:grid;grid-template-columns:1fr 1fr;gap:12%}.stay-heading>p{margin:28px 0;font-size:14px;color:var(--muted);max-width:360px}.practical>div{padding:23px 0;border-bottom:1px solid #bdcadd}.practical>div:first-child{padding-top:0}.practical dt{font-family:var(--display);font-size:26px;margin-bottom:9px}.practical dd{font-size:12px;line-height:1.8;max-width:370px;color:var(--muted)}

.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;padding-top:90px;padding-bottom:100px}.faq h2{font-size:clamp(38px,4vw,56px)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{padding:25px 0;list-style:none;font-size:13px;display:flex;justify-content:space-between;gap:20px;align-items:center;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list details:first-child summary{padding-top:4px}.faq-list details p{font-size:12px;color:var(--muted);max-width:510px;padding:0 30px 25px 0}.plus{width:13px;height:13px;position:relative;flex-shrink:0}.plus::before,.plus::after{content:'';background:currentColor;position:absolute}.plus::before{height:1px;width:13px;top:6px}.plus::after{width:1px;height:13px;left:6px;transition:transform .25s}details[open] .plus::after{transform:rotate(90deg)}

.reservation{position:relative;min-height:720px;padding:120px var(--gutter);display:grid;place-items:center;color:var(--paper);isolation:isolate;background:var(--blue-deep);text-align:center}.reservation-image{position:absolute;inset:0;z-index:-2;overflow:hidden}.reservation-image::after{content:'';position:absolute;inset:0;background:#101d3ace}.reservation-image img{object-position:center 60%}.reservation h2{font-size:clamp(45px,5.3vw,79px)}.reservation-copy>p{margin:30px 0;font-size:14px;color:#e1e8f3}.booking-buttons{display:flex;gap:15px;justify-content:center;margin:35px 0 25px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:20px 27px;font-size:12px;font-weight:600;min-height:60px;transition:background .25s}.button svg{width:18px;height:18px}.button-light{color:var(--blue);background:var(--paper)}.button-light:hover{background:#fff}.button-outline{border:1px solid #efeee899}.button-outline:hover{background:#ffffff1a}.reservation small{font-size:11px;line-height:1.8;display:block;color:#d0daed}

.site-footer{background:var(--blue-deep);color:var(--paper);padding:65px var(--gutter) 28px}.footer-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:65px}.footer-brand{font-family:var(--display);font-size:56px;letter-spacing:-.04em;line-height:1.2}.footer-top p{font-size:11px;color:#becbe1;margin-top:13px}.footer-contact{align-self:center}.footer-contact p{margin:0 0 14px}.footer-contact .text-link{font-size:11px;font-weight:400}.footer-bottom{border-top:1px solid #becbe133;padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:11px;color:#bdcbe1}.footer-bottom nav{display:flex;gap:25px}.footer-bottom a{padding:4px 0}

.lightbox{border:0;padding:24px 30px;background:#142647;color:var(--paper);width:100vw;max-width:none;height:100dvh;max-height:none;position:fixed;inset:0;margin:0}.lightbox::backdrop{background:#101d3aeb}.lightbox[open]{display:flex;flex-direction:column}.lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.lightbox-bar p{font-size:14px}.lightbox-close,.lightbox-prev,.lightbox-next{display:grid;place-items:center;color:var(--paper);height:48px;width:48px;flex-shrink:0;border:1px solid #ffffff44}.lightbox-close svg{fill:none}.lightbox-body{display:flex;align-items:center;gap:25px;flex:1;min-height:0;justify-content:center}.lightbox-body>img{object-fit:contain;width:calc(100% - 146px);height:100%;max-height:calc(100dvh - 150px)}.lightbox-prev svg{transform:rotate(180deg)}.lightbox-count{text-align:center;font-size:11px;line-height:1;margin-top:24px}

@media(min-width:1600px){.section-pad{padding-top:135px;padding-bottom:135px}.intro-copy>p{font-size:16px}.section-heading>p{font-size:16px}.space-caption p,.room>p{font-size:14px}}
@media(max-width:1100px){.desktop-nav{gap:17px}.desktop-nav a{font-size:11px}.header-actions{gap:18px}.site-header{gap:20px}.brand>span{font-size:18px}.brand>svg{height:31px;width:24px}.header-book{gap:14px;padding:12px 15px}.section-pad{padding-top:80px;padding-bottom:80px}.intro-layout{gap:7%}.section-heading{gap:35px}.section-heading>p{max-width:290px}.spaces-grid{gap:22px}.pool{min-height:630px}.pool-image{min-height:550px}.pool-content{padding:70px 10%}.moment-1{margin-top:30px}.moments-grid{gap:22px}.reservation{min-height:650px}}
@media(max-width:900px){.desktop-nav{display:none}.site-header{height:90px}.header-actions{margin-left:auto}.menu-toggle{display:flex;width:28px;height:32px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:0}.menu-toggle>span{height:1px;background:currentColor;width:25px;transition:transform .2s}.menu-toggle[aria-expanded="true"]>span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"]>span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu{position:fixed;z-index:35;inset:0;background:var(--blue-deep);color:var(--paper);padding:150px var(--gutter) 70px;display:flex;flex-direction:column;gap:28px}.mobile-menu>a{font-family:var(--display);font-size:44px}.menu-open .site-header{background:var(--blue-deep)}.spaces-grid{gap:20px}.space-1{padding-top:70px}.space-caption h3{font-size:25px}.section-heading{align-items:flex-start}.rooms .section-heading{display:block}.rooms .section-heading>p{max-width:530px;margin-top:25px}.room h3{font-size:25px}.pool-content{padding:60px 9%}.pool-content h2{font-size:55px}.faq{gap:7%}}
@media(max-width:640px){:root{--gutter:24px}html{scroll-padding-top:92px}h2{font-size:42px;line-height:1.1}.section-pad{padding:68px var(--gutter)}.site-header{height:86px;gap:12px}.site-header.is-scrolled{height:74px}.brand>span{font-size:18px}.brand small{font-size:11px;margin-top:5px;letter-spacing:.19em}.brand>svg{width:22px;height:32px}.brand{gap:8px}.header-actions{gap:20px}.languages{gap:7px;font-size:11px}.header-book{display:none}.menu-toggle{width:24px}.menu-toggle>span{width:22px}.cinema,.cinema-stage{height:100svh;min-height:620px}.motion-enabled .cinema{height:175svh}.hero-center{top:32%;padding:0 8px}.hero-center h1{font-size:clamp(74px,19.8vw,127px);letter-spacing:-.04em}.hero-center>p{font-size:20px;margin-top:12px}.scene-first .scene-image{object-position:51% center}.hero-bottom{bottom:100px;display:block}.hero-promise{font-size:25px;max-width:300px}.hero-facts{font-size:11px;margin-top:14px;line-height:1.8}.discover-link{margin-top:25px;justify-content:space-between;font-size:11px}.circle-arrow{width:39px;height:39px}.circle-arrow svg{width:17px}.scene-shade{background:linear-gradient(180deg,#101d3a80,#101d3a20 28%,#101d3a20 43%,#101d3ac9)}.scene-copy{top:32%}.scene-copy>p{font-size:45px}.scene-copy>span{font-size:12px;line-height:1.8;max-width:280px;margin:22px auto 0}.intro-top{display:block;margin-bottom:35px}.intro-top h2{font-size:46px;max-width:300px}.place-note{display:inline-block;margin-top:16px;font-size:11px}.intro-layout{grid-template-columns:1fr;gap:55px}.intro-photo{aspect-ratio:1.04}.intro-copy h3{font-size:37px}.intro-copy>p{font-size:13px}.house-facts{margin-top:23px}.house-facts li{font-size:11px}.text-link{font-size:12px;gap:20px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:24px;max-width:330px;font-size:13px}.spaces-grid{grid-template-columns:1fr;gap:45px}.space-1,.space-2{padding:0}.space-0 .photo-button{aspect-ratio:.95}.space-1 .photo-button{aspect-ratio:1.22}.space-2 .photo-button{aspect-ratio:1.05}.space-caption{padding-top:19px}.space-caption h3{font-size:30px}.space-caption p{font-size:12px;max-width:310px}.photo-expand{opacity:1;right:12px;bottom:12px}.rooms-grid{grid-template-columns:1fr;gap:34px}.room .photo-button{aspect-ratio:1.28}.room h3{font-size:29px;margin-top:18px}.room>p{font-size:12px;max-width:100%}.rooms .section-heading>p{font-size:13px}.rooms>.text-link{font-size:11px;gap:15px}.pool{display:flex;flex-direction:column;min-height:0}.pool-image{height:380px;min-height:0}.pool-content{padding:53px var(--gutter) 62px}.pool-content h2{font-size:59px}.pool-content h2 br:first-child{display:none}.pool-content h2 br:first-child::after{content:' '}.pool-content>p{max-width:320px;font-size:13px;margin:25px 0}.pool-note{font-size:11px}.moments-grid{grid-template-columns:1fr 1fr;gap:30px 15px}.moment-0{grid-row:auto}.moment-1{margin-top:40px}.moment-2{grid-column:1;grid-row:auto}.moment-3{grid-column:2;margin-top:35px}.moment-0 .photo-button,.moment-2 .photo-button{aspect-ratio:.74}.moment-1 .photo-button,.moment-3 .photo-button{aspect-ratio:.82}.moment figcaption{font-size:11px;line-height:1.5;margin-top:12px}.moment .photo-expand{width:28px;height:28px;right:8px;bottom:8px}.stay{display:block}.stay-heading>p{font-size:13px}.practical{margin-top:45px}.practical dt{font-size:25px}.practical dd{font-size:12px}.faq{display:block}.faq h2{font-size:38px;max-width:270px;margin-bottom:38px}.faq-list summary{font-size:12px;line-height:1.6;padding:22px 0}.faq-list details p{font-size:12px}.reservation{min-height:630px;padding:85px var(--gutter)}.reservation h2{font-size:44px}.reservation-copy>p{font-size:13px;line-height:1.9;margin:27px 0}.booking-buttons{flex-direction:column;gap:12px;max-width:320px;margin:30px auto 22px}.button{font-size:12px;padding:18px 24px;min-height:56px}.reservation small{font-size:11px;max-width:290px;margin:auto}.site-footer{padding:50px var(--gutter) 100px}.footer-top{display:block;padding-bottom:40px}.footer-brand{font-size:49px}.footer-contact{margin-top:34px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:17px;font-size:11px}.footer-bottom>span:nth-child(2){display:none}.mobile-book{position:fixed;z-index:30;bottom:18px;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;padding:16px 21px;background:var(--paper);color:var(--blue);box-shadow:0 6px 25px #101d3a30;font-size:12px;font-weight:600;transition:transform .25s,opacity .25s}.mobile-book.is-hidden{transform:translateY(100px);opacity:0;pointer-events:none}.mobile-book svg{width:18px;height:18px}.menu-open .mobile-book,.gallery-open .mobile-book{display:none}.lightbox{padding:18px 14px}.lightbox-bar p{font-size:12px}.lightbox-close{height:40px;width:40px}.lightbox-body{position:relative;display:block;align-content:center}.lightbox-body>img{width:100%;height:auto;max-height:calc(100dvh - 180px);object-fit:contain}.lightbox-prev,.lightbox-next{position:absolute;bottom:0;width:42px;height:42px;background:var(--blue-deep)}.lightbox-prev{left:calc(50% - 51px)}.lightbox-next{right:calc(50% - 51px)}.lightbox-count{margin-top:20px}.photo-button img{transition:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-enabled .cinema{height:100svh}.cinema-stage{position:relative!important}.scene-second,.scene-copy,.cinema-rail{display:none}.scene-first,.hero-center,.hero-bottom{opacity:1!important;transform:none!important}}

@media(max-width:640px){.intro-copy>p,.section-heading>p,.space-caption p,.room>p,.pool-content>p,.stay-heading>p,.practical dd,.faq-list details p{font-size:14px}.hero-facts{max-width:320px}.brand small{font-size:9px;letter-spacing:.09em}.hero-center>p{text-shadow:0 2px 12px #101d3acc}.house-facts li{font-size:12px}.languages a{min-width:24px;text-align:center;padding:12px 0}}
