/* One continuous right-hand column: sidebar height must never separate contact details and inquiry. */
.document-layout.contact-page { align-items:start; }
.contact-page > .contact-main { grid-area:article; display:grid; gap:20px; min-width:0; }
.contact-page.contact-page-standalone { grid-template-columns:minmax(0,1fr); grid-template-areas:"article"; }
.contact-page .contact-main > .document-panel,
.contact-page .contact-main > .contact-inquiry { padding:28px 32px; border:1px solid #d8e5f0; border-radius:10px; background:#fff; box-shadow:0 3px 14px rgb(23 50 77 / 3%); }
.contact-page .contact-panel-title { margin:0 0 18px; padding-left:12px; border-left:3px solid var(--blue); color:var(--ink); font-size:1.25rem; font-weight:650; line-height:1.5; }
.contact-page .document-panel > .document-body { max-width:none; }
.contact-page .document-body .contact-details { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:16px; margin:0; }
/* Contact channels, not technical maintenance. Keep source order and all values intact. */
.contact-page .contact-details > div { --contact-accent:#376e97; --contact-tint:#eff5fb; display:grid; grid-template-columns:48px minmax(0,1fr); gap:4px 16px; align-content:center; min-width:0; padding:22px; border:1px solid #dce7f0; border-radius:12px; background:#fff; box-shadow:0 4px 14px rgb(31 72 108 / 4%); }
.contact-page .contact-details > div::before { content:""; grid-column:1; grid-row:1 / span 2; align-self:center; width:48px; height:48px; border-radius:12px; background:var(--contact-tint) center / 34px 34px no-repeat; }
.contact-page .contact-details > div:nth-child(1)::before { background-image:url('/images/contact-hours.svg'); }
.contact-page .contact-details > div:nth-child(2)::before { background-image:url('/images/contact-phone.svg'); }
.contact-page .contact-details > div:nth-child(3)::before { background-image:url('/images/contact-fax.svg'); }
.contact-page .contact-details > div:nth-child(4)::before { background-image:url('/images/contact-mail.svg'); }
.contact-page .contact-details > div:nth-child(5)::before { background-image:url('/images/contact-location.svg'); }
.contact-page .contact-details > div:nth-child(2) { border-color:#cbdfea; background:linear-gradient(120deg,#f1f7fd,#fff); }
.contact-page .contact-details > div:nth-child(4) { --contact-accent:#276f66; --contact-tint:#eaf5f1; border-color:#d2e5df; background:linear-gradient(120deg,#f0f8f5,#fff); }
.contact-page .contact-details > .contact-address { --contact-tint:#eaf5f1; grid-column:1 / -1; background:linear-gradient(110deg,#f7fafc,#f0f6fa); box-shadow:none; }
.contact-page .contact-details dt { grid-column:2; align-self:center; margin:0; color:#526d80; font-size:.875rem; line-height:1.6; font-weight:500; }
.contact-page .contact-details dd { grid-column:2; min-width:0; display:flex; align-items:center; min-height:44px; margin:0; color:#254760; font-size:1.0625rem; line-height:1.65; overflow-wrap:anywhere; }
.contact-page .contact-details dd a { display:inline-flex; align-items:center; max-width:100%; min-height:44px; color:var(--contact-accent); font-size:1.125rem; font-weight:650; text-decoration:none; overflow-wrap:anywhere; }
.contact-page .contact-details > div:nth-child(2) dd a { font-size:1.25rem; font-variant-numeric:tabular-nums; }
.contact-page .contact-details dd a:hover { text-decoration:underline; text-underline-offset:5px; }
@media(max-width:599.98px) {
	.contact-page .document-body .contact-details { gap:12px; }
	.contact-page .contact-details > div { grid-template-columns:40px minmax(0,1fr); gap:10px 12px; padding:18px; }
	.contact-page .contact-details > div::before { grid-row:1; width:40px; height:40px; background-size:30px 30px; border-radius:10px; }
	.contact-page .contact-details dd { grid-column:1 / -1; }
	.contact-page .contact-details dd a { font-size:1rem; }
}
.contact-page .about-contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:28px; }
.contact-page .about-contact-fields > div { grid-template-columns:94px minmax(0,1fr); gap:12px; padding:12px 0; }
.contact-page .about-contact-fields > div:first-child { padding-top:12px; }
.contact-page .about-contact-fields > div:last-child { grid-column:1 / -1; }
.contact-page .about-contact-fields dt { color:#526779; font-size:.8125rem; }
.contact-page .about-contact-fields dt strong { color:inherit; font-size:inherit; font-weight:600; }
.contact-page .about-contact-fields dd { color:var(--ink); font-size:.9375rem; line-height:1.7; }
.contact-page .contact-inquiry.inquiry-section { display:block; width:100%; max-width:none; margin:0; scroll-margin-top:24px; }
.contact-page .inquiry-intro { padding:0; margin-bottom:20px; }
.contact-page .contact-inquiry .inquiry-intro { padding-bottom:18px; border-bottom:1px solid #e1eaf2; }
.contact-page .inquiry-intro .contact-panel-title { margin-bottom:10px; }
.contact-page .inquiry-intro .inquiry-description { margin:0; color:var(--muted); font-size:.8125rem; line-height:1.8; white-space:normal; overflow-wrap:anywhere; }
.contact-page .inquiry-description a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.contact-page .inquiry-form { padding:0; border:0; border-radius:0; background:transparent; }
.contact-page .form-grid { gap:16px 20px; }
.contact-page .inquiry-form label { margin-bottom:6px; font-weight:500; }
.contact-page .inquiry-form .form-grid > div { min-width:0; }
.contact-page .inquiry-form input:not([type=checkbox]),
.contact-page .inquiry-form textarea { min-width:0; min-height:44px; padding:10px 12px; background:#f8fafc; border-color:#c3d3e2; border-radius:6px; line-height:1.5; }
.contact-page .inquiry-form input:focus,
.contact-page .inquiry-form textarea:focus { border-color:var(--blue); background:#fff; }
.contact-page .inquiry-form > input { margin-bottom:16px; }
.contact-page .inquiry-form .field-hint { margin:8px 0 18px; }
.contact-page .inquiry-form textarea { margin-bottom:14px; }
.contact-page .inquiry-form .consent { margin:0 0 18px; font-size:.8125rem; font-weight:400; }
.contact-page .inquiry-form .consent input { flex:0 0 auto; width:16px; height:16px; margin-top:3px; }
.contact-page .inquiry-form > button { min-height:44px; padding:11px 26px; box-shadow:none; }
.contact-page .form-errors ul { margin:0 0 16px; }
.contact-page .form-success { padding:18px 20px; border-color:#c9e0de; background:#f1f8f7; }
@media(max-width:900px) {
	.contact-page .inquiry-form .form-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:1100px) {
	.contact-page .contact-main > .document-panel,
	.contact-page .contact-main > .contact-inquiry { padding:24px; }
	.contact-page .about-contact-fields { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:767.98px) {
	.document-layout.contact-page { grid-template-areas:"article" "sidebar"; }
	.contact-page .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:599.98px) {
	.contact-page .contact-main > .document-panel,
	.contact-page .contact-main > .contact-inquiry { padding:20px; }
	.contact-page .about-contact-fields,
	.contact-page .form-grid { grid-template-columns:minmax(0,1fr); }
	.contact-page .about-contact-fields > div { grid-template-columns:minmax(0,1fr); gap:4px; }
	.contact-page .about-contact-fields > div:last-child { grid-column:auto; }
	.contact-page .contact-panel-title { font-size:1.125rem; }
	.contact-page .inquiry-form > button { width:100%; }
}
