:root{
  --bg: #0e0e10;
  --card: #15151a;
  --text: #f7f7f7;
  --muted: #b7b7c2;
  --gold: #f6c343;
  --accent: #ffffff;
  --maxw: 1120px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;scroll-behavior:smooth}
img{max-width:100%;display:block;border-radius:12px}
.container{width:min(92%, var(--maxw));margin-inline:auto}
.section-pad{padding:64px 0}
.lead{color:var(--muted)}
.gold{color:var(--gold)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:linear-gradient(180deg, rgba(14,14,16,.95), rgba(14,14,16,.6) 60%, rgba(14,14,16,0));backdrop-filter:saturate(1.4) blur(6px)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.logo.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-weight:900}
.logo.brand img{width:36px;height:36px;border-radius:8px}
.logo.brand span{font-size:1.1rem;letter-spacing:.5px}
.menu{display:flex;gap:22px;align-items:center}
.menu a{color:var(--muted);text-decoration:none}
.menu a:hover,.menu a.active{color:var(--accent)}
.burger{display:none;background:none;border:1px solid #333;color:var(--text);padding:6px 10px;border-radius:10px}

/* Buttons */
.btn{display:inline-block;border:1px solid #333;padding:12px 18px;border-radius:18px;text-decoration:none;color:var(--text);transition:transform .2s ease, background .2s}
.btn:hover{transform:translateY(-1px);background:#1d1d22}
.btn-primary{border-color:var(--gold);background:linear-gradient(135deg, #2a2a31, #1b1b20);box-shadow:0 8px 24px rgba(212,175,55,.18)}
.btn-cta{background-color:#f6c343;color:#111 !important;font-weight:900;border:none;border-radius:40px;padding:14px 28px;box-shadow:0 0 20px rgba(246,195,67,.35);transition:transform .2s ease, box-shadow .2s ease, filter .2s ease}
.btn-cta:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 0 35px rgba(246,195,67,.55)}

/* Hero */
.hero{position:relative;min-height:86vh;display:grid;place-items:center;background:#0a0a0c}
.overlay{position:absolute;inset:0;background:radial-gradient(circle at 50% 30%, rgba(246,195,67,.12), transparent 40%), linear-gradient( to bottom, rgba(10,10,12,.4), rgba(10,10,12,1) )}
.hero-content{position:relative;text-align:center}
.hero-center{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh}
.title{color:#fff;text-shadow:0 6px 20px rgba(0,0,0,.65);font-weight:900;font-size:clamp(2rem, 6vw, 3.5rem);margin:0 0 10px}
.hero .title::after{content:"";display:block;width:min(420px,60%);height:4px;margin:14px auto 0;background:var(--gold);border-radius:999px}
.subtitle{color:#dcdcdc;margin:8px 0 22px}

/* Servicios */
#servicios h2{margin-bottom:12px}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.price-card{background:var(--card);padding:18px;border:1px solid #24242b;border-radius:18px}
.price-card h3{margin:6px 0 10px}
.price-card ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.price-card li{display:flex;justify-content:space-between;border-bottom:1px dashed #2d2d36;padding-bottom:10px}

/* Contacto */
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}
.form{background:var(--card);padding:20px;border:1px solid #24242b;border-radius:18px}
.form-group{display:grid;gap:8px;margin-bottom:14px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
@media (max-width: 680px){ .form-row{grid-template-columns:1fr} }
input,textarea,select{background:#121217;border:1px solid #2a2a33;color:var(--text);padding:12px 14px;border-radius:14px;outline:none}
input:focus,textarea:focus,select:focus{border-color:#3a3a44}
.error{color:#ff9d9d;height:16px}
.hint{color:var(--muted)}
.map-embed iframe{width:100%;height:280px;border:0;border-radius:16px}

/* Footer */
.site-footer{border-top:1px solid #23232a;margin-top:64px;padding:18px 0;background:linear-gradient(180deg, rgba(21,21,26,.85), rgba(21,21,26,1))}
.footer-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.footer-nav{display:flex;gap:28px}
.footer-nav a{color:var(--muted);text-decoration:none}
.footer-nav a:hover{color:var(--accent)}
.footer-copy{color:var(--muted)}

/* Responsive */
@media (max-width: 900px){
  .price-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .footer-bar{justify-content:center;text-align:center}
}
@media (max-width: 680px){
  .burger{display:block}
  .menu{position:absolute;top:64px;right:4%;background:var(--card);border:1px solid #2a2a33;border-radius:16px;display:none;flex-direction:column;gap:0;overflow:hidden}
  .menu.show{display:flex}
  .menu a{padding:12px 16px;border-bottom:1px solid #24242b}
}

/* Equal height for date and slot */
.form-group input[type="date"],
.form-group select#slot{
  height:48px;
  line-height:48px;
}

/* Quiénes somos section styling */
.about-section p {
  color: #fff;
  font-size: 1.05rem;
  line-height: 1.7;
}
.about-section strong {
  color: var(--gold);
}
.about-section em {
  color: var(--muted);
  display: block;
  margin-top: 10px;
}
