/* Contacto: paleta dinámica UPID y enrutamiento humano */
.page-contacto{background:#f4f0e7!important}.page-contacto .contact-directory{position:relative;isolation:isolate;padding:112px 0!important;background:linear-gradient(135deg,#f3eee2 0%,#e8eee9 48%,#e5eaf2 100%)!important;color:#111b48!important;overflow:hidden}.page-contacto .contact-directory::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at var(--contact-x,82%) var(--contact-y,18%),rgba(214,188,106,.32),transparent 24%),linear-gradient(rgba(17,27,72,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(17,27,72,.025) 1px,transparent 1px);background-size:auto,52px 52px,52px 52px}.page-contacto .contact-directory .blue-ambient{display:none!important}.contact-directory-head h2{color:#111b48!important}.contact-directory-head p{color:#5c6579!important}.page-contacto .contact-directory .kicker{color:#876a1d!important}
.page-contacto .contact-directory .contact-card{--route-accent:#b18a24;--route-soft:#f7edcf;--route-x:50%;--route-y:30%;grid-column:span 4;min-height:345px!important;padding:31px!important;border:1px solid rgba(17,27,72,.09)!important;border-top:4px solid var(--route-accent)!important;border-radius:27px!important;background:rgba(255,255,255,.88)!important;color:#111b48!important;box-shadow:0 20px 55px rgba(17,27,72,.1)!important;backdrop-filter:blur(16px);transform-style:preserve-3d}.page-contacto .contact-directory .contact-card:nth-child(2){--route-accent:#5c7a68;--route-soft:#e3eee7}.page-contacto .contact-directory .contact-card:nth-child(3){--route-accent:#956748;--route-soft:#f1e6de}.page-contacto .contact-directory .contact-card:nth-child(4){--route-accent:#735f91;--route-soft:#eae5f1}.page-contacto .contact-directory .contact-card:nth-child(5){--route-accent:#9b5e4e;--route-soft:#f3e3de}.page-contacto .contact-directory .contact-card:nth-child(6){--route-accent:#3e6982;--route-soft:#e0ebf0}.page-contacto .contact-directory .contact-card::before{color:var(--route-accent)!important}.page-contacto .contact-directory .contact-card::after{content:"Seleccionar canal  →"!important;color:#111b48!important}.page-contacto .contact-directory .contact-card :is(h3,dt){color:#111b48!important}.page-contacto .contact-directory .contact-card h3{padding-right:35px}.page-contacto .contact-directory .contact-card :is(p,dd){color:#5e6679!important}.page-contacto .contact-directory .contact-card .sla{color:var(--route-accent)!important;background:var(--route-soft)!important;border:1px solid color-mix(in srgb,var(--route-accent) 22%,white)!important}.page-contacto .contact-directory .btn-mail{color:#111b48!important;border-color:rgba(17,27,72,.13)!important;background:#fff!important}.page-contacto .contact-directory .btn-mail:hover{color:#fff!important;border-color:var(--route-accent)!important;background:var(--route-accent)!important}.page-contacto .contact-directory .contact-card:hover,.page-contacto .contact-directory .contact-card:focus-visible{border-color:color-mix(in srgb,var(--route-accent) 60%,white)!important;background:#fff!important;box-shadow:0 32px 75px rgba(17,27,72,.17),0 8px 0 -4px var(--route-accent)!important}.route-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--route-x) var(--route-y),color-mix(in srgb,var(--route-accent) 17%,transparent),transparent 34%);opacity:0;transition:.3s}.contact-card:hover .route-glow{opacity:1}
.page-contacto .contact-standards{background:linear-gradient(140deg,#e8ece6,#f5f0e4 52%,#eee3d7)!important}.page-contacto .contact-standards .card:first-child{background:linear-gradient(145deg,#36304a,#57465d)!important}.page-contacto .contact-standards .card:nth-child(2){border-top:4px solid #5c7a68!important}
.page-contacto .contact-form-zone{position:relative;isolation:isolate;padding:118px 0!important;background:radial-gradient(circle at 10% 15%,rgba(214,188,106,.28),transparent 23%),linear-gradient(135deg,#e8eee9,#f7f2e8 55%,#e7eaf1)!important}.page-contacto .contact-form-zone::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(rgba(17,27,72,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(17,27,72,.025) 1px,transparent 1px);background-size:50px 50px}.page-contacto .contact-form-zone .form-card{max-width:1040px!important;box-shadow:0 38px 95px rgba(28,38,57,.17)!important}.contact-form-head{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(120deg,#293f3a 0%,#3e5f53 54%,#745e4a 100%)!important}.contact-form-head::before{content:"";position:absolute;z-index:-1;inset:-35%;background:radial-gradient(circle at var(--form-x,80%) var(--form-y,25%),rgba(240,209,125,.3),transparent 23%),repeating-radial-gradient(circle at 84% 35%,transparent 0 45px,rgba(255,255,255,.055) 46px 47px)}.contact-form-head :is(.kicker,h2,strong){color:#fff!important}.contact-form-head p{color:rgba(255,255,255,.86)!important}.contact-trust span{border-color:rgba(255,255,255,.36)!important;background:rgba(255,255,255,.1)!important;color:#fff!important}.contact-trust span::before{content:"";display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:#e6c96f;box-shadow:0 0 12px rgba(230,201,111,.7)}
.contact-persona{margin:0 0 28px;padding:7px;border:1px solid rgba(17,27,72,.1);border-radius:18px;background:#f2f0e9}.contact-persona-label{display:block;padding:7px 10px 9px;color:#60697b;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.contact-persona-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}.contact-persona button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:49px;padding:11px;border:0;border-radius:13px;background:transparent;color:#4f586d;font-weight:750;cursor:pointer;transition:.3s}.contact-persona button::before{content:"";width:8px;height:8px;border-radius:50%;border:2px solid currentColor}.contact-persona button[aria-pressed="true"]{background:#fff;color:#293f3a;box-shadow:0 9px 25px rgba(17,27,72,.09)}.contact-persona button[aria-pressed="true"]::before{border-color:#d6bc6a;background:#d6bc6a;box-shadow:0 0 0 4px rgba(214,188,106,.16)}.student-fields{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .5s cubic-bezier(.16,1,.3,1),opacity .3s,margin .4s}.student-fields>div{overflow:hidden}.student-fields.open{grid-template-rows:1fr;margin:0 0 8px;opacity:1}.student-fields .field-row{padding:18px;border:1px solid rgba(92,122,104,.2);border-radius:17px;background:#edf3ef}.student-field-note{margin:0 0 13px;color:#53665d;font-size:11px}.page-contacto .contact-form-zone :is(input,select,textarea):focus{border-color:#5c7a68!important;box-shadow:0 0 0 4px rgba(92,122,104,.16)!important}.page-contacto .contact-form-zone .btn-block{background:linear-gradient(110deg,#293f3a,#4e7466)!important;color:#fff!important;box-shadow:0 15px 34px rgba(41,63,58,.22)}
.page-contacto #como-llegar{background:radial-gradient(circle at 84% 14%,rgba(239,207,104,.3),transparent 24%),radial-gradient(circle at 18% 82%,rgba(84,111,190,.22),transparent 30%),linear-gradient(132deg,#081238 0%,#12235c 45%,#203a82 74%,#111c4c 100%)!important;background-size:130% 130%,125% 125%,100% 100%!important;animation:contact-map-ambient 16s ease-in-out infinite alternate}.page-contacto #como-llegar>.blue-ambient{display:none!important}
@keyframes contact-map-ambient{0%{background-position:92% 4%,0 100%,0 0}50%{background-position:72% 20%,20% 76%,0 0}100%{background-position:98% 28%,8% 88%,0 0}}
.page-contacto #como-llegar .campus-hours{display:grid;gap:5px;margin:18px!important;padding:16px 18px;border:1px solid rgba(17,27,72,.1);border-left:4px solid #d6bc6a;border-radius:15px;background:linear-gradient(120deg,#f8f4e8,#eef2fa);color:#111b48}.page-contacto #como-llegar .campus-hours span{color:#876a1d;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.page-contacto #como-llegar .campus-hours strong{font-size:.9rem}.page-contacto #como-llegar .campus-hours small{color:#5f687b;font-size:.8rem}
.contact-reveal{opacity:0;transform:translateY(30px);transition:.8s cubic-bezier(.16,1,.3,1)}.contact-reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.page-contacto .contact-directory .contact-card{grid-column:span 6}}
@media(max-width:650px){.page-contacto .contact-directory .contact-card{grid-column:auto}.contact-persona-options{grid-template-columns:1fr}.student-fields .field-row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.contact-reveal{opacity:1;transform:none;transition:none}.student-fields,.contact-persona button{transition:none}.page-contacto #como-llegar{animation:none}}

/* Contact header contrast and compact visitor selector */
.page-contacto .contact-form-head .contact-trust span{
  color:#fff!important;
  border-color:rgba(255,255,255,.34)!important;
  background:rgba(8,18,56,.22)!important;
  text-shadow:0 1px 2px rgba(4,10,36,.35);
}
.page-contacto .contact-persona{
  display:flex;
  align-items:center;
  gap:18px;
  margin:0 0 20px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.page-contacto .contact-persona-label{
  flex:0 0 auto;
  padding:0;
  color:#111b48;
}
.page-contacto .contact-persona-options{
  display:flex;
  width:auto;
  gap:7px;
}
.page-contacto .contact-persona button{
  min-height:42px;
  padding:8px 15px;
  border:1px solid rgba(17,27,72,.12);
  border-radius:999px;
  background:#fff;
  color:#4f586d;
  white-space:nowrap;
}
.page-contacto .contact-persona button[aria-pressed="true"]{
  color:#111b48;
  border-color:#d6bc6a;
  background:#fffaf0;
  box-shadow:0 7px 20px rgba(17,27,72,.08);
}
@media(max-width:760px){
  .page-contacto .contact-persona{align-items:flex-start;flex-direction:column;gap:9px}
  .page-contacto .contact-persona-options{width:100%;flex-wrap:wrap}
  .page-contacto .contact-persona button{flex:1 1 190px}
}
.contact-persona button::before{width:3px;height:20px;border:0;border-radius:999px;background:rgba(17,27,72,.2);transition:.3s}.contact-persona button[aria-pressed="true"]::before{border:0;background:#d6bc6a;box-shadow:0 0 0 4px rgba(214,188,106,.16),0 0 16px rgba(214,188,106,.42)}
.contact-persona button:disabled{cursor:not-allowed;opacity:.42}.technology-fields{display:grid;grid-template-rows:0fr;margin:0;opacity:0;transition:grid-template-rows .55s cubic-bezier(.16,1,.3,1),opacity .35s,margin .4s}.technology-fields>div{overflow:hidden}.technology-fields.open{grid-template-rows:1fr;margin:10px 0 26px;opacity:1}.technology-fields>div{border:1px solid rgba(62,105,130,.22);border-radius:19px;background:linear-gradient(145deg,#edf3f5,#f7faf9)}.technology-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border-bottom:1px solid rgba(62,105,130,.14)}.technology-head span{padding:7px 10px;border-radius:999px;background:#3e6982;color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.technology-head strong{color:#364b58;font-size:11px;text-align:right}.technology-fields .field-row{padding:18px}.technology-fields :is(select,input){background:#fff!important}.student-fields:has(#c-matricula:required) .field-row{border-color:rgba(62,105,130,.4);box-shadow:0 0 0 3px rgba(62,105,130,.08)}
@media(max-width:650px){.technology-head{align-items:flex-start;flex-direction:column}.technology-head strong{text-align:left}.technology-fields .field-row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.technology-fields{transition:none}}
