@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/cormorant-garamond-latin-300-normal-Cw-E_7L1.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-300-normal-BuXLI6C0.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-400-normal-B7YtguxJ.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-italic-Dc_OZ8oc.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-400-italic-BLh7T8o8.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-normal-Co1r35X9.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-600-normal-2CBVLo0M.woff)format("woff")}:root{--navy:#1c2541;--navy-deep:#0b1325;--navy-soft:#2e3b5c;--gold:#c2a878;--gold-text:#7a5e2a;--gold-light:#e4d2a8;--gold-muted:#c2a87826;--gold-subtle:#c2a87814;--terracotta:#a8573c;--terracotta-light:#c07056;--cream:#f9f8f6;--cream-warm:#f5f3f0;--warm-white:#fff;--charcoal:#2a2a2a;--charcoal-soft:#3d3d3d;--muted:#4f4f4f;--muted-light:#c8c8c8;--teal:#5b8f8f;--sage:#7a8f7a;--border:#e5e1dc;--border-light:#eeebe7;--font-display:"Cormorant Garamond", "Palatino Linotype", Palatino, Georgia, serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--section-py:120px;--section-py-mobile:72px;--max-w:1240px;--gutter:24px;--shadow-subtle:0 1px 2px #0000000a;--shadow-sm:0 2px 8px #0000000f;--shadow-md:0 8px 24px #00000014;--shadow-lg:0 16px 48px #0000001a;--shadow-image:0 12px 40px #1b3a5c26;--r-xs:3px;--r-sm:6px;--r-md:10px;--r-lg:16px;--r-xl:24px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--t-fast:.2s;--t-base:.4s;--t-slow:.7s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-body);color:var(--charcoal-soft);background:var(--warm-white);font-size:15px;line-height:1.75;overflow-x:hidden}#root{overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}ul,ol{list-style:none}h1,h2,h3,h4,h5{font-family:var(--font-display);color:var(--navy);font-weight:400;line-height:1.15}h1{letter-spacing:-1.5px;font-size:clamp(3rem,7vw,5.5rem);font-weight:300}h2{letter-spacing:-.5px;font-size:clamp(2rem,4.5vw,3.25rem)}h3{font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:500}p{color:var(--muted)}.container{max-width:var(--max-w);padding:0 var(--gutter);width:100%;margin:0 auto}.section-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:3px;color:var(--gold-text);align-items:center;gap:12px;margin-bottom:20px;font-size:.75rem;font-weight:600;display:inline-flex}.section-label:before{content:"";background:var(--gold);width:40px;height:1px}.section-title{margin-bottom:16px}.section-subtitle{color:var(--muted);max-width:520px;font-size:1rem;line-height:1.8}.btn-primary{background:var(--navy);color:var(--warm-white);font-family:var(--font-body);letter-spacing:1.2px;text-transform:uppercase;transition:all var(--t-base) var(--ease-out);border:none;align-items:center;gap:10px;padding:16px 36px;font-size:.8rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn-primary:before{content:"";background:var(--gold);transition:transform var(--t-base) var(--ease-out);position:absolute;inset:0;transform:translateY(102%)}.btn-primary:hover{color:var(--navy-deep)}.btn-primary:hover:before{transform:translateY(0)}.btn-primary span,.btn-primary svg{z-index:1;position:relative}.btn-secondary{color:var(--warm-white);font-family:var(--font-body);letter-spacing:1.2px;text-transform:uppercase;transition:all var(--t-base) var(--ease-out);background:0 0;border:1px solid #ffffff59;align-items:center;gap:10px;padding:16px 36px;font-size:.8rem;font-weight:600;display:inline-flex}.btn-secondary:hover{background:#ffffff1f;border-color:#fff9}.section-divider{background:var(--gold);border:none;width:48px;height:1px;margin:0 auto}.section-divider.left{margin:0}.reveal,.reveal-left,.reveal-right{opacity:1}.skip-link{z-index:3000;background:var(--navy);color:var(--warm-white);padding:10px 16px;font-size:.85rem;font-weight:600;position:absolute;top:-48px;left:16px}.skip-link:focus{top:12px}.navbar{z-index:1000;transition:all .5s var(--ease-out);background:var(--warm-white);box-shadow:0 1px 0 var(--border);padding:0 32px;position:fixed;top:0;left:0;right:0}.navbar.scrolled{background:var(--warm-white);-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);box-shadow:0 1px 0 var(--border)}.nav-inner{max-width:1040px;height:88px;transition:height .5s var(--ease-out);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.navbar.scrolled .nav-inner{height:64px}.nav-logo{align-items:center;gap:14px;text-decoration:none;display:flex}.nav-logo img{object-fit:cover;width:46px;height:46px;transition:height .5s var(--ease-out), width .5s var(--ease-out);border-radius:4px}.navbar.scrolled .nav-logo img{width:38px;height:38px}.nav-logo-text{flex-direction:column;gap:1px;display:flex}.nav-logo-name{font-family:var(--font-display);color:var(--navy);letter-spacing:.5px;font-size:1.2rem;font-weight:500;line-height:1.2}.nav-logo-sub{text-transform:uppercase;letter-spacing:2.5px;color:var(--muted);font-size:.65rem;font-weight:600}.nav-links{align-items:center;gap:36px;display:flex}.nav-links a{letter-spacing:.8px;text-transform:uppercase;color:var(--muted);transition:color var(--t-fast);font-size:.78rem;font-weight:500;position:relative}.nav-links a:not(.nav-cta):after{content:"";background:var(--gold);width:0;height:1px;transition:width var(--t-base) var(--ease-out);position:absolute;bottom:-4px;left:0}.nav-links a:hover{color:var(--navy)}.nav-links a:not(.nav-cta):hover:after{width:100%}.nav-cta{border:1px solid var(--navy)!important;color:var(--navy)!important;letter-spacing:1.5px!important;transition:all var(--t-base) var(--ease-out)!important;padding:10px 28px!important;font-size:.72rem!important}.nav-cta:hover{background:var(--navy)!important;color:var(--warm-white)!important}.nav-cta:after{display:none!important}.menu-toggle{z-index:1001;flex-direction:column;gap:6px;padding:8px;display:none}.menu-toggle span{background:var(--navy);width:22px;height:1.5px;transition:all var(--t-base) var(--ease-out);transform-origin:50%;display:block}.menu-toggle.open span:first-child{transform:rotate(45deg)translate(5px,5px)}.menu-toggle.open span:nth-child(2){opacity:0;transform:scaleX(0)}.menu-toggle.open span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}@media (width<=768px){.navbar{padding:0 20px}.menu-toggle{display:flex}.nav-links{background:var(--warm-white);width:100%;height:100dvh;transition:right .5s var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:0;padding:40px 36px;position:fixed;top:0;right:-100%;box-shadow:-20px 0 60px #0000001a}.nav-links.open{right:0}.nav-links a{text-align:center;border-bottom:1px solid var(--border-light);text-transform:uppercase;letter-spacing:3px;width:100%;padding:24px 0;font-size:1.1rem;color:var(--muted)!important}.nav-links a:hover{color:var(--navy)!important}.nav-cta{text-align:center;justify-content:center;width:100%;max-width:280px;margin-top:32px!important;display:flex!important}}.mobile-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;background:#0f26404d;animation:.3s fadeIn;display:none;position:fixed;inset:0}.mobile-overlay.open{display:block}.hero{background:var(--navy-deep);justify-content:center;align-items:center;min-height:100vh;padding-top:88px;display:flex;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-bg img{object-fit:cover;opacity:.35;width:100%;height:100%;animation:20s ease-in-out infinite alternate heroZoom;transform:scale(1.05)}@keyframes heroZoom{0%{transform:scale(1.05)}to{transform:scale(1.12)}}.hero-overlay{background:linear-gradient(#141a1773 0%,#141a1740 50%,#141a178c 100%);position:absolute;inset:0}.hero-content{z-index:2;padding:40px var(--gutter);text-align:center;width:100%;max-width:820px;margin:0 auto;position:relative}.hero-top-line{justify-content:center;align-items:center;gap:16px;margin-bottom:32px;display:flex}.hero-top-line .line{background:var(--gold);width:48px;height:1px}.hero-top-line span{font-family:var(--font-body);text-transform:uppercase;letter-spacing:3px;color:var(--gold);font-size:.7rem;font-weight:600}.hero h1{color:var(--warm-white);text-shadow:0 2px 20px #0003;max-width:none;margin-bottom:28px;font-weight:300}.hero h1 span,.hero h1 em{color:var(--gold-light);font-style:italic}.hero-sub{color:#ffffffeb;max-width:540px;margin:0 auto 44px;font-size:1.05rem;line-height:1.9}.hero-desc{color:#fff9;max-width:540px;margin:0 auto 44px;font-size:1rem;line-height:1.85}.hero-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}.hero-image-card{right:calc((100vw - var(--max-w)) / 2 + var(--gutter));z-index:3;width:320px;position:absolute;bottom:80px}.hero-image-card img{object-fit:cover;border:6px solid #ffffff1a;width:100%;height:400px}.hero-image-card-caption{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f2640d9;padding:20px;position:absolute;bottom:0;left:0;right:0}.hero-image-card-caption p{font-family:var(--font-display);color:#fffc;font-size:.95rem;font-style:italic;line-height:1.5}.hero-image-card-caption span{text-transform:uppercase;letter-spacing:2px;color:var(--gold);font-size:.65rem;font-family:var(--font-body);margin-top:6px;font-weight:600;display:block}.hero-scroll{z-index:4;align-items:center;gap:12px;display:flex;position:absolute;bottom:32px;right:32px}.hero-scroll span{text-transform:uppercase;letter-spacing:3px;color:#fffc;writing-mode:vertical-rl;font-size:.65rem}.scroll-track{background:#ffffff26;width:1px;height:56px;position:relative;overflow:hidden}.scroll-track:after{content:"";background:var(--gold);width:100%;height:50%;position:absolute;top:-100%;left:0}@keyframes scrollPulse{0%{top:-50%}to{top:150%}}@media (width<=1024px){.hero-image-card{display:none}}@media (width<=768px){.hero{align-items:center;min-height:100svh}.hero-content{text-align:left;padding:120px 20px 80px}.hero-scroll{display:none}.hero-actions{flex-wrap:nowrap;justify-content:flex-start;gap:10px;width:100%}.hero-actions .btn-primary,.hero-actions .btn-secondary{white-space:nowrap;flex:1;justify-content:center;max-width:180px;padding:14px 8px;font-size:.7rem}}.wave-divider{width:100%;margin-top:-1px;line-height:0;overflow:hidden}.wave-divider svg{width:calc(100% + 1.3px);height:60px;display:block;position:relative}.wave-hero-to-about{z-index:3;background:0 0;width:100%;position:absolute;bottom:0;left:0}.wave-hero-to-about svg{fill:var(--warm-white)}.wave-about-to-values{background:var(--warm-white)}.wave-about-to-values svg{fill:var(--cream-warm)}.wave-values-to-rooms{background:var(--cream-warm)}.wave-values-to-rooms svg{fill:var(--warm-white)}.wave-rooms-to-things{background:var(--warm-white)}.wave-rooms-to-things svg{fill:var(--cream)}.wave-gallery-to-contact{background:var(--warm-white)}.wave-gallery-to-contact svg{fill:var(--cream)}.wave-contact-to-footer{background:var(--warm-white)}.wave-contact-to-footer svg{fill:var(--navy-deep)}@media (width<=768px){.wave-divider svg{height:30px}}.about{padding:var(--section-py) 0;background:var(--warm-white);position:relative}.about:before{content:"Legacy";font-family:var(--font-display);color:var(--cream);pointer-events:none;z-index:0;font-size:clamp(6rem,14vw,12rem);font-weight:300;line-height:1;position:absolute;top:60px;right:-20px}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:60px;display:grid}.about-img img{object-fit:cover;aspect-ratio:4/5;border-radius:6px;width:100%;box-shadow:0 16px 48px #0000001f}.about-text{padding-top:20px}.about-text .section-title{margin-bottom:12px}.about-text hr{margin-bottom:32px}.about-body{color:var(--muted);margin-bottom:20px;font-size:.95rem;line-height:1.9}.about-quote{background:var(--gold-subtle);border-left:3px solid var(--gold);margin:36px 0;padding:28px 32px;position:relative}.about-quote p{font-family:var(--font-display);color:var(--navy);max-width:none;font-size:1.2rem;font-style:italic;line-height:1.7}.about-quote cite{font-family:var(--font-body);text-transform:uppercase;letter-spacing:2px;color:var(--gold-text);margin-top:12px;font-size:.75rem;font-style:normal;font-weight:600;display:block}@media (width<=768px){.about{padding:60px 0}.about:before{display:none}.about-grid{grid-template-columns:1fr;gap:40px}.about-text{padding-top:0}}.values{padding:var(--section-py) 0;background:var(--cream-warm);position:relative}.values-head{text-align:center;margin-bottom:72px}.values-head .section-label:before{display:none}.values-head .section-label:after{content:"";background:var(--gold);width:40px;height:1px}.values-head .section-subtitle{margin:0 auto}.values-row{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.value-item{background:var(--warm-white);text-align:center;transition:all var(--t-base) var(--ease-out);padding:56px 40px;position:relative}.value-item:after{content:"";background:var(--gold);width:0;height:2px;transition:width var(--t-base) var(--ease-out);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.value-item:hover{background:var(--cream)}.value-item:hover:after{width:48px}.value-num{font-family:var(--font-display);color:var(--muted);transition:color var(--t-base) var(--ease-out);margin-bottom:20px;font-size:3rem;font-weight:300;line-height:1}.value-item:hover .value-num{color:var(--gold-light)}.value-icon-wrap{border:1px solid var(--border);width:52px;height:52px;color:var(--navy-soft);transition:all var(--t-base) var(--ease-out);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 24px;display:flex}.value-icon-wrap svg{width:22px;height:22px}.value-item:hover .value-icon-wrap{border-color:var(--gold);color:var(--gold);background:var(--gold-subtle)}.value-item h3{margin-bottom:14px;font-size:1.5rem;font-weight:400}.value-item p{color:var(--muted);max-width:320px;margin:0 auto;font-size:.9rem;line-height:1.8}@media (width<=768px){.values{padding:var(--section-py-mobile) 0}.values-row{grid-template-columns:1fr}.value-item{padding:40px 28px}}.rooms{padding:var(--section-py) 0;background:var(--warm-white);position:relative}.rooms:before{content:"Rooms";font-family:var(--font-display);color:var(--cream);pointer-events:none;z-index:0;font-size:clamp(6rem,14vw,11rem);font-weight:300;line-height:1;position:absolute;bottom:40px;left:-30px}.rooms-head{text-align:center;z-index:1;margin-bottom:72px;position:relative}.rooms-head .section-subtitle{margin:0 auto}.room-featured{background:var(--cream);z-index:1;border:1px solid var(--border-light);transition:box-shadow var(--t-base) var(--ease-out);grid-template-columns:1.3fr 1fr;gap:0;margin-bottom:48px;display:grid;position:relative;overflow:hidden}.room-featured:hover{box-shadow:var(--shadow-lg)}.room-featured-img{height:480px;overflow:hidden}.room-featured-img img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease-out)}.room-featured:hover .room-featured-img img{transform:scale(1.04)}.room-featured-body{flex-direction:column;justify-content:center;padding:56px 48px;display:flex}.room-featured-body .room-tag{text-transform:uppercase;letter-spacing:2.5px;color:var(--gold-text);margin-bottom:20px;font-size:.7rem;font-weight:600;display:inline-block}.room-featured-body h3{margin-bottom:18px;font-size:2rem;font-weight:400;line-height:1.2}.room-featured-body p{color:var(--muted);margin-bottom:28px;font-size:.92rem;line-height:1.85}.room-features{flex-wrap:wrap;gap:10px;display:flex}.room-feat{color:var(--navy);background:var(--warm-white);border:1px solid var(--border);letter-spacing:.3px;align-items:center;gap:7px;padding:7px 14px;font-size:.75rem;font-weight:500;display:inline-flex}.room-feat svg{width:14px;height:14px;color:var(--gold)}.rooms-grid{z-index:1;grid-template-columns:repeat(3,1fr);gap:24px;display:grid;position:relative}.room-card{border:1px solid var(--border-light);background:var(--warm-white);transition:all var(--t-base) var(--ease-out);overflow:hidden}.room-card:hover{box-shadow:var(--shadow-md);border-color:#0000}.room-card-img{height:220px;overflow:hidden}.room-card-img img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease-out)}.room-card:hover .room-card-img img{transform:scale(1.06)}.room-card-body{padding:24px}.room-card-body h3{margin-bottom:10px;font-size:1.25rem;font-weight:400}.room-card-body p{color:var(--muted);font-size:.85rem;line-height:1.75}.room-card-feats{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.room-card-feats .room-feat{padding:5px 10px;font-size:.7rem}@media (width<=768px){.rooms{padding:var(--section-py-mobile) 0}.rooms:before{display:none}.room-featured{grid-template-columns:1fr}.room-featured-img{height:280px}.room-featured-body{padding:32px 24px}.rooms-grid{grid-template-columns:1fr}}@media (width>=769px) and (width<=1024px){.rooms-grid{grid-template-columns:repeat(2,1fr)}}.things-to-do{padding:var(--section-py) 0;background:var(--cream);position:relative}.things-head{text-align:center;margin-bottom:72px}.things-head .section-subtitle{margin:0 auto}.things-grid{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.thing-card{background:var(--warm-white);border:1px solid var(--border);transition:all var(--t-base) var(--ease-out);border-radius:6px;flex-direction:column;display:flex;overflow:hidden}.thing-card:hover{border-color:var(--gold);box-shadow:var(--shadow-md);transform:translateY(-8px)}.thing-img{height:220px;overflow:hidden}.thing-img img{object-fit:cover;width:100%;height:100%;transition:transform var(--t-base) var(--ease-out)}.thing-slideshow{position:relative}.thing-slideshow img{opacity:1;position:absolute;top:0;left:0}.thing-card:hover .thing-img img{transform:scale(1.05)}.thing-body{flex-direction:column;flex:1;padding:32px;display:flex}.thing-body h3{font-family:var(--font-display);color:var(--charcoal);margin-bottom:12px;font-size:1.5rem}.thing-desc{color:var(--muted);margin-bottom:24px;font-size:.9rem;line-height:1.7}.thing-list{flex-direction:column;gap:12px;margin-top:auto;display:flex}.thing-list li{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding-bottom:8px;font-size:.85rem;display:flex}.thing-list li:last-child{border-bottom:none;padding-bottom:0}.thing-list span{color:var(--charcoal-soft);font-weight:500}.thing-list em{color:var(--gold-text);letter-spacing:.5px;font-size:.8rem;font-style:normal;font-weight:600}@media (width<=900px){.things-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.things-to-do{padding:var(--section-py-mobile) 0}.things-grid{grid-template-columns:1fr;gap:24px}}.wellness-leisure{padding:var(--section-py) 0;background:var(--cream-warm)}.wellness-block{align-items:center;margin-bottom:80px}.wellness-block:last-child{margin-bottom:0}.wellness-leisure h3{margin-bottom:16px;font-size:2rem}.about-img video,.about-img .media-frame{border-radius:var(--r-lg);width:100%;height:auto;box-shadow:var(--shadow-md);background:var(--navy-deep);aspect-ratio:478/850;object-fit:cover;max-height:560px}.about-img img.media-frame{aspect-ratio:4/5;object-fit:cover;max-height:none}@media (width<=768px){.wellness-leisure{padding:var(--section-py-mobile) 0}.wellness-block{margin-bottom:48px}}.gallery{padding:var(--section-py) 0;background:var(--warm-white);position:relative;overflow:hidden}.gallery-head{text-align:center;margin-bottom:64px}.gallery-head .section-label{color:var(--gold-text)}.gallery-head .section-label:before{background:var(--gold)}.gallery-head .section-title{color:var(--charcoal)}.gallery-head .section-subtitle{color:var(--muted);margin:0 auto}.gallery-head .section-divider{background:var(--border)}.gallery-carousel{align-items:center;display:flex;position:relative}.gallery-track{scroll-snap-type:x mandatory;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;gap:16px;padding:8px 0;display:flex;overflow-x:auto}.gallery-track::-webkit-scrollbar{display:none}.carousel-cell{scroll-snap-align:center;cursor:pointer;border-radius:6px;flex:0 0 420px;height:300px;position:relative;overflow:hidden}.carousel-cell.wide{flex:0 0 520px}.carousel-cell.tall{flex:0 0 340px}.carousel-cell img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease-out), filter .5s ease}.carousel-cell:hover img{filter:brightness();transform:scale(1.08)}.carousel-cell-overlay{transition:background var(--t-base) var(--ease-out);background:#0f264000;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.carousel-cell-overlay svg{width:28px;height:28px;color:var(--warm-white);opacity:0;transition:all var(--t-base) var(--ease-out);transform:scale(.7)rotate(-8deg)}.carousel-cell:hover .carousel-cell-overlay{background:#0f264059}.carousel-cell:hover .carousel-cell-overlay svg{opacity:1;transform:scale(1)rotate(0)}.carousel-btn{background:var(--warm-white);border:1px solid var(--border);width:48px;height:48px;color:var(--charcoal);z-index:10;box-shadow:var(--shadow-sm);transition:all var(--t-fast);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.carousel-btn:hover{background:var(--gold);color:var(--warm-white);border-color:var(--gold)}.prev-btn{left:-24px}.next-btn{right:-24px}@media (width<=768px){.gallery{padding:var(--section-py-mobile) 0}.carousel-cell{flex:0 0 280px;height:220px}.prev-btn{left:8px}.next-btn{right:8px}}.lightbox{z-index:2000;background:#0a1420f2;justify-content:center;align-items:center;padding:32px;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.lightbox-img-wrap{max-width:85vw;max-height:85vh}.lightbox-img-wrap img{object-fit:contain;max-width:85vw;max-height:85vh}.lightbox-close{color:#fff9;width:48px;height:48px;transition:color var(--t-fast);cursor:pointer;justify-content:center;align-items:center;display:flex;position:absolute;top:24px;right:24px}.lightbox-close:hover{color:var(--warm-white)}.lightbox-close svg{width:24px;height:24px}.lightbox-arrow{color:#fff9;width:52px;height:52px;transition:all var(--t-fast);cursor:pointer;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-arrow:hover{border-color:var(--gold);color:var(--gold)}.lightbox-arrow svg{width:20px;height:20px}.lightbox-prev{left:24px}.lightbox-next{right:24px}.lightbox-counter{letter-spacing:3px;color:#ffffff59;font-size:.7rem;font-weight:500;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.contact{padding:var(--section-py) 0;background:var(--warm-white)}.contact-wrapper{flex-direction:column;gap:48px;max-width:800px;margin:0 auto;display:flex}.booking-cta-card{background:var(--cream-warm);border:1px solid var(--border);text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:20px;padding:48px 40px;display:flex}.booking-cta-card h3{font-family:var(--font-display);color:var(--charcoal);font-size:1.8rem;font-weight:400}.booking-cta-card p{color:var(--muted);max-width:600px;font-size:.95rem;line-height:1.8}.inquiry-card{background:var(--warm-white);border:1px solid var(--border);box-shadow:var(--shadow-subtle);border-radius:8px;padding:56px 48px}.inquiry-card-header{text-align:center;margin-bottom:32px}.inquiry-card-header h3{font-family:var(--font-display);color:var(--charcoal);margin-bottom:8px;font-size:1.8rem}.inquiry-card-header p{color:var(--muted);font-size:.9rem}.map-card{border:1px solid var(--border);border-radius:8px;height:350px;overflow:hidden}.form-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{text-transform:uppercase;letter-spacing:1.5px;color:var(--charcoal-soft);font-size:.72rem;font-weight:600}.form-field input,.form-field textarea{border:1px solid var(--border);background:var(--cream);width:100%;font-family:var(--font-body);color:var(--charcoal);transition:border-color var(--t-fast), box-shadow var(--t-fast);outline:none;padding:12px 16px;font-size:.88rem}.form-field input:focus,.form-field textarea:focus{border-color:var(--charcoal-soft);box-shadow:0 0 0 3px #2a2a2a0d}.form-field textarea{resize:vertical;min-height:110px}.form-field input::placeholder,.form-field textarea::placeholder{color:#bbb;font-weight:300}.form-btn{align-self:flex-start;margin-top:4px}.booking-cta{background:var(--cream);flex-direction:column;justify-content:center;gap:20px;padding:56px 48px;display:flex}.booking-cta .form-heading{font-family:var(--font-display);color:var(--charcoal);margin-bottom:4px;font-size:1.8rem;font-weight:400}.booking-cta p{color:var(--muted);margin-bottom:12px;font-size:.95rem;line-height:1.85}.booking-cta .btn-primary{align-self:flex-start}@media (width<=768px){.contact{padding:var(--section-py-mobile) 0}.contact-wrapper{gap:32px}.booking-cta-card{padding:32px 20px}.booking-cta-card h3{font-size:1.5rem}.booking-cta-card p{font-size:.88rem}.inquiry-card{padding:32px 20px}.inquiry-card-header h3{font-size:1.5rem}.form-row{grid-template-columns:1fr;gap:12px}.inquiry-card .form-btn{justify-content:center;width:100%;max-width:none!important}.map-card{height:280px}}.footer{background:var(--navy-deep);color:var(--warm-white);padding:80px 0 0}.footer .container{max-width:1040px}.footer-top{border-bottom:1px solid #ffffff1a;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:56px;padding-bottom:56px;display:grid}.footer-brand{flex-direction:column;gap:20px;display:flex}.footer-brand-logo{align-items:center;gap:16px;display:flex}.footer-brand-logo img{object-fit:cover;border-radius:4px;width:48px;height:48px}.footer-brand-logo span{font-family:var(--font-display);color:var(--warm-white);letter-spacing:.5px;font-size:1.3rem;font-weight:500}.footer-brand>p{color:#ffffffe6;max-width:320px;font-size:.88rem;line-height:1.8}.footer-col h4{font-family:var(--font-display);color:var(--warm-white);letter-spacing:.5px;margin-bottom:24px;font-size:1.15rem;font-weight:500}.footer-col ul{flex-direction:column;gap:12px;display:flex}.footer-col a{color:#ffffffe6;transition:color var(--t-fast);letter-spacing:.5px;font-size:.85rem}.footer-col a:hover{color:var(--gold)}.footer-contact-row{color:#ffffffe6;align-items:flex-start;gap:12px;margin-bottom:16px;font-size:.85rem;line-height:1.6;display:flex}.footer-contact-row svg{width:16px;min-width:16px;height:16px;color:var(--gold);margin-top:3px}.footer-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:32px 0;display:flex}.footer-bottom p{color:#ffffffb3;letter-spacing:.5px;font-size:.75rem}.footer-socials{gap:12px;display:flex}.footer-socials a{color:#ffffffe6;width:38px;height:38px;transition:all var(--t-fast);border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;display:flex}.footer-socials a:hover{border-color:var(--gold);color:var(--gold)}.footer-socials svg{width:14px;height:14px}@media (width<=768px){.footer{text-align:center;padding:48px 0 0}.footer-top{grid-template-columns:1fr;gap:40px}.footer-brand{grid-column:span 1;align-items:center}.footer-brand-logo{justify-content:center}.footer-brand>p{margin:0 auto}.footer-col h4{margin-bottom:16px}.footer-contact-row{text-align:center;justify-content:center}.footer-bottom{text-align:center;flex-direction:column;justify-content:center;gap:16px}}.whatsapp-floating{color:#fff;z-index:1000;width:60px;height:60px;transition:transform var(--t-base) var(--ease-out), box-shadow var(--t-base) var(--ease-out), background-color var(--t-fast);background-color:#25d366;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:32px;right:32px;box-shadow:0 4px 14px #25d36666}.whatsapp-floating svg{width:32px;height:32px}@keyframes pulse{0%{box-shadow:0 0 #25d36666}70%{box-shadow:0 0 0 14px #25d36600}to{box-shadow:0 0 #25d36600}}.legal-page{background:var(--cream);min-height:100vh;padding-top:88px}.legal-hero{background:var(--navy-deep);text-align:center;color:var(--warm-white);border-bottom:4px solid var(--gold);padding:80px 32px}.legal-hero h1{font-family:var(--font-display);color:var(--warm-white);margin-bottom:16px;font-size:2.8rem}.legal-hero p{color:#e8e8e8;font-size:1.1rem}.legal-content{background:var(--warm-white);border:1px solid var(--border);max-width:800px;box-shadow:var(--shadow-sm);border-radius:8px;margin:64px auto;padding:48px}.legal-content section{margin-bottom:48px}.legal-content section:last-child{margin-bottom:0}.legal-content h2{font-family:var(--font-display);color:var(--charcoal);border-bottom:1px solid var(--border-light);margin-bottom:20px;padding-bottom:12px;font-size:1.6rem}.legal-content p{color:var(--charcoal-soft);margin-bottom:16px;font-size:.95rem;line-height:1.8}.legal-content ul{flex-direction:column;gap:12px;padding-left:24px;list-style:outside;display:flex}.legal-content li{color:var(--charcoal-soft);font-size:.95rem;line-height:1.6}@media (width<=768px){.legal-hero{padding:56px 20px}.legal-hero h1{font-size:2.2rem}.legal-content{margin:40px auto;padding:32px 24px}.whatsapp-floating{width:52px;height:52px;bottom:24px;right:24px}.whatsapp-floating svg{width:28px;height:28px}}
