:root{--primary: #1A1A2E;--primary-light: #2D2D44;--primary-dark: #0F0F1A;--primary-rgb: 26, 26, 46;--accent: #E8B86D;--accent-hover: #D4A45C;--accent-rgb: 232, 184, 109;--shamrock: #4ECDC4;--bg-body: #FFFFFF;--bg-surface: #F5F5F0;--bg-card: #FFFFFF;--bg-elevated: #FFFFFF;--text-primary: #1A1A2E;--text-secondary: #6B7280;--text-muted: #9CA3AF;--border: #E5E7EB;--font-heading: "Cormorant Garamond", Georgia, serif;--font-body: "DM Sans", -apple-system, sans-serif;--section-padding: 6rem;--container-max: 1320px;--border-radius: 4px;--border-radius-lg: 8px;--transition: all .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: all .6s cubic-bezier(.4, 0, .2, 1);--glass-bg: rgba(255, 255, 255, .85);--glass-blur: blur(20px);--glass-border: rgba(255, 255, 255, .2)}*,*:before,*:after{box-sizing:border-box}body{font-family:var(--font-body);color:var(--text-primary);background-color:var(--bg-body);line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2;color:var(--text-primary);letter-spacing:-.02em}h1{font-size:3rem}h2{font-size:2.25rem}h3{font-size:1.5rem}h4{font-size:1.25rem}a{color:var(--accent);text-decoration:none;transition:var(--transition)}a:hover{color:var(--accent-hover)}img{max-width:100%;height:auto}.bg-surface{background-color:var(--bg-surface)}.section-padding{padding:var(--section-padding) 0}.section-heading-boutique{text-align:center}.section-heading-boutique h2{position:relative;display:inline-block;margin-bottom:.5rem}.section-heading-boutique h2:after{content:"";display:block;width:40px;height:2px;background:var(--accent);margin:.75rem auto 0}.btn{font-family:var(--font-body);font-weight:500;letter-spacing:.03em;border-radius:var(--border-radius);padding:.6rem 1.5rem;transition:var(--transition);text-transform:uppercase;font-size:.85rem}.btn-accent{background-color:var(--accent);color:var(--accent-text, var(--primary-dark));border:2px solid var(--accent)}.btn-accent:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-text, var(--primary-dark));transform:translateY(-1px)}.btn-outline-primary{color:var(--primary);border:2px solid var(--primary);background:transparent}.btn-outline-primary:hover{background:var(--primary);color:#fff}.btn-outline-light{color:#fff;border:2px solid rgba(255,255,255,.6);background:transparent}.btn-outline-light:hover{background:#fff;color:var(--primary-dark);border-color:#fff}.navbar-boutique{padding:1rem 0;transition:var(--transition);background:transparent;z-index:1030}.navbar-boutique .navbar-brand{color:#fff;font-family:var(--font-heading);font-size:1.5rem;font-weight:600;letter-spacing:-.02em}.navbar-boutique .brand-logo{max-height:40px;width:auto}.navbar-boutique .brand-text{color:#fff}.navbar-boutique .nav-link{color:#ffffffd9;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;padding:.5rem .75rem;position:relative}.navbar-boutique .nav-link:hover,.navbar-boutique .nav-link.active{color:#fff}.navbar-boutique .nav-link.active:after{content:"";position:absolute;bottom:0;left:.75rem;right:.75rem;height:2px;background:var(--accent)}.navbar-boutique .navbar-toggler-icon{filter:invert(1)}.navbar-boutique.scrolled{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:0 1px 20px #00000014;padding:.5rem 0}.navbar-boutique.scrolled .brand-text,.navbar-boutique.scrolled .navbar-brand{color:var(--text-primary)}.navbar-boutique.scrolled .nav-link{color:var(--text-secondary)}.navbar-boutique.scrolled .nav-link:hover,.navbar-boutique.scrolled .nav-link.active{color:var(--text-primary)}.navbar-boutique.scrolled .navbar-toggler-icon{filter:none}.page-header-boutique~* .navbar-boutique,body:not(.has-hero) .navbar-boutique{background:var(--primary)}.dark-mode-toggle{font-size:1rem;cursor:pointer;border:none;background:none}[data-theme=light] .dark-mode-toggle .light-icon,[data-theme=dark] .dark-mode-toggle .dark-icon{display:none}.offcanvas-boutique{max-width:320px;background:var(--bg-body)}.mobile-nav{display:flex;flex-direction:column}.mobile-nav-link{padding:.75rem 0;color:var(--text-primary);font-weight:500;border-bottom:1px solid var(--border);text-decoration:none;font-size:.95rem}.mobile-nav-link:hover,.mobile-nav-link.active{color:var(--accent)}.mobile-nav-link.small{font-size:.85rem;color:var(--text-secondary)}.hero-boutique{position:relative;min-height:100vh;display:flex;align-items:flex-end;background-size:cover;background-position:center;background-repeat:no-repeat;overflow:hidden}.hero-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(var(--primary-rgb),.85) 0%,rgba(var(--primary-rgb),.4) 40%,rgba(var(--primary-rgb),.1) 70%,transparent 100%);z-index:1}.hero-content{position:relative;z-index:2;padding-bottom:5rem}.hero-text{max-width:700px}.hero-title{font-size:4rem;font-weight:700;color:#fff;line-height:1.05;margin-bottom:1rem;letter-spacing:-.03em}.hero-subtitle{font-size:1.25rem;color:#ffffffd9;font-weight:300;margin-bottom:2rem;letter-spacing:.02em}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.intro-text{font-family:var(--font-heading);font-size:1.5rem;line-height:1.6;color:var(--text-secondary);font-weight:400}.trust-bar-boutique{padding:2.5rem 0;background-color:var(--trustbar-bg, transparent);border-bottom:1px solid var(--border)}.trust-bar-boutique[data-has-bg=true]{border-bottom:none}.trust-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--trustbar-text, var(--text-secondary))}.trust-item i{color:var(--trustbar-icon, var(--accent));font-size:1.1rem}.room-card-boutique{display:block;text-decoration:none;color:var(--text-primary)}.room-card-image-wrapper{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:var(--border-radius-lg)}.room-card-img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.room-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-surface)}.room-card-overlay{position:absolute;bottom:0;left:0;right:0;padding:2rem 1.5rem;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 100%);color:#fff;transform:translateY(0);transition:var(--transition)}.room-card-name{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;margin-bottom:.25rem;color:#fff}.room-card-meta{font-size:.8rem;opacity:.8;text-transform:uppercase;letter-spacing:.05em}.room-card-cta{display:inline-block;margin-top:.75rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;opacity:0;transform:translateY(10px);transition:var(--transition);color:var(--accent)}.room-card-boutique:hover .room-card-img{transform:scale(1.05)}.room-card-boutique:hover .room-card-cta{opacity:1;transform:translateY(0)}.room-detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.room-detail-gallery .room-detail-main{grid-column:1 / -1}.room-detail-gallery img{width:100%;height:100%;object-fit:cover;border-radius:var(--border-radius)}.room-booking-sidebar{background:var(--bg-surface);padding:2rem;border-radius:var(--border-radius-lg);position:sticky;top:100px}.room-amenity-badge{display:inline-block;padding:.35rem .75rem;background:var(--bg-surface);border-radius:var(--border-radius);font-size:.8rem;margin:.25rem;color:var(--text-secondary)}.other-room-thumb{width:60px;height:60px;object-fit:cover;border-radius:var(--border-radius)}.other-room-link{color:var(--text-primary)}.other-room-link:hover{color:var(--accent)}.amenities-section{background-color:var(--amenities-bg, var(--bg-surface))}.amenities-section .section-heading-boutique h2{color:var(--amenities-text, var(--text-primary))}.amenities-section .section-heading-boutique h2:after{background:var(--amenities-icon, var(--accent))}.amenities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.amenity-item-boutique{display:flex;flex-direction:column;align-items:center;gap:.75rem}.amenity-icon-wrapper{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:50%;font-size:1.25rem;color:var(--amenities-icon, var(--accent));transition:var(--transition)}.amenity-item-boutique:hover .amenity-icon-wrapper{background:var(--amenities-icon, var(--accent));color:var(--primary-dark);border-color:var(--amenities-icon, var(--accent))}.amenity-name{font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--amenities-text, var(--text-secondary))}.ttd-card{border-radius:var(--border-radius-lg);overflow:hidden;background:var(--bg-body);border:1px solid var(--border);transition:var(--transition);height:100%;display:flex;flex-direction:column}.ttd-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001a}.ttd-card-img-wrap{position:relative;aspect-ratio:16/10;overflow:hidden}.ttd-card-img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.ttd-card:hover .ttd-card-img{transform:scale(1.05)}.ttd-category-badge{position:absolute;top:.75rem;left:.75rem;background:var(--accent);color:var(--primary-dark);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.25rem .75rem;border-radius:2rem}.ttd-category-badge.inline{position:static;display:inline-block;margin-bottom:.5rem}.ttd-card-body{padding:1.25rem 1.5rem;flex:1;display:flex;flex-direction:column}.ttd-card-body.no-image{padding:2rem 1.5rem}.ttd-icon{font-size:1.75rem;color:var(--accent);margin-bottom:.75rem}.ttd-card-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.ttd-card-desc{font-size:.9rem;color:var(--text-secondary);line-height:1.6;flex:1}.ttd-card-link{display:inline-block;margin-top:auto;padding-top:.5rem;font-size:.85rem;font-weight:500;color:var(--accent);text-decoration:none;transition:var(--transition)}.ttd-card-link:hover{color:var(--accent-hover)}.facility-card{border-radius:var(--border-radius-lg);overflow:hidden;background:var(--bg-body);border:1px solid var(--border);transition:var(--transition);height:100%;display:flex;flex-direction:column}.facility-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001a}.facility-card-img-wrap{aspect-ratio:16/10;overflow:hidden}.facility-card-img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.facility-card:hover .facility-card-img{transform:scale(1.05)}.facility-card-body{padding:1.25rem 1.5rem;flex:1;display:flex;flex-direction:column}.facility-card-body.no-image{padding:2rem 1.5rem}.facility-icon{font-size:1.75rem;color:var(--accent);margin-bottom:.75rem}.facility-card-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.facility-card-desc{font-size:.9rem;color:var(--text-secondary);line-height:1.6;flex:1}.facility-hours{display:inline-flex;align-items:center;margin-top:auto;padding-top:.5rem;font-size:.8rem;font-weight:500;color:var(--accent)}.facility-preview{padding:1.5rem 1rem}.facility-preview-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;border:1px solid var(--border);border-radius:50%;font-size:1.5rem;color:var(--accent);transition:var(--transition)}.facility-preview:hover .facility-preview-icon{background:var(--accent);color:var(--primary-dark);border-color:var(--accent)}.facility-preview-title{font-family:var(--font-heading);font-size:1rem;font-weight:600;margin-bottom:.25rem}.testimonial-boutique{max-width:700px;margin:0 auto;text-align:center}.testimonial-quote{border:none;padding:0;margin:0}.testimonial-quote-icon{font-size:3rem;color:var(--accent);opacity:.3;display:block;margin-bottom:1rem}.testimonial-quote p{font-family:var(--font-heading);font-size:1.5rem;line-height:1.6;font-style:italic;color:var(--text-primary);margin-bottom:1.5rem}.testimonial-quote footer strong{display:block;font-family:var(--font-body);font-size:.9rem;text-transform:uppercase;letter-spacing:.08em}.testimonial-stars{color:var(--accent);margin-top:.5rem}.testimonial-stars i{font-size:.85rem}.reviews-google-label{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem;margin:.5rem auto 0;font-size:.9rem;color:var(--text-secondary)}.reviews-source-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .65rem;border:1px solid var(--border);border-radius:999px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-primary)}.reviews-source-badge i{color:#4285f4;font-size:1rem}.reviews-rating-summary{display:inline-flex;align-items:center;gap:.4rem}.reviews-rating-summary strong{font-size:1.05rem;color:var(--text-primary)}.reviews-stars-mini{color:var(--accent);font-size:.85rem;line-height:1}.reviews-count{color:var(--text-secondary)}.testimonial-carousel{position:relative}.testimonial-slide{display:none}.testimonial-slide.is-active{display:block;animation:testimonial-fade .5s ease}@keyframes testimonial-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.testimonial-controls{display:flex;align-items:center;justify-content:center;gap:1.25rem;margin-top:1.5rem}.testimonial-arrow{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition)}.testimonial-arrow:hover,.testimonial-arrow:focus-visible{border-color:var(--accent);color:var(--accent)}.testimonial-arrow i{font-size:1rem}.testimonial-dots{display:inline-flex;align-items:center;gap:.5rem}.testimonial-dot{width:8px;height:8px;border-radius:50%;border:none;padding:0;background:var(--border);cursor:pointer;transition:var(--transition)}.testimonial-dot:hover{background:var(--text-secondary)}.testimonial-dot.is-active{background:var(--accent);width:24px;border-radius:4px}@media(prefers-reduced-motion:reduce){.testimonial-slide.is-active{animation:none}}.cta-boutique{padding:var(--section-padding) 0;background:var(--primary);color:#fff}.cta-boutique h2{color:#fff;font-size:2.5rem;margin-bottom:.5rem}.cta-boutique p{color:#ffffffb3;margin-bottom:2rem}.gallery-masonry{columns:3;column-gap:1rem}.gallery-item{break-inside:avoid;margin-bottom:1rem;position:relative;overflow:hidden;border-radius:var(--border-radius)}.gallery-item img{width:100%;display:block;transition:transform .5s ease}.gallery-item-overlay{position:absolute;inset:0;background:#0000;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.gallery-item-overlay i{color:#fff;font-size:1.5rem;opacity:0;transform:scale(.5);transition:var(--transition)}.gallery-item:hover img{transform:scale(1.05)}.gallery-item:hover .gallery-item-overlay{background:#0000004d}.gallery-item:hover .gallery-item-overlay i{opacity:1;transform:scale(1)}.gallery-item figcaption{position:absolute;bottom:0;left:0;right:0;padding:.75rem 1rem;background:linear-gradient(to top,rgba(0,0,0,.6),transparent);color:#fff;font-size:.8rem;opacity:0;transition:var(--transition)}.gallery-item:hover figcaption{opacity:1}.page-header-boutique{position:relative;padding:10rem 0 4rem;background-size:cover;background-position:center;background-repeat:no-repeat}.page-header-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(var(--primary-rgb),.6),rgba(var(--primary-rgb),.8))}.page-header-title{font-size:3rem;color:#fff;font-weight:600;margin-bottom:.5rem}.page-header-breadcrumb{font-size:.8rem}.page-header-breadcrumb .breadcrumb-item,.page-header-breadcrumb .breadcrumb-item a{color:#ffffffb3}.page-header-breadcrumb .breadcrumb-item.active{color:#ffffffe6}.page-header-breadcrumb .breadcrumb-item+.breadcrumb-item:before{color:#fff6}.map-wrapper-boutique{height:500px;border-radius:var(--border-radius-lg);overflow:hidden}.map-wrapper-boutique iframe{height:100%}.contact-info-boutique{padding:2rem 0}.contact-row{display:flex;gap:1rem;align-items:flex-start}.contact-row>i{color:var(--accent);font-size:1.25rem;margin-top:.2rem;flex-shrink:0}.area-card-boutique{padding:1.5rem;border:1px solid var(--border);border-radius:var(--border-radius-lg);transition:var(--transition);height:100%}.area-card-boutique:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 20px #0000000f}.area-card-boutique h3{font-size:1.1rem;margin-bottom:.25rem}.area-distance{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--shamrock)}.area-link{font-size:.8rem;font-weight:500;display:inline-block}.event-card-boutique{border:1px solid var(--border);border-radius:var(--border-radius-lg);overflow:hidden;transition:var(--transition);height:100%}.event-card-boutique:hover{transform:translateY(-2px);box-shadow:0 4px 20px #0000000f}.event-card-img{width:100%;height:200px;object-fit:cover}.event-card-body{padding:1.5rem}.event-date{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}.menu-section-title{font-size:1.25rem;padding-bottom:.5rem;border-bottom:1px solid var(--border);margin-bottom:1rem}.menu-price{font-weight:600;color:var(--accent);white-space:nowrap}.accordion-boutique .accordion-item{border:1px solid var(--border);border-radius:var(--border-radius-lg)!important;margin-bottom:.75rem;overflow:hidden}.accordion-boutique .accordion-button{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;padding:1.25rem 1.5rem;background:var(--bg-card);color:var(--text-primary)}.accordion-boutique .accordion-button:not(.collapsed){background:var(--primary);color:#fff;box-shadow:none}.accordion-boutique .accordion-button:focus{box-shadow:none}.accordion-boutique .accordion-body{padding:1.5rem;line-height:1.8}.booking-bar{position:fixed;bottom:-80px;left:0;right:0;background:var(--primary);color:#fff;padding:.75rem 0;z-index:1020;transition:bottom .3s ease;box-shadow:0 -2px 20px #0000001a}.booking-bar.visible{bottom:0}.booking-bar-inner{display:flex;align-items:center;justify-content:space-between}.booking-bar-text{font-family:var(--font-heading);font-size:1.1rem}.booking-bar-actions{display:flex;gap:.5rem}.site-footer{background:var(--primary);color:#fffc;padding-top:4rem}.footer-hotel-name{font-family:var(--font-heading);color:#fff;font-size:1.5rem}.footer-logo{max-height:36px;width:auto}.footer-tagline{color:#fff9;font-size:.9rem;max-width:400px}.footer-heading{font-family:var(--font-body);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#ffffff80;margin-bottom:1.25rem}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:.5rem}.footer-links a{color:#ffffffb3;font-size:.9rem;transition:var(--transition)}.footer-links a:hover{color:var(--accent)}.footer-contact p{margin-bottom:.5rem;font-size:.9rem}.footer-contact a{color:#ffffffb3}.footer-contact a:hover{color:var(--accent)}.social-link{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff1a;color:#ffffffb3;font-size:.9rem;transition:var(--transition)}.social-link:hover{background:var(--accent);color:var(--primary-dark)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.5rem 0;margin-top:3rem;font-size:.8rem}.footer-bottom-links a{color:#ffffff80}.footer-bottom-links a:hover,.footer-powered a{color:var(--accent)}.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media print{.navbar-boutique,.booking-bar,.site-footer,.btn,.hero-overlay,.page-header-overlay{display:none!important}body{background:#fff;color:#000}a[href]:after{content:" (" attr(href) ")";font-size:.8em}}@media(max-width:991.98px){.hero-title{font-size:3rem}.amenities-grid{grid-template-columns:repeat(3,1fr)}.gallery-masonry{columns:2}.section-padding{padding:4rem 0}}@media(max-width:767.98px){.hero-title{font-size:2.25rem}.hero-boutique{min-height:85vh}.amenities-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.gallery-masonry{columns:2}h1,.page-header-title{font-size:2.25rem}h2{font-size:1.75rem}.section-padding{padding:3rem 0}.page-header-boutique{padding:8rem 0 3rem}.map-wrapper-boutique{height:300px}.room-detail-gallery{grid-template-columns:1fr}}@media(max-width:575.98px){.hero-title{font-size:1.85rem}.hero-boutique{min-height:80vh}.hero-content{padding-bottom:3rem}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.amenities-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.gallery-masonry{columns:1}.section-padding{padding:2.5rem 0}.page-header-boutique{padding:7rem 0 2rem}.page-header-title{font-size:1.75rem}.testimonial-quote p{font-size:1.15rem}.cta-boutique h2{font-size:1.75rem}.booking-bar-text{display:none}.booking-bar-inner{justify-content:center}.room-booking-sidebar{position:static}}:focus-visible{outline:2px solid var(--accent, #d4a574);outline-offset:2px;border-radius:2px}:focus:not(:focus-visible){outline:none}.btn:focus-visible,.navbar-toggler:focus-visible,.nav-link:focus-visible,.mobile-nav-link:focus-visible,.dark-mode-toggle:focus-visible,.btn-close:focus-visible{outline:3px solid var(--accent, #d4a574);outline-offset:3px}.form-control:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent, #d4a574);outline-offset:1px}.nav-link.active,.mobile-nav-link.active{font-weight:700}.mobile-nav-link.active{text-decoration:underline;text-underline-offset:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}.offcanvas,.collapse,.collapsing,.fade{transition:none!important}}html{scroll-padding-top:88px}
