:root{
  --tinta:#151311; --papel:#F3EEE4; --laton:#C8A96E; --laton-p:#7A5E2B;
  --grafito:#2B2825; --concreto:#8C867D; --senal:#F2C230; --linea:#DDD5C7;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--papel);color:var(--tinta);font-family:"Archivo",system-ui,sans-serif;min-height:100vh}
a{color:inherit}
.mono{font-family:"Roboto Mono",ui-monospace,monospace}

/* Cabecera */
.cab{background:var(--tinta);color:var(--papel);padding:18px clamp(16px,4vw,56px) 0;position:relative;overflow:hidden}
.cab::after{content:"";position:absolute;right:-60px;bottom:-90px;width:min(46vw,420px);aspect-ratio:1062/1102;
  background:url(../assets/ec/EC_isotipo_lineal_papel.svg) center/contain no-repeat;opacity:.07;pointer-events:none}
.cab nav{display:flex;justify-content:space-between;gap:12px;font:500 11px/1 "Roboto Mono",monospace;letter-spacing:.18em;text-transform:uppercase}
.cab nav a{text-decoration:none;opacity:.85}
.cab nav a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
.cab .logo{display:block;width:min(78vw,380px);margin:clamp(26px,5vw,48px) 0 clamp(20px,3vw,30px)}
.tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.tabs a{flex-shrink:0;text-decoration:none;font:600 14px/1 "Archivo",sans-serif;letter-spacing:.02em;padding:16px 18px;color:var(--concreto);border-top:3px solid transparent}
.tabs a:hover{color:var(--papel)}
.tabs a[aria-current="page"]{background:var(--papel);color:var(--tinta);border-top-color:var(--laton)}

main{padding:clamp(26px,4vw,48px) clamp(16px,4vw,56px) 64px;max-width:1180px}
h1{font:800 clamp(30px,4.6vw,48px)/1.05 "Archivo",sans-serif;letter-spacing:-.01em}
.intro{margin:12px 0 30px;max-width:60ch;font-size:17px;line-height:1.6;color:var(--grafito)}
h2{font:800 22px/1.2 "Archivo",sans-serif;margin:40px 0 16px}
.eti{font:500 11px/1 "Roboto Mono",monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--laton-p)}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;border:0;cursor:pointer;
  font:700 14px/1 "Archivo",sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:16px 20px}
.btn-p{background:var(--tinta);color:var(--papel)}
.btn-p:hover{background:var(--grafito)}
.btn-l{background:var(--laton);color:var(--tinta)}
.btn-o{border:1.5px solid var(--tinta);color:var(--tinta);background:transparent}

/* Reservar: selector de espacio */
.espacios{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.esp{text-align:left;background:#fff;border:1.5px solid var(--linea);padding:20px;cursor:pointer;font:inherit;color:inherit;transition:border-color .2s}
.esp:hover{border-color:var(--laton)}
.esp[aria-pressed="true"]{border-color:var(--tinta);background:var(--tinta);color:var(--papel)}
.esp[aria-pressed="true"] .eti{color:var(--laton)}
.esp b{display:block;font:800 19px/1.2 "Archivo",sans-serif;margin:8px 0 6px}
.esp span.t{font-size:14px;line-height:1.5;opacity:.85}
.agenda{margin-top:22px}
.agenda iframe{width:100%;height:720px;border:1.5px solid var(--linea);background:#fff}
.pend{border:1.5px dashed var(--concreto);padding:24px;line-height:1.6;background:#fff}
.pend .btn{margin-top:14px}
.pasos-pago{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px;counter-reset:p}
.pasos-pago li{list-style:none;background:#fff;padding:18px;border-top:3px solid var(--laton);font-size:15px;line-height:1.5}
.pasos-pago li::before{counter-increment:p;content:counter(p);display:block;font:800 26px/1 "Archivo",sans-serif;color:var(--laton-p);margin-bottom:8px}

/* Membresías */
.planes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.plan{background:#fff;border:1.5px solid var(--linea);padding:24px;display:flex;flex-direction:column;gap:10px}
.plan .precio{font:800 40px/1 "Archivo",sans-serif}
.plan .precio small{font:500 13px/1 "Roboto Mono",monospace;color:var(--concreto);margin-left:6px}
.plan .btn{margin-top:auto}
.nota{font:400 12px/1.6 "Roboto Mono",monospace;color:var(--concreto);margin-top:14px;max-width:70ch}

/* Cartelera */
.eventos{display:grid;gap:12px}
.ev{display:grid;grid-template-columns:120px 1fr auto;gap:20px;align-items:center;background:#fff;padding:20px;border-left:4px solid var(--laton)}
.ev .fecha{font:800 40px/1 "Archivo",sans-serif;text-align:center}
.ev .fecha span{display:block;font:500 11px/1.4 "Roboto Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--laton-p);margin-top:6px}
.ev h3{font:800 20px/1.2 "Archivo",sans-serif}
.ev p{margin-top:6px;font-size:15px;line-height:1.5;color:var(--grafito)}
.ev.pasado{border-left-color:var(--concreto);opacity:.75}
.vacio{background:#fff;padding:24px;border:1.5px dashed var(--concreto);line-height:1.6}

/* Álbum */
.album-ev{margin-bottom:34px}
.fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;margin-top:12px}
.fotos img{width:100%;aspect-ratio:1;object-fit:cover;display:block;cursor:zoom-in}
.visor{position:fixed;inset:0;z-index:80;background:rgba(21,19,17,.95);display:none;align-items:center;justify-content:center;padding:20px;cursor:zoom-out}
.visor.on{display:flex}
.visor img{max-width:100%;max-height:100%;object-fit:contain}

/* Pie */
.pie{border-top:1px solid var(--linea);padding:22px clamp(16px,4vw,56px);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font:400 12px/1.6 "Roboto Mono",monospace;color:var(--grafito)}
.pie a{text-decoration:none}

@media (max-width:760px){
  .espacios,.planes,.pasos-pago{grid-template-columns:1fr}
  .ev{grid-template-columns:76px 1fr}
  .ev .accion{grid-column:1/-1}
  .ev .fecha{font-size:32px}
}
.aviso p{margin:6px 0 14px;font-size:15px}
.aviso .campos{display:grid;grid-template-columns:2fr 1.4fr 1fr 1fr;gap:10px;margin-bottom:16px}
.aviso label{display:flex;flex-direction:column;gap:6px;font:500 11px/1 "Roboto Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--grafito)}
.aviso input{font:400 16px/1.2 "Archivo",sans-serif;padding:12px;border:1.5px solid var(--linea);background:var(--papel);color:var(--tinta)}
.aviso input:focus{outline:2px solid var(--laton);outline-offset:0}
@media (max-width:760px){.aviso .campos{grid-template-columns:1fr 1fr}.aviso .campos label:first-child{grid-column:1/-1}}
[hidden]{display:none!important}
.cal-pub iframe{width:100%;height:620px;border:1.5px solid var(--linea);background:#fff}
.esp .pr{display:block;font:500 12px/1 "Roboto Mono",monospace;letter-spacing:.06em;margin:0 0 8px;color:var(--laton-p)}
.esp[aria-pressed="true"] .pr{color:var(--laton)}
.pagar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;background:var(--tinta);color:var(--papel);padding:20px}
.pagar .eti{color:var(--laton)}
.pagar b{display:block;font:800 20px/1.2 "Archivo",sans-serif;margin:6px 0 4px}
.pagar b small{font:500 12px/1 "Roboto Mono",monospace;color:var(--concreto)}
.pagar .t{font-size:14px;opacity:.85}
.ev .cartel{display:block;margin-top:12px;max-width:220px}
.ev .cartel img{width:100%;display:block;border:1px solid var(--linea)}
.wa-flot{position:fixed;right:20px;bottom:20px;z-index:60;width:58px;height:58px;border-radius:50%;background:var(--laton);color:var(--tinta);display:grid;place-items:center;box-shadow:0 10px 24px -10px rgba(0,0,0,.55);transition:transform .2s}
.wa-flot:hover{transform:translateY(-3px)}
.wa-flot svg{width:30px;height:30px}
.pie{padding-right:96px}
