/* ============================================================
   BESTIAL MZL — Contacto y ubicación
   Hereda tokens, botones, .eyebrow, .pat y .ext de styles.css.
   Móvil primero; sin hojas apiladas (la página es corta y práctica).
   ============================================================ */
.btn-w2{color:var(--k);background:#fff;border-color:var(--k);--sh:var(--od)}
.btn-w2:hover{background:#fff}

/* ---------- 1 · hero ---------- */
.c-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--y);padding:clamp(28px,5vw,72px) var(--pad) clamp(36px,5vw,72px);border-bottom:3px solid var(--k)}
.c-mascot{position:absolute;right:var(--pad);top:clamp(18px,3vw,40px);width:clamp(64px,10vw,150px);height:auto}
.c-hero .eyebrow{max-width:calc(100% - clamp(80px,12vw,170px))}
.c-h1{margin:.45em 0 0;font-size:clamp(60px,15vw,200px);line-height:.92;color:var(--k);--ec:var(--o)}
.c-h1 .hl{display:block}
.c-lead{margin:clamp(18px,2.4vw,30px) 0 clamp(22px,2.6vw,34px);max-width:30em;font-weight:600;font-size:clamp(19px,1.7vw,24px);line-height:1.35}
.hero-anim .c-lead,.hero-anim .c-acts{animation:hlUp 700ms var(--ease) backwards;animation-delay:var(--d,0ms)}
.c-acts .btn{flex:0 1 auto}

/* ---------- 2 · datos + mapa ---------- */
.c-info{position:relative;isolation:isolate;overflow:hidden;background:var(--o);padding:clamp(40px,6vw,96px) var(--pad);border-bottom:3px solid var(--k)}
.c-h2{font-size:clamp(46px,8vw,120px);line-height:.92;color:var(--k);--ec:#FFF3E0;margin-bottom:clamp(24px,3.4vw,48px)}
.c-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(26px,4vw,64px);align-items:start}
.c-data{list-style:none;margin:0;padding:0;display:grid;gap:clamp(14px,1.6vw,22px)}
.c-data li{position:relative;background:var(--w);border:3px solid var(--k);padding:clamp(16px,1.8vw,24px) clamp(16px,2vw,26px);box-shadow:6px 6px 0 var(--k)}
.c-data li:nth-child(odd){rotate:-.6deg}
.c-data li:nth-child(even){rotate:.5deg}
.c-tag{display:inline-block;background:var(--k);color:var(--y);padding:.3em .7em .25em;font-family:var(--f-c);font-weight:800;font-size:15px;letter-spacing:.1em;text-transform:uppercase;line-height:1}
.c-val{margin:.55em 0 0;font-style:normal;font-family:var(--f-c);font-weight:700;font-size:clamp(24px,2.5vw,34px);line-height:1.12}
.c-val a{display:inline-block;padding:4px 0;text-decoration-thickness:3px;text-underline-offset:5px}
.c-val a:hover{background:var(--y)}
.c-sub{margin:.2em 0 0;font-weight:600;font-size:17px}
.c-sub a{display:inline-block;padding:10px 0;text-decoration-thickness:2px;text-underline-offset:4px}
.c-map{display:grid;gap:18px;min-width:0}
.c-frame{position:relative;border:3px solid var(--k);box-shadow:10px 10px 0 var(--k);background:#e8e4da;height:clamp(340px,52vw,560px)}
.c-frame iframe{display:block;width:100%;height:100%;border:0}
.c-lock{position:absolute;inset:0;background:transparent;border:0;padding:0;cursor:pointer;display:flex;align-items:flex-end;justify-content:flex-start}
.c-lock[hidden]{display:none}
.c-lock span{margin:12px;padding:.55em .9em .5em;background:var(--k);color:var(--y);font-family:var(--f-c);font-weight:800;font-size:16px;letter-spacing:.07em;text-transform:uppercase;line-height:1}
.c-lock:focus-visible{outline:4px solid var(--y);outline-offset:-8px}
.c-route{justify-self:start}
.c-note{margin:clamp(26px,3vw,40px) 0 0;max-width:38em;font-weight:600;font-size:16px}

/* ---------- 3 · cierre ---------- */
.c-fin{position:relative;overflow:hidden;background:var(--k);color:#fff;padding:clamp(48px,7vw,110px) var(--pad);--fc:var(--y)}
.c-h3{font-size:clamp(44px,8vw,128px);line-height:.92;color:var(--y);--ec:var(--od);margin-bottom:clamp(24px,3vw,40px);position:relative;z-index:1}
.c-h3 span{display:block}
.c-fin .btn-row{position:relative;z-index:1}
.c-bolt{position:absolute;right:2%;bottom:-10%;width:clamp(110px,16vw,250px);aspect-ratio:.7;background:#161616;clip-path:polygon(62% 0,18% 58%,46% 58%,30% 100%,86% 36%,56% 36%,80% 0)}

@media (max-width:900px){
  .c-grid{grid-template-columns:1fr}
  .c-map{order:-1}
  .c-frame{height:clamp(320px,90vw,480px);box-shadow:6px 6px 0 var(--k)}
}
@media (max-width:640px){
  .c-acts .btn{flex:1 1 100%}
  .c-route{justify-self:stretch}
  .c-data li:nth-child(odd),.c-data li:nth-child(even){rotate:0deg}
}
@media (prefers-reduced-motion:reduce){
  .hero-anim .c-lead,.hero-anim .c-acts{animation:none}
  .c-data li{rotate:0deg !important}
}
/* Marcador del mapa: se muestra hasta que la persona carga el mapa de Google */
.c-ph{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;padding:24px;text-align:center;background:#e8e4da}
.c-ph svg{width:56px;height:56px;fill:none;stroke:var(--k);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.c-ph-t{margin:0;font-family:var(--f-c);font-weight:800;font-size:clamp(22px,3vw,30px);letter-spacing:.03em;text-transform:uppercase}
.c-ph-n{margin:0;max-width:30em;font-size:15px;line-height:1.4}

