/* agent.realdealsource.com: the Real Deal Source realtor AI demo.
   Brand (Nelson, 2026-10-18 and 2026-10-28: navy + orange, always): the tokens below are realdealsource.com's own
   (its :root, read 2026-10-28), so this page and that site look like one company. Archivo for everything, Archivo at
   125% width for display type, Space Mono for the small uppercase labels. */
:root{
  --bg:#070B14; --card:#0F1626; --card2:#141D31; --raise:#18223A; --well:#0B1120;
  --line:rgba(255,255,255,.075); --line2:rgba(255,255,255,.14);
  --ink:#F2F6FC; --ink2:#C3CEE0; --muted:#8b99ae; --faint:#6b7a92;
  --orange:#FF6A3A; --orange-hi:#FF8A3A; --orange-soft:rgba(255,106,58,.13); --on-orange:#160801;
  --hot:linear-gradient(135deg,#FF5A2B 0%,#FF8A3A 55%,#FFB03A 100%);
  --blue:#4D9BFF; --blue-hi:#8CBEFF; --blue-soft:rgba(77,155,255,.14);
  --good:#00E19B; --good-soft:rgba(0,225,155,.13); --warn:#FFB43A; --warn-soft:rgba(255,180,58,.14);
  --red:#FF5C5C; --red-soft:rgba(255,92,92,.14);
  --sans:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Space Mono",ui-monospace,"Cascadia Code",Consolas,monospace;
  --shadow:0 24px 60px -24px rgba(0,0,0,.75);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0}
body{min-height:100vh;display:flex;flex-direction:column;font:400 15px/1.5 var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;
  background:radial-gradient(1200px 680px at 8% -10%,rgba(255,106,58,.15),transparent 60%),
             radial-gradient(900px 520px at 100% 0%,rgba(77,155,255,.10),transparent 55%),var(--bg);
  background-attachment:fixed;overflow-x:hidden}
[hidden]{display:none!important}
a{color:inherit}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
h1,h2,h3,p{margin:0}
.w{width:100%;max-width:1220px;margin:0 auto;padding:0 20px}
.muted{color:var(--muted)}
.fine{font-size:12px;color:var(--faint);line-height:1.5}
.err{color:var(--red);font-size:13.5px;margin-top:8px}
.mono{font-family:var(--mono)}
.disp{font-stretch:125%;font-weight:800;letter-spacing:-.02em}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
.label{font:700 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}

/* ---- brand (realdealsource.com's radar mark) */
.brand{display:flex;align-items:center;gap:11px;text-decoration:none}
.mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(160deg,#141D31,#070B14);flex:none;display:grid;place-items:center;
  box-shadow:inset 0 0 0 1px rgba(255,106,58,.45),0 8px 24px -10px rgba(255,106,58,.6)}
.mark svg{width:28px;height:28px}
.bn{display:block;font-weight:800;font-stretch:125%;font-size:16.5px;text-transform:uppercase;letter-spacing:.045em;line-height:1.1}
.bs{display:block;font:700 9.5px/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--orange);margin-top:4px}

/* ---- buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:10px;border:1px solid var(--line2);
  background:var(--card2);color:var(--ink);font-weight:700;font-size:14.5px;white-space:nowrap;text-decoration:none;transition:.15s}
.btn:hover{border-color:rgba(255,255,255,.28);background:var(--raise)}
.btn.pri{background:var(--hot);border-color:transparent;color:var(--on-orange);box-shadow:0 8px 24px -10px rgba(255,106,58,.8)}
.btn.pri:hover{filter:brightness(1.06);box-shadow:0 10px 30px -10px rgba(255,106,58,.95)}
.btn.sm{height:34px;padding:0 13px;font-size:13px;border-radius:9px}
.btn.lg{height:52px;padding:0 24px;font-size:16px;border-radius:12px}
.btn.ghost{background:transparent;border-color:transparent;color:var(--ink2)}
.btn.ghost:hover{background:var(--card2)}
.btn.danger{color:var(--red)}
.btn.busy{pointer-events:none;opacity:.7}
.btn:disabled{opacity:.45;pointer-events:none}

/* ---- top bar + footer */
.top{position:sticky;top:0;z-index:10;background:rgba(7,11,20,.8);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.top .w{display:flex;align-items:center;justify-content:space-between;gap:12px;height:68px}
.foot{margin-top:auto;border-top:1px solid var(--line);background:rgba(11,17,32,.7);padding:22px 0;color:var(--faint);font-size:12.5px}
.foot .w{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.foot .mark{width:30px;height:30px;border-radius:9px}.foot .mark svg{width:22px;height:22px}
.foot .bn{font-size:13px}

/* ---- 1. start */
.hero{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center;padding:60px 0 36px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font:700 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--orange);
  background:var(--orange-soft);border:1px solid rgba(255,106,58,.32);padding:8px 12px;border-radius:99px}
.dot{width:7px;height:7px;border-radius:50%;background:var(--orange);animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,106,58,.6)}70%{box-shadow:0 0 0 9px rgba(255,106,58,0)}100%{box-shadow:0 0 0 0 rgba(255,106,58,0)}}
.hero h1{font-size:clamp(36px,5.3vw,64px);line-height:1.02;margin:20px 0 18px;text-wrap:balance}
.hero h1 em{font-style:normal;background:var(--hot);-webkit-background-clip:text;background-clip:text;color:transparent}
.lede{font-size:18px;line-height:1.55;color:var(--ink2);max-width:33em}
.ticks{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px}
.ticks li{position:relative;padding-left:30px;color:var(--ink2)}
.ticks li::before{content:"";position:absolute;left:0;top:2px;width:19px;height:19px;border-radius:6px;background:var(--orange-soft);border:1px solid rgba(255,106,58,.4)}
.ticks li::after{content:"";position:absolute;left:7px;top:6px;width:4px;height:8px;border:solid var(--orange);border-width:0 2px 2px 0;transform:rotate(45deg)}
.form{padding:28px;display:grid;gap:14px;border-top:3px solid var(--orange)}
.form h2{font-size:23px;line-height:1.2}
.form .sub{color:var(--muted);font-size:13.5px;margin-top:-6px}
.fl{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--ink2)}
.fl .lab{display:flex;align-items:baseline;gap:6px}
.req,.opt{font:700 9.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--faint)}
.req{color:var(--orange)}
.fl input,.fl textarea{height:46px;border-radius:10px;border:1px solid var(--line2);background:var(--well);padding:0 14px;font-size:15px;font-weight:400;outline:0;transition:.15s;width:100%;min-width:0}
.fl input::placeholder{color:#5f6d84}
.fl input:focus{border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-soft)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--muted);line-height:1.45;cursor:pointer}
.consent input{margin-top:2px;accent-color:var(--orange);width:16px;height:16px;flex:none}
.cf-turnstile{min-height:65px}
.how{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:16px 0 72px}
.how>div{border-top:1px solid var(--line2);padding-top:18px}
.how b{font:700 12px/1 var(--mono);color:var(--orange)}
.how h3{font-size:17px;font-stretch:112%;margin:10px 0 6px}
.how p{color:var(--muted);font-size:14px}

/* ---- 2. pick yourself */
.pickv{padding:44px 0 64px}
.pickv h1{font-size:clamp(28px,3.6vw,40px);line-height:1.08}
.pickv .lede{font-size:16px;margin-top:10px}
.cands{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:26px 0 30px}
.cand{display:flex;flex-direction:column;gap:12px;padding:18px;text-align:left;transition:.15s}
.cand:hover{border-color:rgba(255,106,58,.5);transform:translateY(-2px)}
.cand .who{display:flex;gap:12px;align-items:center}
.ava{width:56px;height:56px;border-radius:50%;flex:none;background:var(--raise) center/cover no-repeat;border:1px solid var(--line2);
  display:grid;place-items:center;font-weight:800;font-size:20px;color:var(--orange)}
.cand h3{font-size:16.5px;line-height:1.2}
.cand .brk{color:var(--muted);font-size:13px;margin-top:3px}
.cand .stats{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:11.5px;color:var(--ink2);background:var(--card2);border:1px solid var(--line);border-radius:99px;padding:4px 9px}
.chip.found{color:var(--blue-hi);background:var(--blue-soft);border-color:transparent}
.li .bb .st{color:var(--warn);font-weight:700;text-transform:capitalize}
.chip.top{color:var(--orange);background:var(--orange-soft);border-color:transparent;font-weight:700}
.cand .btn{margin-top:auto}
.alt{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.alt .card{padding:20px;display:grid;gap:12px}
.alt h3{font-size:16px}
.row{display:flex;gap:8px}
.row input{flex:1}
.notice{background:var(--warn-soft);border:1px solid rgba(255,180,58,.3);color:var(--ink2);border-radius:12px;padding:12px 14px;font-size:14px;margin-top:18px}
.notice b{color:var(--warn)}

/* ---- 3. building */
.buildv{padding:56px 0 80px;max-width:640px;margin:0 auto}
.buildv .card{padding:26px}
.agenthead{display:flex;gap:14px;align-items:center;margin-bottom:18px}
.agenthead h2{font-size:21px;font-stretch:112%}
.steps{display:grid;gap:12px;margin-top:4px}
.step{display:flex;gap:11px;align-items:center;font-size:14.5px;color:var(--muted)}
.step .s{width:20px;height:20px;border-radius:50%;flex:none;border:1.5px solid var(--line2);display:grid;place-items:center}
.step.done{color:var(--ink)}.step.done .s{background:var(--good);border-color:var(--good)}
.step.done .s::after{content:"";width:4px;height:8px;border:solid #05150e;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.step.now{color:var(--ink)}.step.now .s{border-color:var(--orange);border-top-color:transparent;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---- 4. the demo */
.demov{padding:20px 0 48px}
.banner{font-size:13px;color:var(--ink2);background:var(--blue-soft);border:1px solid rgba(77,155,255,.28);border-radius:12px;padding:10px 14px;margin-bottom:14px}
.banner b{color:var(--blue-hi)}
.ahead{display:flex;align-items:center;gap:16px;padding:16px 20px}
.ahead .ava{width:60px;height:60px}
.ahead .id{flex:1;min-width:0}
.ahead h1{font-size:clamp(20px,2.4vw,26px);font-stretch:112%;line-height:1.15;overflow-wrap:anywhere}
.ahead .meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px;color:var(--muted);font-size:13px}
.ahead .meta span+span::before{content:"·";margin-right:14px;color:var(--faint)}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:6px 10px;border-radius:99px;background:var(--card2);border:1px solid var(--line2);color:var(--ink2);white-space:nowrap}
.pill.ok{background:var(--good-soft);border-color:transparent;color:var(--good)}
.pill.live{background:var(--orange-soft);border-color:transparent;color:var(--orange)}
.pill.warn{background:var(--warn-soft);border-color:transparent;color:var(--warn)}
.grid{display:grid;grid-template-columns:360px 1fr;gap:16px;margin-top:16px;align-items:start}
.rail{display:grid;gap:16px}
.rail .card{padding:16px}
.rail h3{font-size:14.5px;font-stretch:108%;margin-bottom:10px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--well);border:1px solid var(--line);border-radius:12px}
.modebar{padding:14px 18px 12px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(255,106,58,.06),transparent),var(--card2)}
.modebar .label{display:block;margin-bottom:8px}
.modebar .modehelp{margin-top:8px}
.seg button{min-height:40px;padding:8px 10px;border-radius:9px;font-weight:700;font-size:13.5px;color:var(--muted);transition:.15s;display:flex;flex-direction:column;align-items:center;gap:2px}
.seg button b{font-size:15px;font-stretch:108%}
.seg button small{font-size:11.5px;font-weight:500;opacity:.8}
.seg button:not(.on):hover{color:var(--ink);background:var(--raise)}
.seg button.on{background:var(--hot);color:var(--on-orange)}
.seg button:disabled{opacity:.4;cursor:not-allowed}
.modehelp{font-size:12.5px;color:var(--muted);margin-top:10px;line-height:1.45}
.lists{display:grid;gap:8px;max-height:400px;overflow:auto;margin:0 -4px;padding:0 4px}
.li{display:grid;grid-template-columns:72px 1fr;gap:11px;align-items:center;padding:7px;border-radius:12px;border:1px solid var(--line);background:var(--card2);text-align:left;transition:.15s;width:100%}
.li:hover{border-color:var(--line2)}
.li.on{border-color:var(--orange);box-shadow:inset 0 0 0 1px var(--orange);background:linear-gradient(160deg,rgba(255,106,58,.12),transparent 70%),var(--card2)}
.li .ph{width:72px;height:54px;border-radius:8px;background:var(--raise) center/cover no-repeat}
.li .pr{font-weight:800;font-size:15px;font-stretch:108%}
.li .ad{font-size:12.5px;color:var(--ink2);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.li .bb{font-size:11.5px;color:var(--muted)}
.li.busy{opacity:.6;pointer-events:none}
.addr{display:flex;gap:6px;margin-top:10px}
.addr input{flex:1;min-width:0;height:36px;border-radius:9px;border:1px solid var(--line2);background:var(--well);padding:0 10px;font-size:13px;outline:0}
.addr input:focus{border-color:var(--blue)}
.facts{display:grid;gap:0}
.fact{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:8px 0;font-size:13px}
.fact:first-child{border-top:0}
.fact .k{color:var(--muted)}
.fact .v{color:var(--ink);text-align:right}
.src{font:700 10.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--blue-hi);text-decoration:none}
.src:hover{text-decoration:underline}
.cta{border-color:rgba(255,106,58,.4)!important;background:linear-gradient(160deg,rgba(255,106,58,.14),transparent 60%),var(--card)!important}
.cta .price{display:flex;align-items:baseline;gap:6px;margin:4px 0 8px}
.cta .price b{font-size:32px;font-stretch:125%;font-weight:900;letter-spacing:-.02em}
.cta p{color:var(--ink2);font-size:13px;margin-bottom:14px}
.cta .btn{width:100%}

.stage{display:flex;flex-direction:column;min-height:640px;overflow:hidden;position:sticky;top:84px}
.stagehead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--card2)}
.stagehead .t{min-width:0}
.stagehead h2{font-size:15.5px;font-stretch:108%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tabs{display:flex;gap:4px;padding:4px;background:var(--well);border:1px solid var(--line);border-radius:10px;flex:none}
.tab{height:34px;padding:0 14px;border-radius:7px;font-weight:700;font-size:13px;color:var(--muted)}
.tab.on{background:var(--raise);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2)}
.pane{flex:1;display:flex;flex-direction:column;padding:18px;min-height:0}
.msgs{flex:1;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:2px 2px 12px;max-height:440px}
.m{max-width:84%;padding:10px 14px;border-radius:16px;font-size:14.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.m.a{background:var(--raise);border:1px solid var(--line);border-bottom-left-radius:5px;align-self:flex-start}
.m.u{background:var(--hot);color:var(--on-orange);font-weight:500;border-bottom-right-radius:5px;align-self:flex-end}
.m .who{display:block;font:700 9.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--blue-hi);margin-bottom:6px}
.m.typing .tx::after{content:"";display:inline-block;width:7px;height:14px;background:var(--orange);margin-left:3px;vertical-align:-2px;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.chips{display:flex;flex-wrap:wrap;gap:7px;padding:8px 0}
.chips button{font-size:12.5px;padding:7px 11px;border-radius:99px;border:1px solid var(--line2);color:var(--ink2);background:var(--card2);transition:.15s}
.chips button:hover{border-color:var(--orange);color:var(--ink)}
.ask{display:flex;gap:8px}
.ask input{flex:1;height:48px;border-radius:12px;border:1px solid var(--line2);background:var(--well);padding:0 14px;font-size:15px;outline:0;min-width:0}
.ask input:focus{border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-soft)}
.ask .btn{height:48px}

.voice{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 6px 0}
.voice h2{font-size:24px;font-stretch:112%;margin-top:24px}
.voice .vsub{max-width:32em;margin-top:8px;color:var(--muted)}
.orb{position:relative;width:156px;height:156px;border-radius:50%;display:grid;place-items:center}
.orb .core{position:relative;z-index:2;width:116px;height:116px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 35% 30%,#FFB03A,#FF6A3A 55%,#E04A1C);color:var(--on-orange);
  box-shadow:0 18px 50px -12px rgba(255,106,58,.7);transition:transform .2s}
.orb:hover .core{transform:scale(1.04)}
.orb svg{width:40px;height:40px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.orb .ring{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,106,58,.35);transform:scale(var(--lvl,1));transition:transform .08s linear}
.orb .ring2{position:absolute;inset:-18px;border-radius:50%;border:1px dashed rgba(77,155,255,.25)}
.orb.listening .ring{border-color:rgba(77,155,255,.65)}
.orb.speaking .ring{border-color:rgba(255,106,58,.8)}
.orb.busy .core{animation:breathe 1.6s ease-in-out infinite}
.orb:disabled{opacity:.45;cursor:not-allowed}
@keyframes breathe{50%{transform:scale(.94)}}
.vbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center;margin-top:18px}
.vbar .mono{font-size:13px;color:var(--muted);min-width:44px}
.vt{width:100%;margin-top:18px;text-align:left;max-height:250px}
.tryq{margin-top:20px;width:100%;max-width:560px}
.tryq .label{display:block;margin-bottom:8px}

/* ---- book page */
.bookv{padding:40px 0 60px;display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:start}
.bookv h1{font-size:clamp(28px,3.6vw,42px);line-height:1.06;margin:16px 0 12px}
.cal{overflow:hidden;padding:0}
.cal iframe{width:100%;min-height:680px;border:0;display:block;background:#fff}

@media (max-width:1020px){
  .hero{grid-template-columns:1fr;gap:32px;padding:36px 0 24px}
  .how{grid-template-columns:1fr 1fr}
  .grid{grid-template-columns:1fr}
  .stage{order:-1;min-height:560px;position:static}
  .bookv{grid-template-columns:1fr}
}
@media (max-width:640px){
  .w{padding:0 16px}
  .two,.how,.alt{grid-template-columns:1fr}
  .form{padding:20px}
  .top .w{height:62px}
  .bs{display:none}
  .ahead{flex-wrap:wrap;gap:12px}
  .ahead .id{flex:1 1 calc(100% - 76px)}
  .ahead .meta{gap:4px 10px}
  .ahead .meta span+span::before{content:none}
  .ahead .meta span{background:var(--card2);border:1px solid var(--line);border-radius:99px;padding:3px 9px;font-size:12px}
  #d-status{width:100%}
  .stagehead{flex-direction:column;align-items:stretch}
  .tabs{align-self:stretch}.tab{flex:1}
  .m{max-width:92%}
  .msgs{max-height:380px}
}
