/* Maison Vela — boutique de moda de lujo. Sitio de ejemplo (Plan Completo, YOCOYA).
   Hoja compartida, 8 páginas. Sello: alta costura editorial — negro azabache,
   oro champán y marfil; serifas enormes con aire, fotos verticales a sangre,
   numeración de colección, líneas doradas finas y hovers que revelan texto. */
:root{
  --negro:#0B0A08; --negro-2:#141109; --carbon:#1B1710;
  --oro:#D8B36A; --oro-claro:#F2DFAE; --oro-dim:rgba(216,179,106,.38);
  --oro-suave:rgba(216,179,106,.10);
  --marfil:#F4EEE1; --gris:#A79D8A;
  --linea:rgba(244,238,225,.14); --linea-oro:rgba(216,179,106,.32);
  --glass:rgba(255,255,255,.045);
  --serif:Georgia,"Iowan Old Style","Palatino Linotype","Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --max:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--negro);color:var(--marfil);font-family:var(--sans);line-height:1.7;position:relative}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(60vw 44vw at 88% -8%,rgba(216,179,106,.15),transparent 62%),
  radial-gradient(46vw 36vw at -12% 42%,rgba(190,150,80,.09),transparent 60%),
  radial-gradient(52vw 42vw at 72% 108%,rgba(216,179,106,.07),transparent 60%),
  repeating-linear-gradient(90deg,rgba(244,238,225,.022) 0 1px,transparent 1px 120px),
  var(--negro)}
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,48px)}
.section{padding:clamp(60px,8.5vw,120px) 0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05;letter-spacing:-.01em}
h1 em,h2 em,h3 em,.brand em{font-style:italic;background:linear-gradient(100deg,var(--oro),var(--oro-claro));-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--oro);font-weight:700;margin-bottom:20px;text-shadow:0 0 26px rgba(216,179,106,.55)}
.eyebrow::before{content:"";width:44px;height:1px;background:linear-gradient(90deg,var(--oro),transparent);flex:none}
.eyebrow.centrado{justify-content:center}
.eyebrow.centrado::after{content:"";width:44px;height:1px;background:linear-gradient(270deg,var(--oro),transparent);flex:none}
.lead{color:var(--gris);font-size:1.07rem;max-width:56ch}
.num{font-family:var(--serif);font-style:italic;color:var(--oro);letter-spacing:.08em}

/* franja demo */
.demo-strip{background:#060503;color:#cfc6b2;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(--oro)}

/* ===== navegación lateral (v2): sumario editorial fijo a la izquierda ===== */
:root{--lateral-w:264px}
.brand{font-family:var(--serif);font-size:clamp(1.15rem,2.4vw,1.5rem);letter-spacing:.34em;text-transform:uppercase;color:var(--marfil);white-space:nowrap}
.brand small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.5em;color:var(--oro);margin-top:2px}
.menu-check{position:absolute;left:-9999px}
.topbar,.menu-btn,.menu-velo,.menu-cerrar{display:none}

/* el contenido cede el ancho del sumario en escritorio */
@media(min-width:1024px){body{margin-left:var(--lateral-w)}}

/* sumario: marca arriba, índice numerado, cita al pie */
.lateral{position:fixed;left:0;top:0;bottom:0;z-index:80;width:var(--lateral-w);display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--oro-dim) transparent;padding:32px 24px 24px;background:linear-gradient(180deg,#131009,#0B0A08 44%,#0D0B06);border-right:1px solid var(--linea-oro);box-shadow:16px 0 52px -28px rgba(0,0,0,.9)}
.lateral::before{content:"";position:absolute;inset:0 0 auto 0;height:230px;background:radial-gradient(140% 100% at 50% -34%,rgba(216,179,106,.17),transparent 72%);pointer-events:none}
.lateral .brand{white-space:normal;text-align:center;font-size:1.32rem;letter-spacing:.3em;line-height:1.25;padding:4px 0 2px}
.lateral .brand small{margin-top:8px;line-height:1.6}
.lateral .orn{display:flex;align-items:center;gap:12px;color:var(--oro);font-size:13px;margin:18px 0 20px;text-shadow:0 0 20px rgba(216,179,106,.7)}
.lateral .orn::before,.lateral .orn::after{content:"";flex:1;height:1px}
.lateral .orn::before{background:linear-gradient(90deg,transparent,var(--linea-oro))}
.lateral .orn::after{background:linear-gradient(270deg,transparent,var(--linea-oro))}
.lateral nav.links{display:flex;flex-direction:column;gap:2px;flex:1}
.lateral nav.links a{position:relative;display:flex;align-items:baseline;gap:12px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gris);padding:11px 10px 11px 14px;border-left:1px solid transparent;transition:color .3s,border-color .3s,background .3s,padding .3s,text-shadow .3s}
.lateral nav.links a i{font-family:var(--serif);font-style:italic;font-size:12px;letter-spacing:.08em;color:var(--oro-dim);min-width:22px;flex:none;transition:color .3s}
.lateral nav.links a::after{content:"";position:absolute;left:14px;right:100%;bottom:7px;height:1px;background:linear-gradient(90deg,var(--oro),transparent);opacity:.75;transition:right .45s ease}
.lateral nav.links a:hover{color:var(--marfil);padding-left:20px}
.lateral nav.links a:hover i{color:var(--oro)}
.lateral nav.links a:hover::after{right:32%}
.lateral nav.links a.on{color:var(--oro);border-left-color:var(--oro);background:linear-gradient(90deg,var(--oro-suave),transparent 82%);text-shadow:0 0 18px rgba(216,179,106,.65)}
.lateral nav.links a.on i{color:var(--oro)}
.lateral .cta{margin-top:20px}
.lateral .cta .btn{width:100%;justify-content:center;text-align:center;padding:14px 16px;font-size:12px;letter-spacing:.12em}
.lateral .cta .btn.on{box-shadow:0 0 0 1px var(--oro),0 16px 42px -12px rgba(216,179,106,.85)}
.lateral .pie{margin-top:22px;padding-top:16px;border-top:1px solid var(--linea);text-align:center;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gris)}
.lateral .pie b{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.05rem;letter-spacing:.08em;text-transform:none;color:var(--oro);margin-bottom:6px}

/* <1024px: barra superior compacta + menú en cajón (overlay), sin JS */
@media(max-width:1023px){
  .topbar{display:flex;position:sticky;top:0;z-index:70;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;background:rgba(11,10,8,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--linea-oro)}
  .topbar .brand{font-size:1.05rem;letter-spacing:.26em}
  .menu-btn{display:flex;flex:none;width:46px;height:42px;align-items:center;justify-content:center;border:1px solid var(--linea-oro);background:var(--oro-suave);cursor:pointer}
  .menu-btn span{display:block;position:relative;width:20px;height:2px;background:var(--oro);transition:transform .35s,background .2s}
  .menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--oro);transition:transform .35s,top .35s,opacity .3s}
  .menu-btn span::before{top:-6px}
  .menu-btn span::after{top:6px}
  .menu-check:checked ~ .topbar .menu-btn span{transform:rotate(45deg)}
  .menu-check:checked ~ .topbar .menu-btn span::before{top:0;transform:rotate(-90deg)}
  .menu-check:checked ~ .topbar .menu-btn span::after{top:0;opacity:0}
  .menu-velo{display:block;position:fixed;inset:0;z-index:75;background:rgba(4,3,2,.62);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .35s;cursor:pointer}
  .menu-check:checked ~ .menu-velo{opacity:1;pointer-events:auto}
  .lateral{width:min(320px,86vw);transform:translateX(-103%);transition:transform .4s cubic-bezier(.22,.9,.3,1);box-shadow:34px 0 90px -22px rgba(0,0,0,.92)}
  .menu-check:checked ~ .lateral{transform:none}
  .menu-cerrar{display:flex;position:absolute;top:14px;right:14px;z-index:2;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid var(--linea-oro);color:var(--oro);font-size:14px;cursor:pointer}
}

/* botones */
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 32px;background:linear-gradient(115deg,#C9A25A,#EED9A0);color:#141005;font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;border:none;cursor:pointer;font-family:inherit;transition:transform .25s,box-shadow .25s;box-shadow:0 12px 34px -12px rgba(216,179,106,.55)}
.btn:hover{transform:translateY(-2px);box-shadow:0 20px 48px -14px rgba(216,179,106,.75)}
.btn.linea{background:transparent;color:var(--oro);border:1px solid var(--oro-dim);box-shadow:none}
.btn.linea:hover{background:var(--oro-suave);box-shadow:0 0 34px -8px rgba(216,179,106,.4)}

/* hero editorial: foto vertical a sangre + titular superpuesto */
.hero{position:relative;border-bottom:1px solid var(--linea);overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:0;padding-top:clamp(40px,6vw,90px);padding-bottom:clamp(40px,6vw,90px)}
.hero-texto{position:relative;z-index:2}
.hero-texto h1{font-size:clamp(3rem,7.6vw,5.8rem);text-shadow:0 8px 50px rgba(0,0,0,.75)}
.hero-texto .lead{margin-top:26px}
.hero-cta{margin-top:36px;display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.hero-foto{position:relative;margin-left:clamp(-90px,-6vw,-40px);z-index:1}
.hero-foto img{width:100%;aspect-ratio:3/4.3;object-fit:cover;border:1px solid var(--linea-oro);box-shadow:0 50px 110px -40px rgba(0,0,0,.85),0 0 80px -26px rgba(216,179,106,.35)}
.hero-foto::after{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--oro-dim);pointer-events:none}
.hero-foto figcaption{position:absolute;left:-14px;bottom:26px;transform:rotate(180deg);writing-mode:vertical-rl;font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--oro)}
@media(max-width:860px){.hero .wrap{grid-template-columns:1fr;gap:38px}.hero-foto{margin-left:0}.hero-foto::after{inset:12px -12px -12px 12px}}

/* fila de sellos */
.sellos{display:flex;gap:clamp(18px,4vw,50px);flex-wrap:wrap;padding:24px 0;border-top:1px solid var(--linea)}
.sellos span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
.sellos b{color:var(--oro);font-weight:700}

/* separador ✦ */
.filete{display:flex;align-items:center;gap:18px;margin:0 auto;max-width:var(--max);padding:0 clamp(20px,5vw,48px)}
.filete::before,.filete::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--linea-oro),transparent)}
.filete span{color:var(--oro);font-size:14px}

/* piezas numeradas — foto grande, hover que revela texto */
.piezas{display:grid;gap:clamp(44px,6vw,84px);margin-top:clamp(40px,5vw,64px)}
.pieza{display:grid;grid-template-columns:.42fr .58fr;gap:clamp(24px,4vw,58px);align-items:center}
.pieza:nth-child(even){grid-template-columns:.58fr .42fr}
.pieza:nth-child(even) .pieza-info{order:2}
.pieza:nth-child(even) .pieza-foto{order:1}
@media(max-width:800px){.pieza,.pieza:nth-child(even){grid-template-columns:1fr}.pieza:nth-child(even) .pieza-info{order:1}.pieza:nth-child(even) .pieza-foto{order:2}}
.pieza-foto{position:relative;overflow:hidden;border:1px solid var(--linea)}
.pieza-foto img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .7s ease,filter .7s ease;filter:saturate(.92)}
.pieza-foto.apaisada img{aspect-ratio:4/3}
.pieza-foto .velo{position:absolute;inset:auto 0 0 0;padding:20px 22px;background:linear-gradient(transparent,rgba(6,5,3,.92));opacity:0;transform:translateY(14px);transition:opacity .5s,transform .5s;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--oro-claro)}
.pieza-foto:hover img{transform:scale(1.045);filter:saturate(1.05)}
.pieza-foto:hover .velo{opacity:1;transform:translateY(0)}
.pieza-info .gran-num{font-family:var(--serif);font-size:clamp(3.4rem,7vw,5.4rem);line-height:1;color:transparent;-webkit-text-stroke:1px var(--oro-dim);display:block}
.pieza-info h3{font-size:clamp(1.7rem,3.4vw,2.5rem);margin-top:10px}
.pieza-info .detalle{color:var(--gris);margin-top:14px;max-width:46ch}
.pieza-info .precio{display:inline-block;margin-top:18px;font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--oro);border-bottom:1px solid var(--linea-oro);padding-bottom:4px}
.pieza-info .ficha{margin-top:16px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.pieza-info .ficha b{color:var(--marfil);font-weight:600}

/* tarjetas de cristal */
.tarjetas{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,32px);margin-top:46px}
@media(max-width:860px){.tarjetas{grid-template-columns:1fr}}
.tarjeta{background:var(--glass);border:1px solid var(--linea);backdrop-filter:blur(10px);padding:30px 26px;transition:border-color .3s,box-shadow .3s,transform .3s}
.tarjeta:hover{border-color:var(--linea-oro);box-shadow:0 26px 60px -28px rgba(0,0,0,.8),0 0 46px -16px rgba(216,179,106,.3);transform:translateY(-4px)}
.tarjeta h3{font-size:1.3rem}
.tarjeta p{color:var(--gris);font-size:.95rem;margin-top:10px}
.tarjeta .num{font-size:.85rem;display:block;margin-bottom:12px}

/* cita / declaración */
.declara{border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);background:linear-gradient(180deg,rgba(216,179,106,.05),transparent)}
.declara p{font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,3.4vw,2.4rem);line-height:1.35;text-align:center;max-width:22ch;margin:0 auto}
.declara cite{display:block;text-align:center;margin-top:22px;font-style:normal;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--oro)}

/* bloque firma: foto + texto */
.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}
.firma .ph img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--linea-oro);box-shadow:0 40px 90px -34px rgba(0,0,0,.85)}
.firma .ph::after{content:"";position:absolute;inset:-16px 16px 16px -16px;border:1px solid var(--oro-dim);pointer-events:none;z-index:-1}
.firma h2{font-size:clamp(2rem,4.6vw,3.3rem)}
.firma ul{list-style:none;margin-top:22px;display:grid;gap:12px}
.firma li{padding-left:26px;position:relative;color:var(--gris)}
.firma li::before{content:"✦";position:absolute;left:0;color:var(--oro);font-size:11px;top:6px}

/* banda ancha con foto apaisada */
.banda{position:relative;overflow:hidden;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.banda img{width:100%;height:clamp(320px,48vw,560px);object-fit:cover;filter:brightness(.62) saturate(.9)}
.banda .sobre{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 20px}
.banda h2{font-size:clamp(2.2rem,5.6vw,4.2rem);text-shadow:0 10px 50px rgba(0,0,0,.8)}
.banda .btn{margin-top:28px}

/* galería lookbook */
.lookbook{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2.4vw,26px);margin-top:46px}
@media(max-width:860px){.lookbook{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.lookbook{grid-template-columns:1fr}}
.look{position:relative;overflow:hidden;border:1px solid var(--linea)}
.look img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .7s,filter .7s;filter:saturate(.9)}
.look.ancha{grid-column:span 2}
.look.ancha img{aspect-ratio:16/10}
@media(max-width:540px){.look.ancha{grid-column:span 1}}
.look .velo{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;background:linear-gradient(transparent 55%,rgba(6,5,3,.9));opacity:0;transition:opacity .5s}
.look .velo b{font-family:var(--serif);font-weight:400;font-style:italic;font-size:1.25rem;color:var(--oro-claro)}
.look .velo span{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gris);margin-top:4px}
.look:hover img{transform:scale(1.05);filter:saturate(1.05)}
.look:hover .velo{opacity:1}

/* journal */
.destacado{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(26px,5vw,70px);align-items:center;margin-top:46px}
@media(max-width:860px){.destacado{grid-template-columns:1fr}}
.destacado .ph{overflow:hidden;border:1px solid var(--linea-oro)}
.destacado .ph img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .7s}
.destacado:hover .ph img{transform:scale(1.04)}
.destacado h2{font-size:clamp(1.9rem,4.2vw,3rem);margin-top:10px}
.destacado .fecha,.jcard .fecha{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--oro)}
.destacado p.resumen{color:var(--gris);margin-top:16px}
.jgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,32px);margin-top:clamp(40px,5vw,60px)}
@media(max-width:860px){.jgrid{grid-template-columns:1fr}}
.jcard{background:var(--glass);border:1px solid var(--linea);transition:border-color .3s,transform .3s,box-shadow .3s;overflow:hidden;display:flex;flex-direction:column}
.jcard:hover{border-color:var(--linea-oro);transform:translateY(-4px);box-shadow:0 26px 60px -28px rgba(0,0,0,.8)}
.jcard .ph{overflow:hidden}
.jcard .ph img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .6s}
.jcard:hover .ph img{transform:scale(1.06)}
.jcard .cuerpo{padding:22px 22px 26px}
.jcard h3{font-size:1.25rem;margin-top:8px}
.jcard p{color:var(--gris);font-size:.93rem;margin-top:10px}
.jcard .leer{display:inline-block;margin-top:14px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--oro)}

/* artículo */
.articulo{max-width:760px;margin:0 auto}
.articulo h1{font-size:clamp(2.2rem,5vw,3.6rem)}
.articulo .meta{margin-top:18px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--oro)}
.articulo .cuerpo{margin-top:38px;display:grid;gap:22px;color:#CFC7B6;font-size:1.05rem}
.articulo .cuerpo h2{font-size:1.7rem;margin-top:18px;color:var(--marfil)}
.articulo .cuerpo blockquote{font-family:var(--serif);font-style:italic;font-size:1.5rem;line-height:1.4;color:var(--oro-claro);border-left:1px solid var(--oro);padding:8px 0 8px 26px;margin:14px 0}
.articulo figure{margin:14px 0}
.articulo figure img{border:1px solid var(--linea-oro)}
.articulo figcaption{font-size:12px;color:var(--gris);margin-top:10px;letter-spacing:.06em}
.autor{display:flex;gap:18px;align-items:center;margin-top:44px;padding-top:28px;border-top:1px solid var(--linea)}
.autor img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--oro-dim)}
.autor b{display:block;font-family:var(--serif);font-weight:400;font-size:1.1rem}
.autor span{font-size:12px;color:var(--gris);letter-spacing:.08em}

/* formularios decorativos */
form.forma{display:grid;gap:18px;margin-top:8px}
.campo{display:grid;gap:8px}
.campo label{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--oro)}
.campo input,.campo select,.campo textarea{width:100%;background:rgba(255,255,255,.05);border:1px solid var(--linea);color:var(--marfil);padding:14px 16px;font-family:inherit;font-size:15px;transition:border-color .3s,box-shadow .3s}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--oro-dim);box-shadow:0 0 0 3px rgba(216,179,106,.12)}
.campo select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--oro) 50%),linear-gradient(135deg,var(--oro) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.campo select option{background:var(--negro-2);color:var(--marfil)}
.dos-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:600px){.dos-col{grid-template-columns:1fr}}
.nota-form{font-size:12px;color:var(--gris);border-left:1px solid var(--oro-dim);padding-left:14px}
.forma-panel{background:var(--glass);border:1px solid var(--linea);backdrop-filter:blur(10px);padding:clamp(26px,4vw,44px)}

/* layout dos columnas genérico */
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,70px);align-items:start}
@media(max-width:860px){.split{grid-template-columns:1fr}}

/* datos de contacto */
.datos{display:grid;gap:22px}
.dato{display:flex;gap:16px;align-items:flex-start}
.dato .ic{flex:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--linea-oro);color:var(--oro);font-size:17px}
.dato b{display:block;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--oro);margin-bottom:4px}
.dato span{color:var(--gris);font-size:.97rem}

/* mapa ilustrado CSS */
.mapa{position:relative;height:340px;border:1px solid var(--linea-oro);overflow:hidden;background:
  radial-gradient(240px 140px at 78% 28%,rgba(216,179,106,.14),transparent 70%),
  linear-gradient(rgba(244,238,225,.06) 2px,transparent 2px) 0 34px/100% 88px,
  linear-gradient(90deg,rgba(244,238,225,.06) 2px,transparent 2px) 30px 0/110px 100%,
  linear-gradient(35deg,transparent 46%,rgba(244,238,225,.09) 46% 47.2%,transparent 47.2%),
  var(--negro-2)}
.mapa .avenida{position:absolute;left:-4%;right:-4%;top:52%;height:14px;background:rgba(216,179,106,.13);transform:rotate(-4deg)}
.mapa .etiqueta{position:absolute;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gris)}
.mapa .pin{position:absolute;left:56%;top:38%;transform:translate(-50%,-50%);text-align:center}
.mapa .pin .punto{width:16px;height:16px;margin:0 auto;border-radius:50%;background:linear-gradient(115deg,#C9A25A,#EED9A0);box-shadow:0 0 0 8px rgba(216,179,106,.18),0 0 34px rgba(216,179,106,.6);animation:late 2.4s infinite}
.mapa .pin b{display:block;margin-top:10px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--oro);text-shadow:0 2px 12px #000}
@keyframes late{0%,100%{box-shadow:0 0 0 8px rgba(216,179,106,.18),0 0 34px rgba(216,179,106,.6)}50%{box-shadow:0 0 0 14px rgba(216,179,106,.07),0 0 44px rgba(216,179,106,.8)}}

/* tabla de horarios */
.horarios{width:100%;border-collapse:collapse;margin-top:6px}
.horarios td{padding:12px 4px;border-bottom:1px solid var(--linea);font-size:.95rem;color:var(--gris)}
.horarios td:last-child{text-align:right;color:var(--marfil)}
.horarios tr.hoy td{color:var(--oro)}

/* números / métricas */
.metricas{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,3vw,30px);margin-top:46px}
@media(max-width:760px){.metricas{grid-template-columns:repeat(2,1fr)}}
.metrica{text-align:center;border:1px solid var(--linea);padding:28px 12px;background:var(--glass)}
.metrica b{font-family:var(--serif);font-size:clamp(1.8rem,4vw,2.6rem);font-weight:400;background:linear-gradient(100deg,var(--oro),var(--oro-claro));-webkit-background-clip:text;background-clip:text;color:transparent}
.metrica span{display:block;margin-top:8px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gris)}

/* footer */
footer{border-top:1px solid var(--linea-oro);background:#080704;margin-top:clamp(60px,8vw,110px)}
footer .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,60px);padding-top:54px;padding-bottom:34px}
@media(max-width:760px){footer .wrap{grid-template-columns:1fr}}
.fcol{display:grid;gap:10px;align-content:start}
.fcol b{font-family:var(--serif);font-weight:400;font-size:1.05rem;letter-spacing:.06em;margin-bottom:6px;color:var(--marfil)}
.fcol a,.fcol span{color:var(--gris);font-size:.92rem}
.fcol a:hover{color:var(--oro)}
.fbot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:0!important;padding-bottom:30px!important;grid-template-columns:none!important;display:flex!important;border-top:1px solid var(--linea);margin-top:0;padding-top:22px!important;font-size:12px;color:var(--gris)}
.fbot a{color:var(--oro);text-decoration:underline}

/* botón flotante WhatsApp */
.wa-fab{position:fixed;right:22px;bottom:22px;z-index:60;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;background:linear-gradient(135deg,#1FAF57,#25D366);box-shadow:0 14px 36px -10px rgba(37,211,102,.55);transition:transform .25s}
.wa-fab:hover{transform:translateY(-3px) scale(1.05)}

/* hero interior (páginas secundarias) */
.cabecera{border-bottom:1px solid var(--linea);padding:clamp(52px,7vw,92px) 0}
.cabecera h1{font-size:clamp(2.6rem,6vw,4.6rem)}
.cabecera .lead{margin-top:20px}
