/* PASCO Contact Us modern layout - scoped to contact pages only */
body.contact-modern-page { background:#f3f7fb; color:#20364f; }
.contact-modern-page .pageContent { background:#f3f7fb; padding-bottom:46px; }
.contact-hero {
  position:relative;
  min-height:230px;
  display:flex;
  align-items:center;
  background-image:linear-gradient(90deg,rgba(0,29,66,.96) 0%,rgba(0,61,121,.86) 46%,rgba(0,92,170,.36) 100%),url('../images/contact-us/banner-modern.jpg');
  background-size:cover;
  background-position:center center;
  overflow:hidden;
}
.contact-hero:after { content:""; position:absolute; inset:0; background:linear-gradient(120deg,rgba(255,255,255,0) 55%,rgba(255,255,255,.09)); pointer-events:none; }
.contact-hero .container { position:relative; z-index:1; }
.contact-hero__inner { max-width:700px; padding:40px 0 42px; color:#fff; }
.contact-hero__eyebrow { display:inline-block; margin-bottom:8px; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; opacity:.82; }
.contact-hero h2 { margin:0 0 9px; font-size:45px; line-height:1.08; font-weight:700; color:#fff; }
.contact-hero p { margin:0; max-width:650px; font-size:17px; line-height:1.6; color:rgba(255,255,255,.93); }
.contact-modern-wrap { margin-top:22px; position:relative; z-index:2; }
.contact-main-grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:22px; align-items:start; }
.contact-stack { display:grid; gap:16px; }
.contact-card,
.contact-form-card,
.contact-map-card { background:#fff; border:1px solid #dfe8f2; border-radius:13px; box-shadow:0 8px 26px rgba(22,60,100,.08); }
.contact-card { padding:24px 25px; position:relative; overflow:hidden; }
.contact-card:after { content:""; position:absolute; right:-90px; top:-90px; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle,rgba(9,103,193,.08),rgba(9,103,193,0) 70%); pointer-events:none; }
.contact-card h3 { margin:0 0 7px; color:#08356b; font-size:24px; font-weight:700; position:relative; z-index:1; }
.contact-card .contact-desc { margin:0 0 17px; color:#60758a; font-size:14px; line-height:1.6; position:relative; z-index:1; }
.contact-company-name { color:#08356b; font-weight:700; font-size:19px; margin-bottom:15px; }
.contact-info-row { display:flex; gap:13px; align-items:flex-start; padding:10px 0; border-top:1px solid #e8eef5; position:relative; z-index:1; }
.contact-info-row:first-of-type { border-top:0; }
.contact-info-icon { flex:0 0 39px; width:39px; height:39px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#eaf4ff; color:#0867bd; font-size:17px; }
.contact-info-content { min-width:0; }
.contact-info-content strong { display:block; margin-bottom:3px; color:#123b67; font-size:13px; text-transform:uppercase; letter-spacing:.03em; }
.contact-info-content span,
.contact-info-content a { color:#4c6177; line-height:1.55; font-size:14px; word-break:break-word; }
.contact-info-content a:hover { color:#005eb8; text-decoration:none; }
.contact-person { display:block; color:#6f8294!important; font-size:12px!important; margin-top:3px; }
.contact-form-card { padding:25px 26px 24px; }
.contact-form-title { display:flex; gap:12px; align-items:center; margin-bottom:4px; }
.contact-form-title .fa { color:#075db3; font-size:25px; transform:rotate(-10deg); }
.contact-form-title h3 { margin:0; color:#08356b; font-size:27px; font-weight:700; }
.contact-form-intro { margin:0 0 19px; color:#6b7f92; font-size:14px; line-height:1.55; }
.contact-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px 16px; }
.contact-field { min-width:0; }
.contact-field--full { grid-column:1 / -1; }
.contact-field label { display:block; margin:0 0 6px; color:#153b63; font-size:13px; font-weight:700; }
.contact-field .required { color:#d8232a; margin-left:3px; }
.contact-field input,
.contact-field select,
.contact-field textarea { width:100%; border:1px solid #cfdbea; border-radius:7px; background:#fff; color:#324d68; font-size:14px; padding:10px 12px; outline:none; box-shadow:inset 0 1px 2px rgba(24,61,96,.02); transition:border-color .2s,box-shadow .2s; }
.contact-field select { height:42px; }
.contact-field textarea { min-height:132px; resize:vertical; }
.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus { border-color:#0b6ac0; box-shadow:0 0 0 3px rgba(11,106,192,.10); }
.contact-route-note { margin:16px 0 13px; padding:11px 13px; border-radius:8px; background:#eef6ff; color:#47627d; font-size:12px; line-height:1.55; display:flex; gap:9px; align-items:flex-start; }
.contact-route-note .fa { color:#0969bd; margin-top:2px; }
.contact-route-note a { color:#075fb5; font-weight:700; }
.contact-send-btn { width:100%; border:0; border-radius:7px; background:linear-gradient(90deg,#0758b1,#0a72cc); color:#fff; padding:12px 18px; font-size:16px; font-weight:700; box-shadow:0 7px 16px rgba(7,88,177,.20); transition:transform .15s,box-shadow .15s; }
.contact-send-btn:hover,.contact-send-btn:focus { color:#fff; transform:translateY(-1px); box-shadow:0 10px 20px rgba(7,88,177,.25); outline:none; }
.contact-send-btn .fa { margin-right:8px; }
.contact-form-helper { margin:9px 0 0; color:#8493a2; font-size:11px; text-align:center; line-height:1.5; }
.contact-map-card { margin-top:22px; padding:0; overflow:hidden; }
.contact-map-layout { display:grid; grid-template-columns:minmax(280px,.38fr) minmax(0,.62fr); min-height:255px; }
.contact-map-info { padding:25px 27px; display:flex; flex-direction:column; justify-content:center; }
.contact-map-info h3 { margin:0 0 6px; color:#08356b; font-size:23px; font-weight:700; }
.contact-map-info p { margin:0 0 12px; color:#60758a; font-size:14px; line-height:1.6; }
.contact-map-info strong { color:#173d68; }
.contact-map-btn { display:inline-flex; width:max-content; align-items:center; gap:7px; padding:8px 13px; border:1px solid #9ec6eb; border-radius:6px; color:#075fb5; background:#f7fbff; font-weight:700; font-size:13px; }
.contact-map-btn:hover { text-decoration:none; background:#eef7ff; color:#064f96; }
.contact-map-link { display:block; background:#edf4fa; min-height:255px; overflow:hidden; }
.contact-map-link img { width:100%; height:100%; min-height:255px; object-fit:cover; display:block; transition:transform .25s ease; }
.contact-map-link:hover img { transform:scale(1.012); }
@media (max-width: 991px) {
  .contact-hero { min-height:210px; }
  .contact-hero h2 { font-size:39px; }
  .contact-main-grid { grid-template-columns:1fr; }
  .contact-map-layout { grid-template-columns:1fr; }
  .contact-map-link { min-height:230px; }
  .contact-map-link img { min-height:230px; }
}
@media (max-width: 767px) {
  .contact-modern-page .pageContent { padding-bottom:24px; }
  .contact-hero { min-height:190px; }
  .contact-hero__inner { padding:32px 3px; }
  .contact-hero h2 { font-size:33px; }
  .contact-hero p { font-size:15px; }
  .contact-modern-wrap { padding-left:14px; padding-right:14px; }
  .contact-card,.contact-form-card { padding:20px; }
  .contact-card h3 { font-size:21px; }
  .contact-form-title h3 { font-size:23px; }
  .contact-form-grid { grid-template-columns:1fr; gap:12px; }
  .contact-field--full { grid-column:auto; }
  .contact-map-info { padding:20px; }
}
