.contact-hero{padding:8rem 1.5rem 6rem;background-color:var(--dark-green);position:relative;overflow:hidden}.contact-hero .dots-canvas{opacity:.18}.contact-hero .container{position:relative;z-index:2}.contact-card{background:var(--bg);border-radius:1.25rem;padding:3.5rem;display:grid;grid-template-columns:1fr 1.6fr;gap:3rem;max-width:960px;margin:0 auto;box-shadow:0 4px 40px var(--shadow-color)}.contact-info h1{font-size:clamp(2rem,1.6rem + 2vw,2.75rem);color:var(--dark-green);margin-bottom:2rem;line-height:1.1}.contact-details{display:flex;flex-direction:column;gap:1rem}.contact-detail{display:flex;align-items:center;gap:.75rem;color:var(--text-muted);font-size:.9375rem}.contact-detail svg{flex-shrink:0;color:var(--text-muted)}.contact-form{display:flex;flex-direction:column;gap:1.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-label{font-size:.875rem;font-weight:600;color:var(--text-dark)}.form-required{color:var(--text-dark)}.form-input{padding:.75rem 1rem;border:1px solid var(--border-light);border-radius:var(--radius);font-size:.9375rem;color:var(--text-dark);background:var(--bg);transition:border-color var(--transition),outline-color var(--transition)}.form-input::placeholder{color:var(--input-placeholder)}.form-input:focus{border-color:var(--medium-green);outline:2px solid var(--medium-green);outline-offset:-1px}.form-input.is-invalid{border-color:var(--input-error-border)}.form-textarea{resize:vertical;min-height:100px}.form-submit{align-self:flex-start;padding:.8rem 2.25rem}.form-message{font-size:.875rem;padding:.75rem 1rem;border-radius:var(--radius);margin-top:.25rem}.form-message-success{background:var(--success-bg);color:var(--success-color)}.form-message-error{background:var(--error-bg);color:var(--error-color)}:root[data-theme=dark] .contact-info h1{color:var(--text-dark)}@media(max-width:900px){.contact-hero{padding:7rem 1.5rem 4rem}.contact-card{grid-template-columns:1fr;gap:2rem;padding:2.5rem}.contact-info h1{margin-bottom:1.25rem}}@media(max-width:640px){.contact-hero{padding:6rem 0 3rem}.contact-card{padding:1.75rem}.form-row{grid-template-columns:1fr}}
