/* Contact pages: shared brand styles are loaded from style.css. */
.contact-page {background:#f5f8fa; min-height:100%; color:#0f2237; display:flex; flex-direction:column;}
.contact-page .site-header {border-bottom:1px solid #e8edf1;}
.contact-page a {text-underline-offset:4px;}
.contact-main {width:100%; max-width:700px; margin:auto; padding:30px 28px 64px; flex:1;}
.contact-breadcrumb {font-size:12px; color:#637487; display:flex; gap:12px; margin-bottom:36px;}
.contact-breadcrumb a {color:inherit; text-decoration:none;}
.contact-layout {display:block;}
.contact-panel {background:#fff; border:1px solid #e0e7ec; border-radius:16px; box-shadow:0 12px 40px rgba(15,34,55,.04); overflow:hidden;}
.contact-tabs {display:grid; grid-template-columns:1fr 1fr; background:#edf2f5;}
.contact-tabs a {padding:18px 8px; text-align:center; text-decoration:none; color:#637487; font-weight:700; font-size:14px; border-bottom:3px solid transparent;}
.contact-tabs a[aria-current=page] {background:#fff; color:#0f2237; border-bottom-color:#294973;}
.contact-form {padding:30px 34px 32px;}
.contact-form h1 {margin:0 0 8px; font-size:21px; letter-spacing:.03em;}
.contact-form-note {font-size:12px; color:#637487; margin:0 0 26px; line-height:1.8;}
.contact-required {display:inline-block; border-radius:3px; background:#fcebed; color:#b33442; padding:1px 6px; font-size:10px; font-weight:700; vertical-align:middle; margin-left:8px;}
.contact-field {margin-bottom:21px;}
.contact-field label {display:block; color:#253d53; font-size:13px; font-weight:700; margin-bottom:8px;}
.contact-field input,.contact-field select {width:100%; min-height:48px; padding:12px 14px; border:1px solid #cfd9e1; border-radius:6px; background:#fff; color:#0f2237; font-family:inherit; font-size:16px; line-height:1.5; box-shadow:none;}
.contact-field input::placeholder {color:#94a1ad; font-size:14px;}
.contact-field input:hover,.contact-field select:hover {border-color:#8ba0b3;}
.contact-page :focus-visible {outline:3px solid #83b5d2; outline-offset:3px;}
.contact-field small {display:block; margin-top:6px; color:#637487; font-size:11px;}
.contact-privacy {display:flex; align-items:flex-start; gap:10px; font-size:12px; line-height:1.9; margin:25px 0; cursor:pointer;}
.contact-privacy input {flex-shrink:0; width:18px; height:18px; margin:3px 0 0; accent-color:#294973;}
.contact-privacy a {color:#294973;}
.contact-submit {width:100%; min-height:54px; display:flex; align-items:center; justify-content:center; gap:16px; border:0; border-radius:7px; background:#0f2237; color:#fff; line-height:1.6; font-family:inherit; font-size:15px; font-weight:700; cursor:pointer; transition:background .2s;}
.contact-submit:hover {background:#294973;}
.contact-submit:disabled {opacity:.65; cursor:wait;}
.contact-result-note {margin:13px 0 0; font-size:11px; line-height:1.8; color:#637487; text-align:center;}
.contact-status {font-size:12px; color:#294973; margin:12px 0 0;}
.contact-switch {text-align:center; font-size:12px; color:#637487; margin:24px 0 0; line-height:1.9;}
.contact-switch a {color:#294973; font-weight:700;}
.contact-trap {position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%);}
.contact-footer {background:#0c1a2b; color:#c6d0da; padding:26px 28px; font-size:11px;}
.contact-footer-inner {max-width:1104px; margin:auto; display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap;}
.contact-footer a {color:#c6d0da;}
@media(max-width:700px) {
  .contact-main{padding:20px 16px 40px;}
  .contact-breadcrumb{margin-bottom:20px;}
  .contact-form{padding:26px 22px;}
  .contact-page .brand__logo{height:25px;}
  .contact-page .site-header__inner{padding-inline:16px; gap:10px;}
  .contact-page .site-header .nav a{font-size:11px; padding:0 9px; height:34px;}
  .contact-page .site-header .nav{gap:6px;}
  .contact-footer-inner{justify-content:center; text-align:center;}
}