.ecu-contact-panel { --ecu-red: #ed101b; background: rgb(17, 15, 17); color: rgb(245, 245, 245); padding: 64px 0px 20px; font-family: inherit; isolation: isolate; }
.ecu-contact-panel * { box-sizing: border-box; }
.ecu-contact-panel .ecu-contact-container { width: calc(100% - 48px); max-width: 1350px; margin: 0px auto; padding-top: 24px; }
.ecu-contact-panel .ecu-contact-intro { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 64px; padding-bottom: 42px; }
.ecu-contact-panel .ecu-contact-logo { display: block; width: 240px; max-width: 100%; height: auto; margin: 0px 0px 8px; overflow: hidden; }
.ecu-contact-panel h1 { color: rgb(255, 255, 255); font-size: clamp(34px, 3.4vw, 52px); line-height: 1.12; font-weight: 700; letter-spacing: -1.4px; margin: 0px 0px 20px; }
.ecu-contact-panel h1 span { color: var(--ecu-red); }
.ecu-contact-panel .ecu-contact-lead { margin: 0px; color: rgb(191, 184, 191); max-width: 460px; font-size: 15px; line-height: 1.8; }
.ecu-contact-panel .ecu-contact-callout { padding: 26px 0px 26px 42px; border-left: 2px solid var(--ecu-red); min-width: 0px; }
.ecu-contact-panel .ecu-contact-label { display: block; font-size: 11px; letter-spacing: 1.6px; line-height: 1.6; font-weight: 700; color: rgb(172, 165, 172); }
.ecu-contact-panel .ecu-contact-phone { display: flex; align-items: center; gap: 24px; font-size: clamp(26px, 2.5vw, 40px); line-height: 1.3; font-weight: 700; letter-spacing: -1px; margin-top: 10px; color: rgb(255, 255, 255); text-decoration: none; }
.ecu-contact-phone > span { color: var(--ecu-red); font-weight: 400; font-size: 32px; }
.ecu-contact-panel .ecu-contact-callout p { font-size: 13px; line-height: 1.7; color: rgb(191, 184, 191); margin: 10px 0px 0px; }
.ecu-contact-panel .ecu-contact-details { display: grid; grid-template-columns: 1.15fr 1.15fr 1fr; background: linear-gradient(115deg, rgb(30, 23, 26), rgb(23, 21, 24) 72%); border: 1px solid rgb(52, 43, 49); margin-bottom: 30px; }
.ecu-contact-panel .ecu-contact-detail { min-width: 0px; display: flex; gap: 18px; padding: 28px 28px 26px; }
.ecu-contact-panel .ecu-contact-detail + .ecu-contact-detail { border-left: 1px solid rgb(52, 43, 49); }
.ecu-contact-detail > svg { width: 24px; height: 24px; flex-shrink: 0; fill: none; stroke: var(--ecu-red); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; margin-top: 1px; }
.ecu-contact-panel .ecu-contact-detail h2 { color: rgb(170, 162, 169); font-size: 10px; letter-spacing: 1.6px; line-height: 1.5; font-weight: 700; margin: 0px 0px 12px; }
.ecu-contact-panel .ecu-contact-detail address, .ecu-contact-panel .ecu-contact-detail a, .ecu-contact-panel .ecu-contact-detail strong { color: rgb(245, 245, 245); font-style: normal; font-size: 18px; font-weight: 600; line-height: 1.6; text-decoration: none; overflow-wrap: anywhere; }
.ecu-contact-panel .ecu-contact-detail address span { font-size: 14px; font-weight: 400; color: rgb(191, 184, 191); }
.ecu-contact-panel .ecu-contact-detail p { font-size: 12px; line-height: 1.7; color: rgb(191, 184, 191); margin: 5px 0px 0px; }
.ecu-contact-panel .ecu-contact-mapbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 0px 0px 18px; }
.ecu-contact-panel .ecu-contact-mapbar p { color: rgb(238, 238, 238); font-weight: 600; margin: 5px 0px 0px; font-size: 19px; line-height: 1.4; }
.ecu-contact-panel .ecu-contact-route { display: inline-flex; gap: 30px; align-items: center; justify-content: center; min-height: 48px; background: rgb(215, 0, 6); border: 1px solid rgb(215, 0, 6); padding: 12px 22px; font-size: 12px; line-height: 1.5; font-weight: 700; letter-spacing: 0.6px; color: rgb(255, 255, 255); text-decoration: none; transition: background 0.15s; }
.ecu-contact-route > span { font-size: 22px; line-height: 1; }
.ecu-contact-panel .ecu-contact-route:hover { background: rgb(240, 14, 25); border-color: rgb(240, 14, 25); color: white; }
.ecu-contact-panel .ecu-contact-map { border: 1px solid rgb(59, 48, 55); background: rgb(34, 31, 35); }
.ecu-contact-panel .ecu-contact-map iframe { display: block; width: 100%; height: 430px; max-width: none; border: 0px; margin: 0px; padding: 0px; filter: none; border-radius: 0px; }
.ecu-contact-panel .ecu-contact-maplink { text-align: right; margin: 12px 0px 0px; font-size: 11px; line-height: 1.6; }
.ecu-contact-panel .ecu-contact-maplink a { color: rgb(186, 178, 186); text-decoration: underline; text-underline-offset: 3px; }
.ecu-contact-panel a:focus-visible { outline: white solid 2px; outline-offset: 6px; }
.ecu-contact-panel .ecu-contact-phone:hover, .ecu-contact-panel .ecu-contact-detail a:hover, .ecu-contact-panel .ecu-contact-maplink a:hover { color: rgb(255, 65, 74); }
@media (min-width: 992px) and (max-width: 1399px) {
  .ecu-contact-panel .ecu-contact-container { max-width: 1140px; }
  .ecu-contact-panel .ecu-contact-detail { padding: 24px 20px; gap: 14px; }
  .ecu-contact-panel .ecu-contact-detail a { font-size: 17px; }
}
@media (min-width: 768px) and (max-width: 991px) {
  .ecu-contact-panel .ecu-contact-container { max-width: 960px; }
  .ecu-contact-panel .ecu-contact-intro { gap: 30px; }
  .ecu-contact-panel .ecu-contact-callout { padding-left: 22px; }
  .ecu-contact-panel .ecu-contact-phone { gap: 12px; }
  .ecu-contact-panel .ecu-contact-detail { padding: 22px 16px; gap: 10px; }
  .ecu-contact-detail > svg { width: 20px; height: 20px; }
  .ecu-contact-panel .ecu-contact-detail address, .ecu-contact-panel .ecu-contact-detail a, .ecu-contact-panel .ecu-contact-detail strong { font-size: 16px; }
}
@media (max-width: 767px) {
  .ecu-contact-panel { padding: 36px 0px 8px; }
  .ecu-contact-panel .ecu-contact-container { width: calc(100% - 40px); padding-top: 16px; }
  .ecu-contact-panel .ecu-contact-intro { grid-template-columns: 1fr; gap: 26px; padding-bottom: 28px; }
  .ecu-contact-panel .ecu-contact-logo { width: 200px; margin-bottom: 8px; }
  .ecu-contact-panel h1 { font-size: 38px; letter-spacing: -1px; }
  .ecu-contact-panel .ecu-contact-callout { padding: 4px 0px 4px 20px; }
  .ecu-contact-panel .ecu-contact-phone { font-size: clamp(23px, 7vw, 32px); gap: 16px; }
  .ecu-contact-panel .ecu-contact-details { grid-template-columns: 1fr; margin-bottom: 24px; }
  .ecu-contact-panel .ecu-contact-detail { padding: 22px; }
  .ecu-contact-panel .ecu-contact-detail + .ecu-contact-detail { border-left: 0px; border-top: 1px solid rgb(52, 43, 49); }
  .ecu-contact-panel .ecu-contact-mapbar { align-items: flex-start; flex-direction: column; gap: 14px; }
  .ecu-contact-panel .ecu-contact-route { width: 100%; justify-content: space-between; }
  .ecu-contact-panel .ecu-contact-map iframe { height: 350px; }
  .ecu-contact-panel .ecu-contact-maplink { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  .ecu-contact-panel .ecu-contact-route { transition: none; }
}
/* Contact brand hierarchy: larger original logo and a quieter invitation. */
.ecu-contact-panel .ecu-contact-logo{width:340px;margin-bottom:12px}
.ecu-contact-panel h1{font-size:clamp(32px,2.75vw,42px);letter-spacing:-1.1px}
@media(max-width:767px){.ecu-contact-panel .ecu-contact-logo{width:clamp(230px,68vw,270px);margin-bottom:12px}.ecu-contact-panel h1{font-size:30px;letter-spacing:-.7px}}
