@font-face{font-family:Gotham;src:url('assets/fonts/gothamrnd_book.otf')}@font-face{font-family:Gotham;src:url('assets/fonts/gothamrnd_bold.otf');font-weight:700}
:root{font-family:Gotham,'Segoe UI',sans-serif;color:#283c4c;background:#faf9f6;font-synthesis:none;line-height:1.6}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b31568;outline-offset:4px}.skip{position:absolute;left:16px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:16px}.hero{text-align:center;background:white;border-bottom:1px solid #f1e6eb;padding:24px 24px 30px}.hero>a{display:block;max-width:710px;margin:auto}.hero img{width:100%;height:auto;display:block}.hero p{margin:-9px 0 0;font-size:14px;color:#697477;letter-spacing:.035em}main{width:min(1100px,calc(100% - 48px));margin:auto}.intro{text-align:center;padding:48px 0 30px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;color:#a43c71}h1{font-size:clamp(25px,3vw,36px);line-height:1.3;letter-spacing:-.045em;margin:12px 0}p{margin:0}.intro>p{color:#6a747a;font-size:14px}.catalog-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:8px 0 45px}.catalog-link{text-decoration:none;background:white;border:1px solid #e5e4df;border-radius:15px;padding:22px;display:flex;flex-direction:column;transition:transform .2s,border-color .2s;min-height:192px}.catalog-link:hover{transform:translateY(-4px);border-color:#ec238c}.catalog-link.active{background:#fff5fa;border-color:#ed238f;box-shadow:0 3px 0 #ed238f}.nav-icon{background:#f8edf2;color:#c72478;width:43px;height:43px;border-radius:12px;display:grid;place-items:center}.nav-icon svg{width:25px;height:25px}.nav-title{font-size:15px;font-weight:700;line-height:1.4;margin:17px 0 20px}.nav-bottom{font-size:10px;color:#8b526e;display:flex;justify-content:space-between;margin-top:auto}.nav-bottom>span{font-size:16px}.catalog{scroll-margin-top:20px}.catalog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}h2{font-size:25px;line-height:1.3;margin:8px 0}.catalog-heading p{font-size:13px;color:#758086}.catalog-mark{font-size:44px;color:#ed238f;font-weight:300}form{display:grid;grid-template-columns:1fr 1.7fr auto;align-items:end;gap:20px;background:white;padding:23px;border:1px solid #e7e5e1;border-radius:13px}label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700}input,select{border:1px solid #dedfdf;border-radius:7px;background:white;padding:12px;width:100%;min-width:0;font-size:13px;color:#34454f;min-height:47px}input::placeholder{color:#7d8589}.clear{border:0;background:#f5f1f3;color:#8d3862;border-radius:7px;min-height:47px;padding:12px 17px;cursor:pointer;font-size:12px}.clear:hover{background:#f9deeb}.result-info{display:flex;justify-content:space-between;gap:16px;padding:20px 1px;font-size:11px;color:#7d8589}.result-info p{color:#475b66;font-weight:700}.results{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}.result-card{overflow:hidden;background:white;border-radius:13px;border:1px solid #e8e5df}.card-art{height:152px;background:#efe7df;display:flex;align-items:center;justify-content:center;position:relative;color:#a88b72}.card-art:before,.card-art:after{content:'';position:absolute;width:120px;height:120px;border:1px solid currentColor;opacity:.18;border-radius:50%;transform:translate(90px,35px)}.card-art:after{transform:translate(-100px,-60px);width:180px;height:180px}.card-art svg{width:66px;height:66px;stroke-width:1}.card-art>span{position:absolute;left:16px;bottom:12px;font-size:8px;letter-spacing:.14em}.result-card:nth-child(2) .card-art{background:#e6ece4;color:#7b977a}.result-card:nth-child(3) .card-art{background:#f0e4e9;color:#b9869b}.card-content{padding:21px}.category{font-size:10px;color:#b12870}h3{font-size:17px;line-height:1.4;margin:8px 0}.card-description{font-size:12px;color:#748087;min-height:40px}.location{font-size:11px;color:#596e75;border-top:1px solid #eee;padding-top:13px;margin-top:18px}.empty{grid-column:1/-1;text-align:center;padding:50px;background:white;border-radius:12px}.empty p{font-size:13px}.local-note{margin:45px 0;display:flex;align-items:center;justify-content:center;gap:20px;background:#f4f0eb;padding:26px;border-radius:12px}.local-note>span{font-size:40px;color:#bc678e}.local-note h2{font-size:17px;margin:0 0 6px}.local-note p{font-size:12px;color:#7a7d7b}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media(max-width:800px){.catalog-nav{grid-template-columns:repeat(2,1fr)}.results{grid-template-columns:repeat(2,1fr)}form{grid-template-columns:1fr 1fr}.clear{grid-column:1/-1}.catalog-link{min-height:180px}}@media(max-width:520px){main{width:calc(100% - 32px)}.hero{padding:20px 16px 25px}.hero p{font-size:10px;margin:0}.intro{padding-top:30px}.intro>p{font-size:12px}.catalog-nav{gap:10px;margin-bottom:32px}.catalog-link{padding:16px;min-height:180px}.nav-title{font-size:13px}.nav-bottom{font-size:9px}.catalog-heading h2{font-size:23px}.catalog-mark{display:none}form{grid-template-columns:1fr;padding:18px;gap:15px}.results{grid-template-columns:1fr}.result-info{font-size:10px;flex-wrap:wrap;gap:4px}.local-note{align-items:flex-start;padding:20px;gap:13px}.local-note h2{font-size:15px}.local-note p{font-size:11px}}

.site-footer {
  margin-top: auto;
  background: linear-gradient(135deg, #0b3a70, #0a2f5a);
  color: #eaf2ff;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.site-footer__content {
  width: min(1100px, 100% - 2rem);
  margin: 0 auto;
  padding: 1.5rem 0;
  display: grid;
  grid-template-columns: minmax(170px, 1fr) minmax(220px, 1.1fr) minmax(
      260px,
      1.2fr
    );
  gap: 1.4rem;
  align-items: start;
}

.site-footer__brand,
.site-footer__institutional {
  padding: 0.2rem 0;
}

.site-footer__brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.6rem;
}

.site-footer__logo-link {
  min-height: 112px;
  display: flex;
  align-items: center;
}

.site-footer__logo {
  width: min(150px, 100%);
  height: auto;
  margin-bottom: 0;
  margin-left: 0;
}

.site-footer__brand--secretaria .site-footer__logo {
  width: min(250px, 100%);
}

.site-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  min-height: 2rem;
}

.site-footer__social a {
  width: 2rem;
  height: 2rem;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.12);
}

.site-footer__social a svg {
  width: 1rem;
  height: 1rem;
  fill: currentColor;
}

.site-footer__institutional h4 {
  margin: 0 0 0.7rem;
}

.site-footer__social a:hover {
  background: rgba(255, 255, 255, 0.22);
}

.site-footer__text {
  margin: 0 0 0.45rem;
  color: rgba(237, 244, 255, 0.92);
}

.site-footer__text--strong {
  color: #ffffff;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.site-footer__text--row {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
}

.site-footer__text--row svg {
  width: 1rem;
  height: 1rem;
  fill: #b8d4ff;
  margin-top: 0.15rem;
  flex-shrink: 0;
}

.site-footer__text--meta {
  margin-top: 0.8rem;
  color: rgba(214, 229, 255, 0.9);
  font-size: 0.9rem;
}


@media(max-width:980px){.site-footer__content{grid-template-columns:1fr 1fr}.site-footer__institutional{grid-column:1/-1}}@media(max-width:760px){.site-footer__content{grid-template-columns:1fr}}.program-intro{display:grid;grid-template-columns:1fr 1.5fr;gap:48px;padding:40px 0;border-bottom:1px solid #e7e1dd;align-items:start}.program-intro h1{font-size:clamp(25px,3vw,34px);margin-bottom:0}.program-description{font-size:14px;color:#68767e;line-height:1.85}.program-description p+p{margin-top:12px}.intro h2{font-size:clamp(25px,3vw,36px);letter-spacing:-.045em;margin:12px 0}@media(max-width:640px){.program-intro{grid-template-columns:1fr;gap:18px;padding:28px 0}.program-description{font-size:13px}}

/* Cabecera con los colores de la identidad del programa. */
.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(115deg, #f9d8e9 0%, #fff0f7 50%, #f7cde3 100%);
  border-bottom: 4px solid #ed238f;
}
.hero::before,
.hero::after {
  content: '';
  position: absolute;
  z-index: -1;
  width: clamp(180px, 28vw, 370px);
  aspect-ratio: 1;
  border: 1px solid rgba(202, 43, 125, .16);
  border-radius: 50%;
  pointer-events: none;
}
.hero::before { left: -8%; top: -55%; box-shadow: 0 0 0 35px rgba(237, 35, 143, .035), 0 0 0 70px rgba(237, 35, 143, .025); }
.hero::after { right: -9%; bottom: -75%; box-shadow: 0 0 0 45px rgba(237, 35, 143, .04), 0 0 0 90px rgba(237, 35, 143, .025); }
.hero img { mix-blend-mode: multiply; }
.hero p { color: #854264; }
.record-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;z-index:1}.art-comercios .record-image{object-fit:cover}.detail-button{border:1px solid #e8c6d8;background:#fff4f9;border-radius:7px;padding:10px 16px;color:#a72b69;cursor:pointer;font:inherit;font-size:12px;margin-top:14px}.detail-button:hover{background:#f9deeb}.detail-modal{padding:0;border:0;border-radius:16px;width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;color:#283c4c;box-shadow:0 20px 70px #0003}.detail-modal::backdrop{background:#18263199;backdrop-filter:blur(3px)}.detail-modal .card-art{height:220px}.detail-body{padding:26px}.detail-body h2{padding-right:22px}.detail-close{position:absolute;right:12px;top:12px;z-index:2;border:1px solid #ddd;background:white;border-radius:50%;width:36px;height:36px;font-size:25px;cursor:pointer;color:#783454}.detail-fields{margin:20px 0 0}.detail-fields dt{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#8a6476;margin-top:18px}.detail-fields dd{margin:4px 0 0;font-size:14px;overflow-wrap:anywhere}.maps-link{color:#ad286b;text-underline-offset:3px}.modal-open{overflow:hidden}
/* Tarjetas compactas y respuesta visual de las acciones. */
.results{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}
.result-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.result-card:has(.detail-button){cursor:pointer}
.result-card:hover,.result-card:focus-within{transform:translateY(-4px);border-color:#e7a4c6;box-shadow:0 9px 22px #71324f14}
.result-card .card-art{height:112px}
.result-card .card-art svg{width:48px;height:48px}
.result-card .card-content{padding:15px}
.result-card h3{font-size:15px;margin:5px 0}
.result-card .card-description{min-height:0;font-size:11px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.result-card .card-description:empty{display:none}
.result-card .location{margin-top:11px;padding-top:10px;font-size:10px}
.result-card .detail-button{margin-top:11px;padding:7px 12px;width:100%}
.detail-close{display:grid;place-items:center;padding:0;line-height:1}
.detail-close svg{width:18px;height:18px;display:block}
.detail-close:hover{background:#fff0f7;border-color:#db9abc}
@media(max-width:980px){.results{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.results{grid-template-columns:1fr}.result-card{display:grid;grid-template-columns:100px minmax(0,1fr)}.result-card .card-art{height:100%;min-height:145px}.result-card .card-art>span{display:none}}
