/* ============================================================
   ICAMDD V29.3 — directiva balanceada, responsive compacto y formularios pulidos
   Capa de corrección cargada después de icamdd-v28-4.css.
   ============================================================ */

.icamdd-v29-1{
  --v291-green:#07594d;
  --v291-green-dark:#043f37;
  --v291-gold:#c6a252;
  --v291-border:rgba(4,63,55,.13);
  --v291-shadow:0 18px 44px rgba(3,47,41,.10);
}

.icamdd-v29-1 :where(a,button,input,select,textarea,summary){
  -webkit-tap-highlight-color:transparent;
}

.icamdd-v29-1 :where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid #dec36f;
  outline-offset:3px;
}

/* El contenido nunca depende de JavaScript para ser visible. Se conservan
   los estados hover y el slider, pero se evita cualquier bloque en blanco si
   IntersectionObserver tarda o no está disponible en un móvil. */
.icamdd-v29-1 .v25-reveal{
  opacity:1!important;
  transform:none!important;
}

/* Encabezado más legible, sin perder el carácter institucional. */
.icamdd-v29-1 .v25-utility__inner{font-size:.75rem}
.icamdd-v29-1 .v25-utility a{min-height:2rem}
.icamdd-v29-1 .v25-nav{gap:1.15rem}
.icamdd-v29-1 .v25-nav>a,
.icamdd-v29-1 .v25-menu>summary{font-size:.82rem}
.icamdd-v29-1 .v25-nav-cta{padding:.78rem 1.12rem!important}

/* Botones: tamaño táctil, contraste y estados consistentes. */
.icamdd-v29-1 .v25-btn{
  min-height:3.2rem;
  padding:.78rem 1.25rem;
  font-size:.9rem;
  letter-spacing:.005em;
}
.icamdd-v29-1 .v25-btn--outline{border-width:1.5px;background:#fff}
.icamdd-v29-1 .v25-btn--green{background:linear-gradient(135deg,#064b41,#087060)}
.icamdd-v29-1 .v25-btn--green:hover{background:linear-gradient(135deg,#07594d,#09806d)}

/* Directorio: menos columnas, mejor jerarquía y avatar institucional. */
.icamdd-v29-1 .v29-board-groups{gap:2.75rem}
.icamdd-v29-1 .v29-board-group{
  padding:1.15rem;
  border:1px solid rgba(4,63,55,.08);
  border-radius:1.35rem;
  background:rgba(255,255,255,.48);
}
.icamdd-v29-1 .v29-board-group__head{margin-bottom:1.15rem}
.icamdd-v29-1 .v29-board-group__head h3{font-size:1.62rem}
.icamdd-v29-1 .v29-board-group__head small{font-size:.75rem}
.icamdd-v29-1 .v29-board-group .v25-board-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
}
.icamdd-v29-1 .v29-board-group:last-child .v25-board-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:51rem;
}
.icamdd-v29-1 .v291-board-card{
  position:relative;
  border-color:var(--v291-border);
  border-radius:1.05rem;
  box-shadow:0 10px 28px rgba(4,54,47,.065);
}
.icamdd-v29-1 .v291-board-card::before{
  content:"";
  position:absolute;
  z-index:2;
  top:0;
  left:1.15rem;
  right:1.15rem;
  height:3px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,transparent,var(--v291-gold),transparent);
}
.icamdd-v29-1 .v291-board-card:hover{
  transform:translateY(-4px);
  border-color:rgba(170,128,37,.32);
  box-shadow:var(--v291-shadow);
}
.icamdd-v29-1 .v291-board-card .v25-board-card__photo{height:9.6rem}
.icamdd-v29-1 .v291-board-card .v25-board-card__body{padding:1rem 1rem 1.15rem}
.icamdd-v29-1 .v291-board-card .v25-board-card__body>span{
  min-height:2.25rem;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#876625;
  font-size:.72rem;
  line-height:1.4;
}
.icamdd-v29-1 .v291-board-card .v25-board-card__body h4{
  margin:.48rem 0 .35rem;
  color:#063d35;
  font-size:1.02rem;
  line-height:1.28;
  text-wrap:balance;
}
.icamdd-v29-1 .v291-board-card .v25-board-card__body small{font-size:.75rem}
.icamdd-v29-1 .v291-board-avatar{
  position:relative;
  isolation:isolate;
  display:grid;
  place-content:center;
  justify-items:center;
  width:100%;
  height:100%;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 25%,rgba(224,199,126,.34),transparent 30%),
    linear-gradient(145deg,#f8f5ed,#e6ede8);
  color:var(--v291-green-dark);
}
.icamdd-v29-1 .v291-board-avatar::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:6.35rem;
  height:6.35rem;
  border:1px solid rgba(150,111,34,.27);
  border-radius:50%;
  box-shadow:inset 0 0 0 .45rem rgba(255,255,255,.46);
}
.icamdd-v29-1 .v291-board-avatar span{
  font-family:var(--v25-serif);
  font-size:2rem;
  font-weight:600;
  letter-spacing:.06em;
}
.icamdd-v29-1 .v291-board-avatar small{
  margin-top:.1rem;
  color:#866725;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.15em;
}

/* Contacto y Mesa de Partes: lectura cómoda y controles claros. */
.icamdd-v29-1 #formulario{scroll-margin-top:6.5rem}
.icamdd-v29-1 .v25-contact-channels{padding:1.2rem 0}
.icamdd-v29-1 .v25-contact-channels__grid>a{
  min-height:6.2rem;
  padding:1.1rem;
  border-color:var(--v291-border);
  background:linear-gradient(145deg,#fff,#f5f1e8);
  box-shadow:0 8px 22px rgba(4,54,47,.045);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.icamdd-v29-1 .v25-contact-channels__grid>a:hover{
  transform:translateY(-2px);
  border-color:rgba(166,124,34,.35);
  box-shadow:0 14px 30px rgba(4,54,47,.08);
}
.icamdd-v29-1 .v25-contact-channels small,
.icamdd-v29-1 .v25-contact-channels em{font-size:.75rem}
.icamdd-v29-1 .v25-contact-channels strong{
  font-size:.9rem;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.icamdd-v29-1 .v25-contact-layout{
  grid-template-columns:minmax(17rem,.76fr) minmax(0,1.24fr);
  gap:2.4rem;
}
.icamdd-v29-1 .v25-contact-intro h2,
.icamdd-v29-1 .v25-tool-card h2,
.icamdd-v29-1 .v25-info-card h2{font-size:clamp(2rem,3vw,2.65rem)}
.icamdd-v29-1 .v25-contact-intro>p,
.icamdd-v29-1 .v25-tool-card>p,
.icamdd-v29-1 .v25-info-card>p{font-size:1rem;line-height:1.7}
.icamdd-v29-1 .v25-contact-note,
.icamdd-v29-1 .v25-help{padding:1.05rem 1.1rem;border:1px solid rgba(4,63,55,.08)}
.icamdd-v29-1 .v25-contact-note p,
.icamdd-v29-1 .v25-help p{font-size:.86rem;line-height:1.6}
.icamdd-v29-1 .v25-contact-intro dt{font-size:.75rem}
.icamdd-v29-1 .v25-contact-intro dd{font-size:.95rem;line-height:1.55}
.icamdd-v29-1 .v25-form-card,
.icamdd-v29-1 .v25-tool-card,
.icamdd-v29-1 .v25-info-card{
  padding:1.75rem;
  border-color:var(--v291-border);
  box-shadow:var(--v291-shadow);
}
.icamdd-v29-1 .v25-form-grid{gap:1.05rem}
.icamdd-v29-1 .v25-form label>span,
.icamdd-v29-1 .v25-form-card label>span,
.icamdd-v29-1 .v25-lookup-form label>span{
  font-size:.84rem;
  line-height:1.45;
}
.icamdd-v29-1 .v25-form input,
.icamdd-v29-1 .v25-form textarea,
.icamdd-v29-1 .v25-form select,
.icamdd-v29-1 .v25-form-card input,
.icamdd-v29-1 .v25-form-card textarea,
.icamdd-v29-1 .v25-form-card select,
.icamdd-v29-1 .v25-lookup-form input{
  min-height:3.25rem;
  padding:.82rem .95rem;
  border-color:#ccd9d5;
  border-radius:.8rem;
  font-size:1rem;
}
.icamdd-v29-1 .v25-form textarea,
.icamdd-v29-1 .v25-form-card textarea{min-height:9rem;line-height:1.55}
.icamdd-v29-1 .v25-check{gap:.75rem!important;align-items:start}
.icamdd-v29-1 .v25-check input{
  width:1.2rem!important;
  height:1.2rem!important;
  min-height:0!important;
  margin-top:.15rem;
  accent-color:var(--v291-green);
}
.icamdd-v29-1 .v25-check span{font-size:.84rem!important;font-weight:700!important}
.icamdd-v29-1 .v25-file small,
.icamdd-v29-1 [data-character-count]{font-size:.75rem}
.icamdd-v29-1 .v25-alert{font-size:.86rem;line-height:1.55}

@media(max-width:1120px){
  .icamdd-v29-1 .v29-board-group .v25-board-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .icamdd-v29-1 .v29-board-group:last-child .v25-board-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:920px){
  .icamdd-v29-1 .v25-navbar{min-height:5.1rem}
  .icamdd-v29-1 .v25-nav{
    top:7.55rem;
    left:.8rem;
    right:.8rem;
    gap:.2rem;
    padding:.8rem;
    border-radius:1.05rem;
  }
  .icamdd-v29-1 .v25-header.is-scrolled .v25-nav{top:5.55rem}
  .icamdd-v29-1 .v25-nav>a,
  .icamdd-v29-1 .v25-menu>summary{
    display:flex;
    align-items:center;
    min-height:3rem;
    padding:.72rem .8rem;
    border-radius:.7rem;
    font-size:.9rem;
  }
  .icamdd-v29-1 .v25-nav>a:hover,
  .icamdd-v29-1 .v25-menu>summary:hover{background:#f5f1e9}
  .icamdd-v29-1 .v25-nav-cta{justify-content:center;margin-top:.35rem}
  .icamdd-v29-1 .v25-menu__panel a{min-height:3.15rem}
  .icamdd-v29-1 .v25-menu__panel b{font-size:.82rem}
  .icamdd-v29-1 .v25-menu__panel small{font-size:.75rem}
  .icamdd-v29-1 .v25-contact-layout,
  .icamdd-v29-1 .v25-tool-grid{grid-template-columns:1fr;gap:1.3rem}
  .icamdd-v29-1 .v25-contact-channels__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .icamdd-v29-1 .v25-contact-channels__grid>a:last-child{grid-column:1/-1}
  .icamdd-v29-1 .v29-board-group .v25-board-grid,
  .icamdd-v29-1 .v29-board-group:last-child .v25-board-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:none;
  }
}

@media(max-width:650px){
  .icamdd-v29-1{--v25-shell:min(100% - 1rem,88rem)}
  .icamdd-v29-1 .v25-utility__inner{min-height:2.55rem;font-size:.72rem}
  .icamdd-v29-1 .v25-utility__inner>div{gap:.3rem .6rem}
  .icamdd-v29-1 .v29-utility-phone,
  .icamdd-v29-1 .v29-utility-email{min-height:2.55rem}
  .icamdd-v29-1 .v29-utility-email{max-width:100%}
  .icamdd-v29-1 .v25-navbar{min-height:4.8rem;gap:.75rem}
  .icamdd-v29-1 .v25-brand{min-width:0;gap:.65rem}
  .icamdd-v29-1 .v25-brand img{width:3rem;height:3rem}
  .icamdd-v29-1 .v25-brand strong{font-size:1.35rem}
  .icamdd-v29-1 .v25-brand small{font-size:.68rem;letter-spacing:.1em;line-height:1.3}
  .icamdd-v29-1 .v25-nav-toggle{flex:0 0 3rem;width:3rem;height:3rem}
  .icamdd-v29-1 .v25-nav{top:7.7rem;max-height:calc(100dvh - 8.2rem)}
  .icamdd-v29-1 .v25-header.is-scrolled .v25-nav{top:5.2rem;max-height:calc(100dvh - 5.7rem)}
  .icamdd-v29-1 .v25-page-hero{min-height:16.5rem}
  .icamdd-v29-1 .v25-page-hero__inner{padding-block:2.7rem}
  .icamdd-v29-1 .v25-page-hero h1{font-size:clamp(2.35rem,12vw,3.15rem)}
  .icamdd-v29-1 .v25-page-hero p{font-size:.96rem;line-height:1.6}
  .icamdd-v29-1 .v25-hero__panel{padding:1.15rem 1rem}
  .icamdd-v29-1 .v25-hero__copy h1{max-width:14ch;font-size:clamp(2rem,9.6vw,2.7rem);line-height:1.02}
  .icamdd-v29-1 .v25-hero__copy p{font-size:.84rem;line-height:1.55}
  .icamdd-v29-1 .v25-section,
  .icamdd-v29-1 .v25-board,
  .icamdd-v29-1 .v25-services-home{padding-block:2.8rem}
  .icamdd-v29-1 .v25-section-head h2{font-size:2rem}
  .icamdd-v29-1 .v25-contact-channels{padding:.75rem 0}
  .icamdd-v29-1 .v25-contact-channels__grid{grid-template-columns:1fr;gap:.65rem}
  .icamdd-v29-1 .v25-contact-channels__grid>a:last-child{grid-column:auto}
  .icamdd-v29-1 .v25-contact-channels__grid>a{min-height:5.35rem;padding:.9rem}
  .icamdd-v29-1 .v25-contact-layout,
  .icamdd-v29-1 .v25-tool-grid{gap:1rem}
  .icamdd-v29-1 .v25-form-card,
  .icamdd-v29-1 .v25-tool-card,
  .icamdd-v29-1 .v25-info-card{padding:1.05rem;border-radius:1rem}
  .icamdd-v29-1 .v25-form-grid{grid-template-columns:1fr;gap:.9rem}
  .icamdd-v29-1 .v25-field-full{grid-column:auto}
  .icamdd-v29-1 .v25-form input,
  .icamdd-v29-1 .v25-form textarea,
  .icamdd-v29-1 .v25-form select,
  .icamdd-v29-1 .v25-form-card input,
  .icamdd-v29-1 .v25-form-card textarea,
  .icamdd-v29-1 .v25-form-card select{font-size:1rem}
  .icamdd-v29-1 .v25-btn{width:100%;min-height:3.35rem}
  .icamdd-v29-1 .v29-board-groups{gap:1.25rem}
  .icamdd-v29-1 .v29-board-group{padding:.8rem;border-radius:1rem}
  .icamdd-v29-1 .v29-board-group__head{grid-template-columns:auto 1fr;margin-bottom:.8rem}
  .icamdd-v29-1 .v29-board-group__head h3{font-size:1.32rem}
  .icamdd-v29-1 .v29-board-group__head small{font-size:.7rem}
  .icamdd-v29-1 .v29-board-group .v25-board-grid,
  .icamdd-v29-1 .v29-board-group:last-child .v25-board-grid{grid-template-columns:1fr;gap:.7rem}
  .icamdd-v29-1 .v291-board-card{
    display:grid;
    grid-template-columns:5.8rem minmax(0,1fr);
    min-height:7.1rem;
  }
  .icamdd-v29-1 .v291-board-card::before{left:6.25rem;right:1rem}
  .icamdd-v29-1 .v291-board-card .v25-board-card__photo{height:100%;min-height:7.1rem}
  .icamdd-v29-1 .v291-board-card .v25-board-card__body{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:.8rem .9rem;
    text-align:left;
  }
  .icamdd-v29-1 .v291-board-card .v25-board-card__body>span{
    min-height:0;
    justify-content:flex-start;
    font-size:.68rem;
  }
  .icamdd-v29-1 .v291-board-card .v25-board-card__body h4{font-size:.96rem;text-wrap:pretty}
  .icamdd-v29-1 .v291-board-avatar::before{width:4.4rem;height:4.4rem}
  .icamdd-v29-1 .v291-board-avatar span{font-size:1.45rem}
  .icamdd-v29-1 .v291-board-avatar small{font-size:.56rem}
  .icamdd-v29-1 .v25-footer__grid{gap:1.6rem;padding-top:2.5rem}
  .icamdd-v29-1 .v25-footer section>a,
  .icamdd-v29-1 .v25-footer address{font-size:.85rem}
}

@media(max-width:390px){
  .icamdd-v29-1{--v25-shell:min(100% - .8rem,88rem)}
  .icamdd-v29-1 .v25-brand small{display:none}
  .icamdd-v29-1 .v25-brand strong{font-size:1.42rem}
  .icamdd-v29-1 .v29-utility-phone{font-size:.68rem}
  .icamdd-v29-1 .v29-utility-email{font-size:.65rem}
  .icamdd-v29-1 .v25-page-hero h1{font-size:2.3rem}
  .icamdd-v29-1 .v291-board-card{grid-template-columns:5.15rem minmax(0,1fr)}
  .icamdd-v29-1 .v291-board-card::before{left:5.6rem}
  .icamdd-v29-1 .v25-check span{font-size:.8rem!important}
}

@media(prefers-reduced-motion:reduce){
  .icamdd-v29-1 *,
  .icamdd-v29-1 *::before,
  .icamdd-v29-1 *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
}


/* ============================================================
   V29.3 — correcciones visuales solicitadas 03/09/2026
   - filas de autoridades equilibradas y centradas;
   - footer móvil compacto sin una columna larga de espacio vacío;
   - checkbox/botón de formularios con separación táctil estable.
   ============================================================ */

/* En escritorio el último renglón ya no queda pegado a la izquierda.
   Flex permite centrar naturalmente 4 + 3 integrantes y también 3 fiscales. */
@media (min-width:921px){
  .icamdd-v29-1 .v29-board-group .v25-board-grid,
  .icamdd-v29-1 .v29-board-group:last-child .v25-board-grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:stretch;
    gap:1rem;
    max-width:none;
    margin-inline:auto;
  }
  .icamdd-v29-1 .v29-board-group .v291-board-card{
    flex:0 1 calc((100% - 3rem)/4);
    width:calc((100% - 3rem)/4);
    min-width:14.5rem;
    max-width:22rem;
  }
}

@media (min-width:921px) and (max-width:1120px){
  .icamdd-v29-1 .v29-board-group .v291-board-card{
    flex-basis:calc((100% - 2rem)/3);
    width:calc((100% - 2rem)/3);
  }
}

/* El formulario conserva respiración entre consentimiento y CTA y nunca
   permite que el botón toque o desborde el borde de la tarjeta. */
.icamdd-v29-1 .v25-form-card form[data-safe-submit] > .v25-btn,
.icamdd-v29-1 .v25-tool-card form[data-safe-submit] > .v25-btn{
  box-sizing:border-box;
  margin-top:1rem;
}
.icamdd-v29-1 .v25-check{
  min-width:0;
  padding:.15rem 0 .05rem;
}
.icamdd-v29-1 .v25-check span{
  min-width:0;
  overflow-wrap:anywhere;
}

@media(max-width:650px){
  /* Footer compacto: marca y contacto a todo el ancho; Institución y
     Servicios se aprovechan en dos columnas para reducir la altura visual. */
  .icamdd-v29-1 .v25-footer__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:1rem;
    row-gap:1.35rem;
    padding:2rem 0 1.45rem;
  }
  .icamdd-v29-1 .v25-footer__brand,
  .icamdd-v29-1 .v25-footer__contact{
    grid-column:1/-1;
  }
  .icamdd-v29-1 .v25-footer__brand p{
    max-width:100%;
    margin-bottom:0;
    line-height:1.55;
  }
  .icamdd-v29-1 .v25-footer section:not(.v25-footer__brand){
    gap:.42rem;
  }
  .icamdd-v29-1 .v25-footer h2{
    margin-bottom:.35rem;
    font-size:.83rem;
  }
  .icamdd-v29-1 .v25-footer section>a,
  .icamdd-v29-1 .v25-footer address{
    line-height:1.45;
    overflow-wrap:anywhere;
  }
  .icamdd-v29-1 .v25-footer__contact{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:start;
    column-gap:.75rem;
    row-gap:.42rem;
    padding-top:.15rem;
    border-top:1px solid rgba(255,255,255,.09);
  }
  .icamdd-v29-1 .v25-footer__contact h2{
    grid-column:1/-1;
    margin-top:.9rem;
  }
  .icamdd-v29-1 .v25-footer__contact span{
    padding-top:.12rem;
    white-space:nowrap;
  }
  .icamdd-v29-1 .v25-footer__contact address{
    margin:0;
  }
  .icamdd-v29-1 .v25-footer__bottom{
    gap:.55rem;
    padding:.85rem 0 1.1rem;
  }
  .icamdd-v29-1 .v25-form-card form[data-safe-submit] > .v25-btn,
  .icamdd-v29-1 .v25-tool-card form[data-safe-submit] > .v25-btn{
    margin-top:1.05rem;
  }
  .icamdd-v29-1 .v25-check{
    grid-template-columns:1.35rem minmax(0,1fr)!important;
    gap:.7rem!important;
    padding:.25rem 0;
  }
  .icamdd-v29-1 .v25-check input{
    margin:.1rem 0 0!important;
  }
}

@media(max-width:340px){
  .icamdd-v29-1 .v25-footer__grid{grid-template-columns:1fr}
  .icamdd-v29-1 .v25-footer__brand,
  .icamdd-v29-1 .v25-footer__contact{grid-column:auto}
}
