@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,800;1,400;1,600&display=swap";:root{--soni-dark: #f4f0e8;--soni-card-bg: #fffdf8;--soni-card-border: rgba(31, 52, 44, .16);--soni-card-hover: rgba(31, 52, 44, .32);--soni-input-bg: #ffffff;--soni-gold: #8f5e2b;--soni-gold-hover: #75491f;--soni-gold-glow: rgba(149, 101, 47, .18);--soni-text: #20332c;--soni-text-muted: #5c6d66;--soni-text-dim: #77847f;--soni-green: #173f34;--soni-radius: 8px;--soni-radius-lg: 12px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--soni-dark);color:var(--soni-text);font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,.font-serif{font-family:Playfair Display,Georgia,serif;font-weight:700;line-height:1.15;color:var(--soni-text)}a{color:inherit;text-decoration:none}button{font-family:inherit}:focus-visible{outline:3px solid #b98346;outline-offset:3px}.site-header{position:sticky;top:0;z-index:50;background:#fffdf8f5;border-bottom:1px solid var(--soni-card-border);padding:.9rem 2rem;display:flex;align-items:center;justify-content:space-between}.brand-container{display:flex;align-items:center;gap:.75rem}.brand-logo-text{font-family:Playfair Display,Georgia,serif;font-size:1.45rem;font-weight:700;letter-spacing:.04em;color:var(--soni-green)}.brand-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--soni-gold);border-left:1px solid var(--soni-card-border);padding:.15rem .5rem;border-radius:0}.header-nav{display:flex;align-items:center;gap:1.75rem}.header-nav a{font-size:.9rem;font-weight:600;color:var(--soni-text-muted);transition:color .2s ease}.header-nav a:hover{color:var(--soni-gold)}.header-cta{background:var(--soni-green);color:#fff!important;font-weight:700!important;padding:.55rem 1.25rem;border-radius:4px;box-shadow:none;transition:transform .2s ease,box-shadow .2s ease!important}.header-cta:hover{background:#245448}.site-footer{margin-top:auto;background:var(--soni-green);color:#fff;border-top:0;padding:4rem 2rem 2rem}.footer-content{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem}.footer-brand p{color:#ffffffb8;font-size:.9rem;margin-top:.75rem;max-width:320px}.footer-col h4{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#d9bd94;margin-bottom:1.2rem}.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.65rem}.footer-col a{font-size:.88rem;color:#ffffffb8;transition:color .2s}.footer-col a:hover{color:#fff}.footer-bottom{max-width:1240px;margin:3rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;font-size:.8rem;color:#ffffff94}.site-footer .brand-logo-text{color:#fff}.home-hero{position:relative;min-height:680px;display:flex;align-items:center;padding:6rem 2rem 5rem;overflow:hidden}.hero-backdrop{position:absolute;inset:0;z-index:0}.hero-backdrop img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#142b23e0,#142b238f 52%,#142b2333)}.hero-container{position:relative;z-index:10;max-width:1240px;margin:0 auto;width:100%;display:grid;grid-template-columns:1.2fr 440px;gap:3.5rem;align-items:center}.hero-eyebrow{color:#f0d7b1;font-size:.8rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.75rem}.hero-title{white-space:pre-line;font-size:clamp(3rem,5.5vw,5.2rem);font-weight:800;letter-spacing:-.02em;line-height:1.06;margin-bottom:1.25rem;color:#fff}.footer-logo{display:block;height:auto;max-width:11rem;width:100%}.footer-bottom nav{display:flex;gap:1.25rem}.hero-subtitle{font-size:clamp(1.05rem,1.8vw,1.25rem);color:#ffffffd1;max-width:540px;font-weight:400}.search-card{background:var(--soni-card-bg);border:1px solid var(--soni-card-border);border-radius:var(--soni-radius-lg);padding:2rem;box-shadow:0 22px 55px #142b232e}.search-card-header{margin-bottom:1.5rem}.search-card-header h3{font-size:1.25rem}.search-card-header p{font-size:.85rem;color:var(--soni-text-muted);margin-top:.25rem}.search-form{display:flex;flex-direction:column;gap:1.15rem}.form-field{display:flex;flex-direction:column;gap:.4rem}.field-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--soni-text-muted)}.field-input,.field-select{background:var(--soni-input-bg);border:1px solid var(--soni-card-border);color:var(--soni-text);padding:.75rem 1rem;border-radius:6px;font-size:.92rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;outline:none}.field-input:focus,.field-select:focus{border-color:var(--soni-gold);box-shadow:0 0 0 3px var(--soni-gold-glow)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.btn-search{background:var(--soni-green);color:#fff;font-size:.95rem;font-weight:700;padding:.85rem 1.5rem;border-radius:5px;border:none;cursor:pointer;box-shadow:none;transition:transform .2s,box-shadow .2s;margin-top:.5rem;text-align:center}.btn-search:hover{background:#245448}.section-shell{max-width:1240px;margin:0 auto;padding:5rem 2rem;width:100%}.section-header{margin-bottom:3rem}.section-header p{color:var(--soni-gold);font-size:.8rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.5rem}.section-header h2{font-size:clamp(2.2rem,3.5vw,3.2rem)}.properties-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.property-card{background:var(--soni-card-bg);border:1px solid var(--soni-card-border);border-radius:var(--soni-radius-lg);overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}.property-card:hover{border-color:var(--soni-card-hover);box-shadow:0 18px 38px #1f342c1f}.property-card-image{position:relative;height:240px;overflow:hidden}.property-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.property-card:hover .property-card-image img{transform:scale(1.02)}.property-card-badge{position:absolute;top:1rem;left:1rem;background:#05070abf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);color:var(--soni-gold);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;padding:.3rem .75rem;border-radius:999px}.property-card-body{padding:1.75rem;display:flex;flex-direction:column;flex:1}.property-card-body h3{font-size:1.45rem;margin-bottom:.4rem}.property-card-location{display:flex;align-items:center;gap:.4rem;color:var(--soni-text-muted);font-size:.85rem;margin-bottom:1rem}.property-card-desc{color:var(--soni-text-muted);font-size:.9rem;margin-bottom:1.5rem;flex:1}.property-card-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--soni-card-border);padding-top:1.25rem;margin-top:auto}.property-rate-label{font-size:.75rem;color:var(--soni-text-dim);text-transform:uppercase;letter-spacing:.05em}.property-rate-value{font-size:1rem;font-weight:700;color:var(--soni-gold)}.btn-card{background:transparent;border:1px solid var(--soni-card-border);color:var(--soni-green);padding:.55rem 1.15rem;border-radius:4px;font-size:.85rem;font-weight:600;transition:all .2s}.btn-card:hover{background:var(--soni-green);color:#fff;border-color:var(--soni-green)}.property-card-location span{display:none}.standard-index{color:var(--soni-gold);font-size:.76rem;font-weight:800;letter-spacing:.16em;margin-bottom:.9rem}.property-banner{position:relative;min-height:52vh;display:flex;align-items:flex-end;padding:4rem 2rem 3rem;overflow:hidden}.banner-backdrop{position:absolute;inset:0;z-index:0}.banner-backdrop img{width:100%;height:100%;object-fit:cover}.banner-overlay{position:absolute;inset:0;background:linear-gradient(0deg,#05070a,#05070a99 60%,#00000080)}.banner-content{position:relative;z-index:10;max-width:1240px;margin:0 auto;width:100%}.banner-content .eyebrow{color:var(--soni-gold);font-size:.8rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.5rem}.banner-content h1{font-size:clamp(2.5rem,5vw,4.2rem);margin-bottom:.6rem;color:#fff}.banner-location{display:flex;align-items:center;gap:.5rem;color:#ffffffc7;font-size:.95rem}.stay-layout{max-width:1240px;margin:0 auto;padding:3.5rem 2rem;display:grid;grid-template-columns:1fr 380px;gap:3.5rem;align-items:start}.gallery-section h3,.amenities-section h3,.rooms-section h3{font-size:1.6rem;margin-bottom:1.25rem}.photo-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:3.5rem}.gallery-thumb{height:190px;border-radius:var(--soni-radius);overflow:hidden;border:1px solid var(--soni-card-border)}.gallery-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-thumb:hover img{transform:scale(1.08)}.amenities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin-bottom:3.5rem}.amenity-chip{display:flex;align-items:center;gap:.6rem;background:var(--soni-card-bg);border:1px solid var(--soni-card-border);padding:.75rem 1rem;border-radius:12px;font-size:.88rem;color:var(--soni-text-muted)}.amenity-chip span.icon{color:var(--soni-gold);font-size:1rem}.room-selection-card{background:var(--soni-card-bg);border:1px solid var(--soni-card-border);border-radius:var(--soni-radius-lg);overflow:hidden;margin-bottom:2rem;transition:border-color .2s}.room-selection-card.selected{border-color:var(--soni-gold);box-shadow:0 0 30px var(--soni-gold-glow)}.room-card-content{display:grid;grid-template-columns:240px 1fr}.room-photo{height:100%;min-height:200px;overflow:hidden}.room-photo img{width:100%;height:100%;object-fit:cover}.room-details{padding:1.5rem;display:flex;flex-direction:column}.room-details h4{font-size:1.35rem;margin-bottom:.35rem}.room-capacity-badge{font-size:.8rem;color:var(--soni-gold);font-weight:700;margin-bottom:.6rem}.room-desc{color:var(--soni-text-muted);font-size:.88rem;margin-bottom:1.25rem}.room-plans-list{display:flex;flex-direction:column;gap:.6rem;margin-top:auto}.plan-item{display:flex;align-items:center;justify-content:space-between;background:#f7f3eb;border:1px solid var(--soni-card-border);border-radius:10px;padding:.75rem 1rem}.plan-name{font-size:.88rem;font-weight:600}.plan-rate{font-size:1.1rem;font-weight:800;color:var(--soni-gold)}.booking-dock-card{position:sticky;top:6rem;background:var(--soni-card-bg);border:1px solid var(--soni-card-border);border-radius:var(--soni-radius-lg);padding:2rem;box-shadow:0 20px 45px #1f342c24}.booking-dock-card h3{font-size:1.35rem;margin-bottom:.5rem}.dock-guarantee{display:flex;align-items:center;gap:.5rem;color:var(--soni-gold);font-size:.8rem;font-weight:700;margin-bottom:1.5rem}.dock-summary-row{display:flex;justify-content:space-between;font-size:.9rem;color:var(--soni-text-muted);padding:.5rem 0;border-bottom:1px solid var(--soni-card-border)}.dock-total-row{display:flex;justify-content:space-between;font-size:1.25rem;font-weight:800;color:var(--soni-text);padding:1rem 0}.btn-book-stay{display:block;width:100%;background:var(--soni-green);color:#fff;font-size:1rem;font-weight:800;padding:1rem;border-radius:5px;text-align:center;cursor:pointer;border:none;box-shadow:none;transition:all .2s}.btn-book-stay:hover{background:#245448}.page-shell{width:min(760px,calc(100% - 2rem));margin:0 auto;padding:5rem 0 7rem}.eyebrow{color:var(--soni-gold);font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.prose h1{font-size:clamp(2.4rem,5vw,4rem);margin:.5rem 0 2rem}.prose h2{font-size:1.5rem;margin:2.5rem 0 .75rem}.prose p,.prose li{color:var(--soni-text-muted);margin-bottom:1rem}.prose ul{padding-left:1.25rem}@media(max-width:1024px){.hero-container,.stay-layout{grid-template-columns:1fr}.footer-content{grid-template-columns:1fr 1fr}}@media(max-width:768px){.site-header{padding:1rem}.header-nav{width:100%;overflow-x:auto;gap:1rem;padding-top:.65rem}.site-header{align-items:flex-start;flex-wrap:wrap}.brand-badge{display:none}.header-nav a{white-space:nowrap}.home-hero{min-height:auto;padding-top:4rem}.hero-container{gap:2rem}.properties-grid,.form-row{grid-template-columns:1fr}.photo-gallery-grid{grid-template-columns:1fr 1fr}.room-card-content{grid-template-columns:1fr}.room-photo{height:180px}.footer-content{grid-template-columns:1fr}.footer-bottom{align-items:flex-start;flex-direction:column;gap:.75rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{color-scheme:dark;--soni-dark: #050505;--soni-card-bg: #0b0e10;--soni-card-border: rgba(255, 255, 255, .12);--soni-card-hover: rgba(255, 255, 255, .26);--soni-input-bg: #191919;--soni-gold: #d5b178;--soni-gold-hover: #ead1a9;--soni-gold-glow: rgba(213, 177, 120, .16);--soni-text: #f7f7f5;--soni-text-muted: rgba(255, 255, 255, .68);--soni-text-dim: rgba(255, 255, 255, .48);--soni-green: #0d1515;--soni-radius: 10px;--soni-radius-lg: 16px}html{background:#050505}body{background:#050505;color:var(--soni-text);font-family:Inter,Helvetica Neue,Arial,sans-serif}h1,h2,h3,h4,.font-serif{color:var(--soni-text);font-family:Inter,Helvetica Neue,Arial,sans-serif}.site-header{position:fixed;inset:0 0 auto;z-index:50;padding:1.5rem;border:0;background:linear-gradient(180deg,rgba(2,8,11,.55),transparent);color:#fff}.site-header-inner{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem}.brand-container{justify-self:start;display:inline-flex;align-items:center;gap:.45rem;color:#fff}.official-header-logo{display:block;width:clamp(8rem,11vw,10rem);height:auto;object-fit:contain;object-position:left center}.brand-logo-text{color:#fff;font-family:Georgia,Times New Roman,serif;font-size:.95rem;font-weight:400;letter-spacing:.025em}.brand-logo-text span{font-family:Inter,Helvetica Neue,Arial,sans-serif;font-size:.42em;font-weight:700;letter-spacing:.18em;vertical-align:.18em}.header-nav{display:flex;align-items:center;justify-content:center;gap:2.5rem}.header-nav a{color:#ffffffe0;font-size:.73rem;font-weight:700;letter-spacing:-.01em}.header-nav a:hover{color:#fff}.header-actions{justify-self:end;display:flex;align-items:center;gap:1rem}.theme-control{display:inline-grid;place-items:center;width:2rem;height:2rem;padding:0;border:0;background:transparent;color:#ffffffe6;cursor:pointer}.theme-control span{font-size:1rem;font-weight:300;line-height:1}.theme-control:hover{color:#fff}.mobile-title-break{display:none}.header-cta{padding:.52rem 1.15rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:#0a0d0e26;box-shadow:none;color:#fff!important;font-size:.72rem;font-weight:700!important}.header-cta:hover{background:#ffffff1f;transform:none}.home-page{background:#050505}.home-hero{min-height:86svh;padding:7rem 2rem 4rem}.hero-backdrop img{filter:saturate(.86) contrast(1.04)}.hero-overlay{background:linear-gradient(180deg,#03090c85,#02070947 32%,#02070980),linear-gradient(90deg,rgba(1,7,10,.38),transparent 68%)}.hero-container{width:min(1180px,100%);min-height:calc(86svh - 11rem);grid-template-columns:minmax(0,1fr) minmax(320px,390px);gap:clamp(4rem,10vw,11rem)}.hero-text-block{align-self:center}.hero-title{margin:0 0 1.2rem;max-width:620px;color:#fff;font-size:clamp(3.35rem,5.2vw,5.55rem);font-weight:780;letter-spacing:-.052em;line-height:.98;text-wrap:balance;text-shadow:0 2px 24px rgba(0,0,0,.25)}.hero-subtitle{max-width:560px;color:#ffffffd6;font-size:clamp(.95rem,1.3vw,1.15rem);font-weight:500;letter-spacing:-.01em}.search-card{align-self:center;padding:1.5rem;border:1px solid rgba(255,255,255,.04);border-radius:16px;background:#060a0cf5;box-shadow:0 30px 70px #00000061;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.search-form{gap:1rem}.form-field{gap:.45rem}.form-row{gap:.8rem}.field-label{color:#ffffffb8;font-size:.62rem;font-weight:800;letter-spacing:.04em}.field-input,.field-select{min-height:3rem;padding:.7rem .9rem;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:#191919;color:#f5f5f3;font-size:.83rem;color-scheme:dark}.field-input:focus,.field-select:focus{border-color:#ffffff8c;box-shadow:0 0 0 3px #ffffff1a}.btn-search{min-height:3.05rem;margin-top:.15rem;padding:.8rem 1.5rem;border-radius:999px;background:#f4f4f3;color:#101010;font-size:.82rem;font-weight:750}.btn-search:hover{background:#fff}.curated-section{max-width:1180px;padding-top:4.5rem;padding-bottom:6rem}.curated-section .section-header{margin-bottom:2.5rem}.curated-section .section-header h2{font-size:clamp(2rem,3vw,3.3rem);font-weight:720;letter-spacing:-.04em}.curated-section .section-header p{margin-top:.7rem;margin-bottom:0;color:var(--soni-text-muted);font-size:.92rem;font-weight:450;letter-spacing:0;text-transform:none}.properties-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.property-card{border-color:#ffffff1a;background:#0b0e10}.property-card:hover{border-color:#ffffff3d;box-shadow:0 18px 50px #0006}.property-card-badge{border:1px solid rgba(255,255,255,.12);background:#050809c7;color:#fff}.property-card-body{color:var(--soni-text-muted)}.property-card h3{color:#fff}.property-card-location,.property-card-desc,.property-rate-label{color:var(--soni-text-muted)}.property-rate-value{color:#fff}.btn-card{border-color:#ffffff40;color:#fff}.btn-card:hover{border-color:#fff;background:#fff;color:#080808}.booking-standard .search-card{background:#0b0e10}.auth-shell{width:min(34rem,calc(100% - 2rem));min-height:82vh;padding-top:8.5rem;display:grid;place-content:center}.auth-card{padding:clamp(1.5rem,5vw,2.5rem)}.auth-card h1{margin:.55rem 0 .65rem;font-size:clamp(2rem,5vw,2.8rem);letter-spacing:-.04em}.auth-intro{margin-bottom:1.75rem;color:var(--soni-text-muted);font-size:.92rem;line-height:1.7}.google-auth-button{width:100%;min-height:3.15rem;display:flex;align-items:center;justify-content:center;gap:.75rem;border:1px solid var(--soni-card-border);border-radius:999px;background:#fff;color:#111;font-size:.86rem;font-weight:750;cursor:pointer}.google-auth-button:hover{background:#f3f3f3}.google-auth-button:disabled,.btn-search:disabled{cursor:wait;opacity:.65}.google-mark{display:inline-grid;width:1.35rem;height:1.35rem;place-items:center;border-radius:999px;background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 43%,#fbbc05 0 66%,#ea4335 0 83%,#4285f4 0);color:#fff;font-size:.72rem;font-weight:900}.auth-divider{margin:1.5rem 0;display:flex;align-items:center;gap:.9rem;color:var(--soni-text-dim);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--soni-card-border)}.auth-message{padding:.8rem .9rem;border:1px solid rgba(213,177,120,.5);border-radius:9px;background:#d5b1781a;color:var(--soni-text);font-size:.82rem;line-height:1.55}.auth-note{margin:1.35rem 0 0;color:var(--soni-text-dim);font-size:.74rem;line-height:1.6;text-align:center}.site-footer{border-top:1px solid rgba(255,255,255,.1);background:#050505}.footer-col h4{color:#fff}.footer-col a,.footer-brand p,.footer-bottom{color:var(--soni-text-muted)}html[data-theme=light]{color-scheme:light;--soni-dark: #f3f0e9;--soni-card-bg: #fffdf8;--soni-card-border: rgba(24, 35, 32, .16);--soni-card-hover: rgba(24, 35, 32, .32);--soni-input-bg: #f7f4ee;--soni-gold: #8f5e2b;--soni-gold-hover: #75491f;--soni-gold-glow: rgba(149, 101, 47, .18);--soni-text: #17251f;--soni-text-muted: #53635d;--soni-text-dim: #5f6f68;--soni-green: #173f34}html[data-theme=light] body,html[data-theme=light] .home-page{background:#f3f0e9;color:var(--soni-text)}html[data-theme=light] .curated-section,html[data-theme=light] .booking-standard{background:#f3f0e9}html[data-theme=light] .property-card,html[data-theme=light] .booking-standard .search-card,html[data-theme=light] .auth-card{border-color:var(--soni-card-border);background:#fffdf8;color:var(--soni-text)}html[data-theme=light] .property-card h3,html[data-theme=light] .property-rate-value,html[data-theme=light] .auth-card h1{color:var(--soni-text)}html[data-theme=light] .field-input,html[data-theme=light] .field-select{border-color:var(--soni-card-border);background:#f7f4ee;color:var(--soni-text);color-scheme:light}html[data-theme=light] .auth-card .btn-search{background:#17251f;color:#fff}html[data-theme=light] .btn-card{border-color:#1823204d;background:transparent;color:var(--soni-green)}html[data-theme=light] .btn-card:hover{border-color:var(--soni-green);background:var(--soni-green);color:#fff}html[data-theme=light] .auth-card .hero-eyebrow{color:var(--soni-gold)}html[data-theme=light] .site-footer{border-color:var(--soni-card-border);background:#e8e3da;color:var(--soni-text)}html[data-theme=light] .site-footer .brand-logo-text,html[data-theme=light] .footer-col h2{color:var(--soni-text)}@media(max-width:900px){.site-header{padding:1.1rem 1.25rem}.site-header-inner{grid-template-columns:1fr auto}.header-nav{display:none}.hero-container{grid-template-columns:minmax(0,1fr);gap:2.5rem}.hero-container,.hero-text-block,.search-card{min-width:0}.hero-text-block{padding-top:2rem}.search-card{width:min(100%,500px)}.properties-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.brand-logo-text{font-size:.82rem}.official-header-logo{width:7.8rem}.theme-control{width:1.75rem;height:1.75rem}.header-actions{gap:.5rem}.header-cta{padding:.45rem .9rem}.home-hero{min-height:auto;padding:7.5rem 1.2rem 3rem}.hero-container{min-height:auto;gap:2rem}.hero-title{font-size:clamp(2.65rem,12vw,3.5rem)}.mobile-title-break{display:inline}.hero-subtitle{font-size:.92rem}.search-card{padding:1.1rem}.form-row{grid-template-columns:1fr 1fr}.curated-section{padding:3.5rem 1.2rem 5rem}.properties-grid{grid-template-columns:1fr}}@media(max-width:400px){.form-row{grid-template-columns:1fr}}html{scroll-behavior:smooth}html,body{max-width:100%;overflow-x:clip}main{min-width:0}img{max-width:100%}.skip-link{position:fixed;z-index:1000;top:.75rem;left:.75rem;padding:.7rem 1rem;border-radius:.4rem;background:#fff;color:#111;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.search-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.property-overview{margin-bottom:3rem}.property-overview h2,.gallery-section h2,.amenities-section h2,.rooms-section h2,.stay-facts h2,.faq-section h2{margin-bottom:1rem;font-size:clamp(1.5rem,3vw,2rem)}.property-overview p{margin-bottom:1rem;color:var(--soni-text-muted);font-size:1rem;line-height:1.75}.room-selection-card{display:block;width:100%;padding:0;color:inherit;text-align:left;cursor:pointer}.room-selection-card:hover{border-color:var(--soni-card-hover)}.room-selection-card:disabled{cursor:not-allowed;opacity:.65}.room-details{min-width:0}.plan-item{flex-wrap:wrap;gap:.4rem 1rem}.plan-name,.plan-rate{min-width:0;overflow-wrap:anywhere}.room-listing{margin-bottom:2rem}.room-listing .room-selection-card{margin-bottom:0}.room-detail-link{display:inline-block;margin:.7rem 0 0 .25rem;color:var(--soni-gold);font-weight:700;text-decoration:underline;text-underline-offset:.2em}.room-title{display:block;margin-bottom:.35rem;font-size:1.35rem;font-weight:700}.room-capacity-badge,.room-desc,.room-plans-list,.plan-item{display:flex}.room-desc{display:block}.selected-room-name{color:var(--soni-gold);font-size:.95rem}.booking-price-summary{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--soni-card-border)}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(19rem,26.25rem);gap:3rem;align-items:start}.booking-fields{display:grid;gap:1rem;margin-bottom:1.25rem}.booking-fields-two{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-fields-three{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-price-summary small{display:block;color:var(--soni-text-dim);line-height:1.5}.btn-book-stay:disabled{cursor:not-allowed;opacity:.55}.stay-facts,.faq-section{margin-top:3rem}.stay-facts dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.stay-facts dl div{padding:1rem;border:1px solid var(--soni-card-border);border-radius:var(--soni-radius)}.stay-facts dt{color:var(--soni-text-dim);font-size:.75rem;font-weight:700;text-transform:uppercase}.stay-facts dd{margin-top:.35rem;color:var(--soni-text)}.stay-facts p{margin-top:1rem;color:var(--soni-text-muted)}.stay-facts address{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;font-style:normal}.stay-facts address a{text-decoration:underline;text-underline-offset:.2em}.faq-section details{padding:1rem 0;border-top:1px solid var(--soni-card-border)}.faq-section summary{cursor:pointer;font-weight:700}.faq-section details p{padding-top:.75rem;color:var(--soni-text-muted)}.breadcrumb{margin:3rem 0 1.5rem;color:var(--soni-text-muted);font-size:.85rem}.breadcrumb a{text-decoration:underline;text-underline-offset:.2em}.room-detail-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr);gap:clamp(1.5rem,5vw,4rem);align-items:start}.room-detail-image{width:100%;aspect-ratio:4 / 3;border-radius:var(--soni-radius-lg);object-fit:cover}.room-detail-page h1{margin:.5rem 0 1rem;font-size:clamp(2.25rem,6vw,4rem)}.room-detail-page h2{margin:2rem 0 .8rem;font-size:1.2rem}.room-lead,.pay-at-hotel-note{color:var(--soni-text-muted);line-height:1.75}.room-facts{display:flex;gap:1rem;margin-top:1.5rem}.room-facts div{min-width:7rem;padding:.8rem;border:1px solid var(--soni-card-border);border-radius:var(--soni-radius)}.room-facts dt{color:var(--soni-text-dim);font-size:.72rem;text-transform:uppercase}.room-facts dd{margin:.25rem 0 0}.room-amenities{padding-left:1.25rem;color:var(--soni-text-muted)}.room-rate-list{display:grid;gap:.6rem;padding:0;list-style:none}.room-rate-list li{display:flex;justify-content:space-between;gap:1rem;padding:.8rem;border:1px solid var(--soni-card-border);border-radius:var(--soni-radius)}.room-rate-list span{color:var(--soni-text-muted);text-align:right}.pay-at-hotel-note{margin:1.5rem 0}.room-book-link{display:inline-block;padding:.85rem 1.25rem}.room-assistance{margin:1rem 0;color:var(--soni-text-muted);line-height:1.7}.room-assistance a{color:var(--soni-gold);text-decoration:underline}.booking-help{margin:1rem 0;padding:1rem;border:1px solid var(--soni-card-border);border-radius:var(--soni-radius)}.booking-help p{margin:.4rem 0 .8rem;color:var(--soni-text-muted);font-size:.78rem;line-height:1.55}.booking-help div{display:flex;flex-wrap:wrap;gap:.5rem}.booking-help a{color:var(--soni-gold);font-size:.8rem;font-weight:700;text-decoration:underline}html[data-theme=light] .room-selection-card,html[data-theme=light] .booking-dock-card,html[data-theme=light] .amenity-chip{background:var(--soni-card-bg);color:var(--soni-text)}html[data-theme=light] .plan-item{background:#f7f4ee}html[data-theme=light] .plan-name{color:#17251f}html[data-theme=light] .plan-rate{color:#71471f}@media(max-width:900px){.search-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-filter-grid .btn-search{grid-column:1 / -1}.stay-layout{padding:2.5rem 1.25rem;gap:2.5rem}.booking-dock-card{position:static}.booking-layout{grid-template-columns:minmax(0,1fr);gap:2rem}.room-detail-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.site-header{padding-top:max(1rem,env(safe-area-inset-top))}.search-filter-grid,.booking-date-row,.stay-facts dl{grid-template-columns:1fr}.booking-fields-two,.booking-fields-three{grid-template-columns:minmax(0,1fr)}.room-rate-list li{align-items:flex-start;flex-direction:column}.room-rate-list span{text-align:left}.property-banner{min-height:25rem}.banner-content{padding:7rem 1.25rem 2.5rem}.banner-content h1{font-size:clamp(2.25rem,12vw,3.2rem);overflow-wrap:anywhere}.stay-layout{padding:2rem 1rem calc(3rem + env(safe-area-inset-bottom))}.photo-gallery-grid{grid-template-columns:1fr}.gallery-thumb{height:14rem}.room-details{padding:1.1rem;min-width:0}.plan-item{align-items:flex-start;flex-direction:column;gap:.35rem}.plan-rate{font-size:.95rem}.booking-dock-card{padding:1.25rem}.footer-bottom{padding-bottom:calc(2rem + env(safe-area-inset-bottom))}}.booking-standard{border-top:1px solid var(--soni-card-border)}.booking-benefits{padding:4rem 0}.booking-benefits-heading{max-width:46rem;margin-bottom:2.25rem}.booking-benefits-heading h2{margin:.45rem 0 .75rem;font-size:clamp(2rem,5vw,3.5rem)}.booking-benefits-heading>p:last-child{color:var(--soni-text-muted);line-height:1.7}.booking-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.booking-benefit{display:flex;gap:1rem;padding:1.35rem;border:1px solid var(--soni-card-border);border-radius:var(--soni-radius-lg);background:var(--soni-card-bg)}.booking-benefit h3{margin-bottom:.45rem;font-size:1rem}.booking-benefit p{color:var(--soni-text-muted);font-size:.88rem;line-height:1.65}.booking-benefit-icon{flex:0 0 2.5rem;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--soni-gold-glow);color:var(--soni-gold)}.booking-benefit-icon svg{width:1.25rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.booking-benefit-actions,.footer-contact-actions,.hotel-contact address{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.booking-benefit-actions a,.hotel-contact address a{padding:.75rem 1rem;border:1px solid var(--soni-card-border);border-radius:999px;font-weight:700}.booking-benefits-compact{margin:3rem 0;padding:2rem;border:1px solid var(--soni-card-border);border-radius:var(--soni-radius-lg);background:var(--soni-card-bg)}.booking-benefits-compact .booking-benefits-heading{margin-bottom:1.5rem}.booking-benefits-compact .booking-benefits-heading h2{font-size:clamp(1.5rem,3vw,2rem)}.booking-benefits-compact .booking-benefit{padding:0;border:0;background:transparent}.hotel-contact{margin-top:3rem;padding:2rem;border:1px solid var(--soni-card-border);border-radius:var(--soni-radius-lg)}.hotel-contact>p:not(.eyebrow){max-width:48rem;color:var(--soni-text-muted);line-height:1.7}.hotel-contact h2{margin:.5rem 0 .8rem;font-size:clamp(1.5rem,3vw,2rem)}.destination-hero-image{width:100%;max-height:38rem;margin:0 0 2rem;border-radius:var(--soni-radius-lg);object-fit:cover}.destination-copy{max-width:54rem;margin-bottom:2.5rem;color:var(--soni-text-muted);line-height:1.8}.destination-copy p+p{margin-top:1rem}.destination-guidance{max-width:54rem;margin-bottom:3rem;padding:1.5rem;border:1px solid var(--soni-card-border);border-radius:var(--soni-radius-lg);background:var(--soni-card-bg)}.destination-guidance h2{margin-bottom:.5rem;font-size:1.2rem}.destination-guidance p{color:var(--soni-text-muted);line-height:1.7}.destination-faqs{max-width:54rem}.dock-assistance{margin:-.4rem 0 1rem;color:var(--soni-text-muted);font-size:.8rem}.dock-assistance a{color:var(--soni-gold);text-decoration:underline}.footer-contact-actions{flex-direction:column;align-items:flex-start;margin-top:1rem}.footer-contact-actions a{color:inherit;text-decoration:underline;text-underline-offset:.2em}.footer-col h2{color:#fff;font-size:.9rem}.mobile-navigation{display:none}.mobile-menu-trigger{min-width:3.5rem;min-height:2.5rem;padding:.45rem .7rem;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:#05050540;color:#fff;font-weight:700}.mobile-menu-backdrop{position:fixed;inset:0;z-index:55;visibility:hidden;border:0;background:#000000a6;opacity:0;transition:opacity .18s ease}.mobile-menu-backdrop.is-open{visibility:visible;opacity:1}.mobile-menu-drawer{position:fixed;z-index:56;inset:0 0 0 auto;visibility:hidden;width:min(88vw,24rem);padding:max(5rem,calc(3rem + env(safe-area-inset-top))) 1.5rem calc(2rem + env(safe-area-inset-bottom));background:#07110f;color:#fff;transform:translate(100%);transition:transform .22s ease,visibility .22s;overflow-y:auto}.mobile-menu-drawer.is-open{visibility:visible;transform:translate(0)}.mobile-menu-eyebrow{margin-bottom:1rem;color:#d5b178;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.mobile-menu-drawer nav{display:grid}.mobile-menu-drawer nav a{padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.12);color:#fff;font-size:1.25rem;font-weight:750}.mobile-menu-drawer nav a[aria-current=page]{color:#d5b178}.mobile-menu-destination-group{margin-top:.5rem;border-bottom:1px solid rgba(255,255,255,.12)}.mobile-menu-drawer nav .mobile-menu-parent-link{display:block;padding-bottom:.65rem;border-bottom:0;color:#d5b178;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}.mobile-menu-destination-links{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;padding:0 0 1rem 1rem;border-left:2px solid rgba(213,177,120,.45)}.mobile-menu-drawer nav .mobile-menu-destination-links a{min-height:2.75rem;padding:.65rem .75rem;border:1px solid rgba(255,255,255,.14);border-radius:.65rem;font-size:1rem}.mobile-contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:2rem}.mobile-contact-actions a{padding:.8rem;border:1px solid rgba(255,255,255,.25);border-radius:999px;color:#fff;font-size:.78rem;font-weight:700;text-align:center}.mobile-account-actions{display:flex;align-items:center;gap:1rem;margin-top:1.5rem}.hotel-detail-page{padding-bottom:7rem}.hotel-anchor-section{scroll-margin-top:5.5rem}.hotel-section-nav{position:fixed;z-index:45;right:50%;bottom:1.25rem;width:min(76rem,calc(100vw - 3rem));border:1px solid var(--soni-card-border);border-radius:1rem;background:color-mix(in srgb,var(--soni-dark) 96%,transparent);box-shadow:0 1rem 3rem #00000059;transform:translate(50%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hotel-section-nav-inner{display:flex;width:100%;margin:0 auto;padding:.55rem .7rem;gap:.25rem;overflow-x:auto;scrollbar-width:thin}.hotel-section-nav a{flex:0 0 auto;padding:.65rem .85rem;border-radius:999px;color:var(--soni-text-muted);font-size:.78rem;font-weight:750;white-space:nowrap}.hotel-section-nav a[aria-current=location],.hotel-section-nav a:hover{background:var(--soni-card-bg);color:var(--soni-text)}.hotel-section-nav a:last-child{margin-left:auto;background:var(--soni-gold);color:#fff}body:has(.hotel-section-nav) .site-footer{padding-bottom:8rem}.gallery-thumb{padding:0;border:0;color:inherit;cursor:zoom-in}.gallery-thumb:focus-visible{outline:3px solid var(--soni-gold);outline-offset:3px}.gallery-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#050706;color:#fff}.gallery-dialog::backdrop{background:#000000e0}.gallery-dialog-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;height:100%;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.gallery-dialog-topline,.gallery-dialog-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem}.gallery-dialog button{min-width:2.75rem;min-height:2.75rem;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:#ffffff14;color:#fff;cursor:pointer}.gallery-stage{position:relative;display:grid;place-items:center;min-height:0;margin:1rem 0}.gallery-stage>span,.gallery-stage>p{position:absolute;z-index:1}.gallery-stage img{width:100%;height:100%;object-fit:contain}.gallery-stage picture{display:contents}.gallery-thumb picture{display:block;width:100%;height:100%}.gallery-thumb picture img{width:100%;height:100%;object-fit:cover}.gallery-stage-loading img,.gallery-stage-error img{opacity:0}.gallery-dialog-controls p{color:#ffffffd1;text-align:center}.gallery-dialog-thumbs{display:flex;justify-content:center;gap:.4rem;margin-top:.8rem;overflow-x:auto}.gallery-dialog-thumbs button{flex:0 0 3.5rem;width:3.5rem;overflow:hidden;border-radius:.35rem;opacity:.6}.gallery-dialog-thumbs button[aria-current=true]{border-color:#d5b178;opacity:1}.gallery-dialog-thumbs img{width:100%;height:100%;object-fit:cover}@media(max-width:900px){.site-header-inner{grid-template-columns:1fr auto}.header-actions{display:none}.mobile-navigation{display:block;justify-self:end}.hotel-detail-page{padding-bottom:calc(5.4rem + env(safe-area-inset-bottom))}.hotel-anchor-section{scroll-margin-top:5.5rem}.hotel-section-nav{inset:auto 0 0;width:100%;padding-bottom:env(safe-area-inset-bottom);border-width:1px 0 0;border-radius:0;background:color-mix(in srgb,var(--soni-dark) 97%,transparent);box-shadow:0 -.75rem 2rem #00000047;transform:none}.hotel-section-nav-inner{padding:.55rem .75rem}.hotel-section-nav a:last-child{margin-left:0}body:has(.hotel-section-nav) .site-footer{padding-bottom:calc(6rem + env(safe-area-inset-bottom))}.booking-benefit-grid{grid-template-columns:1fr}.booking-benefits-compact{padding:1.25rem}}@media(max-width:640px){.booking-benefits{padding:3rem 0}.booking-benefit-grid{gap:.75rem}.gallery-dialog-thumbs{display:none}.gallery-dialog-controls p{font-size:.82rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mobile-menu-drawer,.mobile-menu-backdrop{transition:none}}
