/* ==========================================================================
   Brewhaus Sports Bar — páginas internas (About y Contacto)
   Se carga después de base.css y reutiliza sus tokens, header, footer y botones.
   ========================================================================== */

.texto p+p{margin-top:16px}
.texto p{font-size:16px;line-height:1.7}
.oscuro .texto p{color:rgba(245,243,237,.86)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.foto{position:relative;overflow:hidden;border-radius:var(--radio-lg);background:var(--gris-claro)}
.foto img{width:100%;height:100%;object-fit:cover}

/* Etiqueta tipo sticker */
.sticker{position:absolute;z-index:2;display:inline-flex;flex-direction:column;padding:12px 18px;border-radius:var(--radio-bloque);background:var(--acento);color:var(--azul-profundo);box-shadow:0 12px 28px rgba(7,27,73,.28);transform:rotate(-4deg)}
.sticker strong{font-family:var(--font-display);font-size:44px;line-height:.9;font-weight:800}
.sticker span{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}

/* ==========================================================================
   ABOUT · Hero con panel diagonal
   ========================================================================== */
.a-hero{position:relative;min-height:min(86vh,760px);display:flex;align-items:center;overflow:hidden;background:var(--azul-profundo);color:var(--blanco-calido);isolation:isolate}
.a-hero__foto{position:absolute;inset:0 0 0 38%;z-index:-2}
.a-hero__foto img{width:100%;height:100%;object-fit:cover;object-position:center}
.a-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--acento);clip-path:polygon(0 0,60% 0,49% 100%,0 100%)}
.a-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--azul-brewhaus);clip-path:polygon(0 0,58.6% 0,47.6% 100%,0 100%)}
.a-hero__content{position:relative;width:min(560px,48%);padding-block:80px}
.a-hero h1{font-size:clamp(56px,7.4vw,104px)}
.a-hero .lead{max-width:470px;margin-top:22px;color:rgba(245,243,237,.88)}
.a-hero__firma{margin-top:22px;font-family:var(--font-display);font-size:26px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--acento)}

/* Banda en movimiento */
.marquee{overflow:hidden;background:var(--acento);color:var(--azul-profundo);border-block:3px solid var(--azul-profundo)}
.marquee__track{display:flex;width:max-content;animation:marquee 32s linear infinite}
.marquee__group{display:flex;flex-shrink:0}
.marquee span{padding:14px 22px;font-family:var(--font-display);font-size:30px;line-height:1;font-weight:800;text-transform:uppercase;white-space:nowrap}
.marquee span::after{content:"●";margin-left:44px;font-size:12px;vertical-align:middle}
@keyframes marquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee__track{animation:none}}

/* ==========================================================================
   ABOUT · Origen y evolución (línea de tiempo)
   ========================================================================== */
.timeline{position:relative;display:grid;gap:96px;margin-top:56px}
.timeline::before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:3px dashed rgba(237,155,51,.7);transform:translateX(-50%)}
.hito{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.hito::before{content:"";position:absolute;left:50%;top:50%;width:22px;height:22px;border:5px solid var(--fondo);border-radius:50%;background:var(--acento);box-shadow:0 0 0 3px var(--acento);transform:translate(-50%,-50%)}
.hito__media{aspect-ratio:4/3}
.hito__media .sticker{right:20px;bottom:20px}
.hito--reverso .hito__media{order:2}
.hito--reverso .hito__media .sticker{right:auto;left:20px;transform:rotate(4deg)}
.hito__texto{position:relative}
.hito__anio{position:absolute;right:0;top:-74px;z-index:-1;font-family:var(--font-display);font-size:170px;line-height:1;font-weight:800;color:transparent;-webkit-text-stroke:2px rgba(10,41,114,.12);pointer-events:none;user-select:none}
.hito__texto h3{font-family:var(--font-display);font-size:clamp(34px,3.6vw,46px);line-height:.98;font-weight:800;text-transform:uppercase;color:var(--azul-brewhaus);margin-bottom:18px}

/* ==========================================================================
   ABOUT · La experiencia (oscuro, bento)
   ========================================================================== */
.exp__intro{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.exp__intro .foto{aspect-ratio:4/3}
.exp__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:56px}
.exp-card{display:flex;flex-direction:column;border:1px solid var(--borde-claro);border-radius:var(--radio-lg);overflow:hidden;background:var(--vidrio)}
.exp-card__media{aspect-ratio:16/9;overflow:hidden}
.exp-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.exp-card:hover .exp-card__media img{transform:scale(1.04)}
.exp-card__body{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:32px}
.exp-card__body h3{margin-bottom:14px;font-family:var(--font-display);font-size:clamp(30px,3vw,40px);line-height:.98;font-weight:800;text-transform:uppercase}
.exp-card__body .cta-row{margin-top:auto;padding-top:24px}

/* ==========================================================================
   ABOUT · Nuestra gente, nuestra ciudad
   ========================================================================== */
.gente__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}
.gente-card{display:flex;flex-direction:column;border:1px solid var(--borde-suave);border-radius:var(--radio-lg);overflow:hidden;background:#fff}
.gente-card__media{aspect-ratio:3/2;overflow:hidden}
.gente-card__media img{width:100%;height:100%;object-fit:cover}
.gente-card__body{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:32px}
.gente-card__body h3,.vallarta h3{margin-bottom:14px;font-family:var(--font-display);font-size:clamp(30px,3vw,40px);line-height:.98;font-weight:800;text-transform:uppercase;color:var(--azul-brewhaus)}
.gente-card__body .cta-row{margin-top:auto;padding-top:20px}
.gente-card:nth-child(2){margin-top:56px}

.vallarta{position:relative;display:flex;align-items:flex-end;min-height:520px;margin-top:24px;padding:32px;border-radius:var(--radio-lg);overflow:hidden;isolation:isolate}
.vallarta__bg{position:absolute;inset:0;z-index:-1}
.vallarta__bg img{width:100%;height:100%;object-fit:cover}
.vallarta__panel{max-width:520px;padding:36px;border-radius:var(--radio-bloque);background:rgba(245,243,237,.96);box-shadow:0 18px 40px rgba(7,27,73,.25)}

/* ==========================================================================
   ABOUT · BH Girls
   ========================================================================== */
.girls{background:var(--azul-brewhaus);color:var(--blanco-calido);overflow:hidden}
.girls__grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.girls .eyebrow{color:var(--acento)}
.girls .display{color:var(--blanco-calido)}
.girls .texto p{color:rgba(245,243,237,.88)}
.girls__lema{margin-top:28px;font-family:var(--font-display);font-size:clamp(28px,3vw,38px);line-height:1;font-weight:800;text-transform:uppercase;color:var(--acento)}
.collage{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.collage .foto{aspect-ratio:2/3;border-radius:var(--radio-bloque);background:var(--azul-profundo)}
.collage .foto:nth-child(even){transform:translateY(48px)}
.collage__wide{grid-column:1/-1;aspect-ratio:3/2!important;transform:none!important;margin-top:48px}

/* ==========================================================================
   ABOUT · Cierre (panel de campaña)
   ========================================================================== */
.cierre__box{position:relative;display:flex;align-items:center;min-height:520px;border-radius:var(--radio-lg);overflow:hidden;background:var(--azul-profundo);color:var(--blanco-calido);isolation:isolate}
.cierre__foto{position:absolute;inset:0 0 0 52%;z-index:-2}
.cierre__foto img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.cierre__box::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--acento);clip-path:polygon(0 0,66% 0,56% 100%,0 100%)}
.cierre__box::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--azul-brewhaus);clip-path:polygon(0 0,64.8% 0,54.8% 100%,0 100%)}
.cierre__content{width:min(560px,54%);padding:56px}
.cierre__content .lead{color:rgba(245,243,237,.88)}
.cierre__firma{margin-top:16px;font-weight:700;color:var(--acento)}

/* ==========================================================================
   CONTACTO
   ========================================================================== */
.c-hero{position:relative;padding-block:96px 168px;overflow:hidden;color:var(--blanco-calido);isolation:isolate}
.c-hero__bg{position:absolute;inset:0;z-index:-1}
.c-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.c-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,27,73,.97) 0%,rgba(10,41,114,.88) 50%,rgba(7,27,73,.55) 100%)}
.c-hero h1{max-width:760px;font-size:clamp(52px,7vw,96px);color:var(--blanco-calido)}
.c-hero .lead{color:rgba(245,243,237,.88)}

.c-main{position:relative;z-index:2;margin-top:-104px}
.c-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:start}
.c-info{display:grid;gap:16px}
.c-card{display:flex;gap:16px;align-items:flex-start;padding:24px;border:1px solid var(--borde-suave);border-radius:var(--radio-bloque);background:#fff;box-shadow:0 10px 30px rgba(7,27,73,.08)}
.c-card__icon{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:50%;background:var(--azul-brewhaus);color:var(--blanco-calido)}
.c-card__icon svg{width:22px;height:22px}
.c-card h2{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--azul-brewhaus)}
.c-card p{margin-top:2px;font-size:15px;line-height:1.5}
.c-card a{font-weight:600;color:var(--azul-profundo);word-break:break-word}
.c-card a:hover{color:var(--azul-brewhaus)}
.c-card--marca{flex-direction:column;gap:0;padding:0;overflow:hidden;background:var(--azul-brewhaus);color:var(--blanco-calido);border:0}
.c-card--marca .foto{width:100%;aspect-ratio:4/3;border-radius:0}
.c-card--marca .foto img{object-position:center 72%}
.c-card--marca div.c-card__text{padding:20px 24px 24px}
.c-card--marca h2{color:var(--acento)}
.c-card--marca p{color:rgba(245,243,237,.88)}
.c-card--marca .social{margin-top:14px}
.c-card--marca .social a{color:var(--blanco-calido);background:rgba(245,243,237,.12)}
.c-card--marca .social a:hover{color:var(--azul-profundo);background:var(--acento)}

/* Formulario */
.form-card{padding:44px;border-radius:var(--radio-lg);background:#fff;border:1px solid var(--borde-suave);box-shadow:0 24px 60px rgba(7,27,73,.16)}
.form-card .display{font-size:clamp(36px,3.8vw,48px)}
.form-card__intro{margin-top:10px;font-size:15px;line-height:1.6}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.field{display:flex;flex-direction:column;gap:6px}
.field--full{grid-column:1/-1}
.field label{font-size:14px;font-weight:600;color:var(--azul-profundo)}
.field label .req{color:#b4231b}
.field label .opt{font-weight:400;color:#5d6472}
.field input,.field textarea{width:100%;padding:13px 18px;border:1.5px solid rgba(10,41,114,.22);border-radius:var(--radio-bloque);background:var(--blanco-calido);font-size:15px;color:var(--grafito);transition:border-color .2s,box-shadow .2s,background-color .2s}
.field input{border-radius:var(--radio-pill)}
.field textarea{min-height:130px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#6b7280}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--azul-brewhaus);background:#fff;box-shadow:0 0 0 3px rgba(10,41,114,.18)}
.field.is-invalid input,.field.is-invalid textarea{border-color:#b4231b;box-shadow:0 0 0 3px rgba(180,35,27,.12)}
.field__error{min-height:18px;font-size:13px;font-weight:600;color:#b4231b}
.honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form__legal{grid-column:1/-1;font-size:12.5px;line-height:1.5;color:#4b5260}
.form__legal a{color:var(--azul-brewhaus);font-weight:600}
.form__actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.form__actions .btn{min-width:200px}
.btn[aria-busy="true"]{opacity:.7;cursor:progress}
.form__status{grid-column:1/-1;display:none;padding:14px 18px;border-radius:var(--radio-bloque);font-size:14px;font-weight:600;line-height:1.5}
.form__status.is-ok{display:block;background:#e6f4ea;color:#14532d;border:1px solid #9fd3ae}
.form__status.is-error{display:block;background:#fdecea;color:#7f1d1d;border:1px solid #f1aaa4}
.form__status a{color:inherit}

/* Mapa */
.mapa{position:relative;margin-top:24px;border-radius:var(--radio-lg);overflow:hidden;border:1px solid var(--borde-suave);background:var(--gris-claro)}
.mapa iframe{display:block;width:100%;height:440px;border:0}
.mapa__card{position:absolute;left:24px;bottom:24px;max-width:340px;padding:22px 24px;border-radius:var(--radio-bloque);background:var(--azul-brewhaus);color:var(--blanco-calido);box-shadow:0 14px 30px rgba(7,27,73,.3)}
.mapa__card strong{display:block;font-family:var(--font-display);font-size:28px;line-height:1;font-weight:800;text-transform:uppercase}
.mapa__card p{margin:6px 0 14px;font-size:14px;color:rgba(245,243,237,.85)}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1024px){
  .a-hero__content{width:min(520px,54%)}
  .hito{gap:48px}
  .exp__intro,.girls__grid{grid-template-columns:1fr;gap:40px}
  .c-grid{grid-template-columns:1fr}
  .c-grid > .form-card{order:-1}
  .c-info{grid-template-columns:1fr 1fr}
  .c-card--marca{grid-row:span 2}
}
@media (max-width:767px){
  .a-hero{flex-direction:column;align-items:stretch;min-height:0}
  .a-hero::before,.a-hero::after{display:none}
  .a-hero__foto{position:relative;inset:auto;aspect-ratio:4/3}
  .a-hero__content{width:auto;padding:36px var(--gutter) 48px;margin:0;background:var(--azul-brewhaus);border-top:6px solid var(--acento)}
  .a-hero .container{width:100%}
  .marquee span{font-size:22px;padding:10px 16px}
  .timeline{gap:72px;margin-top:40px}
  .timeline::before,.hito::before{display:none}
  .hito{grid-template-columns:1fr;gap:36px}
  .hito--reverso .hito__media{order:0}
  .hito__media .sticker,.hito--reverso .hito__media .sticker{right:12px;left:auto;bottom:12px}
  .sticker strong{font-size:34px}
  .hito__anio{font-size:110px;top:-40px}
  .exp__grid,.gente__grid{grid-template-columns:1fr}
  .exp-card__body,.gente-card__body{padding:24px}
  .gente-card:nth-child(2){margin-top:0}
  .vallarta{min-height:0;padding:0;flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--borde-suave)}
  .vallarta__bg{position:relative;inset:auto;aspect-ratio:3/2}
  .vallarta__panel{max-width:none;padding:24px;border-radius:0;box-shadow:none;background:#fff}
  .collage{gap:10px}
  .collage .foto:nth-child(even){transform:translateY(28px)}
  .collage__wide{margin-top:28px}
  .cierre__box{flex-direction:column;align-items:stretch;min-height:0}
  .cierre__box::before,.cierre__box::after{display:none}
  .cierre__foto{position:relative;inset:auto;aspect-ratio:4/3;order:2}
  .cierre__content{width:auto;padding:32px 24px;background:var(--azul-brewhaus)}
  .c-hero{padding-block:56px 140px}
  .c-info{grid-template-columns:1fr}
  .c-card--marca{grid-row:auto}
  .form-card{padding:28px 20px}
  .form{grid-template-columns:1fr}
  .form__actions .btn{width:100%}
  .mapa iframe{height:360px}
  .mapa__card{position:static;max-width:none;border-radius:0}
}

/* ==========================================================================
   BH GIRLS y FRANQUICIA · bloque de información
   ========================================================================== */
.c-hero--corto{padding-bottom:96px}
.c-main--libre{margin-top:0;padding-top:var(--seccion)}
.info-bloque{padding-block:var(--seccion) 0}
.info-bloque__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.info-bloque__lema{margin-top:24px;font-family:var(--font-display);font-size:clamp(26px,2.8vw,34px);line-height:1;font-weight:800;text-transform:uppercase;color:var(--azul-brewhaus)}
.info-bloque__fotos{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.info-bloque__fotos .foto{aspect-ratio:3/4;border-radius:var(--radio-lg)}
.info-bloque__fotos .foto:nth-child(2){transform:translateY(40px)}
.info-bloque__fotos--una{grid-template-columns:1fr}
.info-bloque__fotos--una .foto{aspect-ratio:4/3}
.info-bloque__fotos .sticker{left:-14px;bottom:18px}
.rasgos{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:72px}
.rasgo{padding:26px 24px;border:1px solid var(--borde-suave);border-radius:var(--radio-bloque);background:#fff}
.rasgo__icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:16px;border-radius:50%;background:var(--acento);color:var(--azul-profundo)}
.rasgo__icon svg{width:24px;height:24px}
.rasgo h3{margin-bottom:8px;font-family:var(--font-display);font-size:26px;line-height:1;font-weight:800;text-transform:uppercase;color:var(--azul-brewhaus)}
.rasgo p{font-size:14px;line-height:1.55}
.pasos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px;counter-reset:paso}
.paso{position:relative;padding:28px 24px 26px 88px;border-radius:var(--radio-bloque);background:var(--azul-brewhaus);color:var(--blanco-calido)}
.paso::before{counter-increment:paso;content:counter(paso);position:absolute;left:24px;top:24px;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--acento);color:var(--azul-profundo);font-family:var(--font-display);font-size:28px;font-weight:800}
.paso h3{margin-bottom:6px;font-size:16px;font-weight:700}
.paso p{font-size:14px;line-height:1.55;color:rgba(245,243,237,.85)}
.subtitulo-bloque{margin-top:72px;font-family:var(--font-display);font-size:clamp(30px,3.2vw,40px);line-height:1;font-weight:800;text-transform:uppercase;color:var(--azul-brewhaus)}

@media (max-width:1024px){
  .info-bloque__grid{grid-template-columns:1fr;gap:40px}
  .rasgos{grid-template-columns:repeat(2,1fr)}
  .pasos{grid-template-columns:1fr}
}
@media (max-width:767px){
  .c-hero--corto{padding-bottom:64px}
  .info-bloque__fotos{gap:10px}
  .info-bloque__fotos .foto:nth-child(2){transform:translateY(24px)}
  .info-bloque__fotos .sticker{left:10px}
  .rasgos{grid-template-columns:1fr;margin-top:48px}
  .subtitulo-bloque{margin-top:48px}
}

/* ==========================================================================
   PARTIDOS · mini hub y calendario
   ========================================================================== */
.hub .sports-grid{margin-top:40px}
.hub .sport{position:relative}
.hub .sport.is-activo{border-color:var(--acento);background:rgba(237,155,51,.14)}
.sport__count{display:inline-block;margin-top:14px;padding:4px 12px;border-radius:999px;background:rgba(237,155,51,.18);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--acento)}

.filtros{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.filtro{padding:8px 18px;border:2px solid var(--acento);border-radius:999px;background:transparent;font-size:14px;font-weight:600;color:var(--azul-brewhaus);cursor:pointer;transition:background-color .2s,color .2s}
.filtro:hover,.filtro[aria-pressed="true"]{background:var(--acento);color:var(--azul-profundo)}

.juegos{display:grid;gap:12px;margin-top:24px}
.juego{display:grid;grid-template-columns:84px 1fr auto auto;align-items:center;gap:24px;padding:16px 24px 16px 16px;border:1px solid var(--borde-suave);border-radius:var(--radio-bloque);background:#fff}
.juego[hidden]{display:none}
.juego__fecha{display:grid;justify-items:center;align-content:center;height:84px;border-radius:var(--radio-sm);background:var(--azul-brewhaus);color:var(--blanco-calido);font-size:12px;font-weight:700;letter-spacing:.14em}
.juego__fecha strong{font-family:var(--font-display);font-size:38px;line-height:.9;font-weight:800;color:var(--acento)}
.juego__dia{opacity:.8}
.juego__liga{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--azul-brewhaus)}
.juego__muestra{padding:2px 10px;border-radius:999px;background:var(--acento);font-size:11px;letter-spacing:.08em;color:var(--azul-profundo)}
.juego h3{font-family:var(--font-display);font-size:clamp(26px,2.6vw,34px);line-height:1;font-weight:800;text-transform:uppercase;color:var(--azul-brewhaus)}
.juego__nota{margin-top:4px;font-size:14px;color:var(--grafito)}
.juego__hora{font-family:var(--font-display);font-size:30px;line-height:1;font-weight:800;white-space:nowrap;color:var(--azul-brewhaus)}
.juegos__vacio{margin-top:24px;padding:24px;border:2px dashed var(--borde-suave);border-radius:var(--radio-bloque);text-align:center}
.proximamente{max-width:560px;margin-top:32px;padding:32px;border:2px dashed var(--borde-suave);border-radius:var(--radio-lg);background:#fff}
.proximamente h3{margin-bottom:8px;font-family:var(--font-display);font-size:34px;line-height:1;font-weight:800;text-transform:uppercase;color:var(--azul-brewhaus)}
.proximamente .social a{background:var(--azul-brewhaus)}

@media (max-width:767px){
  .juego{grid-template-columns:72px 1fr;gap:12px 16px;padding:14px}
  .juego__fecha{height:72px}
  .juego__hora{grid-column:2;font-size:26px}
  .juego .btn{grid-column:1 / -1;width:100%}
}

/* ==========================================================================
   LEGAL · Términos y Aviso de privacidad
   ========================================================================== */
.legal-hero{padding-block:72px 56px}
.legal-hero__fecha{margin-top:14px;font-size:14px;color:rgba(245,243,237,.75)}
.legal{padding-block:64px var(--seccion)}
.legal__grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:56px;align-items:start}
.legal__toc{position:sticky;top:calc(var(--header) + 24px);padding:24px;border:1px solid var(--borde-suave);border-radius:var(--radio-bloque);background:#fff}
.legal__toc h2{margin-bottom:12px;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--azul-brewhaus)}
.legal__toc ol{list-style:none;counter-reset:l}
.legal__toc li{counter-increment:l}
.legal__toc li+li{margin-top:8px}
.legal__toc a{font-size:14px;line-height:1.4;text-decoration:none;color:var(--grafito)}
.legal__toc a::before{content:counter(l) ". ";font-weight:700;color:var(--acento)}
.legal__toc a:hover{color:var(--azul-brewhaus);text-decoration:underline}
.legal__otro{margin-top:20px;padding-top:16px;border-top:1px solid var(--borde-suave);font-size:14px;font-weight:600}
.legal__otro a{color:var(--azul-brewhaus)}
.legal__texto{max-width:760px}
.legal__texto h2{margin:40px 0 12px;font-family:var(--font-display);font-size:clamp(28px,3vw,36px);line-height:1;font-weight:800;text-transform:uppercase;color:var(--azul-brewhaus);scroll-margin-top:calc(var(--header) + 16px)}
.legal__texto>p:first-child{margin-top:0}
.legal__texto p{margin-top:14px;font-size:16px;line-height:1.7}
.legal__texto ul{margin:14px 0 0 22px;list-style:disc}
.legal__texto li{margin-top:6px;font-size:16px;line-height:1.65}
.legal__texto a{color:var(--azul-brewhaus);text-underline-offset:2px}
.legal__volver{margin-top:48px!important}
.legal__volver .btn{color:var(--blanco-calido);text-decoration:none}
@media (max-width:900px){
  .legal__grid{grid-template-columns:1fr;gap:32px}
  .legal__toc{position:static}
}

/* ==========================================================================
   BH GIRLS · portada con foto principal
   ========================================================================== */
.c-hero--foto .c-hero__bg{background:radial-gradient(ellipse 55% 85% at 76% 50%,rgba(237,155,51,.2),transparent 70%),linear-gradient(120deg,var(--azul-profundo) 0%,var(--azul-brewhaus) 62%,#133f9e 100%)}
.c-hero--foto .c-hero__bg::after{display:none}
.c-hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.c-hero__foto{position:relative;justify-self:end;width:min(100%,440px)}
.c-hero__foto::before{content:"";position:absolute;inset:-14px;z-index:-1;border-radius:34px;background:linear-gradient(160deg,rgba(237,155,51,.6),rgba(237,155,51,0) 60%)}
.c-hero__foto img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 55%;border-radius:24px;box-shadow:0 30px 60px rgba(3,10,32,.5)}
@media (max-width:900px){
  .c-hero__grid{grid-template-columns:1fr;gap:40px}
  .c-hero__foto{justify-self:center;width:min(100%,380px)}
}

/* ==========================================================================
   FRANQUICIA · mapa de expansión (próximamente)
   ========================================================================== */
.mapa-exp{padding-block:72px 0;text-align:center}
.mapa-exp .display{max-width:760px;margin-inline:auto}
.mapa-exp__fig{position:relative;max-width:940px;margin:24px auto 0}
.mapa-exp__fig img{width:100%;height:auto;mix-blend-mode:multiply}
.mapa-exp__badge{position:absolute;top:8%;left:2%;display:inline-block;padding:10px 22px;border-radius:999px;background:var(--acento);box-shadow:0 12px 28px rgba(7,27,73,.25);font-family:var(--font-display);font-size:clamp(22px,3vw,32px);line-height:1;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--azul-profundo);transform:rotate(-4deg)}
.mapa-exp__nota{max-width:560px;margin:8px auto 0;font-size:15px;color:var(--grafito)}
@media (max-width:767px){
  .mapa-exp{padding-top:48px}
  .mapa-exp__badge{top:2%;padding:7px 16px}
}
