/* MANAPJE — CONTACT PAGE
   Page-specific rules only. Shared layout/typography/navigation/footer
   remain in styles.css and about.css. */

.contact-hero .inner-hero-image{background:url("assets/images/solar-installation-team.jpg") center 43%/cover no-repeat;opacity:.76}

.contact-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(55px,7vw,105px);align-items:start}
.contact-information{padding-top:5px}
.contact-information h2{max-width:520px;margin-bottom:22px}
.contact-lead{max-width:600px;margin-bottom:35px}
.contact-details{display:grid;border-top:1px solid var(--border)}
.contact-detail{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--border);color:var(--charcoal)}
.contact-detail:hover strong{color:var(--primary-red)}
.contact-detail-icon{width:44px;height:44px;display:grid;place-items:center;background:#f6eaea;color:var(--primary-red)}
.contact-detail small{display:block;margin-bottom:4px;color:#888;font-family:var(--heading-font);font-size:.61rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.contact-detail strong{display:block;color:var(--charcoal);font-family:var(--heading-font);font-size:.83rem;line-height:1.5;transition:color var(--transition)}
.contact-note{display:grid;grid-template-columns:30px 1fr;gap:12px;margin-top:28px;padding:18px 20px;border-left:3px solid var(--primary-red);background:#fff}
.contact-note>span{color:var(--primary-red)}
.contact-note p{margin:0;color:#666;font-size:.76rem;line-height:1.7}

.contact-form-wrapper{padding:clamp(30px,4vw,48px);background:#fff;border:1px solid var(--border);box-shadow:0 18px 45px rgba(0,0,0,.055)}
.contact-form-header{margin-bottom:30px}
.contact-form-header h2{margin:8px 0 12px;font-size:clamp(2rem,3.5vw,3rem)}
.contact-form-header h2 span{color:var(--primary-red)}
.contact-form-header>p:last-child{max-width:570px;margin:0;color:#666}
.contact-form{display:grid;gap:19px}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form-group{display:grid;gap:7px}
.form-group label{color:var(--charcoal);font-family:var(--heading-font);font-size:.66rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.form-group label span{color:var(--primary-red)}
.form-group input,.form-group select,.form-group textarea{width:100%;border:1px solid #d8d8d8;border-radius:0;outline:0;background:#fff;color:var(--charcoal);font:inherit;font-size:.84rem;transition:border-color var(--transition),box-shadow var(--transition)}
.form-group input,.form-group select{height:52px;padding:0 15px}
.form-group textarea{min-height:145px;padding:14px 15px;resize:vertical;line-height:1.65}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-red);box-shadow:0 0 0 3px rgba(164,0,0,.07)}
.form-group.is-invalid input,.form-group.is-invalid select,.form-group.is-invalid textarea{border-color:var(--primary-red)}
.form-submit{display:flex;align-items:center;gap:20px;margin-top:5px;flex-wrap:wrap}
.form-submit .btn{border:0;cursor:pointer}
.form-submit .btn:disabled{cursor:wait;opacity:.75}
.form-note-small{max-width:360px;margin:0;color:#999;font-size:.68rem;line-height:1.55}
.form-status{display:none;padding:14px 16px;border-left:3px solid var(--primary-red);background:#f7eded;color:#555;font-size:.76rem;line-height:1.6}
.form-status.show{display:block}

.contact-services{padding:105px 0;background:var(--charcoal);color:#fff}
.contact-services-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:50px;align-items:end;margin-bottom:48px}
.contact-services-heading h2{color:#fff}
.contact-services-heading>p{max-width:510px;color:rgba(255,255,255,.66)}
.contact-services-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.contact-service-card{position:relative;min-height:335px;padding:32px 25px;border-right:1px solid rgba(255,255,255,.16);color:#fff}
.contact-service-card:last-child{border-right:0}
.contact-service-card:hover{background:rgba(255,255,255,.045)}
.contact-service-number{display:block;margin-bottom:25px;color:rgba(255,255,255,.35);font-family:var(--heading-font);font-size:.67rem;font-weight:800;letter-spacing:.1em}
.contact-service-icon{width:50px;height:50px;display:grid;place-items:center;margin-bottom:27px;background:rgba(255,255,255,.08);color:#ef5d60}
.contact-service-card h3{margin-bottom:12px;color:#fff;font-size:1.05rem}
.contact-service-card p{color:rgba(255,255,255,.6);font-size:.78rem;line-height:1.7}
.contact-service-link{position:absolute;left:25px;bottom:28px;display:inline-flex;align-items:center;gap:9px;color:#fff;font-family:var(--heading-font);font-size:.62rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.contact-service-link i{color:#ef5d60}

.contact-location-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(50px,8vw,100px);align-items:center}
.contact-location-copy h2{margin-bottom:17px}
.contact-location-copy .lead{margin-bottom:25px}
.contact-location-copy address{margin-bottom:28px;color:#666;font-size:.84rem;font-style:normal;line-height:1.85}
.contact-location-copy address strong{color:var(--charcoal);font-family:var(--heading-font);font-size:.78rem}
.contact-location-copy .btn{display:inline-flex}
.contact-map{min-height:440px;overflow:hidden;border:1px solid var(--border);background:#eee}
.contact-map iframe{display:block;width:100%;height:440px;border:0}
.contact-capability-strip{padding-top:80px;padding-bottom:80px}

@media(max-width:1050px){
.contact-grid{grid-template-columns:1fr;gap:55px}.contact-information{max-width:780px}
.contact-services-grid{grid-template-columns:repeat(2,1fr)}
.contact-service-card:nth-child(2){border-right:0}.contact-service-card:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.16)}
.contact-location-grid{grid-template-columns:1fr}.contact-map,.contact-map iframe{height:400px;min-height:400px}
}
@media(max-width:700px){
.contact-form-wrapper{padding:27px 20px}.form-row{grid-template-columns:1fr;gap:19px}
.contact-services{padding:78px 0}.contact-services-heading{grid-template-columns:1fr;gap:22px}
.contact-services-grid{grid-template-columns:1fr}
.contact-service-card,.contact-service-card:nth-child(2){min-height:290px;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}
.contact-service-card:last-child{border-bottom:0}.contact-map,.contact-map iframe{height:330px;min-height:330px}.contact-capability-strip{padding-top:65px;padding-bottom:65px}
}
@media(max-width:420px){
.contact-detail{grid-template-columns:42px minmax(0,1fr);gap:12px}.contact-detail-icon{width:40px;height:40px}.contact-detail strong{font-size:.76rem}
.form-submit{display:grid;grid-template-columns:1fr}.form-submit .btn{width:100%}
}
