:root{--black:#070707;--soft:#11100e;--gold:#c79a43;--gold2:#f0cf83;--cream:#f3eadc;--text:#f8f4eb;--muted:#bdb6aa;--line:rgba(220,184,105,.23);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--text);font-family:Montserrat,Arial,sans-serif;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 70% 10%,rgba(199,154,67,.11),transparent 30%),radial-gradient(circle at 10% 75%,rgba(199,154,67,.06),transparent 28%);z-index:-1}.noise{position:fixed;inset:0;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");z-index:99}.topbar{height:var(--header-height);position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:linear-gradient(to bottom,rgba(5,5,5,.96),rgba(5,5,5,.72));backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.05)}.topbar nav{display:flex;gap:28px}.topbar a{color:var(--text);text-decoration:none;font-size:13px}.topbar nav a:hover{color:var(--gold2)}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid transparent;border-radius:999px;padding:15px 24px;font-weight:600;font-size:13px;letter-spacing:.02em;cursor:pointer;transition:.25s ease;font-family:inherit}.btn:hover{transform:translateY(-2px)}.btn.gold{background:linear-gradient(135deg,#a87826,#e7c16a);color:#0b0905;box-shadow:0 10px 35px rgba(199,154,67,.2)}.btn.outline,.btn.ghost{border-color:rgba(224,190,119,.45);color:var(--text);background:rgba(255,255,255,.025)}.btn.mini{padding:11px 18px;background:rgba(199,154,67,.14);border-color:rgba(199,154,67,.32)}.hero{min-height:100vh;position:relative;display:flex;align-items:center;padding:140px 7vw 80px;overflow:hidden}.hero-content{position:relative;z-index:2;max-width:730px}.eyebrow,.section-kicker{font-size:12px;letter-spacing:.24em;color:var(--gold2);font-weight:700}.hero h1,.section h2,.location-card h2{font-family:'Cormorant Garamond',serif;font-size:clamp(58px,8vw,118px);line-height:.83;margin:24px 0;font-weight:600;letter-spacing:-.04em}.hero h1 em{font-weight:500;color:var(--gold2)}.hero p{font-size:18px;line-height:1.7;color:#d5d0c7;max-width:610px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.hero-meta{display:flex;gap:22px;flex-wrap:wrap;margin-top:42px;color:#aaa49a;font-size:12px}.section{max-width:1280px;margin:auto;padding:110px 5vw}.intro{text-align:center;max-width:950px}.section h2,.location-card h2{font-size:clamp(42px,5vw,72px);line-height:.98;margin:14px 0 28px}.lead{font-family:'Cormorant Garamond',serif;font-size:28px;line-height:1.45;color:#d7d0c3}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:46px}.section-head h2{margin-bottom:0}.text-link{color:var(--gold2);text-decoration:none;font-size:13px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:280px;padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.025),rgba(199,154,67,.015));transition:.35s}.service-card:hover{background:linear-gradient(135deg,rgba(199,154,67,.15),rgba(255,255,255,.02));transform:translateY(-5px)}.service-card span{color:#8d6b2d;font-family:'Cormorant Garamond',serif;font-size:18px}.service-card h3{font-family:'Cormorant Garamond',serif;font-size:35px;margin:55px 0 16px}.service-card p{color:var(--muted);line-height:1.7;font-size:14px}.service-card.featured:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(212,169,83,.18);border-radius:50%;right:-70px;top:-65px;box-shadow:0 0 60px rgba(199,154,67,.08)}.promo-wrap{background:linear-gradient(180deg,#0b0a08,#12100c,#090909)}.promo-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.tag{color:var(--gold2);letter-spacing:.16em;font-size:11px;font-weight:700}.promo-note{color:#8e887e;font-size:11px;margin-top:18px}.booking{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.booking-copy p{color:var(--muted);line-height:1.8}.booking-points{margin-top:35px}.booking-points div{display:flex;align-items:center;gap:15px;padding:16px 0;border-bottom:1px solid var(--line)}.booking-points b{color:var(--gold2);font:600 22px 'Cormorant Garamond'}.booking-box{background:linear-gradient(145deg,#15130f,#0d0c0a);border:1px solid var(--line);border-radius:var(--radius);padding:34px;box-shadow:0 40px 100px rgba(0,0,0,.35)}label{display:block;color:#d7d0c4;font-size:12px;font-weight:600;letter-spacing:.04em;margin-bottom:18px}label span{color:#777;font-weight:400}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}input,select,textarea{width:100%;margin-top:9px;background:#080807;color:#f7f2e9;border:1px solid #2c271f;border-radius:12px;padding:15px 14px;font:500 14px Montserrat;outline:none}input:focus,select:focus,textarea:focus{border-color:#9e7731;box-shadow:0 0 0 3px rgba(199,154,67,.09)}select:disabled{opacity:.55}.availability{font-size:12px;color:#9d968b;margin:-5px 0 20px;padding:12px 14px;border-left:2px solid #8b6728;background:rgba(199,154,67,.05)}.availability strong{color:var(--gold2)}.full{width:100%;border:0;margin-top:4px}.form-status{font-size:13px;line-height:1.5;margin-top:15px}.form-status.success{color:#bfe2b3}.form-status.error{color:#ff9e95}.location{display:grid;grid-template-columns:1.35fr .65fr;min-height:580px;background:#100e0b}.map iframe{width:100%;height:100%;min-height:580px;border:0;filter:grayscale(1) invert(.9) hue-rotate(180deg) contrast(.82)}.location-card{padding:70px 5vw;display:flex;flex-direction:column;justify-content:center}.location-card p{color:#d4cec3;line-height:1.7}.muted{color:#8f887d!important}.location-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}footer{text-align:center;padding:70px 20px 40px;border-top:1px solid rgba(255,255,255,.06)}footer p{font-family:'Cormorant Garamond',serif;font-size:28px;color:#d4b46f}.footer-links{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;margin:28px 0}.footer-links a{color:#b8b1a7;text-decoration:none;font-size:12px}footer small{color:#645f57}@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(37,211,102,.28),0 10px 40px rgba(37,211,102,.2)}50%{box-shadow:0 0 0 12px rgba(37,211,102,0),0 10px 40px rgba(37,211,102,.28)}}.admin-body{background:#0a0907;padding:30px}.admin-wrap{max-width:1200px;margin:auto}.admin-wrap h1{font-family:'Cormorant Garamond',serif;font-size:48px}.admin-login{max-width:430px}.admin-head{display:flex;align-items:center;justify-content:space-between}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}table{width:100%;border-collapse:collapse;min-width:900px}th,td{text-align:left;padding:14px;border-bottom:1px solid #25211a;font-size:12px}th{color:var(--gold2);background:#13110e}.cancel{background:#2a1515;color:#ffaaa0;border:1px solid #5a2a2a;border-radius:8px;padding:8px 10px;cursor:pointer}.error{color:#ff9e95}
@media(max-width:980px){.topbar nav{display:none}.hero{min-height:92vh;padding:120px 6vw 60px}.service-grid{grid-template-columns:1fr 1fr}.promo-grid{grid-template-columns:1fr}.booking,.location{grid-template-columns:1fr}.location-card{order:-1}.map iframe{min-height:400px}}
@media(max-width:640px){.topbar{padding:0 18px}.topbar .mini{display:none}.hero{padding:110px 20px 48px;align-items:flex-end}.hero h1{font-size:62px}.hero p{font-size:15px}.hero-actions .btn{width:100%}.hero-meta{gap:8px 16px}.section{padding:78px 20px}.section-head{align-items:start;flex-direction:column}.service-grid{grid-template-columns:1fr}.service-card{min-height:230px}.service-card h3{margin-top:38px}.booking{gap:32px}.booking-box{padding:22px}.form-row{grid-template-columns:1fr;gap:0}.location-card{padding:65px 20px}.location-card h2{font-size:50px}.intro .lead{font-size:24px}}

/* Promotions and Instagram cards */
.promo-card {
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #12100d;
}

.promo-image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 5 / 4;
  background: #2a2017;
}

.promo-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 68%;
}

.promo-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(20px, 3vw, 34px);
}

.promo-info h3 {
  margin: 8px 0 10px;
  font: 600 clamp(32px, 3.5vw, 42px) / 1.05 'Cormorant Garamond', serif;
}

.promo-info p, .gallery-services {
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}

.price {
  margin: 0 0 12px;
  color: var(--gold2);
  font: 600 46px / 1.05 'Cormorant Garamond', serif;
}

.price small {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font: 500 13px / 1.4 Montserrat, sans-serif;
}

.promo-info .promo-terms {
  margin-bottom: 20px;
  font-size: 13px;
}

.promo-info .btn {
  margin-top: auto;
}

.social-card {
  margin-bottom: 30px;
}

.social-card p {
  color: var(--muted);
  line-height: 1.7;
}

.social-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 18px;
}

.social-gallery .promo-image {
  aspect-ratio: 4 / 3;
}

.gallery-services {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 18px;
  padding-left: 1.1em;
}

.gallery-services li::marker {
  color: var(--gold2);
}

@media (641px <= width <= 980px) {
  .promo-grid .promo-card {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: 1fr;
  }

  .promo-grid .promo-image {
    aspect-ratio: auto;
  }
}

@media (max-width: 640px) {
  .social-gallery {
    grid-template-columns: 1fr;
  }

  .promo-card .promo-image {
    aspect-ratio: 1;
  }
}

:root {
  --header-height: 92px;
}

html {
  scroll-padding-top: var(--header-height);
}

.brand {
  display: flex;
  flex-shrink: 0;
}

.brand img, footer img, .admin-logo {
  display: block;
  width: auto;
  max-width: 100%;
  height: 76px;
}

footer img, .admin-logo {
  height: 96px;
}

footer img {
  margin-inline: auto;
}

.hero-bg, .hero-shade {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.hero-bg {
  --hair-position: 72% center;
  background: #140b07 url('inicio-cabello-poster.jpg') var(--hair-position) / cover no-repeat;
}

.hero-video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--hair-position);
  opacity: 0;
}

.hero-video.is-ready {
  opacity: 1;
}

.hero-shade {
  background: linear-gradient(90deg, rgba(7,5,4,.88), rgba(7,5,4,.62) 40%, transparent 82%),
              linear-gradient(0deg, #080604, transparent 30%);
}

.hero-video-toggle {
  position: absolute;
  z-index: 3;
  top: calc(var(--header-height) + 14px);
  right: max(18px, 4vw);
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  color: var(--cream);
  background: rgba(14, 9, 6, .72);
  border: 1px solid var(--line);
  border-radius: 50%;
  cursor: pointer;
}

.hero-video-toggle[hidden] {
  display: none;
}

.hero-video-toggle:focus-visible {
  outline: 2px solid var(--gold2);
  outline-offset: 3px;
}

.hero-video-toggle::before {
  content: "";
  width: 0;
  height: 0;
  margin-left: 2px;
  border-block: 6px solid transparent;
  border-left: 9px solid currentColor;
}

.hero-video-toggle[data-playing="true"]::before {
  width: 11px;
  height: 12px;
  margin-left: 0;
  border: 0;
  border-inline: 3px solid currentColor;
}

@media (max-width: 640px) {
  :root {
    --header-height: 86px;
  }

  .topbar {
    justify-content: center;
  }

  .brand img {
    height: 72px;
  }

  .hero {
    min-height: 92svh;
  }

  .hero-shade {
    background: linear-gradient(0deg, #080604, rgba(8,6,4,.86) 32%,
                                rgba(8,6,4,.46) 63%, rgba(8,6,4,.12));
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-video, .hero-video-toggle {
    display: none;
  }
}

.floating-social {
  position: fixed;
  right: calc(20px + env(safe-area-inset-right, 0px));
  bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  z-index: 80;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.floating-social-link {
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 52px;
  height: 52px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 50%;
  color: #fff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .35);
  touch-action: manipulation;
}

.floating-social-link svg {
  width: 28px;
  height: 28px;
}

.floating-social-link:focus-visible {
  outline: 2px solid var(--gold2);
  outline-offset: 3px;
}

.instagram-float {
  background: linear-gradient(145deg, #4f5bd5 5%, #962fbf 33%, #d62976 59%, #fa7e1e 87%, #feda75 100%);
}

.whatsapp-float {
  background: #128753;
}

@media (prefers-reduced-motion: no-preference) {
  .whatsapp-float {
    animation: pulse 2.2s infinite;
  }
}
