.contact-page-layout { max-width: 980px; margin: 0 auto; }
.contact-page-intro { max-width: 660px; margin: 0 0 2.4rem; padding: 0; background: transparent; }
.contact-page-intro h1 { margin: .15rem 0 .7rem; font-size: clamp(2rem, 4vw, 2.8rem); }
.contact-page-intro > p:last-child { margin: 0; color: #50666c; font-size: 1.08rem; }
.contact-page-eyebrow,.contact-location-kicker { margin: 0; color: #0c8993; font-size: .75rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.contact-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 4rem; }
.contact-action { display: flex; flex-direction: column; min-height: 156px; padding: 1.4rem 1.5rem; border: 1px solid #cce0df; border-radius: 12px; background: #f6faf9; color: #173943; text-decoration: none; box-shadow: 0 4px 13px rgba(25, 48, 56, .07); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.contact-action:hover,.contact-action:focus { color: #173943; border-color: #0c8993; box-shadow: 0 8px 18px rgba(25, 48, 56, .13); transform: translateY(-2px); }
.contact-action-label { color: #0c8993; font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.contact-action strong { margin: .25rem 0 .35rem; font-size: 1.35rem; line-height: 1.25; }
.contact-action > span:last-child { margin-top: auto; color: #50666c; font-size: .9rem; }
.contact-action-phone { border-color: #173943; background: #173943; color: #fff; }
.contact-action-phone:hover,.contact-action-phone:focus { color: #fff; border-color: #0c8993; }
.contact-action-phone .contact-action-label { color: #9edfd9; }
.contact-action-phone > span:last-child { color: #d6e7e7; }
.contact-locations { padding-top: 3rem; border-top: 1px solid #dbe4e4; }
.contact-section-heading { max-width: 660px; margin-bottom: 1.5rem; }
.contact-section-heading h2 { margin: .15rem 0 .55rem; font-size: 1.75rem; }
.contact-section-heading > p:last-child { margin: 0; color: #50666c; }
.contact-location-grid,.contact-maps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.contact-location-card { display: flex; flex-direction: column; min-height: 220px; padding: 1.45rem; border: 1px solid #d8e6e5; border-radius: 10px; background: #fff; }
.contact-location-card h3 { margin: .25rem 0 .8rem; color: #173943; font-size: 1.18rem; line-height: 1.3; }
.contact-location-card address { color: #50666c; font-style: normal; line-height: 1.6; }
.contact-route-button { display: inline-block; align-self: flex-start; margin-top: auto; padding: .62rem .78rem; border: 1px solid #a9c9c9; border-radius: 6px; color: #087b86; font-weight: 800; text-decoration: none; }
.contact-route-button:hover,.contact-route-button:focus { background: #e9f5f5; }
.contact-maps { margin-top: 3.2rem; }
.contact-maps article { overflow: hidden; border: 1px solid #d8e6e5; border-radius: 10px; background: #fff; }
.contact-maps h2 { margin: 0; padding: 1rem 1.15rem; font-size: 1.05rem; }
.contact-maps iframe { display: block; width: 100%; height: 290px; border: 0; }
.contact-company-details { margin: 2rem 0 0; color: #50666c; font-size: .9rem; }
@media (max-width: 760px) { .contact-page-intro { margin-bottom: 1.8rem; }.contact-actions,.contact-location-grid,.contact-maps { grid-template-columns: 1fr; }.contact-actions { margin-bottom: 2.8rem; }.contact-action { min-height: 142px; }.contact-locations { padding-top: 2.3rem; }.contact-maps { margin-top: 2.5rem; }.contact-maps iframe { height: 260px; } }
