@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Poppins:wght@300;400;500;600;700&display=swap";:root{--bg-primary:#050508;--bg-secondary:#0c0c12;--bg-tertiary:#12121c;--bg-card:#0f0f18b3;--bg-card-solid:#101018;--text-primary:#f5f5f7;--text-secondary:#9a9ab0;--text-muted:#55556a;--gold:#c8a44e;--gold-light:#dfc06e;--gold-dark:#a07f2e;--gold-glow:#c8a44e26;--gold-glow-strong:#c8a44e4d;--border:#ffffff0d;--border-light:#ffffff1a;--border-gold:#c8a44e40;--gradient-gold:linear-gradient(135deg, #b8943e 0%, #dfc06e 50%, #c8a44e 100%);--gradient-hero:linear-gradient(160deg, #050508e0 0%, #050508b3 35%, #050508eb 100%);--gradient-card:linear-gradient(160deg, #0f0f18d9 0%, #08080ea6 100%);--font-display:"Playfair Display", Georgia, serif;--font-body:"Poppins", -apple-system, sans-serif;--ease:cubic-bezier(.25, .46, .45, .94);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--shadow-gold:0 4px 30px #c8a44e40;--shadow-gold-lg:0 8px 50px #c8a44e59;--shadow-dark:0 8px 32px #0009}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);line-height:1.7;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.15}.container{max-width:1180px;margin:0 auto;padding:0 1.5rem}.glass{background:var(--gradient-card);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border);transition:border-color .3s var(--ease), box-shadow .3s var(--ease);border-radius:20px}.glass:hover{border-color:var(--border-light)}.btn{letter-spacing:.4px;transition:all .35s var(--ease);border-radius:60px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 2.25rem;font-size:.9rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";background:linear-gradient(90deg,#0000,#ffffff1f,#0000);transition:transform .6s;position:absolute;inset:0;transform:translate(-100%)}.btn:hover:after{transform:translate(100%)}.btn-gold{background:var(--gradient-gold);color:#080808;box-shadow:var(--shadow-gold)}.btn-gold:hover{box-shadow:var(--shadow-gold-lg);transform:translateY(-3px)}.btn-outline-gold{color:var(--gold);border:1.5px solid var(--gold);background:0 0}.btn-outline-gold:hover{background:var(--gold-glow);transform:translateY(-3px)}.btn-ghost{color:var(--text-primary);border:1.5px solid var(--border-light);background:#ffffff0a}.btn-ghost:hover{border-color:var(--gold);color:var(--gold);background:#ffffff14;transform:translateY(-3px)}.btn-whatsapp{color:#fff;background:#25d366;font-weight:600}.btn-whatsapp:hover{background:#1ead56;transform:translateY(-3px);box-shadow:0 4px 20px #25d3664d}.btn-sm{padding:.5rem 1.25rem;font-size:.82rem}.btn-danger{color:#dc3545;background:#dc35451f;border:1px solid #dc354533;border-radius:10px;padding:.4rem 1rem;font-size:.82rem;font-weight:500}.btn-danger:hover{background:#dc354538}.form-group{margin-bottom:1.5rem}.form-label{color:var(--text-secondary);margin-bottom:.45rem;font-size:.88rem;font-weight:500;display:block}.form-input{border:1.5px solid var(--border);width:100%;color:var(--text-primary);font-family:var(--font-body);background:#00000059;border-radius:14px;padding:.85rem 1.2rem;font-size:.92rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-glow);outline:none}.form-input::placeholder{color:var(--text-muted)}textarea.form-input{resize:vertical;min-height:100px}select.form-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%239a9ab0' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.5rem}.navbar{z-index:1000;width:100%;transition:all .4s var(--ease);padding:1.25rem 0;position:fixed;top:0}.navbar.scrolled{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-bottom:1px solid var(--border);background:#050508eb;padding:.75rem 0}.nav-inner{justify-content:space-between;align-items:center;display:flex}.nav-brand{font-family:var(--font-display);background:var(--gradient-gold);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.4rem;font-weight:700}.nav-links{align-items:center;gap:2.25rem;list-style:none;display:flex}.nav-links a{color:var(--text-secondary);font-size:.88rem;transition:color .2s;position:relative}.nav-links a:after{content:"";background:var(--gold);width:0;height:2px;transition:width .3s var(--ease);position:absolute;bottom:-5px;left:0}.nav-links a:hover{color:var(--gold)}.nav-links a:hover:after{width:100%}.menu-toggle{color:var(--text-primary);background:0 0;padding:.5rem;display:none}.hero{align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-bg img{object-fit:cover;width:100%;height:100%}.hero-bg:after{content:"";background:var(--gradient-hero);position:absolute;inset:0}.hero-decor{background:linear-gradient(180deg, transparent, var(--gold), transparent);opacity:.25;z-index:1;width:1px;height:55%;position:absolute;top:15%;right:8%}.hero-decor:before{content:"✦";color:var(--gold);opacity:.5;font-size:1rem;position:absolute;top:-20px;left:-8px}.hero-content{z-index:2;max-width:680px;padding-top:100px;position:relative}.hero-eyebrow{background:var(--gold-glow);border:1px solid var(--border-gold);color:var(--gold-light);text-transform:uppercase;letter-spacing:2.5px;animation:slideUp .7s var(--ease) forwards;border-radius:60px;align-items:center;gap:.6rem;margin-bottom:1.75rem;padding:.45rem 1.1rem;font-size:.78rem;font-weight:500;display:inline-flex}.hero-eyebrow .pulse{background:var(--gold);border-radius:50%;width:7px;height:7px;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.6)}}.hero-title{animation:slideUp .7s var(--ease) .1s forwards;opacity:0;margin-bottom:1.5rem;font-size:clamp(2.8rem,5.5vw,4.5rem);font-weight:700}.hero-title em{background:var(--gradient-gold);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:italic}.hero-desc{color:var(--text-secondary);max-width:520px;animation:slideUp .7s var(--ease) .2s forwards;opacity:0;margin-bottom:2.75rem;font-size:1.05rem;line-height:1.85}.hero-actions{animation:slideUp .7s var(--ease) .35s forwards;opacity:0;flex-wrap:wrap;gap:1rem;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}.particles{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.dot{background:var(--gold);opacity:0;border-radius:50%;width:2.5px;height:2.5px;animation:10s infinite floatDot;position:absolute}.dot:first-child{animation-delay:0s;left:8%}.dot:nth-child(2){animation-delay:2s;left:20%}.dot:nth-child(3){animation-delay:4s;left:35%}.dot:nth-child(4){animation-delay:1s;left:50%}.dot:nth-child(5){animation-delay:3s;left:65%}.dot:nth-child(6){animation-delay:5.5s;left:80%}.dot:nth-child(7){animation-delay:7s;left:92%}@keyframes floatDot{0%{opacity:0;transform:translateY(100vh)scale(0)}15%{opacity:.5}85%{opacity:.15}to{opacity:0;transform:translateY(-15vh)scale(1.2)}}.section{padding:7rem 0;position:relative}.section-alt{background:var(--bg-secondary)}.section-head{text-align:center;max-width:580px;margin:0 auto 4rem}.section-tag{font-family:var(--font-body);color:var(--gold);text-transform:uppercase;letter-spacing:3.5px;margin-bottom:.75rem;font-size:.75rem;font-weight:600;display:inline-block}.section-heading{margin-bottom:1rem;font-size:clamp(1.85rem,3.5vw,2.75rem)}.section-heading:after{content:"";background:var(--gradient-gold);border-radius:2px;width:45px;height:2.5px;margin:1rem auto 0;display:block}.section-desc{color:var(--text-secondary);font-size:1rem}.reveal{opacity:0;transition:all .75s var(--ease);transform:translateY(35px)}.reveal.visible{opacity:1;transform:translateY(0)}.services-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.svc-card{text-align:center;transition:transform .35s var(--ease), box-shadow .35s var(--ease);border-radius:20px;padding:2.5rem 1.75rem;position:relative;overflow:hidden}.svc-card:hover{box-shadow:var(--shadow-dark);transform:translateY(-6px)}.svc-card:before{content:"";background:var(--gradient-gold);opacity:0;border-radius:0 0 4px 4px;width:50px;height:2.5px;transition:opacity .3s;position:absolute;top:0;left:50%;transform:translate(-50%)}.svc-card:hover:before{opacity:1}.svc-icon{background:var(--gold-glow);width:64px;height:64px;color:var(--gold);transition:transform .35s var(--ease-spring);border-radius:16px;justify-content:center;align-items:center;margin:0 auto 1.25rem;display:flex}.svc-card:hover .svc-icon{transform:scale(1.12)rotate(-6deg)}.svc-card h3{margin-bottom:.6rem;font-size:1.15rem}.svc-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.65}.filter-bar{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-bottom:2.5rem;display:flex}.filter-btn{color:var(--text-secondary);border:1.5px solid var(--border);cursor:pointer;background:0 0;border-radius:60px;padding:.45rem 1.4rem;font-size:.85rem;font-weight:500;transition:all .2s}.filter-btn:hover{color:var(--gold);border-color:var(--border-gold)}.filter-btn.on{background:var(--gradient-gold);color:#080808;border-color:#0000;font-weight:600}.gallery{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1.5rem;display:grid}.gallery-item{cursor:pointer;border:1px solid var(--border);border-radius:18px;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:400px;transition:transform .6s var(--ease)}.gallery-item:hover img{transform:scale(1.07)}.gallery-overlay{opacity:0;transition:opacity .35s var(--ease);background:linear-gradient(#0000 35%,#050508f2 100%);flex-direction:column;justify-content:flex-end;padding:1.75rem;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay .tag{color:var(--gold);text-transform:uppercase;letter-spacing:1.5px;font-size:.72rem}.gallery-overlay h4{margin:.2rem 0 .35rem;font-size:1.15rem}.gallery-overlay .price{color:var(--gold-light);font-weight:600}.gallery-empty{text-align:center;color:var(--text-muted);padding:5rem 2rem}.gallery-empty-emoji{margin-bottom:1rem;font-size:3.5rem}.reviews-grid{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:1.5rem;display:grid}.review-card{border-radius:20px;padding:2rem}.review-card .quote{color:var(--gold);opacity:.2;margin-bottom:.25rem;font-family:serif;font-size:2.5rem;line-height:1}.review-card p{color:var(--text-secondary);margin-bottom:1.25rem;font-size:.95rem;font-style:italic;line-height:1.8}.review-stars{color:var(--gold);letter-spacing:2px;margin-bottom:1rem;font-size:.82rem}.review-author{align-items:center;gap:.75rem;display:flex}.review-avatar{background:var(--gold-glow);width:44px;height:44px;color:var(--gold);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex}.review-name{font-size:.92rem;font-weight:600}.review-role{color:var(--text-muted);font-size:.78rem}.review-form-section{max-width:600px;margin-top:3rem;margin-left:auto;margin-right:auto}.booking-layout{grid-template-columns:1.15fr .85fr;align-items:start;gap:3rem;display:grid}.info-block{border-radius:18px;margin-bottom:1.5rem;padding:2rem}.info-block h4{font-family:var(--font-display);color:var(--gold);margin-bottom:1rem;font-size:1.1rem}.info-row{align-items:flex-start;gap:.75rem;margin-bottom:.65rem;display:flex}.info-row svg{color:var(--gold);flex-shrink:0;margin-top:3px}.info-row p{color:var(--text-secondary);font-size:.92rem}.map-wrap{border:1px solid var(--border);border-radius:18px;overflow:hidden}.map-wrap iframe{border:0;width:100%;height:260px}.footer{background:var(--bg-secondary);border-top:1px solid var(--border);padding:4.5rem 0 2rem}.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:3rem;display:grid}.footer-brand{font-family:var(--font-display);background:var(--gradient-gold);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.75rem;font-size:1.4rem}.footer-text{color:var(--text-secondary);max-width:300px;margin-bottom:1.25rem;font-size:.88rem}.footer-socials{gap:.6rem;display:flex}.footer-socials a{border:1px solid var(--border);width:38px;height:38px;color:var(--text-secondary);background:#ffffff0a;border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:flex}.footer-socials a:hover{color:var(--gold);border-color:var(--gold);transform:translateY(-3px)}.footer-col-title{font-family:var(--font-body);color:var(--text-primary);margin-bottom:1rem;font-size:.9rem;font-weight:600}.footer-list{flex-direction:column;gap:.6rem;list-style:none;display:flex}.footer-list a{color:var(--text-secondary);font-size:.88rem;transition:color .2s}.footer-list a:hover{color:var(--gold)}.footer-bottom{border-top:1px solid var(--border);text-align:center;color:var(--text-muted);padding-top:2rem;font-size:.82rem}.alert{border-radius:14px;margin-bottom:1.5rem;padding:1rem 1.25rem;font-size:.88rem;font-weight:500}.alert-ok{color:#2ecc71;background:#2ecc711a;border:1px solid #2ecc7133}.alert-err{color:#dc3545;background:#dc35451a;border:1px solid #dc354533}.admin-shell{min-height:100vh;display:flex}.admin-side{background:var(--bg-secondary);border-right:1px solid var(--border);flex-direction:column;width:260px;min-width:260px;height:100vh;padding:2rem 0;display:flex;position:sticky;top:0;overflow-y:auto}.admin-side-header{margin-bottom:2.5rem;padding:0 1.5rem}.admin-side-header h2{font-family:var(--font-display);background:var(--gradient-gold);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.2rem}.admin-side-header p{color:var(--text-muted);margin-top:.2rem;font-size:.75rem}.admin-side-nav{flex-direction:column;flex:1;gap:.2rem;display:flex}.admin-link{color:var(--text-secondary);text-align:left;background:0 0;border-left:3px solid #0000;align-items:center;gap:.7rem;width:100%;padding:.8rem 1.5rem;font-size:.88rem;font-weight:500;transition:all .2s;display:flex}.admin-link:hover,.admin-link.on{color:var(--gold);background:var(--gold-glow);border-left-color:var(--gold)}.admin-main{background:var(--bg-primary);flex:1;padding:2.5rem;overflow-y:auto}.admin-header{margin-bottom:2rem}.admin-header h2{font-family:var(--font-display);margin-bottom:.2rem;font-size:1.6rem}.admin-header p{color:var(--text-secondary);font-size:.88rem}.stat-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.stat-box{border-radius:18px;padding:2rem;position:relative;overflow:hidden}.stat-box:after{content:"";opacity:.12;border-radius:0 18px 0 70px;width:70px;height:70px;position:absolute;top:0;right:0}.stat-box.g:after{background:var(--gold)}.stat-box.b:after{background:#4a6cf7}.stat-box h3{font-family:var(--font-body);color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:.6rem;font-size:.78rem;font-weight:500}.stat-box .val{font-family:var(--font-display);font-size:2.5rem;font-weight:700}.stat-box.g .val{color:var(--gold)}.stat-box.b .val{color:#7b93fa}.dtable{border-collapse:collapse;width:100%}.dtable th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--border);padding:.85rem 1.25rem;font-size:.75rem;font-weight:500}.dtable td{border-bottom:1px solid var(--border);color:var(--text-secondary);padding:.85rem 1.25rem;font-size:.88rem}.dtable tr{transition:background .15s}.dtable tr:hover{background:#ffffff04}.dtable img{object-fit:cover;border-radius:10px;width:48px;height:48px}.cat-badge{background:var(--gold-glow);color:var(--gold);border-radius:20px;padding:.2rem .7rem;font-size:.75rem;font-weight:500;display:inline-block}.spinner{border:3px solid var(--border);border-top-color:var(--gold);border-radius:50%;width:36px;height:36px;margin:3rem auto;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-page{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex;position:relative}.login-page:before{content:"";pointer-events:none;background:radial-gradient(at 30% 20%,#c8a44e0f 0%,#0000 60%);position:absolute;inset:0}.login-card{z-index:1;border-radius:24px;width:100%;max-width:420px;padding:3rem;position:relative}.login-icon{background:var(--gold-glow);width:56px;height:56px;color:var(--gold);border-radius:16px;justify-content:center;align-items:center;margin:0 auto 1rem;display:flex}@media (width<=992px){.services-grid{grid-template-columns:repeat(2,1fr)}.booking-layout{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:2rem}}@media (width<=768px){.section{padding:4.5rem 0}.nav-links{display:none}.menu-toggle{display:block}.nav-links.open{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);background:#050508f7;flex-direction:column;gap:1.25rem;padding:1.5rem 2rem;display:flex;position:absolute;top:100%;left:0;right:0}.hero-content{text-align:center}.hero-desc{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero-decor{display:none}.gallery-overlay{opacity:1}.services-grid{grid-template-columns:1fr}.admin-shell{flex-direction:column}.admin-side{border-right:none;border-bottom:1px solid var(--border);width:100%;min-width:100%;height:auto;padding:1rem 0;position:relative}.admin-side-nav{flex-direction:row;padding:0 1rem;overflow-x:auto}.admin-link{white-space:nowrap;border-bottom:3px solid #0000;border-left:none;padding:.65rem 1rem;font-size:.82rem}.admin-link:hover,.admin-link.on{border-left-color:#0000;border-bottom-color:var(--gold)}.admin-main{padding:1.5rem}}@media (width<=480px){.container{padding:0 1rem}.hero-actions{flex-direction:column;align-items:center}.hero-actions .btn{width:100%;max-width:300px}.gallery{grid-template-columns:1fr}}
