/* HERO */
.contact-hero{ padding:56px 6% 8px; max-width:1280px; margin:0 auto; text-align:center; }
.hero-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:0.78rem; font-weight:600; color:var(--indigo);
  background:var(--indigo-50); border:1px solid var(--indigo-100);
  padding:6px 14px; border-radius:999px; margin-bottom:20px;
}
.hero-eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--indigo); }
.contact-hero h1{ font-size:clamp(1.9rem,4vw,2.7rem); font-weight:700; letter-spacing:-0.5px; line-height:1.2; color:var(--ink); margin-bottom:14px; }
.contact-hero p{ color:var(--ink-soft); font-size:1rem; line-height:1.65; max-width:560px; margin:0 auto; }

/* MAIN GRID */
.contact-wrap{ background:var(--surface); border-top:1px solid var(--border); padding:48px 6% 88px; }
.contact-grid{ max-width:1280px; margin:0 auto; display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:start; }

/* FORM CARD */
.form-card{
  background:#ffffff; border:1px solid var(--border-2); border-radius:var(--r-lg);
  padding:36px; box-shadow:0 4px 6px rgba(0,0,0,0.02);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.form-card:hover{
  border-color: var(--border);
  box-shadow: 0 12px 24px rgba(0,0,0,0.06);
}
.form-card h2{ font-size:1.2rem; font-weight:700; color:var(--ink); margin-bottom:6px; }
.form-card .form-sub{ font-size:0.88rem; color:var(--slate); margin-bottom:28px; }

.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-group{ margin-bottom:18px; }
.form-group label{ display:block; font-size:0.82rem; font-weight:600; color:var(--ink-soft); margin-bottom:7px; }
.form-group input,
.form-group select,
.form-group textarea{
  width:100%; padding:11px 14px; border:1px solid var(--border-2); border-radius:9px;
  font-size:0.9rem; font-family:'Inter',sans-serif; color:var(--ink); background:var(--bg);
  outline:none; transition:all 0.2s;
}
.form-group input::placeholder,
.form-group textarea::placeholder{ color:#94A3B8; }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{ border-color:var(--indigo); background:#fff; box-shadow:0 0 0 3px rgba(79,70,229,0.1); }
.form-group textarea{ resize:vertical; min-height:120px; }
.form-group select{ cursor:pointer; }
.form-group select option { background:#fff; color:var(--ink); }

.form-error{ font-size:0.76rem; color:#EF4444; margin-top:5px; display:none; }
.form-error.show{ display:block; }
.form-group.error input,
.form-group.error select,
.form-group.error textarea{ border-color:#EF4444; }

.form-submit-row{ display:flex; align-items:center; gap:14px; margin-top:8px; flex-wrap:wrap; }
.btn-submit{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  background:var(--indigo); color:#fff; border:none; padding:13px 30px;
  border-radius:10px; font-size:0.92rem; font-weight:600; cursor:pointer;
  font-family:'Inter',sans-serif; transition:all 0.2s ease;
  box-shadow: 0 2px 4px rgba(79,70,229,0.2);
}
.btn-submit:hover{ background:var(--indigo-d); transform:translateY(-1px); box-shadow: 0 4px 8px rgba(79,70,229,0.3); }
.btn-submit:disabled{ opacity:0.6; cursor:not-allowed; }
.form-note{ font-size:0.78rem; color:var(--slate); }

.form-success{
  display:none; align-items:flex-start; gap:14px;
  background:var(--emerald-50); border:1px solid #A7F3D0; border-radius:var(--r); padding:20px 22px;
}
.form-success.show{ display:flex; }
.form-success svg{ width:24px; height:24px; flex-shrink:0; margin-top:2px; }
.form-success h3{ font-size:0.95rem; font-weight:700; color:#047857; margin-bottom:4px; }
.form-success p{ font-size:0.84rem; color:#065F46; line-height:1.55; }

/* SIDE INFO PANEL */
.info-stack{ display:flex; flex-direction:column; gap:16px; }
.info-card{
  background:#ffffff; border:1px solid var(--border-2); border-radius:var(--r-lg);
  padding:24px; box-shadow:0 4px 6px rgba(0,0,0,0.02);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.info-card:hover{
  transform: translateY(-2px);
  border-color: var(--border);
  box-shadow: 0 8px 16px rgba(0,0,0,0.04);
}
.info-card-head{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.info-icon{ width:42px; height:42px; border-radius:11px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.info-card h3{ font-size:0.96rem; font-weight:700; color:var(--ink); }
.info-card .info-detail{ font-size:0.87rem; color:var(--ink-soft); line-height:1.65; }
.info-card .info-detail strong{ color:var(--ink); font-weight:600; }
.info-link{ display:inline-flex; align-items:center; gap:6px; font-size:0.85rem; font-weight:600; color:var(--indigo); text-decoration:none; margin-top:10px; }
.info-link:hover{ color:var(--indigo-d); }

.info-card.dark{ background:var(--ink); border-color:var(--ink); }
.info-card.dark h3{ color:#fff; }
.info-card.dark .info-detail{ color:#94A3B8; }

.hours-row{ display:flex; justify-content:space-between; font-size:0.85rem; padding:7px 0; border-bottom:1px solid var(--border-2); }
.hours-row:last-child{ border-bottom:none; }
.hours-day{ color:var(--ink-soft); }
.hours-time{ color:var(--ink); font-weight:600; }

/* MAP-STYLE ADDRESS CARD */
.address-visual{
  height:120px; border-radius:var(--r-sm); overflow:hidden; position:relative; margin-bottom:16px;
  background:var(--indigo-50);
}
.address-visual svg{ width:100%; height:100%; }

/* FAQ-ish quick contact strip */
.quick-contact-strip{ background:#ffffff; border-top:1px solid var(--border); padding:56px 6%; position:relative; }
.quick-grid{ max-width:1280px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; position:relative; z-index:2; }
.quick-card{ text-align:center; padding:28px 20px; border:1px solid var(--border-2); border-radius:var(--r-lg); background:#ffffff; box-shadow:0 4px 6px rgba(0,0,0,0.02); transition:all 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
.quick-card:hover{ border-color:var(--border); transform:translateY(-4px); box-shadow:0 12px 24px rgba(0,0,0,0.06); }
.quick-icon{ width:46px; height:46px; margin:0 auto 14px; border-radius:12px; }
.quick-card h4{ font-size:0.94rem; font-weight:600; color:var(--ink); margin-bottom:6px; }
.quick-card p{ font-size:0.8rem; color:var(--slate); line-height:1.55; margin-bottom:14px; }

@media(max-width:980px){
  .contact-grid{ grid-template-columns:1fr; }
  .quick-grid{ grid-template-columns:1fr; }
}
@media(max-width:768px){
  
  .form-row{ grid-template-columns:1fr; }
  .form-card{ padding:24px; }
}
