.contact-section{padding:var(--section-padding,128px) 0}.contact-section--muted{background:var(--color-muted)}.contact-section--gradient{background:linear-gradient(135deg,var(--color-muted) 0,var(--color-background) 100%)}.contact-grid{align-items:start;display:grid;gap:48px;grid-template-columns:1fr 2fr;margin-top:64px}.contact-split{display:grid;gap:64px;grid-template-columns:1fr 1fr;margin-top:64px}.contact-split-info{display:flex;flex-direction:column;gap:24px}.contact-form-wrapper--centered{margin:64px auto 0;max-width:640px}.contact-form{padding:40px}.form-placeholder{color:var(--color-secondary-foreground);padding:40px;text-align:center}.contact-info{display:flex;flex-direction:column;gap:24px}.contact-info-item{display:flex;gap:16px}.contact-info-icon{align-items:center;background:rgba(0,122,255,.1);border-radius:10px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.contact-info-icon svg{color:var(--color-primary);height:22px;width:22px}.contact-info-content{display:flex;flex-direction:column;gap:4px}.contact-info-label{color:var(--color-secondary-foreground);font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.contact-info-content a{color:var(--color-foreground);font-size:16px;font-weight:500;text-decoration:none;transition:color .2s ease}.contact-info-content a:hover{color:var(--color-primary)}.contact-address,.contact-hours{color:var(--color-secondary-foreground);font-size:14px;line-height:1.6}.contact-address p,.contact-hours p{margin:0}.contact-map{border-radius:12px;margin-top:24px;overflow:hidden}.contact-map iframe{border:0;height:250px;width:100%}.contact-map--full{margin-top:64px}.contact-map--full iframe{height:400px}.contact-form .hs-form{display:flex;flex-direction:column;gap:20px}.contact-form .hs-form-field{margin-bottom:0}.contact-form .hs-form-field label{color:var(--color-foreground);display:block;font-size:13px;font-weight:500;margin-bottom:8px}.contact-form .hs-input{background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;color:var(--color-foreground);font-size:15px;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.contact-form .hs-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(0,122,255,.1);outline:none}.contact-form textarea.hs-input{min-height:120px;resize:vertical}.contact-form .hs-submit{margin-top:8px}.contact-form .hs-button{background:var(--color-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:14px 24px;transition:background .2s ease,transform .2s ease;width:100%}.contact-form .hs-button:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.contact-form .hs-error-msgs{list-style:none;margin:4px 0 0;padding:0}.contact-form .hs-error-msgs li{color:#ef4444;font-size:13px}.contact-form .submitted-message{color:var(--color-foreground);padding:40px;text-align:center}@media (max-width:1023px){.contact-grid,.contact-split{gap:48px;grid-template-columns:1fr}}@media (max-width:767px){.contact-section{padding:var(--section-padding-mobile,96px) 0}.contact-form{padding:24px}.contact-map iframe{height:200px}.contact-map--full iframe{height:300px}}