:root{font-family:"DM Sans",sans-serif;color:#f9f8ff;background:#110d2e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 22%,#29205f 0%,#110d2e 65%);overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.pageglow{position:absolute;pointer-events:none;filter:blur(90px);opacity:.52;z-index:0}.glow1{width:600px;height:540px;border-radius:100%;background:#4e36b8;top:200px;left:-320px}.glow2{width:540px;height:480px;border-radius:100%;background:#b43f79;top:150px;right:-350px}header{position:relative;z-index:3;max-width:1320px;margin:auto;padding:27px 30px;display:flex;justify-content:space-between;align-items:center}.logo{font-family:Outfit,sans-serif;font-size:27px;font-weight:900;letter-spacing:-1.7px;white-space:nowrap}.logoMark{display:inline-grid;place-items:center;width:36px;height:36px;background:#bdff53;color:#140d29;border-radius:11px;margin-right:9px;font-size:20px}.lime{color:#baff54}.coral{color:#ff8c8d}.white{color:#fff}.headerRight{display:flex;align-items:center;gap:25px}.live{font-size:11px;letter-spacing:1.3px;font-weight:800;color:#dad4f9}.live i,.onlineDot{display:inline-block;background:#baff54;border-radius:50%;height:8px;width:8px;box-shadow:0 0 15px #baff54;margin-right:5px}.headerLink{font-weight:800;font-size:13px;background:#baff54;color:#17112e;padding:13px 19px;border-radius:100px}.headerLink span{margin-left:7px}.hero{position:relative;z-index:1}.hero-top{text-align:center;max-width:930px;margin:55px auto 0;padding:0 20px}.eyebrow{color:#d7cdf5;font-size:11px;letter-spacing:2.3px;font-weight:800}.spark{color:#c5fd58;font-size:17px}.dash{display:inline-block;margin:0 8px;height:1px;width:20px;background:#9e8fcd;vertical-align:middle}h1,h2{font-family:Outfit,sans-serif}h1{font-size:clamp(46px,6.6vw,94px);letter-spacing:-4px;line-height:1.04;margin:18px 0}.gradient{background:linear-gradient(100deg,#bdff54 5%,#bfe4ff 50%,#fba1d5 95%);-webkit-background-clip:text;background-clip:text;color:transparent}.sub{max-width:650px;margin:20px auto;font-size:16px;line-height:1.8;color:#cbc3e4}.pills{display:flex;gap:11px;flex-wrap:wrap;justify-content:center;margin:24px 0 15px}.pills span{border:1px solid #8a79b85c;background:#ffffff0b;border-radius:50px;padding:9px 14px;font-size:12px;font-weight:700;color:#ddd6f3}.stage{position:relative;max-width:1180px;padding:34px 20px 85px;margin:0 auto;perspective:1400px}.orb{position:absolute;border-radius:50%;pointer-events:none}.orb-one{height:350px;width:350px;background:linear-gradient(130deg,#baff54,#4ccea9);opacity:.16;filter:blur(60px);top:140px;left:5%}.orb-two{width:380px;height:380px;background:#f27eae;opacity:.15;filter:blur(65px);right:0;bottom:50px}.chat{position:relative;z-index:3;max-width:720px;margin:0 auto;background:#fcfbff;color:#201939;border-radius:27px;box-shadow:0 38px 0 -19px #4a388d80,0 48px 100px #0009,0 0 0 1px #b1a1f680;overflow:hidden;transform:rotateX(1deg)}.chathead{padding:21px 24px;background:linear-gradient(115deg,#39278c,#6b3fc0 68%,#8f45a7);color:#fff;display:flex;gap:14px;align-items:center}.assistantAvatar{height:47px;width:47px;border-radius:15px;background:linear-gradient(135deg,#bcff5b,#69f2d3);color:#29205a;display:grid;place-items:center;font-size:29px;box-shadow:0 6px 20px #0c0a4055}.assistantInfo{flex:1}.assistantInfo strong,.assistantInfo small{display:block}.assistantInfo strong{font-family:Outfit;font-size:17px}.assistantInfo small{font-size:12px;margin-top:5px;color:#efe9ff}.headBadge{font-size:10px;font-weight:900;letter-spacing:.5px;background:#ffffff27;padding:8px;border-radius:20px}.chatbody{height:310px;overflow-y:auto;padding:25px 22px 12px;background:radial-gradient(circle at 98% 0%,#f0e5ff,#fff 47%);display:flex;flex-direction:column;gap:13px}.msg{display:flex;align-items:flex-end;gap:9px;max-width:91%}.msg.user{align-self:flex-end}.msgIcon{background:#e5dcff;color:#5c35a8;border-radius:10px;padding:7px;font-size:16px}.bubble{font-size:14px;line-height:1.65;padding:14px 16px;border-radius:17px 17px 17px 5px;background:#eeeafa;white-space:pre-wrap}.msg.user .bubble{background:#463092;color:white;border-radius:17px 17px 5px 17px}.choicewrap{padding:14px 22px 12px;display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.choicewrap button{border:1px solid #e0d9ef;background:#faf8ff;border-radius:13px;padding:12px 5px;transition:transform .15s,box-shadow .15s;color:#291950;display:flex;align-items:center;flex-direction:column;gap:5px}.choicewrap button:hover{transform:translateY(-4px);box-shadow:0 12px 20px #39278c1f;border-color:#947ad9}.choicewrap button>span{font-size:21px}.choicewrap strong{font-size:12px}.choicewrap small{font-size:10px;color:#80758e}.quickreply{display:flex;flex-wrap:wrap;gap:8px;padding:10px 22px}.quickreply[hidden]{display:none}.quickreply button{background:#efe9ff;border:1px solid #c7b7f2;border-radius:100px;color:#402d83;padding:9px 12px;font-weight:700;font-size:12px}.chatinput{display:flex;margin:8px 22px 10px;box-shadow:0 5px 20px #33235d16;border-radius:13px;border:1px solid #e5dcf3;overflow:hidden}.chatinput input{padding:16px;outline:0;border:0;flex:1;min-width:0;color:#241841;background:white}.chatinput button{background:linear-gradient(135deg,#bbfa59,#9cea4b);border:0;color:#29144c;width:56px;font-size:23px;font-weight:900}.chatfoot{text-align:center;color:#938aa2;font-size:10px;padding:6px 10px 15px}.floatcard{position:absolute;z-index:2;padding:19px;background:linear-gradient(145deg,#ffffffed,#f2eaffdd);color:#30254e;border:1px solid white;box-shadow:0 28px 65px #08072366;border-radius:18px;display:flex;flex-direction:column;gap:5px;transform:rotate(-9deg);animation:float 6s ease-in-out infinite}.floatcard strong{font-size:13px}.floatcard small{font-size:11px;color:#786b91}.floatIcon{font-size:25px;color:#6741be}.float-left{top:140px;left:12px}.float-right{bottom:140px;right:0;transform:rotate(9deg);animation-delay:-2s}@keyframes float{50%{translate:0 -15px}}.below{max-width:1110px;margin:30px auto 100px;padding:0 28px;display:grid;grid-template-columns:1fr 1fr;gap:60px}.testimonial{padding:30px;border:1px solid #8272b45c;background:#ffffff0c;border-radius:24px}.quoteIcon{font-size:55px;color:#baff54;line-height:1}.testimonial p{font-family:Outfit;font-size:23px;line-height:1.5}.signature{display:flex;gap:12px;align-items:center}.avatar{display:grid;place-items:center;width:44px;height:44px;background:#d5fd77;color:#1c153b;border-radius:50%;font-weight:900}.signature small{display:block;color:#beb6d7;margin-top:5px}.tag{color:#baff54;font-size:11px;font-weight:800;letter-spacing:2px}.promise h2{font-size:48px;letter-spacing:-2px;line-height:1.1;margin:15px 0}.promise h2 span{color:#baff54}.promise p{line-height:1.8;color:#c8c0df}.features{display:flex;flex-direction:column;gap:12px;font-size:13px;font-weight:700}footer{background:#0c0923;padding:45px max(6%,calc((100% - 1150px)/2));display:flex;justify-content:space-between;gap:35px;font-size:12px;color:#c3b9df}footer>div{max-width:430px}footer p{line-height:1.7}footer strong{color:#fff}footer a:not(.logo){text-decoration:underline}.footlogo{color:white}@media(max-width:1150px){.floatcard{display:none}}@media(max-width:680px){header{padding:18px 15px}.logo{font-size:22px}.logoMark{width:30px;height:30px;font-size:16px}.headerRight .live{display:none}.headerLink{padding:10px;font-size:11px}.hero-top{margin:38px auto 0}h1{letter-spacing:-2px}.sub{font-size:15px}.eyebrow{font-size:9px;letter-spacing:1.2px}.pills{gap:6px}.pills span{font-size:10px;padding:8px}.stage{padding:24px 11px 55px}.chat{border-radius:21px}.chathead{padding:16px 13px}.assistantInfo strong{font-size:14px}.headBadge{display:none}.chatbody{height:350px;padding:18px 12px}.choicewrap{grid-template-columns:repeat(2,1fr);padding:9px 12px}.choicewrap button{padding:11px 5px}.chatinput{margin:8px 12px}.below{grid-template-columns:1fr;margin:0 auto 70px;gap:30px}.promise h2{font-size:39px}footer{flex-direction:column;padding:35px 25px}.chatfoot{font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Mobile conversion layout v2.1: prevent horizontal overflow at any viewport */
html {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}
header, main, .hero, .stage, .chat, .below, footer {
  min-width: 0;
}
.hero, .stage {
  width: 100%;
}
.stage {
  box-sizing: border-box;
  isolation: isolate;
}
.chat {
  width: 100%;
  max-width: 720px;
}
.chathead, .chatbody, .choicewrap, .chatinput {
  min-width: 0;
}
.chatbody {
  height: auto;
  min-height: 0;
  max-height: 330px;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.choices, .choicewrap {
  min-width: 0;
}
.choicewrap button {
  min-width: 0;
}
.chatinput input {
  width: 100%;
  min-width: 0;
}
.quickreply button {
  max-width: 100%;
  overflow-wrap: anywhere;
}
.chatbody .bubble {
  overflow-wrap: anywhere;
  word-break: normal;
}
@media (max-width: 680px) {
  html, body {
    overflow-x: clip;
  }
  .pageglow, .floatcard {
    display: none !important;
  }
  header {
    width: 100%;
    max-width: 100%;
    padding: 12px 14px;
    gap: 8px;
  }
  header .logo {
    font-size: 19px;
    letter-spacing: -1px;
  }
  header .logoMark {
    width: 27px;
    height: 27px;
    font-size: 15px;
    border-radius: 8px;
    margin-right: 5px;
  }
  .headerRight {
    gap: 0;
    flex: 0 0 auto;
  }
  .headerLink {
    padding: 9px 11px;
    font-size: 10px;
  }
  .hero-top {
    padding: 0 13px;
    margin: 20px auto 0;
    width: 100%;
  }
  .eyebrow {
    font-size: 9px;
    line-height: 1.5;
    letter-spacing: .75px;
  }
  .eyebrow .dash {
    display: none;
  }
  h1 {
    font-size: clamp(37px, 10.6vw, 48px);
    line-height: 1.02;
    margin: 10px 0 9px;
    letter-spacing: -1.5px;
  }
  .sub {
    max-width: 380px;
    font-size: 13px;
    line-height: 1.48;
    margin: 9px auto 0;
  }
  .pills {
    gap: 5px;
    margin: 11px auto 4px;
  }
  .pills span {
    font-size: 9px;
    padding: 6px 9px;
  }
  .stage {
    padding: 12px 12px 44px;
    margin: 0 auto;
    max-width: 100%;
  }
  .orb {
    display: none;
  }
  .chat {
    width: 100%;
    max-width: 100%;
    transform: none;
    border-radius: 20px;
    box-shadow: 0 16px 50px #0008, 0 0 0 1px #b1a1f680;
  }
  .chathead {
    padding: 13px 14px;
  }
  .assistantAvatar {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    font-size: 23px;
    border-radius: 12px;
  }
  .assistantInfo strong {
    font-size: 14px;
  }
  .assistantInfo small {
    font-size: 10px;
  }
  .chatbody {
    height: auto;
    min-height: 0;
    max-height: 310px;
    padding: 12px 11px 7px;
    gap: 8px;
  }
  .chatbody .msg {
    max-width: 100%;
  }
  .bubble {
    font-size: 13px;
    line-height: 1.5;
    padding: 12px;
  }
  .msgIcon {
    padding: 5px;
    font-size: 14px;
  }
  .choicewrap {
    padding: 8px 11px 6px;
    gap: 7px;
  }
  .choicewrap button {
    padding: 9px 5px;
    gap: 3px;
  }
  .choicewrap button>span {
    font-size: 19px;
  }
  .choicewrap strong {
    font-size: 12px;
  }
  .choicewrap small {
    font-size: 10px;
  }
  .chatinput {
    margin: 7px 11px;
  }
  .chatinput input {
    padding: 13px 12px;
    font-size: 14px;
  }
  .chatinput button {
    width: 48px;
    flex: 0 0 48px;
  }
  .chatfoot {
    padding: 4px 10px 11px;
    font-size: 9px;
    line-height: 1.3;
  }
  .quickreply {
    padding: 8px 11px;
  }
  .below {
    padding: 0 16px;
    width: 100%;
    max-width: 100%;
  }
  footer {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}
@media (max-width: 360px) {
  header .logo {font-size: 17px}
  header .logoMark {width: 25px; height: 25px}
  .headerLink {font-size: 9px; padding: 8px}
  h1 {font-size: 36px}
  .pills span {font-size: 8px}
}


/* v3: legible, conversation-first interface across devices */
.chat {
  --chat-font: 18px;
  --chat-detail: 14px;
}
.chat.text-large {
  --chat-font: 21px;
  --chat-detail: 16px;
}
.chatbody .bubble {
  font-size: var(--chat-font);
  line-height: 1.57;
  letter-spacing: 0;
  padding: 17px 19px;
  color: #211836;
  background: #eee9fa;
}
.chatbody .msg.user .bubble {
  color: #fff;
  background: #493194;
}
.chatbody {
  min-height: 0;
  height: auto;
  max-height: 410px;
  overflow-y: auto;
}
.chathead .assistantInfo strong {
  font-size: 19px;
}
.chathead .assistantInfo small {
  font-size: 14px;
  line-height: 1.4;
}
.textSizeBtn {
  flex: 0 0 auto;
  border: 1px solid #ffffff85;
  background: #ffffff27;
  color: #fff;
  border-radius: 12px;
  min-width: 48px;
  min-height: 46px;
  padding: 8px 11px;
  font-weight: 900;
  font-size: 17px;
  letter-spacing: .2px;
}
.textSizeBtn[aria-pressed="true"] {
  background: #c2ff67;
  border-color: #c2ff67;
  color: #21133e;
}
.choicewrap strong {
  font-size: 15px;
  line-height: 1.35;
}
.choicewrap small {
  font-size: 13px;
  line-height: 1.4;
  color: #5f546f;
}
.choicewrap button {
  min-height: 91px;
  padding: 13px 8px;
}
.quickreply button {
  font-size: 15px;
  min-height: 46px;
  padding: 10px 15px;
}
.chatinput input {
  font-size: 17px;
  min-height: 56px;
}
.chatinput input::placeholder {
  color: #635b73;
  opacity: 1;
}
.chatfoot {
  font-size: 12px;
  line-height: 1.45;
  color: #645b75;
  padding-inline: 16px;
}
.chat :is(button,input):focus-visible,
.headerLink:focus-visible,
footer a:focus-visible {
  outline: 3px solid #b5f959;
  outline-offset: 3px;
}
@media (max-width: 680px) {
  .hero-top {
    margin-top: 17px;
  }
  .hero-top .sub {
    font-size: 15px;
    line-height: 1.48;
  }
  .hero-top .pills {
    display: none;
  }
  .stage {
    padding-top: 13px;
  }
  .chat {
    --chat-font: 17px;
    --chat-detail: 13px;
  }
  .chat.text-large {
    --chat-font: 20px;
    --chat-detail: 15px;
  }
  .chathead {
    gap: 10px;
    padding: 14px 12px;
  }
  .chathead .assistantInfo strong {
    font-size: 16px;
    line-height: 1.25;
  }
  .chathead .assistantInfo small {
    font-size: 13px;
  }
  .textSizeBtn {
    min-width: 44px;
    min-height: 44px;
    padding: 7px;
    font-size: 16px;
  }
  .chatbody {
    height: auto;
    min-height: 0;
    max-height: min(43vh, 390px);
    padding: 12px 10px 10px;
  }
  .chatbody .bubble {
    font-size: var(--chat-font);
    line-height: 1.52;
    padding: 13px 14px;
  }
  .chatbody .msgIcon {
    min-width: 26px;
    text-align: center;
  }
  .choicewrap {
    gap: 8px;
    padding: 12px;
  }
  .choicewrap button {
    min-height: 90px;
    padding: 11px 7px;
  }
  .choicewrap strong {
    font-size: 15px;
  }
  .choicewrap small {
    font-size: 12px;
  }
  .quickreply {
    padding: 10px 12px;
  }
  .quickreply button {
    min-height: 44px;
    font-size: 14px;
  }
  .chatinput {
    margin: 7px 12px 9px;
  }
  .chatinput input {
    min-height: 52px;
    padding: 13px 14px;
    font-size: 16px; /* prevents automatic iOS Safari zoom */
  }
  .chatinput button {
    min-width: 51px;
    min-height: 52px;
  }
  .chatfoot {
    font-size: 11px;
    padding-bottom: 13px;
    line-height: 1.4;
  }
}
@media (max-width: 355px) {
  .chathead .assistantInfo strong { font-size: 14px; }
  .assistantAvatar {width: 34px;height: 34px;flex-basis:34px}
  .choicewrap strong {font-size:14px}
  .chatbody .bubble {padding: 11px}
}

/* v3.1: opt-in sound button. Always remains easy to tap on mobile. */
.chatControls {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
}
.assistantInfo { min-width: 0; }
.soundToggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  min-height: 46px;
  padding: 7px;
  border-radius: 12px;
  border: 1px solid #ffffff85;
  background: #ffffff27;
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.soundToggle[aria-pressed="true"] {
  border-color: #c2ff67;
  background: #c2ff6736;
}
.soundToggle:disabled { opacity: .5; cursor: not-allowed; }
@media(max-width:680px) {
  .chatControls { gap: 5px; }
  .soundToggle, .textSizeBtn {
    min-width: 43px;
    min-height: 44px;
  }
  .soundToggle { font-size: 19px; }
}
@media(max-width:355px) {
  .chatControls { gap: 4px; }
  .soundToggle, .textSizeBtn { min-width: 40px; min-height: 42px; }
  .chathead { gap: 7px; padding-inline: 9px; }
}


/* v4.3: full-window Link chat, narrow footer, mobile-ready controls */
.expandChatBtn {
  display: inline-grid;
  place-items: center;
  width: 46px;
  min-width: 46px;
  height: 46px;
  border-radius: 12px;
  padding: 0;
  border: 1px solid #ffffff85;
  background: #ffffff27;
  color: #fff;
  font-size: 27px;
  line-height: 1;
  cursor: pointer;
}
.expandChatBtn:hover { background: #ffffff3f; }
.expandChatBtn:focus-visible { outline: 3px solid #b5f959; outline-offset: 2px; }
.chatBackdrop[hidden] { display: none !important; }
.chatBackdrop {
  position: fixed;
  inset: 0;
  z-index: 9997;
  background: #0b082edc;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
body.linkExpanded { overflow: hidden !important; }
body.linkExpanded .hero { z-index: 9998; }
body.linkExpanded .stage { perspective: none; z-index: 9998; }
.chat.is-expanded {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  width: 100vw;
  max-width: none;
  height: 100vh;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding-bottom: env(safe-area-inset-bottom, 0px);
  border-radius: 0;
  transform: none;
  box-shadow: none;
  overflow: hidden;
  overscroll-behavior: contain;
}
.chat.is-expanded .chathead {
  flex: 0 0 auto;
}
.chat.is-expanded .chatbody {
  flex: 1 1 auto;
  height: auto;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.chat.is-expanded .choicewrap {
  flex: 0 0 auto;
  max-width: 760px;
  width: 100%;
  margin: 0 auto;
}
.chat.is-expanded .quickreply {
  flex: 0 0 auto;
  max-height: 30vh;
  overflow-y: auto;
}
.chat.is-expanded .chatinput {
  flex: 0 0 auto;
  width: min(calc(100% - 44px), 900px);
  margin: 10px auto;
}
.chat.is-expanded .chatfoot {
  flex: 0 0 auto;
  padding: 6px 14px 12px;
}
.chat.is-expanded .msg {
  max-width: min(89%, 740px);
}
.minimalFooter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 26px;
  width: 100%;
  max-width: none;
  padding: 18px max(18px, calc((100% - 1160px) / 2));
  background: #0c0923;
  color: #d8d2ea;
  font-size: 12px;
  line-height: 1.5;
}
.footerBrand, .footerDetails {
  display: flex;
  gap: 10px 14px;
  align-items: center;
  flex-wrap: wrap;
}
.footerWordmark {
  color: #fff;
  font: 800 17px "Outfit", sans-serif;
  letter-spacing: -.6px;
  white-space: nowrap;
}
.minimalFooter .footerLegal { color: #d0c7e1; }
.minimalFooter .footerDetails {
  font-size: 12px;
  color: #fff;
}
.minimalFooter .footerDetails a {
  color: #c4fa6d;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.officeInfo {
  color: #cfc8df;
}
@media(max-width: 680px) {
  .chatControls { gap: 4px; }
  .expandChatBtn,
  .soundToggle,
  .textSizeBtn {
    width: 42px;
    min-width: 42px;
    height: 44px;
    min-height: 44px;
    padding: 3px;
  }
  .expandChatBtn { font-size: 25px; }
  .chat.is-expanded .chathead { padding: 12px 10px; }
  .chat.is-expanded .chatbody {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    max-height: none;
  }
  .chat.is-expanded .choicewrap { padding: 9px 12px 7px; }
  .chat.is-expanded .choicewrap button { min-height: 66px; }
  .chat.is-expanded .chatinput {
    width: calc(100% - 24px);
    margin: 8px 12px;
  }
  .chat.is-expanded .chatfoot { padding: 5px 10px 10px; }
  .minimalFooter {
    padding: 18px;
    align-items: flex-start;
    font-size: 12px;
  }
  .footerDetails { gap: 7px 12px; }
}
@media(max-width: 365px) {
  .chathead { gap: 5px; padding-inline: 8px; }
  .chatControls { gap: 3px; }
  .chathead .assistantInfo strong { font-size: 14px; }
  .chathead .assistantInfo small { font-size: 11px; }
  .expandChatBtn,
  .soundToggle,
  .textSizeBtn {
    width: 39px;
    min-width: 39px;
    height: 43px;
    min-height: 43px;
  }
  .assistantAvatar { width: 33px; height: 33px; flex-basis: 33px; }
}


/* v5 Property brief & CMA-review conversion module */
.reportPanel[hidden] { display:none!important; }
.reportPanel {
  flex: 0 0 auto;
  width: calc(100% - 30px);
  margin: 10px auto 14px;
  padding: 18px;
  background: #f5f2ff;
  color: #261a49;
  border: 1px solid #d5c6f2;
  border-radius: 16px;
  box-shadow: 0 9px 25px #3b2a6521;
}
.reportTop {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px;
  padding-bottom:10px;
  border-bottom:1px solid #dcd4ed;
}
.reportTop strong { font: 800 19px "Outfit", sans-serif; }
.reportTop button {
  border:1px solid #9680d0;
  background:#fff;
  color:#432c86;
  border-radius:9px;
  padding:11px 13px;
  min-height:44px;
  font-size:13px;
  font-weight:800;
}
.reportContent h3 {
  margin:17px 0 10px;
  color:#34205e;
  font:800 17px "Outfit",sans-serif;
}
.reportLine {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  border-bottom:1px solid #e2ddec;
  padding:8px 0;
  font-size:14px;
  line-height:1.5;
}
.reportLine span { color:#625779; min-width:0; }
.reportLine strong { color:#2a1e45; text-align:right; overflow-wrap:anywhere; min-width:0; }
.reportNumber {
  color:#37268d;
  font:900 clamp(23px,4vw,30px) "Outfit",sans-serif;
  letter-spacing:-.6px;
  padding:6px 0;
}
.reportContent p { font-size:13px; color:#584e68; line-height:1.55; }
.reportContent .reportDisclaimer {
  border-left:3px solid #7751b6;
  padding:10px 12px;
  margin:18px 0 8px;
  color:#4a405f;
  background:#ebe4fb;
  border-radius:0 9px 9px 0;
}
.reportBottom {padding-top:9px;}
.reportBottom button {
  width:100%;
  min-height:50px;
  background:#bdff60;
  color:#23133d;
  border:0;
  border-radius:11px;
  font:800 15px "Outfit",sans-serif;
}
.chat.is-expanded .reportPanel { max-width:860px; max-height:37vh; overflow:auto; }
@media(max-width:680px) {
  .reportPanel {width:calc(100% - 22px);padding:13px;margin:8px auto;}
  .reportTop strong{font-size:17px}
  .reportTop button{font-size:12px}
  .reportLine{font-size:13px}
  .chat.is-expanded .reportPanel{max-height:38vh;overflow:auto}
}
/* Print only the visitor's property worksheet; browser offers Save as PDF. */
@media print {
  @page { margin: 14mm; }
  html,body { width:100%; height:auto; overflow:visible!important; background:white!important; }
  body * { visibility:hidden!important; }
  #reportPanel, #reportPanel * { visibility:visible!important; }
  #reportPanel {
    display:block!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:100%!important;
    max-width:none!important;
    max-height:none!important;
    overflow:visible!important;
    margin:0!important;
    padding:14px!important;
    border:0!important;
    background:white!important;
    box-shadow:none!important;
    color:#111!important;
  }
  .reportTop button,.reportBottom{display:none!important}
  .reportLine,.reportNumber,.reportDisclaimer{break-inside:avoid}
  .reportContent .reportDisclaimer{color:#333!important;background:#f4f4f4!important;border-color:#555!important}
}

/* Audible test button stays available without crowding mobile header */
.chatfoot .testSoundBtn {
  display: inline;
  border: 0;
  border-bottom: 1px dashed currentColor;
  background: transparent;
  color: #43338c;
  padding: 1px 3px;
  border-radius: 0;
  font-weight: 800;
  font-size: inherit;
  line-height: 1.5;
  min-height: 28px;
}
.chatfoot .testSoundBtn:focus-visible { outline: 3px solid #b6ef65; outline-offset: 2px; }
.chatfoot .testSoundBtn:disabled { opacity: .6; cursor: not-allowed; }


/* v5.2: preserve the newest visible message inside Link's scrolling transcript. */
.chatbody {
  overflow-anchor: none;
  scroll-behavior: auto;
  -webkit-overflow-scrolling: touch;
}
.chatbody .msg:last-child { scroll-margin-block-end: 10px; }
.chatfoot .testSoundBtn {
  color: #4e3691;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.chatinput input:focus-visible { outline: 2px solid #7952c5; outline-offset: -3px; }
@media(max-width: 680px) {
  .chatbody {
    scroll-padding-block-end: 14px;
    overscroll-behavior-y: contain;
  }
}


/* v5.3: source-linked public-record research stays readable without hiding chat. */
.chat .reportPanel {
  max-height: min(40vh, 350px);
  overflow-y: auto;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}
.chat.is-expanded .reportPanel {
  flex: 0 1 auto;
  max-height: min(42vh, 450px);
}
.sourcedComp {
  background: #fff;
  border: 1px solid #e1d8f3;
  border-radius: 12px;
  padding: 12px;
  margin: 9px 0;
  line-height: 1.5;
}
.sourcedComp strong {
  display: block;
  font-size: 15px;
  font-weight: 800;
  color: #2b204d;
}
.sourcedComp p {
  margin: 5px 0 8px;
  font-size: 13px;
}
.sourcedComp a,
.reportContent a {
  color: #3b278d;
  font-size: 13px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
  overflow-wrap: anywhere;
}
@media(max-width:680px) {
  .chat .reportPanel { max-height: min(32vh, 320px); }
  .chat.is-expanded .reportPanel {max-height: min(35vh, 340px);}
  .sourcedComp {padding: 10px;}
  .sourcedComp strong {font-size: 14px;}
}
@media print {
  .chat .reportPanel,.chat.is-expanded .reportPanel {
    max-height: none !important;
    overflow: visible !important;
  }
}

/* v5.4 Published standalone report links */
.reportPublish{padding:12px 0 8px;display:flex;flex-direction:column;align-items:stretch;gap:8px}
.reportPublish>button {
  background:#3c267a;color:#fff;border:0;border-radius:11px;min-height:48px;
  padding:12px 15px;font:800 15px "Outfit",sans-serif;cursor:pointer;
}
.reportPublish>button:disabled{opacity:.65;cursor:wait}
.reportPublish>button[hidden],.publishNotice[hidden],.publishedLink[hidden]{display:none!important}
.publishNotice {font-size:13px;line-height:1.5;color:#4b3a68;margin:3px 0}
.publishedLink {
  display:flex;align-items:center;justify-content:center;gap:10px;
  flex-wrap:wrap;background:#e8ffd0;padding:10px;border-radius:11px;
}
.publishedLink a {font-size:14px;font-weight:800;color:#2b3854;text-decoration:underline}
.publishedLink button{background:#fff;color:#2b3854;border:1px solid #96b672;border-radius:9px;min-height:42px;padding:10px 14px;font-size:13px;font-weight:800}
@media print {.reportPublish{display:none!important}}


/* v5.6 — Approved GoSellGoBuy house / conversation-bubble identity */
header .brandLogo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 1 auto;
  width: clamp(205px, 25vw, 310px);
  min-width: 0;
  padding: 5px 10px;
  background: #fff;
  border-radius: 15px;
  border: 1px solid #ffffffd9;
  box-shadow: 0 10px 36px #08051c45, 0 0 0 1px #ffffff22;
  line-height: 0;
}
.brandLogo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 400 / 96;
  object-fit: contain;
}
.brandLogo:focus-visible {outline: 3px solid #baff54;outline-offset: 3px;}
.footerLogoImage {
  display: block;
  width: clamp(180px, 20vw, 230px);
  height: auto;
  background: #fff;
  border-radius: 12px;
  padding: 4px 7px;
}
@media(max-width: 680px) {
  header .brandLogo {
    width: clamp(170px, 52vw, 238px);
    padding: 3px 5px;
    border-radius: 11px;
  }
  .footerLogoImage {width: 190px;}
}
@media(max-width: 390px) {
  header .brandLogo {width: clamp(155px, 49vw, 195px);}
  header .headerLink {padding: 9px 10px; font-size: 11px;}
}


/* v6.3: Compact in-chat report + full-screen native dialog for readable research */
.reportPanel:not(.in-fullreport) {
  width: calc(100% - 24px);
  margin: 10px auto;
  max-height: none !important;
  overflow: visible !important;
  padding: 14px;
}
.reportPanel:not(.in-fullreport) .reportContent,
.reportPanel:not(.in-fullreport) .reportPublish,
.reportPanel:not(.in-fullreport) .reportBottom,
.reportPanel:not(.in-fullreport) #printReportBtn { display: none !important; }
.reportPanel:not(.in-fullreport) .reportPreview {
  display: block; margin: 10px 0 0;
  color: #51436b; font-size: 14px; line-height: 1.48;
}
.reportPanel .reportActions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
#reportViewBtn {
  background: #432887; color:#fff; border: 1px solid #432887;
  border-radius: 10px; font-weight: 800; padding: 11px 15px;
  min-height: 46px; font-size: 14px;
}
.reportDialog:not([open]) { display: none !important; }
.reportDialog {
  position: fixed; inset: 0;
  width: 100vw; max-width: 100vw;
  height: 100vh; height: 100dvh; max-height: 100dvh;
  margin: 0; padding: 0;
  border: none; border-radius: 0;
  background: #fbfaff; color: #261a49;
  overflow: auto; overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  z-index: 20000;
}
.reportDialog::backdrop { background: #0b0929e8; }
.reportDialogHead {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; padding: 15px 20px;
  min-height: 68px; background: #28164e; color: #fff;
  position: sticky; top: 0; z-index: 3;
}
.reportDialogHead strong { font: 800 19px "Outfit",sans-serif; }
#closeReportBtn {
  font-size: 15px; font-weight: 800; color: #21133e;
  background: #c4fa67; border: 0; border-radius: 10px;
  min-height: 44px; padding: 10px 17px;
}
#reportDialogSlot { padding: 14px max(16px, calc((100% - 940px)/2)) 40px; }
.reportDialog .reportPanel {
  position: static !important;
  display: block; width: 100%; max-width: none;
  max-height: none !important; height: auto !important;
  overflow: visible !important; margin: 0 auto;
  padding: 16px 21px; border-radius: 16px;
}
.reportDialog .reportPreview { display: none; }
.reportDialog .reportContent { display: block; }
.reportDialog .reportTop { align-items: flex-start; gap: 10px; }
.reportDialog #reportViewBtn { display: none; }
.reportDialog .reportTop button { min-height: 46px; }
.reportDialog .reportContent h3 { font-size: 21px; line-height: 1.3; }
.reportDialog .reportContent p { font-size: 16px; line-height: 1.58; }
.reportDialog .sourcedComp { margin: 12px 0; padding: 18px; }
.reportDialog .sourcedComp strong { font-size: 18px; }
.reportDialog .sourcedComp p { font-size: 15px; }
.reportDialog .sourcedComp a { font-size: 15px; overflow-wrap: anywhere; }
.reportDialog .reportLine { font-size: 16px; }
.reportDialog .reportContent a { overflow-wrap: anywhere; }
.reportDialog .reportDisclaimer { font-size: 14px; }
@media(max-width:680px) {
  .reportPanel:not(.in-fullreport) .reportTop strong { font-size: 16px; }
  .reportPanel:not(.in-fullreport) .reportTop { gap: 10px; }
  #reportViewBtn { font-size: 14px; width: 100%; }
  .reportDialogHead { padding: 13px 15px; }
  .reportDialogHead strong { font-size: 17px; }
  #reportDialogSlot { padding: 10px 11px 28px; }
  .reportDialog .reportPanel { padding: 15px 13px; }
  .reportDialog .sourcedComp { padding: 14px 12px; }
  .reportDialog .reportLine { gap: 8px; }
}
@media print {
  .reportDialog,.reportDialogHead,#closeReportBtn { background:white!important; }
  .reportDialog { position: static !important; overflow: visible !important; height:auto!important; max-height:none!important; }
  .reportDialogHead { display: none !important; }
  #reportDialogSlot { padding:0!important; }
  .reportDialog .reportPanel { max-height:none!important; overflow:visible!important; }
  .reportDialog .reportContent { display:block!important; }
  .reportDialog .reportPreview,#reportViewBtn { display:none!important; }
  .reportDialog .sourcedComp { break-inside:avoid; }
}

/* Source transparency for Link's researched answers and CMA review */
.chatSourceLinks {
  display:flex; flex-direction:column; gap:7px;
  margin-top:14px; padding-top:12px; border-top:1px solid #d8cee9;
}
.chatSourceLinks span { color:#5a4a76; font-size:13px; font-weight:800; }
.chatSourceLinks a {
  color:#402c91; font-size:14px; line-height:1.5;
  text-decoration:underline; text-underline-offset:2px;
  overflow-wrap:anywhere;
}
.reportDialog .reportConflict,.reportConflict {
  color:#7a2c22; background:#fff4ea; border-left:3px solid #cb713b;
  padding:9px 12px; border-radius:5px; font-weight:700;
}
.sourcedComp > a {display:block;margin:5px 0;line-height:1.5}
.reportDialog .sourcedComp > a {font-size:15px}

/* v7.1: readable AI replies: headings, highlighted facts and safe source links */
.msg .bubble .chatAnswerHeading {
  display:inline-block;
  color:#2d195a;
  font-size:1.06em;
  font-weight:850;
  line-height:1.45;
  margin-top:6px;
}
.msg .bubble strong { font-weight:800; }
.msg .bubble a {
  color:#43299b;
  text-decoration:underline;
  text-underline-offset:3px;
  font-weight:650;
  overflow-wrap:anywhere;
}
@media(max-width:680px){
  .msg .bubble .chatAnswerHeading { font-size:1.04em; }
  .msg .bubble a { overflow-wrap:anywhere; }
}

/* Link 7.2 - optional non-secret public property research diagnostics */
.chatResearchDebug {margin-top:12px;padding:9px 10px;border-top:1px solid #d7c7ed;border-radius:7px;background:#f8f5ff;color:#534471;font-size:12px;line-height:1.55;overflow-wrap:anywhere}

/* v7.3 – CMA evidence hierarchy and easy-to-scan sales comparisons */
.cmaInsightStats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:14px 0; }
.cmaInsightStats>div { display:flex; flex-direction:column; gap:7px; background:#fff; border:1px solid #dbcdf5; border-radius:13px; padding:13px 12px; min-width:0; }
.cmaInsightStats span {font-size:13px; font-weight:650; color:#695977;}
.cmaInsightStats strong {font-size:18px; font-weight:850; color:#332064; overflow-wrap:anywhere;}
.cmaLimitation {margin:6px 0;line-height:1.45;font-size:14px;}
.cmaEvidenceDomains {font-size:14px;line-height:1.45;color:#534473;border-left:3px solid #9a81cc;padding-left:10px;overflow-wrap:anywhere;}
.sourcedComp .cmaSaleAssessment {font-weight:750;color:#442c8e;background:#f2ecff;padding:9px 12px;border-radius:9px;line-height:1.5;margin:9px 0;}
@media(max-width:680px) {
  .cmaInsightStats { grid-template-columns:1fr; }
  .cmaInsightStats>div {padding:12px 14px;}
  .cmaInsightStats strong {font-size:18px;}
  .reportDialog .cmaLimitation,.reportDialog .cmaEvidenceDomains {font-size:15px;line-height:1.55;}
}
@media print { .cmaInsightStats>div,.sourcedComp{break-inside:avoid} }

/* Link 7.4: visible research recovery controls and network status */
.propertyResearchAction {
  display:inline-flex;align-items:center;justify-content:center;
  margin:10px 10px 2px 0;padding:11px 15px;
  border:1px solid #ae94e3;border-radius:11px;
  background:#f4edff;color:#382072;font-weight:800;
  font-size:15px;line-height:1.35;min-height:45px;cursor:pointer;
}
.propertyResearchAction:focus-visible{outline:3px solid #a7f154;outline-offset:3px}
.propertyResearchError {display:block;color:#7b5361;font-size:13px;line-height:1.5;margin-top:9px}


/* Keep expanded chat inside Safari's visible viewport when the keyboard opens. */
.chat.is-expanded { top:var(--link-viewport-top,0px); bottom:auto; height:var(--link-viewport-height,100dvh); }
.propertyResearchAction { max-width:100%; white-space:normal; overflow-wrap:anywhere; }

.chatPolicyNotice{margin:0;padding:10px 16px;background:#f4f0fa;color:#55476c;font-size:11px;line-height:1.5;border-bottom:1px solid #e5dcf3}.chatPolicyNotice a{color:#52318e;text-decoration:underline;text-underline-offset:2px}.chatPolicyNotice a:focus-visible{outline:2px solid #6741be;outline-offset:2px}
