.contact-page { background: #101013; }
.contact-page .header-cta { background: #5d00c5; border-color: #5d00c5; color: #fff; }
.contact-flow { position: relative; isolation: isolate; overflow: hidden; min-height: calc(100vh - 82px); padding: 66px 0 32px; }
.contact-light { position: absolute; inset: 0; z-index: -2; background: radial-gradient(ellipse 52% 48% at 50% 100%, #5d00c58f, transparent), radial-gradient(ellipse 42% 46% at 88% 80%, #29005e82, transparent), linear-gradient(0deg, #1e122f, transparent 64%); }
.contact-light::before, .contact-light::after { content: ""; position: absolute; border-radius: 50%; filter: blur(75px); opacity: .36; }
.contact-light::before { width: 42%; height: 38%; left: 8%; bottom: -16%; background: #a756ef; }
.contact-light::after { width: 34%; height: 34%; right: 2%; top: 0; background: #5d00c5; opacity: .18; }
.flow-shell { position: relative; }
.contact-intro { text-align: center; }
.contact-intro .eyebrow { justify-content: center; color: #d7cce4; margin-bottom: 18px; }
.contact-intro h1 { font-family: var(--body); font-size: clamp(39px, 5vw, 68px); line-height: 1.05; letter-spacing: -.055em; }
.contact-intro h1 span { color: #cbb6f0; }
.contact-intro > p:last-child { margin-top: 16px; color: #b7b2bd; font-size: 13px; }
.flow-card { width: min(820px, 100%); margin: 38px auto 0; padding: 22px 26px 24px; border: 1px solid #ffffffa8; border-radius: 15px; background: #eeebf3; color: #29232f; box-shadow: 0 25px 90px #08020f80; }
.flow-topline { display: flex; justify-content: space-between; gap: 22px; color: #71677d; font-size: 10px; text-transform: uppercase; letter-spacing: .07em; }
.progress-track { height: 2px; margin: 15px 0 34px; overflow: hidden; background: #3a2c491a; }
.progress-track > span { display: block; width: 16.666%; height: 100%; background: #5d00c5; transition: width .35s ease; }
.step-form { position: relative; }
.form-step { margin: 0; padding: 0; border: 0; animation: stepIn .32s ease both; }
@keyframes stepIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.step-kicker { color: #5d00c5; font-family: var(--style); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.form-step legend { width: 100%; margin-top: 14px; color: #29232f; font-family: var(--body); font-size: clamp(27px, 3.2vw, 40px); line-height: 1.14; letter-spacing: -.035em; }
.step-help { margin-top: 10px; color: #776e7d; font-size: 12px; line-height: 1.6; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 30px; }
.flow-field { display: grid; gap: 8px; margin-top: 28px; }
.field-grid .flow-field { margin-top: 0; }
.field-grid .flow-field.full { grid-column: 1 / -1; }
.flow-field label { color: #4c4452; font-size: 10px; font-weight: 560; letter-spacing: .02em; }
.flow-field label span { color: #8c8491; font-weight: 400; }
.flow-field input, .flow-field select, .flow-field textarea { width: 100%; border: 0; border-bottom: 1px solid #4c3b5d58; border-radius: 0; background: transparent; color: #29232f; font: inherit; font-size: 17px; padding: 12px 2px; transition: border-color .2s, box-shadow .2s; }
.flow-field input[aria-invalid="true"] { border-color: #e04a60; }
.field-error { margin: 0; color: #d33a4d; font-size: 10px; line-height: 1.45; }
.flow-field select { appearance: none; -webkit-appearance: none; padding-right: 38px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23cbb6f0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 5px center; cursor: pointer; }
.flow-field select option { background: #151219; color: #f1f2f2; }
.flow-field textarea { min-height: 135px; border: 1px solid #4c3b5d45; border-radius: 7px; padding: 14px 15px; resize: vertical; font-size: 15px; line-height: 1.6; }
.flow-field input::placeholder, .flow-field textarea::placeholder { color: #92899a; }
.flow-field input:focus, .flow-field select:focus { outline: 0; border-color: #5d00c5; box-shadow: 0 2px 0 #5d00c52b; }
.flow-field textarea:focus { outline: 2px solid #7b2fd4; outline-offset: 2px; }
.choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 24px; }
.choice-grid label { position: relative; cursor: pointer; }
.choice-grid input { position: absolute; opacity: 0; pointer-events: none; }
.choice-grid span { display: flex; justify-content: space-between; gap: 16px; align-items: center; min-height: 60px; padding: 11px 14px; border: 1px solid #4c3b5d35; border-radius: 7px; background: #ffffff66; transition: border-color .2s, background .2s, transform .2s; }
.choice-grid b { font-size: 13px; font-weight: 560; }
.choice-grid small { color: #847b89; font-size: 9px; text-align: right; }
.choice-grid input:checked + span { border-color: #5d00c5; background: #5d00c510; box-shadow: inset 3px 0 #5d00c5; }
.choice-grid input:focus-visible + span { outline: 2px solid #5d00c5; outline-offset: 2px; }
.choice-grid label:hover span { border-color: #5d00c56b; transform: translateY(-1px); }
.security-note { margin-top: 10px; color: #887e8f; font-size: 9px; }
.review-list { margin: 26px 0; border-top: 1px solid #4c3b5d25; }
.review-list > div { display: grid; grid-template-columns: 100px 1fr; gap: 20px; padding: 11px 0; border-bottom: 1px solid #4c3b5d25; }
.review-list dt { color: #807587; font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.review-list dd { margin: 0; color: #352e39; font-size: 12px; }
.privacy-check { display: grid; grid-template-columns: 18px 1fr; gap: 11px; align-items: start; color: #655c6a; font-size: 10px; line-height: 1.55; cursor: pointer; }
.privacy-check input { width: 16px; height: 16px; margin-top: 1px; accent-color: #5d00c5; }
.privacy-check a { color: #5d00c5; border-bottom: 1px solid #5d00c552; }
.contact-preview-note { margin-top: 16px; padding: 10px 12px; border-left: 2px solid #5d00c5; background: #5d00c50b; color: #746b79; font-size: 9px; line-height: 1.55; }
.flow-actions { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-top: 24px; }
.flow-back, .flow-next, .flow-submit { min-height: 42px; border-radius: 6px; font-size: 11px; }
.flow-back { padding: 9px 12px; color: #6f6575; }
.flow-back:disabled { visibility: hidden; }
.flow-next, .flow-submit { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-left: auto; padding: 10px 14px; background: #5d00c5; color: #fff; }
.flow-next:hover { background: #29005e; }
.flow-submit:disabled { background: #7e7485; cursor: not-allowed; }
.form-error { margin-top: 14px; color: #f2a6ac; font-size: 11px; line-height: 1.5; text-align: right; }
.flow-next span, .flow-submit span { font-size: 18px; }
.key-hint { margin-top: 10px; color: #817688; font-size: 8px; text-align: right; }
.key-hint kbd { display: inline-grid; place-items: center; min-width: 18px; min-height: 18px; margin-left: 4px; border: 1px solid #6e647640; border-radius: 4px; background: #fff8; font: inherit; }
.contact-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.contact-foot { display: flex; justify-content: space-between; gap: 24px; margin-top: 28px; padding-top: 18px; border-top: 1px solid #ffffff24; color: #afa4b8; font-size: 9px; text-transform: uppercase; letter-spacing: .05em; }
.contact-page .footer { background: #101013; }
.qualification-result { min-height: 455px; animation: stepIn .32s ease both; }
.qualification-result h2 { margin-top: 14px; font-family: var(--body); font-size: clamp(28px, 3.2vw, 40px); line-height: 1.15; letter-spacing: -.035em; }
.qualification-result h2 span { color: #bbaac5; }
.result-intro { max-width: 610px; margin-top: 14px; color: #d1c7d8; font-size: 16px; line-height: 1.55; }
.result-guide { margin-top: 24px; padding: 20px; border: 1px solid #ffffff24; border-radius: 9px; background: linear-gradient(120deg, #ffffff0c, #9e5be610); }
.result-guide h3 { color: #f1f2f2; font-family: var(--body); font-size: clamp(18px, 2.2vw, 24px); line-height: 1.2; letter-spacing: -.025em; }
#result-guide-copy { max-width: 620px; margin-top: 9px; color: #beb4c4; font-size: 11px; line-height: 1.55; }
.result-investment { display: flex; justify-content: space-between; gap: 24px; align-items: baseline; margin-top: 18px; padding-top: 15px; border-top: 1px solid #ffffff1c; }
.result-investment span { color: #9f94a6; font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.result-investment strong { color: #f1f2f2; font-size: clamp(18px, 2.6vw, 27px); font-weight: 520; letter-spacing: -.025em; text-align: right; }
.result-disclaimer { margin-top: 10px; color: #918698; font-size: 9px; line-height: 1.5; }
.result-next-label { margin-top: 20px; color: #bd8ef3; font-family: var(--style); font-size: 9px; letter-spacing: .09em; text-transform: uppercase; }
.result-actions { display: flex; gap: 10px; margin-top: 20px; }
.result-next-label + .result-actions { margin-top: 9px; }
.result-call, .result-schedule { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 46px; padding: 11px 15px; border: 1px solid #ffffff42; border-radius: 5px; background: #1c1824b3; color: #fff; font-size: 11px; }
.result-call:disabled, .result-schedule:disabled { color: #a49aa9; cursor: not-allowed; opacity: .72; }
.qualification-result.is-high .result-call { border-color: #7d3bd0; background: #5d00c566; }
.result-note { margin-top: 10px; color: #918698; font-size: 9px; }
.result-edit { margin-top: 18px; padding: 7px 0; color: #b4a9bc; font-size: 10px; }
.schedule-modal {
  display: none;
  grid-template-rows: auto 1fr auto;
  gap: 16px;
  width: min(960px, calc(100vw - 44px));
  height: min(88vh, 820px);
  margin: auto;
  padding: 24px;
  border: 1px solid #8b789f70;
  border-radius: 15px;
  background: linear-gradient(120deg, #151219fa, #0e0d12f8 60%, #14151cfa);
  color: #f1f2f2;
  box-shadow: 0 30px 100px #030105e6;
  overflow: hidden;
}
.schedule-modal[open] { display: grid; }
.phone-confirm-modal { display: none; width: min(520px, calc(100vw - 32px)); margin: auto; padding: 24px; border: 1px solid #8b789f70; border-radius: 15px; background: linear-gradient(120deg, #151219fa, #0e0d12f8); color: #f1f2f2; box-shadow: 0 30px 100px #030105e6; }
.phone-confirm-modal[open] { display: grid; gap: 16px; }
.phone-confirm-modal::backdrop { background: #08040fd9; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.phone-confirm-header { display: grid; gap: 8px; }
.phone-confirm-header h2 { font-family: var(--body); font-size: clamp(24px, 4vw, 34px); line-height: 1.15; letter-spacing: -.035em; }
.phone-confirm-header p:last-child, .phone-confirm-modal label { color: #b4aabf; font-size: 12px; }
.phone-confirm-modal input { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #ffffff32; border-radius: 7px; background: #ffffff0a; color: #fff; font-size: 16px; }
.phone-confirm-modal input:focus { border-color: #bd8ef3; outline: 2px solid #bd8ef333; }
.phone-confirm-actions { display: flex; justify-content: flex-end; gap: 10px; }
.schedule-body { display: grid; gap: 20px; overflow: auto; }
.schedule-step { display: grid; gap: 12px; }
.schedule-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; }
.schedule-option {
  display: grid;
  gap: 4px;
  min-height: 48px;
  padding: 12px;
  border: 1px solid #ffffff20;
  border-radius: 8px;
  background: #ffffff08;
  color: #f1f2f2;
  font-size: 14px;
  text-align: center;
  cursor: pointer;
}
.schedule-option-title { font-weight: 600; }
.schedule-option-time { color: #b9afbf; font-size: 10px; line-height: 1.4; }
.schedule-option[aria-pressed="true"] .schedule-option-time { color: #dec6f8; }
.schedule-option[aria-pressed="true"] {
  border-color: #bd8ef3;
  background: #7a2fc820;
  box-shadow: inset 3px 0 #b879f1;
}
.schedule-option:disabled { color: #a99fac; background: #ffffff05; border-color: #ffffff12; cursor: not-allowed; }
.schedule-confirmation { color: #f1f2f2; font-size: 13px; }
.schedule-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.schedule-disclosure { max-width: 620px; color: #a99fac; font-size: 10px; line-height: 1.5; }
.schedule-confirm {
  min-width: 165px;
  min-height: 48px;
  padding: 11px 17px;
  border: 1px solid #ffffff50;
  border-radius: 5px;
  background: #5d00c5;
  color: #fff;
  font-size: 12px;
}
.schedule-confirm[disabled] { background: #1c1824b3; color: #a99fac; cursor: not-allowed; }
#schedule-error { color: #d9a8b4; font-size: 12px; }
.schedule-modal::backdrop {
  background: #08040fd9;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.schedule-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.schedule-header h2 { margin-top: 8px; font-family: var(--body); font-size: clamp(26px, 3vw, 36px); line-height: 1.12; letter-spacing: -.035em; }
.schedule-header p:last-child { margin-top: 7px; color: #b4aabf; font-size: 13px; line-height: 1.5; }
.schedule-close {
  min-width: 82px;
  min-height: 40px;
  border: 1px solid #ffffff42;
  border-radius: 6px;
  background: #1c1824b3;
  color: #fff;
  font-size: 12px;
}
.schedule-close:hover, .schedule-close:focus-visible { border-color: #bd8ef3; background: #5d00c5; outline: 0; }
.schedule-quiz { display: grid; gap: 20px; min-height: 0; overflow-y: auto; }
.schedule-step { display: grid; gap: 12px; }
.schedule-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; }
.schedule-option {
  min-height: 48px;
  padding: 12px;
  border: 1px solid #ffffff20;
  border-radius: 8px;
  background: #ffffff08;
  color: #f1f2f2;
  font-size: 14px;
  text-align: center;
  cursor: pointer;
}
.schedule-option[aria-pressed="true"] {
  border-color: #bd8ef3;
  background: #7a2fc820;
  box-shadow: inset 3px 0 #b879f1;
}
.schedule-option:disabled { color: #a99fac; background: #ffffff05; border-color: #ffffff12; cursor: not-allowed; }
.schedule-note { margin-top: 10px; color: #918698; font-size: 9px; }
.schedule-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.schedule-confirm {
  min-width: 165px;
  min-height: 48px;
  padding: 11px 17px;
  border: 1px solid #ffffff50;
  border-radius: 5px;
  background: #5d00c5;
  color: #fff;
  font-size: 12px;
}
.schedule-confirm[disabled] { background: #1c1824b3; color: #a99fac; cursor: not-allowed; }
@media (max-width: 800px) {
  .contact-flow { min-height: calc(100vh - 76px); padding-top: 52px; }
  .flow-card { min-height: 0; }
}
@media (max-width: 600px) {
  .contact-flow { padding: 42px 0 24px; }
  .contact-intro h1 { font-size: clamp(36px, 10.5vw, 50px); }
  .contact-intro > p:last-child { font-size: 11px; }
  .flow-card { min-height: 0; margin-top: 28px; padding: 18px 17px 20px; border-radius: 12px; }
  .progress-track { margin-bottom: 27px; }
  .form-step { min-height: 0; }
  .form-step legend { font-size: 28px; }
  .field-grid, .choice-grid { grid-template-columns: 1fr; gap: 14px; }
  .field-grid .flow-field.full { grid-column: 1; }
  .choice-grid { gap: 7px; margin-top: 18px; }
  .choice-grid span { min-height: 50px; }
  .flow-field input, .flow-field select { font-size: 16px; }
  .flow-actions { margin-top: 18px; }
  .flow-next, .flow-submit { gap: 18px; }
  .key-hint { display: none; }
  .contact-foot { display: grid; gap: 7px; font-size: 8px; }
  .qualification-result { min-height: 520px; }
  .result-investment { display: grid; gap: 7px; }
  .result-investment strong { text-align: left; }
  .result-actions { flex-direction: column; }
  .schedule-modal {
    width: calc(100vw - 24px);
    height: calc(100vh - 24px);
    padding: 16px;
  }
  .schedule-header { display: grid; gap: 12px; }
  .schedule-header h2 { font-size: 27px; }
  .schedule-header p:last-child { font-size: 12px; }
  .schedule-close { justify-self: start; }
  .schedule-fallback { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .form-step { animation: none; }
  .progress-track > span { transition: none; }
}

/* Homepage prompt treatment: dark glass, prismatic edge and restrained glow. */
.flow-card {
  position: relative;
  isolation: isolate;
  overflow: visible;
  border-color: #8b789f70;
  background: linear-gradient(120deg, #151219fa, #0e0d12f8 60%, #14151cfa);
  color: #f1f2f2;
  backdrop-filter: blur(22px) saturate(1.18);
  -webkit-backdrop-filter: blur(22px) saturate(1.18);
  box-shadow: 0 25px 90px #050108bd;
}
.flow-card::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: -1px;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(115deg, #dbb0b9a6 0%, #a16de888 27%, #ffffff08 48%, #8b9ce4c2 80%, #bfb1f5d1 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
.flow-card::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 14px -8px -7px;
  border-radius: inherit;
  background: linear-gradient(110deg, #c7869e70, #5d00c52c 43%, #8da6ec7a);
  filter: blur(26px);
  opacity: .42;
  pointer-events: none;
  animation: contactPromptBreath 10s ease-in-out infinite alternate;
}
@keyframes contactPromptBreath { from { opacity: .28; } to { opacity: .5; } }
.flow-topline, .key-hint { color: #a99eb2; }
.progress-track { background: #ffffff1a; }
.progress-track > span { background: linear-gradient(90deg, #a667e8, #d3b5f3); }
.step-kicker { color: #bd8ef3; }
.form-step legend { color: #f1f2f2; }
.step-help {
  max-width: 610px;
  margin-top: 13px;
  color: #d1c7d8;
  font-size: clamp(16px, 1.6vw, 19px);
  line-height: 1.5;
  letter-spacing: -.012em;
}
.flow-field label { color: #c9becf; }
.flow-field label span, .security-note { color: #94899e; }
.flow-field input, .flow-field select, .flow-field textarea { border-color: #ffffff42; color: #f1f2f2; }
.flow-field input::placeholder, .flow-field textarea::placeholder { color: #9e93a7; }
.flow-field input:focus, .flow-field select:focus { border-color: #bd8ef3; box-shadow: 0 2px 0 #bd8ef33d; }
.flow-field select { color-scheme: dark; }
.flow-field select {
  min-height: 52px;
  padding: 12px 42px 12px 14px;
  border: 1px solid #ffffff42;
  border-radius: 7px;
  background-color: #ffffff0a;
}
.flow-field select:hover { border-color: #b77cf080; background-color: #ffffff10; }
.flow-field select:focus { border-color: #bd8ef3; box-shadow: 0 0 0 3px #bd8ef31f; }
.flow-field select.custom-select-native {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  opacity: 0;
  pointer-events: none;
}
.custom-select { position: relative; }
.custom-select.is-open { z-index: 20; }
.form-step:has(.custom-select.is-open) {
  position: relative;
  z-index: 40;
}
.custom-select-trigger {
  position: relative;
  width: 100%;
  min-height: 52px;
  padding: 12px 44px 12px 14px;
  border: 1px solid #ffffff42;
  border-radius: 7px;
  background: #ffffff0a;
  color: #a99fac;
  font-size: 17px;
  line-height: 1.35;
  text-align: left;
}
.custom-select-trigger::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 8px;
  height: 8px;
  border-right: 1.5px solid #cbb6f0;
  border-bottom: 1.5px solid #cbb6f0;
  transform: translateY(-70%) rotate(45deg);
  transition: transform .2s;
}
.custom-select.is-open .custom-select-trigger::after { transform: translateY(-30%) rotate(225deg); }
.custom-select-trigger.has-value { color: #f1f2f2; }
.custom-select-trigger:hover { border-color: #b77cf080; background: #ffffff10; }
.custom-select-trigger:focus-visible, .custom-select-trigger[aria-invalid="true"] { border-color: #bd8ef3; outline: 0; box-shadow: 0 0 0 3px #bd8ef31f; }
.custom-select-options {
  position: absolute;
  top: calc(100% + 7px);
  left: 0;
  right: 0;
  z-index: 30;
  max-height: 260px;
  overflow-y: auto;
  padding: 6px;
  border: 1px solid #8b789f80;
  border-radius: 9px;
  background: #121016f5;
  box-shadow: 0 20px 55px #030105cc, inset 0 1px #ffffff10;
  backdrop-filter: blur(24px) saturate(1.2);
  -webkit-backdrop-filter: blur(24px) saturate(1.2);
}
.custom-select-options button {
  display: block;
  width: 100%;
  padding: 11px 12px;
  border-radius: 5px;
  color: #d8cfde;
  font-size: 13px;
  line-height: 1.35;
  text-align: left;
}
.custom-select-options button:hover, .custom-select-options button:focus-visible { background: #ffffff0f; color: #fff; outline: 0; }
.custom-select-options button.is-selected { background: #762bc52e; color: #e6ccff; box-shadow: inset 2px 0 #b879f1; }
.choice-followup { margin-top: 16px; }
.choice-grid span { border-color: #ffffff20; background: #ffffff0a; }
.choice-grid b { color: #f1f2f2; }
.choice-grid small { color: #a99fac; }
.choice-grid input:checked + span { border-color: #a968ed; background: #7a2fc820; box-shadow: inset 3px 0 #b879f1; }
.choice-grid label:hover span { border-color: #b77cf080; background: #ffffff10; }
.review-list { border-color: #ffffff1c; }
.review-list > div { border-color: #ffffff1c; }
.review-list dt { color: #9f94a6; }
.review-list dd { color: #e5dde9; }
.privacy-check { color: #c2b8c7; }
.privacy-check a { color: #d0a9fa; border-color: #d0a9fa66; }
.contact-preview-note { border-left-color: #b77cf0; background: #ffffff0a; color: #ada2b4; }
.flow-back { color: #b4a9bc; }
.flow-next, .flow-submit {
  min-width: 168px;
  min-height: 48px;
  padding: 11px 17px;
  border: 1px solid #ffffff50;
  border-radius: 5px;
  background: #1c1824b3;
  color: #fff;
  backdrop-filter: blur(18px) saturate(1.2);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  font-size: 12px;
}
.flow-next:hover { border-color: #5d00c5; background: #5d00c5; color: #fff; }
.flow-submit:disabled { border-color: #ffffff29; background: #ffffff12; color: #aaa0b0; }
.key-hint kbd { border-color: #ffffff2e; background: #ffffff0b; }
@media (max-width: 600px) {
  .step-help { font-size: 16px; }
  .custom-select-trigger { font-size: 16px; }
  .custom-select-options { max-height: 230px; }
  .flow-next, .flow-submit { min-width: 150px; }
}
@media (prefers-reduced-motion: reduce) {
  .flow-card::after { animation: none; }
}

@media (max-width: 600px) {
  .contact-flow { padding: 36px 0 24px; }
  .contact-intro h1 { font-size: clamp(35px, 10vw, 43px); line-height: 1.1; }
  .contact-intro > p:last-child { font-size: 15px; line-height: 1.6; }
  .flow-card { margin-top: 26px; padding: 20px 18px 22px; }
  .flow-topline { font-size: 10px; line-height: 1.45; }
  .progress-track { margin: 14px 0 26px; }
  .step-kicker { font-size: 11px; }
  .form-step legend { font-size: 29px; line-height: 1.15; }
  .step-help { font-size: 16px; line-height: 1.55; }
  .flow-field { margin-top: 24px; }
  .flow-field label { font-size: 12px; }
  .flow-field input,.flow-field select,.flow-field textarea,.custom-select-trigger { font-size: 16px; }
  .choice-grid { gap: 10px; }
  .choice-grid span { min-height: 64px; padding: 14px; }
  .choice-grid b { font-size: 15px; }
  .choice-grid small { font-size: 12px; line-height: 1.4; }
  .security-note { font-size: 12px; line-height: 1.5; }
  .review-list > div { grid-template-columns: 82px 1fr; gap: 14px; padding: 13px 0; }
  .review-list dt { font-size: 10px; }
  .review-list dd { font-size: 14px; line-height: 1.5; }
  .privacy-check { grid-template-columns: 22px 1fr; gap: 12px; font-size: 13px; line-height: 1.55; }
  .privacy-check input { width: 19px; height: 19px; }
  .contact-preview-note { padding: 12px 14px; font-size: 12px; line-height: 1.55; }
  .flow-actions { margin-top: 22px; }
  .flow-back,.flow-next,.flow-submit { min-height: 48px; font-size: 14px; }
  .flow-next,.flow-submit { min-width: 154px; }
  .form-error { font-size: 13px; }
  .contact-foot { gap: 9px; font-size: 10px; line-height: 1.5; }
  .qualification-result { min-height: 0; }
  .qualification-result h2 { font-size: 29px; }
  .result-intro { font-size: 16px; line-height: 1.6; }
  .result-guide { padding: 18px; }
  #result-guide-copy { font-size: 14px; line-height: 1.6; }
  .result-investment span,.result-next-label { font-size: 11px; }
  .result-disclaimer,.result-note { font-size: 12px; line-height: 1.55; }
  .result-call,.result-schedule { min-height: 50px; font-size: 14px; }
  .result-edit { font-size: 13px; }
  .custom-select-options button { min-height: 44px; font-size: 15px; }
}

/* The global header is fixed, so the contact flow needs its own top clearance. */
.contact-flow{padding-top:154px}
@media(max-width:800px){.contact-flow{padding-top:128px}}
@media(max-width:600px){.contact-flow{padding-top:116px}}
