/* Contact Us — ported from the live page's original contact page styles. */
.cnt {
  --cnt-bg: #0d1015; --cnt-surface: #1a1f28;
  --cnt-text: #f4f7fa; --cnt-text-2: #a7b1bf; --cnt-muted: #8a95a5;
  --cnt-border: #2a313c;
  background: var(--cnt-bg); color: var(--cnt-text); overflow-x: clip;
}
.cnt p { margin: 0; }
.cnt h1, .cnt h2 { margin: 0; font-weight: 500; }
.cnt img { max-width: 100%; }
.cnt-wrap { width: 100%; max-width: 1320px; margin-inline: auto; padding-inline: 24px; }
.cnt-eyebrow { font-size: 13px; font-weight: 600; line-height: 16px; letter-spacing: .08em; color: var(--cnt-muted); text-transform: uppercase; }
.cnt-mt { margin-top: 6px !important; }

/* Hero */
.cnt-hero { position: relative; padding-block: 80px 100px; }
.cnt-glow { position: absolute; top: -120px; right: -10%; width: 900px; max-width: none; pointer-events: none; opacity: .9; z-index: 0; }
.cnt-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 600px minmax(0, 1fr); gap: 80px; align-items: start; }
.cnt-intro { padding-top: 8px; }
.cnt-title { font-size: clamp(44px, 3.6vw, 68px); line-height: 1.06; letter-spacing: -.025em; margin-bottom: 28px !important; }
.cnt-title span { color: var(--accent); display: block; }
.cnt-lead { color: var(--cnt-text-2); font-size: 20px; line-height: 32px; max-width: 494px; }
.cnt-person { display: flex; align-items: center; gap: 16px; margin-top: 36px; }
.cnt-avatar { width: 58px; height: 58px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; background: linear-gradient(150deg, var(--accent), #1158e5); }
.cnt-person-name { font-size: 22px; line-height: 28px; letter-spacing: -.01em; margin-bottom: 5px !important; }
.cnt-person-role { color: var(--cnt-muted); font-size: 15px; line-height: 23px; }
.cnt-secondary { margin-top: 32px !important; }

.cnt-card { background: var(--cnt-surface); border: 1px solid var(--cnt-border); border-radius: 22px; padding: 48px 44px; }
/* Shared .dm-form inside the card: `.cnt p { margin: 0 }` would otherwise flatten the field spacing. */
.cnt .dm-field { margin-bottom: 18px; }
.cnt .dm-err { margin-top: 5px; }
.cnt .dm-consent, .cnt .form-status { margin-top: 12px; }
.cnt-card .form-field { background-color: var(--cnt-bg); border-color: var(--cnt-border); }
.cnt-card .form-field:focus { border-color: var(--accent); }
.cnt-card .form-field.is-invalid { border-color: #ff8a8a; }
.cnt-card textarea.form-field { min-height: 132px; }
.cnt-card select.form-field {
  -webkit-appearance: none; appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' stroke='%238a95a5' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center; padding-right: 34px;
}
.cnt-card .phone-group select.form-field { padding-left: 10px; padding-right: 26px; background-position: right 8px center; }
.cnt-card select.form-field option { color: #fff; background: var(--cnt-surface); }
.cnt-card .submit-btn { margin-top: 6px; padding: 15px 24px; border-radius: 100px; font-size: 16px; transition: filter .2s ease, transform .15s ease; }
.cnt-card .submit-btn:hover { filter: brightness(1.12); transform: translateY(-1px); }
.cnt-book { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; font-size: 15px; line-height: 23px; margin-top: 16px !important; }
.cnt-book span { color: var(--cnt-muted); }
.cnt-book a { color: #8fb0f0; }
.cnt-book a:hover { text-decoration: underline; }

/* Email */
.cnt-email { background: var(--cnt-surface); padding-block: 90px; }
.cnt-section-title { font-size: clamp(34px, 2.71vw, 52px); line-height: 1.115; letter-spacing: -.02em; max-width: 1000px; margin-bottom: 48px !important; }
.cnt-email-row { border-top: 1px solid var(--cnt-border); padding-block: 30px; display: flex; flex-direction: column; gap: 12px; }
.cnt-email-lead { display: flex; align-items: center; gap: 14px; }
.cnt-ic { display: inline-flex; width: 30px; height: 30px; flex: 0 0 auto; }
.cnt-ic svg { width: 100%; height: 100%; }
.cnt-email-lead .cnt-ic { transition: transform .3s var(--ease); }
.cnt-email-lead:hover .cnt-ic { transform: rotate(45deg); }
.cnt-email-lead a { font-size: clamp(24px, 1.7vw, 32px); line-height: 1.2; letter-spacing: -.015em; color: var(--cnt-text); word-break: break-all; transition: color .2s; }
.cnt-email-lead a:hover { color: var(--accent); }

/* Location */
.cnt-locations { padding-block: 100px; }
.cnt-locations .cnt-section-title { max-width: 900px; }
.cnt-photo { border: 1px solid var(--cnt-border); border-radius: 20px; overflow: hidden; margin-bottom: 48px; }
.cnt-photo img { display: block; width: 100%; height: 480px; object-fit: cover; transition: transform 1.2s var(--ease-out); }
.cnt-photo:hover img { transform: scale(1.03); }
.cnt-place { border-top: 1px solid var(--cnt-border); padding-block: 40px 10px; display: flex; gap: 40px; align-items: flex-start; }
.cnt-place-time { width: 150px; flex: 0 0 auto; display: flex; flex-direction: column; gap: 12px; }
.cnt-place-time .cnt-ic { width: 40px; height: 40px; }
.cnt-sun svg { animation: cnt-spin 18s linear infinite; }
@keyframes cnt-spin { to { transform: rotate(360deg); } }
.cnt-place-time strong { font-weight: 500; font-size: 22px; line-height: 28px; }
.cnt-place-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.cnt-place-city { font-size: clamp(24px, 1.7vw, 32px); line-height: 1.2; letter-spacing: -.015em; }
.cnt-place-addr { color: var(--cnt-text-2); font-size: 17px; line-height: 27px; max-width: 640px; }
.cnt-place-links { display: flex; flex-direction: column; gap: 4px; margin-top: 4px; }
.cnt-place-links a { display: inline-flex; gap: 10px; font-size: 17px; line-height: 27px; color: var(--cnt-text); }
.cnt-place-links a::before { content: "\2192"; color: var(--accent); }
.cnt-place-links a:hover { color: var(--accent); }

@media (max-width: 1199px) {
  .cnt-hero-grid { grid-template-columns: 1fr; gap: 48px; }
}
@media (max-width: 767px) {
  .cnt-hero { padding-block: 48px 64px; }
  .cnt-glow { width: 600px; right: -60%; }
  .cnt-card { padding: 28px 22px; }
  .cnt-secondary { margin-top: 24px !important; }
  .cnt-email, .cnt-locations { padding-block: 56px; }
  .cnt-place { flex-direction: column; gap: 20px; }
  .cnt-place-time { flex-direction: row; align-items: center; width: auto; }
  .cnt-photo img { height: 280px; }
}
@media (max-height: 500px) and (orientation: landscape) {
  .cnt .dm-field { margin-bottom: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .cnt-sun svg { animation: none; }
}

/* ===== LIGHT THEME (.theme-light) ===== */
/* All sections go light: hero (#f5f7fb) with a white form card, email band white, location #f5f7fb. */
.theme-light .cnt {
  --cnt-bg: #f5f7fb; --cnt-surface: #ffffff;
  --cnt-text: #0e1525; --cnt-text-2: #2b3445; --cnt-muted: #5b6577;
  --cnt-border: #e1e6ef;
}
.theme-light .cnt-card { box-shadow: 0 10px 30px -12px rgba(14, 21, 37, .12); }
.theme-light .cnt-avatar { box-shadow: 0 6px 16px -8px rgba(14, 21, 37, .35); }
.theme-light .cnt-card .form-field { background-color: #f6f8fc; border-color: #d6dce7; }
.theme-light .cnt-card .form-field:focus { background-color: #fff; border-color: var(--accent); }
.theme-light .cnt-card .form-field.is-invalid { border-color: #d93636; }
.theme-light .cnt-card select.form-field option { color: var(--text); background: #fff; }
.theme-light .cnt-card .submit-btn { box-shadow: 0 10px 22px -12px rgba(53, 103, 219, .7); }
.theme-light .cnt-book a { color: var(--accent); }
.theme-light .cnt-photo { box-shadow: 0 10px 30px -12px rgba(14, 21, 37, .12); }
.theme-light .cnt-sun circle:first-child { fill: #3567db; }
.theme-light .cnt-sun circle:nth-child(2), .theme-light .cnt-sun path { stroke: #3567db; }
