.contact-page .page-hero{background:radial-gradient(ellipse at 90% 20%,#cceafb 0,transparent 55%),linear-gradient(120deg,#f1f8fc,#e8f3fa);position:relative;overflow:hidden;padding:60px 0 64px}
.contact-page .page-hero:after{content:'';position:absolute;right:-100px;top:-170px;width:480px;height:480px;border:60px solid #ffffff55;border-radius:50%;pointer-events:none}
.contact-page .hero-copy{position:relative;z-index:1;max-width:790px}.contact-page .page-hero p{max-width:720px}
.contact-page main>section{background:linear-gradient(#fff,#f5f9fc);padding:64px 0 80px}
.contact-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:start}
.contact-heading p,.contact-form-intro{color:#526e80;line-height:1.85;margin:0 0 26px;font-size:18px}
.contact-page .eyebrow{color:#087fba;font-size:12px;letter-spacing:2px;font-weight:600}.contact-page h2{line-height:1.5}.contact-page h3{font-size:24px;line-height:1.5;margin:12px 0;color:#103c59}
.contact-channels{display:grid;gap:12px}.contact-channel{display:flex;align-items:center;gap:16px;background:white;border:1px solid #dce9f1;border-radius:16px;padding:20px;box-shadow:0 4px 14px #103c5905;transition:border-color .2s,box-shadow .2s}
.contact-channel:hover{border-color:#79b9db;box-shadow:0 8px 24px #103c5910}.contact-icon{display:grid;place-items:center;background:#e9f5fc;color:#087fba;border-radius:13px;width:48px;height:48px;flex:0 0 48px;font-weight:600;font-size:24px}.contact-channel>span:nth-child(2){min-width:0;flex:1}.contact-channel small{display:block;font-size:15px;color:#5b7383;margin-bottom:4px}.contact-channel strong{display:block;font-size:20px;color:#103c59;overflow-wrap:anywhere}.contact-arrow{color:#087fba;font-size:22px}.contact-line .contact-icon{background:#eaf6ee;color:#22764d}
.contact-hours{display:flex;gap:16px;margin:26px 0;color:#103c59}.contact-hours .contact-icon{background:#f0f5f8}.contact-hours p{font-size:17px;color:#617989;line-height:1.75;margin:4px 0 0}
.contact-service{background:linear-gradient(135deg,#123f5b,#092d47);padding:28px;border-radius:20px;color:#d0e5f2}.contact-service .eyebrow{color:#8bd1ef}.contact-page .contact-service h3{color:white}.contact-service p{font-size:17px;line-height:1.85;margin:12px 0 22px}.contact-page .contact-service .secondary{background:#ffffff;color:#103c59;border:0;font-size:17px}
.contact-page .contact-form{background:#fff;border:1px solid #dbe8f1;border-top:4px solid #087fba;padding:34px;border-radius:22px;box-shadow:0 18px 55px #113f5b0c;min-width:0}.contact-form-intro{font-size:17px}.contact-required{font-size:14px;color:#607a8a;margin:0 0 8px}.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.contact-page .contact-form label{display:block;font-size:16px;font-weight:500;color:#173f57;margin:12px 0}.contact-form label>span:not(.contact-urgent span){color:#087fba}.contact-page .contact-form input:not([type=checkbox]),.contact-page .contact-form textarea{display:block;width:100%;min-width:0;background:#f8fbfd;border:1px solid #cfdee9;border-radius:10px;padding:13px 14px;margin-top:8px;font-size:17px;color:#163d55}.contact-form textarea{resize:vertical;min-height:150px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#6c8393;font-size:15px}.contact-page .contact-form .contact-urgent{display:flex;align-items:center;gap:10px;margin:22px 0}.contact-page .contact-urgent input{width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:#087fba}.contact-urgent span{color:#173f57}.contact-page .contact-form .contact-privacy{font-size:14px;line-height:1.8;color:#5c7484;margin-bottom:20px}.contact-page .contact-form .btn{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;cursor:pointer;font-size:18px;padding:16px 20px;border-radius:12px}.contact-form .btn:disabled{opacity:.6;cursor:wait}.contact-page .contact-form .contact-honeypot{position:absolute;left:-9999px;width:1px!important;height:1px;padding:0!important}#quote-status{font-size:17px;line-height:1.8;margin:16px 0 0;overflow-wrap:anywhere}#quote-status:empty{margin:0}
.contact-locations{margin-top:72px;padding-top:48px;border-top:1px solid #dce8ef}.contact-office-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.contact-office{padding:32px;background:#fff;border:1px solid #dae7ef;border-radius:20px;box-shadow:0 5px 24px #103c5905}.contact-office-top{display:flex;align-items:center;gap:14px}.contact-office-number{background:#eaf5fb;color:#087fba;font-size:16px;padding:9px 13px;border-radius:10px}.contact-page .contact-office h3{font-size:28px;margin:20px 0 12px}.contact-office address{font-style:normal;color:#536f81;font-size:18px;line-height:1.9;min-height:70px}.contact-office-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;border-top:1px solid #e3edf3;padding-top:20px;color:#087fba;font-size:18px;font-weight:500}.contact-map{background:#eaf5fb;padding:10px 16px;border-radius:10px}.contact-page .floating-contact{display:none}
@media(max-width:1000px){.contact-layout{gap:28px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.contact-fields{grid-template-columns:minmax(0,1fr)}.contact-page .contact-form{padding:26px}.contact-channel{padding:16px;gap:12px}.contact-channel strong{font-size:18px}}
@media(max-width:760px){.contact-layout,.contact-office-grid{grid-template-columns:minmax(0,1fr)}.contact-layout{gap:32px}.contact-page main>section{padding:36px 0 48px}.contact-page .page-hero{padding:38px 0}.contact-page .contact-form{padding:24px 20px}.contact-locations{margin-top:42px;padding-top:32px}.contact-office{padding:24px}.contact-office address{min-height:0}.contact-page .contact-form input:not([type=checkbox]),.contact-page .contact-form textarea{font-size:18px}.contact-page .floating-contact:not(:empty){display:flex}.contact-page .eyebrow{letter-spacing:1.4px}}
