.contact-page{min-height:100vh;background-color:#f8fafc}.hero-section{background:linear-gradient(135deg,#1e40af,#3b82f6);color:white;padding:80px 0;text-align:center}.hero-section h1{font-size:3rem;font-weight:700;margin-bottom:1rem;line-height:1.2}.hero-subtitle{font-size:1.25rem;opacity:.9;margin-bottom:0}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.contact-info-section{padding:80px 0;background:white}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.info-card{background:#f8fafc;padding:2.5rem;border-radius:16px;text-align:center;transition:transform .3s ease,box-shadow .3s ease;border:1px solid #e2e8f0}.info-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.info-icon{color:#3b82f6;margin-bottom:1.5rem;display:flex;justify-content:center}.info-card h3{font-size:1.5rem;font-weight:600;color:#1e40af;margin-bottom:1rem}.info-card p{color:#6b7280;margin-bottom:1.5rem;line-height:1.6}.info-details{text-align:left}.detail-item{margin-bottom:.75rem;color:#4b5563;font-size:.95rem}.detail-item strong{color:#1e40af;font-weight:600}.contact-form-section{padding:80px 0;background:#f8fafc}.form-container{max-width:800px;margin:0 auto;background:white;padding:3rem;border-radius:16px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.form-header{text-align:center;margin-bottom:2.5rem}.form-header h2{font-size:2.5rem;font-weight:600;color:#1e40af;margin-bottom:1rem}.form-header p{color:#6b7280;font-size:1.125rem;line-height:1.6}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;color:#374151;margin-bottom:.5rem;font-size:.95rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease;background:white}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.form-group textarea{resize:vertical;min-height:120px}.checkbox-group{flex-direction:row;align-items:center;gap:.75rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.95rem;color:#6b7280}.checkbox-label input[type=checkbox]{width:18px;height:18px;margin:0}.submit-btn{background:#3b82f6;color:white;padding:1rem 2rem;border:none;border-radius:8px;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .3s ease;align-self:center;min-width:200px}.submit-btn:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}.office-hours-section{padding:80px 0;background:white}.office-hours-section h2{text-align:center;font-size:2.5rem;font-weight:600;color:#1e40af;margin-bottom:3rem}.hours-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.hours-card{background:#f8fafc;padding:2rem;border-radius:12px;border:1px solid #e2e8f0}.hours-card h3{font-size:1.25rem;font-weight:600;color:#1e40af;margin-bottom:1.5rem;text-align:center}.hours-list{display:flex;flex-direction:column;gap:.75rem}.hour-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:white;border-radius:8px;border:1px solid #e5e7eb}.day{font-weight:600;color:#374151}.time{color:#6b7280;font-size:.95rem}.map-section{padding:80px 0;background:#f8fafc}.map-section h2{text-align:center;font-size:2.5rem;font-weight:600;color:#1e40af;margin-bottom:3rem}.map-container{max-width:800px;margin:0 auto}.map-placeholder{background:#e5e7eb;border-radius:12px;height:400px;display:flex;align-items:center;justify-content:center;border:2px dashed #9ca3af}.map-content{text-align:center;color:#6b7280}.map-content h3{font-size:1.5rem;font-weight:600;color:#1e40af;margin-bottom:1rem}.map-content p{margin-bottom:.5rem;font-size:1rem}.emergency-section{padding:80px 0;background:#fef2f2;border-top:4px solid #ef4444}.emergency-section h2{text-align:center;font-size:2.5rem;font-weight:600;color:#dc2626;margin-bottom:1rem}.emergency-description{text-align:center;color:#7f1d1d;font-size:1.125rem;margin-bottom:3rem;max-width:600px;margin-left:auto;margin-right:auto}.emergency-contacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:800px;margin:0 auto}.emergency-card{background:white;padding:2rem;border-radius:12px;text-align:center;border:2px solid #fecaca;transition:transform .3s ease}.emergency-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}.emergency-icon{color:#ef4444;margin-bottom:1rem;display:flex;justify-content:center}.emergency-card h3{font-size:1.25rem;font-weight:600;color:#dc2626;margin-bottom:.5rem}.emergency-number{font-size:1.5rem;font-weight:700;color:#dc2626;margin-bottom:.5rem}.emergency-availability{color:#7f1d1d;font-size:.95rem}.social-section{padding:80px 0;background:white;text-align:center}.social-section h2{font-size:2.5rem;font-weight:600;color:#1e40af;margin-bottom:1rem}.social-section p{color:#6b7280;font-size:1.125rem;margin-bottom:3rem;max-width:600px;margin-left:auto;margin-right:auto}.social-links{flex-wrap:wrap;gap:1.5rem}.social-link,.social-links{display:flex;justify-content:center}.social-link{align-items:center;gap:.75rem;padding:1rem 1.5rem;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;text-decoration:none;color:#374151;font-weight:600;transition:all .3s ease;min-width:150px}.social-link:hover{background:#3b82f6;color:white;border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}.social-icon{display:flex;align-items:center;justify-content:center}@media (max-width:768px){.hero-section h1{font-size:2rem}.hero-subtitle{font-size:1rem}.form-row{grid-template-columns:1fr}.form-container{padding:2rem}.emergency-contacts,.hours-grid,.info-grid{grid-template-columns:1fr}}@media (max-width:480px){.container{padding:0 1rem}.contact-form-section,.contact-info-section,.emergency-section,.hero-section,.map-section,.office-hours-section,.social-section{padding:60px 0}.emergency-card,.form-container,.hours-card,.info-card{padding:1.5rem}}