/* ══════════════════════════════════════════════════════════════════
   V5 · FASE 2 — hoja de otros

   /contacto, /presencia, /talento, /legal, la plantilla de /blog y
   las landings de geo/rubro. Molde: contact.html, careers.html,
   ideas.html y case-study-cointracker.html de hugeinc.com, con los
   tokens del sistema (styles.css, no se toca). Ningún color de marca
   escrito a mano: todo sale de las variables --theme-* del override.
   Regla que atraviesa todo: Navy 300 nunca sobre papel (NOTAS-V5 §2).
══════════════════════════════════════════════════════════════════ */

/* ── 0 · Genéricos reusados por varias páginas ── */
.contacto-hero{ padding-block: calc(var(--header-height) + var(--spacing-16)) var(--spacing-16); background:var(--theme-bg); color:var(--theme-text-primary); }
.contacto-hero__caja{ grid-column:content; max-width:min(90%,62ch); }
.medida-prose{ max-width:68ch; }
.medida-lead{ max-width:52ch; }
.t-secundario{ color:var(--theme-text-secondary); }
.cap{ text-wrap:balance; }

/* ── 1 · Formularios (contacto.html) ── */
.contact-form{ row-gap:var(--spacing-16); }
.contact-form__main{ grid-column:span 4; }
.contact-form__panel{ grid-column:span 4; }
@media (min-width:64rem){
  .contact-form__main{ grid-column:span 7; }
  .contact-form__panel{ grid-column:9 / span 4; }
}
.contact-form__toggle{ display:flex; gap:var(--spacing-5); margin-bottom:var(--spacing-5); border-bottom:1px solid var(--theme-border-subtle); }
.contact-form__toggle-btn{ padding-block:.75em; font-size:var(--text-body-large); font-weight:600; color:var(--theme-text-secondary); text-decoration:none; border-bottom:2px solid transparent; }
.contact-form__toggle-btn.is-activo,.contact-form__toggle-btn[aria-current]{ color:var(--theme-text-primary); border-color:var(--theme-cta); }
.contact-form__toggle-btn:hover{ color:var(--theme-text-primary); }
.contact-form__form{ display:flex; flex-direction:column; gap:var(--spacing-5); }
.contact-form__field{ display:flex; flex-direction:column; gap:.5em; }
.contact-form__label{ font-size:var(--text-body-small); color:var(--theme-text-secondary); }
.contact-form__input{
  width:100%; background:transparent; border:none; border-bottom:1px solid var(--theme-border-subtle);
  padding-block:.6em; font-size:var(--text-body-large); color:var(--theme-text-primary);
  transition:border-color .3s var(--ease-osmo);
}
.contact-form__input:focus-visible{ outline:none; border-color:var(--theme-cta); }
.contact-form__textarea{ resize:vertical; min-height:6em; }
select.contact-form__input{ appearance:none; cursor:pointer; }
.contact-form__submit{
  align-self:flex-start; margin-top:.5em; padding:.85em 2em; border-radius:999px;
  background:var(--theme-cta); color:var(--theme-text-inverse); font-weight:600; border:none; cursor:pointer;
  transition:opacity .3s var(--ease-osmo);
}
.contact-form__submit:hover{ opacity:.85; }
.contact-form__honeypot{ position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }
.contact-form__mensaje{ font-size:var(--text-body-small); color:var(--theme-cta); }
.contact-form__mensaje--error{ color:#a5342b; }
.contact-form__panel-heading{ margin-bottom:var(--spacing-5); }
.contacto-datos{ list-style:none; display:flex; flex-direction:column; gap:.75em; font-size:var(--text-body-small); }
.contacto-datos a{ color:inherit; text-decoration:underline; text-underline-offset:.2em; }
.contacto-datos__presencia{
  display:flex; flex-direction:column; gap:.35em; margin-top:var(--spacing-16);
  padding:var(--spacing-5); border:1px solid var(--theme-border-subtle); border-radius:var(--radius-8);
  text-decoration:none; color:inherit;
}
.contacto-datos__presencia svg{ margin-left:.35em; vertical-align:-2px; }

/* ── 2 · Talento ── */
.talento-grid{ row-gap:var(--spacing-16); }
.talento-intro{ grid-column:span 4; }
.talento-form{ grid-column:span 4; }
@media (min-width:64rem){
  .talento-intro{ grid-column:span 4; }
  .talento-form{ grid-column:6 / span 7; grid-row:1; }
}

/* ── 3 · Presencia: mapa ── */
.presencia-grid{ row-gap:var(--spacing-16); align-items:start; }
.presencia-mapa{ grid-column:span 4; position:relative; }
.presencia-panel{ grid-column:span 4; position:relative; min-height:12em; }
@media (min-width:64rem){
  .presencia-mapa{ grid-column:span 7; }
  .presencia-panel{ grid-column:9 / span 4; }
}
.presencia-mapa__svg{
  width:100%; height:auto; display:block; overflow:visible;
  transform-origin:50% 50%;
}
.mapa__pv{ fill:color-mix(in srgb, var(--theme-text-primary) 20%, transparent); stroke:var(--theme-bg); stroke-width:.35; cursor:default; outline:none; transition:fill .3s var(--ease-osmo); }
.presencia-mapa[data-con-cuenta] .mapa__pv{ cursor:pointer; }
.mapa__pv:hover,.mapa__pv:focus-visible{ fill:color-mix(in srgb, var(--theme-text-primary) 35%, transparent); }
.mapa__pv[aria-pressed="true"]{ fill:var(--theme-cta); }
/* las provincias con cuenta se listan en data-con-cuenta del contenedor; se pintan por id vía atributo */
.presencia-mapa__volver{
  position:absolute; top:0; right:0; padding:.5em 1em; border:1px solid var(--theme-border-subtle);
  border-radius:999px; background:var(--theme-bg); color:var(--theme-text-primary); cursor:pointer;
  font-size:var(--text-body-small);
}
.mapa-ficha{ display:flex; flex-direction:column; gap:.5em; }
.mapa-ficha__link{ color:var(--theme-cta); text-decoration:none; font-weight:600; }
.mapa-ficha__link svg{ margin-left:.35em; vertical-align:-2px; }
@media (max-width:56.25rem){
  .presencia-grid{ display:flex; flex-direction:column; }
  .presencia-mapa,.presencia-panel{ grid-column:auto; }
}

/* Pinta por id las provincias con cuenta: se marca vía JS con [aria-pressed]
   al hacer foco/click, pero el color base "con cuenta" (Navy 600 en vez de
   hairline) se aplica acá por id, tomado de PROVINCIAS_PANEL en data.js. */
#Ciudad_de_Buenos_Aires_AR,#Buenos_Aires_AR,#Córdoba_AR{ fill:var(--theme-cta); }
#Ciudad_de_Buenos_Aires_AR:hover,#Buenos_Aires_AR:hover,#Córdoba_AR:hover{ opacity:.85; }

/* ── 4 · Legal ── */
.legal-cuerpo{ padding-block: calc(var(--header-height) + var(--spacing-16)) var(--spacing-16); }
.legal-cuerpo__medida{ grid-column:content; max-width:64ch; display:flex; flex-direction:column; gap:1em; }
.legal-cuerpo__medida h2{ margin-top:1em; }

/* ── 5 · Blog índice y nota ── */
.blog-hero{ padding-block: calc(var(--header-height) + var(--spacing-16)) var(--spacing-16); background:var(--theme-bg); color:var(--theme-text-primary); }
.blog-hero__caja{ grid-column:content; max-width:min(90%,62ch); }
.blog-destacada__caja{ text-decoration:none; color:inherit; row-gap:var(--spacing-5); }
.blog-destacada__medio{ grid-column:span 4; aspect-ratio:21/9; overflow:hidden; border-radius:var(--radius-8); display:block; }
.blog-destacada__medio img{ width:100%; height:100%; object-fit:cover; }
.blog-destacada__texto{ grid-column:span 4; display:flex; flex-direction:column; gap:.5em; }
@media (min-width:64rem){ .blog-destacada__medio,.blog-destacada__texto{ grid-column:span 12; } }
.blog-destacada__titulo{ font-size:var(--text-h1); line-height:var(--lh-h1); letter-spacing:var(--ls-h1); font-weight:600; }
.blog-filtro{ display:flex; flex-wrap:wrap; gap:.5em; margin-bottom:var(--spacing-5); }
.blog-filtro__pastilla{
  padding:.5em 1.1em; border-radius:999px; border:1px solid var(--theme-border-subtle); background:transparent;
  color:var(--theme-text-secondary); font-size:var(--text-body-small); cursor:pointer; transition:all .3s var(--ease-osmo);
}
.blog-filtro__pastilla.is-activa{ background:var(--theme-cta); border-color:var(--theme-cta); color:var(--theme-text-inverse); }
.blog-lista{ list-style:none; row-gap:var(--spacing-16); }
.blog-tarjeta__item{ grid-column:span 4; }
@media (min-width:64rem){ .blog-tarjeta__item{ grid-column:span 4; } }
.blog-tarjeta{ display:flex; flex-direction:column; gap:.85em; text-decoration:none; color:inherit; }
.blog-tarjeta__medio{ aspect-ratio:4/3; overflow:hidden; border-radius:var(--radius-8); display:block; }
.blog-tarjeta__medio img{ width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease-out); }
.blog-tarjeta:hover .blog-tarjeta__medio img{ transform:scale(1.04); }
.blog-tarjeta__texto{ display:flex; flex-direction:column; gap:.35em; }
.blog-tarjeta__rotulo{ font-size:var(--text-body-small); color:var(--theme-text-secondary); }
.blog-tarjeta__titulo{ font-size:var(--text-h3); line-height:1.15; font-weight:600; }
.blog-lista__vacio{ grid-column:content; }

.nota-hero{ padding-block: calc(var(--header-height) + var(--spacing-16)) var(--spacing-8); }
.nota-hero__caja{ grid-column:content; max-width:min(90%,68ch); display:flex; flex-direction:column; gap:var(--spacing-5); }
.nota-hero__rotulo{ font-size:var(--text-body-small); }
.nota-cuerpo__medida{ grid-column:content; }
.nota-cuerpo__medida h2{ margin-top:1.5em; font-size:var(--text-h3); font-weight:600; }
.nota-cuerpo__medida p{ margin-top:1em; }

/* ── 6 · Landings geo/rubro ── */
.landing-hero{ position:relative; min-height:70svh; align-items:flex-end; padding-top:calc(var(--header-height) + var(--spacing-16)); padding-bottom:var(--spacing-16); overflow:clip; }
.landing-hero__medio{ position:absolute; inset:0; z-index:-2; }
.landing-hero__medio img{ width:100%; height:100%; object-fit:cover; }
.landing-hero__velo{ position:absolute; inset:0; background:rgba(0,0,0,.6); }
.landing-hero__caja{ position:relative; z-index:1; grid-column:content; max-width:min(90%,58ch); color:var(--papel,#F7F5F0); }
.landing-hero__rotulo{ color:var(--hueso,#EFEDE7); }
.landing-hero__titulo{ font-size:var(--text-h1); line-height:var(--lh-h1); letter-spacing:var(--ls-h1); font-weight:600; }
.landing-hero__bajada{ margin-top:var(--spacing-5); color:var(--hueso,#EFEDE7); }
.landing-intro__experiencia{ grid-column:content; margin-bottom:var(--spacing-5); }
.landing-seccion{ padding-block:var(--spacing-8); border-top:1px solid var(--theme-border-subtle); row-gap:var(--spacing-5); }
.landing-seccion:first-child{ border-top:none; }
.landing-seccion__rotulo{ grid-column:span 4; }
.landing-seccion__cuerpo{ grid-column:span 4; display:flex; flex-direction:column; gap:1em; }
@media (min-width:64rem){
  .landing-seccion__rotulo{ grid-column:span 3; }
  .landing-seccion__cuerpo{ grid-column:4 / span 7; }
}
.landing-seccion__lista{ padding-left:1.2em; }
.landing-cuentas__caja{ grid-column:content; display:flex; flex-direction:column; gap:.75em; align-items:flex-start; }
.landing-cuentas__link{ color:var(--theme-cta); font-weight:600; text-decoration:none; }
.landing-modulos__lista{ list-style:none; row-gap:var(--spacing-5); margin-top:var(--spacing-5); }
.landing-modulos__item{ grid-column:span 2; }
@media (min-width:64rem){ .landing-modulos__item{ grid-column:span 2.4; } }
.landing-modulos__link{ display:flex; flex-direction:column; gap:.35em; padding:var(--spacing-5); border:1px solid var(--theme-border-subtle); border-radius:var(--radius-8); text-decoration:none; color:inherit; height:100%; }
.landing-faq__item{ padding-block:var(--spacing-5); border-top:1px solid var(--theme-border-subtle); row-gap:.5em; }
.landing-faq__pregunta{ grid-column:span 4; }
.landing-faq__respuesta{ grid-column:span 4; }
@media (min-width:64rem){
  .landing-faq__pregunta{ grid-column:span 4; }
  .landing-faq__respuesta{ grid-column:5 / span 7; }
}

/* ── 7 · Índices /provincias y /rubros (molde work.html) ── */
.indice-lista{ list-style:none; row-gap:var(--spacing-5); }
.indice-tarjeta__item{ grid-column:span 4; }
@media (min-width:64rem){ .indice-tarjeta__item{ grid-column:span 4; } }
.indice-tarjeta{ display:flex; flex-direction:column; gap:.75em; text-decoration:none; color:inherit; }
.indice-tarjeta__medio{ aspect-ratio:4/3; overflow:hidden; border-radius:var(--radius-8); display:block; }
.indice-tarjeta__medio img{ width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease-out); }
.indice-tarjeta:hover .indice-tarjeta__medio img{ transform:scale(1.04); }
.indice-tarjeta__texto{ display:flex; flex-direction:column; gap:.25em; }
.indice-tarjeta__nombre{ font-size:var(--text-h3); font-weight:600; }

/* ── 8 · Reducido de movimiento ── */
@media (prefers-reduced-motion:reduce){
  .presencia-mapa__svg,.mapa__pv,.blog-tarjeta__medio img,.indice-tarjeta__medio img{ transition:none; }
}
