.contact-page-intro { padding-top: clamp(44px,7vw,88px); padding-bottom: 36px; }
.contact-page-intro h1 { margin: 0 0 20px; color: #123047; font-size: clamp(2.4rem,5vw,4.2rem); line-height: 1.08; letter-spacing: -.035em; }
.contact-page-lead { max-width: 760px; margin: 0; color: #38566d; font-size: 1.15rem; line-height: 1.7; }
.contact-page-section { padding: 36px 0 76px; background: #edf6fc; }
.contact-page-layout { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; align-items: stretch; }
.contact-page-card { min-width: 0; padding: clamp(24px,3vw,38px); border: 1px solid #ccdce7; border-radius: 12px; background: #fff; color: #17364b; }
.contact-page-card h2 { margin: 0 0 12px; color: #123047; font-size: 1.6rem; line-height: 1.3; }
.contact-page-card p,.contact-page-card li { line-height: 1.65; }
.contact-page-credentials { margin: -4px 0 28px; color: #125d91; }
.contact-page-address { font-style: normal; }
.contact-page-method { padding: 18px 0; border-top: 1px solid #d9e5ed; }
.contact-page-label { display: block; margin-bottom: 6px; color: #526b7c; font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; }
.contact-page-link { display: inline-block; max-width: 100%; color: #125d91; font-size: clamp(1.15rem,2.2vw,1.5rem); font-weight: 600; text-decoration-thickness: 1px; text-underline-offset: 4px; overflow-wrap: anywhere; }
.contact-page-link:hover { color: #123047; }
.contact-page-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.contact-page-actions .button { text-align: center; }
.contact-page-card a:focus-visible { outline: 3px solid #47afe0; outline-offset: 4px; }
.contact-page-project ul { padding-left: 21px; margin: 18px 0 24px; }
.contact-page-project li + li { margin-top: 9px; }
.contact-page-small { color: #526b7c; font-size: .88rem; }
@media(max-width:760px) { .contact-page-layout { grid-template-columns: minmax(0,1fr); } }
