
:root{--primary:#e91e63;--accent:#ffb703;--dark:#2a0f2f;--muted:#6b7280;--bg:#fffaff;--white:#fff}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Noto Sans",sans-serif;color:#0b132b;background:var(--bg)}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1200px;margin:0 auto;padding:0 16px}
/* Glass header + nav */
.header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,0.86);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid #f2d3de}
.nav{display:flex;align-items:center;justify-content:space-between;padding:8px 0}
.brand{display:flex;align-items:center;gap:8px}
.brand-logo-img{height:60px;width:auto;border-radius:8px}
.brand-title-text{font-family:'Cinzel',serif;font-weight:900;text-transform:uppercase;letter-spacing:0px;font-size:19px;line-height:1;color:#e91e63;margin-left:10px;white-space:nowrap}
.menu{display:flex;gap:14px;flex-wrap:nowrap;align-items:center}
.menu a{position:relative;padding:8px 10px;border-radius:12px;font-weight:600;letter-spacing:.2px;color:#2a0f2f;transition:color .2s ease, background .2s ease, box-shadow .2s ease}
.menu a::after{content:"";position:absolute;left:10px;right:10px;bottom:6px;height:2px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .22s ease-in-out}
.menu a:hover{color:var(--primary);background:#fff5f9}
.menu a:hover::after{transform:scaleX(1)}
.menu a.active{background:#ffe7ef;border:1px solid #f8b1c7;color:#a0114c;box-shadow:0 1px 0 rgba(233,30,99,.06) inset}
.menu a.active::after{transform:scaleX(1)}
.cta{display:flex;gap:10px;flex-wrap:nowrap;margin-left:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid var(--primary);border-radius:999px;background:var(--primary);color:#fff;font-weight:600;transition:filter .2s ease, box-shadow .2s ease}
.btn:hover{filter:brightness(0.95);box-shadow:0 4px 12px rgba(233,30,99,.15)}
.btn-outline{background:#fff;color:var(--primary);border:1px solid var(--primary)}
.btn-outline:hover{background:#fff5f9}
.btn-compact{padding:8px 10px;border-radius:10px;font-weight:700}
/* Mobile hamburger */
.nav-toggle{display:none;appearance:none;border:0;background:transparent;padding:8px;margin-left:10px;border-radius:10px}
.nav-toggle:focus{outline:3px solid #ffd1e1}
.nav-toggle .bar{display:block;width:22px;height:2px;background:#2a0f2f;margin:5px 0;border-radius:2px;transition:transform .2s ease, opacity .2s}
.header.open .nav-toggle .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.header.open .nav-toggle .bar:nth-child(2){opacity:0}
.header.open .nav-toggle .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:860px){
  .menu{position:fixed;left:0;right:0;top:64px;background:#fff;border-bottom:1px solid #f2d3de;padding:12px 16px;display:none;gap:8px}
  .header.open .menu{display:grid;grid-template-columns:1fr 1fr;row-gap:8px}
  .cta{display:none}
  .header.open .cta{display:flex;position:fixed;right:16px;top:14px}
  .nav-toggle{display:inline-block}
}
/* Hero + content */
.hero{padding:60px 0;background:linear-gradient(180deg,#fff7fb 0%,#ffffff 100%)}
.hero-grid{display:grid;grid-template-columns:1.2fr 0.8fr;gap:24px}
.hero h1{font-size:clamp(28px,4vw,44px);margin:0 0 8px 0}
.hero p{color:var(--muted);font-size:18px}
.hero-img{width:100%;border-radius:20px;border:1px solid #f2d3de}
.hero-photos{display:grid;gap:16px}
.card{background:#fff;border:1px solid #f2d3de;border-radius:16px;box-shadow:0 2px 10px rgba(233,30,99,0.06)}
.card .p{padding:18px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.section{padding:40px 0}
.section h2{font-size:clamp(22px,3vw,32px);margin:0 0 12px}
.badge{background:#fff0f5;border:1px solid #f8b1c7;color:#a0114c;border-radius:999px;padding:6px 10px;font-weight:600;font-size:14px;display:inline-flex;gap:8px;align-items:center}
.kpis{display:flex;gap:16px;flex-wrap:wrap}
.kpi{flex:1;min-width:180px}
.kpi .num{font-size:28px;font-weight:800}
.gallery{columns:3 220px;column-gap:12px}
.gallery img{width:100%;border-radius:12px;margin:0 0 12px;display:block;border:1px solid #f2d3de}
.table{width:100%;border-collapse:separate;border-spacing:0 8px}
.table th,.table td{padding:12px 14px;text-align:left;background:#fff;border:1px solid #f2d3de}
.table th{background:#fff0f5}
.table tr td:first-child,.table tr th:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px}
.table tr td:last-child,.table tr th:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}
form label{display:block;margin:10px 0 6px}
input,select,textarea{width:100%;padding:12px 14px;border:1px solid #f2d3de;border-radius:10px;background:#fff}
input:focus,select:focus,textarea:focus{outline:3px solid #ffd1e1;border-color:#e91e63}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.notice{padding:12px 14px;background:#fff7e6;border:1px solid #ffe0a3;border-radius:12px;color:#7a4f00}
.map{width:100%;min-height:320px;border:0;border-radius:16px}
.footer{padding:30px 0;margin-top:40px;background:#2a0f2f;color:#f3e7ed}
.footer a{color:#ffd1e1}
.footer .grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px}
.whatsapp{position:fixed;right:16px;bottom:16px;z-index:60}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}.footer .grid{grid-template-columns:1fr}}
