@import url('/fonts.css');
:root{--accent:#8255ff;--ink:#161319;--muted:#8a8592;--paper:#f7f6f9}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#111014}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ae92ff;outline-offset:3px}[hidden]{display:none!important}.topbar{height:104px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;color:white;position:relative;z-index:5;border-bottom:1px solid #ffffff15;background:#111014}.wordmark{background:none;border:0;color:white;display:flex;flex-direction:column;align-items:start;padding:0;line-height:.9}.wordmark>span{font-size:11px;letter-spacing:.23em;color:#a885ff;font-weight:700;margin-bottom:6px}.wordmark strong{font-size:35px;letter-spacing:-3px;font-weight:900}.brand-dot{color:#9c77ff}.topbar nav{display:flex;gap:34px}.topbar nav button{color:#d3cfd9;background:none;border:0;font-size:13px}.topbar nav button:hover{color:white}.top-location{display:flex;gap:22px;align-items:center;font-size:12px;color:#b7b2be}.demo-pill{font-size:9px;letter-spacing:.13em;border:1px solid #ffffff30;border-radius:100px;padding:6px 10px}.main-shell{min-height:calc(100dvh - 104px);transition:margin .25s}.hero{min-height:770px;height:calc(100dvh - 104px);position:relative;overflow:hidden;color:#fff}.hero-image{position:absolute;width:64%;height:100%;object-fit:cover;object-position:center 52%;right:0;top:0}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#111014 4%,#111014fa 29%,#11101477 55%,#11101400 84%),linear-gradient(0deg,#111014c9,transparent 35%)}.hero-content{position:relative;padding:64px 5% 130px;z-index:1}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.17em;display:flex;align-items:center;gap:10px;color:#a69daf}.eyebrow i{width:5px;height:5px;background:var(--accent);border-radius:50%}h1{font-size:clamp(58px,6.9vw,100px);font-weight:450;letter-spacing:-.058em;line-height:1.035;margin:31px 0 23px}h1 em{font-style:normal;color:#b69bff}.hero-copy{font-size:14px;line-height:1.8;color:#b9b4c0}.hero-buttons{display:flex;gap:10px;margin-top:27px}.primary,.outline{padding:16px 21px;min-height:50px;border-radius:7px;font-size:13px;font-weight:600;display:inline-flex;justify-content:center;align-items:center;gap:28px;border:1px solid transparent}.primary{background:var(--accent);color:white}.primary:hover{background:#7042ed}.outline{background:#18161b80;border-color:#ffffff45;color:white}.outline:hover{background:#302936}.hero-meta{display:flex;gap:35px;margin-top:50px}.hero-meta>div{display:flex;flex-direction:column;gap:10px}.hero-meta b{font-size:24px;font-weight:450;letter-spacing:-.025em}.hero-meta small{font-size:12px;color:#aaa3b5}.hero-meta span{font-size:10px;color:#918a9e}.tour-teaser{position:absolute;z-index:2;right:5%;bottom:105px;display:flex;align-items:center;gap:17px;border-radius:12px;border:1px solid #ffffff50;background:#211c267a;backdrop-filter:blur(20px);padding:23px;color:white;text-align:left;box-shadow:0 10px 50px #0002}.tour-orb{border:1px solid #ffffff60;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;font-size:24px}.tour-teaser>span:nth-child(2){display:flex;flex-direction:column;gap:8px}.tour-teaser small{font-size:8px;letter-spacing:.17em;color:#d6cbe6}.tour-teaser strong{font-size:13px;font-weight:500}.tour-teaser em{font-size:10px;font-style:normal;color:#c2b7c9}.tour-teaser>b{font-size:12px;font-weight:400;margin-left:20px}.hero-foot{position:absolute;z-index:2;bottom:30px;left:5%;right:5%;font-size:9px;letter-spacing:.14em;color:#ada1b4;display:flex;justify-content:space-between;border-top:1px solid #ffffff25;padding-top:20px}.launcher{position:fixed;bottom:25px;right:26px;z-index:40;background:#8b5cf6;color:#fff;border:1px solid #c2a6ff6e;border-radius:100px;display:flex;align-items:center;gap:11px;padding:16px 21px;box-shadow:0 6px 35px #3b17504a;font-weight:600;font-size:14px}.launcher>span{font-size:22px;line-height:20px}.launcher i{width:5px;height:5px;border-radius:50%;background:#d8ffac}.chat{position:fixed;z-index:30;width:400px;right:24px;top:118px;bottom:99px;background:#fff;border:1px solid #e6e0ef;border-radius:18px;box-shadow:0 18px 90px #0004;display:flex;flex-direction:column;overflow:hidden;animation:enter .22s ease}.chat-header{display:flex;align-items:center;gap:12px;padding:18px 17px;border-bottom:1px solid #eeebf2;flex-shrink:0}.agent-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#efe8ff;color:var(--accent);font-size:26px}.chat-header>div:nth-child(2){flex:1}.chat-header strong{font-size:14px;font-weight:650;display:block}.chat-header small{display:flex;align-items:center;gap:5px;font-size:10px;color:#8a8491;margin-top:5px}.chat-header small i{width:5px;height:5px;background:#71aa85;border-radius:50%}.icon-button{background:none;border:0;color:#7b7384;font-size:23px;padding:5px;min-width:30px}.chat-context{font-size:10px;color:#91859e;background:#fbf9ff;padding:11px 17px;border-bottom:1px solid #f0ebf8}.chat-context span{color:var(--accent);margin-right:7px}.messages{overflow-y:auto;flex:1;padding:20px 16px 10px;scroll-behavior:smooth;overscroll-behavior:contain}.message{margin-bottom:20px;animation:enter .18s ease}.message .agent-label{display:flex;align-items:center;gap:6px;color:#958b9d;font-size:9px;letter-spacing:.07em;margin-bottom:9px}.message .bubble{font-size:13px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.message.user{display:flex;justify-content:flex-end}.message.user .bubble{max-width:89%;background:#f1ebfc;border-radius:14px 14px 3px 14px;padding:11px 14px;color:#573795}.message.assistant .bubble{color:#4c4554;padding-right:5px}.chat-welcome{padding:8px 0 14px}.chat-welcome .welcome-orb{display:grid;place-items:center;width:54px;height:54px;color:var(--accent);font-size:38px;background:linear-gradient(140deg,#f6f0ff,#e7dafe);border-radius:17px;margin-bottom:16px}.chat-welcome h3{font-size:23px;line-height:1.2;letter-spacing:-.035em;font-weight:550;margin:0 0 10px}.chat-welcome p{font-size:12px;line-height:1.7;color:#81768c;margin:0}.options{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.option{background:white;border:1px solid #ddd3ee;color:#6e43b6;font-size:11px;padding:10px 12px;border-radius:8px;text-align:left}.option:hover{background:#f2eafe;border-color:#bfa4ee}.option.primary-option{background:#f5f0ff}.composer{margin:8px 14px 0;display:flex;align-items:flex-end;gap:8px;border:1px solid #e4deed;border-radius:11px;padding:7px;background:#fcfbfd;flex-shrink:0}.composer textarea{font-size:12px;resize:none;border:0;outline:0;background:transparent;flex:1;min-width:0;padding:10px 4px;max-height:90px;color:#42394a}.composer textarea::placeholder{color:#a59bae}.composer button{width:35px;height:35px;border:0;border-radius:8px;background:var(--accent);color:white;font-size:24px}.chat-footer{padding:10px;text-align:center;font-size:8px;color:#aaa0b5;flex-shrink:0}.chat-error{margin:0 14px;background:#fff1e9;color:#914d23;font-size:11px;line-height:1.5;padding:10px;border-radius:8px}.typing{display:flex;gap:5px;padding:12px 0}.typing i{width:5px;height:5px;border-radius:50%;background:#a78ac8;animation:pulse 1s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}.catalog{background:var(--paper);padding:55px 5% 80px;min-height:calc(100dvh - 104px)}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:center}.section-head h2{font-size:37px;font-weight:500;letter-spacing:-.045em;margin:15px 0}.section-head p{font-size:12px;color:#8c8296}.text-button{background:none;border:0;color:#7e6596;font-size:12px;padding:10px}.catalog-filters{display:flex;gap:14px;align-items:end;margin:30px 0}.catalog-filters label{display:flex;flex-direction:column;gap:7px;font-size:10px;color:#8a7c96}.catalog-filters select{padding:14px 16px;border:1px solid #e0d9e7;border-radius:7px;background:white;min-width:190px;font-size:12px;color:#493e52}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.apartment-card{background:white;border:1px solid #e9e3ef;border-radius:13px;overflow:hidden;color:var(--ink)}.card-plan{height:235px;padding:20px;position:relative;background:#fff}.card-plan img{width:100%;height:100%;object-fit:contain}.card-tags{position:absolute;top:13px;left:13px;right:13px;display:flex;justify-content:space-between;gap:5px}.tag{border-radius:100px;padding:5px 8px;font-size:8px;background:#f0ecf7;color:#8b759f}.tag.purple{background:#eee5ff;color:#7950b0}.card-body{padding:20px;border-top:1px solid #f4f0f8}.card-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-title h3{font-size:18px;font-weight:550;margin:0;letter-spacing:-.03em}.card-title button{border:0;background:transparent;color:#9a80b4;font-size:22px}.card-spec{font-size:11px;color:#94889f;margin:9px 0 15px}.card-price{font-size:20px;font-weight:550;letter-spacing:-.03em}.card-price small{font-size:9px;color:#a898b7;font-weight:400;margin-left:7px}.card-actions{display:flex;gap:8px;margin-top:18px}.card-actions button{flex:1;padding:12px 9px;border-radius:7px;background:#f3edf9;color:#795595;border:0;font-size:11px}.card-actions .tour-button{background:#8553e9;color:white}.mini-card{margin:12px 0;border-radius:11px}.mini-card .card-plan{height:155px;padding:13px}.mini-card .card-body{padding:13px}.mini-card .card-title h3{font-size:14px}.mini-card .card-price{font-size:17px}.mini-card .card-spec{font-size:10px}.mini-card .card-actions{margin-top:12px}.sources{font-size:9px;color:#9e90ab;margin-top:10px;line-height:1.6}.sources summary{cursor:pointer}.empty{padding:50px;background:white;border-radius:12px;font-size:14px;line-height:1.7;color:#776485;grid-column:1/-1}.tour-view{height:calc(100dvh - 104px);position:relative;background:#18161c;display:flex;flex-direction:column}.tour-top{height:54px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 25px;color:white;font-size:11px;gap:15px;background:#161219}.tour-top button{border:0;background:transparent;color:#e0d8e8;padding:10px;font-size:12px}.tour-note{position:absolute;top:65px;left:25px;z-index:2;pointer-events:none;max-width:480px;background:#211b239e;padding:7px 10px;border-radius:5px;font-size:9px;color:#f5eff9}.tour-view iframe{border:0;width:100%;flex:1;background:#24202b}.chat-open.tour-active .main-shell{margin-right:442px}.chat-open.tour-active .tour-note{max-width:340px}.chat-open.tour-active .chat{top:118px;bottom:24px}.chat-open.tour-active .launcher{display:none}.nudge{position:fixed;z-index:35;right:26px;bottom:99px;padding:19px;border:1px solid #e5d8f7;border-radius:15px;background:white;width:320px;box-shadow:0 8px 35px #0003;font-size:12px;line-height:1.6}.nudge .dismiss{position:absolute;right:8px;top:5px;border:0;background:none;color:#a294b0;font-size:18px}dialog{border:0;border-radius:18px;max-width:660px;width:calc(100% - 32px);max-height:85dvh;padding:36px;color:var(--ink);box-shadow:0 30px 80px #0005}dialog::backdrop{background:#15101dab;backdrop-filter:blur(5px)}.modal-close{position:absolute;top:10px;right:13px;background:none;border:0;font-size:26px;color:#998ca6}.detail-plan{height:330px;width:100%;object-fit:contain}.detail h2{font-weight:500;letter-spacing:-.03em}.detail p{font-size:13px;color:#83728e;line-height:1.7}.detail .detail-warning{background:#f6f0ff;border-radius:9px;padding:12px;font-size:11px}.contact-form{margin-top:13px;background:#f7f3fc;padding:15px;border-radius:12px}.contact-form h4{margin:0 0 6px;font-weight:550}.contact-form p{font-size:11px;line-height:1.6;color:#8b799b}.channel-options{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0}.channel-options label{font-size:10px;padding:7px;border:1px solid #e0d1ee;border-radius:6px;cursor:pointer}.channel-options input{accent-color:var(--accent)}.contact-form input[type=text]{width:100%;padding:12px;border-radius:7px;border:1px solid #dfd2ec;font-size:12px}.consent{display:flex;align-items:flex-start;gap:7px;font-size:9px;line-height:1.5;color:#91819e;margin:11px 0}.consent input{accent-color:var(--accent)}.contact-form .primary{width:100%;padding:11px;font-size:12px;min-height:40px}.form-status{font-size:11px;line-height:1.6;margin-top:10px;color:#725085}.metrics{font-size:12px;line-height:1.8}.metric-item{padding:15px;border-radius:10px;background:#f6f1fb;margin:12px 0}.metric-item ul{margin:8px 0 0;padding-left:18px;color:#917ca1}.toast{position:fixed;z-index:100;bottom:30px;left:50%;transform:translateX(-50%);background:#28212e;color:white;padding:13px 20px;border-radius:10px;box-shadow:0 5px 20px #0004;font-size:12px;max-width:80%;text-align:center}.chat-open:not(.tour-active) .tour-teaser{right:450px;max-width:350px}.chat-open:not(.tour-active) .tour-teaser>b{display:none}@keyframes enter{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}@keyframes pulse{50%{opacity:.3;transform:translateY(-3px)}}
@media(min-width:1500px){.hero-content{padding-top:85px}.hero-meta{margin-top:60px}}@media(max-width:1100px){.top-location>span:first-child{display:none}.hero-meta{gap:22px}.tour-teaser{right:4%;bottom:75px}.hero-content{padding-top:55px}h1{font-size:70px}.chat-open:not(.tour-active) .tour-teaser{display:none}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-open.tour-active .tour-top>span{display:none}.chat-open.tour-active .tour-top{padding:0 6px}.chat-open.tour-active .tour-top button{font-size:10px}}
@media(max-width:700px){.topbar{height:80px;padding:0 22px}.wordmark strong{font-size:28px}.wordmark>span{font-size:9px}.topbar nav{gap:15px}.topbar nav button{font-size:10px}.topbar nav button:last-child{display:none}.top-location{gap:0}.hero{height:auto;min-height:calc(100dvh - 80px)}.hero-image{width:100%;height:65%;top:0;opacity:.65;object-position:55% 35%}.hero-shade{background:linear-gradient(90deg,#111014d9,#11101420),linear-gradient(0deg,#111014 20%,#11101400 80%)}.hero-content{padding:46px 25px 165px}.eyebrow{font-size:8px}h1{font-size:65px;margin-top:25px}.hero-copy{font-size:12px}.hero-buttons{gap:8px;flex-wrap:wrap}.primary,.outline{font-size:11px;padding:14px;gap:17px}.hero-meta{gap:22px;margin-top:37px}.hero-meta b{font-size:20px}.hero-meta span{font-size:8px}.hero-meta small{font-size:10px}.hero-foot{font-size:7px;bottom:18px;left:25px;right:25px}.tour-teaser{bottom:65px;left:25px;right:25px;padding:15px;gap:13px}.tour-teaser strong{font-size:11px}.tour-teaser small{font-size:7px}.tour-teaser em{font-size:9px}.tour-teaser>b{margin-left:auto}.tour-orb{width:35px;height:35px}.launcher{bottom:18px;right:18px;padding:13px 17px}.chat{width:100%;right:0;left:0;top:auto;bottom:0;height:78dvh;border-radius:20px 20px 0 0;border-bottom:0}.chat-header{padding:14px 17px}.chat-open .launcher{display:none}.chat-footer{padding-bottom:max(10px,env(safe-area-inset-bottom))}.chat-context{padding:8px 17px}.messages{padding-top:15px}.chat-welcome h3{font-size:21px}.chat-open.tour-active .main-shell{margin-right:0}.chat-open.tour-active .chat{top:auto;bottom:0}.main-shell{min-height:calc(100dvh - 80px)}.tour-view{height:calc(100dvh - 80px)}.tour-top{padding:0 8px}.tour-top span{display:none}.tour-top button{font-size:10px}.tour-note{font-size:8px;max-width:250px;left:12px;top:63px}.catalog{padding:30px 20px 95px}.section-head h2{font-size:29px}.section-head{align-items:start}.section-head>button{font-size:9px;white-space:nowrap}.section-head p{font-size:10px;line-height:1.6}.catalog-grid{grid-template-columns:1fr}.catalog-filters{flex-wrap:wrap;gap:9px}.catalog-filters label{width:calc(50% - 5px)}.catalog-filters select{min-width:0;width:100%;font-size:11px;padding:12px 6px}.catalog-filters button{font-size:11px}.card-plan{height:245px}.nudge{bottom:85px;right:18px;width:290px}dialog{padding:28px 20px}.detail-plan{height:250px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:701px) and (max-height:850px){.topbar{height:84px}.hero{height:calc(100dvh - 84px);min-height:600px}.hero-content{padding-top:32px;padding-bottom:65px}h1{font-size:clamp(56px,5.8vw,78px);margin:23px 0 16px;line-height:1.02}.hero-copy{font-size:12px;line-height:1.7}.hero-buttons{margin-top:22px}.hero-meta{margin-top:28px;gap:31px}.hero-meta b{font-size:21px}.hero-meta>div{gap:6px}.hero-foot{bottom:20px;padding-top:15px}.tour-teaser{bottom:82px;padding:18px}.main-shell{min-height:calc(100dvh - 84px)}.tour-view{height:calc(100dvh - 84px)}.chat{top:98px}.chat-open.tour-active .chat{top:98px}}

.response-notice{font-size:10px;line-height:1.5;color:#806b20;background:#fff7df;border-radius:7px;padding:8px 10px;margin:10px 0}

.onboarding-message .bubble{animation:enter .5s ease .2s both}
.onboarding-message .options{animation:enter .4s ease .55s both}

.selection-note{margin:0 0 10px;color:#795595;font-size:11px;line-height:1.5}

@media(max-width:700px){.tour-active .launcher{bottom:calc(96px + env(safe-area-inset-bottom,0px))}.tour-active .nudge{bottom:calc(162px + env(safe-area-inset-bottom,0px))}}

/* Keep the longer launcher above tour navigation on desktop as well. */
.tour-active .launcher{bottom:calc(96px + env(safe-area-inset-bottom,0px))}
/* Avoid iOS focus zoom; follow the visible viewport when its keyboard is open. */
.launcher{max-width:calc(100vw - 36px);gap:9px}.launcher #launcherText{font-size:13px;font-weight:550}.launcher .unread-dot{flex:0 0 6px}.launcher [hidden]{display:none!important}
.benefit-card,.nearby-group{padding:14px;margin-top:12px;border:1px solid #e5ddec;border-radius:14px;background:#faf7fe}.benefit-card h4,.nearby-group h4{margin:0 0 8px;font-size:14px}.benefit-card p,.nearby-group p{font-size:13px;line-height:1.55;margin:7px 0}.benefit-card details,.nearby-group small{font-size:11px;color:#7c6e87;line-height:1.5}.place-card{display:flex;gap:10px;padding:12px 0;border-top:1px solid #e8e0ee}.place-card h4{margin:0}.place-pin{font-size:22px;color:var(--accent)}.place-card a,.map-links a{color:#6a42be;font-size:12px;display:inline-block;margin-top:8px}.map-links{display:flex;gap:14px;flex-wrap:wrap}.nearby-group>small{display:block;margin-top:9px}
@media(max-width:700px){.composer textarea,.contact-form input[type=text],.contact-form select{font-size:16px!important;line-height:1.4}.chat,.chat-open.tour-active .chat{height:var(--chat-height,78dvh);bottom:var(--chat-bottom,0px);max-height:100dvh}.messages{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.chat .composer{flex-shrink:0}.tour-active .launcher{bottom:calc(104px + env(safe-area-inset-bottom,0px))}.launcher #launcherText{font-size:14px}.launcher{min-height:48px}body:has(.chat:not([hidden])){overscroll-behavior:none}}

/* Chat scroll is isolated from the page; mobile launcher stays on one line. */
.chat,.messages{overscroll-behavior:contain}.messages{min-height:0;touch-action:pan-y}.chat-scroll-lock{position:fixed;left:0;right:0;width:100%;overflow:hidden}.launcher #launcherText{white-space:nowrap}.launcher{flex-wrap:nowrap}@media(max-width:700px){.launcher{max-width:calc(100vw - 32px);padding:13px 16px}.launcher #launcherText{font-size:13px}}

.nearby-group{background:#fff;padding:14px}.place-card{display:block;border:1px solid #e8e0ee;border-radius:12px;padding:0;margin-top:12px;overflow:hidden;background:#fff}.place-photo{position:relative;height:155px;overflow:hidden;background:linear-gradient(125deg,#f2edf7,#e8e1ed);display:grid;place-items:center}.place-photo img{position:absolute;inset:0;display:block;min-width:0;min-height:0;width:100%;height:100%;object-fit:cover}.place-distance{position:absolute;bottom:10px;right:10px;background:#fffef9ed;color:#282130;border-radius:20px;padding:6px 10px;font-size:12px;font-weight:600;box-shadow:0 2px 12px #0001}.photo-missing{color:#847b8c;font-size:12px}.place-info{padding:12px 14px}.place-info h4{font-size:16px;margin:4px 0}.place-info p{color:#675d70;font-size:12px}.place-kind{font-size:11px!important;color:#79638d!important}.photo-credit{display:flex;flex-wrap:wrap;gap:4px;color:#777;font-size:10px}.photo-credit a{font-size:10px;color:#777;margin:0}.maps-attribution{font:400 12px Arial,sans-serif;white-space:nowrap;color:#5e5e5e;margin-top:12px}.nearby-group>small{font-size:11px}.photo-missing[hidden],.place-photo img[hidden]{display:none}
