:root{--navy:#090039;--navy-2:#150a5c;--gold:#cc9310;--gold-light:#e8b73a;--red:#e02020;--cream:#fbf8f1;--tint:#f4efe4;--text:#2a2740;--muted:#6b6882;--white:#fff;--radius:14px;--shadow:0 10px 30px #0900391f;--font-head:"Playfair Display", Georgia, serif;--font-body:"Poppins", system-ui, -apple-system, "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{font-family:var(--font-body);color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased;margin:0;line-height:1.7}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}h1,h2,h3{font-family:var(--font-head);color:var(--navy);margin:0 0 .6rem;line-height:1.2}p{margin:0 0 1rem}button{font:inherit;cursor:pointer}.container{width:min(1180px,100% - 2.5rem);margin-inline:auto}.section{padding:5.5rem 0}.section--tint{background:var(--tint)}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--gold);margin-bottom:.4rem;font-size:.8rem;font-weight:600}.btn{white-space:nowrap;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .25s;display:inline-flex}.btn--lg{padding:.9rem 2rem;font-size:1rem}.btn--block{width:100%}.btn--gold{background:var(--gold);color:var(--white)}.btn--gold:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 8px 18px #cc931066}.btn--navy{background:var(--navy);color:var(--white)}.btn--navy:hover{background:var(--navy-2);transform:translateY(-2px)}.btn--outline{border-color:var(--white);color:var(--white)}.btn--outline:hover{background:var(--white);color:var(--navy)}.btn--outline-dark{border-color:var(--white);color:var(--white);background:0 0}.btn--outline-dark:hover{background:var(--white);color:var(--navy)}.section-heading{text-align:center;max-width:680px;margin:0 auto 3rem}.section-heading h2{font-size:clamp(1.9rem,4vw,2.7rem)}.section-heading__text{color:var(--muted);margin-top:.8rem}.section-heading--light h2{color:var(--white)}.section-heading--light .section-heading__text{color:#fffc}.divider{background:linear-gradient(90deg, var(--red), var(--gold));border-radius:3px;width:70px;height:3px;margin:.6rem auto 0;display:block}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(28px)}.reveal.in{opacity:1;transform:none}.navbar{z-index:100;background:var(--white);transition:box-shadow .3s;position:fixed;inset:0 0 auto}.navbar--scrolled{box-shadow:0 4px 20px #0900391f}.navbar__inner{justify-content:space-between;align-items:center;gap:1.5rem;padding:.5rem 0;display:flex}.brand{align-items:center;gap:.7rem;display:flex}.brand__logo{width:auto;height:54px}.brand__text{flex-direction:column;line-height:1.15;display:flex}.brand__text strong{font-family:var(--font-head);color:var(--navy);font-size:1.25rem}.brand__text small{letter-spacing:.18em;text-transform:uppercase;color:var(--red);font-size:.7rem;font-weight:600}.navbar__links{align-items:center;gap:1.6rem;margin-left:auto;display:flex}.navbar__links a:not(.btn){color:var(--navy);padding:.3rem 0;font-size:.95rem;font-weight:500;position:relative}.navbar__links a:not(.btn):after{content:"";background:var(--gold);width:0;height:2px;transition:width .25s;position:absolute;bottom:-2px;left:0}.navbar__links a:not(.btn):hover:after,.navbar__links a.is-active:after{width:100%}.navbar__links a.is-active{color:var(--gold)}.navbar__cta-mobile{display:none}.navbar__toggle{color:var(--navy);background:0 0;border:0;padding:.3rem;display:none}.hero{min-height:100vh;color:var(--white);align-items:center;padding-top:90px;display:flex;position:relative;overflow:hidden}.hero__slides,.hero__slide,.hero__overlay{position:absolute;inset:0}.hero__slide{opacity:0;background-position:50%;background-size:cover;transition:opacity 1.4s;transform:scale(1.04)}.hero__slide.is-active{opacity:1;animation:9s ease-out forwards kenburns}@keyframes kenburns{to{transform:scale(1.12)}}.hero__overlay{background:linear-gradient(100deg,#090039e0 0%,#0900398c 55%,#09003940 100%)}.hero__content{max-width:1180px;position:relative}.hero h1{color:var(--white);max-width:780px;font-size:clamp(2.3rem,6vw,4.2rem)}.hero__sub{color:#ffffffe0;max-width:560px;margin-bottom:2rem;font-size:1.1rem}.hero__actions{flex-wrap:wrap;gap:1rem;display:flex}.hero__dots{gap:.6rem;margin-top:3rem;display:flex}.hero__dots button{background:#fff6;border:0;border-radius:4px;width:34px;height:4px;padding:0}.hero__dots button.is-active{background:var(--gold-light)}.about{grid-template-columns:1fr 1.1fr;align-items:center;gap:4rem;display:grid}.about__images{padding-bottom:3rem;position:relative}.about__img-main{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);width:82%;box-shadow:var(--shadow)}.about__img-sub{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);border:6px solid var(--white);width:55%;box-shadow:var(--shadow);position:absolute;bottom:0;right:0}.about__body .section-heading{text-align:left;margin:0 0 1.5rem}.about__body .divider{margin-left:0}.about__stats{flex-wrap:wrap;gap:2rem;margin:1.5rem 0 2rem;display:flex}.about__stats li{border-left:3px solid var(--gold);flex-direction:column;padding-left:.9rem;display:flex}.about__stats strong{font-family:var(--font-head);color:var(--navy);font-size:1.6rem}.about__stats span{color:var(--muted);font-size:.85rem}.rooms-section{background:radial-gradient(800px 360px at 95% -5%, #cc93101f, transparent 60%), radial-gradient(700px 400px at -5% 105%, #09003912, transparent 60%), var(--tint);width:100%;padding:clamp(2.5rem,5vw,4.5rem) 0}.rooms-section__inner{width:100%;max-width:none;margin-inline:auto;padding-inline:clamp(1rem,3.5vw,3.5rem)}.rooms-list{gap:clamp(1.25rem,3vw,2.25rem);display:grid}.room-card{background:var(--white);border-radius:calc(var(--radius) * 1.5);box-shadow:var(--shadow);grid-template-columns:minmax(0,.95fr) minmax(0,1fr);transition:opacity .7s,transform .35s,box-shadow .35s;display:grid;overflow:hidden}.room-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px #0900392e}.room-card--flip .room-card__media{order:2}.room-card__media{background:var(--navy);min-height:340px;position:relative;overflow:hidden}.room-card__media img{object-fit:cover;width:100%;height:100%;transition:transform .9s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0}.room-card:hover .room-card__media img{transform:scale(1.05)}.room-card__shade{pointer-events:none;background:linear-gradient(#0000 45%,#090039b3);position:absolute;inset:0}.room-card__price{color:var(--white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0900398c;border:1px solid #ffffff4d;border-radius:999px;align-items:baseline;gap:.35rem;padding:.4rem .9rem;display:flex;position:absolute;bottom:1rem;left:1rem}.room-card__price strong{font-family:var(--font-head);color:var(--gold-light);font-size:1.25rem;line-height:1}.room-card__price small{opacity:.85;font-size:.72rem}.room-card__guests{color:var(--navy);background:var(--white);border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.78rem;font-weight:600;display:inline-flex;position:absolute;top:1rem;left:1rem;box-shadow:0 3px 10px #00000029}.room-card__guests svg{color:var(--red)}.room-card__body{flex-direction:column;justify-content:center;padding:clamp(1.1rem,2.4vw,2rem);display:flex}.room-card__title{margin-bottom:.3rem;font-size:clamp(1.35rem,2.1vw,1.8rem)}.room-card__title:after{content:"";background:linear-gradient(90deg, var(--red), var(--gold));border-radius:3px;width:56px;height:3px;margin-top:.5rem;display:block}.room-card__desc{color:var(--muted);margin:.6rem 0 0;font-size:.9rem;line-height:1.6}.room-card__sub{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:1.2rem 0 .6rem;font-size:.7rem;font-weight:700}.plans{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:.65rem;display:grid}.plan{background:var(--cream);border:1.5px solid #ebe4d3;border-radius:12px;flex-direction:column;gap:.1rem;padding:.7rem .8rem .65rem;transition:all .25s;display:flex;position:relative}.plan:hover{border-color:var(--gold);background:var(--white);transform:translateY(-2px);box-shadow:0 8px 18px #cc93102e}.plan--best{border-color:var(--gold);background:#fffaf0}.plan__tag{letter-spacing:.03em;color:var(--white);background:var(--gold);border-radius:999px;padding:.05rem .5rem;font-size:.62rem;font-weight:600;position:absolute;top:-.55rem;right:.65rem}.plan__code{color:var(--navy);font-size:.9rem;font-weight:700}.plan__inc{min-height:2.4em;color:var(--muted);font-size:.75rem;line-height:1.35}.plan__price{font-family:var(--font-head);color:var(--navy);margin-top:.2rem;font-size:1.15rem;font-weight:700}.plan__price small{font-family:var(--font-body);color:var(--muted);font-size:.65rem;font-weight:400}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.chips li{color:var(--navy);background:var(--tint);border-radius:999px;align-items:center;gap:.3rem;padding:.28rem .65rem;font-size:.76rem;display:inline-flex}.chips li svg{color:var(--gold);flex:none;width:12px;height:12px}.room-card__cta{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:1.4rem;display:flex}.room-card__cta .btn{padding:.7rem 1.5rem;font-size:.92rem}.room-card__note{color:var(--muted);font-size:.78rem}.room-slider{touch-action:pan-y;-webkit-user-select:none;user-select:none}.room-card__media .room-slider__img{opacity:0;transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1)}.room-card__media .room-slider__img.is-active{opacity:1}.room-card__shade{z-index:1}.room-card__price,.room-card__guests{z-index:2}.room-slider__count{z-index:3;letter-spacing:.04em;color:var(--white);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0900398c;border:1px solid #ffffff4d;border-radius:999px;padding:.2rem .65rem;font-size:.74rem;font-weight:600;position:absolute;top:1rem;right:1rem}.room-slider__btn{z-index:3;width:40px;height:40px;color:var(--navy);opacity:0;background:#ffffffe6;border:0;border-radius:50%;place-items:center;padding:0;transition:opacity .25s,background .25s,color .25s,transform .25s;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 14px #00000040}.room-slider__btn--prev{left:.8rem}.room-slider__btn--next{right:.8rem}.room-slider:hover .room-slider__btn,.room-slider__btn:focus-visible{opacity:1}.room-slider__btn:hover{background:var(--gold);color:var(--white);transform:translateY(-50%)scale(1.08)}.room-slider__btn:focus-visible{outline:3px solid var(--gold-light);outline-offset:2px}.room-slider__dots{z-index:3;align-items:center;gap:.4rem;display:flex;position:absolute;bottom:1.4rem;right:1rem}.room-slider__dot{background:#ffffff8c;border:0;border-radius:999px;width:8px;height:8px;padding:0;transition:width .3s,background .3s}.room-slider__dot:hover{background:var(--white)}.room-slider__dot.is-active{background:var(--gold-light);width:24px}.room-slider__dot:focus-visible{outline:2px solid var(--white);outline-offset:2px}@media (hover:none){.room-slider__btn{opacity:1;width:34px;height:34px}}@media (prefers-reduced-motion:reduce){.room-card__media .room-slider__img,.room-slider__btn,.room-slider__dot{transition:none}}.amenities{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.5rem;display:grid}.amenity{text-align:center;border-radius:var(--radius);background:var(--cream);border:1px solid #ebe4d3;padding:2rem 1.3rem;transition:all .3s}.amenity:hover{background:var(--navy);box-shadow:var(--shadow);transform:translateY(-5px)}.amenity__icon{background:var(--white);width:62px;height:62px;color:var(--gold);border-radius:50%;place-items:center;margin-bottom:1rem;display:inline-grid;box-shadow:0 4px 12px #0900391a}.amenity h3{font-size:1.15rem;transition:color .3s}.amenity p{color:var(--muted);margin:0;font-size:.9rem;transition:color .3s}.amenity:hover h3{color:var(--white)}.amenity:hover p{color:#fffc}.gallery{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;display:grid}.gallery__item{border-radius:var(--radius);background:var(--navy);aspect-ratio:4/3;border:0;width:100%;padding:0;display:block;overflow:hidden}.gallery__item img{object-fit:cover;width:100%;height:100%;transition:transform .5s,opacity .3s}.gallery__item:hover img{opacity:.85;transform:scale(1.06)}.lightbox{z-index:300;background:#05001ef0;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.lightbox>img{object-fit:contain;border-radius:10px;max-width:min(92vw,1100px);max-height:82vh}.lightbox__btn{color:var(--white);background:#ffffff1f;border:0;border-radius:50%;place-items:center;width:48px;height:48px;display:grid;position:absolute}.lightbox__btn:hover{background:var(--gold)}.lightbox__close{top:1.2rem;right:1.2rem}.lightbox__prev{top:50%;left:1.2rem;transform:translateY(-50%)}.lightbox__next{top:50%;right:1.2rem;transform:translateY(-50%)}.lightbox__caption{text-align:center;color:#fffc;margin:0;font-size:.9rem;position:absolute;bottom:1.2rem;left:0;right:0}.booking{background:linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%);position:relative;overflow:hidden}.booking:before{content:"";border:60px solid #cc93101f;border-radius:50%;width:520px;height:520px;position:absolute;top:-180px;right:-160px}.booking__inner{grid-template-columns:.8fr 1.2fr;align-items:center;gap:3.5rem;display:grid;position:relative}.booking__info .section-heading{text-align:left;margin:0 0 1.5rem}.booking__info .divider{margin-left:0}.booking__facts{color:#ffffffe6;gap:.8rem;display:grid}.booking__facts li{align-items:center;gap:.6rem;display:flex}.booking__facts svg{color:var(--gold-light)}.booking__form{background:var(--white);border-radius:var(--radius);grid-template-columns:1fr 1fr;gap:1rem 1.2rem;padding:2rem;display:grid;box-shadow:0 20px 50px #0000004d}.field{flex-direction:column;gap:.3rem;display:flex}.field--full{grid-column:1/-1}.field label{color:var(--navy);font-size:.82rem;font-weight:600}.field input,.field select,.field textarea{font:inherit;background:var(--cream);color:var(--text);border:1.5px solid #ddd6c4;border-radius:10px;width:100%;padding:.7rem .85rem;font-size:.95rem}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #cc931033}.form-error{color:var(--red);margin:0;font-size:.88rem}.booking__buttons{flex-wrap:wrap;gap:.8rem;display:flex}.booking__buttons .btn--outline-dark{background:var(--navy)}.booking__buttons .btn--outline-dark:hover{background:var(--navy-2);color:var(--white)}.contact{grid-template-columns:.9fr 1.1fr;gap:2rem;display:grid}.contact__cards{align-content:start;gap:1rem;display:grid}.contact__card{background:var(--cream);border:1px solid #ebe4d3;border-left:4px solid var(--gold);border-radius:var(--radius);align-items:flex-start;gap:1rem;padding:1.2rem 1.4rem;display:flex}.contact__card>svg{color:var(--red);flex:none;margin-top:.2rem}.contact__card h3{margin-bottom:.2rem;font-size:1.05rem}.contact__card p{color:var(--muted);margin:0;font-size:.93rem}.contact__card a:hover{color:var(--gold)}.contact__map{border-radius:var(--radius);min-height:380px;box-shadow:var(--shadow);overflow:hidden}.contact__map iframe{border:0;width:100%;height:100%;min-height:380px}.footer{background:radial-gradient(700px 300px at 100% 0%, #cc931024, transparent 60%), radial-gradient(600px 300px at 0% 100%, #e0202014, transparent 60%), var(--navy);color:#ffffffc7;padding-top:3.5rem;font-size:.92rem;position:relative}.footer:before{content:"";background:linear-gradient(90deg, var(--red), var(--gold), var(--gold-light));height:4px;position:absolute;inset:0 0 auto}.footer a{transition:color .2s}.footer__cta{border-radius:calc(var(--radius) * 1.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(120deg,#cc931038,#ffffff0f);border:1px solid #e8b73a59;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem 2rem;margin-bottom:3rem;padding:1.6rem 2rem;display:flex}.footer__cta h3{color:var(--white);margin:0 0 .2rem;font-size:clamp(1.25rem,2.4vw,1.7rem)}.footer__cta p{color:#fffc;margin:0}.footer__cta-actions{flex-wrap:wrap;gap:.75rem;display:flex}.footer__inner{grid-template-columns:1.3fr .7fr 1.2fr;gap:2.5rem;padding-bottom:2.5rem;display:grid}.footer__brand img{background:var(--white);border-radius:12px;width:auto;height:62px;margin-bottom:1rem;padding:6px 14px}.footer__brand p{max-width:340px;margin-bottom:1rem}.footer__social{gap:.7rem;display:flex}.footer__social a{width:42px;height:42px;color:var(--white);border:1.5px solid #ffffff4d;border-radius:50%;place-items:center;transition:all .25s;display:grid}.footer__social a:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-3px);box-shadow:0 8px 18px #cc931066}.footer__title{font-family:var(--font-head);color:var(--white);margin:0 0 1.2rem;padding-bottom:.7rem;font-size:1.15rem;position:relative}.footer__title:after{content:"";background:linear-gradient(90deg, var(--red), var(--gold));border-radius:3px;width:42px;height:3px;position:absolute;bottom:0;left:0}.footer__links{gap:.55rem;display:grid}.footer__links a{padding-left:0;transition:color .2s,padding-left .25s;display:inline-block;position:relative}.footer__links a:before{content:"›";opacity:0;color:var(--gold-light);transition:opacity .2s;position:absolute;left:0}.footer__links a:hover{color:var(--gold-light);padding-left:1rem}.footer__links a:hover:before{opacity:1}.footer__contact ul{gap:1rem;display:grid}.footer__contact li{align-items:flex-start;gap:.8rem;display:flex}.footer__ico{width:36px;height:36px;color:var(--gold-light);background:#ffffff14;border-radius:10px;flex:none;place-items:center;display:grid}.footer__line{line-height:1.5;display:block}.footer__contact a:hover{color:var(--gold-light)}.footer__email{word-break:break-all;align-self:center}.footer__bar{background:#0000002e;border-top:1px solid #ffffff1f}.footer__bar-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;padding:1rem 0;display:flex}.footer__bar p{margin:0;font-size:.82rem}.footer__credit a{color:var(--gold-light);border-bottom:1px dashed #e8b73a99;font-weight:600}.footer__credit a:hover{color:var(--white);border-bottom-color:var(--white)}.footer__top{width:40px;height:40px;color:var(--white);background:var(--gold);border:0;border-radius:50%;place-items:center;transition:transform .25s,background .25s;display:grid}.footer__top:hover{background:var(--gold-light);transform:translateY(-3px)}.floating{z-index:90;gap:.7rem;display:grid;position:fixed;bottom:1.1rem;right:1.1rem}.floating__btn{width:52px;height:52px;color:var(--white);border-radius:50%;place-items:center;transition:transform .25s;display:grid;box-shadow:0 6px 18px #0000004d}.floating__btn:hover{transform:scale(1.1)}.floating__btn--wa{background:#25d366}.floating__btn--call{background:var(--red)}@media (width<=960px){.about,.booking__inner,.contact{grid-template-columns:1fr}.navbar__toggle{order:3;display:block}.navbar__cta{display:none}.navbar__links{background:var(--white);visibility:hidden;opacity:0;padding:.5rem 1.5rem 1.2rem;flex-direction:column;align-items:stretch;gap:0;max-height:0;padding-block:0;transition:all .3s;position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:0 14px 24px #09003926}.navbar__links.is-open{visibility:visible;opacity:1;max-height:480px;padding-block:.5rem 1.2rem}.navbar__links li a:not(.btn){border-bottom:1px solid #eee7d6;padding:.8rem 0;display:block}.navbar__links a:not(.btn):after{display:none}.navbar__cta-mobile{margin-top:.9rem;display:block}.navbar__cta-mobile .btn{width:100%}.room-card{grid-template-columns:1fr}.room-card--flip .room-card__media{order:0}.room-card__media{min-height:240px}.footer__inner{grid-template-columns:1fr 1fr}.footer__brand{grid-column:1/-1}}@media (width<=640px){.section{padding:4rem 0}.brand__logo{height:44px}.brand__text strong{font-size:1.05rem}.brand__text small{font-size:.6rem}.booking__form{grid-template-columns:1fr;padding:1.4rem}.hero{padding-top:80px}.about__img-main{width:85%}.hero__actions .btn{flex:100%}.rooms-section{padding:2.5rem 0}.room-card{border-radius:var(--radius)}.room-card__media{min-height:200px}.plans{grid-template-columns:1fr 1fr}.room-card__cta .btn{width:100%}.footer{padding-top:2.5rem}.footer__cta{margin-bottom:2rem;padding:1.3rem}.footer__cta-actions,.footer__cta-actions .btn{width:100%}.footer__inner{grid-template-columns:1fr;gap:2rem}.footer__bar-inner{text-align:center;justify-content:center;padding-bottom:4.5rem}.footer__top{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}.hero__slide.is-active{animation:none}.room-card,.room-card__media img,.plan{transition:none}.room-card:hover,.plan:hover{transform:none}.footer__links a,.footer__social a,.footer__top{transition:none}}
