/* Contact page: calm visual cues support clear next steps. */
body[data-page="contact"] .contact-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 24px;font-size:15px;line-height:1.6;color:#526a7b}
body[data-page="contact"] .contact-breadcrumb a{color:#006c89;text-decoration:underline;text-underline-offset:4px}
body[data-page="contact"] .contact-jump{display:flex;flex-wrap:wrap;gap:10px 24px;margin:0 0 34px;padding:16px 0;border-block:1px solid #d1e2eb;font-size:17px;font-weight:600;line-height:1.6}
body[data-page="contact"] .contact-jump a{color:#006c89;text-underline-offset:5px}
body[data-page="contact"] section[id]{scroll-margin-top:130px}
body[data-page="contact"] .contact-option address{font-style:normal;color:#526a7b;line-height:1.8;margin:6px 0}
body[data-page="contact"] .contact-service-guide{background:#f2f8fb;border-block:1px solid #e0edf3}
body[data-page="contact"] .contact-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
body[data-page="contact"] .contact-service{display:flex;flex-direction:column;min-width:0;background:white;border:1px solid #d4e5ed;border-radius:18px;padding:30px;scroll-margin-top:130px}
body[data-page="contact"] .contact-service:last-child{grid-column:1/-1}
body[data-page="contact"] .contact-route{color:#00718c;font-size:15px;font-weight:600;line-height:1.7;margin-bottom:14px}
body[data-page="contact"] .contact-service h3{font-size:29px;line-height:1.3;margin-bottom:14px}
body[data-page="contact"] .contact-service p{font-size:18px;line-height:1.8;color:#526a7b}
body[data-page="contact"] p.contact-service-note{font-size:16px;margin:16px 0 24px;padding-left:14px;border-left:2px solid #82c5d8}
body[data-page="contact"] .contact-service .actions{display:flex;flex-wrap:wrap;gap:15px 24px;margin-top:auto}
body[data-page="contact"] .contact-service .text-link{font-size:16px;white-space:normal;min-height:44px;line-height:1.6}
body[data-page="contact"] .contact-guide-note{margin-top:24px;font-size:16px;line-height:1.8;color:#526a7b}
body[data-page="contact"] .footer-bottom>div{flex-wrap:wrap;gap:12px 20px}
body[data-page="contact"] .btn{white-space:normal;text-align:center}
@media(max-width:700px){body[data-page="contact"] .contact-services{grid-template-columns:minmax(0,1fr)}body[data-page="contact"] .contact-service{padding:24px}body[data-page="contact"] .contact-jump{gap:12px 22px}body[data-page="contact"] .contact-service h3{font-size:27px}}
body[data-page="contact"] .page-intro,
body[data-page="contact"] .contact-card > h2,
body[data-page="contact"] .location-copy > h2,
body[data-page="contact"] .faq-intro > h2 { position: relative; }
body[data-page="contact"] .page-intro::after,
body[data-page="contact"] .contact-card > h2::after,
body[data-page="contact"] .location-copy > h2::after,
body[data-page="contact"] .faq-intro > h2::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -13px;
  width: clamp(2.5rem, 6vw, 4rem);
  height: 2px;
  border-radius: 3px;
  background: linear-gradient(90deg, #0089ad, #80d7ea);
  transform-origin: left;
  pointer-events: none;
}
body[data-page="contact"] .page-intro::after { bottom: 24px; }
body[data-page="contact"] .contact-card > h2 + p,
body[data-page="contact"] .location-copy > h2 + p,
body[data-page="contact"] .faq-intro > h2 + p { margin-top: 28px; }
body[data-page="contact"] .is-contact-chapter::after {
  animation: contact-rule-arrive 560ms 180ms cubic-bezier(.22, 1, .36, 1) backwards;
}
body[data-page="contact"] .contact-card {
  transition: border-color 220ms ease, box-shadow 220ms ease;
}
body[data-page="contact"] .contact-card:focus-within {
  border-color: #84b6c9;
  box-shadow: 0 12px 40px #14446310;
}
body[data-page="contact"] .contact-result {
  transition: border-color 220ms ease, background-color 220ms ease;
}
body[data-page="contact"] .contact-result:focus-within {
  border-color: #69acc2;
  background-color: #e8f6fd;
}
body[data-page="contact"] p[data-contact-mode] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  margin: 0 0 18px;
  padding: 6px 11px;
  border: 1px solid #b9dce8;
  border-radius: 50px;
  color: #00657e;
  background: #fff;
  font-size: 15px;
  line-height: 1.6;
  font-weight: 600;
}
body[data-page="contact"] p[data-contact-mode]::before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: #007a9a;
}
body[data-page="contact"] .contact-result .btn:focus-visible {
  outline: 3px solid #007a9a;
  outline-offset: 5px;
}
body[data-page="contact"] .contact-option .text-link:focus-visible,
body[data-page="contact"] .contact-card > .text-link:focus-visible { outline-offset: 5px; }
@keyframes contact-rule-arrive {
  from { opacity: .45; transform: scaleX(.25); }
  to { opacity: 1; transform: scaleX(1); }
}
@media (max-width: 600px) {
  body[data-page="contact"] .page-intro::after { bottom: 14px; }
  body[data-page="contact"] .contact-result .btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  body[data-page="contact"] .is-contact-chapter::after { animation: none; }
  body[data-page="contact"] .contact-card,
  body[data-page="contact"] .contact-result { transition: none; }
}
