/* ============================================================
   CONTACT FORM — Exminds
   Premium futuristic, dark cinematic with brand glow gradients
   Lives on every page (Home / Business / Individual / About / Case study)
   ============================================================ */

.contact-section, .contact-section * {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

.contact-section {
  position: relative;
  margin: 80px 16px 0;
  padding: 110px 0 130px;
  border-radius: 48px;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 80% 0%, rgba(0,212,200,0.18), transparent 60%),
    radial-gradient(ellipse at 0% 100%, rgba(234,193,5,0.12), transparent 55%),
    radial-gradient(ellipse at 50% 50%, rgba(91,175,255,0.10), transparent 60%),
    #050609;
  color: #f4f6ff;
}
.contact-section::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    radial-gradient(1px 1px at 14% 18%, rgba(255,255,255,0.5), transparent),
    radial-gradient(1px 1px at 64% 12%, rgba(255,255,255,0.45), transparent),
    radial-gradient(1px 1px at 86% 72%, rgba(255,255,255,0.5), transparent),
    radial-gradient(1px 1px at 28% 82%, rgba(255,255,255,0.4), transparent),
    radial-gradient(1px 1px at 50% 50%, rgba(255,255,255,0.35), transparent),
    radial-gradient(1px 1px at 92% 32%, rgba(255,255,255,0.4), transparent);
  opacity: 0.55;
  pointer-events: none;
}
.contact-section .container { position: relative; z-index: 1; }

.contact-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 80px;
  align-items: start;
}

/* Left rail — copy + meta */
.contact-aside .eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  font-weight: 600;
  color: #c8cde0;
}
.contact-aside .eyebrow .dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #5fffe9;
  box-shadow: 0 0 10px rgba(95,255,233,0.7);
}
.contact-aside h2 {
  margin: 22px 0 0;
  font-size: clamp(30px, 3.8vw, 46px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.08;
  color: #fff;
}
.contact-aside h2 .grad {
  font-style: italic;
  font-weight: 500;
  background: linear-gradient(120deg, #EAC105 0%, #00d4c8 35%, #5BAFFF 65%, #3DDC97 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.contact-aside .lead {
  margin: 28px 0 0;
  font-size: 16px; line-height: 1.6;
  color: #c8cde0;
  max-width: 44ch;
}

.contact-meta {
  margin-top: 48px;
  display: grid; gap: 18px;
}
.contact-meta-item {
  display: flex; align-items: center; gap: 14px;
  padding: 16px 18px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 18px;
}
.contact-meta-item .ico {
  width: 38px; height: 38px;
  border-radius: 12px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, rgba(0,212,200,0.2), rgba(91,175,255,0.18));
  color: #5fffe9;
  flex-shrink: 0;
}
.contact-meta-item .ico svg { width: 18px; height: 18px; }
.contact-meta-item small {
  display: block; font-size: 10.5px; letter-spacing: 0.12em;
  text-transform: uppercase; color: #8088a8;
  margin-bottom: 2px;
  font-weight: 600;
}
.contact-meta-item strong {
  display: block; font-size: 14px; color: #fff; font-weight: 500;
}
.contact-meta-item a { color: inherit; text-decoration: none; }

/* Form card */
.contact-form-card {
  position: relative;
  padding: 30px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 32px;
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
}
.contact-form-card::before {
  content: '';
  position: absolute; inset: -1px;
  border-radius: 33px;
  padding: 1px;
  background: linear-gradient(135deg, rgba(95,255,233,0.4), rgba(91,175,255,0.18) 40%, transparent 70%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

/* Role tabs */
.role-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
  padding: 5px;
  background: rgba(0,0,0,0.3);
  border: 1px solid rgba(255,255,255,0.05);
  border-radius: 14px;
  margin-bottom: 22px;
  position: relative;
}
.role-tab {
  position: relative;
  padding: 10px 10px;
  background: transparent;
  border: 0;
  color: #b6c0d0;
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: -0.005em;
  border-radius: 12px;
  cursor: pointer;
  transition: color .25s, background .25s;
  text-align: center;
  display: flex; align-items: center; justify-content: center; gap: 8px;
}
.role-tab .tab-ico {
  width: 16px; height: 16px;
  border-radius: 5px;
  flex-shrink: 0;
}
.role-tab[data-role="explorer"] .tab-ico { background: linear-gradient(135deg, #EAC105, #f5d749); box-shadow: 0 0 8px rgba(234,193,5,0.45); }
.role-tab[data-role="exminder"] .tab-ico { background: linear-gradient(135deg, #00AFB9, #5fffe9); box-shadow: 0 0 8px rgba(0,212,200,0.5); }
.role-tab[data-role="company"]  .tab-ico { background: linear-gradient(135deg, #007867, #3DDC97); box-shadow: 0 0 8px rgba(61,220,151,0.45); }
.role-tab:hover { color: #fff; background: rgba(255,255,255,0.04); }
.role-tab.is-active {
  color: #fff;
  background: linear-gradient(135deg, rgba(0,212,200,0.18), rgba(91,175,255,0.12));
  box-shadow: 0 0 0 1px rgba(95,255,233,0.35), 0 8px 22px rgba(0,212,200,0.18);
}

/* Form layout */
.contact-form .row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}
.contact-form .row.single { grid-template-columns: 1fr; }
.contact-form .field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.contact-form label {
  font-size: 10.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8088a8;
  font-weight: 600;
}
.contact-form label .req { color: #5fffe9; margin-left: 3px; }

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form input[type="url"],
.contact-form input[type="number"],
.contact-form select,
.contact-form textarea {
  width: 100%;
  padding: 11px 13px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  color: #fff;
  font-size: 13px;
  font-family: inherit;
  transition: border-color .2s, background .2s, box-shadow .2s;
  -webkit-appearance: none; appearance: none;
}
.contact-form select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235fffe9' stroke-width='2' stroke-linecap='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 44px;
}
.contact-form select option {
  background: #0a0c12;
  color: #fff;
}
.contact-form textarea {
  min-height: 110px;
  resize: vertical;
  line-height: 1.5;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder { color: #5a607a; }
.contact-form input:hover,
.contact-form select:hover,
.contact-form textarea:hover { border-color: rgba(255,255,255,0.16); }
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  outline: none;
  border-color: rgba(95,255,233,0.5);
  background: rgba(95,255,233,0.04);
  box-shadow: 0 0 0 4px rgba(95,255,233,0.1);
}

/* Conditional field groups */
.role-fields { display: none; }
.role-fields.is-active { display: block; }
.role-fields .row { margin-bottom: 16px; }

/* Terms checkbox */
.contact-terms {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 16px;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 14px;
  margin: 8px 0 24px;
  cursor: pointer;
}
.contact-terms input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 20px; height: 20px;
  margin: 0;
  border: 1.5px solid rgba(255,255,255,0.25);
  border-radius: 6px;
  background: rgba(0,0,0,0.4);
  cursor: pointer;
  flex-shrink: 0;
  position: relative;
  transition: background .2s, border-color .2s;
}
.contact-terms input[type="checkbox"]:checked {
  background: linear-gradient(135deg, #00d4c8, #5BAFFF);
  border-color: transparent;
}
.contact-terms input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 5px; top: 2px;
  width: 6px; height: 10px;
  border: solid #050609;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.contact-terms span {
  font-size: 13px;
  line-height: 1.5;
  color: #c8cde0;
}
.contact-terms a {
  color: #5fffe9;
  text-decoration: none;
  border-bottom: 1px solid rgba(95,255,233,0.4);
}

/* Submit */
.contact-submit-row {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}
.contact-submit-row small {
  font-size: 11.5px;
  color: #8088a8;
  letter-spacing: 0.06em;
}
.contact-submit {
  position: relative;
  display: inline-flex; align-items: center; gap: 12px;
  padding: 14px 28px;
  background: linear-gradient(135deg, #EAC105 0%, #00d4c8 50%, #5BAFFF 100%);
  background-size: 200% 200%;
  background-position: 0% 50%;
  color: #050609;
  border: 0;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.005em;
  cursor: pointer;
  overflow: hidden;
  transition: transform .25s, box-shadow .25s, background-position .6s;
  box-shadow: 0 12px 28px rgba(0,212,200,0.25), 0 0 0 1px rgba(255,255,255,0.08) inset;
}
.contact-submit:hover {
  transform: translateY(-2px);
  background-position: 100% 50%;
  box-shadow: 0 18px 40px rgba(0,212,200,0.35), 0 0 0 1px rgba(255,255,255,0.12) inset;
}
.contact-submit:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }
.contact-submit svg { width: 16px; height: 16px; }

/* Success state */
.contact-success {
  display: none;
  padding: 28px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(0,212,200,0.12), rgba(91,175,255,0.08));
  border: 1px solid rgba(95,255,233,0.3);
  text-align: center;
}
.contact-success.is-visible { display: block; }
.contact-success .check {
  width: 56px; height: 56px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: linear-gradient(135deg, #00d4c8, #5BAFFF);
  display: grid; place-items: center;
  color: #050609;
  box-shadow: 0 0 32px rgba(0,212,200,0.5);
}
.contact-success h4 {
  margin: 0; color: #fff; font-size: 22px; font-weight: 600;
}
.contact-success p {
  margin: 10px auto 0; max-width: 38ch;
  color: #c8cde0; font-size: 14px; line-height: 1.5;
}

/* Responsive */
@media (max-width: 1024px) {
  .contact-section { margin: 56px 12px 0; padding: 80px 0 90px; border-radius: 32px; }
  .contact-grid { grid-template-columns: 1fr; gap: 56px; }
  .contact-form-card { padding: 28px; }
  .contact-form .row { grid-template-columns: 1fr; gap: 14px; }
  .role-tab { font-size: 12.5px; padding: 11px 8px; }
  .role-tab .tab-ico { width: 14px; height: 14px; }
}
@media (max-width: 480px) {
  .contact-section { padding: 60px 0 72px; border-radius: 24px; margin: 40px 8px 0; }
  .contact-form-card { padding: 22px; border-radius: 24px; }
}


/* ====================================================================
   CONTACT FORM — overlap fix + polish (Exminds palette)
   Appended override: ensures labels & inputs stack cleanly with room.
   ==================================================================== */
.contact-form .row,
.contact-form .role-fields .row {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 14px 20px !important;
  margin-bottom: 16px !important;
  align-items: start;
}
.contact-form .row.single { grid-template-columns: 1fr !important; }

.contact-form .field {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 0;
  width: 100%;
}

/* Labels — readable, clearly above the input */
.contact-form label {
  display: block !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: #b6c0d0 !important;
  line-height: 1.2 !important;
  margin: 0 0 2px 4px !important;
  padding: 0 !important;
}
.contact-form label .req { color: #EAC105 !important; margin-left: 3px; }

/* Inputs — proper height, normal radius, no pill collisions */
html body .contact-form input[type="text"],
html body .contact-form input[type="email"],
html body .contact-form input[type="tel"],
html body .contact-form input[type="url"],
html body .contact-form input[type="number"],
html body .contact-form select,
html body .contact-form textarea {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 48px !important;
  padding: 14px 16px !important;
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 14px !important;
  color: #fff !important;
  font-size: 14px !important;
  font-family: 'Montserrat', sans-serif !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
  -webkit-appearance: none; appearance: none;
  margin: 0 !important;
  vertical-align: middle;
}
html body .contact-form textarea {
  min-height: 140px !important;
  padding: 16px !important;
  resize: vertical;
  line-height: 1.55 !important;
}
html body .contact-form input::placeholder,
html body .contact-form textarea::placeholder {
  color: #6a7290 !important;
  opacity: 1 !important;
}

/* Focus state — Exminds palette */
html body .contact-form input:focus,
html body .contact-form select:focus,
html body .contact-form textarea:focus {
  outline: none !important;
  border-color: rgba(0,175,185,0.55) !important;
  background: rgba(0,175,185,0.06) !important;
  box-shadow: 0 0 0 4px rgba(0,175,185,0.14) !important;
}

/* Role tabs — Exminds palette dots */
.contact-form .role-tabs { margin-bottom: 26px !important; padding: 6px !important; gap: 6px !important; border-radius: 16px !important; }
.contact-form .role-tab { font-size: 13px !important; padding: 12px 10px !important; border-radius: 12px !important; }
.contact-form .role-tab.is-active {
  background: linear-gradient(135deg, rgba(0,175,185,0.18), rgba(0,87,114,0.14)) !important;
  box-shadow: 0 0 0 1px rgba(0,175,185,0.45), 0 8px 22px rgba(0,175,185,0.18) !important;
}
.contact-form .role-tab[data-role="explorer"] .tab-ico { background: linear-gradient(135deg, #EAC105, #f5d749) !important; }
.contact-form .role-tab[data-role="exminder"] .tab-ico { background: linear-gradient(135deg, #00AFB9, #007867) !important; }
.contact-form .role-tab[data-role="company"]  .tab-ico { background: linear-gradient(135deg, #007867, #005772) !important; }

/* Submit — Exminds palette */
html body .contact-submit {
  background: linear-gradient(135deg, #EAC105 0%, #00AFB9 50%, #005772 100%) !important;
  background-size: 200% 200% !important;
  box-shadow: 0 12px 28px rgba(0,175,185,0.28), 0 0 0 1px rgba(255,255,255,0.08) inset !important;
  color: #0a0c12 !important;
  padding: 16px 28px !important;
  font-weight: 700 !important;
}
html body .contact-submit:hover {
  box-shadow: 0 18px 40px rgba(0,175,185,0.40), 0 0 0 1px rgba(255,255,255,0.14) inset !important;
}

/* Terms row — visible text */
.contact-terms { padding: 16px 18px !important; gap: 14px !important; }
.contact-terms span { color: #c8cde0 !important; font-size: 13px !important; line-height: 1.5 !important; }
.contact-terms a { color: #00d4c8 !important; border-bottom-color: rgba(0,212,200,0.4) !important; }
.contact-terms input[type="checkbox"]:checked {
  background: linear-gradient(135deg, #EAC105, #00AFB9) !important;
  border-color: transparent !important;
}

/* Select chevron — teal */
html body .contact-form select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2300d4c8' stroke-width='2.5' stroke-linecap='round'><polyline points='6 9 12 15 18 9'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 18px center !important;
  padding-right: 46px !important;
}

/* Mobile stacking */
@media (max-width: 768px) {
  .contact-form .row,
  .contact-form .role-fields .row {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}

/* Day view */
[data-theme="light"] .contact-section {
  background:
    radial-gradient(ellipse at 80% 0%, rgba(0,175,185,0.10), transparent 60%),
    radial-gradient(ellipse at 0% 100%, rgba(234,193,5,0.08), transparent 55%),
    #f5f4ee !important;
  color: #0a0c1a !important;
}
[data-theme="light"] .contact-aside h2,
[data-theme="light"] .contact-aside .lead,
[data-theme="light"] .contact-aside .eyebrow { color: #0a0c1a !important; }
[data-theme="light"] .contact-aside .lead { color: #2a2f44 !important; }
[data-theme="light"] .contact-meta-item {
  background: rgba(255,255,255,0.7) !important;
  border-color: rgba(10,12,26,0.10) !important;
}
[data-theme="light"] .contact-meta-item small { color: #6b7390 !important; }
[data-theme="light"] .contact-meta-item strong { color: #0a0c1a !important; }
[data-theme="light"] .contact-form-card {
  background: rgba(255,255,255,0.7) !important;
  border-color: rgba(10,12,26,0.08) !important;
}
[data-theme="light"] .contact-form label { color: #4a5068 !important; }
[data-theme="light"] html body .contact-form input,
[data-theme="light"] html body .contact-form select,
[data-theme="light"] html body .contact-form textarea {
  background: rgba(255,255,255,0.9) !important;
  border-color: rgba(10,12,26,0.12) !important;
  color: #0a0c1a !important;
}
[data-theme="light"] html body .contact-form input::placeholder,
[data-theme="light"] html body .contact-form textarea::placeholder { color: #8088a8 !important; }
[data-theme="light"] .contact-form .role-tabs {
  background: rgba(10,12,26,0.05) !important;
  border-color: rgba(10,12,26,0.10) !important;
}
[data-theme="light"] .contact-form .role-tab { color: #4a5068 !important; }
[data-theme="light"] .contact-form .role-tab.is-active { color: #0a0c1a !important; background: rgba(255,255,255,0.95) !important; }
[data-theme="light"] .contact-terms {
  background: rgba(255,255,255,0.7) !important;
  border-color: rgba(10,12,26,0.10) !important;
}
[data-theme="light"] .contact-terms span { color: #2a2f44 !important; }
[data-theme="light"] .contact-submit-row small { color: #4a5068 !important; }

/* ── Scrollbar artifacts: hide browser-rendered scroll indicators on inputs ── */
.contact-form input::-webkit-scrollbar,
.contact-form select::-webkit-scrollbar {
  display: none;
}
.contact-form input,
.contact-form select {
  scrollbar-width: none;
  overflow: hidden;
}

/* ── Cursor: restore natural cursors inside the form card ── */
.contact-form-card { cursor: auto; }
.contact-form-card input,
.contact-form-card select,
.contact-form-card textarea { cursor: text; }
.contact-form-card button,
.contact-form-card .role-tab,
.contact-form-card .contact-submit,
.contact-form-card .contact-terms { cursor: pointer; }

/* Hide the glass cursor when hovering the form card so it doesn't cover tabs/fields */
body:has(.contact-form-card:hover) .cursor-glass {
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
}
body:has(.contact-form-card:hover) .cursor-dot {
  opacity: 0 !important;
}


/* ============================================================
   PHASE 12 — Contact form detune (kill ALL CAPS, calmer labels)
   The form labels and consent text were screaming uppercase
   per Phase 6's heavy treatment. This block subtracts:
   sentence-case labels, quieter terms text, refined select chevron,
   cleaner role tabs, friendlier submit button.
   Append-only — overrides earlier rules via the cascade.
   ============================================================ */

/* Labels: kill uppercase, soften weight, sentence case via CSS */
html body .contact-form label,
html body .contact-form .field > label {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: color-mix(in srgb, var(--ink) 72%, transparent) !important;
  margin: 0 0 4px 2px !important;
}
html body .contact-form label .req {
  color: var(--green) !important;
  font-weight: 600;
  margin-left: 4px;
}

/* Consent / terms row: sentence case, calmer */
html body .contact-form .contact-terms,
html body .contact-form .contact-terms span,
html body .contact-form .contact-terms a {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: color-mix(in srgb, var(--ink) 65%, transparent) !important;
}
html body .contact-form .contact-terms a {
  color: var(--ink) !important;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--green) 50%, transparent);
  text-underline-offset: 2px;
  font-weight: 500 !important;
  transition: color .2s ease;
}
html body .contact-form .contact-terms a:hover {
  color: var(--green) !important;
}
/* Checkbox: clean rounded square, brand check on :checked */
html body .contact-form .contact-terms input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px; height: 18px;
  border-radius: 6px;
  border: 1.5px solid color-mix(in srgb, var(--ink) 25%, transparent);
  background: rgba(255,255,255,0.7);
  cursor: pointer;
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  margin-top: 1px;
  transition: border-color .2s ease, background .2s ease;
}
html body .contact-form .contact-terms input[type="checkbox"]:hover {
  border-color: var(--green);
}
html body .contact-form .contact-terms input[type="checkbox"]:checked {
  background: var(--green);
  border-color: var(--green);
}
html body .contact-form .contact-terms input[type="checkbox"]:checked::after {
  content: '';
  width: 10px; height: 10px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2 6.2l2.6 2.6L10 3.4'/></svg>") center/contain no-repeat;
}

/* Meta items (Email / Phone / Where we are) labels in the aside: small but sentence-case */
html body .contact-aside .contact-meta-item small {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  color: color-mix(in srgb, var(--ink) 55%, transparent) !important;
}

/* Select dropdown: clean native treatment with a proper chevron */
html body .contact-form select {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='%230B2A2A' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M4 6l4 4 4-4'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 16px 16px !important;
  background-color: rgba(255,255,255,0.7) !important;
  padding-right: 44px !important;
}

/* Role tabs: consistent affordance, calmer active state */
html body .contact-form .role-tabs {
  background: color-mix(in srgb, var(--ink) 4%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--ink) 8%, transparent) !important;
  border-radius: var(--radius-pill, 9999px) !important;
  padding: 4px !important;
}
html body .contact-form .role-tab {
  color: color-mix(in srgb, var(--ink) 60%, transparent) !important;
  background: transparent !important;
  border-radius: var(--radius-pill, 9999px) !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: none !important;
}
html body .contact-form .role-tab:hover {
  color: var(--ink) !important;
  background: rgba(255,255,255,0.5) !important;
}
html body .contact-form .role-tab.is-active {
  color: var(--ink) !important;
  background: rgba(255,255,255,0.85) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.9) inset,
    0 2px 10px -2px rgba(0, 120, 103, 0.18) !important;
}

/* Submit button: bigger, calmer */
html body .contact-form .contact-submit {
  padding: 16px 28px !important;
  font-size: 15.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  border-radius: var(--radius-pill, 9999px) !important;
  transition: transform .25s ease, box-shadow .25s ease;
}
html body .contact-form .contact-submit:hover {
  transform: translateY(-1px) scale(1.015);
  box-shadow: 0 14px 36px -12px rgba(0, 120, 103, 0.5);
}

/* Light-theme readability for the form inputs (Phase 6 already lightened
   most surfaces, but the input border/color was still tuned for dark) */
[data-theme="light"] html body .contact-form input[type="text"],
[data-theme="light"] html body .contact-form input[type="email"],
[data-theme="light"] html body .contact-form input[type="tel"],
[data-theme="light"] html body .contact-form input[type="url"],
[data-theme="light"] html body .contact-form input[type="number"],
[data-theme="light"] html body .contact-form select,
[data-theme="light"] html body .contact-form textarea {
  background: rgba(255,255,255,0.7) !important;
  border: 1px solid color-mix(in srgb, var(--ink) 12%, transparent) !important;
  color: var(--ink) !important;
}

/* "Not ready to pick a side?" details — quieter */
html body .contact-section-secondary summary,
html body .contact-section-secondary summary span {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  color: color-mix(in srgb, var(--ink) 70%, transparent) !important;
}

/* ============================================================
   LIGHT RETHEME — contact form matches the white site (image #13)
   Always-open form: the collapse summary is hidden.
   ============================================================ */
html body .contact-section{
  background: transparent !important;
  color: var(--ink) !important;
  border-radius: 36px;
}
html body .contact-section::before{ display: none !important; }      /* dark starfield off */
html body .contact-collapse-summary{ display: none !important; }     /* always open */

/* Card */
html body .contact-form-card{
  background: var(--glass-strong) !important;
  border: 1px solid var(--line) !important;
  -webkit-backdrop-filter: blur(16px) saturate(150%); backdrop-filter: blur(16px) saturate(150%);
  box-shadow: 0 40px 90px -40px rgba(0,120,103,.22) !important;
}
html body .contact-form-card::before{
  background: linear-gradient(135deg, color-mix(in srgb, var(--teal) 45%, transparent), color-mix(in srgb, var(--green) 22%, transparent) 45%, transparent 72%) !important;
}

/* Role tabs */
html body .role-tabs{ background: color-mix(in srgb, var(--ink) 5%, transparent) !important; border-color: var(--line) !important; }
html body .role-tab{ color: var(--ink-2) !important; }
html body .role-tab:hover{ color: var(--ink) !important; background: color-mix(in srgb, var(--ink) 5%, transparent) !important; }
html body .role-tab.is-active{ color: #fff !important;
  background: linear-gradient(135deg, var(--teal), var(--green)) !important;
  box-shadow: 0 8px 22px -10px color-mix(in srgb, var(--teal) 60%, transparent) !important; }

/* Fields */
html body .contact-form label{ color: var(--ink) !important; }
html body .contact-form label .req{ color: var(--teal) !important; }
html body .contact-form input[type="text"],
html body .contact-form input[type="email"],
html body .contact-form input[type="tel"],
html body .contact-form input[type="url"],
html body .contact-form input[type="number"],
html body .contact-form select,
html body .contact-form textarea{
  background: #fff !important;
  border: 1px solid var(--line) !important;
  color: var(--ink) !important;
  border-radius: 14px !important;
}
[data-theme="dark"] html body .contact-form input,
[data-theme="dark"] html body .contact-form select,
[data-theme="dark"] html body .contact-form textarea{ background: rgba(255,255,255,.05) !important; }
html body .contact-form input::placeholder,
html body .contact-form textarea::placeholder{ color: var(--ink-3) !important; }
html body .contact-form input:focus,
html body .contact-form select:focus,
html body .contact-form textarea:focus{
  border-color: var(--teal) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--teal) 18%, transparent) !important;
  outline: none !important;
}

/* Aside copy */
html body .contact-aside .eyebrow{ color: var(--teal) !important; }
html body .contact-aside h2{ color: var(--ink) !important; }
html body .contact-aside .lead{ color: var(--ink-2) !important; }
html body .contact-meta-item{
  background: var(--glass) !important; border: 1px solid var(--line) !important;
  border-radius: 16px !important; color: var(--ink) !important;
}
html body .contact-meta-item small{ color: var(--ink-3) !important; }
html body .contact-meta-item strong{ color: var(--ink) !important; }
html body .contact-meta-item .ico{ color: var(--teal) !important; background: color-mix(in srgb, var(--teal) 12%, transparent) !important; }

/* Submit + consent */
html body .contact-form .consent,
html body .contact-form .form-note,
html body .contact-form small{ color: var(--ink-2) !important; }
html body .contact-form a{ color: var(--ink) !important; }

/* ============================================================
   REMAKE — clean, on-brand contact panel (no beige, brand colours)
   ============================================================ */
html body .contact-section{
  margin: 80px auto 0 !important;
  max-width: 1200px !important;
  padding: 64px 56px 72px !important;
  border-radius: 36px !important;
  border: 1px solid color-mix(in srgb, var(--teal) 18%, var(--line)) !important;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 88% -12%, color-mix(in srgb, var(--teal) 20%, transparent), transparent 52%),
    radial-gradient(ellipse at -8% 112%, color-mix(in srgb, var(--green) 16%, transparent), transparent 55%),
    radial-gradient(ellipse at 50% 50%, color-mix(in srgb, var(--color-sunflower) 6%, transparent), transparent 60%),
    var(--bg-1) !important;
  color: var(--ink) !important;
  box-shadow: 0 50px 120px -50px color-mix(in srgb, var(--green) 40%, transparent) !important;
}
[data-theme="dark"] html body .contact-section{
  background:
    radial-gradient(ellipse at 88% -12%, color-mix(in srgb, var(--teal) 26%, transparent), transparent 52%),
    radial-gradient(ellipse at -8% 112%, color-mix(in srgb, var(--green) 22%, transparent), transparent 55%),
    #0a1020 !important;
}
html body .contact-section::before{ display:none !important; }

/* crisp white form card on the mint panel */
html body .contact-form-card{
  background: #ffffff !important;
  border: 1px solid color-mix(in srgb, var(--teal) 16%, var(--line)) !important;
  box-shadow: 0 30px 70px -40px color-mix(in srgb, var(--green) 35%, transparent) !important;
  -webkit-backdrop-filter: none; backdrop-filter: none;
}
[data-theme="dark"] html body .contact-form-card{ background: rgba(255,255,255,.04) !important; }
html body .contact-form-card::before{
  background: linear-gradient(135deg, color-mix(in srgb, var(--teal) 55%, transparent), color-mix(in srgb, var(--green) 30%, transparent) 45%, transparent 72%) !important;
}
/* contact info cards crisp white */
html body .contact-meta-item{ background:#ffffff !important; border:1px solid var(--line) !important; }
[data-theme="dark"] html body .contact-meta-item{ background:rgba(255,255,255,.04) !important; }

/* ============================================================
   GLASS contact panel (2026-06-17) — replaces beige / mint fill
   ============================================================ */
html body .contact-section,
html[data-theme="light"] .contact-section{
  background: linear-gradient(160deg, rgba(255,255,255,0.58), rgba(255,255,255,0.28)) !important;
  -webkit-backdrop-filter: blur(26px) saturate(150%) !important;
  backdrop-filter: blur(26px) saturate(150%) !important;
  border: 1px solid rgba(255,255,255,0.65) !important;
  box-shadow: 0 44px 110px -54px rgba(0,80,60,0.38), inset 0 1px 0 rgba(255,255,255,0.6) !important;
  color: var(--ink) !important;
}
[data-theme="dark"] html body .contact-section{
  background: linear-gradient(160deg, rgba(255,255,255,0.09), rgba(255,255,255,0.03)) !important;
  border-color: rgba(255,255,255,0.12) !important;
  box-shadow: 0 44px 110px -54px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,255,255,0.08) !important;
}
/* layered glass for the inner cards */
html body .contact-form-card{
  background: rgba(255,255,255,0.62) !important;
  -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
  backdrop-filter: blur(18px) saturate(140%) !important;
  border: 1px solid rgba(255,255,255,0.7) !important;
}
[data-theme="dark"] html body .contact-form-card{ background: rgba(255,255,255,0.05) !important; border-color: rgba(255,255,255,0.1) !important; }
html body .contact-meta-item{
  background: rgba(255,255,255,0.5) !important;
  -webkit-backdrop-filter: blur(12px) saturate(135%) !important;
  backdrop-filter: blur(12px) saturate(135%) !important;
  border: 1px solid rgba(255,255,255,0.6) !important;
}
[data-theme="dark"] html body .contact-meta-item{ background: rgba(255,255,255,0.04) !important; border-color: rgba(255,255,255,0.1) !important; }
