.contact-page { background:#fff; color:var(--ink); }
.contact-hero { background:linear-gradient(120deg,#f4fbff,#e5f3fb); padding:32px 0 34px; }
.contact-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:42px; align-items:center; }
.contact-hero h1 { margin:8px 0 18px; color:#102f4f; font-size:clamp(38px,4.4vw,60px); line-height:1.05; letter-spacing:-.04em; }
.contact-hero p:not(.contact-eyebrow) { max-width:650px; color:#40576b; font-size:18px; line-height:1.55; }
.contact-eyebrow { margin:0 0 10px; color:#086bb8; font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.contact-hero-visual img { display:block; width:100%; height:320px; object-fit:cover; object-position:right center; border-radius:4px; }

.contact-four-band, .contact-five-band { border-top:1px solid #dce7ee; border-bottom:1px solid #dce7ee; background:#fff; }
.contact-band-grid { display:grid; }
.contact-band-grid.four { grid-template-columns:repeat(4,1fr); }
.contact-band-grid.five { grid-template-columns:repeat(5,1fr); }
.contact-band-grid article { min-width:0; padding:26px 18px; text-align:center; border-right:1px solid #dce7ee; }
.contact-band-grid article:last-child { border-right:0; }
.contact-four-band article { display:flex; align-items:center; justify-content:center; gap:12px; text-align:left; }
.contact-band-icon,
.contact-benefit-icon {
    flex:0 0 44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border-radius:50%;
    color:#fff;
    font-size:0;
}
.contact-band-icon svg,
.contact-benefit-icon svg {
    width:22px;
    height:22px;
    display:block;
    fill:currentColor;
}
.icon-blue { background:#167bc1; }
.icon-green { background:#3aa64a; }
.icon-orange { background:#f28a18; }
.icon-purple { background:#7b3fc4; }
.icon-red { background:#d83b45; }
.contact-five-band .contact-benefit-icon { color:#fff; }
.contact-five-band article { display:flex; align-items:center; justify-content:center; gap:12px; text-align:left; }
.contact-band-grid h2 { margin:0 0 5px; color:#102f4f; font-size:16px; line-height:1.2; letter-spacing:0; }
.contact-band-grid p { margin:0; color:#627382; font-size:12px; line-height:1.35; }

.contact-enquiry { padding:62px 0 66px; background:#fff; }
.contact-enquiry-grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:42px; align-items:start; }
.contact-building-image img { display:block; width:100%; height:330px; object-fit:cover; border-radius:4px; margin-bottom:26px; }
.contact-intro h2, .contact-form-card h2 { margin:0 0 13px; color:#123553; font-size:clamp(30px,3.1vw,43px); line-height:1.08; letter-spacing:-.035em; }
.contact-intro > p:not(.contact-eyebrow) { color:#526577; font-size:16px; line-height:1.55; max-width:560px; }
.contact-accent { width:55px; height:3px; margin:24px 0 18px; background:#087bc1; }
.contact-closing { color:#123553!important; font-weight:700; }

.contact-form-card { padding:30px 32px 34px; border:1px solid #dce4ea; border-radius:8px; box-shadow:0 12px 34px rgba(16,47,79,.08); background:#fff; }
.contact-form-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:25px; padding-bottom:20px; border-bottom:1px solid #e5ebef; }
.contact-form-heading h2 { font-size:31px; margin-bottom:0; }
.contact-form-heading > p { margin:0 0 3px; color:#6b7780; font-size:12px; white-space:nowrap; }
.contact-form-heading strong { color:#c52a2a; }

.contact-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding-top:22px; }
.contact-field { min-width:0; }
.contact-field.full { grid-column:1/-1; }
.contact-field label { display:block; margin:0 0 6px; color:#34414b; font-size:12px; font-weight:700; }
.contact-field label span { color:#c52a2a; }
.contact-isd-display { display:flex; align-items:center; min-height:46px; padding:11px 14px; border:1px solid #d7dee5; border-radius:8px; background:#f5f8fa; color:#123553; font-weight:700; box-sizing:border-box; }
.contact-field input, .contact-field select, .contact-field textarea {
    width:100%; padding:11px 12px; border:1px solid #ccd7df; border-radius:4px;
    background:#fff; color:#20272d; font:inherit; font-size:14px; outline:none;
}
.contact-field textarea { min-height:155px; resize:vertical; }
.contact-field input:focus, .contact-field select:focus, .contact-field textarea:focus {
    border-color:#087bc1; box-shadow:0 0 0 3px rgba(8,123,193,.10);
}
.contact-consent { display:flex; gap:10px; align-items:flex-start; margin-top:18px; color:#596872; font-size:12px; line-height:1.45; }
.contact-consent input { margin-top:3px; accent-color:#087bc1; }
.contact-consent b { color:#c52a2a; }
.contact-submit {
    margin-top:18px; min-height:46px; padding:0 20px; border:0; border-radius:5px;
    background:#105487; color:#fff; font-weight:800; cursor:pointer;
}
.contact-submit:hover { background:#0a436d; }
.contact-submit:disabled { opacity:.65; cursor:wait; }
.contact-response { display:none; margin-top:18px; padding:15px 17px; border-radius:5px; font-size:14px; line-height:1.45; }
.contact-response.success { display:block; color:#165b38; background:#eaf7f0; border:1px solid #b9e1c9; }
.contact-response.error { display:block; color:#8c2525; background:#fff1f1; border:1px solid #efc4c4; }
.contact-hp { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }

.contact-five-band { background:#f6fbfe; }
.contact-five-band .contact-band-grid article { padding:24px 14px; }


@media(max-width:900px){
    .contact-hero-grid, .contact-enquiry-grid { grid-template-columns:1fr; }
    .contact-hero-visual img { height:280px; }
    .contact-band-grid.four { grid-template-columns:repeat(2,1fr); }
    .contact-band-grid.five { grid-template-columns:repeat(2,1fr); }
    .contact-four-band article:nth-child(2n), .contact-five-band article:nth-child(2n) { border-right:0; }
}
@media(max-width:600px){
    .contact-hero { padding:28px 0 30px; }
    .contact-hero-grid { gap:25px; }
    .contact-hero h1 { font-size:39px; }
    .contact-hero-visual img { height:230px; }
    .contact-band-grid.four, .contact-band-grid.five, .contact-form-grid { grid-template-columns:1fr; }
    .contact-band-grid article { border-right:0; border-bottom:1px solid #dce7ee; }
    .contact-band-grid article:last-child { border-bottom:0; }
    .contact-four-band article { justify-content:flex-start; text-align:left; }
    .contact-five-band article { flex-direction:column; justify-content:center; text-align:center; gap:10px; }
    .contact-enquiry { padding:42px 0; }
    .contact-building-image img { height:240px; }
    .contact-form-card { padding:23px 18px 26px; }
    .contact-form-heading { display:block; }
    .contact-form-heading > p { margin-top:8px; white-space:normal; }
    .contact-field.full { grid-column:auto; }
}
