/* Pasaje Empresalia · sitio y presentación comercial
   Diseño y desarrollo: Lazarillo Studio (lazarillo.studio)
   ¿Necesitas ajustar algo? Con gusto te ayudamos: WhatsApp +52 1 722 322 2354.
   Las modificaciones realizadas fuera del estudio quedan fuera del alcance de nuestro soporte; si algo deja de
   funcionar después de un cambio externo, podemos revisarlo como un trabajo aparte. */
/* ==========================================================================
   Pasaje Empresalia · Tipografía (roles)
   Poppins local. Esta hoja carga al final y es la ÚNICA que decide peso, tracking
   y altura de línea de los roles de texto. Las demás hojas solo ponen tamaño
   (con tokens --display-* / --text-*) y color. Títulos en semibold (decisión 2026-09-10).
   Roles: display · h1 · h2 · h3 · h4 · lead · body · small · caption · kicker · metric · metric-label · name
   ========================================================================== */
@font-face{font-family:Poppins;src:url('assets/poppins-light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url('assets/poppins-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url('assets/poppins-medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url('assets/poppins-semibold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}

body,button,input,select,textarea{font-family:var(--font)}
body{font-synthesis:none;font-weight:var(--fw-regular);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased}

/* --- Títulos: semibold, tracking apenas negativo, línea apretada --- */
h1,h2,.t-h1,.t-h2,
.deck-card h2,.h-viewport h1,.h-viewport h2{font-weight:var(--fw-semibold);letter-spacing:var(--track-snug);line-height:var(--lh-tight);text-wrap:balance}
h3,.t-h3,.h-inventory-heading h3,.cards h3,.h-cards h3,.deck-card__cards h3{font-weight:var(--fw-semibold);letter-spacing:var(--track-normal);line-height:var(--lh-snug)}
h4,.t-h4,.h-format-grid h4{font-weight:var(--fw-medium);line-height:var(--lh-snug)}

/* --- Display: mensajes grandes sobre foto o de cierre (también título) --- */
.t-display,.park-overlay p,.h-gallery-message p,.h-park-heading>p{font-size:var(--display-xl);font-weight:var(--fw-semibold);letter-spacing:var(--track-snug);line-height:var(--lh-tight);text-wrap:balance}

/* --- Lectura --- */
.lead,.t-lead,.h-lead,.h-viewport .h-lead,.h-viewport .h-editorial-text,.intro-strip p:first-child,.deck-card .lead{font-weight:var(--fw-regular);line-height:var(--lh-normal);letter-spacing:var(--track-normal)}
p,.t-body{font-weight:var(--fw-regular);text-wrap:pretty} /* sin palabras sueltas al final de párrafo */
.t-small{font-size:var(--text-sm)}
figcaption,.note,.h-fine,.deck-card__note,.t-caption{font-size:var(--text-xs);font-weight:var(--fw-regular);line-height:var(--lh-normal)}

/* --- Kickers: mayúsculas pequeñas con tracking, medium --- */
.eyebrow,.h-kicker,.h-small,.stats-label,.deck-card__kicker,.t-kicker{font-size:var(--text-kicker);font-weight:var(--fw-medium);letter-spacing:var(--track-wide);text-transform:uppercase;line-height:1.2}

/* --- Métricas: cifra semibold con tabulares, etiqueta regular --- */
.stat strong,.h-metrics strong,.deck-card__stats strong,.m-metrics dt,.t-metric{font-weight:var(--fw-semibold);letter-spacing:var(--track-snug);line-height:1.05;font-variant-numeric:tabular-nums}
.h-statement__text,.m-pin .m-statement{font-weight:var(--fw-semibold)}
.h-market-extra h4,.h-market-extra p strong{font-weight:var(--fw-semibold)}
.h-market__metric strong,.h-markets p strong,.deck-card__cards p strong{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums} /* cifra dentro de la frase: semibold, mismo cuerpo que el texto */
.stat span,.h-metrics span,.deck-card__stats span,.t-metric-label{font-size:var(--text-sm);font-weight:var(--fw-regular);line-height:var(--lh-normal)}

/* --- Nombres y marca --- */
.contact strong,.h-contact-person>strong,.deck-card__contact strong,.t-name{font-weight:var(--fw-semibold)}
.brand strong{font-weight:var(--fw-semibold);letter-spacing:.03em}
.brand span{font-weight:var(--fw-medium);letter-spacing:var(--track-wider)}

@media(max-width:760px){body:not(.deck-mode) .panel-0 h1{font-size:clamp(32px,8.6vw,44px)}body:not(.deck-mode) .panel-1 h2,body:not(.deck-mode) .panel-2 h2,body:not(.deck-mode) .panel-3 h2,body:not(.deck-mode) .panel-4 h2{font-size:clamp(32px,8.5vw,44px)}}

/* --- Familia por rol (solo CONTENIDO: escenas, deck; nunca menú, botones, formulario ni rótulos) ---
   Títulos y display → --font-display · párrafos, entradas, listas y cifras → --font-body. Sin pareja elegida, ambas = --font. */
:is(#main,.h-viewport,.m-story,.deck-stage) :is(h1,h2,h3,h4,.t-display,.t-h1,.t-h2,.t-h3,.park-overlay p,.h-gallery-message p,.h-park-heading>p){font-family:var(--font-display,var(--font))}
:is(#main,.h-viewport,.m-story,.deck-stage) :is(p,li,.lead,.h-lead,.h-editorial-text,.stat span,.h-metrics span,.deck-card__stats span,.t-body,.t-lead){font-family:var(--font-body,var(--font))}
:is(#main,.h-viewport,.m-story,.deck-stage) :is(.stat strong,.h-metrics strong,.deck-card__stats strong,.t-metric){font-family:var(--font-display,var(--font))}
/* lo que aun dentro del contenido es interfaz se queda en Poppins */
:is(#main,.h-viewport,.m-story,.deck-stage) :is(.eyebrow,.h-kicker,.h-small,.stats-label,.deck-card__kicker,.t-kicker,.deck-card__tags span,.tags span,.cta,.h-pdf-link,figcaption,.note,.h-fine,.deck-card__note,.park-overlay p,.h-gallery-message p,.h-park-heading>p){font-family:var(--font)}
:is(#main,.h-viewport,.m-story,.deck-stage) :is(.park-overlay p,.h-gallery-message p,.h-park-heading>p){font-family:var(--font-display,var(--font))}



/* --- Pase global (2026-09-11): los títulos nunca se cortan; se equilibran y pueden ir a 3 líneas --- */
h1,h2,h3,.t-display,.deck-card h2,.h-viewport h1,.h-viewport h2{text-wrap:balance;overflow-wrap:normal;max-width:100%}
.h-viewport h1{max-width:22ch;letter-spacing:-.03em;line-height:1.02}
.h-viewport h2{max-width:22ch;letter-spacing:-.025em;line-height:1.05}
.h-viewport h3{letter-spacing:-.01em;line-height:1.15}
.deck-card h2{max-width:20ch;letter-spacing:-.025em;line-height:1.06}
.park-overlay p,.h-park-heading>p{letter-spacing:-.03em;line-height:1.02;text-wrap:balance}
/* el mensaje de la galería es display (grande), como el resto de mensajes */
.h-gallery-message p{letter-spacing:-.03em;line-height:1.02;text-wrap:balance}
.lead,.h-lead{max-width:40ch;line-height:1.45;text-wrap:pretty}
:where(#main,.h-viewport,.m-story,.deck-stage) p:where(:not(.lead):not(.h-lead)){max-width:56ch;line-height:1.55}
/* los mensajes display son párrafos pero se leen como títulos: interlineado apretado y sin tope de ancho */
:is(#main,.h-viewport,.m-story,.deck-stage) :is(.park-overlay p,.h-gallery-message p,.h-park-heading>p){max-width:none;line-height:1.04}
:is(#main,.h-viewport,.m-story,.deck-stage) p.h-editorial-text{line-height:1.25}
.h-metrics strong,.stat strong,.deck-card__stats strong{letter-spacing:-.02em}

/* --- Deck v2 (deck.css): mismos roles que el recorrido --- */
.deck-card h1,.dk-statement,.dk-stats__row strong,.dk-person strong{font-weight:var(--fw-semibold)}
.deck-card h1{letter-spacing:-.025em;line-height:1.06;text-wrap:balance}
.dk-statement{text-wrap:balance}
.dk-stats__row strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.dk-table dt{font-weight:var(--fw-medium)}
.dk-kicker,.dk-folio{font-weight:var(--fw-medium);letter-spacing:var(--track-wide);text-transform:uppercase;line-height:1.2}
.dk-row p strong,.dk-note p strong{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}
.dk-spot span{font-weight:var(--fw-medium)}
/* Pregunta del cierre ("¿Buscas un espacio para tu marca?"): semibold en el recorrido y en el deck */
.h-viewport .h-contact .h-lead,.deck-card .dk-contact .lead{font-weight:var(--fw-semibold)}
