:root{--color-navy:#1d4e89;--color-navy-mid:#2a6499;--color-navy-pale:#e8f2fa;--color-primary:#1d4e89;--color-primary-light:#2a6499;--color-primary-pale:#e8f2fa;--color-blue:#5bb0e5;--color-blue-light:#7ec4ef;--color-blue-pale:#edf6fc;--color-red:#b2121d;--color-red-light:#d42a35;--color-accent:#b2121d;--color-accent-light:#d42a35;--color-gold:#c5a059;--color-gold-light:#d4b06a;--color-sand:#fafcfd;--color-sand-dark:#e8f2fa;--color-cream:#fff;--color-sky:#edf6fc;--color-text:#1d4e89;--color-text-muted:#5a7088;--color-white:#fff;--font-display:"Cormorant Garamond", Georgia, serif;--font-body:"Outfit", system-ui, sans-serif;--radius:8px;--radius-lg:16px;--shadow:0 8px 32px #1d4e891a;--shadow-soft:0 4px 20px #1d4e890f;--transition:.3s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-white);-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.6}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}.container{width:min(1200px,92vw);margin-inline:auto}.section{padding:clamp(4rem,8vw,7rem) 0}.section--dark{background:linear-gradient(135deg, var(--color-blue-pale) 0%, var(--color-sky) 50%, var(--color-primary-pale) 100%);color:var(--color-text)}.section--sand{background:var(--color-sand)}.section-label{letter-spacing:.2em;text-transform:uppercase;color:var(--color-gold);margin-bottom:.75rem;font-size:.75rem;font-weight:600;display:block}.section-label--light{color:var(--color-gold)}.section-title{font-family:var(--font-display);color:var(--color-text);margin-bottom:1rem;font-size:clamp(2rem,4vw,3rem);font-weight:600;line-height:1.15}.section-title--light{color:var(--color-text)}.section-sub{color:var(--color-text-muted);max-width:560px;font-size:1.05rem}.section-sub--light{color:var(--color-text-muted)}.section-header{margin-bottom:3rem}.section-header--center{text-align:center}.section-header--center .section-sub{margin-inline:auto}.btn{letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius);transition:var(--transition);white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;padding:.9rem 1.75rem;font-size:.85rem;font-weight:500;display:inline-flex}.btn--sm{padding:.6rem 1.25rem;font-size:.75rem}.btn--gold{background:var(--color-red);color:var(--color-white);box-shadow:0 4px 14px #b2121d4d}.btn--gold:hover{background:var(--color-red-light);transform:translateY(-1px);box-shadow:0 6px 20px #b2121d59}.btn--outline{border:2px solid var(--color-navy);color:var(--color-navy);background:0 0}.btn--outline:hover{background:var(--color-navy);color:var(--color-white);border-color:var(--color-navy)}.btn--dark{background:var(--color-navy);color:var(--color-white);box-shadow:0 4px 14px #1d4e8940}.btn--dark:hover{background:var(--color-navy-mid)}.header{z-index:1000;transition:var(--transition);background:var(--color-white);border-bottom:1px solid var(--color-sand-dark);position:fixed;top:0;left:0;right:0}.header--scrolled{box-shadow:var(--shadow-soft);border-bottom-color:var(--color-gold)}.header__inner{justify-content:space-between;align-items:center;gap:1.5rem;max-width:1400px;margin-inline:auto;padding:1rem 4vw;display:flex}.header__brand{align-items:center;gap:.75rem;display:flex}.header__logo{object-fit:contain;width:auto;height:58px}.header__brand-text{flex-direction:column;line-height:1.2;display:flex}.header__brand-name{font-family:var(--font-display);color:var(--color-red);font-size:1.15rem;font-weight:600}.header__brand-sub{letter-spacing:.12em;text-transform:uppercase;color:var(--color-gold);font-size:.65rem}.header__nav{gap:1.75rem;display:none}.header__link{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);transition:color var(--transition);font-size:.8rem;font-weight:500}.header__link:hover,.header__link--active{color:var(--color-gold)}.header__actions{align-items:center;gap:1rem;display:flex}.header__phone{color:var(--color-navy);font-size:.85rem;font-weight:500;display:none}.header__menu-btn{flex-direction:column;justify-content:center;gap:6px;width:32px;height:32px;padding:4px;display:flex}.header__menu-btn span{background:var(--color-text);height:2px;transition:var(--transition);display:block}.header__mobile{background:var(--color-white);transition:transform var(--transition);z-index:999;box-shadow:var(--shadow-soft);padding:2rem 4vw;position:fixed;inset:72px 0 0;transform:translate(100%)}.header__mobile--open{transform:translate(0)}.header__mobile-nav{flex-direction:column;gap:1.5rem;display:flex}.header__mobile-link{font-family:var(--font-display);color:var(--color-text);border-bottom:1px solid var(--color-sand-dark);padding-bottom:1rem;font-size:1.5rem}.header__mobile-link--active{color:var(--color-gold)}.header__mobile-phone{color:var(--color-navy);margin-top:1rem;font-size:.9rem;font-weight:500}@media (width>=1024px){.header__nav{display:flex}.header__phone{display:block}.header__menu-btn,.header__mobile{display:none}}.hero{align-items:flex-end;min-height:100vh;padding:8rem 4vw 4rem;display:flex;position:relative}.hero--page{min-height:70vh}.hero__bg{z-index:0;position:absolute;inset:0}.hero__bg-img{object-fit:cover;width:100%;height:100%}.hero__overlay{background:linear-gradient(#ffffff14 0%,#5bb0e533 40%,#1d4e8973 70%,#1d4e89d1 100%);position:absolute;inset:0}.hero__content{z-index:1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:var(--radius-lg);background:#fffffff0;border:1px solid #fffc;max-width:720px;padding:clamp(1.5rem,4vw,2.5rem);position:relative;box-shadow:0 12px 40px #0f23322e}.hero__eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--color-gold);margin-bottom:1rem;font-size:.8rem;font-weight:600}.hero__title{font-family:var(--font-display);color:var(--color-red);margin-bottom:1.25rem;font-size:clamp(2.75rem,7vw,5rem);font-weight:600;line-height:1.05}.hero__desc{color:var(--color-text-muted);max-width:520px;margin-bottom:2rem;font-size:clamp(1rem,2vw,1.2rem);font-weight:400}.hero__cta{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.hero-quickbook{background:var(--color-blue-pale);border-radius:var(--radius);border:1px solid var(--color-sand-dark);gap:.75rem;padding:1rem;display:grid}@media (width>=640px){.hero-quickbook{grid-template-columns:1fr 1fr .75fr auto;align-items:end}}.hero-quickbook__field{flex-direction:column;gap:.3rem;display:flex}.hero-quickbook__field label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-size:.72rem;font-weight:600}.hero-quickbook__field input,.hero-quickbook__field select{font:inherit;border:1px solid var(--color-sand-dark);border-radius:var(--radius);background:var(--color-white);color:var(--color-text);padding:.55rem .65rem}.hero-quickbook__btn{white-space:nowrap}.hero-quickbook__link{color:var(--color-navy);text-align:center;grid-column:1/-1;font-size:.8rem;font-weight:500}.hero-quickbook__link:hover{color:var(--color-gold)}.hero__scroll{color:#ffffffd9;letter-spacing:.15em;text-transform:uppercase;text-shadow:0 1px 4px #0000004d;z-index:1;flex-direction:column;align-items:center;gap:.5rem;font-size:.7rem;font-weight:500;display:none;position:absolute;bottom:2rem;right:4vw}.hero__scroll-line{background:linear-gradient(to bottom, var(--color-gold), transparent);width:1px;height:48px;animation:2s ease-in-out infinite scroll-pulse}@keyframes scroll-pulse{0%,to{opacity:.4;transform:scaleY(.8)}50%{opacity:1;transform:scaleY(1)}}@media (width>=768px){.hero__scroll{display:flex}}.resort-intro__inner{align-items:center;gap:3rem;display:grid}.resort-intro__text p{color:var(--color-text-muted);margin-bottom:2rem}.resort-intro__img{border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.resort-intro__img img{aspect-ratio:4/3;object-fit:cover;width:100%}@media (width>=768px){.resort-intro__inner{grid-template-columns:1fr 1fr;gap:4rem}}.about.section{background:var(--color-sand)}.about__grid{align-items:center;gap:3rem;display:grid}.about__visual{position:relative}.about__img-wrap{border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.about__img-wrap--main img{aspect-ratio:4/5;object-fit:cover;width:100%}.about__img-wrap--accent{background:var(--color-white);border:2px solid var(--color-gold);border-radius:var(--radius-lg);width:165px;height:165px;box-shadow:var(--shadow-soft);padding:.5rem;position:absolute;bottom:-1.5rem;right:-1rem}.about__img-wrap--accent img{object-fit:contain;width:100%;height:100%}.about__badge{background:var(--color-gold);color:var(--color-white);text-align:center;border-radius:var(--radius);padding:1rem 1.25rem;position:absolute;top:1.5rem;left:-1rem;box-shadow:0 4px 16px #c5a05959}.about__badge-year{letter-spacing:.15em;text-transform:uppercase;font-size:.65rem;display:block}.about__badge-num{font-family:var(--font-display);font-size:2rem;font-weight:700;line-height:1}.about__lead{font-family:var(--font-display);color:var(--color-blue);margin-bottom:1rem;font-size:1.35rem;font-style:italic}.about__body{color:var(--color-text-muted);margin-bottom:2rem}@media (width>=900px){.about__grid{grid-template-columns:1fr 1fr;gap:5rem}}.resort-showcase{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid #1d4e8914;gap:2rem;display:grid;overflow:hidden}@media (width>=900px){.resort-showcase{grid-template-columns:1.05fr 1fr;gap:0}}.resort-showcase__media{background:var(--color-sand);gap:.5rem;padding:.5rem;display:grid}@media (width>=900px){.resort-showcase__media{padding:.75rem}}.resort-showcase__main{border-radius:var(--radius);position:relative;overflow:hidden}.resort-showcase__main img{aspect-ratio:4/3;object-fit:cover;width:100%}.resort-showcase__tag{background:var(--color-gold);color:var(--color-white);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius);padding:.35rem .75rem;font-size:.7rem;font-weight:600;position:absolute;top:1rem;left:1rem;box-shadow:0 2px 8px #c5a0594d}.resort-showcase__thumbs{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.resort-showcase__thumbs img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);width:100%}.resort-showcase__content{flex-direction:column;gap:1.25rem;padding:clamp(1.5rem,3vw,2.5rem);display:flex}.resort-showcase__desc{color:var(--color-text-muted);font-size:1rem;line-height:1.7}.resort-showcase__stats{grid-template-columns:repeat(2,1fr);gap:.75rem;padding:0;list-style:none;display:grid}@media (width>=500px){.resort-showcase__stats{grid-template-columns:repeat(4,1fr)}}.resort-showcase__stats li{text-align:center;border-radius:var(--radius);background:var(--color-blue-pale);padding:.75rem .5rem}.resort-showcase__stats strong{font-family:var(--font-display);color:var(--color-navy);margin-bottom:.15rem;font-size:1.15rem;font-weight:600;display:block}.resort-showcase__stats span{color:var(--color-text-muted);font-size:.72rem;line-height:1.3}.resort-showcase__rooms-label{letter-spacing:.12em;text-transform:uppercase;color:var(--color-gold);margin-bottom:.5rem;font-size:.75rem;font-weight:600}.resort-showcase__room-list{flex-direction:column;gap:.5rem;padding:0;list-style:none;display:flex}.resort-showcase__room-list li{border-bottom:1px solid var(--color-sand-dark);justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.5rem;font-size:.92rem;display:flex}.resort-showcase__room-list li:last-child{border-bottom:none;padding-bottom:0}.resort-showcase__room-list em{color:var(--color-navy);white-space:nowrap;font-size:.85rem;font-style:normal;font-weight:600}.resort-showcase__features{flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;display:flex}.resort-showcase__features li{background:var(--color-sand);color:var(--color-text-muted);border:1px solid var(--color-sand-dark);border-radius:999px;padding:.35rem .75rem;font-size:.78rem;font-weight:500}.resort-showcase__actions{flex-wrap:wrap;gap:.75rem;margin-top:.25rem;display:flex}.resort-showcase__note{color:var(--color-text-muted);margin-top:auto;font-size:.8rem}.gallery.section{background:var(--color-sky)}.gallery__bento{grid-template-columns:repeat(4,1fr);grid-auto-rows:160px;gap:.75rem;margin-bottom:1.5rem;display:grid}.gallery__item{border-radius:var(--radius);cursor:pointer;opacity:.75;transition:var(--transition);padding:0;overflow:hidden}.gallery__item img{object-fit:cover;width:100%;height:100%}.gallery__item--large{grid-area:span 2/span 2}.gallery__item--medium{grid-row:span 2}.gallery__item--wide{grid-column:span 2}.gallery__item--active,.gallery__item:hover{opacity:1;outline:3px solid var(--color-gold);outline-offset:2px}.gallery__featured{border-radius:var(--radius-lg);aspect-ratio:21/9;position:relative;overflow:hidden}.gallery__featured img{object-fit:cover;width:100%;height:100%}.gallery__featured-caption{color:var(--color-white);background:linear-gradient(#0000,#1d4e89cc);padding:1.5rem;font-size:.9rem;position:absolute;bottom:0;left:0;right:0}@media (width<=640px){.gallery__bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:120px}.gallery__item--large{grid-area:span 1/span 2}.gallery__item--medium{grid-row:span 1}.gallery__featured{aspect-ratio:16/10}}.welcome__inner{align-items:center;gap:3rem;display:grid}.welcome__img{border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.welcome__img img{aspect-ratio:4/3;object-fit:cover;width:100%}.welcome__text p{color:var(--color-text-muted);margin-bottom:2rem}@media (width>=768px){.welcome__inner{grid-template-columns:1fr 1fr;gap:4rem}}.amenities__grid{gap:1.5rem;display:grid}.amenity-card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);border:1px solid var(--color-sand-dark);transition:var(--transition);overflow:hidden}.amenity-card--open{border-color:var(--color-gold);box-shadow:var(--shadow)}.amenity-card__trigger{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;padding:0;display:block}.amenity-card__trigger:hover .amenity-card__title{color:var(--color-gold)}.amenity-card__more{letter-spacing:.06em;text-transform:uppercase;color:var(--color-blue);margin-top:.75rem;font-size:.75rem;font-weight:600;display:inline-block}.amenity-card__extra{padding:0 1.5rem 1.5rem}.amenity-card__img{height:180px;overflow:hidden}.amenity-card__img img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.amenity-card:hover .amenity-card__img img{transform:scale(1.06)}.amenity-card__body{padding:1.5rem}.amenity-card__title{font-family:var(--font-display);color:var(--color-text);margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.amenity-card__desc{color:var(--color-text-muted);font-size:.9rem;line-height:1.6}@media (width>=640px){.amenities__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.amenities__grid{grid-template-columns:repeat(3,1fr)}}.subscribe__inner{align-items:center;gap:2rem;display:grid}.subscribe__form{flex-wrap:wrap;gap:.75rem;display:flex}.subscribe__form input{background:var(--color-white);border-radius:var(--radius);min-width:220px;color:var(--color-text);transition:border-color var(--transition);border:2px solid #1d4e8926;outline:none;flex:1;padding:.9rem 1.25rem;font-family:inherit;font-size:.95rem}.subscribe__form input::placeholder{color:var(--color-text-muted)}.subscribe__form input:focus{border-color:var(--color-blue)}.subscribe__success{color:var(--color-blue);font-size:1.1rem;font-weight:500}@media (width>=768px){.subscribe__inner{grid-template-columns:1fr 1fr;gap:4rem}}.contact.section{background:var(--color-sand)}.contact__grid{gap:3rem;display:grid}.contact__info p{color:var(--color-text-muted);margin-bottom:2rem}.contact__cards{gap:1rem;margin-bottom:2rem;display:grid}.contact__card{background:var(--color-sky);border-radius:var(--radius-lg);border-left:4px solid var(--color-gold);padding:1.5rem}.contact__card h3{font-family:var(--font-display);color:var(--color-text);margin-bottom:.5rem;font-size:1.2rem}.contact__card p{color:var(--color-text-muted);margin-bottom:.75rem;font-size:.9rem}.contact__phones{flex-direction:column;gap:.25rem;display:flex}.contact__phones a{color:var(--color-blue);font-size:.9rem;font-weight:500}.contact__phones a:hover{color:var(--color-red)}.contact__hours{width:100%;font-size:.9rem}.contact__hours td{padding:.25rem 0}.contact__hours td:last-child{text-align:right;color:var(--color-navy);font-weight:500}.contact__map{border-radius:var(--radius-lg);min-height:360px;box-shadow:var(--shadow);overflow:hidden}.contact__map iframe{border:0;width:100%;height:100%;min-height:360px}@media (width>=900px){.contact__grid{grid-template-columns:1fr 1fr;gap:4rem}.contact__cards{grid-template-columns:1fr 1fr}}.footer{background:var(--color-sky);color:var(--color-text-muted);border-top:1px solid var(--color-sand-dark);padding-top:3rem}.footer__inner{gap:2rem;padding-bottom:2rem;display:grid}.footer__logo{object-fit:contain;width:auto;height:160px;margin-bottom:1rem}.footer__brand p{max-width:320px;font-size:.9rem;line-height:1.6}.footer__nav{flex-direction:column;gap:.5rem;display:flex}.footer__nav-title{letter-spacing:.15em;text-transform:uppercase;color:var(--color-gold);margin-bottom:.5rem;font-size:.7rem;font-weight:600}.footer__email{color:var(--color-blue);margin-top:.75rem;font-size:.85rem;font-weight:500;display:block}.footer__address{margin-top:.5rem;font-size:.8rem;line-height:1.5}.footer__nav a{transition:color var(--transition);font-size:.85rem}.footer__nav a:hover{color:var(--color-gold)}.footer__contact{flex-direction:column;gap:.25rem;display:flex}.footer__contact a{color:var(--color-blue);font-size:.9rem;font-weight:500}.footer__bottom{border-top:1px solid var(--color-sand-dark);background:var(--color-white);padding:1.25rem 0}.footer__bottom p{text-align:center;color:var(--color-text-muted);font-size:.8rem}@media (width>=768px){.footer__inner{grid-template-columns:1.5fr 1fr 1fr 1fr;align-items:start}}.cookie-banner{z-index:10000;background:var(--color-white);border-top:2px solid var(--color-gold);padding:1.25rem 4vw;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #1d4e891a}.cookie-banner__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1200px;margin-inline:auto;display:flex}.cookie-banner p{color:var(--color-text-muted);max-width:720px;font-size:.85rem;line-height:1.5}.cookie-banner strong{color:var(--color-text)}.seo-content a{color:var(--color-blue);text-underline-offset:3px;font-weight:500;text-decoration:underline}.seo-content a:hover{color:var(--color-red)}.seo-block__inner{max-width:780px}.seo-block__text,.seo-block__lead{color:var(--color-text-muted);margin-bottom:1.25rem;line-height:1.75}.seo-block__lead{color:var(--color-text);font-size:1.1rem}.seo-highlights__grid{gap:1.25rem;display:grid}.seo-highlight-card{background:var(--color-white);border:1px solid var(--color-sand-dark);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:1.5rem}.seo-highlight-card h3{font-family:var(--font-display);color:var(--color-navy);margin-bottom:.5rem;font-size:1.2rem}.seo-highlight-card p{color:var(--color-text-muted);font-size:.9rem;line-height:1.6}.seo-links__grid{gap:1rem;margin-top:1.5rem;display:grid}.seo-link-card{background:var(--color-white);border:1px solid var(--color-sand-dark);border-radius:var(--radius);color:var(--color-navy);transition:var(--transition);padding:1rem 1.25rem;font-weight:500;text-decoration:none;display:block}.seo-link-card:hover{border-color:var(--color-gold);color:var(--color-red);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.seo-nearby{color:var(--color-text-muted);gap:.5rem;margin:1.5rem 0;padding-left:1.25rem;display:grid}.seo-nearby li{line-height:1.6}.seo-faq__list{gap:.75rem;max-width:800px;display:grid}.seo-faq__item{background:var(--color-white);border:1px solid var(--color-sand-dark);border-radius:var(--radius);padding:0 1.25rem}.seo-faq__item summary{cursor:pointer;color:var(--color-navy);padding:1rem 0;font-weight:600;list-style:none}.seo-faq__item summary::-webkit-details-marker{display:none}.seo-faq__item p{color:var(--color-text-muted);padding-bottom:1rem;font-size:.95rem;line-height:1.65}.seo-cta__inner{text-align:center}.seo-cta__inner .section-sub{margin-inline:auto;margin-bottom:2rem}.seo-cta__actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.seo-local{background:var(--color-white)}@media (width>=640px){.seo-highlights__grid,.seo-links__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.seo-highlights__grid{grid-template-columns:repeat(3,1fr)}}.zoomable-image{cursor:zoom-in;width:100%;text-align:inherit;font:inherit;color:inherit;background:0 0;border:none;padding:0;display:block}.zoomable-image img{pointer-events:none;width:100%;display:block}.zoomable-image:hover img{opacity:.95}.gallery__featured-btn{width:100%;height:100%}.gallery__featured-btn img{object-fit:cover;width:100%;height:100%}.resort-showcase__zoom{width:100%;height:100%}.resort-showcase__zoom img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);width:100%}.resort-showcase__main .resort-showcase__zoom img{border-radius:var(--radius)}.about__zoom{width:100%}.about__zoom img{aspect-ratio:4/5;object-fit:cover}.welcome__zoom img{aspect-ratio:4/3;object-fit:cover}.amenity-card__zoom{width:100%;height:100%}.amenity-card__zoom img{object-fit:cover;height:180px;transition:transform .5s}.amenity-card:hover .amenity-card__zoom img{transform:scale(1.06)}.resort-intro__zoom{width:100%}.resort-intro__zoom img{aspect-ratio:4/3;object-fit:cover}.lightbox{z-index:9999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f1e32eb;justify-content:center;align-items:center;padding:1.5rem;animation:.2s lightbox-fade;display:flex;position:fixed;inset:0}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}.lightbox__figure{flex-direction:column;align-items:center;gap:.75rem;max-width:min(1200px,96vw);max-height:90vh;margin:0;display:flex}.lightbox__img{object-fit:contain;border-radius:var(--radius);width:auto;max-width:100%;height:auto;max-height:calc(90vh - 3rem);box-shadow:0 24px 64px #0006}.lightbox__caption{color:var(--color-white);text-align:center;max-width:640px;font-size:.9rem;line-height:1.5}.lightbox__counter{opacity:.75;margin-top:.25rem;font-size:.8rem;display:block}.lightbox__close{width:2.75rem;height:2.75rem;color:var(--color-white);transition:background var(--transition);z-index:1;background:#ffffff1f;border-radius:50%;justify-content:center;align-items:center;font-size:1.75rem;line-height:1;display:flex;position:absolute;top:1rem;right:1rem}.lightbox__close:hover{background:#ffffff38}.lightbox__nav{width:3rem;height:3rem;color:var(--color-white);transition:background var(--transition);z-index:1;background:#ffffff1f;border-radius:50%;justify-content:center;align-items:center;font-size:2rem;line-height:1;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox__nav:hover{background:#ffffff38}.lightbox__nav--prev{left:1rem}.lightbox__nav--next{right:1rem}@media (width<=640px){.lightbox__nav{width:2.5rem;height:2.5rem;font-size:1.5rem}.lightbox__nav--prev{left:.5rem}.lightbox__nav--next{right:.5rem}}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(24px)}.reveal--visible{opacity:1;transform:translateY(0)}.stats-bar{background:var(--color-navy);color:var(--color-white);padding:2.5rem 0}.stats-bar__inner{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}@media (width>=768px){.stats-bar__inner{grid-template-columns:repeat(4,1fr)}}.stats-bar__inner>.reveal{display:flex}.stat-item{text-align:center;flex:1;padding:.5rem}.stat-item__value{font-family:var(--font-display);color:var(--color-gold);font-size:clamp(2rem,4vw,2.75rem);font-weight:600;line-height:1.1;display:block}.stat-item__label{opacity:.85;margin-top:.25rem;font-size:.8rem}.testimonial-carousel{background:var(--color-white);border-radius:var(--radius-lg);max-width:720px;box-shadow:var(--shadow-soft);border:1px solid var(--color-sand-dark);margin-inline:auto;padding:clamp(2rem,4vw,3rem)}.testimonial-carousel__stars{color:var(--color-gold);letter-spacing:.1em;margin-bottom:1rem;font-size:1.1rem;display:block}.testimonial-carousel__quote p{font-family:var(--font-display);color:var(--color-text);margin-bottom:1.5rem;font-size:clamp(1.15rem,2.5vw,1.45rem);line-height:1.55}.testimonial-carousel__quote footer{color:var(--color-text-muted);flex-direction:column;gap:.2rem;font-size:.9rem;display:flex}.testimonial-carousel__quote cite{color:var(--color-navy);font-style:normal;font-weight:600}.testimonial-carousel__quote em{opacity:.8;font-size:.8rem;font-style:normal}.testimonial-carousel__controls{justify-content:center;align-items:center;gap:1rem;margin-top:2rem;display:flex}.testimonial-carousel__btn{background:var(--color-blue-pale);width:2.5rem;height:2.5rem;color:var(--color-navy);transition:background var(--transition);border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.testimonial-carousel__btn:hover{background:var(--color-gold);color:var(--color-white)}.testimonial-carousel__dots{gap:.5rem;display:flex}.testimonial-carousel__dot{background:var(--color-sand-dark);width:.5rem;height:.5rem;transition:var(--transition);border-radius:50%;padding:0}.testimonial-carousel__dot--active{background:var(--color-gold);transform:scale(1.25)}.faq__inner{max-width:760px;margin-inline:auto}.faq__list{flex-direction:column;gap:.75rem;display:flex}.faq-item{background:var(--color-white);border:1px solid var(--color-sand-dark);border-radius:var(--radius);transition:border-color var(--transition);overflow:hidden}.faq-item--open{border-color:var(--color-gold);box-shadow:var(--shadow-soft)}.faq-item__trigger{text-align:left;width:100%;font:inherit;color:var(--color-text);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.25rem;font-weight:500;display:flex}.faq-item__trigger:hover{color:var(--color-navy)}.faq-item__icon{background:var(--color-blue-pale);width:1.5rem;height:1.5rem;color:var(--color-navy);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:600;display:flex}.faq-item__panel{padding:0 1.25rem 1.25rem}.faq-item__panel p{color:var(--color-text-muted);font-size:.95rem;line-height:1.65}.explore-goa{background:var(--color-sky)}.explore-goa__tabs{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:2rem;display:flex}.explore-goa__tab{border:1px solid var(--color-sand-dark);background:var(--color-white);color:var(--color-text-muted);transition:var(--transition);border-radius:999px;padding:.6rem 1.25rem;font-size:.85rem;font-weight:500}.explore-goa__tab:hover{border-color:var(--color-gold);color:var(--color-navy)}.explore-goa__tab--active{background:var(--color-navy);border-color:var(--color-navy);color:var(--color-white)}.explore-goa__panel{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);border:1px solid var(--color-sand-dark);gap:2rem;display:grid;overflow:hidden}@media (width>=768px){.explore-goa__panel{grid-template-columns:1fr 1fr}}.explore-goa__media{min-height:260px;position:relative}.explore-goa__zoom{width:100%;height:100%}.explore-goa__zoom img{object-fit:cover;width:100%;height:100%;min-height:260px}.explore-goa__distance{border-radius:var(--radius);background:var(--color-gold);color:var(--color-white);letter-spacing:.06em;text-transform:uppercase;padding:.35rem .75rem;font-size:.75rem;font-weight:600;position:absolute;bottom:1rem;left:1rem}.explore-goa__content{flex-direction:column;gap:1rem;padding:clamp(1.5rem,3vw,2rem);display:flex}.explore-goa__content h3{font-family:var(--font-display);font-size:1.75rem;font-weight:600}.explore-goa__content p{color:var(--color-text-muted);line-height:1.65}.explore-goa__highlights{flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;display:flex}.explore-goa__highlights li{background:var(--color-blue-pale);color:var(--color-navy);border-radius:999px;padding:.3rem .65rem;font-size:.78rem;font-weight:500}.experiences__grid{gap:1rem;display:grid}@media (width>=640px){.experiences__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.experiences__grid{grid-template-columns:repeat(3,1fr)}}.experience-card{text-align:left;background:var(--color-white);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-soft);cursor:pointer;transition:var(--transition);font:inherit;color:inherit;border:1px solid #1d4e891f;padding:1.5rem}.experience-card:hover{border-color:var(--color-gold);transform:translateY(-2px)}.experience-card--open{border-color:var(--color-gold);background:var(--color-white);box-shadow:var(--shadow)}.experience-card__icon{margin-bottom:.75rem;font-size:2rem}.experience-card h3{font-family:var(--font-display);margin-bottom:.35rem;font-size:1.2rem;font-weight:600}.experience-card__summary{color:var(--color-text-muted);font-size:.9rem;line-height:1.5}.experience-card__details{grid-template-rows:0fr;transition:grid-template-rows .35s;display:grid}.experience-card--open .experience-card__details{grid-template-rows:1fr}.experience-card__details p{color:var(--color-text-muted);padding-top:0;font-size:.88rem;line-height:1.6;transition:padding .35s;overflow:hidden}.experience-card--open .experience-card__details p{padding-top:.75rem}.experience-card__toggle{letter-spacing:.08em;text-transform:uppercase;color:var(--color-blue);margin-top:.75rem;font-size:.72rem;font-weight:600;display:inline-block}html,body{overflow-x:clip}img,video{max-width:100%}@media (width<=1023px){.header__inner{gap:.5rem;padding:.75rem 4vw}.header__logo{height:48px}.header__brand-name{font-size:1rem}.header__brand-sub{font-size:.58rem}.header__mobile{-webkit-overflow-scrolling:touch;max-height:calc(100dvh - 65px);top:65px;overflow-y:auto}.header__mobile-book{width:100%;margin-top:.5rem}}@media (width<=420px){.header__brand-text,.header__actions .btn--gold{display:none}}@media (width<=767px){.section{padding:clamp(2.5rem,7vw,4rem) 0}.section-title{font-size:clamp(1.6rem,6vw,2.25rem)}.section-header{margin-bottom:2rem}.section-sub{font-size:.95rem}.hero{align-items:stretch;min-height:auto;padding:6.5rem 4vw 2.5rem}.hero--page{min-height:auto;padding-bottom:2.5rem}.hero__content{width:100%;max-width:none}.hero__title{margin-bottom:1rem;font-size:clamp(1.85rem,8.5vw,2.75rem)}.hero__desc{margin-bottom:1.25rem;font-size:.95rem}.hero__cta{flex-direction:column;align-items:stretch}.hero__cta .btn{white-space:normal;width:100%}.hero-quickbook{padding:.875rem}.hero-quickbook__btn{width:100%}.hero-quickbook__field input,.hero-quickbook__field select{width:100%;min-height:44px;font-size:16px}.about__visual{margin-bottom:2rem}.about__img-wrap--accent{width:120px;height:120px;bottom:-1rem;right:0}}@media (width<=900px){.gallery__bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:130px}.gallery__item--large{grid-area:span 2/span 2}.gallery__item--medium{grid-row:span 1}.gallery__item--wide{grid-column:span 2}.gallery__featured{aspect-ratio:4/3}}@media (width<=480px){.gallery__bento{grid-auto-rows:100px;gap:.5rem}.gallery__item--large{grid-row:span 1}}@media (width<=767px){.resort-showcase__actions{flex-direction:column}.resort-showcase__actions .btn{white-space:normal;width:100%}.resort-showcase__stats{grid-template-columns:repeat(2,1fr)}.resort-showcase__room-list li{flex-direction:column;align-items:flex-start;gap:.25rem}.subscribe__form{flex-direction:column}.subscribe__form input{width:100%;min-width:0;min-height:44px;font-size:16px}.subscribe__form .btn{width:100%}.seo-cta__actions{flex-direction:column;align-items:stretch}.seo-cta__actions .btn{white-space:normal;width:100%}.footer__logo{height:100px}.footer__bottom p{padding-inline:.5rem;font-size:.72rem;line-height:1.5}.explore-goa__tab{padding:.5rem .85rem;font-size:.78rem}.explore-goa__content h3{font-size:1.4rem}.testimonial-carousel{padding:1.5rem}.testimonial-carousel__quote p{font-size:1.05rem}.faq-item__trigger{padding:1rem;font-size:.9rem}.seo-faq__item summary{font-size:.9rem}.cookie-banner{padding:1rem 4vw calc(1rem + env(safe-area-inset-bottom,0px))}.cookie-banner__inner{flex-direction:column;align-items:stretch}.cookie-banner .btn{width:100%}.btn{min-height:44px;padding:.75rem 1.25rem}.gallery__item{min-height:44px}.about__text .btn,.welcome__text .btn,.resort-intro__text .btn,.amenity-card__extra .btn{width:100%}.seo-link-card{word-break:break-word;font-size:.88rem}.stat-item__value{font-size:1.75rem}.lightbox{padding:1rem;padding-top:max(1rem, env(safe-area-inset-top));padding-bottom:max(1rem, env(safe-area-inset-bottom))}}.booking__layout{align-items:start;gap:2rem;display:grid}@media (width>=960px){.booking__layout{grid-template-columns:1fr 320px}}.booking-steps{flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:1.5rem;padding:0;list-style:none;display:flex}.booking-steps__item{color:var(--color-text-muted);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.booking-steps__item--active{color:var(--color-navy);font-weight:600}.booking-steps__item--done{color:var(--color-gold)}.booking-steps__num{background:var(--color-sand-dark);width:1.75rem;height:1.75rem;color:var(--color-text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.booking-steps__item--active .booking-steps__num{background:var(--color-navy);color:var(--color-white)}.booking-steps__item--done .booking-steps__num{background:var(--color-gold);color:var(--color-white)}.booking-alert{border-radius:var(--radius);color:var(--color-red);background:#fde8ea;margin-bottom:1rem;padding:.875rem 1rem;font-size:.95rem}.booking-card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);border:1px solid var(--color-sand-dark);padding:clamp(1.5rem,3vw,2rem)}.booking-card__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.booking-card__title{font-family:var(--font-display);margin-bottom:.35rem;font-size:1.75rem;font-weight:600}.booking-card__sub{color:var(--color-text-muted);font-size:.95rem}.booking-card__hint{color:var(--color-gold);margin:.75rem 0 1.25rem;font-size:.9rem;font-weight:500}.booking-card__disclaimer{border-radius:var(--radius);background:var(--color-blue-pale);color:var(--color-text-muted);margin:1.25rem 0;padding:1rem;font-size:.9rem}.booking-form-grid{gap:1rem;margin-bottom:1.5rem;display:grid}@media (width>=600px){.booking-form-grid,.booking-form-grid--2{grid-template-columns:repeat(2,1fr)}}.booking-field{color:var(--color-text-muted);flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:500;display:flex}.booking-field--full{margin-bottom:1.25rem}.booking-field input,.booking-field select,.booking-field textarea{font:inherit;border:1px solid var(--color-sand-dark);border-radius:var(--radius);color:var(--color-text);background:var(--color-white);transition:border-color var(--transition);padding:.65rem .85rem}.booking-field input:focus,.booking-field select:focus,.booking-field textarea:focus{border-color:var(--color-blue);outline:none;box-shadow:0 0 0 3px #5bb0e533}.room-list{flex-direction:column;gap:1.25rem;list-style:none;display:flex}.room-card{border:1px solid var(--color-sand-dark);border-radius:var(--radius-lg);background:var(--color-sand);gap:1rem;display:grid;overflow:hidden}@media (width>=700px){.room-card{grid-template-columns:220px 1fr}}.room-card__zoom{width:100%;height:100%;min-height:180px}.room-card__zoom img{object-fit:cover;width:100%;height:100%;min-height:180px}.room-card__body{flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.room-card__top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.room-card__top h3{font-family:var(--font-display);font-size:1.35rem;font-weight:600}.room-card__badge{background:var(--color-navy-pale);color:var(--color-navy);border-radius:999px;flex-shrink:0;padding:.25rem .6rem;font-size:.75rem;font-weight:600}.room-card__desc{color:var(--color-text-muted);font-size:.92rem;line-height:1.5}.room-card__amenities{flex-wrap:wrap;gap:.35rem .5rem;padding:0;list-style:none;display:flex}.room-card__amenities li{background:var(--color-white);color:var(--color-text-muted);border-radius:4px;padding:.2rem .5rem;font-size:.75rem}.room-card__footer{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-top:auto;padding-top:.5rem;display:flex}.room-card__price{flex-direction:column;gap:.15rem;display:flex}.room-card__price strong{color:var(--color-navy);font-size:1.25rem}.room-card__price span{color:var(--color-text-muted);font-size:.85rem}.room-card__price em{color:var(--color-gold);margin-top:.25rem;font-size:.8rem;font-style:normal}@media (width<=959px){.booking__layout{flex-direction:column;display:flex}.booking-summary{order:-1;position:static}.booking-steps__label{font-size:.72rem}.booking-card__title{font-size:1.4rem}.booking-card__head{flex-direction:column;align-items:stretch}.booking-card__head .btn{width:100%}.booking-review div{grid-template-columns:1fr;gap:.2rem}.booking-review dt{font-size:.8rem}.room-card__footer{flex-direction:column;align-items:stretch}.room-card__footer .btn{width:100%}.booking-field input,.booking-field select,.booking-field textarea{min-height:44px;font-size:16px}.booking-confirm__actions{flex-direction:column;align-items:stretch}.booking-confirm__actions .btn{width:100%}}@media (width<=400px){.booking-steps__label{display:none}.booking-steps{justify-content:center}}.booking-summary{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);border:1px solid var(--color-sand-dark);padding:1.5rem;position:sticky;top:6rem}.booking-summary__title{font-family:var(--font-display);margin-bottom:1rem;font-size:1.35rem}.booking-summary__list{flex-direction:column;gap:.65rem;display:flex}.booking-summary__row{justify-content:space-between;gap:1rem;font-size:.9rem;display:flex}.booking-summary__row dt{color:var(--color-text-muted)}.booking-summary__row dd{text-align:right;font-weight:500}.booking-summary__row--total{border-top:1px solid var(--color-sand-dark);margin-top:.5rem;padding-top:.75rem;font-size:1rem}.booking-summary__row--total dd{color:var(--color-navy);font-weight:700}.booking-summary__note{color:var(--color-text-muted);margin-top:1rem;font-size:.75rem;line-height:1.45}.booking-review{gap:.85rem;margin-bottom:1.5rem;display:grid}.booking-review div{grid-template-columns:120px 1fr;gap:.5rem 1rem;font-size:.95rem;display:grid}.booking-review dt{color:var(--color-text-muted);font-weight:500}.booking-review__total{border-top:1px solid var(--color-sand-dark);margin-top:.5rem;padding-top:.75rem}.booking-review__total dd{color:var(--color-navy);font-size:1.15rem;font-weight:700}.booking-confirm{min-height:50vh}.booking-confirm__card{text-align:center;background:var(--color-white);border-radius:var(--radius-lg);max-width:560px;box-shadow:var(--shadow-soft);border:1px solid var(--color-sand-dark);margin-inline:auto;padding:clamp(2rem,5vw,3rem)}.booking-confirm__icon{background:var(--color-navy-pale);width:4rem;height:4rem;color:var(--color-navy);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1rem;font-size:1.75rem;font-weight:700;display:flex}.booking-confirm__title{font-family:var(--font-display);margin-bottom:.5rem;font-size:clamp(1.75rem,4vw,2.25rem)}.booking-confirm__code{color:var(--color-text-muted);margin-bottom:1.5rem}.booking-review--confirm{text-align:left;margin-bottom:1.5rem}.booking-confirm__note{color:var(--color-text-muted);margin-bottom:1.5rem;font-size:.9rem;line-height:1.55}.booking-confirm__note a{color:var(--color-navy);text-decoration:underline}.booking-confirm__actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}
