.contact-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--space-3xl);align-items:start}.contact-layout>*,.contact-info-card,.contact-info-content{min-width:0}.contact-form-wrapper{background:var(--white);border-radius:var(--radius-2xl);padding:var(--space-3xl);box-shadow:var(--shadow-lg);border:1px solid var(--gray-200)}.contact-form-header{margin-bottom:var(--space-2xl)}.contact-form-header .section-label,.contact-form-header h2{margin-bottom:var(--space-sm)}.contact-form-header p{font-size:var(--text-base);color:var(--gray-500)}.required{color:#ef4444;font-weight:700}.contact-submit{width:100%;justify-content:center;margin-top:var(--space-md)}.form-success{display:none;text-align:center;padding:var(--space-3xl) var(--space-xl);animation:fadeInUp .5s ease}.form-success.visible{display:block}.form-success-icon{width:80px;height:80px;margin:0 auto var(--space-xl);background:linear-gradient(135deg,var(--teal),var(--green));border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--white);animation:pulse 2s ease infinite}.form-success-icon svg{width:40px;height:40px}.form-success h3{color:var(--navy);margin-bottom:var(--space-md);font-size:var(--text-2xl)}.form-success p{color:var(--gray-500);max-width:400px;margin:0 auto var(--space-xl);line-height:1.8}.contact-info-sidebar{display:flex;flex-direction:column;gap:var(--space-lg)}.contact-info-card{background:var(--white);border-radius:var(--radius-xl);padding:var(--space-xl);display:flex;gap:var(--space-lg);align-items:flex-start;box-shadow:var(--shadow-md);border:1px solid var(--gray-200);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.contact-info-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:#0ea5b54d}.contact-info-icon{width:52px;height:52px;min-width:52px;background:linear-gradient(135deg,var(--teal),var(--ocean));border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--white);transition:transform var(--transition-spring)}.contact-info-card:hover .contact-info-icon{transform:scale(1.1) rotate(-5deg)}.contact-info-icon svg{width:24px;height:24px}.contact-info-content h4{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-xs)}.contact-info-content p{font-size:var(--text-sm);color:var(--gray-500);margin:0;line-height:1.6}.contact-info-link{display:block;font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;color:var(--navy);margin-bottom:var(--space-xs);transition:color var(--transition-base)}.contact-info-link:hover{color:var(--teal)}.contact-info-address{font-size:var(--text-base)!important;color:var(--navy)!important;font-weight:500;line-height:1.6}.hours-grid{display:grid;grid-template-columns:auto 1fr;gap:var(--space-xs) var(--space-md);margin-top:var(--space-xs)}.hours-day{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:600;color:var(--navy)}.hours-time{font-size:var(--text-sm);color:var(--gray-500)}.hours-time.closed{color:#ef4444;font-weight:600}.map-section{background:var(--gray-50)}.map-embed{width:100%;height:380px;border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-lg, 0 10px 30px rgba(0, 0, 0, .12))}.map-embed iframe{width:100%;height:100%;border:0;display:block}.submit-error{display:block;margin-top:var(--space-md);text-align:center}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.form-group input.shake,.form-group select.shake,.form-group textarea.shake{animation:shake .5s ease}@media(max-width:1024px){.contact-layout{grid-template-columns:1fr 1fr;gap:var(--space-2xl)}}@media(max-width:768px){.contact-layout{grid-template-columns:1fr;gap:var(--space-2xl)}.contact-form-wrapper{padding:var(--space-2xl)}.contact-info-sidebar{order:-1;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.map-embed{height:280px}}@media(max-width:620px){.contact-info-sidebar{grid-template-columns:1fr}}@media(max-width:480px){.contact-form-wrapper{padding:var(--space-xl);border-radius:var(--radius-xl)}.contact-info-sidebar{grid-template-columns:1fr}.contact-info-card{padding:var(--space-lg)}.map-embed{height:220px}}
