:root{font-family:Manrope,Arial,sans-serif;font-size:16px;--paper:#f8f3ed;--ink:#102e30;--muted:#6c7673;--mint:#2ed2c3;--line:#deded5;--dark:#112c2b;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;background:var(--paper);color:var(--ink);line-height:1.5}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.07;letter-spacing:-.045em}h2{font-size:clamp(2.25rem,3.1vw,3.25rem);font-weight:650}h3{font-size:1.5rem;font-weight:650}em{font-style:normal;color:#19b8aa}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer;border:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #16a698;outline-offset:5px}img{max-width:100%;display:block}svg{width:1.5rem;height:1.5rem;vertical-align:middle;flex:none}.container{max-width:1440px;--bs-gutter-x:5rem}.section{padding-block:5rem}.eyebrow{display:flex;align-items:center;gap:1.25rem;letter-spacing:.22em;font-size:.6875rem;line-height:1.6;font-weight:750;margin-bottom:1.25rem}.eyebrow:before{content:'';width:1.75rem;height:2px;background:#29c7b8;flex:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.75rem;border-radius:3rem;min-height:3.5rem;padding:1rem 1.75rem;font-size:.9375rem;font-weight:700;line-height:1.3;transition:transform .2s,background .2s,box-shadow .2s}.button svg{width:1.25rem;height:1.25rem}.mint{background:var(--mint);color:#082a2c}.mint:hover{background:#51dfd0;box-shadow:0 .5rem 1.5rem #0c7e6820;transform:translateY(-2px)}.white{background:#faf6f0;color:#152b2b}.white:hover{background:#fff;transform:translateY(-2px)}.brand{font-size:2.35rem;letter-spacing:-.065em;font-weight:800;color:transparent;-webkit-text-stroke:1.5px #35dfd0;line-height:1;display:inline-block;flex:none}.brand>span{display:block;color:#a5c6c0;-webkit-text-stroke:0;letter-spacing:.16em;font-size:.52rem;font-weight:600;text-transform:uppercase;text-align:center;margin-top:.6rem}.site-header{position:absolute;inset:0 0 auto;z-index:5;color:#f8f5ef}.header-inner{display:flex;align-items:center;gap:1.5rem;min-height:6.5rem}.brand-caption{font-size:.625rem;border-left:1px solid #fff5;padding-left:1.25rem;line-height:1.5;color:#d4dfda}.site-header nav{display:flex;align-items:center;gap:2rem;margin:auto;font-size:.8125rem;font-weight:550}.site-header nav a:hover{color:var(--mint)}.header-book{min-height:2.75rem;font-size:.8125rem;padding:.75rem 1.25rem;gap:.75rem}.menu-toggle{display:none;place-items:center;width:2.75rem;height:2.75rem;border:1px solid #fff5;background:#16302e99;border-radius:50%;color:#fff}.hero{position:relative;isolation:isolate;min-height:43rem;color:#f8f6f1;overflow:clip;background:#102625}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 54%;z-index:-2}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#102b2cf5 0%,#10292ade 25%,#112b2b77 43%,transparent 70%),linear-gradient(#09191b80,transparent 30%);z-index:-1}.hero-content{padding-top:10rem;padding-bottom:5.5rem}.hero h1{font-size:clamp(3.5rem,4.5vw,4.75rem);font-weight:650;line-height:1.04;max-width:48rem}.hero h1 em{color:#3bd6c6}.hero .eyebrow{font-size:.6875rem}.hero-copy{font-size:1.0625rem;line-height:1.5;color:#e4ebe5;margin-top:1.5rem}.hero-actions{display:flex;gap:2rem;align-items:center;margin-top:2rem}.tour-button{display:flex;align-items:center;gap:1rem;background:none;color:#f5f5ed;text-align:left;font-size:.875rem;line-height:1.5;padding:0}.tour-button>span{display:grid;place-items:center;width:3.5rem;height:3.5rem;border:1px solid #e8f6ebbd;border-radius:50%;transition:background .2s}.tour-button:hover>span{background:#fff2}.hero-bottom{display:flex;gap:2rem;font-size:.6875rem;color:#c2d0c8;margin-top:2.75rem}.hero-bottom>span{display:flex;gap:.5rem;align-items:center}.hero-bottom svg{width:1rem;height:1rem}.wave{position:absolute;bottom:-1px;left:0;width:100%;height:3rem;fill:var(--paper)}.rooms{padding-top:3.5rem;padding-bottom:2rem}.rooms-layout{display:grid;grid-template-columns:1.05fr 3.4fr;gap:2.5rem}.rooms-intro p:not(.eyebrow){font-size:1rem;line-height:1.5;margin-top:1.25rem;color:#415353}.rooms-intro h2{white-space:nowrap}.round-controls{display:flex;gap:.75rem}.round-controls button{display:grid;place-items:center;background:transparent;border:1px solid #aab7b0;border-radius:50%;width:2.75rem;height:2.75rem;transition:background .2s,transform .2s}.round-controls button:hover{background:#fff;transform:translateY(-2px)}.round-controls svg{width:1.1rem;height:1.1rem}.rooms-intro .round-controls{margin-top:1.5rem}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.room-card{position:relative;isolation:isolate;overflow:clip;border-radius:1.75rem;min-height:20rem;background:#1b2c25;text-align:left;color:#fff;padding:0;transition:transform .3s}.room-card:hover{transform:translateY(-5px)}.room-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s}.room-card:hover>img{transform:scale(1.04)}.room-card:after{content:'';position:absolute;inset:20% 0 0;background:linear-gradient(transparent,#0b1916ec);z-index:-1}.capacity{position:absolute;left:1.5rem;top:1.5rem;padding:.4rem .9rem;background:#faf7f0;color:#1a302c;border-radius:2rem;font-size:.6875rem;font-weight:650;line-height:1.3}.room-card-copy{position:absolute;left:1.5rem;right:1.5rem;bottom:1.5rem}.room-number{font-size:.55rem;letter-spacing:.17em;color:#cadbd0}.room-card h3{font-size:1.75rem;margin-top:.5rem}.room-card p{font-size:.8125rem;line-height:1.4;max-width:17ch;margin-top:.5rem;color:#e0e6df}.circle{display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid #e9f3e4cc;border-radius:50%;position:absolute;right:0;bottom:0}.circle svg{width:1.1rem;height:1.1rem}.amenities{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:2.5rem;border-radius:1.5rem;padding:2rem 1.75rem;color:#fff;background:radial-gradient(ellipse at left top,#3c615b77,transparent 60%),linear-gradient(110deg,#102d2c,#223b36);box-shadow:inset 0 1px #ffffff18}.amenities>div{display:flex;gap:1.25rem;align-items:flex-start;padding-inline:1.5rem;border-right:1px solid #bdc9b933}.amenities>div:first-child{padding-left:0}.amenities>div:last-child{padding-right:0;border:0}.amenities>div>svg{width:2.25rem;height:2.25rem;margin-top:.25rem;color:#e6f2e8}.amenities b{font-size:.9375rem;font-weight:650;white-space:nowrap}.amenities small{display:block;font-size:.6875rem;line-height:1.5;color:#d8e0d5;margin-top:.35rem}.gallery-booking{padding-top:1rem;padding-bottom:5.5rem}.gallery-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.mosaic{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:1fr 1fr;gap:.75rem;height:22rem}.mosaic>button{border-radius:1.5rem;overflow:hidden;position:relative;isolation:isolate;padding:0;background:#1c3331}.mosaic>button>img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.mosaic>button:hover>img{transform:scale(1.045)}.mosaic-main{grid-row:1/-1}.mosaic-main:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#102624bd);z-index:0}.mosaic-main>span{position:absolute;left:1.5rem;right:1.5rem;bottom:1.5rem;color:#fff;display:flex;align-items:center;gap:1rem;z-index:1;text-align:left;font-size:.875rem;font-weight:600}.mosaic-main>span>svg:first-child{width:2.75rem;height:2.75rem;border:1px solid #fffb;border-radius:50%;padding:.55rem}.mosaic-main>span>svg:last-child{margin-left:auto;width:1rem;height:1rem}.mosaic-main small{font-size:.625rem;display:block;font-weight:400;margin-top:.2rem}.booking-banner{position:relative;isolation:isolate;overflow:clip;border:1px solid #e8e3da;border-radius:1.75rem;min-height:22rem}.booking-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.booking-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f8f3edf5,#f8f3edb8 50%,transparent 85%);z-index:-1}.booking-banner>div{padding:2.5rem 2.75rem}.booking-banner .eyebrow{font-size:.625rem;margin-bottom:1rem}.booking-banner h2{font-size:2.25rem;max-width:20ch}.booking-banner p:not(.eyebrow){font-size:.875rem;line-height:1.5;margin-top:1rem}.booking-banner .button{margin-top:1.5rem;min-height:3rem;font-size:.875rem}.section-heading{display:flex;justify-content:space-between;gap:3rem;align-items:end;margin-bottom:2.5rem}.section-heading>p{color:var(--muted);font-size:1rem;line-height:1.7;max-width:31ch}.experience{padding-top:2rem;padding-bottom:6rem}.experience-tabs{display:flex;gap:.75rem;margin-bottom:1.75rem}.experience-tabs button{display:flex;align-items:center;justify-content:center;gap:.75rem;min-height:3rem;padding:.75rem 1.5rem;border:1px solid #ced5cb;border-radius:3rem;background:transparent;font-size:.875rem;transition:background .2s}.experience-tabs svg{width:1.15rem;height:1.15rem}.experience-tabs [aria-selected=true]{background:#163734;color:#fff;border-color:#163734}.experience-tabs button:not([aria-selected=true]):hover{background:#e9eee5}.experience-panel{display:grid;grid-template-columns:1.3fr 1fr;gap:0;border:1px solid #e4ded4;border-radius:1.75rem;overflow:clip;background:#f2eee5}.experience-image{position:relative;min-height:29rem}.experience-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.image-caption{position:absolute;left:2rem;bottom:1.75rem;letter-spacing:.16em;font-size:.6rem;font-weight:650;color:#fff;background:#17332cb8;border-radius:2rem;padding:.5rem 1rem;backdrop-filter:blur(10px)}.experience-copy{padding:3.5rem;align-self:center}.chapter{font-size:.625rem;color:#85948c;letter-spacing:.2em;font-weight:650}.experience-copy h3{font-size:2.25rem;margin-top:1.25rem}.experience-copy>p{font-size:1rem;line-height:1.7;color:#64716a;margin-top:1.5rem}.experience-copy ul{list-style:none;padding:0;margin:1.5rem 0 2rem}.experience-copy li{display:flex;gap:.65rem;color:#475d53;font-size:.8125rem;margin:.6rem 0}.experience-copy li:before{content:'✓';color:#16aa99}.text-link{display:inline-flex;align-items:center;gap:1.5rem;font-size:.875rem;font-weight:650;background:none;border-bottom:1px solid #a3b0a8;padding:0 0 .5rem}.text-link svg{width:1rem;height:1rem}.text-link:hover{color:#00998c}.pricing{background:#ecefe7;border-radius:2.5rem;padding-block:5.5rem}.pricing-layout{display:grid;grid-template-columns:1.45fr 1fr;gap:4rem;margin-top:3rem}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-size:1rem;font-weight:650;margin-bottom:1.5rem;padding:0;display:flex;align-items:center;gap:.75rem}legend>span{font-size:.6875rem;font-weight:500;border:1px solid #bbc9bd;border-radius:50%;display:grid;place-items:center;width:2rem;height:2rem;color:#698274}.rate-options{display:grid;gap:.75rem}.rate-options>label{position:relative;display:flex;gap:1.25rem;align-items:center;padding:1.25rem 1.5rem;background:#f8f7f0;border:1px solid #d8dfd2;border-radius:1.1rem;cursor:pointer;transition:background .2s,border-color .2s}.rate-options>label:has(input:checked){border-color:#284d40;background:#fffdf6;box-shadow:0 .25rem 1rem #223a2308}.rate-options input{width:1.2rem;height:1.2rem;accent-color:#1c8069;flex:none}.rate-options b{font-size:1.25rem;font-weight:650}.rate-options label>span>small{display:block;color:#7b877d;font-size:.75rem;margin-top:.25rem}.rate-options strong{font-size:1.15rem;font-weight:650;margin-left:auto;white-space:nowrap}.rate-options strong small{font-size:.75rem;font-weight:400;color:#6f7c72}.duration-field{margin-top:2.5rem}.duration-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.duration-heading p{font-size:.8125rem;color:#718174;max-width:35ch}.duration-heading output{font-size:1rem;font-weight:650;white-space:nowrap}.duration-field input{display:block;width:100%;height:1rem;accent-color:#1d806c;cursor:pointer;padding:0;border:0;background:transparent}.range-ticks{display:flex;justify-content:space-between;font-size:.625rem;color:#7b8d7d;margin-top:.75rem}.rate-note{display:flex;gap:.75rem;align-items:center;font-size:.6875rem;color:#7e8c7e;margin-top:2rem}.rate-note svg{width:1rem;height:1rem}.estimate{border:1px solid #31584b;border-radius:1.5rem;background:radial-gradient(at top right,#3e615133,transparent 70%),#17382f;padding:2.75rem;color:#fff;align-self:start;box-shadow:0 .75rem 2rem #1c322412}.estimate .eyebrow{font-size:.625rem;letter-spacing:.17em;color:#afc4b4}.estimate-caption{display:flex;justify-content:space-between;gap:1rem;font-size:.875rem;color:#d6e2d6;margin-top:2rem}.estimate-total{display:block;font-size:3.75rem;font-weight:650;line-height:1.15;letter-spacing:-.05em;margin-top:.75rem;color:#f9f7e7}.estimate-guests{font-size:.75rem;color:#b4c9b6;margin-top:.65rem}.estimate ul{list-style:none;margin:2rem 0;padding:1.5rem 0 0;border-top:1px solid #d2e3cd33}.estimate li{display:flex;gap:.75rem;font-size:.875rem;color:#e0e8d9;margin:.9rem 0}.estimate li svg{color:#48d2b8;width:1.25rem;height:1.25rem}.estimate .button{width:100%;margin-top:.5rem}.estimate>small{display:block;font-size:.6875rem;color:#9fb9a5;line-height:1.6;margin-top:1.25rem}.visit{padding-block:6rem}.visit-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:6rem;align-items:start}.visit-layout>div>p:not(.eyebrow){font-size:1rem;color:var(--muted);line-height:1.6;margin-top:1.5rem}.visit h2 em{white-space:nowrap}.visit ol{list-style:none;padding:0;margin:0}.visit li{display:flex;gap:2rem;padding:1.75rem 0;border-bottom:1px solid #d8ded2}.visit li:first-child{padding-top:0}.visit li>span{font-size:1.25rem;color:#87a08d;font-weight:500;letter-spacing:-.02em}.visit h3{font-size:1.375rem;line-height:1.2}.visit li p{font-size:.9375rem;color:#78877a;line-height:1.6;margin-top:.75rem;max-width:43ch}.faq{padding-block:1.5rem 6rem}.faq-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:6rem}.faq-layout>div>p:not(.eyebrow){color:var(--muted);font-size:.9375rem;line-height:1.6;margin-top:1.5rem}.faq .text-link{margin-top:1.75rem}.faq-list{border-top:1px solid #ced8cb}.faq details{border-bottom:1px solid #ced8cb}.faq summary{display:flex;gap:1.5rem;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;min-height:5rem;padding:1.25rem 0;font-size:1rem;font-weight:600;line-height:1.4}.faq summary::-webkit-details-marker{display:none}.faq summary>span{display:grid;place-items:center;border:1px solid #c5d2c1;border-radius:50%;width:2rem;height:2rem;flex:none;transition:transform .2s}.faq summary svg{width:.75rem;height:.75rem}.faq details[open] summary>span{transform:rotate(45deg);background:#dfe9da}.faq details>p{font-size:.9375rem;line-height:1.75;color:#788475;max-width:65ch;padding:0 3.5rem 1.5rem 0}.contacts{padding-block:0 2rem}.contact-banner{position:relative;isolation:isolate;border-radius:2rem;overflow:clip;min-height:30rem;color:#fff;display:flex;align-items:center}.contact-banner>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center}.contact-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#102f2ee8,#102f2e88 55%,transparent);z-index:-1}.contact-banner>div{padding:4rem}.contact-banner h2{font-size:3.25rem}.contact-banner h2 em{color:#47d2bb}.contact-banner p:not(.eyebrow){font-size:1rem;line-height:1.6;margin-top:1.5rem;color:#d8e3d5}.contact-banner .button{margin-top:2rem}.contact-bottom{display:flex;gap:2.5rem;align-items:center;padding:2.5rem 0 0}.contact-bottom .brand{-webkit-text-stroke-color:#0ea99a}.contact-bottom .brand span{color:#739083}.contact-bottom>p{font-size:.8125rem;color:#7c8c7f}.contact-bottom>a:not(.brand){display:flex;gap:.75rem;align-items:center;margin-left:auto;font-size:.8125rem}.contact-bottom>span{display:flex;gap:.75rem;align-items:center;font-size:.75rem;color:#6c8170}.contact-bottom svg{width:1rem;height:1rem}footer{border-top:1px solid #dee2d6}.footer-inner{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding-block:1.5rem 5rem;color:#93a08f;font-size:.625rem;line-height:1.7}.footer-inner a{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:#647f6b}.footer-inner svg{width:1rem;height:1rem}.portfolio-note{display:flex;align-items:center;gap:1rem;position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);background:#fffdf4f2;border:1px solid #b9cabb;border-radius:1rem;backdrop-filter:blur(12px);box-shadow:0 .5rem 2rem #1b3d3315;padding:.875rem 1.25rem;z-index:20;white-space:nowrap;font-size:.75rem}.portfolio-note a{display:flex;align-items:center;gap:.75rem;color:#0b8f7a;font-weight:650}.portfolio-note svg{width:1rem;height:1rem}.portfolio-note button{background:none;color:#7b9280;font-size:1.25rem;line-height:1;padding:0}.preview .portfolio-note{display:none}.skip-link{position:fixed;top:-5rem;left:1rem;background:white;color:#123;padding:1rem;z-index:40}.skip-link:focus{top:1rem}dialog{border:1px solid #d4dfcf;background:var(--paper);color:var(--ink);border-radius:1.75rem;max-height:90dvh;overflow:auto;padding:2.5rem;width:min(38rem,calc(100% - 2rem))}dialog::backdrop{background:#071e1bd6;backdrop-filter:blur(8px)}.dialog-close{position:absolute;right:1rem;top:1rem;display:grid;place-items:center;z-index:3;background:#fffef5e8;border:1px solid #d4ded2;color:#18372d;border-radius:50%;width:2.5rem;height:2.5rem}.dialog-close svg{width:1rem;height:1rem}dialog h2{font-size:2.5rem}#room-dialog{width:min(65rem,calc(100% - 2rem));padding:0}#room-image{width:100%;aspect-ratio:2.3;object-fit:cover}.room-dialog-copy{padding:2.5rem}.room-dialog-copy .eyebrow{font-size:.625rem}.room-dialog-copy h3{font-size:1.25rem;margin-top:1rem;letter-spacing:-.025em;line-height:1.3}.room-dialog-copy>p:not(.eyebrow){font-size:1rem;line-height:1.7;color:var(--muted);margin-top:1rem;max-width:65ch}.room-dialog-copy ul{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:1.5rem 0}.room-dialog-copy li{font-size:.75rem;border:1px solid #d2ddcd;padding:.5rem 1rem;border-radius:2rem}.room-dialog-bottom{display:flex;gap:1.5rem;justify-content:space-between;align-items:center;margin-top:2rem}.room-dialog-bottom strong{font-size:1.5rem;font-weight:650}#gallery-dialog{padding:0;width:min(75rem,calc(100% - 2rem));background:#0e2925;color:#fff;border-color:#2b4637;overflow:hidden}#gallery-image{width:100%;height:auto;max-height:70dvh;object-fit:contain;background:#0b211d}.gallery-dialog-bottom{display:flex;align-items:center;gap:2rem;padding:1.5rem 2rem}.gallery-dialog-bottom h2{font-size:1.5rem}.gallery-dialog-bottom>span{margin-left:auto;font-size:.75rem;color:#b1c5b3}.gallery-dialog-bottom .round-controls button{color:#fff;border-color:#758c78}.gallery-dialog-bottom .round-controls button:hover{background:#25463b}.booking-dialog-heading .eyebrow{font-size:.625rem}.booking-dialog-heading>p:last-child{font-size:.875rem;color:var(--muted);line-height:1.6;margin-top:1rem}#booking-form{margin-top:1.75rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid label{display:flex;flex-direction:column;gap:.5rem;font-size:.75rem;font-weight:600;color:#657c6d;min-width:0}.form-grid .full{grid-column:1/-1}.optional{font-size:.625rem;font-weight:400;display:inline}.form-grid input,.form-grid select,.form-grid textarea{font:inherit;font-size:.9375rem;min-height:2.75rem;width:100%;min-width:0;padding:.75rem;border:1px solid #cedbca;border-radius:.65rem;background:#fffdf7;color:#193b2d}.form-grid textarea{resize:vertical}.booking-summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 0;margin-top:.75rem;font-size:.8125rem;color:#6d8272}.booking-summary output{font-size:1.75rem;font-weight:650;color:#173a2d}#booking-form>.button{width:100%}.demo-form-note{display:block;font-size:.6875rem;color:#81927f;line-height:1.6;margin-top:1rem}.form-status{font-size:.875rem;line-height:1.6;color:#13816d;margin-top:1rem}.reveal-in{animation:reveal .7s both}@keyframes reveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1199.98px){.container{max-width:100%;padding-inline:3rem}.header-inner{gap:1.25rem}.brand-caption{display:none}.site-header nav{gap:1.5rem;font-size:.75rem}.hero{min-height:42rem}.hero h1{font-size:4rem}.hero-content{padding-top:10rem}.rooms-layout{grid-template-columns:1fr;gap:2rem}.rooms-intro{display:grid;grid-template-columns:1fr auto;column-gap:2rem}.rooms-intro .eyebrow,.rooms-intro h2{grid-column:1}.rooms-intro>p:not(.eyebrow){grid-column:2;grid-row:1/4;margin:0}.rooms-intro .round-controls{grid-column:1;margin-top:1.25rem}.room-card{min-height:21rem}.amenities{padding:1.75rem 1.5rem}.amenities>div{gap:.75rem;padding-inline:1rem}.amenities>div>svg{width:1.75rem;height:1.75rem}.amenities b{font-size:.8125rem}.amenities small{font-size:.625rem}.gallery-layout{gap:1.5rem}.mosaic,.booking-banner{min-height:21rem;height:21rem}.mosaic{grid-template-columns:1.25fr 1fr}.mosaic-main>span{left:1rem;right:1rem;gap:.75rem}.mosaic-main>span>svg:first-child{display:none}.booking-banner>div{padding:2rem}.booking-banner h2{font-size:2rem}.booking-banner .eyebrow{font-size:.55rem}.experience-copy{padding:2.5rem}.experience-copy h3{font-size:2rem}.experience-image{min-height:28rem}.pricing-layout{gap:2.5rem}.estimate{padding:2.25rem}.visit-layout,.faq-layout{gap:4rem}.visit h2{font-size:2.5rem}.contact-banner h2{font-size:3rem}.contact-bottom{gap:1.5rem}.contact-bottom>p{max-width:20ch}.contact-bottom>span{font-size:.6875rem}}
@media(max-width:991.98px){.header-inner{min-height:6rem}.brand{font-size:2rem}.header-book{margin-left:auto}.menu-toggle{display:grid}.site-header nav{display:none;position:absolute;top:5.5rem;left:2rem;right:2rem;flex-direction:column;align-items:stretch;background:#122e2bf7;border:1px solid #52685b;padding:1.75rem;border-radius:1.25rem;font-size:1rem;gap:1.25rem;box-shadow:0 1rem 2rem #102b2b22}.site-header nav.is-open{display:flex}.hero{min-height:42rem}.hero-photo{object-position:65% center}.hero:after{background:linear-gradient(90deg,#102b2cf7 0%,#10292ae8 35%,#112b2b55 70%,transparent),linear-gradient(#09191b90,transparent 40%)}.hero h1{font-size:3.75rem}.hero-bottom{font-size:.625rem;gap:1.25rem}.room-card{min-height:19rem}.capacity{left:1.25rem;top:1.25rem}.room-card-copy{left:1.25rem;right:1.25rem;bottom:1.25rem}.room-card h3{font-size:1.5rem}.room-card p{font-size:.75rem;max-width:13ch}.room-number{font-size:.5rem}.circle{width:2.1rem;height:2.1rem}.amenities{grid-template-columns:repeat(3,1fr);gap:1.5rem 1rem;padding:2rem}.amenities>div{padding:0;border:0;gap:1rem}.amenities b{font-size:.875rem}.amenities small{font-size:.6875rem}.gallery-layout{grid-template-columns:1fr}.mosaic{height:25rem;grid-template-columns:1.5fr 1fr}.mosaic-main>span>svg:first-child{display:block}.mosaic-main>span{left:2rem;right:2rem;bottom:2rem;font-size:1.125rem}.mosaic-main small{font-size:.75rem}.booking-banner{min-height:19rem;height:auto}.booking-banner>div{padding:2.5rem 3rem}.booking-banner h2{font-size:2.25rem}.booking-banner .eyebrow{font-size:.625rem}.section-heading{gap:2rem}.section-heading>p{font-size:.875rem;max-width:28ch}.experience-panel{grid-template-columns:1fr 1fr}.experience-copy{padding:2rem}.experience-copy h3{font-size:1.75rem}.experience-copy>p{font-size:.875rem}.experience-copy li{font-size:.75rem}.experience-copy .text-link{font-size:.8125rem}.experience-image{min-height:31rem}.image-caption{left:1rem;bottom:1rem;font-size:.5rem;padding:.5rem .75rem;max-width:calc(100% - 2rem)}.experience-tabs button{padding:.75rem 1.25rem;font-size:.8125rem}.pricing-layout{grid-template-columns:1fr 1fr;gap:1.5rem}.rate-options>label{padding:1rem;gap:.75rem}.rate-options strong{font-size:.9375rem}.rate-options b{font-size:1.125rem}.rate-options label>span>small{font-size:.6875rem}.rate-options strong small{display:block;text-align:right;font-size:.625rem}.estimate{padding:2rem}.estimate-total{font-size:3rem}.estimate .eyebrow{font-size:.5rem;gap:.75rem}.estimate .eyebrow:before{width:1rem}.estimate-caption{font-size:.75rem}.estimate li{font-size:.75rem}.estimate .button{font-size:.8125rem;gap:1rem;padding-inline:1rem}.visit-layout,.faq-layout{gap:2rem;grid-template-columns:1fr 1.2fr}.visit h2{font-size:2.15rem}.visit li{gap:1.25rem}.visit h3{font-size:1.25rem}.visit li p{font-size:.875rem}.faq summary{font-size:.9375rem}.contact-banner h2{font-size:2.75rem}.contact-banner>div{padding:3rem}.contact-bottom{flex-wrap:wrap}.contact-bottom>p{max-width:none}.contact-bottom>a:not(.brand){margin-left:auto}.contact-bottom>span{margin-left:auto}.footer-inner{font-size:.5625rem}}
@media(max-width:767.98px){.container{padding-inline:1.5rem}.section{padding-block:3.5rem}h2{font-size:2.25rem}.eyebrow{font-size:.625rem;gap:1rem;letter-spacing:.17em}.eyebrow:before{width:1.25rem}.header-inner{min-height:5.5rem;gap:1rem}.brand{font-size:1.8rem}.brand>span{font-size:.45rem}.header-book{font-size:.6875rem;min-height:2.5rem;gap:.5rem;padding:.7rem 1rem}.header-book svg{width:1rem;height:1rem}.menu-toggle{width:2.5rem;height:2.5rem;flex:none}.site-header nav{left:1.5rem;right:1.5rem;top:5rem}.hero{min-height:0;padding-bottom:16rem}.hero-content{padding-top:8rem;padding-bottom:4rem}.hero h1{font-size:clamp(2.5rem,8.2vw,3.75rem);max-width:100%;line-height:1.06}.hero .eyebrow{font-size:.5625rem;margin-bottom:1.5rem}.hero-copy{font-size:1rem;margin-top:1.5rem;max-width:32ch}.hero-copy br{display:none}.hero-photo{height:25rem;top:auto;bottom:0;object-position:73% center}.hero:after{background:linear-gradient(180deg,#102b2c 0%,#102b2c 38%,#102b2cf2 50%,#102b2c55 75%,#102b2c11)}.hero-actions{gap:1.5rem;flex-wrap:wrap;align-items:center}.button{font-size:.875rem;min-height:3.25rem;padding:.9rem 1.5rem;gap:1.25rem}.tour-button{font-size:.75rem;gap:.75rem}.tour-button>span{width:2.75rem;height:2.75rem}.hero-bottom{display:none}.wave{height:1.5rem}.rooms{padding-top:2.5rem;padding-bottom:1.5rem}.rooms-intro{display:block}.rooms-intro>p:not(.eyebrow){font-size:.9375rem;line-height:1.6;margin-top:1rem}.rooms-intro>p:not(.eyebrow) br{display:none}.rooms-intro .round-controls{display:none}.rooms-layout{gap:1.75rem}.room-grid{grid-template-columns:1fr;gap:1.25rem}.room-card{min-height:21rem;border-radius:1.5rem}.room-card>img{object-position:center 60%}.room-card-copy{left:1.5rem;right:1.5rem;bottom:1.5rem}.room-card h3{font-size:2rem}.room-card p{font-size:.875rem;max-width:25ch}.room-number{font-size:.55rem}.capacity{top:1.5rem;left:1.5rem;font-size:.6875rem}.circle{width:2.75rem;height:2.75rem}.amenities{grid-template-columns:1fr 1fr;gap:1.75rem 1.25rem;padding:2rem 1.5rem;margin-top:1.75rem;border-radius:1.5rem}.amenities>div{display:block}.amenities>div>svg{width:2rem;height:2rem;margin:0 0 .75rem}.amenities b{font-size:.875rem;white-space:normal;display:block;line-height:1.3}.amenities small{font-size:.6875rem;line-height:1.6;margin-top:.5rem}.amenities small br{display:none}.amenities>div:last-child{grid-column:1/-1;display:flex;align-items:center;gap:1rem}.amenities>div:last-child>svg{margin:0}.gallery-booking{padding-top:1rem;padding-bottom:3.5rem}.gallery-layout{gap:1.5rem}.mosaic{height:25rem;grid-template-columns:1fr 1fr;grid-template-rows:1.7fr 1fr;gap:.75rem}.mosaic>button{border-radius:1.25rem}.mosaic-main{grid-row:auto;grid-column:1/-1}.mosaic-main>span{font-size:.9375rem;left:1.5rem;right:1.5rem;bottom:1.5rem}.mosaic-main small{font-size:.625rem}.mosaic-main>span>svg:first-child{width:2.25rem;height:2.25rem}.booking-banner{min-height:26rem;border-radius:1.5rem}.booking-banner>div{padding:2rem 1.5rem 11rem}.booking-banner h2{font-size:1.875rem}.booking-banner>img{object-position:70% center}.booking-banner:after{background:linear-gradient(180deg,#f8f3edf7 10%,#f8f3ede0 50%,#f8f3ed11)}.booking-banner .eyebrow{font-size:.5625rem}.booking-banner p:not(.eyebrow){font-size:.875rem}.booking-banner .button{font-size:.8125rem}.section-heading{display:block;margin-bottom:2rem}.section-heading>p{font-size:.9375rem;line-height:1.6;margin-top:1.5rem;max-width:35ch}.section-heading>p br{display:none}.experience{padding-top:1rem;padding-bottom:3.5rem}.experience-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.25rem}.experience-tabs button{font-size:.8125rem;padding:.75rem 1rem;min-height:2.75rem}.experience-panel{grid-template-columns:1fr;border-radius:1.5rem}.experience-image{min-height:18rem}.experience-copy{padding:2rem 1.5rem}.experience-copy h3{font-size:1.875rem}.experience-copy>p{font-size:.9375rem;margin-top:1rem}.experience-copy li{font-size:.8125rem}.experience-copy ul{margin:1.25rem 0 1.5rem}.image-caption{font-size:.5rem}.pricing{border-radius:1.75rem;padding-block:3.5rem}.pricing-layout{grid-template-columns:1fr;gap:2rem;margin-top:2rem}.rate-options{gap:.75rem}.rate-options>label{padding:1rem 1.25rem;gap:1rem}.rate-options strong{font-size:1.125rem}.rate-options strong small{display:inline;font-size:.6875rem;margin-left:.15rem}.rate-options label>span>small{font-size:.75rem}.duration-field{margin-top:2rem}.duration-heading p{font-size:.8125rem;max-width:24ch}.duration-heading output{font-size:.875rem}.rate-note{margin-top:1.5rem;font-size:.625rem}.estimate{padding:2rem 1.75rem;border-radius:1.5rem}.estimate .eyebrow{font-size:.5625rem}.estimate-caption{font-size:.875rem;margin-top:1.5rem}.estimate-total{font-size:3.5rem}.estimate li{font-size:.875rem}.estimate .button{font-size:.875rem}.estimate>small{font-size:.6875rem}.visit{padding-block:3.5rem}.visit-layout,.faq-layout{grid-template-columns:1fr;gap:2.5rem}.visit h2{font-size:2.25rem}.visit-layout>div>p:not(.eyebrow){font-size:.9375rem}.visit li{gap:1.25rem;padding-block:1.5rem}.visit h3{font-size:1.25rem}.visit li p{font-size:.875rem;max-width:30ch}.faq{padding-top:.5rem;padding-bottom:3.5rem}.faq summary{font-size:.9375rem;min-height:4.75rem;padding-block:1.25rem}.faq details>p{font-size:.875rem;padding-right:1rem}.faq-layout>div>p:not(.eyebrow){font-size:.9375rem}.faq-layout>div>p br{display:none}.faq .text-link{font-size:.8125rem}.contacts{padding-block:0 1.5rem}.contact-banner{min-height:39rem;align-items:start;border-radius:1.5rem}.contact-banner>div{padding:2.5rem 1.5rem 16rem}.contact-banner h2{font-size:2.25rem}.contact-banner h2 br{display:none}.contact-banner .eyebrow{font-size:.5625rem}.contact-banner p:not(.eyebrow){font-size:.9375rem}.contact-banner>img{object-position:40% bottom}.contact-banner:after{background:linear-gradient(180deg,#102f2ef5,#102f2eea 40%,#102f2e44 80%)}.contact-banner .button{margin-top:1.75rem;font-size:.8125rem}.contact-bottom{display:grid;grid-template-columns:1fr auto;gap:1.5rem 1rem;padding-top:2rem;align-items:center}.contact-bottom>p{grid-column:1/-1;grid-row:2;font-size:.6875rem}.contact-bottom>a:not(.brand){margin:0;font-size:.75rem;grid-column:1;grid-row:3;gap:.5rem}.contact-bottom>span{grid-column:2;grid-row:3;font-size:.625rem;gap:.4rem}.contact-bottom .brand{grid-column:1/-1}.footer-inner{display:block;padding-block:1.5rem 6rem;font-size:.625rem}.footer-inner>a{margin-top:1.25rem;font-size:.6875rem}.portfolio-note{padding:.75rem 1rem;border-radius:.875rem;gap:.75rem;font-size:.6875rem;max-width:calc(100% - 1.5rem)}.portfolio-note>span{display:none}.portfolio-note a{gap:.5rem}dialog{padding:2rem 1.5rem;border-radius:1.5rem;width:calc(100% - 1.5rem)}dialog h2{font-size:2rem}.booking-dialog-heading .eyebrow{font-size:.5rem}.booking-dialog-heading>p:last-child{font-size:.8125rem}.form-grid{gap:1rem .75rem}.form-grid input,.form-grid select,.form-grid textarea{font-size:1rem;padding:.65rem}.form-grid label{font-size:.6875rem}.booking-summary output{font-size:1.5rem}#booking-form>.button{font-size:.8125rem;padding-inline:1rem}.room-dialog-copy{padding:2rem 1.5rem}#room-image{aspect-ratio:1.4}.room-dialog-copy h3{font-size:1.125rem}.room-dialog-copy>p:not(.eyebrow){font-size:.9375rem}.room-dialog-bottom{flex-wrap:wrap;gap:1.25rem}.room-dialog-bottom strong{font-size:1.25rem}.room-dialog-bottom .button{width:100%}.gallery-dialog-bottom{padding:1.25rem;gap:.75rem;flex-wrap:wrap}.gallery-dialog-bottom h2{font-size:1.125rem;flex-basis:65%}.gallery-dialog-bottom>span{font-size:.625rem}.gallery-dialog-bottom .round-controls{width:100%;justify-content:center;margin-top:.25rem}#gallery-image{max-height:65dvh}}
@media(max-width:359.98px){.container{padding-inline:1.25rem}.header-inner{gap:.65rem}.brand{font-size:1.6rem}.header-book{padding:.65rem .875rem;font-size:.625rem}.header-book svg{display:none}.hero h1{font-size:2.5rem}.hero-actions{gap:1.25rem}.hero .eyebrow{font-size:.5rem;gap:.65rem}.hero-copy{font-size:.9375rem}.rooms-intro h2{font-size:2.1rem}.room-card-copy{left:1.25rem;right:1.25rem}.room-card p{max-width:20ch}.amenities{padding:1.75rem 1.25rem;gap:1.5rem 1rem}.amenities b{font-size:.8125rem}.amenities small{font-size:.625rem}.booking-banner h2{font-size:1.75rem}.booking-banner .eyebrow{font-size:.5rem;gap:.75rem}.rate-options>label{padding:1rem;gap:.75rem}.rate-options strong{font-size:1rem}.rate-options b{font-size:1rem}.rate-options strong small{display:block;text-align:right}.estimate{padding:1.75rem 1.5rem}.estimate-total{font-size:3rem}.visit h2{font-size:2rem}.contact-banner h2{font-size:2rem}.contact-banner .button{gap:.75rem;padding-inline:1rem}.contact-bottom{column-gap:.5rem}.contact-bottom>a:not(.brand){font-size:.6875rem}.contact-bottom>span{font-size:.5625rem}.form-grid label:has(input[name=name]),.form-grid label:has(input[name=phone]){grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.skip-link{visibility:hidden}.skip-link:focus-visible{visibility:visible;top:1rem}
.preview .reveal-in{animation:none}
@media(max-width:767.98px){.booking-banner>img{mask-image:linear-gradient(180deg,transparent,#000 28%)}}
@media(max-width:767.98px){.form-grid label:has(input[type=date]),.form-grid label:has(input[name=guests]),.form-grid label:has(input[name=name]),.form-grid label:has(input[name=phone]){grid-column:1/-1}}
@media(min-width:768px) and (max-width:1199.98px){.room-card p{font-size:.875rem}}
@media(min-width:1200px){.room-card{min-height:22rem}.room-card p{font-size:1rem;max-width:18ch}.amenities b{font-size:1rem}.amenities small{font-size:.75rem}.amenities>div{padding-inline:1rem;gap:1rem}}
@media(max-width:767.98px){.site-header .header-book{font-size:.6875rem;min-height:2.5rem;padding:.7rem 1rem;gap:.5rem}.site-header .header-book svg{width:1rem;height:1rem}.booking-banner>img{height:14rem;top:auto;bottom:0;object-position:right center}.booking-banner>div{padding-bottom:13rem}.booking-banner:after{background:linear-gradient(180deg,#f8f3ed 0%,#f8f3ed 42%,#f8f3edb8 62%,transparent 85%)}.room-card p{max-width:22ch;padding-right:1rem}}
@media(max-width:359.98px){.site-header .header-book{font-size:.625rem;padding:.65rem .875rem}.site-header .header-book svg{display:none}.room-card p{max-width:19ch}}
