/* Zentrum Techno Solutions — Contact */

.contact-hero{padding:105px 0;background:var(--zentrum-white)}
.contact-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr);gap:85px;align-items:center}
.contact-hero-content h1,.contact-details h2,.contact-section-heading h2,.contact-location-content h2,.contact-privacy-content h2{margin:0 0 24px;color:var(--zentrum-blue-dark);font-size:clamp(38px,4vw,58px);font-weight:700;line-height:1.08;letter-spacing:-.03em}
.contact-hero-content h1 span,.contact-details h2 span,.contact-section-heading h2 span,.contact-location-content h2 span{display:block;color:var(--zentrum-blue)}
.contact-hero-lead{max-width:680px;color:var(--zentrum-steel);font-size:18px;line-height:1.75}
.contact-hero-visual{min-height:390px;position:relative;overflow:hidden;background:linear-gradient(135deg,#e8edf0,#dce3e7)}
.contact-hero-visual:before,.contact-map-placeholder:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,85,140,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(0,85,140,.07) 1px,transparent 1px);background-size:48px 48px}
.contact-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:var(--zentrum-blue)}
.contact-placeholder span,.contact-map-placeholder span{font-size:11px;font-weight:700;letter-spacing:.16em}
.contact-placeholder p,.contact-map-placeholder p{color:var(--zentrum-steel);font-size:13px}

.contact-main{padding:110px 0;background:var(--zentrum-light)}
.contact-main-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(500px,1fr);gap:90px;align-items:start}
.contact-details h2{font-size:clamp(36px,3.5vw,50px)}
.contact-details-intro{max-width:600px;color:var(--zentrum-steel);font-size:16px;line-height:1.8}
.contact-detail-list{margin-top:45px;border-top:1px solid rgba(105,115,125,.22)}
.contact-detail-item{padding:24px 0;border-bottom:1px solid rgba(105,115,125,.22)}
.contact-detail-label{display:block;margin-bottom:8px;color:var(--zentrum-red);font-size:11px;font-weight:700;letter-spacing:.13em}
.contact-detail-item h3{margin:0 0 7px;color:var(--zentrum-blue-dark);font-size:18px}
.contact-detail-item p{margin:0;color:var(--zentrum-steel);font-size:14px;line-height:1.65}
.contact-detail-item a{color:var(--zentrum-blue)}

.contact-form-panel{padding:42px;background:var(--zentrum-white);border:1px solid rgba(105,115,125,.18)}
.contact-form-panel h2{margin:0 0 30px;color:var(--zentrum-blue-dark);font-size:30px;line-height:1.2}
.contact-form{display:grid;gap:20px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-field{display:flex;flex-direction:column;gap:8px}
.form-field label{color:var(--zentrum-blue-dark);font-size:13px;font-weight:700}
.form-field label span{color:var(--zentrum-red)}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:13px 14px;border:1px solid rgba(105,115,125,.35);background:var(--zentrum-white);color:var(--zentrum-charcoal);font:inherit;outline:none;transition:border-color 180ms ease,box-shadow 180ms ease}
.form-field textarea{resize:vertical}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--zentrum-blue);box-shadow:0 0 0 3px rgba(0,85,140,.08)}
.contact-form .button{justify-self:start;border:0;cursor:pointer}
.form-note{margin:0;color:var(--zentrum-steel);font-size:12px;line-height:1.6}

.contact-project-info{padding:105px 0;background:var(--zentrum-white)}
.contact-section-heading{max-width:800px}
.contact-section-heading h2{font-size:clamp(36px,3.5vw,50px)}
.contact-section-heading>p:last-child{max-width:720px;color:var(--zentrum-steel);font-size:16px;line-height:1.75}
.project-info-grid{margin-top:55px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(105,115,125,.22);border-left:1px solid rgba(105,115,125,.22)}
.project-info-item{padding:30px;border-right:1px solid rgba(105,115,125,.22);border-bottom:1px solid rgba(105,115,125,.22)}
.project-info-item h3{margin:0 0 13px;color:var(--zentrum-blue-dark);font-size:20px}
.project-info-item p{margin:0;color:var(--zentrum-steel);font-size:14px;line-height:1.72}

.contact-location{padding:105px 0;background:var(--zentrum-light)}
.contact-location-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(500px,1fr);gap:90px;align-items:center}
.contact-location-content h2{font-size:clamp(36px,3.5vw,50px)}
.contact-location-content>p{color:var(--zentrum-steel);font-size:16px;line-height:1.8}
.location-actions{margin-top:30px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.contact-location-link{display:inline-flex;align-items:center;gap:8px;color:var(--zentrum-blue);font-size:13px;font-weight:700}
.contact-location-link span{color:var(--zentrum-red)}
.location-actions [aria-disabled="true"]{opacity:.55;pointer-events:none}
.contact-map-placeholder{min-height:380px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,#e8edf0,#dce3e7);text-align:center;color:var(--zentrum-blue)}
.contact-map-placeholder>div{position:relative;z-index:1}
.contact-map-placeholder p{margin-top:9px}

.contact-privacy{padding:80px 0;background:var(--zentrum-blue-dark)}
.contact-privacy .inner-eyebrow{color:#9bc4dc}
.contact-privacy-content{max-width:900px}
.contact-privacy-content h2{color:var(--zentrum-white);font-size:clamp(30px,3vw,42px)}
.contact-privacy-content p:last-child{max-width:780px;color:rgba(255,255,255,.72);font-size:15px;line-height:1.8}

@media(max-width:1000px){
.contact-hero,.contact-main,.contact-project-info,.contact-location{padding:90px 0}
.contact-hero-grid,.contact-main-grid,.contact-location-grid{grid-template-columns:1fr;gap:45px}
.contact-hero-visual,.contact-map-placeholder{min-height:340px}
.project-info-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
.contact-hero,.contact-main,.contact-project-info,.contact-location{padding:70px 0}
.contact-hero-content h1{font-size:40px}.contact-hero-lead{font-size:16px}
.contact-hero-visual,.contact-map-placeholder{min-height:280px}
.contact-form-panel{padding:28px 22px}.form-row,.project-info-grid{grid-template-columns:1fr}
.contact-privacy{padding:65px 0}
}
