/* Lúmina Beauty Atelier — sitio de ejemplo (Plan Completo, YOCOYA). Hoja compartida, 8 páginas.
   Concepto "camerino nocturno": negro-ciruela profundo con resplandores de orquídea y lila,
   cristal esmerilado, fotos en cápsulas alargadas y líneas de luz. */
:root{
  --fondo:#130A16; --fondo-2:#1A0F1F; --panel:#221226;
  --orquidea:#F45BC4; --lila:#C9A6FF; --rosa-suave:#FBD3EE;
  --velo:rgba(244,91,196,.10); --velo-2:rgba(244,91,196,.42);
  --tinta:#F8EEF7; --gris:#BCA2BC;
  --linea:rgba(248,238,247,.13); --glass:rgba(255,255,255,.04);
  --serif:Georgia,"Iowan Old Style","Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --max:1180px; --cap:999px; --lado:268px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--fondo);color:var(--tinta);font-family:var(--sans);line-height:1.65;position:relative}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(52vw 38vw at 82% -6%,rgba(244,91,196,.14),transparent 62%),
  radial-gradient(46vw 36vw at -8% 42%,rgba(151,102,255,.12),transparent 60%),
  radial-gradient(48vw 38vw at 65% 106%,rgba(244,91,196,.08),transparent 60%),
  linear-gradient(rgba(248,238,247,.022) 1px,transparent 1px) 0 0/48px 48px,
  linear-gradient(90deg,rgba(248,238,247,.022) 1px,transparent 1px) 0 0/48px 48px,
  var(--fondo)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(20px,5vw,50px)}
.section{padding:clamp(56px,8vw,110px) 0}
.eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--orquidea);font-weight:700;display:block;margin-bottom:16px;text-shadow:0 0 24px rgba(244,91,196,.55)}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;line-height:1.1}
h1 em,h2 em{font-style:italic;background:linear-gradient(100deg,#F45BC4,#C9A6FF);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{color:var(--gris);font-size:1.08rem;max-width:52ch}
.centrado{text-align:center}
.centrado .lead{margin-left:auto;margin-right:auto}

/* línea de luz — sello de la casa */
.luz{height:1px;border:none;background:linear-gradient(90deg,transparent,rgba(244,91,196,.75),rgba(201,166,255,.75),transparent);box-shadow:0 0 18px rgba(244,91,196,.45);margin:0 auto;max-width:420px}

.demo-strip{background:#0B0510;color:#E3CFE0;font-size:12px;letter-spacing:.03em;text-align:center;padding:9px 16px;border-bottom:1px solid var(--linea)}
.demo-strip a{text-decoration:underline;color:var(--orquidea)}

/* ===== navegación: camerino lateral fijo en escritorio, barra compacta en móvil (sin JS) ===== */
.nav-check{position:absolute;opacity:0;pointer-events:none}
.nav-burger,.nav-cerrar,.nav-velo{display:none}
.brand{font-family:var(--serif);font-size:1.35rem;letter-spacing:.02em;line-height:1.15}
.brand em{font-style:italic;background:linear-gradient(100deg,#F45BC4,#C9A6FF);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand .dot{color:var(--orquidea);text-shadow:0 0 16px rgba(244,91,196,.8)}
nav.links{display:flex;flex-direction:column;gap:4px;counter-reset:camerino}
nav.links a{position:relative;display:flex;align-items:center;gap:13px;font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--gris);padding:11px 14px;border-radius:13px;transition:color .25s,text-shadow .25s,background .25s,transform .25s}
nav.links a:not(.cta)::before{counter-increment:camerino;content:counter(camerino,decimal-leading-zero);font-family:var(--serif);font-style:italic;font-size:.88rem;letter-spacing:.04em;color:rgba(201,166,255,.5);width:24px;flex:none;transition:color .25s,text-shadow .25s}
nav.links a:not(.cta)::after{content:"";position:absolute;left:0;top:50%;width:2.5px;height:62%;border-radius:3px;background:linear-gradient(180deg,#F45BC4,#C9A6FF);box-shadow:0 0 14px rgba(244,91,196,.8);transform:translateY(-50%) scaleY(0);transition:transform .3s}
nav.links a:hover{color:var(--tinta);background:var(--glass);transform:translateX(4px);text-shadow:0 0 14px rgba(201,166,255,.6)}
nav.links a:hover:not(.cta)::before{color:var(--lila);text-shadow:0 0 12px rgba(201,166,255,.8)}
nav.links a.on{color:var(--orquidea);background:var(--velo);text-shadow:0 0 18px rgba(244,91,196,.65)}
nav.links a.on:not(.cta)::before{color:var(--orquidea);text-shadow:0 0 14px rgba(244,91,196,.8)}
nav.links a:hover:not(.cta)::after,nav.links a.on:not(.cta)::after{transform:translateY(-50%) scaleY(1)}
nav.links a.cta{margin-top:16px;justify-content:center;background:linear-gradient(120deg,#E23BAF,#F45BC4 55%,#C9A6FF);color:#1A0313;font-weight:800;letter-spacing:.14em;border-radius:var(--cap);padding:13px 18px;box-shadow:0 10px 30px -10px rgba(244,91,196,.5)}
nav.links a.cta::after{content:"✦";font-size:.95rem}
nav.links a.cta:hover{transform:translateY(-2px);color:#1A0313;background:linear-gradient(120deg,#E23BAF,#F45BC4 55%,#C9A6FF);box-shadow:0 18px 46px -12px rgba(244,91,196,.7),0 0 30px -6px rgba(201,166,255,.5);text-shadow:none}
nav.links a.cta.on{color:#1A0313;background:linear-gradient(120deg,#E23BAF,#F45BC4 55%,#C9A6FF);text-shadow:none;outline:2px solid rgba(201,166,255,.85);outline-offset:3px}
.lado-pie{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#8A6F89;line-height:2}

/* escritorio: sidebar fijo a la izquierda con línea de luz vertical (sello de la casa) */
@media(min-width:1024px){
  header.top{position:fixed;top:0;left:0;bottom:0;width:var(--lado);z-index:40;display:flex;flex-direction:column;gap:24px;padding:30px 22px 22px;background:linear-gradient(200deg,#1E0F23,#130A16 55%,#1C0D21);border-right:1px solid var(--linea);overflow-y:auto}
  header.top::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(130% 34% at 50% 0%,rgba(244,91,196,.15),transparent 72%),radial-gradient(120% 28% at 50% 100%,rgba(201,166,255,.12),transparent 72%)}
  header.top::after{content:"";position:absolute;top:0;bottom:0;right:0;width:1.5px;background:linear-gradient(180deg,transparent,rgba(244,91,196,.8) 35%,rgba(201,166,255,.8) 65%,transparent);box-shadow:0 0 22px rgba(244,91,196,.55)}
  header.top>*{position:relative}
  header.top .brand{font-size:1.75rem;padding-bottom:20px;border-bottom:1px solid var(--linea)}
  header.top .brand em{display:block;font-size:.62em;letter-spacing:.12em;margin-top:4px}
  nav.links{flex:1}
  .lado-pie{padding-top:16px;border-top:1px solid var(--linea)}
  .demo-strip,main,footer{margin-left:var(--lado)}
}

/* móvil y tablet: barra superior compacta + panel lateral en overlay, hamburguesa CSS pura */
@media(max-width:1023.98px){
  header.top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:14px;padding:11px 16px;background:rgba(19,10,22,.96);border-bottom:1px solid var(--linea)}
  header.top .brand{font-size:1.22rem;white-space:nowrap}
  .nav-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:10px;border:1px solid var(--velo-2);border-radius:13px;background:var(--glass);cursor:pointer;flex:none}
  .nav-burger span{display:block;height:2px;border-radius:2px;background:linear-gradient(90deg,#F45BC4,#C9A6FF);box-shadow:0 0 10px rgba(244,91,196,.6);transition:transform .3s,opacity .3s}
  .lado-pie{display:none}
  nav.links{position:fixed;top:0;left:0;bottom:0;z-index:60;width:min(82vw,320px);padding:66px 18px 26px;background:linear-gradient(200deg,#1E0F23,#130A16 60%,#1C0D21);border-right:1px solid var(--velo-2);box-shadow:26px 0 80px rgba(0,0,0,.55);transform:translateX(-106%);transition:transform .35s ease;overflow-y:auto}
  .nav-cerrar{display:flex;position:absolute;top:14px;right:14px;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid var(--velo-2);border-radius:50%;color:var(--orquidea);cursor:pointer;font-size:15px;background:var(--glass);text-shadow:0 0 12px rgba(244,91,196,.7)}
  .nav-velo{display:block;position:fixed;inset:0;z-index:50;background:rgba(11,5,16,.62);opacity:0;pointer-events:none;transition:opacity .3s;cursor:pointer}
  .nav-check:checked~header.top nav.links{transform:none}
  .nav-check:checked~.nav-velo{opacity:1;pointer-events:auto}
  .nav-check:checked~header.top .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-check:checked~header.top .nav-burger span:nth-child(2){opacity:0}
  .nav-check:checked~header.top .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
@media(max-width:380px){.brand em{display:none}}

.btn{display:inline-flex;align-items:center;gap:9px;padding:14px 30px;border-radius:var(--cap);background:linear-gradient(120deg,#E23BAF,#F45BC4 55%,#C9A6FF);color:#1A0313;font-weight:800;font-size:14px;border:none;cursor:pointer;font-family:inherit;transition:transform .25s,box-shadow .25s;box-shadow:0 10px 30px -10px rgba(244,91,196,.5)}
.btn:hover{transform:translateY(-2px);box-shadow:0 18px 46px -12px rgba(244,91,196,.7),0 0 30px -6px rgba(201,166,255,.5)}
.btn.linea{background:transparent;color:var(--orquidea);border:1.5px solid var(--velo-2);box-shadow:none}
.btn.linea:hover{background:var(--velo);box-shadow:0 0 30px -6px rgba(244,91,196,.4)}

/* hero split con cápsula de luz */
.hero{border-bottom:1px solid var(--linea);overflow:hidden;position:relative}
.hero .wrap{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(30px,6vw,80px);align-items:center;padding-top:clamp(44px,6vw,84px);padding-bottom:clamp(44px,6vw,84px)}
@media(max-width:880px){.hero .wrap{grid-template-columns:1fr}}
.hero h1{font-size:clamp(2.5rem,5.8vw,4.4rem);text-shadow:0 6px 40px rgba(0,0,0,.55)}
.hero .lead{margin-top:22px}
.hero-cta{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hero-cap{position:relative;justify-self:center;width:min(100%,400px)}
.hero-cap img{width:100%;aspect-ratio:3/4.4;object-fit:cover;border-radius:var(--cap);border:1px solid var(--velo-2);box-shadow:0 40px 90px -30px rgba(0,0,0,.75),0 0 70px -18px rgba(244,91,196,.4)}
.hero-cap::before{content:"";position:absolute;inset:-16px;border:1.5px solid var(--lila);border-radius:var(--cap);opacity:.45;pointer-events:none;box-shadow:0 0 44px -10px rgba(201,166,255,.45)}
.hero-cap::after{content:"";position:absolute;left:-40px;right:55%;top:52%;height:1px;background:linear-gradient(90deg,transparent,#F45BC4);box-shadow:0 0 18px rgba(244,91,196,.7)}
.hero-mini{position:absolute;right:-26px;bottom:40px;width:118px;aspect-ratio:3/4;object-fit:cover;border-radius:var(--cap);border:3px solid rgba(201,166,255,.6);box-shadow:0 16px 40px -12px rgba(0,0,0,.75),0 0 34px -8px rgba(201,166,255,.55)}
@media(max-width:880px){.hero-mini{right:4px}}

/* fila de sellos */
.sellos{display:flex;gap:clamp(18px,4vw,44px);flex-wrap:wrap;padding:22px 0;border-top:1px solid var(--linea)}
.sellos span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.sellos b{color:var(--orquidea)}

/* tarjetas cápsula (servicios en portada) */
.caps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,36px);margin-top:46px}
@media(max-width:860px){.caps{grid-template-columns:1fr}}
.cap-card{text-align:center}
.cap-card .ph{overflow:hidden;border-radius:var(--cap);border:1px solid var(--linea);transition:border-color .3s,box-shadow .3s}
.cap-card:hover .ph{border-color:var(--velo-2);box-shadow:0 30px 60px -25px rgba(0,0,0,.75),0 0 50px -14px rgba(244,91,196,.4)}
.cap-card .ph img{width:100%;aspect-ratio:3/4.2;object-fit:cover;transition:transform .6s,filter .6s}
.cap-card:hover .ph img{transform:scale(1.05);filter:saturate(1.15)}
.cap-card h3{margin-top:20px;font-size:1.3rem}
.cap-card p{color:var(--gris);font-size:.92rem;margin-top:8px;max-width:34ch;margin-left:auto;margin-right:auto}
.cap-card .pr{display:inline-block;margin-top:12px;font-weight:700;color:var(--orquidea);border:1px solid var(--velo-2);background:var(--velo);border-radius:var(--cap);padding:5px 16px;font-size:.9rem}

/* declaración grande */
.declara{background:linear-gradient(120deg,#220E24,#3A1440 60%,#220E24);text-align:center;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);position:relative;overflow:hidden}
.declara::before{content:"";position:absolute;inset:0;background:radial-gradient(40vw 20vw at 50% 0%,rgba(244,91,196,.2),transparent 65%)}
.declara p{position:relative;font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,3.6vw,2.4rem);line-height:1.45;max-width:27ch;margin:0 auto;color:#F6E7F3}
.declara cite{position:relative;display:block;margin-top:20px;font-style:normal;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--lila)}

/* bloque firma (el ritual Lúmina) */
.firma{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,6vw,80px);align-items:center}
@media(max-width:860px){.firma{grid-template-columns:1fr}}
.firma .ph{position:relative;justify-self:center;width:min(100%,360px)}
.firma .ph img{width:100%;aspect-ratio:3/4.3;object-fit:cover;border-radius:var(--cap);border:1px solid var(--velo-2);box-shadow:0 34px 80px -28px rgba(0,0,0,.75)}
.firma .ph .sello-gira{position:absolute;left:-26px;bottom:34px;width:112px;height:112px;border-radius:50%;background:linear-gradient(130deg,#E23BAF,#C9A6FF);color:#1A0313;display:flex;align-items:center;justify-content:center;text-align:center;font-size:10px;letter-spacing:.18em;text-transform:uppercase;line-height:1.5;padding:14px;transform:rotate(10deg);font-weight:800;box-shadow:0 14px 36px -10px rgba(244,91,196,.55)}
.firma h2{font-size:clamp(1.9rem,4vw,2.9rem)}
.firma ul{margin-top:22px;display:flex;flex-direction:column;gap:12px}
.firma li{list-style:none;display:flex;gap:12px;color:var(--gris)}
.firma li::before{content:"✧";color:var(--orquidea);flex:none;text-shadow:0 0 14px rgba(244,91,196,.7)}

/* blog cards — cristal */
.blogrow{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,36px);margin-top:44px}
@media(max-width:860px){.blogrow{grid-template-columns:1fr}}
.post{background:var(--glass);backdrop-filter:blur(8px);border:1px solid var(--linea);border-radius:20px;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;flex-direction:column}
.post:hover{transform:translateY(-4px);border-color:var(--velo-2);box-shadow:0 26px 56px -22px rgba(0,0,0,.75),0 0 46px -14px rgba(244,91,196,.35)}
.post .ph{height:172px;overflow:hidden}
.post .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.post:hover .ph img{transform:scale(1.05)}
.post .bd{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.post .fecha{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--lila)}
.post h3{font-size:1.2rem;line-height:1.3}
.post p{color:var(--gris);font-size:.92rem}
.post .leer{margin-top:auto;padding-top:10px;font-weight:700;color:var(--orquidea);font-size:.9rem}

/* banda foto + CTA */
.banda{position:relative;min-height:300px;display:flex;align-items:center;text-align:center;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.banda .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banda::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(11,5,16,.9),rgba(58,20,64,.75)),radial-gradient(40vw 20vw at 50% 100%,rgba(244,91,196,.24),transparent 60%)}
.banda .wrap{position:relative;z-index:1;padding-top:64px;padding-bottom:64px}
.banda h2{color:#fff;font-size:clamp(1.9rem,4.4vw,3rem);max-width:24ch;margin:0 auto}
.banda p{color:#E3CFE0;margin:16px auto 0;max-width:50ch}
.banda .btn{margin-top:28px}

/* cabecera interior */
.cab{border-bottom:1px solid var(--linea);text-align:center;padding:clamp(44px,6vw,80px) 0;position:relative;overflow:hidden}
.cab::before{content:"";position:absolute;inset:0;background:radial-gradient(50vw 24vw at 50% -10%,rgba(244,91,196,.16),transparent 65%)}
.cab>*{position:relative}
.cab h1{font-size:clamp(2.2rem,5vw,3.6rem)}
.cab .lead{margin:16px auto 0}

/* servicios */
.pills{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}
.pills a{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--orquidea);border:1.5px solid var(--velo-2);background:var(--glass);border-radius:var(--cap);padding:9px 20px;transition:background .25s,box-shadow .25s}
.pills a:hover{background:var(--velo);box-shadow:0 0 26px -8px rgba(244,91,196,.5)}
.scat{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(26px,5vw,64px);align-items:start;padding:clamp(40px,6vw,70px) 0;border-bottom:1px solid var(--linea)}
.scat:last-of-type{border-bottom:none}
@media(max-width:820px){.scat{grid-template-columns:1fr}}
.scat.inv .sfoto{order:2}
@media(max-width:820px){.scat.inv .sfoto{order:0}}
.sfoto{position:sticky;top:110px}
.sfoto img{width:100%;aspect-ratio:3/4.2;object-fit:cover;border-radius:var(--cap);border:1px solid var(--velo-2);box-shadow:0 30px 70px -28px rgba(0,0,0,.75),0 0 60px -20px rgba(201,166,255,.3)}
@media(max-width:820px){.sfoto{position:static}.sfoto img{aspect-ratio:16/10;border-radius:26px}}
.scat h2{font-size:clamp(1.7rem,3.4vw,2.4rem);margin-bottom:10px}
.scat .nota{color:var(--gris);font-size:.9rem;margin-bottom:20px}
.mitem{display:flex;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px dashed var(--linea)}
.mitem:last-child{border-bottom:none}
.mitem .nm{font-weight:700}
.mitem .ds{display:block;color:var(--gris);font-size:.86rem;font-weight:400;margin-top:4px}
.mitem .pr{font-family:var(--serif);color:var(--orquidea);white-space:nowrap;font-size:1.05rem}

/* nosotros */
.historia{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,6vw,80px);align-items:center}
@media(max-width:860px){.historia{grid-template-columns:1fr}}
.historia .ph img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:28px;border:1px solid var(--velo-2);box-shadow:0 34px 80px -28px rgba(0,0,0,.75)}
.valores{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--linea);border:1px solid var(--linea);border-radius:20px;overflow:hidden;margin-top:46px}
@media(max-width:820px){.valores{grid-template-columns:1fr}}
.valor{background:var(--fondo-2);padding:clamp(26px,3vw,40px)}
.valor .num{font-family:var(--serif);font-size:1.8rem;color:var(--orquidea);text-shadow:0 0 26px rgba(244,91,196,.55)}
.valor h3{font-size:1.1rem;margin-top:10px}
.valor p{color:var(--gris);font-size:.9rem;margin-top:8px}
.equipo{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,3vw,34px);margin-top:46px}
@media(max-width:820px){.equipo{grid-template-columns:1fr 1fr}}
.persona{text-align:center}
.persona .ph{width:min(100%,170px);aspect-ratio:3/4;border-radius:var(--cap);overflow:hidden;margin:0 auto;border:2px solid rgba(201,166,255,.55);box-shadow:0 0 40px -12px rgba(244,91,196,.45)}
.persona .ph img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.persona h4{margin-top:16px;font-family:var(--serif);font-size:1.05rem}
.persona span{color:var(--gris);font-size:.82rem}

/* galería de cápsulas */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,22px);margin-top:8px;align-items:end}
@media(max-width:860px){.gal{grid-template-columns:1fr 1fr}}
.gal figure{position:relative;overflow:hidden;border-radius:var(--cap);margin:0;border:1px solid var(--linea);transition:border-color .3s,box-shadow .3s,transform .3s}
.gal figure:hover{border-color:var(--velo-2);box-shadow:0 0 50px -14px rgba(244,91,196,.5);transform:translateY(-4px)}
.gal figure.alta{aspect-ratio:3/5}
.gal figure.media{aspect-ratio:3/4.2}
.gal figure.baja{aspect-ratio:3/3.6}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .6s,filter .6s}
.gal figure:hover img{transform:scale(1.06);filter:saturate(1.15)}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 18px 20px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-align:center;color:#fff;background:linear-gradient(0deg,rgba(11,5,16,.85),transparent)}

/* blog listado / artículo */
.destacado{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(26px,5vw,64px);align-items:center;background:var(--glass);backdrop-filter:blur(8px);border:1px solid var(--linea);border-radius:24px;overflow:hidden;transition:border-color .3s,box-shadow .3s}
.destacado:hover{border-color:var(--velo-2);box-shadow:0 30px 70px -26px rgba(0,0,0,.75),0 0 56px -16px rgba(244,91,196,.35)}
@media(max-width:860px){.destacado{grid-template-columns:1fr}}
.destacado .ph{height:100%;min-height:280px}
.destacado .ph img{width:100%;height:100%;object-fit:cover}
.destacado .bd{padding:clamp(26px,4vw,50px)}
.destacado h2{font-size:clamp(1.6rem,3.2vw,2.3rem);margin-top:10px}
.destacado p{color:var(--gris);margin-top:14px}
.articulo{max-width:720px;margin:0 auto}
.articulo .meta{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--lila);text-align:center;text-shadow:0 0 22px rgba(201,166,255,.55)}
.articulo h1{font-size:clamp(2rem,4.6vw,3.2rem);text-align:center;margin-top:14px}
.articulo .port{margin:34px 0;border-radius:24px;overflow:hidden;border:1px solid var(--velo-2);box-shadow:0 34px 80px -30px rgba(0,0,0,.75)}
.articulo .port img{width:100%;aspect-ratio:16/9;object-fit:cover}
.articulo p{margin:0 0 20px;color:#DCC7DA;font-size:1.04rem}
.articulo h2{font-size:1.5rem;margin:34px 0 14px}
.articulo blockquote{border-left:3px solid var(--orquidea);padding:6px 0 6px 22px;margin:26px 0;font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--rosa-suave)}
.articulo ul{margin:0 0 20px 20px;color:#DCC7DA}
.articulo li{margin-bottom:8px}
.articulo li b{color:var(--tinta)}

/* agendar */
.reserva{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:start}
@media(max-width:860px){.reserva{grid-template-columns:1fr}}
.reserva .ph img{width:100%;aspect-ratio:3/4.2;object-fit:cover;border-radius:var(--cap);border:1px solid var(--velo-2);box-shadow:0 34px 80px -28px rgba(0,0,0,.75)}
.pasos{margin-top:26px;display:flex;flex-direction:column;gap:14px}
.paso{display:flex;gap:14px;align-items:baseline;color:var(--gris);font-size:.94rem}
.paso b{font-family:var(--serif);color:var(--orquidea);font-size:1.2rem;flex:none;text-shadow:0 0 18px rgba(244,91,196,.6)}
.form{display:flex;flex-direction:column;gap:16px;background:var(--glass);backdrop-filter:blur(10px);border:1px solid var(--linea);border-radius:24px;padding:clamp(24px,3vw,38px)}
.form label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);font-weight:700}
.form input,.form select,.form textarea{width:100%;padding:14px 16px;border:1px solid var(--linea);border-radius:14px;background:rgba(11,5,16,.55);font:inherit;color:var(--tinta)}
.form input::placeholder,.form textarea::placeholder{color:#8A6F89}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--velo-2);box-shadow:0 0 24px -8px rgba(244,91,196,.45)}
.form textarea{min-height:90px;resize:vertical}
.form .fila{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.form .fila{grid-template-columns:1fr}}
.form small{color:var(--gris);font-size:.8rem}
.form select option{background:var(--fondo-2);color:var(--tinta)}

/* contacto */
.contacto-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:start}
@media(max-width:860px){.contacto-grid{grid-template-columns:1fr}}
.dato{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px dashed var(--linea);font-size:.95rem}
.dato span:first-child{color:var(--gris)}
.dato span:last-child{font-weight:700;text-align:right}
/* mapa ilustrado propio: avenida diagonal, glorieta y pin con pulso */
.mapa{margin-top:26px;position:relative;aspect-ratio:16/10;border-radius:24px;border:1px solid var(--linea);overflow:hidden;background:
  radial-gradient(circle at 76% 26%,rgba(201,166,255,.16) 0 7%,transparent 7.5%),
  radial-gradient(circle at 18% 74%,rgba(244,91,196,.13) 0 6%,transparent 6.5%),
  linear-gradient(var(--linea) 1px,transparent 1px) 0 0/34px 34px,
  linear-gradient(90deg,var(--linea) 1px,transparent 1px) 0 0/34px 34px,var(--fondo-2)}
.mapa .av{position:absolute;top:-12%;bottom:-12%;left:54%;width:20px;background:#2A1530;border:1px solid var(--linea);transform:rotate(24deg)}
.mapa .calle{position:absolute;left:0;right:0;top:58%;height:14px;background:#2A1530;border:1px solid var(--linea)}
.mapa .glorieta{position:absolute;top:58%;left:54%;width:52px;height:52px;transform:translate(-50%,-40%);border-radius:50%;background:var(--fondo-2);border:2px solid rgba(244,91,196,.5);box-shadow:0 0 26px -6px rgba(244,91,196,.5)}
.mapa .pin{position:absolute;top:58%;left:54%;transform:translate(-50%,-115%);font-size:34px;filter:drop-shadow(0 0 18px rgba(244,91,196,.75));z-index:2}
.mapa .pulso{position:absolute;top:52%;left:54%;width:16px;height:16px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(244,91,196,.5);animation:pulso 2.2s infinite}
@keyframes pulso{0%{box-shadow:0 0 0 0 rgba(244,91,196,.45)}70%{box-shadow:0 0 0 26px rgba(244,91,196,0)}100%{box-shadow:0 0 0 0 rgba(244,91,196,0)}}
.mapa .tag{position:absolute;left:14px;bottom:14px;background:rgba(11,5,16,.85);border:1px solid var(--velo-2);border-radius:var(--cap);padding:8px 16px;font-size:12px;font-weight:700;color:var(--tinta)}
.mapa .ref{position:absolute;right:14px;top:14px;background:rgba(11,5,16,.7);border:1px solid var(--linea);border-radius:var(--cap);padding:6px 14px;font-size:11px;color:var(--gris)}

footer{background:#0B0510;color:#CBB3C9;padding:60px 0 30px;border-top:1px solid var(--linea)}
footer .wrap{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;font-size:.9rem}
footer .fcol b{display:block;color:#fff;font-family:var(--serif);font-size:1.05rem;margin-bottom:12px}
footer .fcol a,footer .fcol span{display:block;color:#9C7F9A;padding:3px 0}
footer .fcol a:hover{color:var(--orquidea)}
.fbot{margin-top:36px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;font-size:.8rem;color:#8A6F89}
.fbot a{color:var(--orquidea);text-decoration:underline}

.wa-fab{position:fixed;right:24px;bottom:24px;width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:27px;box-shadow:0 16px 34px -10px rgba(0,0,0,.6),0 0 30px -6px rgba(37,211,102,.5);z-index:30;transition:transform .2s}
.wa-fab:hover{transform:translateY(-2px)}
