/* Contact only: a clear enquiry form beside the existing Renable offer. */
#contact-page { padding:clamp(50px,6vw,88px) 0 clamp(64px,7vw,104px); }
#contact-page .contact-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(36px,6vw,84px); align-items:start; }
#contact-page .contact-introduction h1 { margin:0; font-size:clamp(48px,6vw,80px); line-height:1.05; letter-spacing:-.045em; font-weight:500; }
#contact-page .contact-lead { margin:26px 0 0; font-size:clamp(21px,2vw,26px); line-height:1.5; letter-spacing:-.02em; max-width:28ch; }
#contact-page .contact-assessment { border-top:1px solid #d8e3e8; margin-top:38px; padding-top:27px; max-width:390px; }
#contact-page .contact-assessment h2 { font-size:20px; line-height:1.35; font-weight:500; letter-spacing:-.02em; margin:0 0 12px; }
#contact-page .contact-assessment p { font-size:17px; line-height:1.65; color:#52666f; margin:0; }
#contact-page .contact-direct { margin-top:32px; }
#contact-page .contact-direct p { color:#52666f; font-size:15px; margin:0 0 8px; }
#contact-page .contact-direct a { font-size:18px; color:var(--blue); text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
#contact-page .contact-panel { padding:clamp(24px,3vw,40px); border:1px solid #dce5e9; border-radius:18px; background:#f6f9fa; min-width:0; }
#contact-page .contact-form-heading h2 { margin:0; font-size:30px; line-height:1.2; letter-spacing:-.03em; font-weight:500; }
#contact-page .contact-form-heading > p { font-size:14px; line-height:1.5; color:#52666f; margin:12px 0 28px; }
#contact-page .contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 20px; border:0; padding:0; margin:0; min-width:0; }
#contact-page .contact-field { min-width:0; }
#contact-page .contact-field-wide { grid-column:1 / -1; }
#contact-page label { display:block; font-size:15px; line-height:1.5; font-weight:500; margin-bottom:9px; }
#contact-page label span { font-size:14px; font-weight:400; color:#52666f; }
#contact-page input:not([type=hidden]), #contact-page select, #contact-page textarea { font:inherit; font-size:16px; color:#1d3038; line-height:1.5; width:100%; min-width:0; border:1px solid #b8cad2; border-radius:7px; padding:12px 13px; background:#fff; box-sizing:border-box; }
#contact-page select { padding-right:28px; }
#contact-page textarea { min-height:158px; resize:vertical; }
#contact-page textarea::placeholder { color:#61757e; opacity:1; }
#contact-page input:focus-visible, #contact-page select:focus-visible, #contact-page textarea:focus-visible { outline:3px solid #9ed7e8; outline-offset:2px; border-color:#0077a0; }
#contact-page .contact-field-hint, #contact-page #contact-privacy, #contact-page .contact-nojs { margin:9px 0 0; font-size:14px; line-height:1.6; color:#52666f; }
#contact-page #contact-privacy a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
#contact-page .contact-submit { border:0; cursor:pointer; font:inherit; font-size:16px; min-height:48px; padding:13px 27px; margin-top:22px; }
#contact-page .contact-submit:disabled { cursor:wait; opacity:.7; }
#contact-page .contact-status { margin:24px 0 0; padding:16px; border-radius:8px; background:#fff0ed; color:#873a32; border:1px solid #ecc6c0; font-size:15px; line-height:1.6; overflow-wrap:anywhere; }
#contact-page .contact-honeypot { display:none; }
#contact-page .contact-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; clip:rect(0,0,0,0); overflow:hidden; white-space:nowrap; border:0; }
#contact-page [hidden] { display:none!important; }
#contact-page .contact-success { padding:24px 0; }
#contact-page .contact-success-symbol { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:50%; color:#0077a0; background:#e2f2f6; font-size:26px; margin-bottom:22px; }
#contact-page .contact-success h2 { font-size:38px; line-height:1.15; letter-spacing:-.035em; margin:0; }
#contact-page .contact-success p { font-size:18px; line-height:1.6; color:#52666f; margin:18px 0 24px; max-width:34ch; }
#contact-page .contact-another { font:inherit; font-size:16px; color:var(--blue); background:none; border:0; padding:10px 0; min-height:44px; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
@media (max-width:900px) { #contact-page .contact-layout { grid-template-columns:minmax(0,1fr); gap:38px; } #contact-page .contact-lead { max-width:38ch; } #contact-page .contact-assessment { max-width:560px; } }
@media (max-width:520px) { #contact-page .contact-fields { grid-template-columns:minmax(0,1fr); gap:21px; } #contact-page .contact-panel { padding:24px 20px; } #contact-page .contact-form-heading h2 { font-size:27px; } #contact-page .contact-submit { width:100%; } }
