/* Future Insights contact page only. Loaded conditionally by includes/header.php */
.contact-page { background:#fff; color:#172334; }
.contact-page .contact-hero { padding:72px 0 78px; background:#0d1b2a; color:#fff; }
.contact-page .contact-hero h1,.contact-page .contact-hero p,.contact-page .contact-hero .crumbs,.contact-page .contact-hero .crumbs a { color:#fff; }
.contact-page .contact-hero h1 { margin:12px 0 16px; font-size:clamp(2.2rem,5vw,3.5rem); line-height:1.15; }
.contact-page .contact-hero-lead { max-width:720px; line-height:1.8; }
.contact-page .contact-eyebrow { margin:0 0 10px; color:#a33b35; font-size:.78rem; font-weight:700; letter-spacing:1.5px; }
.contact-page .contact-hero .contact-eyebrow { color:#e9b9b5; }
.contact-page .contact-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:26px; }
.contact-page .contact-white-btn { display:inline-block; padding:13px 20px; border-radius:8px; background:#fff; color:#0d1b2a; font-weight:700; text-decoration:none; }
.contact-page .contact-hero-phone { color:#fff; font-weight:600; text-decoration:none; }
.contact-page .contact-info-section,.contact-page .contact-enquiry-section,.contact-page .contact-map-section { padding:68px 0; }
.contact-page .contact-section-heading { max-width:740px; margin:0 auto 34px; text-align:center; }
.contact-page .contact-section-heading h2 { margin:8px 0 12px; color:#0d1b2a; font-size:clamp(1.8rem,3vw,2.5rem); }
.contact-page .contact-info-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.contact-page .contact-info-card { min-width:0; padding:25px 22px; border:1px solid #e3e8ee; border-radius:15px; background:#fff; box-shadow:0 8px 26px rgba(13,27,42,.05); overflow-wrap:anywhere; }
.contact-page .contact-info-icon { display:grid; place-items:center; width:46px; height:46px; border-radius:12px; background:#edf2f7; color:#0d1b2a; font-size:23px; }
.contact-page .contact-info-card h3 { margin:17px 0 8px; color:#0d1b2a; }
.contact-page .contact-info-card p { line-height:1.7; }
.contact-page .contact-info-card a,.contact-page .contact-map-link a { color:#963a35; font-weight:600; text-decoration:none; }
.contact-page .contact-whatsapp-row { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 16px; margin-top:28px; }
.contact-page .contact-whatsapp-row a { color:#963a35; font-weight:700; text-decoration:none; }
.contact-page .contact-enquiry-section { background:#f5f7fa; }
.contact-page .contact-enquiry-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; align-items:stretch; }
.contact-page .contact-visual { display:flex; flex-direction:column; min-width:0; overflow:hidden; border-radius:18px; background:#0d1b2a; color:#fff; }
.contact-page .contact-visual > img { display:block; width:100%; height:330px; object-fit:cover; }
.contact-page .contact-visual-content { padding:26px 28px 14px; }
.contact-page .contact-visual-label { color:#e9b9b5; font-size:.78rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.contact-page .contact-visual-content h3,.contact-page .contact-visual-content p { color:#fff; }
.contact-page .contact-visual-content h3 { margin:10px 0; font-size:1.8rem; }
.contact-page .contact-visual-content p { line-height:1.8; }
.contact-page .contact-visual-services { display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; padding:0 28px 28px; }
.contact-page .contact-visual-services span { padding:8px 11px; border:1px solid rgba(255,255,255,.28); border-radius:99px; color:#fff; font-size:.8rem; }
.contact-page .contact-form-card { min-width:0; padding:32px; border:1px solid #e2e7ed; border-radius:18px; background:#fff; box-shadow:0 12px 34px rgba(13,27,42,.06); }
.contact-page .contact-form-card h2 { margin:8px 0; color:#0d1b2a; font-size:1.65rem; }
.contact-page .contact-form-intro { color:#647184; }
.contact-page .contact-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:22px; }
.contact-page .contact-field { min-width:0; margin:0; }
.contact-page .contact-field-full { grid-column:1/-1; }
.contact-page .contact-field label { display:block; margin:0 0 7px; color:#172334; font-weight:600; }
.contact-page .contact-field input,.contact-page .contact-field select,.contact-page .contact-field textarea { box-sizing:border-box; display:block; width:100%; max-width:100%; padding:13px 14px; border:1px solid #d5dce5; border-radius:9px; background:#fff; color:#172334; font:inherit; }
.contact-page .contact-field textarea { resize:vertical; }
.contact-page .contact-field input:focus,.contact-page .contact-field select:focus,.contact-page .contact-field textarea:focus { outline:2px solid #c1d0df; border-color:#0d1b2a; }
.contact-page .contact-submit-btn { margin-top:22px; padding:14px 22px; border:0; border-radius:9px; background:#0d1b2a; color:#fff; font:inherit; font-weight:700; cursor:pointer; }
.contact-page .contact-privacy-note { color:#667384; font-size:.8rem; line-height:1.6; }
.contact-page .contact-form-success,.contact-page .contact-form-error { margin:18px 0; padding:13px 15px; border-radius:8px; }
.contact-page .contact-form-success { background:#edf8f0; color:#205c32; }
.contact-page .contact-form-error { background:#fff0ef; color:#8a2924; }
.contact-page .contact-form-error a { color:inherit; font-weight:700; }
.contact-page .contact-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.contact-page .contact-map-frame { overflow:hidden; border:1px solid #e1e7ee; border-radius:18px; box-shadow:0 10px 30px rgba(13,27,42,.08); }
.contact-page .contact-map-frame iframe { display:block; width:100%; }
.contact-page .contact-map-link { margin-top:18px; text-align:center; }
@media(max-width:960px) {
 .contact-page .contact-info-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .contact-page .contact-enquiry-layout { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:600px) {
 .contact-page .contact-hero { padding:48px 0; }
 .contact-page .contact-info-section,.contact-page .contact-enquiry-section,.contact-page .contact-map-section { padding:42px 0; }
 .contact-page .contact-info-grid,.contact-page .contact-form-grid { grid-template-columns:minmax(0,1fr); }
 .contact-page .contact-form-card { padding:22px 18px; }
 .contact-page .contact-field-full { grid-column:auto; }
 .contact-page .contact-visual > img { height:240px; }
 .contact-page .contact-map-frame iframe { height:320px; }
}
