.hero-badge{display:inline-block;padding:6px 16px;background:#ffffff26;backdrop-filter:blur(5px);border-radius:var(--radius-full);font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;margin-bottom:20px;border:1px solid rgba(255,255,255,.1)}.scroll-indicator{position:absolute;bottom:30px;left:50%;transform:translate(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--color-white);opacity:.8}.scroll-indicator .mouse{width:24px;height:38px;border:2px solid var(--color-white);border-radius:12px;position:relative}.scroll-indicator .wheel{width:4px;height:8px;background-color:var(--color-white);border-radius:2px;position:absolute;top:6px;left:50%;transform:translate(-50%);animation:scrollWheel 2s infinite}.scroll-text{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}@keyframes scrollWheel{0%{top:6px;opacity:1}50%{top:14px;opacity:0}to{top:6px;opacity:1}}.section-tag{display:inline-block;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:10px}.lead{font-size:1.15rem;font-weight:400;color:var(--color-primary-dark);margin-bottom:24px}.key-features{display:flex;flex-direction:column;gap:20px;margin-top:30px}.feature-item{display:flex;gap:16px}.feature-number{font-family:var(--font-serif);font-size:1.8rem;font-weight:600;color:var(--color-accent);line-height:1}.feature-item h4{font-family:var(--font-sans);font-size:1.05rem;font-weight:600;margin-bottom:4px;color:var(--color-primary-dark)}.feature-item p{font-size:.95rem;color:var(--color-text-muted);margin-bottom:0}.main-image-wrapper{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}.about-main-img{width:100%;height:500px;object-fit:cover;transition:var(--transition-smooth)}.about-main-img:hover{transform:scale(1.03)}.experience-badge{position:absolute;bottom:20px;right:20px;background:#1e2923e6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);height:28px;padding:0 6px;border-radius:var(--radius-sm);box-shadow:0 4px 15px #0003;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.1)}.badge-number{font-family:var(--font-serif);font-size:1.4rem;font-weight:700;color:var(--color-star);margin-bottom:8px}.badge-text{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#fffffff2;margin:0;white-space:nowrap}.section-header{max-width:600px;margin-left:auto;margin-right:auto;margin-bottom:20px}.section-subtitle{font-size:1.05rem;color:var(--color-text-muted)}.text-center{text-align:center}.suite-card{overflow:hidden}.suite-img-wrapper{position:relative;height:300px;overflow:hidden}.suite-img{width:100%;height:100%;object-fit:cover;transition:var(--transition-smooth)}.suite-card:hover .suite-img{transform:scale(1.05)}.suite-price{position:absolute;top:20px;right:20px;background:var(--color-white);color:var(--color-primary-dark);font-family:var(--font-sans);font-weight:600;padding:6px 16px;border-radius:var(--radius-full);font-size:.85rem;box-shadow:var(--shadow-sm);text-transform:uppercase;letter-spacing:.05em}.suite-content{padding:30px}.suite-content h3{margin-bottom:15px}.suite-content p{font-size:.95rem;color:var(--color-text-muted);margin-bottom:20px}.suite-amenities{list-style:none;display:grid;grid-template-columns:1fr;gap:8px}@media(min-width:480px){.suite-amenities{grid-template-columns:1fr 1fr}}.suite-amenities li{font-size:.85rem;color:var(--color-text-dark);display:flex;align-items:center;gap:8px}.suite-amenities span{color:var(--color-accent);font-weight:700}.amenity-card{padding:30px;text-align:center}.amenity-icon{width:50px;height:50px;margin-left:auto;margin-right:auto;margin-bottom:20px;color:var(--color-primary)}.amenity-card h3{font-family:var(--font-sans);font-size:1.15rem;font-weight:600;margin-bottom:10px;color:var(--color-primary-dark)}.amenity-card p{font-size:.9rem;color:var(--color-text-muted);margin-bottom:0}.image-grid-activities{display:grid;grid-template-columns:1fr;gap:20px}@media(min-width:480px){.image-grid-activities{grid-template-columns:1fr 1fr}}.activity-img-card{position:relative;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md);height:350px}.activity-img-card img{width:100%;height:100%;object-fit:cover;transition:var(--transition-smooth)}.activity-img-card:hover img{transform:scale(1.05)}.activity-img-card span{position:absolute;bottom:0;left:0;width:100%;padding:20px;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,transparent 100%);color:var(--color-white);font-weight:500;font-size:.95rem}.distance-list{margin-top:30px;display:flex;flex-direction:column;gap:15px}.distance-item{display:flex;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--color-border);font-size:.95rem}.distance-item strong{color:var(--color-primary-dark)}.distance-item span{color:var(--color-text-muted)}.review-card{background-color:#f1bea9;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:30px;box-shadow:0 4px 15px #00000026;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.review-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #00000040}.review-header{display:flex;justify-content:space-between;margin-bottom:15px;font-size:.9rem;border-bottom:1px solid rgba(42,54,45,.15);padding-bottom:10px}.review-header strong{color:var(--color-primary-dark);font-weight:700}.review-header span{color:#2a362dbf;font-size:.85rem}.review-card p{font-size:.95rem;line-height:1.6;margin-bottom:0;font-style:italic;color:var(--color-primary-dark)}#toggle-reviews-btn:hover{background-color:var(--color-white)!important;color:var(--color-primary-dark)!important}.booking-grid{display:grid;grid-template-columns:1fr;gap:30px}@media(min-width:900px){.booking-grid{grid-template-columns:1.6fr 1fr}}.calendar-container{padding:30px}.calendar-header{display:flex;justify-content:center;align-items:center;gap:15px;margin-bottom:24px}#calendar-title{margin:0;min-width:150px;text-align:center;font-size:1.2rem}.calendar-btn{background:transparent;border:none;width:36px;height:36px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast);color:var(--color-primary-dark)}.calendar-btn:hover{background-color:#4a5d4e14}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-weight:500;font-size:.85rem;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:15px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px 0;text-align:center}.calendar-day{border:0;background:transparent;color:inherit;font:inherit;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.95rem;border-radius:50%;cursor:pointer;transition:var(--transition-fast);font-weight:400}.calendar-day-empty{aspect-ratio:1}.calendar-day.past{color:var(--color-text-muted);cursor:not-allowed;text-decoration:line-through}.calendar-day.booked{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed;font-weight:400}.calendar-day.available:hover{background-color:var(--color-bg);color:var(--color-primary-dark)}.calendar-day.selected-day{background-color:var(--color-primary)!important;color:var(--color-white)!important;font-weight:600;z-index:2;position:relative}.calendar-day.start-date{border-radius:50% 0 0 50%!important}.calendar-day.end-date{border-radius:0 50% 50% 0!important}.calendar-day.in-range{background-color:#4a5d4e26!important;color:var(--color-primary-dark)!important;border-radius:0}.calendar-legend{display:flex;justify-content:center;gap:20px;margin-top:24px;font-size:.85rem}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{width:12px;height:12px;border-radius:50%}.legend-dot.available{border:1px solid var(--color-border);background-color:transparent}.legend-dot.booked{background-color:#f3f4f6;border:1px solid #d1d5db}.legend-dot.selected{background-color:var(--color-primary)}.booking-info-panel{padding:30px;display:flex;flex-direction:column;justify-content:space-between}.booking-details{margin-top:20px;margin-bottom:30px}.detail-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--color-border)}.detail-row span{color:var(--color-text-muted);font-size:.95rem}.detail-row strong{color:var(--color-primary-dark)}.selection-dates{gap:20px}.selection-dates>div{flex:1;display:flex;flex-direction:column;gap:4px}.date-val{font-weight:600;color:var(--color-primary-dark)!important;font-size:1.05rem!important}.total-row{border-bottom:none;padding-top:20px}.total-row span{font-weight:600;color:var(--color-primary-dark);font-size:1.1rem}.price-val{font-family:var(--font-serif);font-size:1.6rem!important;font-weight:700!important;color:var(--color-accent)!important}.booking-options{display:flex;flex-direction:column;gap:12px}.w-100{width:100%}.panel-or{text-align:center;font-size:.85rem;color:var(--color-text-muted);margin:5px 0}.contact-form .form-group{margin-bottom:20px;display:flex;flex-direction:column;gap:8px}.contact-form label{font-size:.9rem;font-weight:500;color:var(--color-text-dark)}.contact-form input,.contact-form textarea{padding:12px 18px;border:1px solid var(--color-border);background-color:var(--color-white);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.95rem;color:var(--color-text-dark);transition:var(--transition-fast);width:100%}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #d78a7226}.gmap-module{margin-top:24px;border-radius:var(--radius-lg, 16px);overflow:hidden;box-shadow:0 4px 15px #0000000d;border:1px solid rgba(0,0,0,.05);background:var(--color-white);transition:transform .3s ease,box-shadow .3s ease}.gmap-module:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.gmap-wrapper{position:relative;width:100%;height:250px;border-radius:calc(var(--radius-lg, 16px) - 6px);overflow:hidden}.gmap-overlay{position:absolute;bottom:0;left:0;width:100%;padding:40px 15px 15px;background:linear-gradient(to top,rgba(0,0,0,.5) 0%,transparent 100%);display:flex;justify-content:flex-end;pointer-events:none}.gmap-link-btn{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;background:var(--color-white);color:var(--color-primary-dark);font-size:.85rem;font-weight:600;padding:8px 16px;border-radius:20px;text-decoration:none;box-shadow:0 4px 10px #00000026;transition:all .2s ease}.gmap-link-btn:hover{background:var(--color-primary);color:var(--color-white);transform:scale(1.03)}.gmap-link-btn svg{transition:transform .3s ease}.gmap-link-btn:hover svg{transform:translateY(-2px)}.experience-vertical{padding:50px;margin-bottom:50px}.experience-header{max-width:800px;margin:0 auto 40px}.exp-badge{display:inline-block;padding:6px 14px;background:#d78a721a;color:var(--color-accent);border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:15px}.experience-header h3{font-family:var(--font-serif);font-size:2.5rem;color:var(--color-primary-dark);margin-bottom:20px}.exp-desc{font-size:1.1rem;color:var(--color-text-muted);line-height:1.7;margin-bottom:30px}.exp-features-row{display:flex;flex-wrap:wrap;justify-content:center;gap:15px}.exp-features-row span{background:#4a5d4e0f;color:var(--color-primary);padding:8px 16px;border-radius:30px;font-size:.9rem;font-weight:500}.photo-gallery{display:grid;gap:15px}.gallery-img-wrap{overflow:hidden;border-radius:var(--radius-md);height:100%;position:relative;box-shadow:0 4px 12px #00000014}.gallery-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}.gallery-img-wrap:hover img{transform:scale(1.05)}.grid-masonry{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:15px}.grid-masonry .gallery-img-wrap{height:100%;width:100%}.img-large-v{grid-column:span 2;grid-row:span 2}.img-large-h,.img-wide{grid-column:span 2;grid-row:span 1}.welcome-gallery-section{padding:80px 0}.welcome-cursive-title{font-family:Dancing Script,cursive;font-weight:700;font-size:4rem;color:var(--color-primary-dark);margin-bottom:20px;line-height:1.1}.welcome-bento{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:auto auto;gap:30px}.bento-intro{display:flex;flex-direction:column;justify-content:center;grid-column:1 / 2;grid-row:1 / 2}.bento-img-wrap{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);position:relative}.bento-img-wrap img{width:100%;height:100%;object-fit:cover;transition:var(--transition-smooth)}.bento-img-wrap:hover img{transform:scale(1.05)}.img-plaque{grid-column:2 / 3;grid-row:1 / 2;height:250px}.img-entree{grid-column:1 / 2;grid-row:2 / 3;height:450px}.img-parterre{grid-column:2 / 3;grid-row:2 / 3;height:450px}@media(max-width:900px){.experience-vertical{padding:30px 15px;margin-bottom:30px}.experience-header h3{font-size:2rem}.grid-masonry{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}.img-large-v,.img-large-h,.img-wide{grid-column:span 2}.welcome-bento{grid-template-columns:1fr;grid-template-rows:auto;gap:20px}.img-plaque,.img-entree,.img-parterre{grid-column:1;grid-row:auto;height:300px}.welcome-cursive-title{font-size:3rem}}.lightbox{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease}.lightbox.active{opacity:1;pointer-events:auto}.lightbox-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000000d9;backdrop-filter:blur(8px)}.lightbox-close{position:absolute;top:30px;right:30px;z-index:10000;background:#ffffff1a;border:none;color:#fff;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.lightbox-close:hover{background:#ffffff4d;transform:rotate(90deg)}.lightbox-close svg{width:24px;height:24px}.lightbox-content{position:relative;z-index:10000;width:100%;max-width:90vw;max-height:90vh;display:flex;justify-content:center;align-items:center;transform:scale(.95);transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.lightbox.active .lightbox-content{transform:scale(1)}#lightbox-img{max-width:100%;max-height:90vh;width:auto;height:auto;object-fit:contain;border-radius:var(--radius-md);box-shadow:0 15px 50px #00000080}
