/* Modern Contact Page Styles */:root {  --primary: #4361ee;  --primary-dark: #3a56d4;  --primary-light: #e0e5ff;  --secondary: #6c757d;  --success: #28a745;  --warning: #ffc107;  --danger: #dc3545;  --light: #f8f9fa;  --dark: #212529;  --white: #ffffff;  --gray-100: #f8f9fa;  --gray-200: #e9ecef;  --gray-300: #dee2e6;  --gray-400: #ced4da;  --gray-500: #adb5bd;  --gray-600: #6c757d;  --gray-700: #495057;  --gray-800: #343a40;  --gray-900: #212529;  --border-radius: 8px;  --box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);  --transition: all 0.3s ease;}/* Base Styles */.contact-section {  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;  line-height: 1.6;  color: var(--gray-800);  background-color: var(--white);  padding: 4rem 0;}.container {  max-width: 1200px;  margin: 0 auto;  padding: 0 1.5rem;}/* Page Header */.page-header {  text-align: center;  margin-bottom: 3rem;}.page-header h1 {  font-size: 2.5rem;  font-weight: 700;  color: var(--dark);  margin-bottom: 1rem;}.page-header .subtitle {  font-size: 1.1rem;  color: var(--gray-600);  max-width: 600px;  margin: 0 auto;}/* Contact Grid Layout */.contact-grid {  display: grid;  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));  gap: 2rem;  margin-bottom: 3rem;}/* Contact Cards */.contact-card {  background: var(--white);  border-radius: var(--border-radius);  box-shadow: var(--box-shadow);  overflow: hidden;  transition: var(--transition);  border: 1px solid var(--gray-200);}.contact-card:hover {  transform: translateY(-5px);  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);}.card-header {  background: var(--primary);  color: var(--white);  padding: 1.25rem 1.5rem;}.card-header h2 {  font-size: 1.25rem;  font-weight: 600;  margin: 0;  display: flex;  align-items: center;  gap: 0.75rem;}.card-header i {  font-size: 1.1rem;}.card-body {  padding: 1.5rem;}/* Contact Information */.contact-intro {  color: var(--gray-600);  margin-bottom: 1.5rem;  font-size: 0.95rem;}.contact-methods {  display: flex;  flex-direction: column;  gap: 1.5rem;}.contact-method {  display: flex;  gap: 1rem;}.method-icon {  width: 48px;  height: 48px;  background: var(--primary-light);  border-radius: 50%;  display: flex;  align-items: center;  justify-content: center;  color: var(--primary);  font-size: 1.25rem;  flex-shrink: 0;}.method-details h3 {  font-size: 1rem;  font-weight: 600;  margin-bottom: 0.25rem;  color: var(--gray-800);}.contact-link {  color: var(--primary);  text-decoration: none;  transition: var(--transition);  font-weight: 500;}.contact-link:hover {  color: var(--primary-dark);  text-decoration: underline;}.hours {  font-size: 0.85rem;  color: var(--gray-600);  margin-top: 0.25rem;}address {  font-style: normal;  color: var(--gray-700);  line-height: 1.5;}/* Contact Form */.form-card .card-body {  padding-top: 1rem;}.contact-form {  display: flex;  flex-direction: column;  gap: 1.25rem;}.form-group {  position: relative;}.form-group label {  display: block;  margin-bottom: 0.5rem;  font-weight: 500;  color: var(--gray-700);  font-size: 0.95rem;}.form-group input,.form-group textarea,.form-group select {  width: 100%;  padding: 0.85rem 1rem;  border: 1px solid var(--gray-300);  border-radius: var(--border-radius);  font-family: inherit;  font-size: 0.95rem;  transition: var(--transition);  background-color: var(--white);}.form-group input:focus,.form-group textarea:focus,.form-group select:focus {  outline: none;  border-color: var(--primary);  box-shadow: 0 0 0 3px rgba(67, 97, 238, 0.1);}.form-group textarea {  resize: vertical;  min-height: 120px;}.form-group select {  appearance: none;  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");  background-repeat: no-repeat;  background-position: right 1rem center;  background-size: 12px;}.error-message {  color: var(--danger);  font-size: 0.85rem;  margin-top: 0.25rem;  display: none;}/* Submit Button */.submit-btn {  display: inline-flex;  align-items: center;  justify-content: center;  gap: 0.75rem;  padding: 0.85rem 1.75rem;  background: var(--primary);  color: var(--white);  border: none;  border-radius: var(--border-radius);  font-weight: 500;  font-size: 1rem;  cursor: pointer;  transition: var(--transition);  margin-top: 0.5rem;}.submit-btn:hover {  background: var(--primary-dark);  transform: translateY(-2px);  box-shadow: 0 4px 8px rgba(67, 97, 238, 0.2);}.submit-btn i {  font-size: 1rem;}/* Map Card */.map-card {  grid-column: 1 / -1;}#map-container {  position: relative;  height: 400px;  border-radius: var(--border-radius);  overflow: hidden;}#map {  height: 100%;  width: 100%;}.map-overlay {  position: absolute;  bottom: 1.5rem;  left: 1.5rem;  right: 1.5rem;  background: rgba(255, 255, 255, 0.95);  border-radius: var(--border-radius);  padding: 1rem 1.5rem;  box-shadow: var(--box-shadow);  max-width: 300px;}.map-info h3 {  font-size: 1rem;  margin-bottom: 0.5rem;  color: var(--gray-800);  display: flex;  align-items: center;  gap: 0.5rem;}.map-info p {  color: var(--gray-600);  font-size: 0.9rem;  margin-bottom: 1rem;}.directions-btn {  display: inline-flex;  align-items: center;  gap: 0.5rem;  padding: 0.5rem 1rem;  background: var(--primary);  color: var(--white);  border-radius: var(--border-radius);  font-size: 0.85rem;  text-decoration: none;  transition: var(--transition);}.directions-btn:hover {  background: var(--primary-dark);}/* Business Hours */.business-hours {  background: var(--gray-100);  border-radius: var(--border-radius);  padding: 1.5rem;  max-width: 800px;  margin: 0 auto;}.business-hours h3 {  font-size: 1.25rem;  margin-bottom: 1rem;  color: var(--gray-800);  display: flex;  align-items: center;  gap: 0.75rem;}.business-hours ul {  list-style: none;  padding: 0;  margin: 0;  display: grid;  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));  gap: 0.75rem;}.business-hours li {  display: flex;  gap: 0.5rem;}.business-hours span {  font-weight: 500;  color: var(--gray-700);}/* Responsive Adjustments */@media (max-width: 992px) {  .contact-grid {    grid-template-columns: 1fr 1fr;  }  .map-card {    grid-column: auto;  }}@media (max-width: 768px) {  .page-header h1 {    font-size: 2rem;  }  .contact-grid {    grid-template-columns: 1fr;  }  #map-container {    height: 350px;  }  .map-overlay {    max-width: none;    right: 1.5rem;  }}@media (max-width: 576px) {  .contact-section {    padding: 3rem 0;  }  .page-header h1 {    font-size: 1.75rem;  }  .business-hours ul {    grid-template-columns: 1fr;  }}