/* Rich Sells Dallas / GTA KPI visual family — Quick Add v2.
   Intentionally an additive stylesheet: no form fields or handlers change. */
:root{
  color-scheme:dark;
  --navy:#101423; --navy2:#1c1b37; --muted:#b9bad3;
  --bg:#080b19; --border:#4f3970; --orange:#ed168c;
  --orange-pale:#3b183f; --white:#15192e; --green:#64e7b9;
  --shadow:0 18px 60px #030612b3;
  --hot:#ed168c; --electric:#35a9ea; --violet:#7044b8; --softwhite:#f7f7fa;
}
html{color:var(--softwhite);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
body{
  background:
    radial-gradient(ellipse 720px 380px at 78% 0%,#69267555,transparent 80%),
    radial-gradient(ellipse 520px 460px at 0% 39%,#0b5e9340,transparent 84%),
    linear-gradient(180deg,#0b0b1d,#101423 45%,#090c1a);
  color:var(--softwhite);
}
body:before{
  position:fixed;inset:0;content:'';pointer-events:none;opacity:.07;
  background-image:linear-gradient(#7998ed 1px,transparent 1px),linear-gradient(90deg,#7998ed 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(180deg,black,transparent 75%);
}
.page-shell{max-width:980px;position:relative;padding-bottom:54px}
.topbar{padding:21px 0 19px;border-bottom:1px solid #8c3d8277;gap:10px}
.brand-mark{
  width:47px;height:47px;border-radius:10px;
  background:linear-gradient(145deg,#261b3c,#0d1325);
  border:1px solid var(--hot);font:900 29px/1 Impact,'Arial Black',sans-serif;
  letter-spacing:0;color:white;box-shadow:0 0 12px #ed168c50;
  padding:0;transform:skew(-5deg);
}
.brand-mark span{color:var(--hot)}
.brand-caption{color:#fff;font-size:12px;font-weight:900;letter-spacing:1.7px;text-shadow:0 0 12px #ec4eada1}
.brand-sub{color:#a995cb;font-weight:600}
.connection{
  background:#17192d;border:1px solid #6d527a;color:#b4b7c8;
  box-shadow:inset 0 1px 0 #ffffff14;
}
.connection-dot{background:var(--hot);box-shadow:0 0 8px #ed168c85}
.connection.ready{color:var(--green);border-color:#288f76}
.connection.ready .connection-dot{background:var(--green);box-shadow:0 0 8px var(--green)}
.hero{padding:39px 1px 29px;align-items:center;position:relative}
.eyebrow,.destination span{color:#e8cce7;font-size:10px;font-weight:850;letter-spacing:2.1px}
.eyebrow-line{background:var(--hot);width:26px;height:3px;box-shadow:0 0 13px #ed168c}
h1{
  font:900 clamp(48px,7vw,76px)/.98 Impact,'Arial Black',sans-serif;
  color:#fff;letter-spacing:1px;margin:11px 0 8px;
  text-transform:uppercase;
  text-shadow:3px 4px 0 #0b0b1c,0 0 17px #ed168c69;
}
.period{color:var(--hot);text-shadow:0 0 12px #f71c9d}
.hero p{color:#c8bcdb;font-size:14px;font-weight:600}
.destination{
  background:linear-gradient(120deg,#17263e,#221934);
  border:1px solid var(--electric);border-radius:10px;padding:14px 18px;
  box-shadow:0 0 18px #35a9ea24;
}
.destination span{color:#8fcaec;margin-bottom:8px}
.destination strong{color:#f5f7ff;font-size:12px}
.form-card{
  border:1px solid #ab4ca2;border-radius:15px;
  background:linear-gradient(150deg,#1d1935,#141b30 55%,#17192f);
  box-shadow:0 1px 0 #b86ab640 inset,0 0 15px #f22ba521,var(--shadow);
}
.section-heading{padding:25px 29px 20px}
.section-heading h2{font:900 21px/1.2 Impact,'Arial Narrow',sans-serif;letter-spacing:.9px;text-transform:uppercase;color:white}
.section-heading p{color:#abb7d1}
.heading-icon{background:#352142;color:var(--hot);border:1px solid #a4479f}
.section-number{color:#79598d;font:900 14px/1.4 ui-monospace,monospace}
.fields{padding:0 29px 25px;gap:18px}
.field span,fieldset legend{color:#e3dfec;font-weight:800;font-size:12px}
.field em{color:#ac97c8}
input:not([type=radio]),textarea,select{
  background:#0d1429;border-color:#5a4775;border-radius:9px;
  color:#f8f8fe;box-shadow:inset 0 1px 3px #0004;
  padding:14px 15px;
}
input::placeholder,textarea::placeholder{color:#8995b7}
input:not([type=radio]):focus,textarea:focus,select:focus{
  border-color:#ef4aaa;box-shadow:0 0 0 3px #ed168c2a,0 0 13px #ed168c18;
}
textarea{min-height:96px}
.segmented span{
  border-color:#564778;border-radius:9px;background:#141b31;
  color:#b9bdd5;font-weight:850;font-size:12px;
}
.segmented input:checked+span{
  background:#5a1c4e;color:#fff;border-color:var(--hot);
  box-shadow:0 0 12px #ed168c40,inset 0 1px 0 #ec99d15e;
}
.segmented label:nth-child(2) input:checked+span{
  background:#1a4565;border-color:var(--electric);
  box-shadow:0 0 12px #35a9ea34;
}
.segmented label:nth-child(3) input:checked+span{
  background:#36265c;border-color:#9871df;
  box-shadow:0 0 12px #7044b847;
}
.segmented input:focus-visible+span{outline-color:#fd62c0}
.qualification,.next-steps{border-color:#574170}
.qualification>summary,.next-steps>summary{color:#fbfaff}
.qualification>summary:hover,.next-steps>summary:hover{background:#4c246033}
.qualification-icon{color:#b3c9ec;border-color:#675586;background:#1a2340}
.qual-label strong{color:#fff;font-size:14px}
.qual-label small{color:#adb4d1}
.qual-toggle{color:#ff62bb}
.qual-body{background:#121629;border-top-color:#59436e}
.questions textarea{background:#0e142a}
.question-label{color:#e2daeb}
.question-label .num{color:#ff60af}
.qual-footnote,.next-steps>summary span{color:#aeb5cc}
.footer-action{padding:23px 29px 28px}
.left-caption span{color:#aab6d2}
.text-link{color:#92c7e8}
.primary-button{
  color:#fff;background:linear-gradient(120deg,#d71786,#ee238e 60%,#bc208d);
  box-shadow:0 0 16px #ed168c61;font-weight:900;text-transform:uppercase;letter-spacing:.45px;
}
.primary-button:hover{background:linear-gradient(120deg,#f3269a,#f852ba)}
.secondary-button{background:#17223c;border-color:#447caa;color:#c4e9fb;font-weight:850}
.secondary-button:hover{background:#243d60}
.feedback{background:#32233f;color:#e4bfdb}
.feedback.success{background:#11372f;color:#9cf2d6;border:1px solid #308f71}
.feedback.error{background:#481b37;color:#ffb7c7;border:1px solid #ae4c73}
.under-card{color:#a3a7bf}
.under-card strong{color:#f7f5fa}
.under-card button{color:#9ed5f1}
.privacy-note{color:#9ca6c1}
dialog{
  color:var(--softwhite);border:1px solid #b14ba5;
  background:linear-gradient(135deg,#181a35,#15182c);
  box-shadow:0 0 40px #e4188625,0 20px 80px #000b;
}
dialog::backdrop{background:#050815ba}
.dialog-header h2{color:white}
.close-dialog{background:#2a2341;color:#f9f3ff}
.dialog-form p{color:#d2c7dd}
.dialog-form small{color:#a9a3bf}
@media(max-width:640px){
  .page-shell{padding:0 14px 35px}
  .topbar{padding:14px 0}
  .brand-mark{width:39px;height:39px;font-size:24px}
  .brand-caption{font-size:10px}
  .hero{padding:27px 2px 22px;align-items:flex-start;gap:16px}
  h1{font-size:clamp(49px,12vw,65px);letter-spacing:.5px}
  .hero p{font-size:13px}
  .destination{padding:10px 13px;gap:9px}
  .section-heading{padding:23px 18px 18px}
  .fields{padding:0 18px 21px}
  .qualification>summary{padding:17px 18px}
  .qual-body{padding:20px 18px}
  .next-steps>summary{padding:18px}
  .next-inner{padding:0 18px 19px}
  .footer-action{padding:22px 18px 24px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}


/* v3 — accessibility/readability refinements. Keeps the Dallas After Dark identity,
   existing layouts and submission handlers intact. White RH asset is CSS-tinted. */
.brand-mark.brand-logo-mark{
  width:73px;height:58px;min-width:73px;padding:6px 8px;
  display:grid;place-items:center;transform:none;overflow:hidden;
  border-radius:12px;border:1px solid #ef59b1;
  background:linear-gradient(145deg,#342446,#111a35);
  box-shadow:0 0 18px #ed168c44,inset 0 1px 0 #ffffff21;
}
.brand-logo-mark img{
  display:block;width:100%;height:100%;object-fit:contain;
  filter:brightness(0) invert(1) drop-shadow(0 0 1px #ffffff77);
}
.brand-caption{font-size:14px;letter-spacing:1.2px;line-height:1.3}
.brand-sub{font-size:12px;color:#d6c4e3}
.hero p{font-size:16px;color:#e0d4ed}
.destination span{font-size:11px}
.destination strong{font-size:14px}
/* Lift the dark panel surface and use light, high-contrast typing surfaces. */
.form-card{
  background:linear-gradient(155deg,#324060 0%,#283552 55%,#2c3651 100%);
  border:1px solid #967cb2;
  box-shadow:0 1px 0 #ffffff30 inset,0 18px 58px #0306128c,0 0 15px #ef2b9433;
}
.section-heading{padding:29px 31px 23px}
.section-heading h2{font-size:25px;letter-spacing:.65px}
.section-heading p{font-size:15px;color:#e0ddec;line-height:1.5}
.section-number{color:#ccbadb;font-size:15px}
.heading-icon{background:#57416d;border-color:#b579bd;color:#ff91d0}
.fields{gap:21px;padding-bottom:29px}
.field{gap:9px}
.field span,fieldset legend{font-size:16px;font-weight:760;color:#ffffff;line-height:1.45}
.field em{font-size:13px;color:#e0d6ea;font-weight:550}
input:not([type=radio]),textarea,select{
  min-height:54px;
  font-size:17px;
  line-height:1.5;
  font-weight:540;
  color:#16233e;
  background:#f5f7ff;
  border:2px solid #d2dcf0;
  border-radius:10px;
  padding:14px 16px;
  box-shadow:inset 0 1px 2px #283e6114;
}
input::placeholder,textarea::placeholder{color:#69778e;opacity:1}
input:not([type=radio]):focus,textarea:focus,select:focus{
  background:#fff;
  color:#0e1c37;
  border-color:#ff4eae;
  box-shadow:0 0 0 4px #ed168c42,0 1px 8px #06091e22;
}
textarea{min-height:116px;line-height:1.55}
.questions textarea{min-height:86px;background:#f5f7ff}
.segmented{gap:10px}
.segmented span{
  padding:15px 10px;
  font-size:16px;
  font-weight:800;
  border:2px solid #cdd8ec;
  border-radius:10px;
  background:#e9eef9;
  color:#263350;
}
.segmented input:checked+span{
  background:#ffe6f2;
  color:#771047;
  border-color:#ed168c;
  box-shadow:0 0 0 2px #ed168c24,inset 0 1px 0 #fff;
}
.segmented label:nth-child(2) input:checked+span{
  background:#def3ff;
  color:#104268;
  border-color:#35a9ea;
  box-shadow:0 0 0 2px #35a9ea2d;
}
.segmented label:nth-child(3) input:checked+span{
  background:#efe7ff;
  color:#4d237f;
  border-color:#9763df;
  box-shadow:0 0 0 2px #9763df24;
}
.qualification,.next-steps{border-color:#647392}
.qualification>summary,.next-steps>summary{background:#303d59;color:#fff}
.qualification>summary:hover,.next-steps>summary:hover{background:#374967}
.qualification-icon{background:#3d5278;border-color:#8ea9cc;color:#ecf6ff}
.qual-label strong{font-size:18px}
.qual-label small{font-size:14px;color:#d9dfef;line-height:1.45}
.qual-toggle{font-size:14px;color:#ff9bd0}
.qualification[open] .qual-toggle::before{font-size:14px}
.qual-body{background:#35435e;border-top-color:#75819e}
.question-label{font-size:16px;font-weight:730;color:#fff;line-height:1.5}
.question-label .num{color:#ff97ce}
.qual-footnote{font-size:14px;line-height:1.55;color:#e3e5f2}
.next-steps>summary{font-size:17px;line-height:1.45}
.next-steps>summary span{font-size:14px;color:#e2e5f5}
.next-inner{background:#35435e;padding-top:16px}
.footer-action{background:#2a3650}
.left-caption span{font-size:14px;color:#e3e6f3}
.text-link{font-size:14px;color:#bce5ff}
.primary-button,.secondary-button{font-size:16px;min-height:57px;padding:15px 19px}
.secondary-button{background:#f0f6ff;color:#173857;border:2px solid #b4d9fa}
.secondary-button:hover{background:#fff}
.feedback{font-size:15px;line-height:1.55}
.under-card{font-size:14px;color:#c6c9dc}
.under-card button{font-size:13px}
.privacy-note{font-size:12px;color:#b9c2db}
.dialog-form p{font-size:15px}
.dialog-form small{font-size:13px}
.preview-response p{font-size:14px}
.preview-response pre{font-size:14px}
@media(max-width:640px){
  .brand-mark.brand-logo-mark{width:61px;min-width:61px;height:49px;padding:5px 7px}
  .brand-caption{font-size:12px;letter-spacing:.6px}
  .hero p{font-size:15px}
  .section-heading{padding:24px 18px 20px}
  .section-heading h2{font-size:23px}
  .section-heading p{font-size:14px}
  .fields{padding:0 18px 24px;gap:19px}
  .qualification>summary{padding:20px 18px}
  .qual-body{padding:22px 18px}
  .next-steps>summary{padding:21px 18px}
  .next-inner{padding:16px 18px 22px}
  .footer-action{padding:23px 18px 26px}
  .field span,fieldset legend,.question-label{font-size:16px}
  input:not([type=radio]),textarea,select{font-size:17px}
  .segmented span{font-size:16px}
  .qual-label strong{font-size:17px}
  .qual-label small{font-size:13px}
  .qual-toggle{font-size:13px}
  .qualification[open] .qual-toggle::before{font-size:13px}
}


/* v4: Three persistent, keyboard-accessible prequalification sets. */
.qual-options{padding:0;border:0;margin:0;min-width:0}
.qual-options legend{color:#fff;font-size:16px;font-weight:760;margin-bottom:12px}
.qual-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.qual-choice{position:relative;cursor:pointer;min-width:0;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:66px;padding:10px 7px;
  border:2px solid #b9cbe3;border-radius:11px;background:#eaf0fa;color:#253651;text-align:center;transition:background .15s,border-color .15s,box-shadow .15s}
.qual-choice input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.qual-choice-label{display:block;width:100%;text-align:center;font-size:16px;font-weight:800;line-height:1.25;color:inherit}
.qual-choice:has(input:checked){border-color:#ed168c;background:#ffe8f3;color:#801044;box-shadow:0 0 0 2px #ed168c26}
.qual-choice:has(input:focus-visible){outline:3px solid #35a9ea;outline-offset:2px}
.qual-choice:hover{border-color:#e651ac}
.qual-saved{position:absolute;bottom:3px;left:2px;right:2px;display:block;text-align:center;min-height:0;font-size:11px;line-height:1.1;font-weight:700;color:#1b735d}
.qual-choice:has(input:checked) .qual-saved{color:#7f235a}
.qual-switch-note{font-size:14px;line-height:1.5;color:#e5edff;margin:11px 0 1px}
.qual-tabs + .qual-switch-note{margin-top:12px}
@media(max-width:410px){
 .qual-tabs{gap:6px}
 .qual-choice{min-height:64px;padding:10px 4px}
 .qual-choice-label{font-size:14px}
 .qual-saved{font-size:10px}
}
