/* =========================================================================
   SHAVE BARBERSHOP — Miami Beach location page (miami-beach.html / es/miami-beach.html)
   Hereda tokens y componentes de styles.css. Identidad propia de esta sede:
   el ROJO del rótulo de letra cursiva + el neón «OPEN» del cristal → acento;
   la jornada de 8 a 8 → el «raíl del día»; hero editorial partido (tipografía + foto enmarcada).
   ========================================================================= */
body.mb{
  --mb-red:#d92e25; --mb-red-2:#ff5a4e; --mb-neon:#ff3b2f;
  --mb-red-soft:rgba(226,54,44,.14); --mb-red-line:rgba(226,54,44,.45);
}
body.mb .accent{ color:var(--mb-red-2); }
body.mb .kicker{ color:var(--mb-red-2); }
body.mb .brand .b-script{ color:var(--mb-red-2); }
body.mb .nav-phone svg{ color:var(--mb-red-2); }
body.mb .nav-links a::after{ background:var(--mb-red); }
body.mb .btn--red{ --bg:var(--mb-red); --fg:#fff; box-shadow:0 14px 34px -16px rgba(226,54,44,.7); }
body.mb .btn--red:hover{ --bg:var(--mb-red-2); }
body.mb ::selection{ background:var(--mb-red); color:#fff; }
body.mb .faq-q .ic::before,body.mb .faq-q .ic::after{ background:var(--mb-red-2); }
body.mb .faq-item.open .faq-q .ic{ background:var(--mb-red); border-color:var(--mb-red); }
body.mb .faq-item.open .faq-q .ic::before,body.mb .faq-item.open .faq-q .ic::after{ background:#fff; }
body.mb .post-card__tag{ color:var(--mb-red-2); }
body.mb .post-card .more{ color:var(--mb-red-2); }
body.mb .sr-only:focus{ position:fixed!important; left:12px; top:12px; width:auto; height:auto; margin:0; padding:.7em 1.1em; clip:auto; overflow:visible; white-space:nowrap; background:#fff; color:#0e0e0e; font-weight:700; border-radius:8px; z-index:200; }
body.mb .book-fab{ bottom:20px; background:var(--mb-red); color:#fff; box-shadow:0 18px 40px -14px rgba(226,54,44,.7); }
body.mb .topbar .dot{ color:var(--mb-red-2); }
body.mb .topbar a{ color:#fff; text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--mb-red-line); }
body.mb .topbar a:hover{ text-decoration-color:var(--mb-red-2); }
body.mb .lang button[aria-pressed="true"]{ background:var(--mb-red); color:#fff; }

/* Lugar (Cape Coral ⇄ Miami Beach) en la barra de navegación */
.loc-switch{ display:inline-flex; align-items:center; gap:.45em; font-size:.8rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-2); padding:.42em .85em; border:1.5px solid var(--line); border-radius:var(--r-pill); background:var(--paper); transition:.25s; white-space:nowrap; }
.loc-switch svg{ width:1em; height:1em; color:var(--mb-red-2); }
.loc-switch:hover{ color:#fff; border-color:var(--mb-red-line); }
@media (max-width:1400px){ .loc-switch{ display:none; } }
body.mb .nav-links{ gap:1.05rem; } body.mb .nav-links a{ font-size:.9rem; white-space:nowrap; }
body.mb .nav-phone{ white-space:nowrap; } body.mb .lang{ flex:none; } body.mb .nav-actions{ flex:none; }
body.mb .brand .b-script{ white-space:nowrap; font-size:clamp(1.05rem,1.35vw,1.5rem); }
@media (max-width:1180px){ body.mb .nav-phone{ display:none; } }

/* Grano sutil para las bandas oscuras */
.mb-grain::after{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.07; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* ===================== HERO (editorial, partido) ===================== */
.mb-hero{ position:relative; overflow:clip; isolation:isolate; color:#fff;
  background:
    radial-gradient(58% 52% at 84% 18%, rgba(226,54,44,.2), transparent 62%),
    radial-gradient(46% 40% at 6% 92%, rgba(255,255,255,.05), transparent 60%),
    linear-gradient(180deg, #121214 0%, #0e0e10 100%);
  padding-block:clamp(44px,6.5vw,104px) clamp(36px,5vw,72px);
}
.mb-hero__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,5vw,72px); align-items:center; }
.mb-hero__grid > *{ min-width:0; }
.mb-hero .kicker{ display:inline-flex; align-items:center; gap:.7em; }
.mb-hero .kicker::before{ content:""; width:34px; height:2px; background:var(--mb-red); display:inline-block; }
.mb-hero h1{ font-size:clamp(3rem,8.4vw,7.2rem); line-height:.9; letter-spacing:.005em; margin:.18em 0 .3em; max-width:12ch; text-wrap:balance; }
.mb-hero h1 .line{ display:block; overflow:hidden; padding:.06em .08em .1em 0; margin-bottom:-.08em; }
.mb-hero h1 .line > span{ display:inline-block; transform:translateY(112%); transition:transform 1s var(--ease-out); will-change:transform; }
.mb-hero.in h1 .line > span{ transform:none; }
html[lang="es"] .mb-hero h1{ font-size:clamp(3rem,7.4vw,6.3rem); }
.mb-hero h1 .line:nth-child(2) > span{ transition-delay:.12s; }
.mb-hero__sub{ font-size:clamp(1.05rem,1.55vw,1.32rem); max-width:44ch; color:rgba(255,255,255,.86); line-height:1.55; }
.mb-hero__cta{ display:flex; flex-wrap:wrap; gap:.85rem; margin-top:1.7rem; align-items:center; }
.mb-hero__trust{ display:flex; flex-wrap:wrap; gap:1.1rem 2rem; margin-top:2.2rem; padding-top:1.4rem; border-top:1px solid rgba(255,255,255,.14); }
.mb-hero__trust .trust-item strong{ font-family:var(--ff-disp); font-style:italic; font-weight:900; font-size:1.5rem; letter-spacing:.01em; font-variant-numeric:tabular-nums; }
.mb-hero__trust .trust-item .star{ color:#ffd23f; }

/* estado en vivo (abierto / abre hoy / abre mañana) — «neón» del cristal */
.mb-status{ display:inline-flex; align-items:center; gap:.6em; padding:.5em .95em .5em .8em; border-radius:var(--r-pill); border:1.5px solid rgba(255,255,255,.14); background:rgba(10,10,12,.55); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); font-size:.8rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.85); }
.mb-status .dot{ width:10px; height:10px; border-radius:50%; background:#6a6a70; flex:none; transition:background .3s, box-shadow .3s; }
.mb-status.is-open{ border-color:var(--mb-red-line); color:#fff; }
.mb-status.is-open .dot{ background:var(--mb-neon); box-shadow:0 0 0 4px rgba(255,59,47,.18), 0 0 16px var(--mb-neon); animation:mbneon 2.6s var(--ease) infinite; }
@keyframes mbneon{ 0%,100%{ box-shadow:0 0 0 4px rgba(255,59,47,.18), 0 0 16px var(--mb-neon); } 50%{ box-shadow:0 0 0 7px rgba(255,59,47,.08), 0 0 26px var(--mb-neon); } }

.mb-hero__photo{ position:relative; border-radius:var(--r-lg); overflow:hidden; aspect-ratio:4/5; max-height:min(78vh,760px); width:100%; justify-self:end;
  box-shadow:0 50px 100px -40px rgba(0,0,0,.85), 0 0 0 1px rgba(255,255,255,.08) inset; background:var(--navy-3);
  will-change:transform; }
.mb-hero .mb-hero__photo.in{ transform:perspective(1200px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)); transition:transform .5s var(--ease-out), opacity .7s var(--ease-out); }
.mb-hero__photo img{ width:100%; height:100%; object-fit:cover; object-position:center 40%; display:block; }
.mb-hero__photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(8,8,10,.55) 100%); pointer-events:none; }
.mb-chip{ position:absolute; z-index:2; left:16px; bottom:16px; display:inline-flex; flex-direction:column; gap:.1em; padding:.7em .95em; border-radius:var(--r-sm); background:rgba(10,10,12,.62); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.1); color:#fff; }
.mb-chip b{ font-family:var(--ff-disp); font-style:italic; font-weight:900; text-transform:uppercase; font-size:1.05rem; line-height:1; letter-spacing:.02em; }
.mb-chip small{ font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.7); }
.mb-hero__sign{ position:absolute; z-index:2; right:14px; top:14px; font-family:var(--ff-disp); font-style:italic; font-weight:900; text-transform:uppercase; font-size:.72rem; letter-spacing:.24em; color:var(--mb-red-2); padding:.5em .8em; border:1px solid var(--mb-red-line); border-radius:6px; background:rgba(10,10,12,.55); text-shadow:0 0 12px rgba(255,59,47,.7); }

/* ===================== RAÍL DEL DÍA (8 → 8) ===================== */
.mb-rail{ background:var(--navy-2); border-top:1px solid var(--line-2); padding-block:clamp(26px,3.4vw,44px); position:relative; overflow:clip; }
.mb-rail__head{ display:flex; justify-content:space-between; align-items:flex-end; gap:1rem 2rem; flex-wrap:wrap; }
.mb-rail__title{ font-family:var(--ff-disp); font-style:italic; font-weight:900; text-transform:uppercase; font-size:clamp(1.9rem,4.4vw,3.4rem); line-height:.95; letter-spacing:.005em; }
.mb-rail__title em{ font-style:inherit; color:var(--mb-red-2); }
.mb-rail__sub{ color:var(--ink-2); font-size:.98rem; max-width:44ch; margin-top:.4em; }
.mb-rail__state{ font-family:var(--ff-disp); font-style:italic; font-weight:800; text-transform:uppercase; letter-spacing:.04em; font-size:clamp(.95rem,1.5vw,1.15rem); color:#fff; display:inline-flex; align-items:center; gap:.55em; }
.mb-rail__state::before{ content:""; width:9px; height:9px; border-radius:50%; background:#6a6a70; }
.mb-rail.is-open .mb-rail__state::before{ background:var(--mb-neon); box-shadow:0 0 12px var(--mb-neon); }
.mb-rail__track{ position:relative; margin-top:clamp(20px,3vw,30px); padding-top:14px; }
.mb-rail__base{ position:absolute; left:0; right:0; top:13px; height:2px; background:var(--line-2); border-radius:2px; }
.mb-rail__open{ position:absolute; top:12px; height:4px; left:var(--l,0%); width:var(--w,100%); background:linear-gradient(90deg,var(--mb-red),var(--mb-red-2)); border-radius:3px; box-shadow:0 0 16px rgba(255,59,47,.45); transition:left .6s var(--ease-out), width .6s var(--ease-out); }
.mb-rail__now{ position:absolute; top:4px; left:var(--x,0%); width:20px; height:20px; margin-left:-10px; border-radius:50%; background:#fff; border:4px solid var(--mb-red); box-shadow:0 0 0 6px rgba(226,54,44,.16), 0 0 18px rgba(255,59,47,.6); transition:left 1s var(--ease-out), opacity .4s; z-index:2; }
.mb-rail__now::after{ content:attr(data-label); position:absolute; left:50%; top:-30px; transform:translateX(-50%); font-family:var(--ff-disp); font-style:italic; font-weight:800; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:#fff; white-space:nowrap; background:var(--mb-red); padding:.25em .55em; border-radius:4px; }
.mb-rail__now[hidden]{ display:none; }
.mb-rail__ticks{ display:flex; justify-content:space-between; margin-top:12px; }
.mb-rail__ticks span{ position:relative; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); font-variant-numeric:tabular-nums; text-align:center; width:2.4em; }
.mb-rail__ticks span::before{ content:""; display:block; width:1px; height:10px; background:var(--line); margin:0 auto 6px; }
.mb-rail__ticks span.on{ color:var(--ink-2); }
.mb-rail__ticks span.on::before{ background:var(--mb-red-line); }
@media (max-width:620px){ .mb-rail__ticks span:nth-child(even){ visibility:hidden; } }

/* ===================== LA CARTA (tabla de servicios) ===================== */
.mb-board{ border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; background:var(--paper); box-shadow:var(--shadow); }
.mb-board__head{ display:grid; grid-template-columns:1fr auto auto auto; gap:clamp(12px,2vw,28px); padding:.85rem clamp(18px,3vw,34px); background:var(--navy-2); font-size:.66rem; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-soft); }
.mb-board__head span:nth-child(3){ text-align:right; }
.mb-row{ display:grid; grid-template-columns:1fr auto auto auto; align-items:center; gap:clamp(12px,2vw,28px); padding:clamp(18px,2.4vw,26px) clamp(18px,3vw,34px); border-top:1px solid var(--line-2); position:relative; transition:background .25s; }
.mb-row::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--mb-red); transform:scaleY(0); transform-origin:bottom; transition:transform .35s var(--ease); }
.mb-row:hover{ background:rgba(255,255,255,.03); }
.mb-row:hover::before{ transform:scaleY(1); }
.mb-row__name{ font-family:var(--ff-disp); font-style:italic; font-weight:800; text-transform:uppercase; font-size:clamp(1.15rem,2.2vw,1.7rem); line-height:1; letter-spacing:.01em; }
.mb-row__desc{ display:block; font-family:var(--ff-body); font-style:normal; font-weight:400; text-transform:none; letter-spacing:0; font-size:.9rem; color:var(--ink-2); margin-top:.4em; max-width:46ch; line-height:1.45; }
.mb-row__dur{ font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); font-variant-numeric:tabular-nums; white-space:nowrap; }
.mb-row__price{ font-family:var(--ff-disp); font-style:italic; font-weight:900; font-size:clamp(1.6rem,3vw,2.4rem); line-height:1; color:#fff; font-variant-numeric:tabular-nums; text-align:right; min-width:3.4ch; transition:color .25s; }
.mb-row__price small{ font-size:.5em; vertical-align:.6em; opacity:.6; margin-right:.04em; }
.mb-row:hover .mb-row__price{ color:var(--mb-red-2); }
.mb-row .btn{ padding:.72em 1.15em; font-size:.78rem; --bd:var(--line); }
.mb-row .btn:hover{ --bd:var(--mb-red-line); }
.mb-board__foot{ padding:1rem clamp(18px,3vw,34px) 1.1rem; border-top:1px solid var(--line-2); font-size:.82rem; color:var(--ink-soft); display:flex; flex-wrap:wrap; gap:.4em 1.4em; }
.mb-board__foot b{ color:var(--ink-2); font-weight:600; }
@media (max-width:680px){
  .mb-board__head{ display:none; }
  .mb-row{ grid-template-columns:1fr auto; grid-template-areas:"name price" "dur cta"; row-gap:.7rem; }
  .mb-row__name{ grid-area:name; } .mb-row__price{ grid-area:price; } .mb-row__dur{ grid-area:dur; align-self:center; } .mb-row .btn{ grid-area:cta; justify-self:end; }
}

/* ===================== LA TIRA (galería en cinta) ===================== */
.mb-feature{ position:relative; border-radius:var(--r-lg); overflow:hidden; aspect-ratio:16/8; box-shadow:var(--shadow); border:1px solid var(--line); background:var(--navy-3); }
.mb-feature img{ width:100%; height:100%; object-fit:cover; object-position:center 38%; display:block; }
.mb-feature .mb-chip{ left:auto; right:16px; }
.mb-strip{ position:relative; overflow:clip; margin-top:clamp(12px,1.6vw,16px); -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.mb-strip__track{ display:flex; gap:clamp(10px,1.4vw,16px); width:max-content; animation:mbstrip 70s linear infinite; }
.mb-strip:hover .mb-strip__track{ animation-play-state:paused; }
.mb-strip figure{ flex:none; width:clamp(190px,23vw,290px); aspect-ratio:4/5; border-radius:var(--r); overflow:hidden; background:var(--navy-3); border:1px solid var(--line-2); position:relative; }
.mb-strip figure img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s var(--ease); }
.mb-strip figure:hover img{ transform:scale(1.06); }
.mb-strip figure.sq{ aspect-ratio:1; }
@keyframes mbstrip{ to{ transform:translateX(-50%); } }
.mb-strip__pause{ position:absolute; right:16px; top:10px; z-index:3; padding:.5em .9em; border-radius:999px; background:rgba(10,10,12,.78); color:#fff; border:1px solid var(--line); font-size:.76rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; transition:background .2s; }
.mb-strip__pause:hover{ background:var(--mb-red); }
.mb-strip.paused .mb-strip__track{ animation-play-state:paused; }
@media (max-width:560px){ .mb-feature{ aspect-ratio:4/3; } }

/* ===================== LA CITA (about) ===================== */
.mb-quote{ background:var(--navy-2); position:relative; overflow:clip; isolation:isolate; }
.mb-quote__mark{ position:absolute; z-index:-1; left:-.04em; top:-.16em; font-family:var(--ff-disp); font-style:italic; font-weight:900; font-size:clamp(14rem,32vw,30rem); line-height:1; color:rgba(255,255,255,.035); pointer-events:none; user-select:none; }
.mb-quote blockquote{ font-family:var(--ff-disp); font-style:italic; font-weight:800; text-transform:uppercase; font-size:clamp(1.7rem,4.3vw,3.7rem); line-height:1.02; letter-spacing:.004em; max-width:22ch; text-wrap:balance; color:#fff; }
.mb-quote blockquote em{ font-style:inherit; color:var(--mb-red-2); }
.mb-quote cite{ display:inline-flex; align-items:center; gap:.7em; margin-top:1.3rem; font-style:normal; font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); }
.mb-quote cite .star{ color:#ffd23f; letter-spacing:.05em; }
.mb-about{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(28px,5vw,72px); align-items:center; margin-top:clamp(40px,6vw,80px); }
.mb-about > *{ min-width:0; }
.mb-about .lede{ color:rgba(245,239,227,.86); }
.mb-figs{ display:grid; grid-template-columns:repeat(4,auto); gap:clamp(18px,3vw,44px); margin-top:2rem; justify-content:start; }
.mb-fig b{ display:block; font-family:var(--ff-disp); font-style:italic; font-weight:900; font-size:clamp(2.1rem,4.6vw,3.8rem); line-height:1; color:#fff; font-variant-numeric:tabular-nums; }
.mb-fig b .star{ color:#ffd23f; font-size:.6em; vertical-align:.25em; }
.mb-fig small{ display:block; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); margin-top:.35em; }
.mb-about__photo{ border-radius:var(--r-lg); overflow:hidden; aspect-ratio:1; box-shadow:var(--shadow); border:1px solid var(--line); background:var(--navy-3); justify-self:end; width:min(100%,520px); }
.mb-about__photo img{ width:100%; height:100%; object-fit:cover; display:block; }

/* ===================== VISÍTANOS (banda con foto + dirección grande) ===================== */
.mb-visit{ display:grid; grid-template-columns:1fr 1fr; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--line); background:var(--paper); box-shadow:var(--shadow); }
.mb-visit > *{ min-width:0; }
.mb-visit__photo{ position:relative; min-height:380px; background:var(--navy-3); }
.mb-visit__photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 30%; }
.mb-visit__body{ padding:clamp(26px,4vw,56px); display:flex; flex-direction:column; gap:1.15rem; }
.mb-addr{ font-family:var(--ff-disp); font-style:italic; font-weight:900; text-transform:uppercase; font-size:clamp(1.6rem,2.9vw,2.6rem); white-space:nowrap; line-height:.95; letter-spacing:.005em; color:#fff; }
.mb-addr small{ display:block; font-size:.42em; letter-spacing:.1em; color:var(--ink-2); font-weight:700; margin-top:.3em; }
.mb-visit__actions{ display:flex; flex-wrap:wrap; gap:.65rem; }
.mb-visit__actions .btn{ padding:.85em 1.3em; font-size:.86rem; }
.mb-visit__actions .btn--ghost{ --bd:var(--line); }
.mb-notes{ display:flex; flex-direction:column; gap:.55rem; }
.mb-note{ display:flex; gap:.6em; align-items:flex-start; font-size:.94rem; color:var(--ink-2); }
.mb-note svg{ width:1.1em; height:1.1em; color:var(--mb-red-2); flex:none; margin-top:.2em; }
.mb-visit__line{ font-size:.94rem; color:var(--ink-2); line-height:1.6; max-width:52ch; }
.mb-hours-line{ display:flex; flex-wrap:wrap; align-items:center; gap:.5em 1.1em; margin-top:.4rem; font-family:var(--ff-disp); font-style:italic; font-weight:800; text-transform:uppercase; font-size:clamp(1.15rem,2.1vw,1.6rem); color:var(--ink-2); letter-spacing:.02em; line-height:1; }
.mb-hours-line b{ color:#fff; font-weight:900; font-variant-numeric:tabular-nums; }
.mb-hours-line .sep{ width:1px; height:1.1em; background:var(--line); }
.mb-hours-line span.today, .mb-hours-line span.today b{ color:var(--mb-red-2); }
.mb-hours-line span.today::after{ content:" · " attr(data-today); font-family:var(--ff-body); font-style:normal; font-weight:700; font-size:.55em; letter-spacing:.16em; vertical-align:.25em; opacity:.95; }
.mb-hours{ display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; margin-top:clamp(18px,2.6vw,26px); }
.mb-hours li{ border:1px solid var(--line-2); border-radius:var(--r-sm); padding:.75rem .3rem; text-align:center; background:var(--cream-2); transition:.25s; }
.mb-hours .d{ display:block; font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-soft); }
.mb-hours .h{ display:block; font-family:var(--ff-disp); font-weight:800; font-style:italic; font-size:clamp(.8rem,1.35vw,1.02rem); margin-top:.3em; font-variant-numeric:tabular-nums; white-space:nowrap; color:var(--ink); }
.mb-hours li.today{ border-color:var(--mb-red-line); background:var(--mb-red-soft); box-shadow:0 0 0 1px var(--mb-red-line) inset; }
.mb-hours li.today .d{ color:var(--mb-red-2); }
.mb-social{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:clamp(18px,2.6vw,26px); }
.mb-social .social-btn{ font-size:.9rem; padding:.75em 1.15em; }
.mb-social .social-btn.star:hover{ background:#f5b301; color:#111; }
.mb-social .social-btn.ap:hover{ background:var(--mb-red); }
.mb-social .social-btn.gm:hover{ background:#3a3a40; }
@media (max-width:1040px){ .mb-visit{ grid-template-columns:1fr; } .mb-visit__photo{ min-height:300px; aspect-ratio:16/9; } }
@media (max-width:620px){ .mb-hours{ grid-template-columns:repeat(4,minmax(0,1fr)); } .mb-addr{ white-space:normal; } }

/* ===================== PIE: dos sedes ===================== */
.mb-foot{ background:var(--navy-2); color:rgba(245,239,227,.78); padding-block:clamp(56px,7vw,96px) 2rem; border-top:1px solid var(--line-2); position:relative; overflow:clip; }
.mb-foot__big{ font-family:var(--ff-disp); font-style:italic; font-weight:900; text-transform:uppercase; font-size:clamp(2.4rem,7vw,6rem); line-height:.92; letter-spacing:.005em; color:#fff; max-width:14ch; }
.mb-foot__big em{ font-style:inherit; color:var(--mb-red-2); }
.mb-foot__cols{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(18px,3vw,40px); margin-top:clamp(30px,4vw,48px); }
.mb-shop{ border:1px solid var(--line-2); border-radius:var(--r-lg); padding:clamp(20px,3vw,32px); background:rgba(255,255,255,.02); display:flex; flex-direction:column; gap:.5rem; min-width:0; }
.mb-shop.is-here{ border-color:var(--mb-red-line); box-shadow:0 0 0 1px rgba(226,54,44,.18) inset, 0 30px 60px -40px rgba(226,54,44,.5); }
.mb-shop h3{ font-family:var(--ff-disp); font-style:italic; font-weight:900; text-transform:uppercase; font-size:clamp(1.3rem,2.2vw,1.7rem); color:#fff; display:flex; align-items:center; gap:.6em; flex-wrap:wrap; line-height:1; }
.mb-shop h3 .tag{ font-family:var(--ff-body); font-style:normal; font-weight:700; font-size:.58rem; letter-spacing:.18em; padding:.4em .65em; border-radius:999px; border:1px solid var(--mb-red-line); color:var(--mb-red-2); }
.mb-shop p{ font-size:.94rem; }
.mb-shop a.tel{ font-weight:700; color:#fff; }
.mb-shop .row{ display:flex; gap:.55rem; flex-wrap:wrap; margin-top:.6rem; }
.mb-shop .row .btn{ padding:.7em 1.1em; font-size:.78rem; }
.mb-shop .row .btn--ghost{ --bd:var(--line); }
.mb-foot__bottom{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; align-items:center; margin-top:clamp(34px,4vw,56px); padding-top:1.6rem; border-top:1px solid var(--navy-line); font-size:.8rem; }
.mb-foot__bottom .fsocial{ display:flex; gap:.6rem; }
.mb-foot__bottom .fsocial a{ width:40px; height:40px; border-radius:50%; border:1px solid var(--navy-line); display:grid; place-items:center; transition:.3s; }
.mb-foot__bottom .fsocial a:hover{ background:var(--mb-red); border-color:var(--mb-red); color:#fff; transform:translateY(-3px); }
.mb-foot__bottom .fsocial svg{ width:1.1em; height:1.1em; }
@media (max-width:720px){ .mb-foot__cols{ grid-template-columns:1fr; } }

/* ===================== Responsive del hero / about ===================== */
@media (max-width:1040px){
  .mb-hero__grid{ grid-template-columns:1fr; }
  .mb-hero__photo{ justify-self:stretch; aspect-ratio:4/3; max-height:none; }
  .mb-about{ grid-template-columns:1fr; }
  .mb-about__photo{ justify-self:start; }
}
@media (max-width:620px){
  .mb-hero__photo{ aspect-ratio:4/5; max-height:58vh; }
  .mb-hero{ padding-block:clamp(30px,6vw,44px) 30px; }
  .mb-hero h1{ font-size:clamp(2.6rem,13.5vw,3.6rem); }
  .mb-figs{ grid-template-columns:repeat(2,1fr); }
  .mb-strip figure{ width:min(62vw,240px); }
}

/* ===================== Movimiento reducido (todo visible, la tira se desplaza a mano) ===================== */
@media (prefers-reduced-motion: reduce){
  .mb-hero h1 .line > span{ transform:none !important; transition:none !important; }
  .mb-hero__photo{ transform:none !important; }
  .mb-strip{ overflow-x:auto; -webkit-mask-image:none; mask-image:none; }
  .mb-strip__track{ animation:none !important; }
  .mb-status.is-open .dot{ animation:none !important; }
}
