:root{--ink:#0c2027;--ocean:#083344;--deep:#041e28;--gold:#c6a15b;--gold-soft:#e7d5ab;--ivory:#fcf9f3;--sand:#f2eadb;--muted:#5d6f70;--line:#0c20271f;--line-light:#ffffff2e;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Manrope", system-ui, -apple-system, sans-serif;--shadow:0 30px 80px #08202729;--radius:18px;--shell:min(1180px, calc(100% - 48px))}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--sans);color:var(--ink);background:var(--ivory);margin:0;font-size:16px;line-height:1.7;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-weight:500;line-height:1.05}h1{font-size:clamp(2.9rem,6vw,5.4rem)}h2{font-size:clamp(2.1rem,3.6vw,3.4rem)}h3{font-size:clamp(1.45rem,2.2vw,1.9rem)}p{margin:0 0 1.1em}p:last-child{margin-bottom:0}::selection{background:var(--gold);color:var(--deep)}.shell{width:var(--shell);margin-inline:auto}.eyebrow{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-size:.7rem;font-weight:700;display:inline-block}.eyebrow.light{color:var(--gold-soft)}.lede{max-width:62ch;color:var(--muted);font-size:1.08rem}.text-link{letter-spacing:.08em;text-transform:uppercase;color:var(--ocean);border-bottom:1px solid;align-items:center;gap:.5rem;padding-bottom:2px;font-size:.82rem;font-weight:700;transition:color .2s,gap .2s;display:inline-flex}.text-link:hover{color:var(--gold);gap:.75rem}.btn{letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-height:52px;padding:.85rem 1.6rem;font-size:.78rem;font-weight:700;transition:transform .2s,background .2s,color .2s,border-color .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:var(--deep)}.btn-gold:hover{background:#d8b972}.btn-dark{background:var(--deep);color:#fff}.btn-dark:hover{background:var(--ocean)}.btn-outline{color:var(--ocean);background:0 0;border-color:#08334459}.btn-outline:hover{border-color:var(--ocean);background:#0833440d}.btn-outline-light{color:#fff;background:#ffffff0f;border-color:#ffffff73}.btn-outline-light:hover{background:#ffffff24;border-color:#fff}.btn-glass{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border-color:#ffffff73}.btn-glass:hover{background:#ffffff2e}.site-header{z-index:60;color:#fff;transition:background .35s,box-shadow .35s,color .35s;position:fixed;inset:0 0 auto}.site-header:after{content:"";pointer-events:none;opacity:1;background:linear-gradient(#04192259,#0000);height:40px;transition:opacity .3s;position:absolute;inset:auto 0 -40px}.site-header.is-solid{color:#fff;background:#041922f0;box-shadow:0 10px 40px #0000002e}.site-header.is-solid:after{opacity:0}.nav-wrap{z-index:60;align-items:center;gap:2rem;height:92px;display:flex;position:relative}.brand{align-items:center;gap:.7rem;display:inline-flex}.brand-mark{width:34px;height:34px;color:var(--gold-soft);place-items:center;display:grid}.brand-mark svg{width:100%;height:100%}.brand-mark.light{color:var(--gold-soft)}.brand-text{flex-direction:column;line-height:1.1;display:flex}.brand-text strong{font-family:var(--serif);letter-spacing:.02em;font-size:1.45rem;font-weight:600}.brand-text em{font-family:var(--sans);letter-spacing:.28em;text-transform:uppercase;opacity:.75;font-size:.58rem;font-style:normal;font-weight:600}.desktop-nav{letter-spacing:.14em;text-transform:uppercase;gap:1.7rem;margin-left:auto;font-size:.74rem;font-weight:600;display:flex}.desktop-nav a{opacity:.86;padding:.4rem 0;transition:opacity .2s;position:relative}.desktop-nav a:after{content:"";background:var(--gold-soft);transform-origin:0;width:100%;height:1px;transition:transform .25s;position:absolute;bottom:0;left:0;transform:scaleX(0)}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{opacity:1}.desktop-nav a:hover:after,.desktop-nav a[aria-current=page]:after{transform:scaleX(1)}.nav-book{min-height:44px;padding:.7rem 1.2rem;font-size:.68rem}.menu-toggle{cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:50%;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;margin-left:auto;padding:0;display:none}.menu-toggle span{background:currentColor;width:18px;height:1.5px;margin-inline:auto;transition:transform .25s,opacity .2s;display:block}.menu-toggle.is-open span:first-child{transform:translateY(6.5px)rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.mobile-menu-backdrop{z-index:50;opacity:0;overscroll-behavior:contain;pointer-events:none;background:#031219;align-items:start;padding:100px 24px 40px;transition:opacity .3s;display:grid;position:fixed;inset:0;overflow-y:auto}.mobile-menu-backdrop.is-open{opacity:1;pointer-events:auto}.mobile-menu{flex-direction:column;gap:1.1rem;width:100%;max-width:420px;margin-inline:auto;display:flex}.mobile-menu .eyebrow{margin-bottom:.6rem}.mobile-menu>a:not(.btn){font-family:var(--serif);color:#fff;border-bottom:1px solid #ffffff1f;padding-bottom:.55rem;font-size:2rem}.mobile-menu>a[aria-current=page]{color:var(--gold-soft)}.mobile-menu .btn{margin-top:1.2rem}.mobile-contact{letter-spacing:.08em;color:#ffffffb3;font-size:.8rem}.hero{color:#fff;background:var(--deep);align-items:flex-end;min-height:100svh;padding:160px 0 90px;display:flex;position:relative;overflow:hidden}.hero-image{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-shade{background:linear-gradient(#04161e8c 0%,#04161e1f 38%,#04161ed1 100%),linear-gradient(90deg,#04161e8c,#04161e0d 70%);position:absolute;inset:0}.hero-copy{z-index:2;max-width:820px;position:relative}.hero h1{text-wrap:balance;margin:1rem 0 1.3rem;font-size:clamp(3.2rem,7.2vw,6.4rem);line-height:.98}.hero h1 em{color:var(--gold-soft);font-style:italic}.hero-lede{color:#ffffffd1;max-width:58ch;font-size:1.12rem}.hero .actions{flex-wrap:wrap;gap:.8rem;margin-top:2.2rem;display:flex}.hero-meta{letter-spacing:.1em;text-transform:uppercase;color:#ffffffb3;border-top:1px solid #fff3;flex-wrap:wrap;gap:1.6rem;margin-top:2.6rem;padding-top:1.6rem;font-size:.78rem;display:flex}.hero-meta strong{font-family:var(--serif);letter-spacing:0;text-transform:none;color:#fff;margin-top:.3rem;font-size:1.35rem;font-weight:500;display:block}.page-hero{color:#fff;background:var(--deep);align-items:flex-end;min-height:72svh;padding:170px 0 70px;display:flex;position:relative;overflow:hidden}.page-hero.is-center{text-align:center}.page-hero-image{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.page-hero-shade{background:linear-gradient(#04161e9e 0%,#04161e2e 40%,#04161ed9 100%);position:absolute;inset:0}.page-hero-copy{z-index:2;position:relative}.page-hero-copy h1{max-width:16ch;margin:1rem 0 1.2rem}.page-hero.is-center .page-hero-copy h1{margin-inline:auto}.page-hero-lede{color:#ffffffd1;max-width:62ch;font-size:1.05rem}.page-hero.is-center .page-hero-lede{margin-inline:auto}.section{padding:6.5rem 0}.section-tight{padding:4rem 0}.section-cream{background:var(--sand)}.section-dark{background:var(--deep);color:#fff}.section-dark .lede,.section-dark p{color:#ffffffb8}.section-head{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.8rem;display:flex}.section-head h2{max-width:18ch;margin-top:.6rem}.section-head .text-link{white-space:nowrap;margin-bottom:.4rem}.split{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.split.reverse>:first-child{order:2}.split img{object-fit:cover;border-radius:var(--radius);width:100%;height:100%;max-height:560px;box-shadow:var(--shadow)}.split-copy h2{margin:.6rem 0 1.2rem}.stats{background:var(--deep);color:#fff;grid-template-columns:repeat(4,1fr);gap:0;display:grid}.stats>div{text-align:center;border-right:1px solid #ffffff1a;padding:2rem 1.4rem}.stats>div:last-child{border-right:0}.stats strong{font-family:var(--serif);color:var(--gold-soft);font-size:clamp(1.7rem,3vw,2.5rem);font-weight:500;display:block}.stats span{letter-spacing:.16em;text-transform:uppercase;color:#fff9;margin-top:.4rem;font-size:.68rem;display:block}.card-grid{gap:1.6rem;display:grid}.card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.image-card{border-radius:var(--radius);background:#fff;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 18px 50px #08202714}.image-card:hover{transform:translateY(-5px);box-shadow:0 28px 70px #08202724}.image-card img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .6s}.image-card:hover img{transform:scale(1.04)}.image-card .image-card-body{padding:1.5rem 1.6rem 1.8rem}.image-card h3{margin-bottom:.6rem}.image-card p{color:var(--muted);font-size:.92rem}.card-tag{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.7rem;font-size:.62rem;font-weight:700;display:inline-block}.room-card{border-radius:var(--radius);background:#fff;grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(1.6rem,4vw,3.5rem);padding:2rem;display:grid;box-shadow:0 18px 50px #08202712}.room-card+.room-card{margin-top:2rem}.room-card:nth-child(2n) .room-card-media{order:2}.room-card-media{grid-template-columns:1.6fr 1fr;gap:.6rem;display:grid}.room-card-media img{object-fit:cover;border-radius:12px;width:100%;height:100%;min-height:240px;max-height:420px}.room-card-media img:first-child{grid-row:span 2}.room-card-body h3{margin:.4rem 0 .8rem}.room-price{color:var(--muted);align-items:baseline;gap:.4rem;margin-bottom:1rem;font-size:.78rem;display:flex}.room-price strong{font-family:var(--serif);color:var(--ocean);font-size:2rem;font-weight:600}.feature-list{color:var(--muted);grid-template-columns:1fr 1fr;gap:.55rem 1.2rem;margin:1.2rem 0 1.6rem;padding:0;font-size:.88rem;list-style:none;display:grid}.feature-list li:before{content:"—";color:var(--gold);margin-right:.5rem}.actions{flex-wrap:wrap;gap:.7rem;display:flex}.experience-card{border-radius:var(--radius);background:#fff;overflow:hidden;box-shadow:0 18px 50px #08202712}.experience-card img{aspect-ratio:4/3;object-fit:cover;width:100%}.experience-card .experience-body{padding:1.3rem 1.4rem 1.5rem}.experience-card h3{margin:.2rem 0 .5rem;font-size:1.5rem}.experience-card p{color:var(--muted);font-size:.88rem}.experience-meta{border-top:1px solid var(--line);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);justify-content:space-between;gap:.6rem;margin-top:1rem;padding-top:.9rem;font-size:.68rem;display:flex}.package-card{border-radius:var(--radius);background:#fff;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 18px 50px #08202714}.package-card.is-featured{outline:2px solid var(--gold);outline-offset:-2px}.package-card img{aspect-ratio:16/10;object-fit:cover;width:100%}.package-body{flex-direction:column;flex:1;padding:1.6rem;display:flex}.package-body h3{margin:.3rem 0}.package-price{font-family:var(--serif);color:var(--ocean);margin:.7rem 0 1rem;font-size:1.9rem}.package-price span{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.package-includes{color:var(--muted);margin:0 0 1.4rem;padding:0;font-size:.88rem;list-style:none}.package-includes li{border-bottom:1px solid var(--line);padding:.35rem 0}.package-includes li:before{content:"✓";color:var(--gold);margin-right:.55rem}.package-card .btn{margin-top:auto}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:.9rem;display:grid}.gallery-item{background:var(--sand);cursor:zoom-in;border:0;border-radius:12px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.gallery-item img{aspect-ratio:4/3;object-fit:cover;width:100%;height:100%;transition:transform .5s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item:nth-child(4n+1),.gallery-item:nth-child(7n+5){grid-row:span 2}.gallery-item:nth-child(4n+1) img,.gallery-item:nth-child(7n+5) img{aspect-ratio:auto;height:100%}.lightbox{z-index:120;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:zoom-out;background:#030e13f0;place-items:center;padding:clamp(1.5rem,5vw,4rem);display:grid;position:fixed;inset:0}.lightbox img{object-fit:contain;cursor:default;border-radius:10px;width:auto;max-width:min(1100px,92vw);max-height:82vh;box-shadow:0 40px 100px #0000008c}.lightbox-close{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff59;border-radius:50%;place-items:center;width:48px;height:48px;padding:0;font-size:1.6rem;line-height:1;transition:background .2s,border-color .2s;display:grid;position:absolute;top:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem)}.lightbox-close:hover{background:#ffffff2e;border-color:#fff}.lightbox-nav{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff59;border-radius:50%;place-items:center;width:52px;height:52px;padding:0;font-size:2rem;line-height:1;transition:background .2s,border-color .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#ffffff2e;border-color:#fff}.lightbox-nav.prev{left:clamp(.75rem,3vw,2rem)}.lightbox-nav.next{right:clamp(.75rem,3vw,2rem)}.review-grid{grid-template-columns:repeat(3,1fr);gap:1.4rem;display:grid}.review-card{border-radius:var(--radius);background:#fff;padding:2rem;box-shadow:0 18px 50px #0820270f}.review-stars{letter-spacing:.18em;color:var(--gold);margin-bottom:1rem}.review-card blockquote{font-family:var(--serif);margin:0 0 1.4rem;font-size:1.25rem;font-style:italic;line-height:1.35}.review-card cite{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-style:normal}.cta{border-radius:calc(var(--radius) + 8px);color:#fff;text-align:center;background:linear-gradient(#0419229e,#041922c7),url(/images/lagoon.webp) 50%/cover;padding:clamp(3rem,7vw,6rem);position:relative;overflow:hidden}.cta h2{max-width:18ch;margin:.7rem auto 1.2rem}.cta p{color:#ffffffc7;max-width:56ch;margin-inline:auto}.cta .actions{justify-content:center;margin-top:1.8rem}.inquiry-card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:clamp(1.4rem,3vw,2.6rem)}.inquiry-form .form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.inquiry-form.is-compact .form-grid{grid-template-columns:1fr}.inquiry-form label{flex-direction:column;gap:.4rem;display:flex}.inquiry-form label>span{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:700}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{border:1px solid var(--line);background:var(--ivory);border-radius:10px;width:100%;padding:.85rem .95rem;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #c6a15b2e}.inquiry-form .form-full{grid-column:1/-1}.form-actions{flex-wrap:wrap;gap:.7rem;margin-top:1.2rem;display:flex}.form-actions .btn{flex:200px}.form-note{border-left:3px solid var(--gold);color:var(--muted);background:#c6a15b1f;margin-top:1rem;padding:.8rem 1rem;font-size:.85rem}.form-error{color:#a5342f;margin-top:1rem;font-size:.88rem}.form-fineprint{color:var(--muted);margin-top:1rem;font-size:.76rem}.form-fineprint a{color:var(--ocean);border-bottom:1px solid}.contact-grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}.contact-list{gap:1.4rem;margin:2rem 0;display:grid}.contact-item strong{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-size:.68rem;font-weight:700;display:block}.contact-item a,.contact-item span{font-family:var(--serif);color:var(--ocean);font-size:1.45rem}.info-card{border-radius:var(--radius);background:var(--sand);padding:1.6rem}.info-card h3{margin-bottom:.7rem}.story-grid{grid-template-columns:1.2fr .8fr;align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}.story-grid img{border-radius:var(--radius);width:100%;box-shadow:var(--shadow)}.value-grid{grid-template-columns:repeat(3,1fr);gap:1.4rem;display:grid}.value-card{border-radius:var(--radius);border:1px solid var(--line);background:#fff;padding:1.8rem}.value-card h3{margin-bottom:.7rem;font-size:1.5rem}.value-card p{color:var(--muted);font-size:.9rem}.site-footer{background:var(--deep);color:#ffffffb8;padding:4.5rem 0 2rem}.footer-top{border-bottom:1px solid #ffffff1f;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem;padding-bottom:3rem;display:grid}.footer-brand .brand-mark{width:40px;height:40px;margin-bottom:.9rem}.footer-name{font-family:var(--serif);color:#fff;font-size:1.8rem}.footer-tagline{max-width:34ch;margin-top:.6rem;font-size:.9rem}.footer-address{color:#ffffff80;font-size:.8rem}.footer-col{flex-direction:column;gap:.6rem;font-size:.86rem;display:flex}.footer-col h4{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:.4rem;font-size:.68rem;font-weight:700}.footer-col a:hover{color:#fff}.footer-hours p{border-bottom:1px solid #ffffff14;justify-content:space-between;gap:1rem;margin:0;padding-bottom:.4rem;font-size:.82rem;display:flex}.footer-hours span{color:#fff}.footer-bottom{color:#ffffff73;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.5rem;font-size:.74rem;display:flex}.footer-credit a{border-bottom:1px solid #ffffff4d}.notfound{text-align:center;background:var(--deep);color:#fff;place-items:center;min-height:100svh;padding:140px 24px 80px;display:grid}.notfound h1{margin:.6rem 0 1rem}@media (max-width:1024px){.desktop-nav,.nav-book{display:none}.menu-toggle{display:flex}.card-grid.three,.card-grid.four,.review-grid,.value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-top{grid-template-columns:1fr 1fr}.room-card{grid-template-columns:1fr}.room-card:nth-child(2n) .room-card-media{order:0}}@media (max-width:820px){:root{--shell:min(100% - 36px, 1180px)}.section{padding:4.5rem 0}.section-head{flex-direction:column;align-items:start;gap:1rem}.split,.story-grid,.contact-grid{grid-template-columns:1fr}.split.reverse>:first-child{order:0}.stats{grid-template-columns:1fr 1fr}.stats>div:nth-child(2){border-right:0}.stats>div:first-child,.stats>div:nth-child(2){border-bottom:1px solid #ffffff1a}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-item:nth-child(4n+1),.gallery-item:nth-child(7n+5){grid-row:span 1}.gallery-item img{aspect-ratio:4/3!important;height:auto!important}.hero{min-height:94svh;padding-top:140px}.page-hero{min-height:60svh;padding-top:140px}}@media (max-width:620px){.card-grid.three,.card-grid.four,.review-grid,.value-grid,.gallery-grid,.footer-top,.feature-list,.inquiry-form .form-grid{grid-template-columns:1fr}.form-actions .btn{flex-basis:100%}.hero h1,.page-hero h1{text-wrap:balance}.room-card{padding:1rem}.room-card-media{grid-template-columns:1fr 1fr}.room-card-media img:first-child{grid-row:span 1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
