.contact-hero { position:relative; min-height:clamp(570px,52vw,780px); overflow:hidden; color:#fff; background:var(--fx-navy-950); }
.contact-hero__media,.contact-hero__media img { position:absolute; inset:0; width:100%; height:100%; }
.contact-hero__media img { object-fit:cover; object-position:center; }
.contact-hero__content { position:relative; z-index:1; display:flex; min-height:inherit; align-items:center; padding-block:clamp(38px,5vw,68px); }
.contact-hero__copy { width:min(44%,610px); padding:clamp(22px,2.8vw,36px); border:1px solid rgba(255,255,255,.12); border-radius:var(--fx-radius-lg); background:rgba(4,15,35,.58); box-shadow:var(--fx-shadow-md); }
.contact-hero h1,.contact-hero p { color:inherit; }
.contact-hero__copy > p:not(.eyebrow) { color:rgba(255,255,255,.78); font-size:1.08rem; }
.contact-hero__assessment { display:flex; align-items:center; gap:14px; margin-top:24px; padding:13px 0 0; border-top:1px solid rgba(255,255,255,.16); }
.contact-hero__assessment strong { color:var(--fx-orange-500); font-size:2rem; }
.contact-channels__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.contact-channels a { position:relative; display:grid; gap:4px; padding:22px; border:1px solid var(--fx-line); border-radius:var(--fx-radius-md); background:#fff; box-shadow:var(--fx-shadow-sm); overflow:hidden; }
.contact-channels a > span { position:absolute; top:10px; right:14px; color:var(--fx-orange-500); font-size:.72rem; font-weight:900; }
.contact-channels small { color:var(--fx-muted); font-weight:800; }
.contact-channels strong { color:var(--fx-navy-950); overflow-wrap:anywhere; }
.contact-channels p { margin:0; font-size:.84rem; }
.contact-form-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(34px,6vw,78px); align-items:start; }
.contact-form-intro ol { display:grid; gap:10px; margin:28px 0; padding:0; list-style:none; }
.contact-form-intro li { display:grid; grid-template-columns:42px 1fr; gap:12px; padding:14px; border-radius:var(--fx-radius-sm); background:#fff; }
.contact-form-intro li > span { display:grid; width:38px; height:38px; place-items:center; border-radius:50%; color:#fff; background:var(--fx-navy-950); font-size:.72rem; font-weight:900; }
.contact-form-intro li p { margin:2px 0 0; font-size:.86rem; }
.contact-form-intro aside { display:grid; gap:4px; padding:20px; border-left:4px solid var(--fx-orange-500); border-radius:0 var(--fx-radius-sm) var(--fx-radius-sm) 0; color:#fff; background:var(--fx-navy-950); }
.contact-form-intro aside small,.contact-form-intro aside span { color:rgba(255,255,255,.72); }
.contact-form { display:grid; gap:16px; padding:clamp(24px,4vw,38px); border:1px solid var(--fx-line); border-radius:var(--fx-radius-lg); background:#fff; box-shadow:var(--fx-shadow-md); }
.contact-form__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.contact-form label:not(.contact-form__check) { display:grid; gap:6px; color:var(--fx-navy-950); font-weight:800; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; min-height:50px; padding:11px 13px; border:1px solid var(--fx-line); border-radius:var(--fx-radius-sm); background:#fff; }
.contact-form textarea { resize:vertical; }
.contact-form small,.contact-form__safe { color:var(--fx-muted); font-size:.78rem; }
.contact-form__check { display:flex; gap:9px; align-items:flex-start; color:var(--fx-muted); font-size:.88rem; }
.contact-form__check input { width:18px; min-height:18px; margin-top:3px; }
.contact-form__check a { text-decoration:underline; }
.contact-form__safe,.contact-form__status { margin:0; }
.contact-form__status.is-error { color:var(--fx-danger); }
.contact-form__status.is-success { color:var(--fx-success); }
.contact-support-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.contact-support-grid article { padding:24px; border:1px solid var(--fx-line); border-radius:var(--fx-radius-md); background:#fff; box-shadow:var(--fx-shadow-sm); }
.contact-support-grid article > span { color:var(--fx-orange-600); font-size:.75rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.contact-location { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(30px,6vw,76px); align-items:center; }
.contact-location dl { display:grid; gap:10px; }
.contact-location dl div { padding:16px; border:1px solid var(--fx-line); border-radius:var(--fx-radius-sm); background:#fff; }
.contact-location dt { color:var(--fx-muted); font-size:.75rem; font-weight:800; text-transform:uppercase; }
.contact-location dd { margin:3px 0 0; color:var(--fx-navy-950); font-weight:900; }
.contact-faq { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(32px,6vw,72px); }
.contact-faq details { padding:16px 18px; border:1px solid var(--fx-line); border-radius:var(--fx-radius-sm); background:#fff; }
.contact-faq details + details { margin-top:10px; }
.contact-faq summary { cursor:pointer; color:var(--fx-navy-950); font-weight:900; }
.contact-faq details p { margin:12px 0 0; }
@media(max-width:1050px){.contact-channels__grid,.contact-support-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.contact-hero__copy{width:50%;}}
@media(max-width:760px){.contact-hero{min-height:0;overflow:visible;color:var(--fx-ink);background:#fff}.contact-hero__media,.contact-hero__media img{position:static;width:100%;height:auto}.contact-hero__media img{aspect-ratio:auto;object-fit:contain;object-position:center}.contact-hero__content{min-height:0;padding-block:22px 42px}.contact-hero__copy{width:100%;padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none}.contact-hero h1,.contact-hero p{color:inherit}.contact-hero__copy>.eyebrow{color:var(--fx-orange-600)}.contact-hero__copy>p:not(.eyebrow){color:var(--fx-muted)}.contact-hero__assessment{border-color:var(--fx-line)}.contact-form-layout,.contact-location,.contact-faq{grid-template-columns:1fr}.contact-form__grid{grid-template-columns:1fr}}
@media(max-width:520px){.contact-channels__grid,.contact-support-grid{grid-template-columns:1fr}.contact-form{padding:20px}}

/* ============================================================
   CONTACT COMPLETION PASS — DESKTOP / BASE
   ============================================================ */
#contact-form { scroll-margin-top: 100px; }
body.contact-form-in-view .flunexa-live-chat {
  opacity: 0;
  pointer-events: none;
  transform: translateY(70px);
}
.contact-channels a {
  min-height: 166px;
  align-content: start;
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}
.contact-channels a:focus-visible,
.contact-support-grid a:focus-visible,
.contact-location a:focus-visible,
.contact-faq summary:focus-visible {
  outline: 3px solid rgba(243, 107, 19, .45);
  outline-offset: 4px;
}
.contact-form input,
.contact-form select,
.contact-form textarea {
  color: var(--fx-navy-950);
  transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}
.contact-form input:hover,
.contact-form select:hover,
.contact-form textarea:hover { border-color: rgba(7, 20, 47, .3); }
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color: var(--fx-orange-600);
  outline: 0;
  box-shadow: 0 0 0 4px rgba(243, 107, 19, .12);
}
.contact-form input:invalid:not(:placeholder-shown),
.contact-form textarea:invalid:not(:placeholder-shown) { border-color: rgba(185, 28, 28, .45); }
.contact-form button[type="submit"] { min-height: 50px; justify-self: start; }
.contact-form button[type="submit"]:disabled { cursor: wait; opacity: .68; }
.contact-form__status { min-height: 1.4em; font-weight: 750; }
.contact-support-grid article {
  display: flex;
  min-height: 230px;
  flex-direction: column;
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}
.contact-support-grid article h3 { margin-bottom: 10px; }
.contact-support-grid article p { margin-top: 0; }
.contact-support-grid article .text-link { align-self: flex-start; margin-top: auto; padding-top: 14px; }
.contact-faq details { transition: border-color 180ms ease, box-shadow 180ms ease; }
.contact-faq details[open] { border-color: rgba(243, 107, 19, .32); box-shadow: 0 10px 26px rgba(7, 20, 47, .07); }
@media (hover:hover) and (pointer:fine) {
  .contact-channels a:hover,
  .contact-support-grid article:hover { transform: translateY(-4px); border-color: rgba(243, 107, 19, .38); box-shadow: var(--fx-shadow-md); }
}

/* ============================================================
   CONTACT COMPLETION PASS — TABLET
   ============================================================ */
@media (max-width: 1024px) {
  .contact-channels a { min-height: 150px; }
  .contact-support-grid article { min-height: 210px; }
}
@media (max-width: 820px) {
  .contact-form-layout { gap: 30px; }
  .contact-form { padding: 24px; }
}

/* ============================================================
   CONTACT COMPLETION PASS — MOBILE
   ============================================================ */
@media (max-width: 520px) {
  #contact-form { scroll-margin-top: 76px; }
  .contact-channels a,
  .contact-support-grid article { min-height: 0; }
  .contact-channels strong { font-size: .97rem; }
  .contact-form { gap: 14px; padding: 18px; border-radius: 14px; }
  .contact-form button[type="submit"] { width: 100%; justify-content: center; }
  .contact-form-intro li { padding: 12px; }
  .contact-location .button-row { align-items: stretch; flex-direction: column; }
  .contact-location .button-row .button { width: 100%; justify-content: center; }
  .flunexa-live-chat__button {
    width: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
    justify-content: center !important;
    padding: 7px !important;
    border-radius: 50% !important;
  }
  .flunexa-live-chat__copy { display: none !important; }
  body:has(.contact-form:focus-within) .flunexa-live-chat {
    opacity: 0;
    pointer-events: none;
    transform: translateY(70px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-channels a,
  .contact-support-grid article,
  .contact-form input,
  .contact-form select,
  .contact-form textarea,
  .contact-faq details { transition: none; transform: none !important; }
}

/* ============================================================
   CONTACT HOURS AND FOOTER RHYTHM
   ============================================================ */
.contact-hours-list { align-content: center; }
.contact-location dl .contact-hours-card {
  padding: clamp(20px, 3vw, 28px);
  border-color: rgba(243, 107, 19, .28);
  background: linear-gradient(135deg, #ffffff, #fff7ef);
  box-shadow: 0 14px 34px rgba(7, 20, 47, .08);
}
.contact-hours-card dd {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 8px;
}
.contact-hours-card dd strong {
  color: var(--fx-navy-950);
  font-size: clamp(1.05rem, 2vw, 1.25rem);
}
.contact-hours-card dd span {
  color: var(--fx-orange-600);
  font-size: clamp(1.12rem, 2.2vw, 1.38rem);
  font-weight: 900;
}
.contact-faq-section { padding-bottom: clamp(38px, 4.5vw, 56px); }
@media (max-width: 520px) {
  .contact-hours-card dd { align-items: flex-start; }
  .contact-faq-section { padding-bottom: 36px; }
}