/* CONTACT PAGE */
.page-hero { position: relative; height: 100vh; min-height: 800px; display: flex; align-items: center; overflow: hidden; }
.page-hero-bg { position: absolute; inset: 0; z-index: 0; }
.page-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.page-hero .section-label, .contact-layout .section-label { color: var(--navy); -webkit-text-fill-color: var(--navy); font-size:0.8rem;}
.page-hero-overlay { position: absolute; inset: 0; background: linear-gradient(105deg, rgba(5,13,26,0.92) 0%, rgba(5,13,26,0.75) 50%, rgba(5,13,26,0.5) 100%); }
.page-hero-content { position: relative; z-index: 2; display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; width: 100%; padding-top: 80px; padding-bottom: 60px; box-sizing: border-box; }
.page-hero-text { max-width: 750px; width: 100%; }
.page-hero .hero-title .line-1, .page-hero .hero-title .line-2, .page-hero .hero-title .line-3 { display: block; font-size: clamp(52px, 8vw, 112px); color: var(--white); opacity: 0; transform: translateX(-60px); animation: slideInLeft 0.7s ease forwards;}
.page-hero .hero-title .line-1 { animation-delay: 0.2s; }
.page-hero .hero-title .line-2 { animation-delay: 0.35s; }
.page-hero .hero-title .line-3 { animation-delay: 0.5s; }
.page-hero .hero-title .line-4 { display: block; font-size: clamp(52px, 8vw, 112px); opacity: 0; transform: translateX(-60px); animation: slideInLeft 0.7s 0.65s ease forwards; }
@keyframes slideInLeft { to { opacity: 1; transform: translateX(0); } }
.page-hero .hero-sub { font-size: 16; color: var(--off-white); line-height: 1.7; width: 100%; max-width: 540px; margin-bottom: 40px; opacity: 0; animation: fadeIn 0.8s 1s ease forwards; }
@keyframes fadeIn { to { opacity: 0.85; } }

.contact-layout { display: grid; grid-template-columns: 1fr 1.3fr; gap: 0; min-height: 80vh; }
.contact-info-panel { background: var(--blue-deep); padding: 80px 64px; border-right: 1px solid var(--border); }
.contact-info-panel h2 { font-family: var(--font-display); font-size: 46px; letter-spacing: 2px; line-height: 0.95; color: var(--white); margin-bottom: 20px; }
.contact-info-panel h2 span { color: var(--blue-glow); }
.contact-info-panel p { font-size: 16px; color: var(--off-white); line-height: 1.7; margin-bottom: 15px; }
.contact-details { display: flex; flex-direction: column; gap: 0; }
.contact-detail-item { display: flex; align-items: flex-start; gap: 18px; padding: 24px 0; border-bottom: 1px solid var(--border); }
.contact-detail-item:last-child { border-bottom: none; }
.detail-icon { width: 48px; height: 50px; background: rgba(17,87,200,0.15); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0; }
.detail-text strong { display: block; font-family: var(--font-cond); font-size: 16px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--white); margin-bottom: 6px; }
.detail-text span, .detail-text a { font-size: 15px; color: var(--off-white); line-height: 1.6; }
.detail-text a { color: var(--blue-glow); }
.detail-text a:hover { color: var(--cyan); }
.hours-table { display: flex; flex-direction: column; gap: 4px; margin-top: 4px; }
.hours-row { display: flex; justify-content: space-between; font-size: 14px; color: var(--off-white); }
.hours-row .day { color: var(--steel); }

.contact-form-panel { background: var(--navy); padding: 80px 64px; }
.form-header { margin-bottom: 48px; }
.form-header h3 { font-family: var(--font-display); font-size: 36px; letter-spacing: 2px; color: var(--blue); margin-bottom: 20px; line-height: 1;}
.form-header p { font-size: 16px; color: var(--off-black); }

.contact-form { display: flex; flex-direction: column; gap: 20px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.form-group { display: flex; flex-direction: column; gap: 8px; }
.form-group label { font-family: var(--font-cond); font-size: 14px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--off-black); }
.form-group label span { color: #ff0000; opacity: 0.5; margin-left: 2px; }
.form-group input, .form-group select, .form-group textarea {
  background: rgb(255, 255, 255);
  border: 1px solid var(--border);
  color: var(--off-black);
  font-family: var(--font-body);
  font-size: 15px;
  padding: 14px 16px;
  transition: all var(--transition);
  outline: none;
  width: 100%;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus {
  border-color: var(--blue);
  background: rgba(17,87,200,0.05);
  box-shadow: 0 0 0 3px rgba(17,87,200,0.1);
}
.form-group input::placeholder, .form-group textarea::placeholder { color: var(--off-black); opacity: 0.5; }
.form-group select { appearance: none; cursor: pointer; }
.form-group select option { background: var(--white); color: var(--white); }
.form-group textarea { resize: vertical; min-height: 120px; }
.file-upload-label { display: flex; align-items: center; gap: 12px; background: rgba(255,255,255,0.03); border: 1px dashed var(--border); padding: 14px 16px; cursor: pointer; color: var(--off-black); font-size: 14px; transition: all var(--transition); }
.file-upload-label:hover { border-color: var(--blue-bright); color: var(--blue-glow); }
.file-upload-label input { display: none; }
.form-submit { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.form-note { font-size: 14px; color: var(--black); opacity: 0.6; }
.btn-submit { background: linear-gradient(135deg, var(--blue) 0%, var(--blue-bright) 100%); color: var(--white); font-family: var(--font-cond); font-size: 14px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; padding: 18px 48px; clip-path: polygon(12px 0%, 100% 0%, calc(100% - 12px) 100%, 0% 100%); transition: all var(--transition); cursor: pointer; border: none; }
.btn-submit:hover { background: linear-gradient(135deg, var(--blue-bright) 0%, var(--cyan) 100%); transform: translateY(-2px); box-shadow: var(--shadow-blue); }
.form-success { display: none; background: rgba(82, 215, 65, 0.342); border: 1px solid #2a4f25; padding: 20px 24px; color: #2a4f25; font-family: var(--font-cond); font-size: 16px; font-weight: 600; letter-spacing: 1px; }

.map-section { height: 500px; background: var(--navy-mid); border-top: 1px solid var(--border); position: relative; overflow: hidden; }
.map-section iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.map-placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, var(--navy-mid), var(--navy-light)); display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 16px; }
.map-placeholder p { font-family: var(--font-cond); font-size: 14px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--steel); }

@media (max-width: 1024px) {
  .contact-layout { grid-template-columns: 1fr; }
  .contact-info-panel, .contact-form-panel { padding: 60px 40px; }
}
@media (max-width: 768px) {
  .form-row { grid-template-columns: 1fr; }
  .contact-info-panel, .contact-form-panel { padding: 40px 24px; }
  .form-submit { flex-direction: column; align-items: flex-start; }
}
