/* Contact visual refinement. Scoped to this page; no form behaviour changes.
   Blueprint framing updated 2026-09-29: original roof/foundation bounds, no image distortion. */
.contact-page .premium-contact{background:#f4f7f8}
.contact-page .contact-department-section{padding:38px 0 64px}
.contact-page .contact-department-heading{margin:0 0 22px}
.contact-page .contact-department-heading h2{font-size:22px;line-height:1.3}
.contact-page .contact-department-heading p{font-size:14px;line-height:1.6}
.contact-page .contact-department-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 18px}
.contact-page .contact-department-tab,.contact-page .contact-department-tab.is-selected{padding:18px 22px;border:1px solid #cbdde5;border-radius:10px;min-height:82px;gap:14px;flex-wrap:nowrap;box-shadow:none;transform:none;background:#fff;color:#103e54}
.contact-page .contact-department-tab.is-selected{background:#103e54;border-color:#103e54;color:#fff}
.contact-page .contact-department-tab:hover{transform:none;box-shadow:none;border-color:#008ba4;background:#edf8fb}
.contact-page .contact-department-tab.is-selected:hover{background:#164a60;color:#fff}
.contact-page .contact-department-tab strong{font-size:17px;line-height:1.35}
.contact-page .contact-department-tab small{display:block;font-size:13px;margin-top:3px;color:#506979}
.contact-page .contact-department-tab.is-selected small{color:#d8eaf0}
.contact-page .contact-department-tab em{font-size:11px;width:auto;margin-left:auto}
.contact-page .contact-department-icon{display:block;width:30px;height:30px;flex:0 0 30px}
.contact-page .contact-department-workspace{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:0;align-items:stretch;border:1px solid #d6e3e9;border-radius:12px;background:#fff;box-shadow:0 8px 30px #103e5408;isolation:isolate}
.contact-page .contact-location-column{display:flex;flex-direction:column;min-width:0;align-self:stretch}
.contact-page #contact-panel-residential,.contact-page #contact-panel-commercial{display:flex;flex-direction:column;padding:30px 28px 0;background:#0c3549;border:0;border-radius:11px 0 0 11px;min-width:0}
.contact-page #contact-panel-residential[hidden],.contact-page #contact-panel-commercial[hidden]{display:none}
.contact-page .contact-location-panel .eyebrow{font-size:11px;letter-spacing:.14em;margin:0 0 10px}
.contact-page .contact-location-panel h2{font-size:25px;line-height:1.25;margin:0 0 12px}
.contact-page .contact-location-panel>p:not(.eyebrow):not(.contact-location-warning){font-size:14px;line-height:1.6;margin:0 0 6px}
.contact-page .contact-detail{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;margin:18px 0 0;padding:0;border:0}
.contact-page .contact-detail .contact-address-icon,.contact-page .contact-detail .contact-phone-icon{width:24px;height:28px;margin:0;flex-basis:auto}
.contact-page .contact-detail svg,.contact-page .contact-address-icon svg{width:24px;height:28px}
.contact-page .contact-detail strong{font-size:16px;line-height:1.5}
.contact-page .contact-detail small,.contact-page .contact-detail a{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.contact-page .contact-detail a{margin-top:4px}
.contact-page .contact-hours-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid #ffffff30}
.contact-page .contact-hours-columns .contact-hours-group{margin:0;padding:0;border:0}
.contact-page .contact-hours-group{margin:22px 0 0;padding-top:18px}
.contact-page .contact-hours-group h3{font-size:11px;letter-spacing:.09em;margin:0 0 10px}
.contact-page .contact-hours-group dl{display:grid;gap:9px;margin:0}
.contact-page .contact-hours-group dl>div{display:block}
.contact-page .contact-hours-group dt,.contact-page .contact-hours-group dd{font-size:12px;line-height:1.55;text-align:left;margin:0}
.contact-page .contact-location-warning{margin:20px 0 0;padding:12px 14px;font-size:12px!important;border-radius:4px}
.contact-page .contact-blueprint-frame,.contact-page .contact-blueprint-frame--commercial{display:block;position:relative;overflow:hidden;aspect-ratio:1536/779;width:calc(100% + 56px);margin:22px -28px 0;flex-shrink:0}
/* Frame existing art from roof to foundation without stretching or changing the source. */
.contact-page .contact-blueprint-frame--commercial{aspect-ratio:1536/869}
.contact-page .contact-blueprint-frame img{display:block;position:absolute;width:100%;max-width:none;height:auto;aspect-ratio:auto;object-fit:initial;margin:0;opacity:1;left:0;top:-11.2978%;bottom:auto;border-radius:0}
.contact-page .contact-blueprint-frame--commercial img{top:-6.4442%}
.contact-page #contact-panel-residential,.contact-page #contact-panel-commercial{flex:1;overflow:hidden}
@media(min-width:801px){.contact-page .contact-blueprint-frame{margin-top:auto}}
.contact-page .contact-inquiry-card{padding:32px;border:0;border-radius:0 11px 11px 0;box-shadow:none;min-width:0;background:#fff}
.contact-page .contact-inquiry-card>.eyebrow{font-size:11px;letter-spacing:.12em;margin:0 0 10px;color:#007c95}
.contact-page .contact-inquiry-card h2{font-size:30px;line-height:1.2;letter-spacing:-.025em;margin:0 0 12px}
.contact-page .contact-form-intro{font-size:14px;line-height:1.65;margin:0 0 24px}
.contact-page .contact-quote-guide{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;margin:-10px 0 22px;padding:11px 13px;border-left:3px solid #159bb4;border-radius:0 8px 8px 0;background:#f1f8f9;color:#4d656e;font-size:12px;line-height:1.45}.contact-page .contact-quote-guide>span{font-weight:650;color:#183b47}.contact-page .contact-quote-guide a{font-weight:650;color:#087f99}.contact-page .contact-quote-guide small{flex-basis:100%;font-size:11px;font-weight:400;color:#667b83}
.contact-page .premium-contact-form{margin-top:0;gap:20px 18px}
.contact-page .premium-contact-form>.field{align-content:start;min-width:0}
.contact-page .premium-contact-form label,.contact-page .residential-inquiry-types legend{font-size:14px;font-weight:650}
.contact-page .residential-inquiry-types{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0}
.contact-page .residential-inquiry-types legend{margin-bottom:10px}
.contact-page .residential-inquiry-types label{display:flex;position:relative;justify-content:flex-start;gap:9px;min-height:48px;border-radius:7px;padding:11px 12px;font-size:13px;background:#fff}
.contact-page .residential-inquiry-types label input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;pointer-events:none}
.contact-page .residential-inquiry-types label:has(input:checked){border-color:#008ba4;background:#eaf7fb;box-shadow:inset 0 0 0 1px #008ba4}
.contact-page .residential-inquiry-types label:has(input:focus-visible){outline:3px solid #008ba4;outline-offset:3px}
.contact-page .residential-inquiry-types label{cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}
@media(hover:hover) and (pointer:fine){
 .contact-page .residential-inquiry-types label:hover{background:#edf7fa;border-color:#3894a5;box-shadow:0 2px 7px rgba(16,62,80,.14)}
 .contact-page .residential-inquiry-types label:has(input:checked):hover{background:#dceff5;border-color:#008ba4;box-shadow:inset 0 0 0 1px #008ba4,0 2px 7px rgba(16,62,80,.14)}
}
@media(prefers-reduced-motion:reduce){.contact-page .residential-inquiry-types label{transition:none}}
.contact-page .enquiry-option-icon{display:block;flex:0 0 21px;width:21px;height:21px}
.contact-page .premium-contact-form input:not([type=radio]):not([type=hidden]):not([type=file]),.contact-page .premium-contact-form select{height:46px;min-height:46px;border-radius:7px;font-size:16px}
.contact-page .premium-contact-form textarea{min-height:140px;border-radius:7px;font-size:16px;line-height:1.6}
.contact-page .contact-extra{background:#edf7f9;border:2px solid #3894a5;border-radius:8px}
.contact-page .contact-extra summary{padding:16px;font-size:14px;min-height:72px;flex-wrap:wrap}
.contact-page .contact-extra-copy{flex:1 1 220px;min-width:0}
.contact-page .contact-extra-copy strong{display:block;font-size:15px;line-height:1.5;color:#103e50}
.contact-page .contact-extra-copy small{display:block;margin-top:4px;font-size:13px;font-weight:400;line-height:1.5;color:#49636c}
.contact-page .contact-extra summary>span.contact-extra-toggle{float:none;font-size:13px;line-height:1.5;font-weight:700;color:#086b80;transform:none}
.contact-page .contact-extra[open] summary>span.contact-extra-toggle{transform:none}
.contact-page .contact-extra-collapse{display:none}
.contact-page .contact-extra[open] .contact-extra-expand{display:none}
.contact-page .contact-extra[open] .contact-extra-collapse{display:inline}
.contact-page .contact-extra summary:hover{background:#e1f1f4}
.contact-page .contact-extra summary:focus-visible{outline:3px solid #086b80;outline-offset:4px;border-radius:6px}
.contact-page .contact-extra-grid{padding:4px 16px 18px}
.contact-page .contact-form-submit{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin:0}
.contact-page .contact-form-submit .premium-btn{width:100%;min-height:50px;border-radius:7px;font-size:15px;justify-content:center;background:#007f99;color:white}
.contact-page .contact-form-submit .premium-btn:hover{background:#006b82}
.contact-page .contact-form-submit small{display:block;text-align:center;font-size:12px;line-height:1.5}
.contact-page .contact-privacy-note{font-size:12px;line-height:1.6;margin:0;color:#526976}
@media(min-width:1250px){.contact-page .residential-inquiry-types{grid-template-columns:repeat(4,minmax(0,1fr))}.contact-page .residential-inquiry-types label{padding:10px 7px;font-size:12px;gap:6px}.contact-page .enquiry-option-icon{flex-basis:18px;width:18px;height:18px}}
@media(max-width:1000px){.contact-page .contact-inquiry-card{padding:26px}.contact-page .contact-department-tab em{display:none}.contact-page .contact-department-tab strong{font-size:15px}.contact-page #contact-panel-residential,.contact-page #contact-panel-commercial{padding:26px 22px 0}.contact-page .contact-blueprint-frame{width:calc(100% + 44px);margin:20px -22px 0}.contact-page .contact-hours-columns{grid-template-columns:1fr;gap:18px}}
@media(max-width:800px){.contact-page .contact-department-section{padding:26px 0 44px}.contact-page .contact-department-workspace{grid-template-columns:1fr;background:transparent;border:0;box-shadow:none;gap:20px}.contact-page .contact-inquiry-card{order:0;border:1px solid #d6e3e9;border-radius:12px}.contact-page .contact-location-column{order:1}.contact-page #contact-panel-residential,.contact-page #contact-panel-commercial{border-radius:12px;padding:28px 28px 0}.contact-page .contact-blueprint-frame{width:min(100% + 56px,520px);margin:22px auto 0;max-width:none;align-self:center}.contact-page .contact-hours-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.contact-page .contact-hours-group dl>div{display:flex;justify-content:space-between;gap:12px}.contact-page .contact-hours-columns dl>div{display:block}}
@media(max-width:480px){.contact-page .contact-department-heading h2{font-size:20px}.contact-page .contact-department-heading p{font-size:13px}.contact-page .contact-department-tabs{gap:8px}.contact-page .contact-department-tab,.contact-page .contact-department-tab.is-selected{padding:13px 10px;gap:8px;min-height:82px}.contact-page .contact-department-icon{width:23px;height:23px;flex-basis:23px}.contact-page .contact-department-tab strong{font-size:12px}.contact-page .contact-department-tab small{font-size:11px}.contact-page .contact-inquiry-card{padding:22px 18px}.contact-page .contact-inquiry-card h2{font-size:27px}.contact-page .premium-contact-form{gap:18px}.contact-page .residential-inquiry-types label{font-size:12px;padding:10px 8px;gap:7px}.contact-page .contact-extra summary{padding:13px 12px}.contact-page .contact-extra-grid{padding:0 12px 16px}.contact-page #contact-panel-residential,.contact-page #contact-panel-commercial{padding:24px 22px 0}.contact-page .contact-blueprint-frame{width:calc(100% + 44px);margin:20px -22px 0}.contact-page .contact-hours-columns{gap:16px}.contact-page .contact-confirmation-actions{display:grid}}
@media(max-width:600px){.contact-page .contact-department-section>.container{width:calc(100% - 32px);padding:0;margin-inline:auto}.contact-page .contact-location-panel a[href^="mailto"]{font-size:13px}}
@media(prefers-reduced-motion:reduce){.contact-page .contact-department-tab{transition:none}}
@media(min-width:801px){.contact-page .contact-blueprint-frame{margin-top:auto}}
