/* Contact page: responsive inquiry form, emergency panel and service locations. */
.portal-contact{padding:clamp(1rem,3vw,2.5rem) 0 4rem;background:#f5f7fa;color:#263344;overflow-x:clip}.portal-contact__container{width:min(1440px,calc(100% - 2rem));margin-inline:auto}
.portal-contact__hero{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem;padding:1.3rem 1.5rem;border:1px solid #e4e8ee;border-inline-start:5px solid #92702d;border-radius:16px;background:#fff;box-shadow:0 6px 20px rgba(20,44,70,.045)}.portal-contact__hero-icon{display:grid;place-items:center;flex:0 0 3rem;width:3rem;height:3rem;border-radius:13px;background:#f5eddb;color:#92702d;font-size:1.3rem}.portal-contact__hero p{margin:0 0 .2rem;color:#92702d;font-size:.9rem}.portal-contact__hero h1{margin:0;color:#1f3043;font-size:clamp(1.4rem,2.2vw,1.9rem);font-weight:750;line-height:1.5;text-align:start}
.portal-contact__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,290px);gap:1rem;align-items:start}.portal-contact__main{display:grid;gap:1.2rem;min-width:0}.portal-contact-card,.portal-contact-emergency,.portal-location-card{min-width:0;border:1px solid #e3e8ee;border-radius:15px;background:#fff;box-shadow:0 6px 22px rgba(20,44,70,.045)}.portal-contact-card{padding:clamp(1rem,2.5vw,1.7rem)}.portal-contact-card__heading,.portal-contact-directory__heading{display:flex;align-items:center;gap:.75rem;margin:0 0 1.1rem}.portal-contact-card__heading>span,.portal-contact-directory__heading>span{display:grid;place-items:center;flex:0 0 2.5rem;width:2.5rem;height:2.5rem;border-radius:11px;background:#f5eddb;color:#92702d}.portal-contact-card__heading h2,.portal-contact-directory__heading h2{margin:0;color:#26384b;font-size:1.1rem;font-weight:700;line-height:1.55}.portal-contact-card__heading p{margin:0;color:#667085}
.portal-contact-form__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.portal-contact-form__fields label{display:grid;gap:.45rem;min-width:0;color:#3a4656;font-size:.92rem;font-weight:650}.portal-contact-form__fields input,.portal-contact-form__fields textarea{width:100%;min-height:46px;padding:.7rem .85rem;border:1px solid #dce2e9;border-radius:10px;background:#fbfcfd;color:#263344;font:inherit;line-height:1.6;outline:none;transition:border-color .17s ease,box-shadow .17s ease,background .17s ease}.portal-contact-form__fields textarea{min-height:140px;resize:vertical}.portal-contact-form__fields input:focus,.portal-contact-form__fields textarea:focus{border-color:#a58135;background:#fff;box-shadow:0 0 0 3px rgba(164,124,46,.14)}.portal-contact-form__message{grid-column:1/-1}.portal-contact-form__status{margin-top:.9rem;padding:.7rem .85rem;border-radius:9px;background:#fff2ef;color:#9c382d;font-size:.9rem;line-height:1.6}.portal-contact-form__status[hidden]{display:none}.portal-contact-form__status.is-success{background:#edf8f0;color:#216638}.portal-contact-form__submit{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:44px;margin-top:1rem;padding:.65rem 1.25rem;border:0;border-radius:10px;background:#92702d;color:#fff;font:inherit;font-weight:700;cursor:pointer;transition:background .17s ease,transform .17s ease}.portal-contact-form__submit:hover:not(:disabled){background:#76571d;transform:translateY(-1px)}.portal-contact-form__submit:disabled{opacity:.6;cursor:wait}.portal-contact-form__submit .fa-spinner{display:none}.portal-contact-form__submit.is-loading .fa-spinner{display:inline-block}
.portal-contact-emergency{position:static;padding:1.4rem;text-align:center;background:linear-gradient(165deg,#fff,#fff9f7);border-color:#eed8d5}.portal-contact-emergency__icon{display:grid;place-items:center;width:3rem;height:3rem;margin:0 auto .65rem;border-radius:50%;background:#fff0ee;color:#bd3d35;font-size:1.2rem}.portal-contact-emergency h2{margin:.2rem 0;color:#303c4c;font-size:1.08rem}.portal-contact-emergency__number{display:block;color:#bd3d35;font-size:2.5rem;font-weight:800;letter-spacing:.04em;text-decoration:none}.portal-contact-emergency p{display:flex;align-items:flex-start;justify-content:center;gap:.5rem;margin:.65rem 0;padding:.55rem .65rem;border-radius:9px;background:#f7f4ec;color:#687588;font-size:.84rem;line-height:1.65}.portal-contact-emergency p i,.portal-contact-emergency__email i{flex:0 0 auto;margin-top:.2rem;color:#987225}.portal-contact-emergency__email{display:inline-flex;align-items:center;gap:.5rem;color:#344154;font-size:.88rem;overflow-wrap:anywhere;text-decoration:none}.portal-contact-emergency__email:hover{text-decoration:underline}
.portal-contact-directory__heading{margin:0 0 .8rem}.portal-contact-directory__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.portal-location-card{display:flex;flex-direction:column;padding:1rem}.portal-location-card h3{margin:0 0 .7rem;padding-bottom:.65rem;border-bottom:1px solid #edf0f4;color:#26384b;font-size:1rem;font-weight:700;line-height:1.5;overflow-wrap:anywhere}.portal-location-card__row,.portal-location-card__coordinates{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem;padding:.48rem 0;color:#5d697a;font-size:.84rem;line-height:1.55;overflow-wrap:anywhere}.portal-location-card__row>span:first-child,.portal-location-card__coordinates>span:first-child{display:inline-flex;align-items:center;gap:.45rem;color:#405064;font-weight:600}.portal-location-card__row i,.portal-location-card__coordinates i{color:#a17a2c}.portal-location-card__row a{color:#405c7a;text-decoration:none}.portal-location-card__row a:hover{text-decoration:underline}.portal-location-card__directions{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:38px;margin-top:auto;padding:.5rem;border:1px solid #e7deca;border-radius:9px;background:#fbf8f1;color:#76571d;font-size:.86rem;font-weight:650;text-decoration:none}.portal-location-card__directions:hover{background:#f4ecd9}.portal-contact-directory__empty{padding:1rem;border:1px dashed #d6dce4;border-radius:10px;background:#fff;color:#687588}
@media(max-width:900px){.portal-contact__layout{grid-template-columns:minmax(0,1fr)}.portal-contact-emergency{position:static;grid-row:1}.portal-contact__main{grid-row:2}}
@media(max-width:600px){.portal-contact__container{width:calc(100% - 1.25rem)}.portal-contact__hero{align-items:flex-start;padding:1rem;gap:.75rem}.portal-contact__hero-icon{flex-basis:2.5rem;width:2.5rem;height:2.5rem}.portal-contact-card{padding:1rem}.portal-contact-form__fields,.portal-contact-directory__grid{grid-template-columns:minmax(0,1fr)}.portal-contact-form__message{grid-column:auto}.portal-contact-form__submit{width:100%}.portal-location-card__row,.portal-location-card__coordinates{flex-wrap:wrap}.portal-location-card__row>*:last-child,.portal-location-card__coordinates>*:last-child{margin-inline-start:1.6rem}.portal-contact-emergency{padding:1.15rem}}
@media(prefers-reduced-motion:reduce){.portal-contact *{scroll-behavior:auto!important;transition:none!important;transform:none!important}}

/* Keep the emergency and AJPAI cards together in a compact responsive sidebar. */
.portal-contact__sidebar{grid-column:2;grid-row:1;position:static;display:grid;gap:.55rem;align-self:start;min-width:0}
.portal-contact-ai{min-width:0;padding:1.2rem;border:1px solid #dcebe2;border-radius:15px;background:linear-gradient(145deg,#fff 0%,#f3faf6 100%);box-shadow:0 6px 22px rgba(20,44,70,.045);text-align:center}
.portal-contact-ai__icon{display:grid;place-items:center;width:2.8rem;height:2.8rem;margin:0 auto .65rem;border-radius:50%;background:#e2f4e9;color:#168b55;font-size:1.35rem}
.portal-contact-ai h2{margin:.2rem 0;color:#26384b;font-size:1.05rem;font-weight:750;line-height:1.55}
.portal-contact-ai p{margin:.35rem 0 1rem;color:#667085;font-size:.88rem;line-height:1.7}
.portal-contact-ai__link{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.6rem .8rem;border:1px solid #168b55;border-radius:10px;color:#fff;background:#168b55;font-size:.84rem;font-weight:700;line-height:1.5;text-align:center;text-decoration:none;transition:background .18s ease,transform .18s ease}
.portal-contact-ai__link:hover,.portal-contact-ai__link:focus-visible{color:#fff;background:#0d7043;transform:translateY(-1px)}
.portal-contact-ai__link bdi{padding-inline-start:.5rem;border-inline-start:1px solid rgb(255 255 255 / 40%);white-space:nowrap}
.portal-contact-ai__link .fa{flex:0 0 auto}
@media(max-width:600px) { .portal-contact-ai{padding:1rem}.portal-contact-ai__link{width:100%} }

/* Keep the inquiry and emergency cards aligned; let the directory use the full row. */
.portal-contact{padding-top:.55rem}
.portal-contact .portal-breadcrumbs{margin:0 0 .65rem;padding:.65rem .9rem}
.portal-contact__hero{margin-bottom:.75rem}
.portal-contact__main{display:contents}
.portal-contact-card{grid-column:1;grid-row:1}
.portal-contact__sidebar{grid-column:2;grid-row:1}
.portal-contact-directory{grid-column:1/-1;grid-row:2;min-width:0}
.portal-contact-form__fields .portal-contact-form__error{display:block;color:#a0332a;font-size:.82rem;font-weight:500;line-height:1.45}
.portal-contact-form__fields .is-invalid{border-color:#c54d42;background:#fffafa}
.portal-contact-form__fields .is-invalid:focus{box-shadow:0 0 0 3px rgba(197,77,66,.12)}
@media(max-width:900px){.portal-contact__layout{grid-template-columns:minmax(0,1fr)}.portal-contact-card{grid-column:1;grid-row:1}.portal-contact__sidebar{position:static;grid-column:1;grid-row:2}.portal-contact-directory{grid-column:1;grid-row:3}}
@media(max-width:720px){.portal-contact{padding-top:.35rem}.portal-contact .portal-breadcrumbs{margin-bottom:.45rem;padding:.55rem .7rem}.portal-contact__hero{margin-bottom:.55rem}}
