/* Generated by build-studio.mjs. Edit source files, then rebuild. */
/* ---- style.css ---- */
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-400-cyrillic.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-400-latin.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-500-cyrillic.woff2') format('woff2');font-weight:500;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-500-latin.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-600-cyrillic.woff2') format('woff2');font-weight:600;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-600-latin.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-700-cyrillic.woff2') format('woff2');font-weight:700;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-700-latin.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Prata;src:url('assets/fonts/prata-400-cyrillic.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Prata;src:url('assets/fonts/prata-400-latin.woff2') format('woff2');font-weight:400;font-display:swap}
:root{color-scheme:light;--paper:#f5f3ed;--surface:#fcfbf7;--ink:#34352f;--muted:#6d6b62;--line:#dcdad1;--accent:#806946;--strong:#42453c;--serif:Prata,Georgia,serif;--sans:Manrope,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased;padding-bottom:64px}button,input,textarea,select{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0;background:none}button:disabled{cursor:default}a{color:inherit}button,select,input,textarea{outline-offset:5px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent)}h1,h2,h3,p,figure{margin:0}h1,h2{font-weight:400}h1[tabindex]:focus{outline:none}img{display:block;max-width:100%}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}button svg{pointer-events:none}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:20px;padding:12px;background:var(--surface);z-index:100}.skip-link:focus{top:10px}
.site-header{height:88px;border-bottom:1px solid var(--line);background:var(--paper)}.header-inner{max-width:1536px;height:100%;margin:auto;padding:0 48px;display:flex;align-items:center;gap:27px}.brand{display:flex;align-items:center;flex:none}.brandmark{width:116px;height:60px;stroke:none}.brand-note{border-left:1px solid #d1d3c7;padding-left:25px;font-size:11px;line-height:1.8;letter-spacing:.03em;color:#767a70}.primary-nav{display:flex;align-self:stretch;align-items:center;gap:30px;margin:auto}.primary-nav button{position:relative;min-height:44px;padding:0;font-size:13px;font-weight:600;color:#6d7368}.primary-nav button[aria-current=page]{color:var(--ink)}.primary-nav button[aria-current=page]:after{content:"";position:absolute;bottom:0;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:var(--accent)}.header-tools{display:flex;gap:12px;align-items:center}.icon-button{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:50%;position:relative}.tool-dot{position:absolute;right:8px;top:6px;width:5px;height:5px;border-radius:50%;background:#8a7148;border:1px solid var(--paper)}.self-profile{border-left:1px solid var(--line);margin-left:5px;padding:0 0 0 22px;display:flex;align-items:center;gap:10px;min-height:44px}.self-name{font-size:11px;white-space:nowrap}.avatar{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;background:#e8e8de;border-radius:50%;font-size:14px;font-weight:600;flex:none;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}.avatar.small{width:34px;height:34px;font-size:11px}.avatar.mini{width:28px;height:28px;font-size:9px}
.page-shell{max-width:1536px;margin:auto;padding:0 48px}.editorial-heading{display:flex;align-items:flex-end;justify-content:space-between;padding:47px 0 34px;gap:30px}.eyebrow{font-size:10px;line-height:1.6;letter-spacing:.13em;text-transform:uppercase;font-weight:600;color:#747467;display:flex;align-items:center;gap:12px}.tiny-line{display:inline-block;width:23px;height:1px;background:var(--accent)}.editorial-heading h1{font-family:var(--serif);font-size:48px;line-height:1.16;letter-spacing:-1.65px;margin-top:18px}.editorial-heading h1 span{color:#7d7d6e}.heading-aside{padding-bottom:4px;display:flex;align-items:flex-end;gap:38px}.heading-aside p{font-size:13px;line-height:1.9;color:#696b60;margin-bottom:4px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:46px;padding:0 23px;border-radius:5px;font-size:12px;font-weight:600;text-decoration:none;transition:transform 120ms cubic-bezier(.23,1,.32,1),background-color 120ms ease}.button:active{transform:scale(.98)}.button.primary{background:var(--strong);color:#fffefa}.button.secondary{border:1px solid #b9beaf;background:transparent}.text-button{display:inline-flex;align-items:center;gap:10px;padding:0;min-height:40px;font-size:12px;font-weight:600;line-height:1.6}.text-button svg{width:17px;height:17px}
.search-bar{display:flex;align-items:center;border:1px solid #cfd3c4;background:#fcfbf8;border-radius:7px;min-height:73px;position:relative;z-index:3}.search-field{flex:1;min-width:0;display:flex;align-items:center;gap:15px;padding:0 24px}.search-field>svg{width:22px;height:22px;color:#66705f}.search-field input{width:100%;height:60px;border:0;background:transparent;font-size:14px;outline-offset:0}.search-field input::placeholder{color:#818578}.quick-select{border-left:1px solid var(--line);padding:0 27px;min-width:180px;display:flex;flex-direction:column;gap:5px}.quick-select>span{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#6e7265}.quick-select select,.sort-field select{border:0;background:none;cursor:pointer;font-size:13px;font-weight:500;min-width:120px}.filter-disclosure{margin:0 20px 0 4px}.filter-disclosure summary{display:flex;align-items:center;gap:12px;padding:13px;list-style:none;cursor:pointer;font-size:12px}.filter-disclosure summary::-webkit-details-marker{display:none}.filter-popover{position:absolute;right:0;top:calc(100% + 10px);width:300px;border:1px solid #d1d5c7;border-radius:10px;background:var(--surface);box-shadow:0 12px 40px #30362d16;padding:24px;display:grid;gap:20px}.filter-popover label{font-size:11px;display:grid;gap:8px}.filter-popover select,.filter-popover input{width:100%;border:1px solid var(--line);border-radius:4px;padding:10px;background:var(--paper);min-height:42px}.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;margin:26px 0 24px;gap:20px}.scope-tabs{display:flex;gap:28px}.scope-tabs button{padding:8px 0;position:relative;min-height:40px;font-size:13px;font-weight:500;color:#646b5c}.scope-tabs button[aria-pressed=true]{color:var(--ink)}.scope-tabs button[aria-pressed=true]:after{content:"";height:1px;position:absolute;bottom:0;left:0;right:0;background:var(--ink)}.scope-tabs button span{font-size:10px;color:#858b7c;margin-left:5px}.view-tools{display:flex;align-items:center;gap:23px}.sort-field select{font-size:12px;color:#646b5c;min-width:0}.layout-picker{display:flex;gap:3px}.layout-picker button{border-radius:4px;width:32px;height:32px;color:#8a9081}.layout-picker button[aria-pressed=true]{background:#e6e9de;color:#43513b}.layout-picker svg{width:16px;height:16px}
.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 25px}.property-card{min-width:0}.property-card.feature-card{grid-column:span 2}.property-visual{position:relative;isolation:isolate;border-radius:4px;overflow:hidden;background:#e2e3da}.photo-link{display:block;padding:0;width:100%;height:235px;overflow:hidden}.feature-card .photo-link,.property-card:nth-child(2) .photo-link{height:330px}.photo-link img{width:100%;height:100%;object-fit:cover}.feature-card img{object-position:50% 53%}.house-photo{object-position:50% 63%}.image-note{position:absolute;left:18px;top:18px;padding:8px 11px;background:#fcfbf5ed;color:#4b5543;font-size:10px;letter-spacing:.08em;font-weight:600;border-radius:3px;pointer-events:none}.save-button{position:absolute;right:16px;top:14px;background:#fcfbf5f0;color:var(--ink);width:35px;height:39px;display:grid;place-items:center;border-radius:4px}.save-button svg{width:16px;height:18px}.save-button[aria-pressed=true]{background:var(--strong);color:var(--surface)}.save-button[aria-pressed=true] svg{fill:currentColor}.image-index{position:absolute;left:19px;bottom:17px;color:#fff;font-size:10px;letter-spacing:.12em;text-shadow:0 1px 4px #0009;pointer-events:none}.property-info{padding:19px 0 0}.property-title-row{display:flex;flex-direction:column;gap:8px}.property-title{font-family:var(--serif);font-size:20px;text-align:left;line-height:1.5;padding:0;align-self:flex-start;letter-spacing:-.4px}.property-price{font-size:18px;letter-spacing:-.6px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.property-price span{font-weight:400;font-size:14px;color:#626b59}.feature-card .property-title-row{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.feature-card .property-title{font-size:26px}.feature-card .property-price{font-size:22px}.property-meta{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;margin:8px 0 15px;color:#646b5c;font-size:12px}.property-meta b{margin:0 7px;font-weight:400;color:#adb2a4}.property-agent{border-top:1px solid var(--line);padding-top:11px;display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:46px}.property-agent>button:first-child{display:flex;align-items:center;gap:10px;padding:0;text-align:left;font-size:12px}.property-agent small{font-weight:400;color:#6b7062;margin-left:8px;font-size:11px}.property-agent .icon-button{width:30px;height:30px}.property-agent .icon-button svg{width:17px;height:17px}.property-grid.is-filtered .feature-card{grid-column:auto}.property-grid.is-filtered .photo-link{height:235px}.property-grid.is-filtered .feature-card .property-title-row{flex-direction:column;align-items:flex-start}.property-grid[data-layout=list]{display:flex;flex-direction:column;gap:25px}.property-grid[data-layout=list] .property-card{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px;padding-bottom:25px;border-bottom:1px solid var(--line)}.property-grid[data-layout=list] .photo-link{height:190px}.property-grid[data-layout=list] .property-info{padding-top:10px;align-self:center}.property-grid[data-layout=list] .property-title-row{flex-direction:row;justify-content:space-between;gap:20px}.property-grid[data-layout=list] .property-title{font-size:24px}.property-grid[data-layout=list] .property-agent{margin-top:25px}.property-grid[data-layout=list] .property-price{font-size:22px}
.empty-state{text-align:center;padding:65px 20px 85px}.empty-mark{font-family:var(--serif);font-size:52px;color:#8d9682}.empty-state h2{font-family:var(--serif);font-size:30px;margin:10px 0}.empty-state p{max-width:390px;margin:auto;color:var(--muted);line-height:1.8}.network-note{margin-top:66px;border-top:1px solid #bfc5b4;padding:35px 0 45px;display:flex;align-items:center;gap:70px}.network-note p{font-family:var(--serif);font-size:25px;line-height:1.5;letter-spacing:-.6px}.network-note .text-button{margin-left:auto}
.preview-dock{position:fixed;bottom:0;left:0;right:0;min-height:49px;border-top:1px solid #d4d8ca;background:#fbfaf6f5;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:7px 48px;z-index:20}.concept-label{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.05em;color:#646d59;white-space:nowrap}.concept-dot{width:5px;height:5px;background:#899a72;border-radius:50%}.preview-dock nav{display:flex;align-items:center;gap:6px}.preview-dock nav button{min-height:32px;padding:0 17px;font-size:11px;color:#7b826f;border-radius:3px}.preview-dock nav button[aria-current=page]{background:#e7ebdf;color:#34432b}.demo-label{font-size:10px;color:#696b60}.toast{position:fixed;bottom:65px;left:50%;transform:translateX(-50%);z-index:50;background:var(--strong);color:var(--surface);border-radius:6px;font-size:12px;box-shadow:0 4px 20px #28301b15;max-width:calc(100% - 32px);text-align:center}.toast:not(:empty){padding:13px 22px}
.section-breadcrumb{display:flex;align-items:center;gap:14px;padding:29px 0;color:#7a806f;font-size:10px}.section-breadcrumb button{padding:0;font-size:inherit;min-height:32px}.profile-editorial{display:grid;grid-template-columns:440px minmax(0,1fr);gap:clamp(50px,8vw,132px);padding:16px 0 0;max-width:1220px;margin:auto}.portrait-column figure{margin:0;position:relative}.portrait-column figure>img{width:100%;height:530px;object-fit:cover;object-position:50% 18%;border-radius:3px}.portrait-column figcaption{position:absolute;left:16px;bottom:15px;color:#fff7e7;font-size:10px;letter-spacing:.04em;background:#282520b8;padding:6px}.portrait-caption{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);font-size:9px;color:#76816b}.portrait-caption .eyebrow{font-size:8px}.profile-story{padding-top:10px}.profile-story h1{font-family:var(--serif);font-size:64px;line-height:1.14;letter-spacing:-2px;margin:18px 0 22px}.profile-position{font-size:15px;line-height:1.85;color:#6c6f61}.profile-facts{display:flex;gap:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:27px;padding:21px 0}.profile-facts>div{display:flex;flex-direction:column;gap:6px}.profile-facts strong{font-size:22px;font-weight:500;letter-spacing:-.8px}.profile-facts strong small{font-size:11px;font-weight:400;letter-spacing:0}.profile-facts span,.profile-facts button{font-size:12px;padding:0;color:#6b7062;min-height:20px;text-align:left}.profile-facts button{text-decoration:underline;text-underline-offset:4px}.profile-actions{display:flex;gap:12px;margin-top:25px}.profile-about{margin-top:31px}.profile-about h2{font-family:var(--serif);font-size:20px;margin-bottom:13px}.profile-about p{font-size:14px;line-height:1.85;color:#6b6c61;max-width:450px}.expertise{display:flex;flex-wrap:wrap;gap:20px;margin-top:18px;font-size:11px;color:#737e66}.expertise span:before{content:"·";margin-right:6px}.settings-link{color:#6c7262;font-size:12px;margin-top:19px}.profile-selection{display:flex;align-items:flex-end;justify-content:space-between;margin:64px auto 27px;max-width:1220px}.profile-selection h2{font-family:var(--serif);font-size:30px;letter-spacing:-1px;margin-top:10px}.profile-property-pair{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:1220px;margin:0 auto 50px}.profile-property-pair button{display:flex;gap:19px;text-align:left;align-items:center;padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;min-width:0}.profile-property-pair img{width:140px;height:102px;object-fit:cover;border-radius:3px}.profile-property-pair strong{display:block;font-family:var(--serif);font-size:17px;font-weight:400;line-height:1.6}.profile-property-pair small{display:block;margin-top:8px;font-size:12px;color:#646b5c}.profile-property-pair svg{margin-left:auto}
.invite-screen{display:grid;grid-template-columns:1fr 1.1fr;min-height:calc(100vh - 137px);max-width:1800px;margin:auto}.invite-copy{padding:65px max(45px,calc((100vw - 1344px)/2)) 34px;min-width:0}.invite-copy h1{font-family:var(--serif);font-size:clamp(38px,3.9vw,60px);letter-spacing:-1.9px;line-height:1.2;margin-top:31px;white-space:nowrap}.invite-copy h1 span{color:#7b7c6d}.invite-description{font-size:15px;line-height:1.95;color:#6f7064;margin-top:27px}.invited-by{display:flex;gap:13px;align-items:center;margin:29px 0 26px}.invited-by>div{display:grid;gap:6px}.invited-by span:not(.avatar){font-size:11px;color:#6b7062}.invited-by strong{font-size:14px;font-weight:500}.invite-accept{min-width:290px;justify-content:space-between;height:52px}.invite-disclaimer{display:block;font-size:10px;color:#6b7062;margin-top:13px}.invite-benefits{display:flex;gap:30px;padding:28px 0;border-top:1px solid #d4d9c8;margin-top:31px}.invite-benefits>div{display:flex;gap:10px}.invite-benefits span{font-family:var(--serif);font-size:11px;color:#8a9776;padding-top:1px}.invite-benefits p{font-size:11px;line-height:1.7;color:#666e5c}.invite-copy>.text-button{font-size:11px;color:#69725d}.invite-image{position:relative;min-height:780px;overflow:hidden}.invite-image>img{height:100%;width:100%;object-fit:cover;object-position:55% 50%;position:absolute}.invite-image:after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#151c155c);pointer-events:none}.invite-image-caption{position:absolute;bottom:67px;left:43px;right:30px;color:#fffbed;z-index:1}.invite-image-caption span:first-child{display:block;font-size:8px;letter-spacing:.2em;margin-bottom:25px}.invite-image-caption span:last-child{font-family:var(--serif);font-size:27px;line-height:1.55;letter-spacing:-.4px}.image-credit{position:absolute;bottom:20px;left:43px;right:20px;font-size:8px;color:#fffbedc9;z-index:1}.invite-link{width:100%;font-size:12px;padding:10px}
dialog{border:1px solid #d5dacd;box-shadow:0 24px 90px #242f2740;border-radius:12px;background:var(--surface);color:var(--ink);padding:38px;width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto}dialog::backdrop{background:#26302460;backdrop-filter:blur(5px)}dialog h2{font-family:var(--serif);font-size:30px;line-height:1.35;letter-spacing:-.7px;margin:18px 0 20px}dialog p{line-height:1.9;font-size:13px}dialog .eyebrow{font-size:9px}dialog .dialog-close{position:absolute;right:10px;top:10px;background:var(--surface);z-index:2}.muted{color:var(--muted)}dialog form{margin-top:24px;display:grid;gap:20px}dialog form label{display:grid;gap:9px;font-size:12px}dialog form input,dialog form textarea{width:100%;background:#f7f7f1;border:1px solid #cbd1c2;border-radius:5px;padding:13px;font-size:14px;resize:vertical}dialog .form-note{font-size:10px;color:#747f68;line-height:1.7}.feedback:empty{display:none}.feedback{font-size:11px!important;color:#425738;line-height:1.75;padding-top:12px}.property-dialog{width:min(960px,calc(100vw - 32px));padding:0}.property-dialog[open]{display:grid;grid-template-columns:1.05fr 1fr}.property-dialog>img{width:100%;height:100%;max-height:700px;min-height:520px;object-fit:cover}.detail-copy{padding:40px 30px}.detail-summary{display:grid;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:20px 0}.detail-summary strong{font-size:25px;letter-spacing:-.8px;font-weight:500}.detail-summary span{font-size:12px;color:#727f64}.detail-copy>#detail-description{font-size:12px;color:#666e5c}.detail-author{display:flex;align-items:center;justify-content:space-between;margin:20px 0;font-size:12px}.detail-copy>.button{width:100%}.request-row{padding:22px 0;border-top:1px solid var(--line)}.request-row>span{font-size:10px;color:#7c8770}.request-row h3{font-size:15px;font-weight:500;margin:9px 0}.request-row p{font-size:11px;color:#768569}.request-row .text-button{margin-top:10px}.deal-steps{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.deal-steps span{padding:8px;background:#e7ecdf;border-radius:3px;font-size:10px}.deal-steps+p{margin-bottom:24px}.review-number{font-family:var(--serif);font-size:56px!important}.review-number span{font-size:22px;color:#8a967c}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 0;border-top:1px solid var(--line);font-size:12px}.setting-row input{width:21px;height:21px;accent-color:var(--strong)}#contact-dialog .button{margin-top:25px}
@media(hover:hover) and (pointer:fine){.button.primary:hover{background:#54634b}.primary-nav button:hover,.scope-tabs button:hover,.text-button:hover{color:#2b4b20}.icon-button:hover{background:#e4e9db}.property-title:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.photo-link:hover{opacity:.94}.preview-dock nav button:hover{background:#ecefe6}.filter-disclosure summary:hover{background:#ecefe6;border-radius:4px}}
@media(min-width:1600px){.editorial-heading{padding-top:60px}.editorial-heading h1{font-size:56px}.feature-card .photo-link,.property-card:nth-child(2) .photo-link{height:400px}.invite-copy{padding-left:80px;padding-right:65px}}
@media(max-width:1200px){.brand-note{display:none}.header-inner{gap:30px;padding:0 32px}.primary-nav{gap:26px}.page-shell{padding:0 32px}.heading-aside{gap:25px}.heading-aside p{font-size:10px}.editorial-heading h1{font-size:43px}.feature-card .property-title-row{align-items:flex-start;flex-direction:column;gap:7px}.feature-card .property-title{font-size:23px}.feature-card .property-price{font-size:18px}.property-title{font-size:19px}.quick-select{min-width:150px;padding:0 18px}.profile-editorial{grid-template-columns:36% 1fr;gap:60px}.profile-story h1{font-size:54px}.profile-facts{gap:25px}.profile-facts strong{font-size:20px}.portrait-column figure>img{height:530px}.invite-copy{padding:50px 32px 30px}.invite-benefits{gap:18px}.invite-benefits>div{gap:7px}.invite-benefits p{font-size:10px}.invite-image{min-height:750px}.invite-image-caption{left:30px}.image-credit{left:30px}.preview-dock{padding-left:32px;padding-right:32px}}
@media(max-width:960px){.self-name{display:none}.header-inner{gap:24px}.primary-nav{gap:22px}.heading-aside{flex-direction:column;align-items:flex-start;gap:17px}.heading-aside p{font-size:11px}.editorial-heading h1{font-size:41px}.editorial-heading{padding-top:35px}.quick-select{min-width:140px;padding:0 15px}.search-field{padding:0 15px;gap:9px}.search-field input{font-size:11px}.quick-select select{min-width:105px;font-size:11px}.filter-disclosure{margin:0 8px 0 0}.filter-disclosure summary{padding:13px 10px;gap:7px}.filter-disclosure summary span{display:none}.property-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}.property-card.feature-card{grid-column:span 1}.feature-card .photo-link,.property-card:nth-child(2) .photo-link{height:280px}.feature-card .property-title{font-size:22px}.property-title{font-size:21px}.scope-tabs{gap:20px}.scope-tabs button{font-size:11px}.view-tools{gap:13px}.network-note{gap:35px}.network-note p{font-size:21px}.profile-editorial{gap:40px;grid-template-columns:38% 1fr}.profile-story h1{font-size:46px}.profile-facts{gap:20px}.profile-facts strong{font-size:17px}.profile-position{font-size:12px}.profile-actions{gap:8px}.profile-actions .button{font-size:10px;padding:0 15px;gap:10px}.portrait-caption{flex-direction:column;align-items:flex-start;gap:8px}.profile-property-pair img{width:96px;height:90px}.profile-property-pair strong{font-size:14px}.profile-property-pair{gap:23px}.invite-screen{grid-template-columns:1fr 1fr}.invite-copy{padding:42px 28px 26px}.invite-copy h1{font-size:40px;letter-spacing:-1.5px}.invite-benefits{gap:15px;flex-wrap:wrap}.invite-accept{min-width:100%;font-size:11px}.invite-description{font-size:11px}.invite-copy .eyebrow{font-size:8px}.invite-image-caption span:last-child{font-size:24px}.demo-label{font-size:8px}.preview-dock{gap:10px}}
@media(max-width:700px){body{padding-bottom:75px}.site-header{height:70px}.header-inner{padding:0 20px;gap:14px}.brandmark{width:87px;height:46px}.primary-nav{margin-left:auto;margin-right:0}.primary-nav button{display:none}.primary-nav button[data-route=catalog]{display:block;font-size:11px}.header-tools{gap:4px}.bell-button{display:none}.header-tools .icon-button{width:36px}.self-profile{border:0;padding:0;margin-left:6px}.avatar.small{width:31px;height:31px;font-size:10px}.page-shell{padding:0 20px}.editorial-heading{padding:29px 0 25px;display:block}.editorial-heading .eyebrow{font-size:8px;letter-spacing:.1em;gap:8px}.tiny-line{width:16px}.editorial-heading h1{font-size:39px;line-height:1.2;letter-spacing:-1.5px;margin-top:17px}.heading-aside{margin-top:22px;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.heading-aside p{font-size:11px;line-height:1.6;max-width:175px;margin:0}.heading-aside .button{font-size:11px;min-height:41px;padding:0 12px;gap:8px;white-space:nowrap}.heading-aside .button svg{width:15px;height:15px}.search-bar{display:grid;grid-template-columns:1fr 1fr 50px;min-height:110px;border-radius:6px}.search-field{grid-column:1/-1;border-bottom:1px solid var(--line);padding:0 15px}.search-field input{height:52px;font-size:14px}.search-field svg{width:18px;height:18px}.quick-select{border:0;min-width:0;padding:10px 14px;gap:4px}.quick-select:first-of-type{border-right:1px solid var(--line)}.quick-select select{min-width:0;width:100%;font-size:13px}.quick-select>span{font-size:9px}.filter-disclosure{margin:0}.filter-disclosure summary{padding:15px}.filter-disclosure summary svg{width:17px;height:17px}.filter-popover{width:min(300px,100%);padding:20px;right:0}.filter-popover select,.filter-popover input{font-size:16px}.catalog-toolbar{margin:15px 0 19px;flex-wrap:wrap;gap:13px}.scope-tabs{gap:18px;flex:1}.scope-tabs button{font-size:12px;min-height:40px}.scope-tabs button span{font-size:9px;margin-left:2px}.view-tools{gap:0}.sort-field{display:none}.layout-picker{gap:0}.layout-picker button{width:28px;height:32px}.layout-picker button:last-child{display:none}.property-grid{grid-template-columns:1fr;gap:33px}.property-card.feature-card{grid-column:auto}.photo-link,.feature-card .photo-link,.property-card:nth-child(2) .photo-link{height:256px}.image-note{font-size:9px;left:12px;top:12px;padding:7px 9px}.save-button{right:11px;top:10px;min-width:40px;min-height:40px}.image-index{left:14px;bottom:14px;font-size:8px}.property-info{padding-top:16px}.feature-card .property-title-row,.property-title-row{display:flex;flex-direction:row;align-items:flex-start;gap:15px;justify-content:space-between}.property-title,.feature-card .property-title{font-size:21px;line-height:1.4;max-width:63%}.property-price,.feature-card .property-price{font-size:16px;letter-spacing:-.3px;line-height:1.7}.property-price span{font-size:10px}.property-meta{font-size:12px;margin-top:9px;margin-bottom:12px}.property-agent{padding-top:9px;min-height:42px}.property-agent>button:first-child{font-size:11px;gap:8px}.property-agent small{font-size:10px;margin-left:5px}.property-agent .text-button{font-size:11px}.property-grid[data-layout=list] .property-card{grid-template-columns:105px 1fr;gap:14px;padding-bottom:18px}.property-grid[data-layout=list] .photo-link{height:140px}.property-grid[data-layout=list] .image-note{display:none}.property-grid[data-layout=list] .save-button{right:7px;top:7px;min-width:32px;min-height:32px;width:32px;height:32px}.property-grid[data-layout=list] .property-title-row{flex-direction:column;gap:3px}.property-grid[data-layout=list] .property-title{font-size:17px;max-width:100%}.property-grid[data-layout=list] .property-price{font-size:13px}.property-grid[data-layout=list] .property-agent{margin-top:0}.property-grid[data-layout=list] .property-agent small{display:none}.network-note{margin-top:38px;padding:26px 0 35px;gap:18px;flex-wrap:wrap}.network-note>.eyebrow{width:100%;font-size:8px}.network-note p{font-size:21px}.network-note>.text-button{font-size:9px;gap:6px}.preview-dock{min-height:61px;padding:7px 12px 10px;gap:6px;flex-direction:column;justify-content:center}.concept-label{display:none}.preview-dock nav{width:100%;justify-content:center;gap:9px}.preview-dock nav button{font-size:12px;min-height:36px;padding:0 18px}.demo-label{font-size:9px;letter-spacing:.04em;line-height:1}.toast{bottom:85px}.section-breadcrumb{padding:15px 0;font-size:8px;gap:10px}.profile-editorial{display:flex;flex-direction:column;gap:25px;padding-top:5px}.portrait-column{order:1}.profile-story{display:contents}.profile-story>.eyebrow{order:0;font-size:8px}.profile-story h1{order:0;font-size:43px;line-height:1.12;letter-spacing:-1.6px;margin:-12px 0 0}.profile-story h1 br{display:initial}.profile-story h1 br:after{content:' '}.profile-story h1{max-width:100%;word-spacing:.06em}.profile-position{order:2;font-size:14px;margin-top:0}.portrait-column figure>img{height:370px;object-position:50% 15%}.portrait-column figcaption{font-size:7px;left:12px;bottom:12px}.portrait-caption{flex-direction:row;font-size:8px;padding:13px 0}.portrait-caption .eyebrow{font-size:7px}.profile-facts{order:3;gap:0;justify-content:space-between;margin:0;padding:19px 0}.profile-facts strong{font-size:20px}.profile-facts strong small{font-size:9px}.profile-facts span,.profile-facts button{font-size:10px}.profile-actions{order:4;margin:0;gap:12px}.profile-actions .button{min-height:47px;font-size:11px;padding:0 17px}.profile-about{order:5;margin:0}.profile-about p{font-size:12px}.expertise{font-size:8px;gap:16px}.settings-link{order:6;margin:0;font-size:10px;align-self:flex-start}.profile-selection{margin:38px 0 22px;gap:20px}.profile-selection .eyebrow{font-size:8px}.profile-selection h2{font-size:26px}.profile-selection>.text-button{font-size:9px;gap:6px}.profile-property-pair{grid-template-columns:1fr;gap:0;margin-bottom:30px}.profile-property-pair button+button{border-top:0}.profile-property-pair img{width:110px;height:88px}.profile-property-pair strong{font-size:16px}.profile-property-pair small{font-size:11px}.invite-screen{display:flex;flex-direction:column;min-height:0}.invite-copy{padding:32px 24px 27px}.invite-copy h1{font-size:44px;line-height:1.18;letter-spacing:-1.4px;margin-top:23px;white-space:normal}.invite-description{font-size:15px;margin-top:23px}.invited-by{margin:24px 0}.invite-accept{min-width:100%;height:50px;font-size:12px}.invite-disclaimer{font-size:10px;text-align:center}.invite-benefits{justify-content:space-between;gap:12px;margin-top:25px;padding:22px 0}.invite-benefits p{font-size:10px}.invite-copy>.text-button{font-size:11px}.invite-image{min-height:460px}.invite-image>img{object-position:48% 50%}.invite-image-caption{left:24px;bottom:66px}.invite-image-caption span:last-child{font-size:25px}.image-credit{left:24px;bottom:25px;font-size:7px}.property-dialog[open]{display:block}.property-dialog>img{min-height:0;max-height:280px;height:240px}.detail-copy{padding:27px 24px}.property-dialog h2{font-size:26px}dialog{padding:30px 23px;border-radius:9px;max-height:calc(100dvh - 30px)}dialog h2{font-size:27px}dialog form input,dialog form textarea{font-size:16px}dialog .button{min-height:46px}.setting-row input{min-width:24px;height:24px}.primary-nav button,.text-button,.property-agent>button{min-height:44px}}
@media(max-width:370px){.header-inner{padding:0 16px;gap:7px}.header-tools{gap:0}.header-tools .icon-button{width:31px}.self-profile{margin-left:4px}.page-shell{padding:0 16px}.editorial-heading h1{font-size:35px}.editorial-heading .eyebrow{font-size:7px}.heading-aside p{font-size:10px}.heading-aside .button{padding:0 10px;font-size:10px}.scope-tabs{gap:15px}.scope-tabs button{font-size:11px}.layout-picker button{width:23px}.property-title,.feature-card .property-title{font-size:19px}.property-price,.feature-card .property-price{font-size:14px}.photo-link,.feature-card .photo-link,.property-card:nth-child(2) .photo-link{height:230px}.property-agent small{display:none}.network-note p{font-size:19px}.network-note>.text-button{font-size:8px}.invite-copy{padding:28px 20px}.invite-copy h1{font-size:38px}.invite-benefits{gap:9px}.invite-benefits p{font-size:9px}.profile-story h1{font-size:38px}.profile-facts strong{font-size:18px}.profile-facts span,.profile-facts button{font-size:9px}.profile-actions .button{font-size:10px;padding:0 13px}.portrait-caption .eyebrow{font-size:6px}.preview-dock nav button{font-size:11px;padding:0 16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ---- atmosphere.css ---- */
/* Isolated surface experiment. The original index.html + style.css stay intact. */
:root {
  --paper: #f5f2eb;
  --surface: #fcfaf6;
  --ink: #302e2a;
  --muted: #6c675f;
  --line: #dad3c7;
  --accent: #866945;
  --strong: #35312c;
}

body { isolation: isolate; background: var(--paper); }
body::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 950px;
  z-index: -1;
  pointer-events: none;
  opacity: .65;
  background-image:
    linear-gradient(180deg, #f5f2eb12 0%, #f5f2eb1f 29%, #f5f2eb88 60%, #f5f2eb 96%),
    url("assets/quiet-limestone-v1.png");
  background-size: 100% 100%, cover;
  background-position: center top;
  background-repeat: no-repeat;
}

.site-header { background: transparent; border-color: #a38e6b26; }
.brand-note { border-color: #a38e6b40; color: #746958; }
.primary-nav button { color: #655f56; }
.primary-nav button[aria-current="page"] { color: var(--ink); }
.avatar { background: #e8e1d5; color: #675846; }
.eyebrow, .concept-label { color: #746751; }
.editorial-heading h1 span, .invite-copy h1 span { color: #806d54; }
.heading-aside p, .property-meta, .property-agent small, .profile-position,
.profile-about p, .profile-facts span, .profile-facts button, .expertise,
.settings-link, .invite-description, .invited-by span:not(.avatar),
.invite-disclaimer, .invite-benefits p, .invite-copy > .text-button,
.section-breadcrumb, .portrait-caption, .profile-property-pair small {
  color: var(--muted);
}

.search-bar {
  background: #fcfaf6;
  border-color: #cfc5b5;
  box-shadow: 0 5px 18px #69533007;
}
.search-field > svg, .search-field input::placeholder { color: #726b5f; }
.quick-select > span, .sort-field select { color: #6c6253; }
.scope-tabs button { color: #716759; }
.scope-tabs button[aria-pressed="true"] { color: var(--ink); }
.scope-tabs button[aria-pressed="true"]::after { background: var(--accent); }
.scope-tabs button span { color: #736955; }
.layout-picker button { color: #80745f; }
.layout-picker button[aria-pressed="true"] { color: #695331; background: #e8e0d2; }
.image-note { background: #fcfaf5f2; color: #5d503d; }
.property-price span { color: #6f6352; }
.property-info { background: var(--paper); }
.filter-popover, dialog { background: var(--surface); border-color: #d5cdbf; }
.filter-popover select, .filter-popover input,
dialog form input, dialog form textarea { background: #f7f3eb; border-color: #cfc5b5; }
.button.secondary { border-color: #bcb09d; }
.network-note { border-color: #bcb09d; }
.preview-dock { background: #fcfaf6f7; border-color: #d8cdbc; }
.preview-dock nav button { color: #726750; }
.preview-dock nav button[aria-current="page"] { background: #e9dfce; color: #604725; }
.concept-dot { background: #a0885d; }
.variant-meta { display: flex; align-items: center; gap: 22px; }
.baseline-link { font-size: 10px; color: #756043; text-decoration: none; padding: 10px 0; }
.baseline-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.demo-label { color: #756b5c; }
.invite-benefits { border-color: #d6cbbb; }
.invite-benefits span { color: #8d7754; }
.deal-steps span { color: #6c5333; background: #eee5d6; }
.feedback { color: #645031; }

@media (hover: hover) and (pointer: fine) {
  .button.primary:hover { background: #51483c; }
  .primary-nav button:hover, .scope-tabs button:hover, .text-button:hover { color: #715127; }
  .icon-button:hover, .filter-disclosure summary:hover { background: #eae1d2; }
  .preview-dock nav button:hover { background: #efe7da; }
}

@media (max-width: 960px) {
  .variant-meta { gap: 12px; }
  .variant-meta .demo-label { display: none; }
}
@media (max-width: 700px) {
  body::before {
    height: 750px;
    background-position: center top, 66% top;
    background-size: 100% 100%, auto 750px;
    opacity: .6;
  }
  .preview-dock { min-height: 75px; padding-bottom: 8px; }
  .baseline-link { font-size: 10px; padding: 1px 0; }
  .variant-meta { gap: 0; }
  .toast { bottom: 90px; }
}

/* ---- signature.css ---- */
/* Client-palette concept. All changes are isolated from the previous versions. */
:root {
  --paper: #f3eee5;
  --surface: #fcf9f3;
  --ink: #292722;
  --muted: #6e6559;
  --line: #d8cfc0;
  --accent: #82663f;
  --strong: #25241f;
  --night: #171714;
  --ivory: #f4eee2;
  --gold: #dfc592;
}
body { padding-bottom: 110px; }
body::before {
  height: 1050px;
  opacity: .72;
  background-image: linear-gradient(180deg, #f3eee520, #f3eee530 30%, #f3eee5c2 67%, #f3eee5 98%), url("assets/quiet-limestone-v1.png");
}
.concept-strip {
  max-width: 1536px; margin: 0 auto; padding: 15px 48px 12px;
  display: flex; align-items: center; gap: 20px;
  color: #6e6250; font-size: 10px; letter-spacing: .035em;
}
.concept-strip > span:first-child { text-transform: uppercase; font-size: 9px; letter-spacing: .12em; }
.concept-demo { margin-left: auto; }
.concept-strip a { text-decoration: none; padding: 4px 0; }
.site-header {
  margin: 0 24px; height: 94px; max-width: 1488px;
  border: 1px solid #d8ba7626; border-radius: 10px;
  background: var(--night); color: var(--ivory);
  box-shadow: 0 8px 20px #3d322711;
}
.header-inner { padding: 0 26px; gap: 25px; }
.brandmark { width: 128px; height: 69px; mix-blend-mode: lighten; }
.brand-note { color: #c5bba8; border-color: #665c464d; font-size: 10px; padding-left: 24px; }
.primary-nav { gap: 30px; }
.primary-nav button { color: #c9c1b4; font-size: 12px; }
.primary-nav button[aria-current="page"] { color: var(--gold); }
.primary-nav button[aria-current="page"]::after { background: var(--gold); width: 18px; height: 1px; border-radius: 0; left: calc(50% - 9px); bottom: 1px; }
.header-tools { gap: 9px; }
.header-tools .icon-button { color: var(--ivory); width: 44px; height: 44px; }
.header-tools svg { width: 21px; height: 21px; stroke-width: 1.7; }
.tool-dot { background: var(--gold); border-color: var(--night); top: 7px; right: 8px; }
.self-profile { border-color: #665c4666; color: var(--ivory); }
.self-profile .avatar { background: #e3d4b8; color: #372e20; }
.editorial-heading { padding-top: 43px; padding-bottom: 32px; }
.editorial-heading h1 { font-size: 50px; }
.editorial-heading h1 span, .invite-copy h1 span { color: #82663f; }
.eyebrow { color: #786244; }
.heading-aside p { color: #6d6355; }
.button { min-height: 48px; border-radius: 5px; }
.button.primary { background: var(--strong); color: var(--ivory); }
.search-bar { border-color: #d5c7b2; background: var(--surface); box-shadow: 0 6px 20px #53412805; }
.search-field input::placeholder, .quick-select > span { color: #736858; }
.property-info { background: transparent; }
.property-visual { border-radius: 5px; }
.image-note { background: #fcf8eef5; color: #5e4e33; }
.property-agent { border-color: #d6cbbb; }
.property-price span, .property-meta, .property-agent small { color: #6e6455; }
.scope-tabs button[aria-pressed="true"]::after { height: 2px; background: #967340; }
.scope-tabs button span { color: #6f624d; }
.layout-picker button { color: #73644e; }
.layout-picker button[aria-pressed="true"] { background: #e7dcc9; color: #5a4222; }
.network-note { border-color: #c4b292; }
.signature-dock {
  position: fixed; z-index: 20; bottom: max(16px, env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%);
  width: min(580px, calc(100% - 32px)); padding: 6px;
  background: var(--night); color: var(--ivory);
  border: 1px solid #80694260; border-radius: 12px;
  box-shadow: 0 8px 28px #33271426;
}
.signature-dock nav { display: grid; grid-template-columns: repeat(5, 1fr); gap: 3px; }
.signature-dock button {
  position: relative; min-width: 0; min-height: 55px; border-radius: 6px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
  color: #e2dacc; font-size: 11px; font-weight: 500; line-height: 1.2; padding: 6px 2px;
}
.signature-dock svg { width: 20px; height: 20px; stroke-width: 1.7; }
.signature-dock button[aria-current="page"] { color: var(--gold); background: #d8bb8220; box-shadow: inset 0 0 0 1px #d8bb8238; }
.signature-dock .dock-invite { color: var(--gold); }
.signature-dock .dock-invite svg { border: 1px solid #d8bb8280; border-radius: 50%; padding: 2px; width: 21px; height: 21px; }
.signature-dock button:focus-visible, .site-header button:focus-visible, .site-header a:focus-visible { outline-color: var(--gold); outline-offset: 2px; }
.signature-dock button:active { background: #d8bb8233; }
.toast { bottom: 100px; }
.invite-screen { max-width: 1536px; margin: 25px auto 0; }
.invite-copy { background: transparent; }
.invite-image { border-radius: 5px 0 0 5px; }
.invite-accept {
  position: relative; overflow: hidden; isolation: isolate;
}
.button.primary.invite-accept { background: #ddc18e; color: #2f2617; border: 1px solid #c7a66f; }
.invite-accept::after {
  content: ""; pointer-events: none; position: absolute; inset: -50% auto -50% -85%; width: 65%;
  background: linear-gradient(110deg, transparent 10%, #fff9de91 50%, transparent 90%);
  transform: translateX(0); opacity: 0;
}
.invite-accept.has-sheen::after { animation: invitation-light 1100ms linear 1; }
@keyframes invitation-light {
  0% { transform: translateX(0); opacity: 0; }
  15% { opacity: .7; }
  80% { opacity: .7; }
  100% { transform: translateX(310%); opacity: 0; }
}
.invite-benefits span { color: #7c633e; }
dialog { background: var(--surface); }
dialog::backdrop { background: #17171470; }
@media (hover: hover) and (pointer: fine) {
  .site-header .icon-button:hover, .signature-dock button:hover { background: #e2c38b22; color: #fff8e9; }
  .primary-nav button:hover { color: var(--gold); }
  .concept-strip a:hover { text-decoration: underline; text-underline-offset: 4px; }
  .button.primary:hover { background: #433b2e; }
  .button.primary.invite-accept:hover { background: #e4cba0; }
}
@media (min-width: 1537px) { .site-header { margin-inline: auto; } }
@media (max-width: 1200px) {
  .site-header { margin-inline: 20px; }
  .header-inner { padding-inline: 20px; }
  .concept-strip { padding-inline: 32px; }
  .editorial-heading h1 { font-size: 45px; }
}
@media (max-width: 960px) {
  .header-inner { gap: 20px; }
  .primary-nav { gap: 22px; }
  .header-tools { gap: 1px; }
  .self-profile { padding-left: 13px; }
  .editorial-heading h1 { font-size: 41px; }
  .invite-screen { margin-top: 22px; }
}
@media (max-width: 700px) {
  body { padding-bottom: calc(105px + env(safe-area-inset-bottom)); }
  .concept-strip { padding: 10px 20px 9px; min-height: 35px; gap: 8px; justify-content: space-between; font-size: 9px; }
  .concept-strip > span:first-child { display: none; }
  .concept-demo { margin-left: 0; }
  .site-header { height: 79px; margin-inline: 12px; border-radius: 8px; }
  .header-inner { padding: 0 14px; gap: 10px; }
  .brandmark { width: 112px; height: 61px; }
  .primary-nav { display: none; }
  .header-tools { margin-left: auto; gap: 5px; }
  .header-tools .bell-button { display: inline-flex; }
  .header-tools .icon-button { width: 44px; }
  .header-tools .icon-button[data-dialog="message-dialog"] { display: none; }
  .self-profile { min-width: 44px; padding: 0; margin-left: 0; justify-content: center; }
  .self-profile .avatar { width: 34px; height: 34px; }
  .editorial-heading { padding-top: 29px; padding-bottom: 25px; }
  .editorial-heading h1 { font-size: 39px; }
  .heading-aside .button { min-height: 44px; }
  .search-bar { border-radius: 6px; }
  .signature-dock { width: calc(100% - 24px); bottom: max(10px, env(safe-area-inset-bottom)); border-radius: 11px; padding: 5px; }
  .signature-dock nav { gap: 0; }
  .signature-dock button { min-height: 55px; font-size: 10px; gap: 6px; }
  .signature-dock svg { width: 21px; height: 21px; }
  .toast { bottom: calc(90px + env(safe-area-inset-bottom)); }
  .invite-screen { margin-top: 0; }
  .invite-copy { padding: 32px 24px 28px; }
  .invite-copy h1 { font-size: 44px; }
  .invite-image { margin: 0 12px; border-radius: 6px; overflow: hidden; }
  .photo-link, .feature-card .photo-link, .property-card:nth-child(2) .photo-link { height: 256px; }
  .save-button { min-width: 44px; min-height: 44px; }
  .layout-picker button { min-width: 44px; min-height: 44px; }
  .scope-tabs { gap: 14px; }
}
@media (max-width: 370px) {
  .signature-dock { width: calc(100% - 16px); padding-inline: 3px; }
  .signature-dock button { padding-inline: 0; }
  .concept-strip { padding-inline: 16px; font-size: 8px; }
  .editorial-heading h1 { font-size: 35px; }
  .scope-tabs { gap: 10px; }
  .invite-copy { padding-inline: 20px; }
  .invite-copy h1 { font-size: 38px; }
  .photo-link, .feature-card .photo-link, .property-card:nth-child(2) .photo-link { height: 230px; }
}
@media (prefers-reduced-motion: reduce) {
  .invite-accept::after { display: none; }
}

/* ---- catalog-refinement.css ---- */
/* Collection-first composition. Product data stays independent from decorative scenery. */
.catalog-screen .editorial-heading { padding: 32px 0 26px; align-items: center; }
.catalog-screen .editorial-heading h1 { font-size: clamp(32px, 3vw, 46px); line-height: 1.25; margin-top: 12px; letter-spacing: -1.6px; }
.catalog-screen .heading-aside { gap: 25px; align-items: center; }
.catalog-screen .heading-aside p { font-size: 11px; }
.catalog-screen .property-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px;
}
.catalog-screen .collection-card {
  min-width: 0; border: 1px solid #c9baa3; border-radius: 12px;
  background: #fcf9f3; overflow: hidden;
  box-shadow: 0 3px 0 #fff9, 0 10px 25px #523d2306;
}
.catalog-screen .property-visual { border-radius: 0; background: #e3dbce; }
.catalog-screen .photo-link, .catalog-screen .property-card:nth-child(2) .photo-link,
.catalog-screen .property-grid.is-filtered .photo-link {
  height: auto; aspect-ratio: 1.95; min-height: 235px; outline-offset: -5px;
}
.catalog-screen .photo-link img { object-position: center; }
.catalog-screen .photo-link .house-photo { object-position: 50% 63%; }
.property-badges { position: absolute; left: 18px; top: 18px; display: flex; gap: 6px; pointer-events: none; }
.property-kind, .property-ownership {
  display: inline-flex; align-items: center; min-height: 30px; padding: 0 11px; border: 1px solid #fff5;
  border-radius: 5px; background: #fcf9f3f5; color: #3d3528; font-size: 11px; font-weight: 600;
}
.property-ownership { color: #faeed7; background: #29261eea; }
.catalog-screen .save-button {
  top: 14px; right: 14px; width: 44px; height: 44px;
  background: #fcf9f3f5; color: #32291b; border: 1px solid #bca67f; border-radius: 7px;
}
.catalog-screen .save-button svg { width: 19px; height: 19px; }
.catalog-screen .save-button[aria-pressed="true"] { background: #29261e; color: #e8cb93; border-color: #29261e; }
.property-photo-note {
  position: absolute; bottom: 16px; left: 18px; color: #fef9ed; background: #22221ee8;
  padding: 7px 11px; border-radius: 5px; font-size: 10px; border: 1px solid #ffffff24; pointer-events: none;
}
.photo-pager {
  position: absolute; bottom: 12px; right: 14px; display: flex; align-items: center; gap: 0;
  border-radius: 7px; background: #fcf9f3f7; color: #32291b; border: 1px solid #bca67f; overflow: hidden;
}
.photo-pager button { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 0; padding: 0; }
.photo-pager button:focus-visible { outline-offset: -4px; }
.photo-pager svg { width: 17px; height: 17px; }
.photo-count { font-size: 11px; min-width: 35px; text-align: center; font-variant-numeric: tabular-nums; }
.catalog-screen .property-info { background: #fcf9f3; padding: 21px 24px 0; }
.property-price-row { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 6px 12px; }
.catalog-screen .property-price { font-size: 27px; line-height: 1.2; letter-spacing: -.8px; font-weight: 600; color: #2b2821; }
.catalog-screen .property-price span { font-size: 16px; color: #5f5341; font-weight: 500; }
.price-per-meter { font-size: 11px; line-height: 1.5; white-space: nowrap; color: #746550; font-variant-numeric: tabular-nums; }
.catalog-screen .property-title {
  font-family: var(--serif); font-size: 24px; font-weight: 400; line-height: 1.4; letter-spacing: -.7px;
  max-width: 100%; margin-top: 12px; padding: 0; color: #332c22;
}
.property-location { display: flex; gap: 7px; align-items: center; margin-top: 7px; font-size: 12px; line-height: 1.6; color: #726450; }
.property-location svg { width: 14px; height: 14px; }
.property-facts { display: flex; flex-wrap: wrap; gap: 7px; margin: 17px 0 19px; }
.property-facts > span { display: flex; align-items: baseline; gap: 4px; padding: 7px 10px; background: #f0e9dc; border-radius: 4px; font-size: 11px; color: #625139; }
.property-facts strong { font-weight: 600; color: #3e3527; }
.catalog-screen .property-agent {
  margin: 0 -24px; padding: 12px 16px 13px; border-top: 1px solid #dfd3c1;
  background: #f6f0e6; min-height: 77px; gap: 12px;
}
.catalog-screen .property-agent .agent-link { min-height: 46px; padding: 3px 7px; gap: 10px; flex: 1; min-width: 0; }
.catalog-screen .property-agent .avatar { width: 35px; height: 35px; }
.catalog-screen .property-agent .agent-link > span:last-child { font-size: 12px; line-height: 1.5; }
.catalog-screen .property-agent small { display: block; margin: 3px 0 0; font-size: 10px; color: #74634a; }
.catalog-screen .property-agent .card-open { font-size: 11px; min-height: 46px; padding: 0 16px; gap: 17px; flex: none; background: #fcf9f3; }
.catalog-screen .card-open svg { width: 17px; height: 17px; }
.active-filters { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 13px; }
.filter-chip {
  min-height: 36px; display: inline-flex; align-items: center; gap: 11px; max-width: 100%;
  border: 1px solid #b9a383; background: #f8f0e2; color: #5c4628; border-radius: 5px; font-size: 11px; padding: 6px 11px;
}
.filter-chip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.filter-chip svg { width: 13px; height: 13px; }
.filter-count { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; font-size: 10px; border-radius: 4px; background: #302a20; color: #f3dcaf; }
.catalog-screen .property-grid[data-layout="list"] { display: flex; flex-direction: column; gap: 20px; }
.catalog-screen .property-grid[data-layout="list"] .property-card {
  display: grid; grid-template-columns: minmax(290px, 38%) 1fr; gap: 0; padding: 0; border: 1px solid #c9baa3;
}
.catalog-screen .property-grid[data-layout="list"] .property-visual { height: 100%; }
.catalog-screen .property-grid[data-layout="list"] .photo-link { height: 100%; min-height: 320px; aspect-ratio: auto; }
.catalog-screen .property-grid[data-layout="list"] .property-info { align-self: stretch; display: flex; flex-direction: column; padding-top: 22px; min-width: 0; }
.catalog-screen .property-grid[data-layout="list"] .property-price { font-size: 27px; }
.catalog-screen .property-grid[data-layout="list"] .property-title { font-size: 24px; max-width: 100%; }
.catalog-screen .property-grid[data-layout="list"] .property-agent { margin-top: auto; }
@media (hover: hover) and (pointer: fine) {
  .catalog-screen .collection-card:hover { border-color: #aa8b5b; }
  .catalog-screen h2.property-title:hover { text-decoration: none; }
  .photo-pager button:hover, .filter-chip:hover { background: #e9dcc4; }
  .catalog-screen .photo-link:hover { opacity: 1; }
}
.photo-pager button:active, .filter-chip:active { background: #ddc8a3; }
@media (max-width: 1100px) {
  .catalog-screen .heading-aside p { display: none; }
  .catalog-screen .property-grid { gap: 20px; }
  .catalog-screen .property-info { padding: 18px 18px 0; }
  .catalog-screen .property-agent { margin-inline: -18px; padding: 11px 10px; gap: 7px; }
  .catalog-screen .property-agent .card-open { padding-inline: 11px; gap: 8px; }
  .catalog-screen .property-price { font-size: 24px; }
  .catalog-screen .property-title { font-size: 22px; }
  .price-per-meter { font-size: 10px; }
}
@media (max-width: 760px) {
  .catalog-screen .property-grid { grid-template-columns: 1fr; gap: 24px; }
  .catalog-screen .editorial-heading { padding: 24px 0 22px; display: block; }
  .catalog-screen .editorial-heading h1 { font-size: 36px; max-width: 470px; margin-top: 12px; }
  .catalog-screen .heading-aside { margin-top: 18px; justify-content: space-between; }
  .catalog-screen .heading-aside p { display: block; font-size: 11px; }
  .catalog-screen .photo-link, .catalog-screen .property-card:nth-child(2) .photo-link,
  .catalog-screen .property-grid.is-filtered .photo-link { min-height: 240px; aspect-ratio: 1.5; }
  .catalog-screen .property-info { padding: 19px 18px 0; }
  .catalog-screen .property-price { font-size: 25px; }
  .catalog-screen .property-price span { font-size: 14px; }
  .catalog-screen .property-title { font-size: 23px; }
  .catalog-screen .property-location { font-size: 11px; }
  .catalog-screen .property-facts { gap: 6px; margin: 16px 0 18px; }
  .catalog-screen .property-facts > span { padding: 7px 9px; font-size: 10px; }
  .property-badges { left: 12px; top: 12px; }
  .property-kind, .property-ownership { font-size: 10px; padding-inline: 9px; }
  .catalog-screen .save-button { top: 10px; right: 10px; }
  .property-photo-note { left: 12px; bottom: 12px; font-size: 9px; }
  .photo-pager { right: 10px; bottom: 9px; }
  .photo-pager button { width: 40px; height: 44px; }
  .photo-count { min-width: 30px; }
  .catalog-screen .property-agent { padding: 11px 10px; min-height: 76px; }
  .catalog-screen .property-agent .agent-link { padding: 3px 5px; gap: 8px; }
  .catalog-screen .property-agent .agent-link > span:last-child { font-size: 11px; }
  .catalog-screen .property-agent .card-open { padding-inline: 12px; font-size: 11px; gap: 8px; }
  .filter-chip { min-height: 44px; }
  .catalog-screen .property-grid[data-layout="list"] .property-card { grid-template-columns: 115px 1fr; }
  .catalog-screen .property-grid[data-layout="list"] .photo-link { min-height: 100%; height: 100%; }
  .catalog-screen .property-grid[data-layout="list"] .property-badges,
  .catalog-screen .property-grid[data-layout="list"] .property-photo-note,
  .catalog-screen .property-grid[data-layout="list"] .photo-pager { display: none; }
  .catalog-screen .property-grid[data-layout="list"] .property-info { padding: 14px 12px 0; }
  .catalog-screen .property-grid[data-layout="list"] .property-price { font-size: 18px; }
  .catalog-screen .property-grid[data-layout="list"] .property-price span { font-size: 10px; }
  .catalog-screen .property-grid[data-layout="list"] .price-per-meter { display: none; }
  .catalog-screen .property-grid[data-layout="list"] .property-title { font-size: 17px; line-height: 1.35; margin-top: 9px; }
  .catalog-screen .property-grid[data-layout="list"] .property-location { font-size: 10px; gap: 4px; }
  .catalog-screen .property-grid[data-layout="list"] .property-location svg { display: none; }
  .catalog-screen .property-grid[data-layout="list"] .property-facts { gap: 4px; margin: 10px 0; }
  .catalog-screen .property-grid[data-layout="list"] .property-facts > span { font-size: 9px; padding: 5px; }
  .catalog-screen .property-grid[data-layout="list"] .property-facts > span:last-child { display: none; }
  .catalog-screen .property-grid[data-layout="list"] .property-agent { margin-inline: -12px; padding: 8px; }
  .catalog-screen .property-grid[data-layout="list"] .agent-link { display: none; }
  .catalog-screen .property-grid[data-layout="list"] .card-open { flex: 1; }
}
@media (max-width: 370px) {
  .catalog-screen .editorial-heading h1 { font-size: 32px; }
  .catalog-screen .heading-aside p { font-size: 9px; }
  .catalog-screen .property-info { padding-inline: 14px; }
  .catalog-screen .property-agent { margin-inline: -14px; }
  .catalog-screen .property-price { font-size: 23px; }
  .catalog-screen .price-per-meter { font-size: 9px; }
  .catalog-screen .property-title { font-size: 21px; }
  .catalog-screen .property-agent .avatar { width: 30px; height: 30px; }
  .catalog-screen .property-agent .agent-link > span:last-child { font-size: 10px; }
  .catalog-screen .property-agent small { font-size: 9px; }
  .catalog-screen .property-agent .card-open { padding-inline: 9px; font-size: 10px; gap: 5px; }
}

/* ---- controls-refinement.css ---- */
/* Signature only: a tactile, readable control system. No new motion. */
:root {
  --control-border: #c5b69f;
  --control-fill: #fcf9f3;
  --control-hover: #eee4d3;
  --control-dark-border: #625642;
}

.primary-nav { gap: 7px; }
.primary-nav button {
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid var(--control-dark-border);
  border-radius: 6px;
  color: #e5dccd;
  background: #ffffff04;
}
.primary-nav button[aria-current="page"] {
  border-color: #b29868;
  background: #dfc5921c;
  color: #f0d7a4;
}
.primary-nav button[aria-current="page"]::after { display: none; }
.header-tools { gap: 7px; }
.header-tools .icon-button,
.header-tools .self-profile {
  min-width: 44px;
  min-height: 44px;
  border: 1px solid var(--control-dark-border);
  border-radius: 6px;
  background: #ffffff04;
}
.header-tools .self-profile { margin-left: 0; padding: 5px 10px 5px 5px; }
.signature-dock nav { gap: 5px; }
.signature-dock button {
  border: 1px solid #63543d;
  background: #ffffff03;
}
.signature-dock button[aria-current="page"] {
  border-color: #ad9261;
  background: #dfc59224;
  box-shadow: none;
}

.button, .text-button, .icon-button, .primary-nav button,
.signature-dock button, .scope-tabs button, .self-profile,
.filter-disclosure summary, .property-agent > button {
  transition: none;
}
.button.secondary, .text-button,
.section-breadcrumb button, .profile-facts button,
.property-agent > button:first-child,
.property-agent > .icon-button, dialog .dialog-close, #detail-save {
  min-height: 44px;
  border: 1px solid var(--control-border);
  border-radius: 6px;
  background: var(--control-fill);
  color: #403527;
}
.text-button {
  padding: 9px 15px;
  justify-content: center;
  font-size: 12px;
  text-decoration: none;
}
.section-breadcrumb button { padding: 0 14px; }
.profile-facts button { padding: 7px 10px; text-decoration: none; }
.property-agent > button:first-child {
  padding: 6px 9px;
  min-width: 0;
  gap: 9px;
}
.property-agent > button:first-child > span:last-child { min-width: 0; }
.property-agent > .icon-button, dialog .dialog-close, #detail-save { min-width: 44px; }
#detail-save[aria-pressed="true"] { background: var(--strong); border-color: var(--strong); color: var(--ivory); }
.property-agent .text-button { flex: none; font-size: 12px; }
.network-note > .text-button,
.profile-selection > .text-button,
.invite-copy > .text-button { font-size: 12px; }

.search-bar {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 164px 190px 124px;
  gap: 10px;
  padding: 12px;
  min-height: 88px;
  border: 1px solid #c9baa2;
  border-radius: 10px;
  background: #f3ede2;
  box-shadow: none;
}
.search-field, .quick-select {
  min-width: 0;
  min-height: 60px;
  border: 1px solid var(--control-border);
  border-radius: 6px;
  background: var(--control-fill);
}
.search-field { padding: 0 16px; gap: 11px; }
.search-field input { height: 56px; font-size: 13px; }
.quick-select { position: relative; padding: 0; gap: 0; }
.quick-select > span { position: absolute; top: 9px; left: 13px; pointer-events: none; font-size: 9px; letter-spacing: .08em; color: #6b5d4a; }
.quick-select select {
  min-width: 0;
  width: 100%;
  min-height: 60px;
  padding: 14px 13px 0;
  font-size: 13px;
  color: #30291f;
}
.filter-disclosure { margin: 0; min-width: 0; align-self: stretch; }
.filter-disclosure summary {
  min-height: 60px;
  height: 100%;
  justify-content: center;
  gap: 6px;
  padding: 10px;
  border: 1px solid #b79b6e;
  border-radius: 6px;
  background: #e9dcc4;
  color: #493719;
  font-weight: 600;
  font-size: 12px;
}
.filter-disclosure summary span { display: inline; }
.filter-disclosure summary > svg { width: 18px; height: 18px; }
.filter-disclosure summary .filter-count { display: inline-flex; min-width: 18px; height: 18px; flex: none; align-items: center; justify-content: center; }
.filter-disclosure[open] summary {
  background: var(--strong);
  color: var(--ivory);
  border-color: var(--strong);
}
.filter-popover { right: 0; z-index: 5; }
.filter-popover select, .filter-popover input { min-height: 44px; }
.filter-popover .text-button { width: 100%; }

.catalog-toolbar { flex-wrap: wrap; gap: 14px 20px; margin: 22px 0 24px; }
.scope-tabs { gap: 7px; }
.scope-tabs button {
  min-height: 44px;
  padding: 9px 15px;
  border: 1px solid var(--control-border);
  border-radius: 6px;
  background: var(--control-fill);
  color: #655744;
  font-size: 12px;
  font-weight: 600;
}
.scope-tabs button[aria-pressed="true"] {
  background: var(--strong);
  color: var(--ivory);
  border-color: var(--strong);
}
.scope-tabs button[aria-pressed="true"]::after { display: none; }
.scope-tabs button span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 19px;
  min-height: 19px;
  padding: 1px 5px;
  margin-left: 5px;
  border-radius: 4px;
  background: #e9dfcf;
  color: #5f4d33;
  font-size: 10px;
}
.scope-tabs button[aria-pressed="true"] span { background: #f3dfb52a; color: #f1d9ad; }
.view-tools { gap: 9px; margin-left: auto; }
.sort-field { display: block; }
.sort-field select {
  width: 100%;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--control-border);
  border-radius: 6px;
  background: var(--control-fill);
  color: #5a4c38;
  font-size: 12px;
}
.layout-picker { gap: 5px; }
.layout-picker button {
  display: inline-flex;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  border: 1px solid var(--control-border);
  border-radius: 6px;
  background: var(--control-fill);
  color: #6a583d;
}
.layout-picker button[aria-pressed="true"] {
  border-color: #a68859;
  background: #e4d4b9;
  color: #3f2e15;
}
.layout-picker svg { width: 19px; height: 19px; }

.search-bar :is(input, select, summary):focus-visible,
.text-button:focus-visible, .button:focus-visible,
.scope-tabs button:focus-visible, .layout-picker button:focus-visible,
.sort-field select:focus-visible, .property-agent button:focus-visible,
.profile-facts button:focus-visible {
  outline: 2px solid #7b5625;
  outline-offset: 3px;
}
.quick-select:focus-within { border-color: #7b5625; }
.site-header :is(button, a):focus-visible,
.signature-dock button:focus-visible { outline: 2px solid #efd49d; outline-offset: 3px; }
.text-button:active, .scope-tabs button:active,
.property-agent > button:active, .layout-picker button:active {
  box-shadow: inset 0 0 0 1px currentColor;
}

@media (hover: hover) and (pointer: fine) {
  .site-header .primary-nav button:hover,
  .site-header .header-tools button:hover,
  .signature-dock button:hover {
    background: #d8bb8228;
    border-color: #a98e5c;
    color: #f7e9cd;
  }
  .text-button:hover, .button.secondary:hover,
  .scope-tabs button:not([aria-pressed="true"]):hover,
  .layout-picker button:not([aria-pressed="true"]):hover,
  .property-agent > button:first-child:hover,
  .property-agent > .icon-button:hover,
  .profile-facts button:hover, .section-breadcrumb button:hover,
  dialog .dialog-close:hover {
    background: var(--control-hover);
    border-color: #a88b5c;
    color: #493416;
  }
  .filter-disclosure:not([open]) summary:hover {
    background: #e1cdaa;
    border-color: #9c7842;
  }
  .filter-disclosure[open] summary:hover { background: #433b2e; color: var(--ivory); }
}

@media (max-width: 1200px) {
  .primary-nav { gap: 6px; }
  .primary-nav button { padding-inline: 12px; }
  .header-inner { gap: 20px; }
  .search-bar { grid-template-columns: minmax(180px, 1fr) 146px 165px 114px; }
}
@media (max-width: 960px) {
  .primary-nav button { padding-inline: 10px; font-size: 11px; }
  .header-tools .self-profile { padding: 4px; }
  .header-inner { gap: 12px; }
  .search-bar { grid-template-columns: 1fr 1.15fr 124px; }
  .search-field { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .header-inner { gap: 10px; }
  .header-tools .self-profile { min-width: 44px; min-height: 44px; padding: 4px; }
  .signature-dock nav { gap: 4px; }
  .signature-dock button { font-size: 10px; }
  .search-bar { grid-template-columns: 1fr 1fr; padding: 9px; gap: 8px; }
  .search-field { min-height: 52px; padding-inline: 12px; }
  .search-field input { height: 48px; font-size: 14px; }
  .quick-select { padding: 0; min-height: 65px; }
  .quick-select > span { left: 11px; }
  .quick-select select { font-size: 16px; min-height: 63px; padding-inline: 11px; }
  .filter-disclosure { grid-column: 1 / -1; }
  .filter-disclosure summary { min-height: 44px; }
  .filter-disclosure summary span { display: inline; }
  .filter-popover { width: 100%; }
  .catalog-toolbar { gap: 12px; margin: 16px 0 22px; }
  .scope-tabs { width: 100%; flex: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .scope-tabs button { min-width: 0; padding: 8px 6px; font-size: 11px; line-height: 1.4; }
  .scope-tabs button span { min-width: 16px; margin-left: 3px; padding-inline: 4px; font-size: 9px; }
  .view-tools { width: 100%; margin-left: 0; gap: 9px; }
  .sort-field { display: block; min-width: 0; flex: 1; }
  .sort-field select { font-size: 12px; }
  .layout-picker { flex: none; gap: 5px; }
  .layout-picker button:last-child { display: inline-flex; }
  .property-agent > button:first-child { font-size: 11px; padding-inline: 7px; }
  .property-agent .text-button { font-size: 11px; padding-inline: 11px; }
  .network-note > .text-button,
  .profile-selection > .text-button { font-size: 11px; padding-inline: 11px; }
  .profile-facts button { font-size: 10px; padding: 6px; }
}
@media (max-width: 370px) {
  .signature-dock nav { gap: 3px; }
  .signature-dock button { font-size: 9px; }
  .scope-tabs button { font-size: 10px; padding-inline: 4px; }
  .scope-tabs button span { min-width: 15px; padding-inline: 3px; }
}

/* ---- chat.css ---- */
/* A correspondence room: warm paper, architectural lines, quiet product controls. */
.chat-screen { padding-bottom: 28px; }
.chat-page-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; padding: 29px 0 23px; }
.chat-page-heading h1 { font-family: var(--serif); font-size: 38px; line-height: 1.3; letter-spacing: -1.2px; margin-top: 8px; }
.chat-page-heading .eyebrow { font-size: 9px; }
.chat-demo-notice { display: flex; align-items: center; gap: 8px; padding-bottom: 6px; font-size: 11px; color: #6b5c48; }
.chat-demo-notice > span { width: 5px; height: 5px; background: #9b7d48; border-radius: 50%; }
.chat-workspace { display: grid; grid-template-columns: 300px minmax(0,1fr); height: min(740px, calc(100dvh - 378px)); min-height: 470px; border: 1px solid #c9bdab; border-radius: 12px; overflow: hidden; background: #fcf9f3; box-shadow: 0 15px 38px #51402a09; }
.chat-inbox { display: flex; flex-direction: column; min-width: 0; background: #faf7f0; border-right: 1px solid #d9cebd; }
.chat-inbox-intro { display: flex; align-items: center; justify-content: space-between; padding: 25px 22px 17px; }
.chat-inbox-intro strong { font-size: 13px; font-weight: 600; }
.chat-inbox-intro > span { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid #d8cbb5; border-radius: 50%; color: #756142; font-size: 11px; }
.chat-inbox-search { display: flex; gap: 10px; align-items: center; margin: 0 16px 17px; padding: 0 12px; border: 1px solid #cebfaa; border-radius: 6px; background: #fffdf8; }
.chat-inbox-search svg { width: 17px; color: #796b55; }
.chat-inbox-search input { width: 100%; min-width: 0; height: 45px; border: 0; background: transparent; font-size: 12px; }
.chat-inbox-search input::placeholder { color: #756d60; }
.chat-inbox-list { overflow-y: auto; }
.chat-inbox-item { display: grid; grid-template-columns: 44px minmax(0,1fr); align-items: center; gap: 12px; width: calc(100% - 16px); padding: 18px 13px; margin: 0 8px 4px; text-align: left; border: 1px solid transparent; border-radius: 7px; }
.chat-inbox-item[aria-pressed="true"] { border-color: #d3bf9b; background: #eae0cf; }
.chat-inbox-text { min-width: 0; display: block; }
.chat-inbox-name { display: block; font-size: 12px; font-weight: 600; margin-bottom: 5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chat-inbox-subject { display: block; font-size: 10px; line-height: 1.5; color: #7b6545; margin-bottom: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chat-start-state { max-width: 340px; padding: 30px 20px; margin: 15px auto; text-align: center; color: #715b3b; }
.chat-start-state > svg { width: 32px; height: 32px; margin-bottom: 15px; }
.chat-start-state h3 { font-family: var(--serif); font-size: 23px; font-weight: 400; line-height: 1.5; margin-bottom: 10px; }
.chat-start-state p { font-size: 12px; line-height: 1.9; }
.chat-contact-name h2[tabindex]:focus { outline: none; }
.chat-inbox-preview { display: block; font-size: 11px; line-height: 1.7; color: #6c6254; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chat-avatar { display: inline-grid; place-items: center; width: 44px; height: 44px; flex: none; border-radius: 50%; overflow: hidden; background: #e6dbca; color: #6a5438; font-size: 13px; font-weight: 600; }
.chat-avatar img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
.chat-inbox-empty { padding: 22px; color: #716758; font-size: 12px; line-height: 1.8; }
.chat-inbox-foot { margin-top: auto; padding: 28px 23px; display: flex; align-items: center; gap: 14px; }
.chat-small-monogram { font-family: var(--serif); font-size: 34px; color: #9b7c48; }
.chat-inbox-foot p { font-family: var(--serif); font-size: 13px; line-height: 1.8; color: #897356; }
.chat-conversation { display: flex; flex-direction: column; min-width: 0; min-height: 0; position: relative; }
.chat-contact-header { display: flex; gap: 13px; align-items: center; padding: 15px 23px; border-bottom: 1px solid #ddd2c1; background: #fffdf8; }
.chat-contact-name { flex: 1; min-width: 0; }
.chat-contact-name h2 { font-family: var(--sans); font-size: 14px; font-weight: 600; line-height: 1.5; }
.chat-contact-name p { font-size: 10px; color: #746a5c; margin-top: 4px; }
.chat-icon-button { display: inline-grid; place-items: center; width: 44px; height: 44px; flex: none; padding: 0; border: 1px solid #cdbfa8; border-radius: 7px; color: #665236; background: #fcf9f2; cursor: pointer; }
.chat-icon-button svg { width: 19px; height: 19px; }
.chat-icon-button:active, .chat-send-button:active { transform: scale(.97); }
.chat-mobile-back { display: none; }
.chat-contact-menu { position: relative; }
.chat-contact-menu summary { list-style: none; }
.chat-contact-menu summary::-webkit-details-marker { display: none; }
.chat-contact-menu > div { position: absolute; z-index: 5; top: 51px; right: 0; width: 220px; border: 1px solid #d3c5ae; background: #fffdf7; box-shadow: 0 10px 28px #46351b17; border-radius: 8px; padding: 5px; }
.chat-contact-menu > div button { min-height: 44px; width: 100%; padding: 9px 12px; text-align: left; font-size: 12px; border: 1px solid transparent; border-radius: 4px; }
.chat-thread-search { display: flex; align-items: center; gap: 8px; padding: 10px 20px; background: #faf6ee; border-bottom: 1px solid #ddd2c1; }
.chat-thread-search label { flex: 1; min-width: 0; }
.chat-thread-search input { height: 44px; width: 100%; background: #fffdf8; border: 1px solid #ccbea8; border-radius: 5px; padding: 0 12px; font-size: 12px; }
.chat-thread-search > span { font-size: 10px; color: #6c604e; white-space: nowrap; }
.chat-property-pin { display: flex; align-items: center; gap: 13px; border: 1px solid #d6c8b1; border-radius: 7px; margin: 14px 22px 0; padding: 8px; text-align: left; background: #fcfaf5; flex-shrink: 0; position: relative; z-index: 1; }
.chat-property-pin > img { width: 72px; height: 56px; object-fit: cover; border-radius: 3px; flex: none; }
.chat-property-pin > span { display: grid; gap: 3px; min-width: 0; }
.chat-property-pin small { font-size: 9px; color: #7b6748; }
.chat-property-pin strong { font-size: 12px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chat-property-pin span > span { font-size: 10px; color: #6e6353; }
.chat-property-pin > svg { margin-left: auto; margin-right: 9px; width: 16px; }
.chat-message-scroll { flex: 1; min-height: 70px; padding: 17px 28px 22px; overflow-y: auto; overscroll-behavior: contain; background-color: #f1eadf; background-image: linear-gradient(100deg,#f3ece1d9,#f3ece160),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='620' height='480' viewBox='0 0 620 480'%3E%3Cg fill='none' stroke='%23b39a72' stroke-opacity='.28' stroke-width='.7'%3E%3Cpath d='M418 457V93h145v364M431 457V112h119v345M448 457V137h85v320M448 221h85M448 281h85M448 342h85M383 457h215M408 75h165M408 65v20m165-20v20M391 93v364m-8-364h16m-16 364h16M41 181h168v134H41zM54 194h141v106H54zM126 194v106M54 249h72M144 214h34v58h-34zM19 339h212m-190-8v16m168-16v16M76 32l92 53-92 53-92-53zM76 32v106M-16 85h184M300 341v-78a50 50 0 0 1 100 0v78M307 341v-78a43 43 0 0 1 86 0v78M286 355h128M348 181v193M26 417h233m-220-12v24m210-24v24'/%3E%3C/g%3E%3C/svg%3E"); background-position: center, right center; background-size: auto, 620px 480px; }
.chat-day-divider { display: flex; align-items: center; justify-content: center; margin-bottom: 23px; }
.chat-day-divider > span { border: 1px solid #dcd0bc; border-radius: 20px; padding: 6px 13px; background: #f8f3e9e6; font-size: 9px; letter-spacing: .03em; color: #7c694b; }
.chat-messages { display: flex; flex-direction: column; gap: 16px; max-width: 850px; margin-inline: auto; }
.chat-message-row { display: flex; align-items: flex-end; gap: 8px; max-width: 87%; align-self: flex-start; }
.chat-message-row.is-own { align-self: flex-end; flex-direction: row-reverse; }
.chat-bubble { border: 1px solid #d5c9b7; border-radius: 11px 11px 11px 2px; background: #fffdf8; padding: 12px 15px 8px; box-shadow: 0 2px 4px #54412a03; min-width: 80px; overflow-wrap: anywhere; }
.chat-message-row.is-own .chat-bubble { border-color: #cdb78f; border-radius: 11px 11px 2px 11px; background: #e6d5b5; }
.chat-bubble p { font-size: 14px; line-height: 1.75; white-space: pre-wrap; }
.chat-message-time { display: block; text-align: right; margin-top: 5px; font-size: 9px; color: #786a52; }
.chat-message-row.is-own .chat-message-time { color: #6b593c; }
.chat-reply-button { border-color: #d1c3ad; background: #f9f5ec; width: 44px; height: 44px; border-radius: 50%; color: #76603d; }
.chat-reply-button svg { width: 15px; height: 15px; }
.chat-quoted-message { display: block; margin: 0 0 8px; padding: 6px 9px; border-left: 2px solid #9c7b46; background: #a0835310; color: #6b5534; font-size: 11px; line-height: 1.65; overflow-wrap: anywhere; }
.chat-bubble mark { background: #ead08a; color: #372a13; padding: 1px 0; }
.chat-message-row.is-match-current .chat-bubble { outline: 2px solid #a5854f; outline-offset: 3px; }
.chat-composer { margin: 0; padding: 14px 20px 11px; background: #fffdf8; border-top: 1px solid #d7cbb9; flex: none; }
.chat-composer-row { display: flex; align-items: flex-end; gap: 10px; }
.chat-compose-field { flex: 1; min-width: 0; }
.chat-compose-field textarea { display: block; width: 100%; height: 46px; max-height: 122px; min-height: 46px; padding: 13px 14px; border: 1px solid #c7b89e; border-radius: 7px; resize: none; line-height: 1.5; font-size: 12px; background: #fcf9f2; overflow-y: auto; }
.chat-compose-field textarea::placeholder { color: #827360; }
.chat-send-button { display: grid; place-items: center; width: 46px; height: 46px; flex: none; border: 1px solid #24221c; border-radius: 7px; background: #29261f; color: #ead1a0; }
.chat-send-button:disabled { background: #eee7da; color: #a3957f; border-color: #d5cbb8; }
.chat-send-button svg { width: 20px; height: 20px; }
.chat-composer-foot { display: flex; justify-content: space-between; gap: 12px; font-size: 8px; line-height: 1.8; color: #746b5e; margin: 8px 0 0 54px; }
.chat-keyboard-hint { color: #827563; }
.chat-feedback { flex: none; background: #eee3d0; color: #59492e; font-size: 11px; line-height: 1.6; }
.chat-feedback:not(:empty) { padding: 9px 20px; border-top: 1px solid #d0bc98; }
.chat-reply-preview { display: flex; justify-content: space-between; gap: 12px; align-items: center; border-left: 2px solid #a28248; padding: 3px 0 3px 12px; margin-bottom: 10px; }
.chat-reply-preview > div { min-width: 0; }
.chat-reply-preview small { font-size: 9px; color: #806741; }
.chat-reply-preview p { font-size: 11px; color: #6e614c; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 550px; margin-top: 4px; }
.chat-reply-preview .chat-icon-button { width: 44px; height: 44px; }
.chat-attachment-preview { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; max-height: 120px; overflow-y: auto; }
.chat-attachment-chip { display: flex; align-items: center; gap: 8px; padding: 5px 5px 5px 8px; border: 1px solid #d4c5ad; border-radius: 5px; min-width: 0; max-width: 280px; background: #f8f1e5; }
.chat-attachment-chip > img { width: 40px; height: 40px; object-fit: cover; border-radius: 3px; }
.chat-attachment-chip > span { min-width: 0; font-size: 10px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }
.chat-attachment-chip button { width: 44px; height: 44px; }
.chat-file-item { display: block; margin: 8px 0 3px; color: #584327; }
.chat-file-item img { max-height: 160px; max-width: 220px; object-fit: cover; border-radius: 5px; margin-bottom: 7px; }
.chat-file-item a { display: flex; align-items: center; gap: 8px; min-height: 44px; font-size: 11px; line-height: 1.6; text-underline-offset: 4px; overflow-wrap: anywhere; }
.chat-file-item a svg { width: 15px; flex: none; }
.chat-files-panel { position: absolute; z-index: 4; inset: 74px 0 0; padding: 20px; background: #fcf8f0; overflow-y: auto; }
.chat-files-panel > div:first-child { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-bottom: 13px; border-bottom: 1px solid #d9ccb8; }
.chat-files-panel strong { font-size: 13px; }
#chat-shared-files > p { margin-top: 22px; font-size: 12px; line-height: 1.8; color: #746651; }
#chat-shared-files .chat-file-item { border-bottom: 1px solid #d9ccb8; padding-block: 10px; }
.chat-inbox-item:focus-visible,.chat-icon-button:focus-visible,.chat-property-pin:focus-visible { outline-offset: -3px; }
@media (hover: hover) and (pointer: fine) {
  .chat-inbox-item:hover { background: #f0e8db; border-color: #dbc9aa; }
  .chat-inbox-item[aria-pressed="true"]:hover { background: #eae0cf; }
  .chat-icon-button:hover,.chat-contact-menu > div button:hover { background: #ece0ca; }
  .chat-property-pin:hover { background: #f3eadc; border-color: #ad9263; }
  .chat-reply-button { opacity: 0; }
  .chat-message-row:hover .chat-reply-button,.chat-message-row:focus-within .chat-reply-button { opacity: 1; }
}
@media (max-width: 1100px) { .chat-workspace { grid-template-columns: 260px minmax(0,1fr); }.chat-keyboard-hint { display: none; }.chat-contact-header { padding-inline: 17px; }.chat-message-scroll { padding-inline: 19px; }.chat-property-pin { margin-inline: 16px; }.chat-message-row { max-width: 97%; } }
@media (max-width: 760px) {
  .chat-screen { padding-inline: 16px; padding-bottom: 10px; }
  .chat-page-heading { padding: 23px 3px 17px; align-items: center; gap: 12px; }
  .chat-page-heading h1 { font-size: 31px; margin-top: 0; }
  .chat-page-heading .eyebrow { display: none; }
  .chat-demo-notice { font-size: 9px; line-height: 1.7; padding: 0; max-width: 152px; }
  .chat-demo-notice > span { flex: none; }
  .chat-workspace { display: block; height: calc(100dvh - 285px); min-height: 440px; border-radius: 9px; }
  .chat-inbox { height: 100%; border-right: 0; }
  .chat-inbox-intro { padding: 20px 20px 15px; }
  .chat-inbox-intro strong { font-size: 14px; }
  .chat-inbox-name { font-size: 14px; }
  .chat-inbox-preview { font-size: 12px; }
  .chat-inbox-item { padding: 18px 14px; }
  .chat-inbox-search input { font-size: 16px; }
  .chat-inbox-search input::placeholder { font-size: 13px; }
  .chat-conversation { display: none; height: 100%; }
  .chat-workspace.is-conversation .chat-inbox { display: none; }
  .chat-workspace.is-conversation .chat-conversation { display: flex; }
  .chat-contact-header { gap: 8px; padding: 10px; }
  .chat-mobile-back { display: inline-grid; }
  .chat-contact-header > .chat-avatar { display: none; }
  .chat-contact-name h2 { font-size: 12px; }
  .chat-contact-name p { font-size: 8px; margin-top: 3px; }
  .chat-contact-header .chat-icon-button { width: 44px; height: 44px; }
  .chat-contact-header .chat-contact-menu { display: block; }
  .chat-property-pin { gap: 9px; margin: 8px 9px 0; padding: 6px; border-radius: 5px; }
  .chat-property-pin > img { width: 52px; height: 49px; }
  .chat-property-pin strong { font-size: 10px; }
  .chat-property-pin small { font-size: 8px; }
  .chat-property-pin span > span { font-size: 9px; }
  .chat-property-pin > svg { margin-right: 1px; width: 13px; }
  .chat-message-scroll { padding: 14px 10px 15px; background-size: auto, 500px 387px; }
  .chat-messages { gap: 12px; }
  .chat-day-divider { margin-bottom: 17px; }
  .chat-message-row { max-width: 100%; gap: 4px; }
  .chat-bubble { padding: 10px 12px 7px; }
  .chat-bubble p { font-size: 14px; line-height: 1.7; }
  .chat-reply-button { background: #f6f0e6bd; }
  .chat-message-time { font-size: 8px; }
  .chat-composer { padding: 10px 9px 7px; }
  .chat-composer-row { gap: 6px; }
  .chat-compose-field textarea { font-size: 16px; padding: 11px 10px; }
  .chat-compose-field textarea::placeholder { font-size: 12px; }
  .chat-composer-foot { font-size: 9px; line-height: 1.7; margin: 7px 0 0; text-align: center; justify-content: center; }
  .chat-thread-search { gap: 5px; padding: 8px; flex-wrap: wrap; }
  .chat-thread-search input { font-size: 16px; }
  .chat-thread-search input::placeholder { font-size: 11px; }
  .chat-thread-search > span { font-size: 9px; }
  .chat-thread-search .chat-icon-button { width: 44px; }
  .chat-thread-search label { min-width: 100px; }
  .chat-reply-preview p { max-width: 210px; }
  .chat-feedback:not(:empty) { padding: 7px 10px; font-size: 10px; }
  .chat-file-item img { max-width: 170px; max-height: 120px; }
  .chat-attachment-chip { max-width: 100%; }
}
@media (max-width: 370px) {
  .chat-contact-header { gap: 5px; padding-inline: 8px; }
  .chat-contact-name h2 { font-size: 11px; }
  .chat-contact-name p { display: none; }
}

/* ---- chat-fullscreen.css ---- */
/* A viewport-sized messenger, not a content card. Other routes keep their layout. */
body[data-screen="chat"] {
  position: fixed; left: 0; right: 0; top: var(--chat-viewport-top, 0px);
  height: var(--chat-viewport-height, 100dvh); margin: 0; padding: 0;
  display: grid; grid-template-rows: 68px minmax(0, 1fr); overflow: hidden;
}
body[data-screen="chat"]::before, body[data-screen="chat"] > .concept-strip { display: none; }
body[data-screen="chat"] > .site-header {
  grid-row: 1; margin: 0; max-width: none; width: 100%; height: 68px;
  border-radius: 0; border-width: 0 0 1px; box-shadow: none;
}
body[data-screen="chat"] .header-inner { max-width: none; padding: 0 22px; gap: 20px; }
body[data-screen="chat"] .brandmark { width: 104px; height: 55px; }
body[data-screen="chat"] .brand-note { font-size: 9px; padding-left: 17px; }
body[data-screen="chat"] .primary-nav { margin-inline: auto; }
body[data-screen="chat"] .header-tools > [data-dialog="message-dialog"] { display: none; }
body[data-screen="chat"] > main { grid-row: 2; min-height: 0; min-width: 0; overflow: hidden; }
body[data-screen="chat"] .chat-screen { height: 100%; max-width: none; width: 100%; padding: 0; margin: 0; }
body[data-screen="chat"] .chat-workspace {
  width: 100%; height: 100%; min-height: 0; border: 0; border-radius: 0; box-shadow: none;
  grid-template-columns: clamp(280px, 27vw, 350px) minmax(0, 1fr);
}
body[data-screen="chat"] > .signature-dock { display: none; }
body[data-screen="chat"] .chat-inbox { min-height: 0; }
body[data-screen="chat"] .chat-inbox-intro { padding: 22px 23px 18px; flex: none; }
body[data-screen="chat"] .chat-inbox-intro h1 { font-family: var(--serif); font-size: 29px; line-height: 1.3; margin: 0 0 5px; letter-spacing: -.8px; }
.chat-local-note { font-size: 10px; line-height: 1.6; color: #796950; }
body[data-screen="chat"] .chat-inbox-search { flex: none; }
body[data-screen="chat"] .chat-inbox-list { min-height: 0; flex: 1; overscroll-behavior: contain; }
body[data-screen="chat"] .chat-inbox-foot { flex: none; padding: 20px 23px; border-top: 1px solid #e0d5c5; margin-top: 15px; }
body[data-screen="chat"] .chat-contact-header { min-height: 79px; flex: none; padding: 14px 26px; }
body[data-screen="chat"] .chat-property-pin { margin: 12px 24px; min-height: 68px; }
body[data-screen="chat"] .chat-message-scroll { min-height: 0; padding: 26px 34px; }
body[data-screen="chat"] .chat-messages { max-width: 850px; margin-inline: auto; }
body[data-screen="chat"] .chat-day-divider { margin-bottom: 26px; }
body[data-screen="chat"] .chat-composer { padding: 16px max(24px, calc((100% - 850px) / 2)) 12px; max-height: 48%; overflow-y: auto; }
body[data-screen="chat"] .chat-composer-row { gap: 10px; }
body[data-screen="chat"] .chat-compose-field textarea { font-size: 14px; }
body[data-screen="chat"] .chat-composer-foot { margin-left: 0; font-size: 9px; }
body[data-screen="chat"] .chat-feedback:not(:empty) { padding: 7px 24px; font-size: 10px; }
body[data-screen="chat"] .chat-files-panel { inset: 79px 0 0; }
body[data-screen="chat"] .toast { bottom: 20px; }
body[data-screen="chat"] .chat-message-row { max-width: 90%; }
body[data-screen="chat"] .chat-voice-message { min-width: 0; max-width: 100%; }
.chat-voice-message > span { display: block; font-size: 11px; margin-bottom: 7px; font-weight: 600; color: #6b5534; }
.chat-voice-message audio { display: block; width: 270px; max-width: 100%; height: 46px; }
.chat-voice-message + a { font-size: 10px; }
@media (max-width: 1100px) {
  body[data-screen="chat"] .header-inner { padding-inline: 18px; gap: 14px; }
  body[data-screen="chat"] .primary-nav button { padding-inline: 10px; font-size: 11px; }
  body[data-screen="chat"] .brand-note { display: none; }
  body[data-screen="chat"] .chat-inbox-intro { padding-inline: 20px; }
  body[data-screen="chat"] .chat-message-scroll { padding-inline: 24px; }
  body[data-screen="chat"] .chat-composer { padding-inline: 19px; }
  body[data-screen="chat"] .chat-contact-header { padding-inline: 20px; }
}
@media (max-width: 760px) {
  body[data-screen="chat"] { grid-template-rows: 58px minmax(0, 1fr) calc(66px + env(safe-area-inset-bottom)); }
  body[data-screen="chat"] > .site-header { height: 58px; }
  body[data-screen="chat"] .header-inner { padding-inline: 14px; }
  body[data-screen="chat"] .brandmark { width: 89px; height: 48px; }
  body[data-screen="chat"] .primary-nav { display: none; }
  body[data-screen="chat"] .header-tools { margin-left: auto; gap: 6px; }
  body[data-screen="chat"] > .signature-dock {
    display: block; position: static; grid-row: 3; width: 100%; transform: none; margin: 0;
    border-radius: 0; border-width: 1px 0 0; padding: 5px 8px calc(5px + env(safe-area-inset-bottom)); box-shadow: none;
  }
  body[data-screen="chat"] .signature-dock nav { height: 100%; gap: 4px; }
  body[data-screen="chat"] .signature-dock button { min-height: 0; height: 55px; font-size: 10px; padding-inline: 0; }
  body[data-screen="chat"] .chat-workspace { display: block; height: 100%; min-height: 0; border-radius: 0; }
  body[data-screen="chat"] .chat-contact-header { min-height: 66px; height: 66px; padding: 10px 12px; gap: 8px; }
  body[data-screen="chat"] .chat-property-pin { margin: 8px 10px; min-height: 63px; }
  body[data-screen="chat"] .chat-contact-name h2 { font-size: 13px; }
  body[data-screen="chat"] .chat-property-pin strong { font-size: 11px; }
  body[data-screen="chat"] .chat-message-scroll { padding: 19px 12px; }
  body[data-screen="chat"] .chat-message-row { max-width: 100%; }
  body[data-screen="chat"] .chat-bubble { min-width: 0; max-width: calc(100vw - 74px); }
  body[data-screen="chat"] .chat-composer { padding: 10px 10px 8px; max-height: 52%; }
  body[data-screen="chat"] .chat-composer-row { gap: 6px; }
  body[data-screen="chat"] .chat-compose-field textarea { font-size: 16px; }
  body[data-screen="chat"] .chat-compose-field textarea::placeholder { font-size: 12px; }
  body[data-screen="chat"] .chat-composer-foot { font-size: 9px; }
  body[data-screen="chat"] .chat-files-panel { inset: 66px 0 0; }
  body[data-screen="chat"] .chat-feedback:not(:empty) { font-size: 10px; padding: 6px 12px; }
  body[data-screen="chat"] .chat-inbox-foot { padding: 17px 23px; }
  body[data-screen="chat"] .chat-voice-message audio { width: 230px; }
  body[data-screen="chat"].chat-keyboard-open { grid-template-rows: minmax(0, 1fr); }
  body[data-screen="chat"].chat-keyboard-open > .site-header,
  body[data-screen="chat"].chat-keyboard-open > .signature-dock { display: none; }
  body[data-screen="chat"].chat-keyboard-open > main { grid-row: 1; }
  body[data-screen="chat"].chat-keyboard-open .chat-composer-foot { display: none; }
  body[data-screen="chat"].chat-keyboard-open .chat-property-pin { display: none; }
}
@media (max-width: 370px) {
  body[data-screen="chat"] .signature-dock nav { gap: 3px; }
  body[data-screen="chat"] .signature-dock button { font-size: 9px; }
  body[data-screen="chat"] .chat-contact-header { gap: 5px; padding-inline: 8px; }
  body[data-screen="chat"] .chat-contact-name h2 { font-size: 11px; }
  body[data-screen="chat"] .chat-composer-row { gap: 5px; }
}
@media (max-height: 560px) {
  body[data-screen="chat"] .chat-inbox-foot { display: none; }
  body[data-screen="chat"] .chat-property-pin { margin-block: 5px; min-height: 52px; }
  body[data-screen="chat"] .chat-property-pin > img { height: 40px; }
  body[data-screen="chat"] .chat-composer-foot { display: none; }
  body[data-screen="chat"] .chat-composer { max-height: 50%; }
}

/* Iteration 07 — one communication hub, less container chrome. */
body[data-screen="chat"] {
  --chat-canvas: #f5f4f0;
  --chat-panel: #fbfaf7;
  --chat-ink: #252522;
  --chat-muted: #77746d;
  --chat-line: #dedbd3;
  background: var(--chat-canvas);
}
body[data-screen="chat"] > .site-header {
  background: rgba(251, 250, 247, .96);
  color: var(--chat-ink);
  border-color: var(--chat-line);
  backdrop-filter: blur(18px);
}
body[data-screen="chat"] .brand {
  width: 106px;
  height: 48px;
  padding: 0 7px;
  border-radius: 12px;
  background: #181816;
}
body[data-screen="chat"] .brandmark { width: 92px; height: 48px; }
body[data-screen="chat"] .brand-note { color: #6f6d67; border-color: var(--chat-line); }
body[data-screen="chat"] .primary-nav { gap: 34px; }
body[data-screen="chat"] .primary-nav button {
  min-height: 68px;
  padding: 0 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #77746e;
  font-size: 12px;
  font-weight: 500;
}
body[data-screen="chat"] .primary-nav button[aria-current="page"] { color: #242421; }
body[data-screen="chat"] .primary-nav button[aria-current="page"]::after {
  display: block;
  width: 100%; left: 0; bottom: -1px; height: 2px; background: #242421;
}
body[data-screen="chat"] .header-tools .icon-button {
  color: #373631;
  border: 0;
  border-radius: 50%;
  background: #eeece6;
}
body[data-screen="chat"] .self-profile {
  color: #373631;
  border: 0;
  border-radius: 999px;
  background: #eeece6;
  padding-right: 13px;
}
body[data-screen="chat"] .self-profile .avatar { background: #eee8dc; }
body[data-screen="chat"] .chat-workspace {
  grid-template-columns: clamp(300px, 28vw, 372px) minmax(0, 1fr);
  background: var(--chat-panel);
}
body[data-screen="chat"] .chat-inbox {
  background: #f7f5f0;
  border-color: var(--chat-line);
}
body[data-screen="chat"] .chat-inbox-intro { padding: 22px 24px 12px; }
body[data-screen="chat"] .chat-inbox-intro h1 {
  font-family: var(--sans);
  font-size: 25px;
  line-height: 1.2;
  letter-spacing: -.7px;
  font-weight: 600;
}
.chat-local-note { color: #85817a; font-size: 10px; }
.chat-hub-tabs {
  display: flex;
  gap: 4px;
  padding: 0 16px 14px;
}
.chat-hub-tabs button {
  min-height: 38px;
  padding: 0 13px;
  border-radius: 999px;
  color: #75716a;
  font-size: 12px;
  font-weight: 600;
  transition: color 140ms ease, background-color 140ms ease, transform 140ms cubic-bezier(.23,1,.32,1);
}
.chat-hub-tabs button span { margin-left: 5px; font-size: 10px; opacity: .72; }
.chat-hub-tabs button[aria-selected="true"] { color: #292925; background: #e8e3d9; }
.chat-hub-tabs button:active { transform: scale(.97); }
body[data-screen="chat"] .chat-inbox-search {
  min-height: 46px;
  margin: 0 16px 10px;
  padding-inline: 14px;
  border: 0;
  border-radius: 14px;
  background: #ece9e2;
}
body[data-screen="chat"] .chat-inbox-search input { height: 46px; font-size: 12px; }
body[data-screen="chat"] .chat-inbox-item {
  width: calc(100% - 16px);
  margin: 0 8px;
  padding: 14px 12px;
  border: 0;
  border-radius: 14px;
  transition: background-color 140ms ease, transform 140ms cubic-bezier(.23,1,.32,1);
}
body[data-screen="chat"] .chat-inbox-item[aria-pressed="true"] { background: #e9e3d8; }
body[data-screen="chat"] .chat-inbox-item:active { transform: scale(.985); }
body[data-screen="chat"] .chat-inbox-name { font-size: 13px; }
body[data-screen="chat"] .chat-inbox-subject { color: #81735e; }
body[data-screen="chat"] .chat-inbox-preview { color: #76716a; }
.chat-request-list { min-height: 0; overflow-y: auto; padding: 0 8px; }
.chat-request-item {
  display: grid;
  width: 100%;
  gap: 7px;
  padding: 17px 14px 18px;
  border-bottom: 1px solid var(--chat-line);
  text-align: left;
  transition: background-color 140ms ease, transform 140ms cubic-bezier(.23,1,.32,1);
}
.chat-request-item:first-child { border-top: 1px solid var(--chat-line); }
.chat-request-item:active { transform: scale(.985); }
.chat-request-item .chat-request-kicker { color: #7d6747; font-size: 9px; text-transform: uppercase; letter-spacing: .07em; }
.chat-request-item strong { font-size: 13px; line-height: 1.5; font-weight: 600; }
.chat-request-item > span:not(.chat-request-kicker) { color: #575650; font-size: 11px; }
.chat-request-item small { color: #8a867e; font-size: 10px; }
body[data-screen="chat"] .chat-inbox-foot { margin-top: 0; border-color: var(--chat-line); }
body[data-screen="chat"] .chat-contact-header {
  min-height: 72px;
  padding: 11px 24px;
  border-color: var(--chat-line);
  background: var(--chat-panel);
}
body[data-screen="chat"] .chat-contact-name h2 { font-size: 14px; }
body[data-screen="chat"] .chat-icon-button {
  border: 0;
  border-radius: 50%;
  background: #ece9e2;
  transition: background-color 140ms ease, transform 140ms cubic-bezier(.23,1,.32,1);
}
body[data-screen="chat"] .chat-property-pin {
  margin: 0;
  padding: 10px 24px;
  min-height: 66px;
  border: 0;
  border-bottom: 1px solid var(--chat-line);
  border-radius: 0;
  background: #f8f6f1;
}
body[data-screen="chat"] .chat-property-pin > img { width: 58px; height: 44px; border-radius: 9px; }
body[data-screen="chat"] .chat-message-scroll {
  padding-top: 28px;
  background-color: #f1efea;
  background-image: none;
}
body[data-screen="chat"] .chat-messages { max-width: 780px; }
body[data-screen="chat"] .chat-bubble {
  border: 0;
  border-radius: 18px 18px 18px 5px;
  background: #fff;
  padding: 12px 15px 9px;
  box-shadow: 0 1px 0 rgba(35, 34, 30, .06), 0 5px 16px rgba(35, 34, 30, .035);
}
body[data-screen="chat"] .chat-message-row.is-own .chat-bubble {
  border: 0;
  border-radius: 18px 18px 5px 18px;
  background: #e8dfcf;
}
body[data-screen="chat"] .chat-composer {
  padding-top: 13px;
  background: var(--chat-panel);
  border-color: var(--chat-line);
}
body[data-screen="chat"] .chat-compose-field textarea {
  border: 0;
  border-radius: 16px;
  background: #eeece6;
  padding-inline: 16px;
}
body[data-screen="chat"] .chat-send-button {
  border: 0;
  border-radius: 50%;
  background: #292925;
  color: #f5ead4;
}
body[data-screen="chat"] .chat-send-button:disabled { border: 0; background: #e9e6df; color: #a8a39a; }

@media (hover: hover) and (pointer: fine) {
  .chat-hub-tabs button:hover { color: #292925; background: #eeebe5; }
  body[data-screen="chat"] .chat-inbox-item:hover { border-color: transparent; background: #eeebe4; }
  body[data-screen="chat"] .chat-inbox-item[aria-pressed="true"]:hover { background: #e9e3d8; }
  .chat-request-item:hover { background: #eeebe4; }
  body[data-screen="chat"] .chat-icon-button:hover { background: #e2ded5; }
  body[data-screen="chat"] .chat-property-pin:hover { background: #f2efe8; border-color: var(--chat-line); }
}

@media (max-width: 760px) {
  body[data-screen="chat"] .brand { width: 92px; height: 43px; border-radius: 11px; }
  body[data-screen="chat"] .brandmark { width: 78px; height: 43px; }
  body[data-screen="chat"] .signature-dock nav { grid-template-columns: repeat(4, 1fr); }
  body[data-screen="chat"] .chat-inbox-intro { padding: 19px 19px 10px; }
  body[data-screen="chat"] .chat-inbox-intro h1 { font-size: 23px; }
  .chat-hub-tabs { padding-inline: 12px; }
  body[data-screen="chat"] .chat-property-pin { margin: 0; padding: 8px 12px; border-radius: 0; }
  body[data-screen="chat"] .chat-property-pin > img { width: 52px; height: 45px; }
  body[data-screen="chat"] .chat-message-scroll { padding: 18px 12px; }
  body[data-screen="chat"] .chat-bubble { border-radius: 17px 17px 17px 5px; }
  body[data-screen="chat"] .chat-message-row.is-own .chat-bubble { border-radius: 17px 17px 5px 17px; }
  body[data-screen="chat"] .chat-compose-field textarea { border-radius: 15px; }
}

/* ---- voice-recorder.css ---- */
/* No pulsing decoration: the timer and explicit recording label carry the state. */
.chat-voice-record { width: 46px; height: 46px; color: #665136; background: #f5edde; border-color: #bda783; }
.chat-voice-record svg { width: 21px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.chat-voice-record:disabled { color: #938775; background: #eee8dd; border-color: #d1c6b5; cursor: default; }
.chat-voice-panel { padding: 13px 15px 11px; margin-bottom: 11px; border: 1px solid #bba077; border-radius: 9px; background: #f5edde; color: #433825; }
.chat-voice-info { display: flex; align-items: center; gap: 9px; min-height: 23px; }
.chat-voice-title { font-size: 13px; font-weight: 600; line-height: 1.5; }
.chat-voice-dot { width: 8px; height: 8px; flex: none; border-radius: 50%; background: #ab4937; }
.chat-voice-timer { margin-left: auto; font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; color: #685435; }
.chat-voice-preview { display: block; width: 100%; max-width: 520px; height: 44px; margin-top: 10px; color-scheme: light; }
.chat-voice-actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 11px; }
.chat-voice-action { min-height: 44px; min-width: 44px; border: 1px solid #b9a381; border-radius: 7px; padding: 9px 14px; background: #fffaf1; color: #50402b; font: inherit; font-size: 12px; font-weight: 600; line-height: 1.5; cursor: pointer; }
.chat-voice-stop, .chat-voice-add { background: #302b22; color: #f3dfb8; border-color: #302b22; }
.chat-voice-hint { font-size: 10px; line-height: 1.65; color: #716047; margin-top: 8px; }
.chat-voice-action:focus-visible, .chat-voice-record:focus-visible { outline: 2px solid #745526; outline-offset: 3px; }
.chat-voice-action:active { transform: scale(.97); }
.chat-voice-panel[hidden], .chat-voice-panel [hidden] { display: none !important; }
.chat-composer[data-voice-active="true"] .chat-compose-field textarea { color: #8b8070; background: #f1ece3; }
@media (hover: hover) and (pointer: fine) {
  .chat-voice-record:hover:not(:disabled), .chat-voice-cancel:hover { background: #e8d8bd; border-color: #a58a5e; }
  .chat-voice-stop:hover, .chat-voice-add:hover { background: #4c402c; }
}
@media (max-width: 760px) {
  .chat-voice-record { width: 44px; height: 46px; }
  .chat-voice-panel { padding: 10px; }
  .chat-voice-title { font-size: 12px; }
  .chat-voice-timer { font-size: 11px; }
  .chat-voice-action { padding-inline: 11px; font-size: 11px; }
  .chat-voice-hint { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .chat-voice-action:active, .chat-voice-record:active { transform: none; }
}

/* ---- deals.css ---- */
.deals-screen {
  max-width: 1408px;
  margin: 0 auto;
  padding-bottom: 64px;
}

.deals-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 48px;
  padding: 54px 0 36px;
  border-bottom: 1px solid #dedbd3;
}
.deals-header .eyebrow { margin: 0 0 13px; color: #7d6849; font-size: 9px; }
.deals-header h1 {
  margin: 0;
  font-family: var(--sans);
  font-size: clamp(44px, 5vw, 66px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.055em;
}
.deals-header h1 + p { margin-top: 16px; color: #69655f; font-size: 13px; }
.deals-overview { display: flex; align-items: stretch; gap: 10px; padding-bottom: 4px; }
.deals-overview > div { min-width: 116px; padding: 15px 17px; border: 1px solid rgba(121, 111, 97, .2); border-radius: 14px; background: rgba(255, 253, 249, .66); }
.deals-overview strong { display: block; font-size: 22px; font-weight: 600; letter-spacing: -.04em; }
.deals-overview span { display: block; margin-top: 5px; color: #7a766f; font-size: 9px; white-space: nowrap; }

.deals-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0 18px; }
.deal-filters { display: inline-grid; grid-template-columns: 1fr 1fr; gap: 3px; padding: 3px; border-radius: 13px; background: #ebe7df; }
.deal-filters button { min-height: 38px; padding: 0 15px; border-radius: 10px; color: #716d66; font-size: 11px; }
.deal-filters button[aria-pressed="true"] { background: #fffdf9; color: #292824; box-shadow: 0 1px 4px rgba(50, 46, 39, .08); }
.deal-filters span { margin-left: 5px; color: #8d877d; font-size: 9px; }
.deals-chat-link { display: inline-flex; align-items: center; gap: 9px; min-height: 42px; padding: 0 14px; border: 1px solid #cdc7bd; border-radius: 12px; background: rgba(255, 253, 249, .72); color: #4f4c47; font-size: 11px; }
.deals-chat-link svg { width: 16px; height: 16px; }

.deal-list { display: grid; gap: 12px; }
.deal-row {
  display: grid;
  grid-template-columns: minmax(250px, 1.35fr) minmax(170px, .8fr) minmax(160px, .72fr) minmax(165px, .78fr) 40px;
  align-items: center;
  gap: 24px;
  min-height: 126px;
  padding: 20px;
  border: 1px solid rgba(121, 111, 97, .2);
  border-radius: 20px;
  background: rgba(255, 253, 249, .7);
  box-shadow: 0 7px 24px rgba(56, 49, 40, .045);
}
.deal-object { display: flex; align-items: center; gap: 16px; min-width: 0; }
.deal-object img { flex: 0 0 auto; width: 112px; height: 82px; border-radius: 13px; object-fit: cover; }
.deal-object div, .deal-partner div { min-width: 0; }
.deal-object small,
.deal-stage small,
.deal-partner small,
.deal-next small { display: block; margin-bottom: 6px; color: #8a857c; font-size: 8px; letter-spacing: .04em; text-transform: uppercase; }
.deal-object h2 { display: -webkit-box; overflow: hidden; margin: 0; font-family: var(--sans); font-size: 15px; font-weight: 600; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.deal-object span { display: block; margin-top: 7px; color: #77736c; font-size: 10px; }
.deal-stage strong,
.deal-partner strong,
.deal-next strong { display: block; overflow: hidden; font-size: 11px; font-weight: 600; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.deal-progress { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; width: min(150px, 100%); margin-top: 13px; }
.deal-progress i { height: 3px; border-radius: 999px; background: #ded9d0; }
.deal-progress i:has(~ .current),
.deal-progress i.current,
.deal-progress.is-complete i { background: #88714f; }
.deal-partner { display: flex; align-items: center; gap: 10px; min-width: 0; }
.deal-avatar { display: grid; place-items: center; flex: 0 0 auto; width: 36px; height: 36px; border-radius: 50%; background: #e9e1d3; color: #64533d; font-size: 10px; font-weight: 600; }
.deal-next span { display: block; overflow: hidden; margin-top: 5px; color: #77736c; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.deal-next.is-urgent small { color: #9a5b45; }
.deal-open { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid #d8d3ca; border-radius: 50%; color: #625f59; transition: background-color 140ms ease, border-color 140ms ease; }
.deal-open svg { width: 17px; height: 17px; }
.deals-demo-note { margin-top: 18px; color: #928d84; font-size: 8px; text-align: right; }

.deal-dialog-grid { display: grid; margin: 24px 0; border-top: 1px solid #dedbd3; }
.deal-dialog-grid > div { padding: 15px 0; border-bottom: 1px solid #dedbd3; }
.deal-dialog-grid span { display: block; margin-bottom: 6px; color: #7e7971; font-size: 9px; }
.deal-dialog-grid strong { font-size: 13px; font-weight: 600; }
.deal-dialog > .button { width: 100%; margin-top: 22px; justify-content: space-between; }

@media (hover: hover) and (pointer: fine) {
  .deal-row:hover { border-color: rgba(137, 112, 75, .4); background: rgba(255, 253, 249, .92); box-shadow: 0 10px 30px rgba(56, 49, 40, .075); }
  .deal-row:hover .deal-open { border-color: #9f8c6d; background: #f1ede5; }
  .deals-chat-link:hover { color: #262521; }
}

@media (max-width: 1100px) {
  .deal-row { grid-template-columns: minmax(220px, 1.15fr) minmax(140px, .7fr) minmax(135px, .66fr) minmax(145px, .7fr) 40px; gap: 16px; }
}

@media (max-width: 820px) {
  .deal-row { grid-template-columns: minmax(230px, 1.25fr) minmax(155px, .75fr) minmax(150px, .7fr) 40px; gap: 18px; }
  .deal-partner { display: none; }
}

@media (max-width: 760px) {
  .deals-screen { padding-inline: 16px; padding-bottom: 94px; }
  .deals-header { display: block; padding: 30px 0 24px; }
  .deals-header h1 { font-size: 44px; }
  .deals-header h1 + p { max-width: 480px; font-size: 12px; line-height: 1.55; }
  .deals-overview { margin-top: 25px; }
  .deals-overview > div { min-width: 0; flex: 1; padding: 12px; }
  .deals-overview strong { font-size: 18px; }
  .deals-overview span { white-space: normal; line-height: 1.35; }
  .deals-toolbar { padding: 16px 0 14px; }
  .deals-chat-link { font-size: 10px; white-space: nowrap; }
  .deals-chat-link svg { width: 19px; height: 19px; }
  .deal-row { grid-template-columns: minmax(0, 1fr) 40px; gap: 14px 10px; padding: 16px; border-radius: 18px; }
  .deal-object { grid-column: 1; }
  .deal-object img { width: 92px; height: 72px; border-radius: 11px; }
  .deal-stage { grid-column: 1; padding-left: 108px; }
  .deal-progress { width: min(180px, 100%); }
  .deal-next { grid-column: 1; padding-left: 108px; }
  .deal-next span { white-space: normal; }
  .deal-open { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
  .deals-demo-note { text-align: left; }
}

@media (max-width: 420px) {
  .deal-filters button { padding-inline: 10px; font-size: 10px; }
  .deal-object h2 { font-size: 13px; }
  .deal-stage, .deal-next { padding-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .deal-open { transition: none; }
}

/* ---- product-shell.css ---- */
/* Iteration 08: a quieter product shell. Navigation is navigation; invitation is contextual. */
:root {
  --shell-paper: #f7f6f2;
  --shell-surface: #fcfbf8;
  --shell-ink: #242421;
  --shell-muted: #77736c;
  --shell-line: #dedbd3;
  --shell-active: #ece7dd;
}

body { padding-bottom: 0; }
body[data-screen="chat"] { grid-template-rows: 72px minmax(0, 1fr); }
.concept-strip { display: none; }
.site-header,
body[data-screen="chat"] > .site-header {
  width: 100%;
  max-width: none;
  height: 72px;
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--shell-line);
  border-radius: 0;
  background: rgba(252, 251, 248, .96);
  color: var(--shell-ink);
  box-shadow: none;
  backdrop-filter: blur(18px);
}
.header-inner,
body[data-screen="chat"] .header-inner {
  max-width: 1536px;
  padding: 0 30px;
  gap: 27px;
}
.brand,
body[data-screen="chat"] .brand {
  width: 118px;
  height: 52px;
  padding: 0;
  border-radius: 0;
  background: transparent;
}
.brandmark,
body[data-screen="chat"] .brandmark {
  width: 118px;
  height: 52px;
  mix-blend-mode: normal;
}
.brand-note,
body[data-screen="chat"] .brand-note {
  padding-left: 25px;
  border-color: var(--shell-line);
  color: #74716a;
  font-size: 11px;
}
.primary-nav,
body[data-screen="chat"] .primary-nav { gap: 34px; margin-inline: auto; }
.primary-nav button,
body[data-screen="chat"] .primary-nav button {
  min-height: 72px;
  padding: 0 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #77746e;
  font-size: 12px;
  font-weight: 500;
  transition: color 140ms ease;
}
.primary-nav button[aria-current="page"],
body[data-screen="chat"] .primary-nav button[aria-current="page"] { color: var(--shell-ink); background: transparent; border: 0; }
.primary-nav button[aria-current="page"]::after,
body[data-screen="chat"] .primary-nav button[aria-current="page"]::after {
  display: block;
  width: 100%;
  height: 2px;
  left: 0;
  bottom: -1px;
  border-radius: 0;
  background: var(--shell-ink);
}
.header-tools .icon-button,
.header-tools .self-profile {
  border: 0;
  background: #efede7;
  color: #383732;
}
.header-tools .icon-button { border-radius: 50%; }
.header-tools .self-profile { border-radius: 999px; padding: 5px 13px 5px 5px; }
.self-profile .avatar { background: #e8e1d5; color: #3b3327; }

/* Standalone text actions must read as controls, not decorative copy. */
button.text-button,
.invite-back,
.invite-copy-link {
  min-height: 42px;
  padding-inline: 14px;
  border: 1px solid #cdc7bd;
  border-radius: 12px;
  background: rgba(255, 253, 249, .72);
  color: #4f4c47;
}

/* Desktop already has the complete top navigation. */
.signature-dock { display: none; }

/* Profile is a professional passport, not a stack of dashboard cards. */
.profile-screen { padding-bottom: 72px; }
.profile-editorial {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: clamp(44px, 6vw, 88px);
  max-width: 1280px;
  margin: 0 auto;
  padding: 44px 0 0;
}
.portrait-column figure { margin: 0; position: relative; }
.portrait-column figure > img {
  display: block;
  width: 100%;
  height: 400px;
  object-fit: cover;
  object-position: 50% 16%;
  border-radius: 24px;
}
.portrait-column figcaption {
  left: 14px;
  bottom: 14px;
  padding: 7px 9px;
  border-radius: 8px;
  background: rgba(31, 28, 24, .66);
  color: #fff;
  font-size: 9px;
  letter-spacing: 0;
  backdrop-filter: blur(8px);
}
.portrait-caption {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 14px 2px 0;
  border: 0;
  color: #747069;
  font-size: 10px;
}
.portrait-caption span:first-child { display: inline-flex; align-items: center; gap: 7px; }
.portrait-caption i { width: 7px; height: 7px; border-radius: 50%; background: #6b7d59; box-shadow: 0 0 0 3px rgba(107, 125, 89, .12); }
.profile-story { display: block; padding: 19px 0 0; }
.profile-story > .eyebrow { margin: 0 0 15px; color: #77664d; font-size: 10px; letter-spacing: .09em; }
.profile-name-row { display: flex; align-items: center; gap: 14px; }
.profile-name-row h1 {
  margin: 0;
  font-family: var(--sans);
  font-size: clamp(44px, 4.3vw, 64px);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -.055em;
  word-spacing: .08em;
}
.profile-verified {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #816743;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}
.profile-position {
  max-width: 650px;
  margin: 20px 0 0;
  color: #57544f;
  font-size: 19px;
  line-height: 1.5;
}
.profile-context {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 18px;
  color: #77736c;
  font-size: 11px;
}
.profile-context span + span::before { content: "·"; margin-right: 18px; color: #b0aaa0; }
.profile-actions { display: flex; gap: 10px; margin: 28px 0 0; }
.profile-actions .button { min-height: 48px; padding-inline: 20px; border-radius: 13px; font-size: 12px; }
.profile-actions .button.primary { min-width: 150px; justify-content: space-between; background: #292925; }
.profile-actions .button.secondary { border-color: #d4d0c8; background: transparent; }
.profile-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 38px 0 0;
  padding: 20px 0;
  border-top: 1px solid var(--shell-line);
  border-bottom: 1px solid var(--shell-line);
}
.profile-facts > div { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding-right: 18px; }
.profile-facts > div + div { padding-left: 22px; border-left: 1px solid var(--shell-line); }
.profile-facts strong { font-size: 17px; font-weight: 600; letter-spacing: -.025em; }
.profile-facts span,
.profile-facts button { min-height: 18px; padding: 0; color: #7a766f; font-size: 10px; text-align: left; text-decoration: none; }
.profile-facts button { width: fit-content; border: 0; border-bottom: 1px solid #b8b1a6; border-radius: 0; background: transparent; }
.profile-about {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 28px;
  margin: 30px 0 0;
}
.profile-about h2 { margin: 2px 0 0; font-family: var(--sans); font-size: 12px; font-weight: 600; }
.profile-about p { max-width: 610px; margin: 0; color: #65615b; font-size: 13px; line-height: 1.7; }
.expertise { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 17px; font-size: 10px; color: #5f5b55; }
.expertise span { padding: 8px 10px; border: 1px solid #ddd8cf; border-radius: 999px; background: #fbfaf7; }
.expertise span::before { display: none; }
.profile-selection {
  max-width: 1280px;
  margin: 72px auto 20px;
  padding-top: 30px;
  border-top: 1px solid var(--shell-line);
}
.profile-selection .eyebrow { margin: 0 0 8px; color: #817156; font-size: 9px; }
.profile-selection h2 { margin: 0; font-family: var(--sans); font-size: 30px; font-weight: 600; letter-spacing: -.035em; }
.profile-selection > .text-button { color: #5e5b55; font-size: 11px; }
.profile-property-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; max-width: 1280px; margin: 0 auto; }
.profile-property-pair button {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 18px;
  min-width: 0;
  padding: 10px;
  border: 0;
  border-radius: 18px;
  background: #eeebe4;
  text-align: left;
  transition: background-color 140ms ease;
}
.profile-property-pair img { width: 160px; height: 112px; object-fit: cover; border-radius: 12px; }
.profile-property-pair strong { display: block; font-family: var(--sans); font-size: 15px; font-weight: 600; line-height: 1.4; }
.profile-property-pair small { display: block; margin-top: 7px; color: #747069; font-size: 11px; }
.profile-property-pair svg { width: 17px; height: 17px; margin: 0; color: #777168; }

/* Invitation is a share page, not a fifth product section. */
.invite-screen {
  grid-template-columns: minmax(430px, .86fr) minmax(520px, 1.14fr);
  min-height: calc(100dvh - 72px);
  max-width: 1440px;
  margin: 0 auto;
  background: var(--shell-surface);
}
.invite-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 48px clamp(42px, 5vw, 78px);
}
.invite-back {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 40px;
  margin-bottom: auto;
  color: var(--shell-muted);
  font-size: 11px;
}
.invite-back svg { width: 16px; height: 16px; }
.invite-copy > .eyebrow { margin-top: 38px; color: #77736c; }
.invited-by { margin: 18px 0 25px; }
.invited-by > div { gap: 3px; }
.invite-copy h1 {
  max-width: 620px;
  margin: 0;
  font-family: var(--sans);
  font-size: clamp(38px, 4vw, 58px);
  font-weight: 600;
  line-height: 1.09;
  letter-spacing: -.045em;
  white-space: normal;
}
.invite-description {
  max-width: 590px;
  margin-top: 25px;
  color: #625f58;
  font-size: 14px;
  line-height: 1.75;
}
.invite-points {
  display: grid;
  margin: 27px 0;
  border-top: 1px solid var(--shell-line);
}
.invite-points p {
  position: relative;
  padding: 13px 0 13px 25px;
  border-bottom: 1px solid var(--shell-line);
  color: #484741;
  font-size: 12px;
}
.invite-points p::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 19px;
  width: 7px;
  height: 4px;
  border: solid #786448;
  border-width: 0 0 1.5px 1.5px;
  transform: rotate(-45deg);
}
.button.primary.invite-accept {
  width: fit-content;
  min-width: 245px;
  justify-content: space-between;
  border: 0;
  border-radius: 13px;
  background: #292925;
  color: #fffdf8;
}
.invite-accept::after { display: none; }
.invite-disclaimer { text-align: left; }
.invite-copy-link {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  margin-top: auto;
  padding: 0;
  color: #6e6a63;
  font-size: 11px;
}
.invite-copy-link svg { width: 16px; height: 16px; }
.invite-image {
  min-height: calc(100dvh - 72px);
  margin: 0;
  border-radius: 0;
  background: #d8d2c8;
}
.invite-image > img { object-position: 50% 52%; }
.invite-image::after { background: linear-gradient(transparent 54%, rgba(24, 23, 20, .72)); }
.invite-image-caption { left: 38px; bottom: 58px; }
.invite-image-caption span:first-child { margin-bottom: 12px; font-size: 9px; letter-spacing: .08em; }
.invite-image-caption span:last-child { font-family: var(--sans); font-size: 22px; line-height: 1.45; letter-spacing: -.02em; }
.image-credit { left: 38px; bottom: 22px; }

@media (hover: hover) and (pointer: fine) {
  .site-header .primary-nav button:hover { color: var(--shell-ink); background: transparent; border-color: transparent; }
  .site-header .header-tools button:hover { color: var(--shell-ink); background: #e6e2da; border-color: transparent; }
  .invite-back:hover, .invite-copy-link:hover { color: var(--shell-ink); }
  button.text-button:hover, .invite-back:hover, .invite-copy-link:hover { border-color: #9f8c6d; background: #f1ede5; }
  .profile-property-pair button:hover { background: #e7e2d9; }
}

@media (max-width: 960px) {
  .header-inner,
  body[data-screen="chat"] .header-inner { padding-inline: 20px; gap: 12px; }
  .primary-nav,
  body[data-screen="chat"] .primary-nav { gap: 22px; }
  .primary-nav button,
  body[data-screen="chat"] .primary-nav button { min-height: 72px; padding-inline: 10px; font-size: 11px; }
  .profile-editorial { grid-template-columns: 270px minmax(0, 1fr); gap: 38px; }
  .portrait-column figure > img { height: 350px; }
  .profile-name-row h1 { font-size: 46px; }
  .profile-about { grid-template-columns: 116px minmax(0, 1fr); gap: 22px; }
  .profile-property-pair button { grid-template-columns: 128px minmax(0, 1fr) 18px; gap: 14px; }
  .profile-property-pair img { width: 128px; height: 100px; }
  .invite-screen { grid-template-columns: 1fr 1fr; }
  .invite-copy { padding-inline: 32px; }
  .invite-copy h1 { font-size: 42px; }
}

@media (max-width: 760px) {
  body { padding-bottom: calc(74px + env(safe-area-inset-bottom)); }
  body[data-screen="invite"] { padding-bottom: 0; }
  .site-header,
  body[data-screen="chat"] > .site-header { height: 58px; }
  .header-inner,
  body[data-screen="chat"] .header-inner { padding-inline: 14px; gap: 12px; }
  .brand,
  body[data-screen="chat"] .brand { width: 104px; height: 45px; }
  .brandmark,
  body[data-screen="chat"] .brandmark { width: 104px; height: 45px; }
  .brand-note,
  body[data-screen="chat"] .brand-note { display: none; }
  .primary-nav,
  body[data-screen="chat"] .primary-nav { display: none; }
  .header-tools,
  body[data-screen="chat"] .header-tools { margin-left: auto; gap: 7px; }
  .header-tools .self-profile,
  body[data-screen="chat"] .header-tools .self-profile { min-width: 44px; padding: 4px; }

  .profile-screen { padding-inline: 16px; padding-bottom: 92px; }
  .profile-editorial {
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 24px;
    padding-top: 24px;
  }
  .portrait-column { order: initial; }
  .portrait-column figure > img { height: 285px; border-radius: 18px; }
  .portrait-column figcaption { left: 10px; bottom: 10px; font-size: 7px; }
  .portrait-caption { align-items: flex-start; gap: 5px; padding-top: 11px; font-size: 8px; }
  .profile-story { display: block; padding-top: 6px; }
  .profile-story > .eyebrow { margin-bottom: 11px; font-size: 8px; }
  .profile-name-row { align-items: flex-start; gap: 9px; }
  .profile-name-row h1 { max-width: 390px; font-size: clamp(36px, 6vw, 44px); line-height: 1.04; }
  .profile-verified { width: 22px; height: 22px; margin-top: 2px; font-size: 12px; }
  .profile-position { margin-top: 15px; font-size: 14px; line-height: 1.5; }
  .profile-context { gap: 6px 10px; margin-top: 12px; font-size: 9px; }
  .profile-context span + span::before { margin-right: 10px; }
  .profile-actions { gap: 7px; margin-top: 18px; }
  .profile-actions .button { min-height: 42px; padding-inline: 13px; font-size: 10px; }
  .profile-actions .button.primary { min-width: 116px; }
  .profile-facts { margin-top: 22px; padding: 15px 0; }
  .profile-facts > div { padding-right: 10px; }
  .profile-facts > div + div { padding-left: 12px; }
  .profile-facts strong { font-size: 13px; }
  .profile-facts span, .profile-facts button { font-size: 8px; }
  .profile-about { display: block; margin-top: 20px; }
  .profile-about h2 { margin-bottom: 9px; font-size: 10px; }
  .profile-about p { font-size: 11px; line-height: 1.6; }
  .expertise { gap: 5px; margin-top: 12px; font-size: 8px; }
  .expertise span { padding: 6px 8px; }
  .profile-selection { margin-top: 44px; padding-top: 24px; }
  .profile-selection h2 { font-size: 24px; }
  .profile-property-pair { gap: 9px; }
  .profile-property-pair button { grid-template-columns: 94px minmax(0, 1fr) 16px; gap: 10px; padding: 8px; border-radius: 15px; }
  .profile-property-pair img { width: 94px; height: 82px; border-radius: 10px; }
  .profile-property-pair strong { font-size: 12px; }
  .profile-property-pair small { font-size: 9px; }

  .signature-dock {
    display: block;
    position: fixed;
    z-index: 20;
    left: 50%;
    bottom: max(9px, env(safe-area-inset-bottom));
    width: min(304px, calc(100% - 32px));
    min-height: 54px;
    padding: 4px;
    transform: translateX(-50%);
    border: 1px solid rgba(111, 103, 91, .2);
    border-radius: 18px;
    background: rgba(252, 251, 248, .94);
    color: #55524c;
    box-shadow: 0 12px 32px rgba(47, 43, 36, .13);
    backdrop-filter: blur(18px);
  }
  .signature-dock nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    height: 100%;
    gap: 3px;
  }
  .signature-dock button {
    width: 100%;
    min-height: 46px;
    padding: 4px 2px;
    border: 0;
    border-radius: 14px;
    background: transparent;
    color: #716e67;
    font-size: 10px;
    gap: 4px;
  }
  .signature-dock button[aria-current="page"] {
    border: 0;
    background: var(--shell-active);
    color: var(--shell-ink);
    box-shadow: none;
  }
  .signature-dock svg { width: 18px; height: 18px; }
  body[data-screen="invite"] > .signature-dock { display: none; }

  /* The chat keeps its own layout row, but the control itself stays compact and floating. */
  body[data-screen="chat"] {
    grid-template-rows: 58px minmax(0, 1fr) calc(68px + env(safe-area-inset-bottom));
    padding-bottom: 0;
  }
  body[data-screen="chat"] > .signature-dock {
    display: block;
    position: static;
    grid-row: 3;
    align-self: center;
    justify-self: center;
    width: min(304px, calc(100% - 32px));
    height: 56px;
    min-height: 56px;
    margin: 0 auto;
    padding: 4px;
    border-width: 1px;
    border-radius: 18px;
    transform: none;
  }
  body[data-screen="chat"] .signature-dock button {
    height: 46px;
    min-height: 46px;
    padding: 4px 2px;
    border-radius: 14px;
    font-size: 10px;
  }
  body[data-screen="chat"] .signature-dock nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .invite-screen { display: flex; min-height: 0; background: var(--shell-surface); }
  .invite-copy { padding: 25px 22px 31px; }
  .invite-back { margin-bottom: 28px; }
  .invite-copy > .eyebrow { margin-top: 0; }
  .invited-by { margin: 17px 0 21px; }
  .invite-copy h1 { font-size: 37px; line-height: 1.12; }
  .invite-description { margin-top: 20px; font-size: 13px; }
  .invite-points { margin: 22px 0; }
  .button.primary.invite-accept { width: 100%; }
  .invite-copy-link { margin-top: 22px; }
  .invite-image { min-height: 420px; margin: 0; border-radius: 0; }
  .invite-image-caption, .image-credit { left: 22px; }
}

@media (max-width: 560px) {
  .profile-editorial { display: flex; flex-direction: column; gap: 24px; }
  .portrait-column figure > img { height: 320px; }
  .profile-story { padding-top: 0; }
  .profile-name-row h1 { font-size: 42px; }
  .profile-position { font-size: 16px; }
  .profile-actions .button { min-height: 46px; font-size: 11px; }
  .profile-facts strong { font-size: 15px; }
  .profile-facts span, .profile-facts button { font-size: 9px; }
  .profile-about p { font-size: 12px; }
  .profile-property-pair { grid-template-columns: 1fr; }
  .profile-property-pair button { grid-template-columns: 112px minmax(0, 1fr) 18px; }
  .profile-property-pair img { width: 112px; height: 88px; }
  .profile-property-pair strong { font-size: 14px; }
  .profile-property-pair small { font-size: 10px; }
}

@media (max-width: 370px) {
  .signature-dock { width: min(288px, calc(100% - 24px)); }
  body[data-screen="chat"] > .signature-dock { width: min(288px, calc(100% - 24px)); }
  .invite-copy h1 { font-size: 33px; }
}

@media (prefers-reduced-motion: reduce) {
  .primary-nav button, .signature-dock button { transition: none; }
}

/* ---- account-settings.css ---- */
.account-dialog {
  width: min(820px, calc(100vw - 32px));
  padding: 0;
  border-color: #d3cdc3;
  border-radius: 22px;
  background: #f8f5ef;
}

.account-dialog-head {
  padding: 34px 38px 26px;
  border-bottom: 1px solid #d9d3c9;
}

.account-dialog-head h2 { margin: 8px 0 4px; font-family: inherit; font-size: 30px; font-weight: 550; letter-spacing: -.8px; }
.account-dialog-head > p:last-child { color: #777168; font-size: 13px; }
.account-form { display: block; margin: 0; }

.account-section {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 34px;
  padding: 28px 38px;
  border-bottom: 1px solid #ddd7cd;
}

.account-section h3 { margin: 6px 0 8px; font-size: 17px; font-weight: 600; letter-spacing: -.25px; }
.account-section > div:first-child > p { color: #827b71; font-size: 11px; line-height: 1.55; }
.account-section-kicker { color: #8b704b; font-size: 9px; font-weight: 650; letter-spacing: .14em; text-transform: uppercase; }
.account-fields { display: grid; gap: 16px; }
.account-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.account-dialog .account-fields label, .account-dialog .password-fields label { gap: 7px; color: #5c5750; font-size: 11px; }
.account-dialog input:not([type="checkbox"]), .account-dialog textarea, .account-dialog select {
  width: 100%;
  min-height: 46px;
  padding: 11px 13px;
  border: 1px solid #cbc4b9;
  border-radius: 11px;
  background: rgba(255, 253, 249, .8);
  color: #24221f;
  font: inherit;
}
.account-dialog textarea { min-height: 92px; resize: vertical; }
.account-dialog input:focus, .account-dialog textarea:focus, .account-dialog select:focus { outline: 2px solid #9c815a; outline-offset: 2px; border-color: #9c815a; }

.avatar-editor { display: flex; align-items: center; gap: 18px; }
.avatar-editor img { width: 82px; height: 82px; flex: none; object-fit: cover; object-position: 50% 18%; border-radius: 50%; border: 1px solid #c9c1b5; }
.avatar-editor > div { display: grid; justify-items: start; gap: 8px; }
.avatar-editor input { position: absolute; width: 1px !important; height: 1px; opacity: 0; pointer-events: none; }
.avatar-upload { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid #bbb2a5; border-radius: 11px; background: #fffdf9; font-size: 12px; font-weight: 550; cursor: pointer; }
.avatar-upload:hover { border-color: #8c806f; background: #fff; }
.avatar-editor small { color: #8b847b; font-size: 10px; }

.account-security { border-bottom: 1px solid #ddd7cd; }
.account-security summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 94px; padding: 22px 38px; cursor: pointer; list-style: none; }
.account-security summary::-webkit-details-marker { display: none; }
.account-security summary > span { display: grid; gap: 5px; }
.account-security summary strong { font-size: 16px; font-weight: 600; }
.account-security summary small { color: #827b71; font-size: 11px; }
.account-security summary svg { width: 20px; height: 20px; transition: transform .18s ease; }
.account-security[open] summary svg { transform: rotate(90deg); }
.password-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 0 38px 28px 262px; }
.password-fields label:first-child { grid-column: 1 / -1; }
.password-fields p { grid-column: 1 / -1; color: #817970; font-size: 10px; }

.account-notifications > div:last-child { display: grid; }
.account-notifications > div:last-child label { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 12px 0; border-bottom: 1px solid #e1dbd1; }
.account-notifications > div:last-child label:last-child { border: 0; }
.account-notifications label span { display: grid; gap: 4px; font-size: 12px; }
.account-notifications label small { color: #898278; font-size: 10px; }
.account-notifications input { width: 20px; height: 20px; accent-color: #282621; }

.account-actions { position: sticky; bottom: 0; z-index: 1; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px 38px; background: rgba(248, 245, 239, .96); border-top: 1px solid #d3cdc3; backdrop-filter: blur(12px); }
.account-actions > div { min-width: 0; }
.account-actions .feedback { padding: 0; }
.account-actions .form-note { margin-top: 2px; font-size: 9px; }
.account-actions .button { flex: none; }

@media (max-width: 700px) {
  .account-dialog { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); border-radius: 18px; }
  .account-dialog-head { padding: 28px 20px 20px; }
  .account-dialog-head h2 { font-size: 26px; }
  .account-section { grid-template-columns: 1fr; gap: 16px; padding: 24px 20px; }
  .account-section > div:first-child > p { max-width: 340px; }
  .account-field-row { grid-template-columns: 1fr; }
  .password-fields { grid-template-columns: 1fr; padding: 0 20px 24px; }
  .password-fields label:first-child { grid-column: auto; }
  .account-security summary { min-height: 88px; padding: 20px; }
  .account-actions { align-items: stretch; flex-direction: column-reverse; padding: 14px 20px max(14px, env(safe-area-inset-bottom)); }
  .account-actions .button { width: 100%; }
}

/* ---- property-editor.css ---- */
.property-editor-dialog {
  width: min(860px, calc(100vw - 32px));
  padding: 0;
  border-color: #d2cbc0;
  border-radius: 22px;
  background: #f8f5ef;
}

.property-editor-head { padding: 32px 38px 22px; }
.property-editor-head h2 { margin: 8px 0 4px; font-family: inherit; font-size: 30px; font-weight: 550; letter-spacing: -.8px; }
.property-editor-head > p:last-child { color: #797269; font-size: 13px; }
.property-editor-steps { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0 38px 22px; border-bottom: 1px solid #d9d3c9; }
.property-editor-steps button { position: relative; display: flex; align-items: center; gap: 10px; min-height: 54px; padding: 0 14px; border: 1px solid #d5cec3; border-right: 0; background: rgba(255, 253, 249, .54); text-align: left; color: #847d74; }
.property-editor-steps button:first-child { border-radius: 12px 0 0 12px; }
.property-editor-steps button:last-child { border-right: 1px solid #d5cec3; border-radius: 0 12px 12px 0; }
.property-editor-steps button[aria-current="step"] { background: #292722; color: #fff; border-color: #292722; }
.property-editor-steps button > span:first-child { display: grid; place-items: center; width: 24px; height: 24px; flex: none; border: 1px solid currentColor; border-radius: 50%; font-size: 10px; }
.property-editor-steps button > span:last-child { display: grid; gap: 2px; font-size: 11px; font-weight: 600; }
.property-editor-steps small { color: inherit; font-size: 9px; font-weight: 400; opacity: .72; }

.property-editor-form { display: block; margin: 0; }
.property-editor-panel { padding: 30px 38px 34px; }
.editor-panel-intro { margin-bottom: 25px; }
.editor-panel-intro h3 { margin: 6px 0 7px; font-size: 23px; font-weight: 560; letter-spacing: -.45px; }
.editor-panel-intro p { max-width: 520px; color: #7c756c; font-size: 12px; line-height: 1.55; }
.editor-step-label { color: #8a704b; font-size: 9px; font-weight: 650; letter-spacing: .13em; text-transform: uppercase; }
.property-editor-panel > label, .editor-field-row label, .editor-price-field label { display: grid; gap: 7px; margin-top: 16px; color: #5d5851; font-size: 11px; }
.property-editor-panel input:not([type="radio"]):not([type="checkbox"]):not([type="file"]), .property-editor-panel textarea, .property-editor-panel select { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #c9c2b7; border-radius: 11px; background: rgba(255, 253, 249, .84); color: #24221f; font: inherit; }
.property-editor-panel textarea { min-height: 108px; resize: vertical; }
.property-editor-panel input:focus, .property-editor-panel textarea:focus, .property-editor-panel select:focus { outline: 2px solid #9b8059; outline-offset: 2px; border-color: #9b8059; }
.editor-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.editor-field-row.three { grid-template-columns: repeat(3, 1fr); }
.field-help { color: #888077; font-size: 9px; }
.property-editor-panel [data-field-status] { position: relative; }
.property-editor-panel [data-field-status]::after { content: attr(data-field-status); position: absolute; top: 0; right: 0; color: #8a8278; font-size: 8px; font-style: normal; letter-spacing: .03em; }
.property-editor-panel [data-field-status="Обязательно"]::after { color: #795d38; font-weight: 650; }
.property-editor-panel .property-photo-drop[data-field-status]::after { top: 12px; right: 14px; }
.inline-required { display: inline; margin-left: 5px; color: #795d38; font-size: 8px; font-weight: 650; white-space: nowrap; }

.choice-group { margin: 18px 0 0; padding: 0; border: 0; }
.choice-group legend { width: 100%; margin-bottom: 8px; color: #5d5851; font-size: 11px; }
.choice-cards { display: grid; gap: 9px; }
.choice-cards.two { grid-template-columns: repeat(2, 1fr); }
.choice-cards.three { grid-template-columns: repeat(3, 1fr); }
.choice-cards label { position: relative; cursor: pointer; }
.choice-cards input { position: absolute; opacity: 0; pointer-events: none; }
.choice-cards label > span { display: grid; gap: 3px; min-height: 58px; align-content: center; padding: 10px 13px; border: 1px solid #cec7bc; border-radius: 12px; background: rgba(255, 253, 249, .65); color: #494641; font-size: 12px; }
.choice-cards small { color: #857f76; font-size: 9px; }
.choice-cards input:checked + span { border-color: #78613f; background: #eee6d9; box-shadow: inset 0 0 0 1px #78613f; color: #2a2722; }
.choice-cards input:focus-visible + span { outline: 2px solid #9b8059; outline-offset: 2px; }

.editor-price-field { position: relative; }
.editor-price-field > span { position: absolute; right: 15px; bottom: 15px; color: #736b61; font-size: 13px; }
.editor-price-field input { padding-right: 40px !important; font-size: 19px !important; font-weight: 560 !important; }
.property-photo-drop { display: grid !important; justify-items: center; gap: 7px !important; min-height: 140px; align-content: center; margin-top: 0 !important; border: 1px dashed #a99d8d; border-radius: 15px; background: rgba(255, 253, 249, .55); text-align: center; cursor: pointer; }
.property-photo-drop:hover { border-color: #77684f; background: #fffdf9; }
.property-photo-drop svg { width: 24px; height: 24px; }
.property-photo-drop strong { color: #393631; font-size: 13px; }
.property-photo-drop span { color: #837c72; font-size: 9px; }
.property-photo-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.property-photo-preview { display: flex; gap: 8px; min-height: 64px; margin-top: 10px; align-items: center; overflow-x: auto; }
.property-photo-preview > span { color: #8a8379; font-size: 10px; }
.property-photo-preview img { width: 76px; height: 58px; flex: none; object-fit: cover; border: 1px solid #d0c8bc; border-radius: 9px; }
.editor-check { display: flex !important; grid-template-columns: auto 1fr; align-items: flex-start; gap: 10px !important; padding: 14px; border: 1px solid #d5cec3; border-radius: 12px; background: rgba(255, 253, 249, .55); line-height: 1.5; }
.editor-check input { width: 18px; height: 18px; flex: none; accent-color: #292722; }

.property-editor-actions { position: sticky; bottom: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 38px; border-top: 1px solid #d3ccc1; background: rgba(248, 245, 239, .96); backdrop-filter: blur(12px); }
.property-editor-actions > div:last-child { display: flex; gap: 9px; }
.property-editor-actions .feedback { padding: 0; }
.property-editor-actions .form-note { font-size: 9px; }

@media (max-width: 700px) {
  .property-editor-dialog { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); border-radius: 18px; }
  .property-editor-head { padding: 27px 20px 18px; }
  .property-editor-head h2 { font-size: 26px; }
  .property-editor-steps { padding: 0 20px 18px; }
  .property-editor-steps button { justify-content: center; min-height: 45px; padding: 0; }
  .property-editor-steps button > span:last-child { display: none; }
  .property-editor-panel { padding: 24px 20px 28px; }
  .editor-field-row, .editor-field-row.three { grid-template-columns: 1fr; gap: 0; }
  .choice-cards.three { grid-template-columns: 1fr 1fr 1fr; }
  .choice-cards label > span { min-height: 52px; padding: 9px; font-size: 11px; }
  .choice-cards small { display: none; }
  .property-editor-actions { align-items: stretch; flex-direction: column-reverse; padding: 12px 20px max(12px, env(safe-area-inset-bottom)); }
  .property-editor-actions > div:last-child { width: 100%; }
  .property-editor-actions .button { flex: 1; }
}

/* ---- studio.css ---- */
/* Studio 2026: an operational real-estate workspace, built as a reversible visual layer. */
:root {
  --studio-page: #f2eee6;
  --studio-panel: #fffdf9;
  --studio-selected: #e8e0d3;
  --studio-ink: #171613;
  --studio-muted: #655f56;
  --studio-faint: #655f56;
  --studio-line: #988a76;
  --studio-line-soft: #d8cfc1;
  --studio-accent: #8b6b38;
  --studio-accent-dark: #65491f;
  --studio-gold: #c1a36c;
  --studio-gold-bright: #ead8af;
  --studio-frame: #171613;
  --studio-frame-soft: #24221d;
  --studio-on-frame: #f7f1e7;
  --studio-positive: #49643f;
  --studio-urgent: #934b3a;
  --studio-focus: #765b34;
  --studio-radius-control: 10px;
  --studio-radius-card: 16px;
  --studio-radius-panel: 24px;
  --studio-shadow-float: 0 18px 42px rgba(42, 39, 34, .16);
  --studio-shadow-card: 0 7px 18px rgba(42, 39, 34, .07);
  --duration-quick: 150ms;
  --duration-fast: 250ms;
  --duration-medium: 350ms;
  --ease-smooth-out: cubic-bezier(.22, 1, .36, 1);
  --tabs-dur: 250ms;
  --tabs-ease: cubic-bezier(.22, 1, .36, 1);
  --tabs-text-muted: #67635c;
  --tabs-text-active: #24231f;
  --tabs-bar-bg: #e8e0d3;
  --tabs-pill-bg: #fffdf9;
}

body.studio {
  min-height: 100dvh;
  padding-bottom: 0;
  background: var(--studio-page);
  color: var(--studio-ink);
  font-family: Manrope, Arial, sans-serif;
  font-size: 14px;
}

body.studio::before {
  display: none;
}

body.studio ::selection {
  background: #d7c7ae;
  color: var(--studio-ink);
}

body.studio button:focus-visible,
body.studio a:focus-visible,
body.studio select:focus-visible,
body.studio input:focus-visible,
body.studio textarea:focus-visible,
body.studio summary:focus-visible {
  outline: 3px solid var(--studio-focus);
  outline-offset: 3px;
}

body.studio .concept-strip {
  min-height: 32px;
  padding: 0 max(24px, calc((100vw - 1280px) / 2));
  border: 0;
  border-bottom: 1px solid rgba(193, 163, 108, .28);
  background: #0f0f0d;
  color: #f5f0e7;
  font-size: 11px;
  letter-spacing: .08em;
}

body.studio .concept-strip a {
  color: #e1d4c0;
  text-decoration: none;
  text-underline-offset: 3px;
}

body.studio .site-header,
body.studio[data-screen="chat"] > .site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  width: 100%;
  height: 68px;
  border: 0;
  border-bottom: 1px solid rgba(193, 163, 108, .32);
  border-radius: 0;
  background: rgba(23, 22, 19, .97);
  box-shadow: none;
  backdrop-filter: blur(18px);
}

body.studio .header-inner,
body.studio[data-screen="chat"] .header-inner {
  width: min(100%, 1328px);
  max-width: none;
  height: 100%;
  margin: 0 auto;
  padding: 0 24px;
  gap: 22px;
}

body.studio .brand,
body.studio[data-screen="chat"] .brand {
  display: flex;
  width: 112px;
  height: 54px;
  padding: 0;
  border: 0;
  border-radius: 0;
  overflow: visible;
  background: transparent;
}

body.studio .brandmark,
body.studio[data-screen="chat"] .brandmark {
  width: 112px;
  height: 54px;
}

body.studio .brand-note,
body.studio[data-screen="chat"] .brand-note {
  padding-left: 18px;
  border-color: rgba(193, 163, 108, .3);
  color: #c9c0b2;
  font-size: 11px;
  line-height: 1.55;
}

body.studio .primary-nav,
body.studio[data-screen="chat"] .primary-nav {
  align-self: stretch;
  gap: 6px;
  margin-inline: auto;
  padding: 9px 0;
}

body.studio .primary-nav button,
body.studio[data-screen="chat"] .primary-nav button {
  min-height: 48px;
  padding: 0 16px;
  border: 0;
  border-radius: var(--studio-radius-control);
  background: transparent;
  border: 1px solid transparent;
  color: #c9c0b2;
  font-size: 12px;
  font-weight: 600;
  transition: color var(--duration-quick) ease, background-color var(--duration-quick) ease;
}

body.studio .primary-nav button[aria-current="page"],
body.studio[data-screen="chat"] .primary-nav button[aria-current="page"] {
  border-color: rgba(193, 163, 108, .32);
  background: rgba(193, 163, 108, .12);
  color: var(--studio-gold-bright);
}

body.studio .primary-nav button[aria-current="page"]::after,
body.studio[data-screen="chat"] .primary-nav button[aria-current="page"]::after {
  display: none;
}

body.studio .header-tools .icon-button,
body.studio .header-tools .self-profile,
body.studio[data-screen="chat"] .header-tools .icon-button,
body.studio[data-screen="chat"] .header-tools .self-profile {
  min-height: 44px;
  border: 1px solid rgba(193, 163, 108, .32);
  background: var(--studio-frame-soft);
  color: var(--studio-on-frame);
}

body.studio .header-tools .self-profile,
body.studio[data-screen="chat"] .header-tools .self-profile {
  padding: 4px 12px 4px 4px;
  border-radius: 999px;
}

body.studio .self-profile .avatar {
  background: #39342c;
  color: var(--studio-gold-bright);
}

body.studio .page-shell {
  width: min(100%, 1328px);
  max-width: none;
  margin: 0 auto;
  padding-inline: 24px;
}

body.studio .catalog-screen .editorial-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 40px;
  padding: 48px 0 30px;
}

body.studio .catalog-screen .editorial-heading .eyebrow {
  display: none;
}

body.studio .catalog-screen .editorial-heading h1 {
  max-width: 720px;
  margin: 0;
  font-family: Manrope, Arial, sans-serif;
  font-size: clamp(44px, 5vw, 72px);
  font-weight: 600;
  line-height: .98;
  letter-spacing: -.04em;
}

body.studio .catalog-screen .editorial-heading h1 span {
  color: var(--studio-ink);
  font-weight: 400;
}

body.studio .catalog-screen .heading-aside {
  display: grid;
  justify-items: end;
  gap: 16px;
}

body.studio .catalog-screen .heading-aside p {
  max-width: 34ch;
  color: var(--studio-muted);
  font-size: 12px;
  line-height: 1.6;
  text-align: right;
}

body.studio .button {
  min-height: 46px;
  border-radius: var(--studio-radius-control);
  font-weight: 600;
}

body.studio .button.primary {
  border: 1px solid var(--studio-ink);
  background: var(--studio-ink);
  color: #ffffff;
}

body.studio .button.secondary,
body.studio button.text-button,
body.studio .deals-chat-link,
body.studio .invite-back,
body.studio .invite-copy-link {
  border: 1px solid var(--studio-line);
  border-radius: var(--studio-radius-control);
  background: var(--studio-panel);
  color: var(--studio-ink);
}

body.studio .search-bar {
  display: grid;
  grid-template-columns: minmax(280px, 1.5fr) minmax(170px, .75fr) minmax(190px, .8fr) auto;
  min-height: 74px;
  padding: 8px;
  overflow: visible;
  border: 1px solid var(--studio-line);
  border-radius: var(--studio-radius-card);
  background: var(--studio-panel);
  box-shadow: var(--studio-shadow-card);
}

body.studio .search-field,
body.studio .quick-select,
body.studio .filter-disclosure summary {
  min-height: 56px;
  border-color: var(--studio-line-soft);
  border-radius: var(--studio-radius-control);
}

body.studio .search-field {
  padding-inline: 18px;
  background: #eeeeea;
}

body.studio .search-field input {
  height: 56px;
  color: var(--studio-ink);
  font-size: 14px;
}

body.studio .search-field input::placeholder {
  color: #777168;
  opacity: 1;
}

body.studio .quick-select {
  padding-inline: 18px;
}

body.studio .quick-select > span {
  color: var(--studio-faint);
  font-size: 11px;
}

body.studio .quick-select select {
  color: var(--studio-ink);
  font-size: 12px;
  font-weight: 600;
}

body.studio .filter-disclosure {
  margin: 0;
}

body.studio .filter-disclosure summary {
  margin-left: 8px;
  padding-inline: 16px;
  border: 1px solid var(--studio-line);
  background: var(--studio-panel);
  color: var(--studio-ink);
}

body.studio .filter-popover {
  top: calc(100% + 10px);
  width: 340px;
  padding: 22px;
  border: 1px solid var(--studio-line);
  border-radius: var(--studio-radius-card);
  background: var(--studio-panel);
  box-shadow: var(--studio-shadow-float);
}

body.studio .catalog-toolbar {
  margin: 18px 0;
}

body.studio .scope-tabs,
body.studio .deal-filters {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--studio-line-soft);
  border-radius: 13px;
  background: #e9e7e2;
}

body.studio .scope-tabs button,
body.studio .deal-filters button {
  min-height: 40px;
  padding: 0 14px;
  border-radius: 9px;
  color: var(--studio-muted);
  font-size: 11px;
  font-weight: 600;
}

body.studio .scope-tabs button[aria-pressed="true"],
body.studio .deal-filters button[aria-pressed="true"] {
  background: var(--studio-panel);
  color: var(--studio-ink);
  box-shadow: 0 2px 8px rgba(55, 46, 34, .08);
}

body.studio .sort-field,
body.studio .layout-picker button {
  min-height: 42px;
  border: 1px solid var(--studio-line);
  border-radius: var(--studio-radius-control);
  background: var(--studio-panel);
}

body.studio .layout-picker {
  gap: 6px;
}

body.studio .layout-picker button[aria-pressed="true"] {
  background: var(--studio-ink);
  color: var(--studio-panel);
}

body.studio .catalog-screen .property-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

body.studio .catalog-screen .collection-card {
  border: 1px solid var(--studio-line);
  border-radius: var(--studio-radius-card);
  background: var(--studio-panel);
  box-shadow: none;
  transition: transform var(--duration-fast) var(--ease-smooth-out), border-color var(--duration-quick) ease, box-shadow var(--duration-fast) var(--ease-smooth-out);
}

body.studio .catalog-screen .photo-link,
body.studio .catalog-screen .property-card:nth-child(2) .photo-link,
body.studio .catalog-screen .property-grid.is-filtered .photo-link {
  min-height: 0;
  aspect-ratio: 4 / 3;
}

body.studio .catalog-screen .property-visual {
  border-radius: 0;
}

body.studio .property-kind,
body.studio .property-ownership,
body.studio .property-photo-note,
body.studio .photo-pager {
  border-radius: 8px;
  font-size: 11px;
}

body.studio .catalog-screen .save-button {
  border-color: rgba(36, 35, 31, .2);
  border-radius: 10px;
  background: rgba(255, 254, 251, .94);
}

body.studio .catalog-screen .property-info {
  padding: 18px 18px 0;
  background: var(--studio-panel);
}

body.studio .catalog-screen .property-price {
  font-size: 22px;
  font-variant-numeric: tabular-nums;
}

body.studio .catalog-screen .property-title {
  margin-top: 10px;
  font-family: Manrope, Arial, sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -.025em;
}

body.studio .property-location {
  color: var(--studio-muted);
  font-size: 11px;
}

body.studio .property-facts {
  gap: 6px;
  margin: 14px 0 16px;
}

body.studio .property-facts > span {
  padding: 6px 8px;
  border-radius: 7px;
  background: #f0ece4;
  color: #554d42;
  font-size: 11px;
}

body.studio .catalog-screen .property-agent {
  min-height: 66px;
  margin-inline: -18px;
  padding: 10px 12px;
  border-color: var(--studio-line-soft);
  background: #f5f1e9;
}

body.studio .catalog-screen .property-agent .agent-link {
  border: 0;
  background: transparent;
  font-size: 11px;
}

body.studio .catalog-screen .property-agent small,
body.studio .price-per-meter {
  color: var(--studio-muted);
  font-size: 11px;
}

body.studio .catalog-screen .property-agent .card-open {
  min-height: 42px;
  padding-inline: 12px;
  border-color: var(--studio-line);
  background: var(--studio-panel);
}

body.studio .network-note {
  margin-top: 54px;
  padding: 36px 0 48px;
  border-color: var(--studio-line);
}

body.studio .network-note > .eyebrow {
  color: var(--studio-accent);
}

body.studio .profile-screen {
  padding-bottom: 120px;
}

body.studio .profile-editorial {
  grid-template-columns: 240px minmax(0, 1fr);
  gap: clamp(36px, 6vw, 82px);
  max-width: 1120px;
  padding-top: 56px;
}

body.studio .portrait-column figure > img {
  height: 300px;
  border-radius: var(--studio-radius-card);
  box-shadow: none;
}

body.studio .portrait-column figcaption {
  border-radius: 8px;
  background: rgba(36, 35, 31, .82);
  backdrop-filter: none;
}

body.studio .profile-story {
  padding-top: 2px;
}

body.studio .profile-story > .eyebrow {
  margin-bottom: 14px;
  color: var(--studio-accent);
}

body.studio .profile-name-row h1 {
  font-size: clamp(42px, 5vw, 68px);
  letter-spacing: -.04em;
}

body.studio .profile-position {
  max-width: 620px;
  margin-top: 16px;
  color: var(--studio-muted);
  font-size: 17px;
}

body.studio .profile-actions .button {
  min-height: 46px;
}

body.studio .profile-facts {
  margin-top: 28px;
  border-color: var(--studio-line-soft);
}

body.studio .profile-facts button {
  min-height: 28px;
}

body.studio .profile-facts > div + div {
  border-color: var(--studio-line-soft);
}

body.studio .profile-about {
  grid-template-columns: 150px minmax(0, 1fr);
}

body.studio .expertise span {
  border-color: var(--studio-line-soft);
  border-radius: 8px;
  background: var(--studio-panel);
}

body.studio .profile-selection {
  max-width: 1120px;
  margin-top: 64px;
  border-color: var(--studio-line);
}

body.studio .profile-property-pair {
  max-width: 1120px;
  gap: 16px;
}

body.studio .profile-property-pair button {
  grid-template-columns: 126px minmax(0, 1fr) 20px;
  border: 1px solid var(--studio-line);
  border-radius: var(--studio-radius-card);
  background: var(--studio-panel);
}

body.studio .profile-property-pair img {
  width: 126px;
  height: 94px;
  border-radius: 10px;
}

body.studio .deals-screen {
  width: min(100%, 1328px);
  padding-inline: 24px;
  padding-bottom: 120px;
}

body.studio .deals-header {
  align-items: end;
  padding: 48px 0 28px;
  border-color: var(--studio-line);
}

body.studio .deals-header .eyebrow {
  display: none;
}

body.studio .deals-header h1 {
  font-size: clamp(44px, 5vw, 68px);
}

body.studio .deals-overview {
  gap: 8px;
}

body.studio .deals-overview > div {
  min-width: 126px;
  border-color: var(--studio-line);
  border-radius: var(--studio-radius-control);
  background: var(--studio-panel);
}

body.studio .deal-row {
  border-color: var(--studio-line);
  border-radius: var(--studio-radius-card);
  background: var(--studio-panel);
  box-shadow: none;
  transition: transform var(--duration-fast) var(--ease-smooth-out), border-color var(--duration-quick) ease, box-shadow var(--duration-fast) var(--ease-smooth-out);
}

body.studio .deal-object img {
  border-radius: 10px;
}

body.studio .deal-open {
  border-color: var(--studio-line);
  border-radius: var(--studio-radius-control);
  background: #f2eee7;
}

body.studio .deal-next.is-urgent {
  padding: 10px;
  border: 1px solid #d5b3a9;
  border-radius: 9px;
  background: #f8ece8;
}

body.studio .deal-next.is-urgent small {
  color: var(--studio-urgent);
}

body.studio[data-screen="chat"] {
  position: fixed;
  display: grid;
  grid-template-rows: 68px minmax(0, 1fr);
  background: var(--studio-page);
}

body.studio[data-screen="chat"] > .concept-strip {
  display: none;
}

body.studio[data-screen="chat"] .chat-workspace {
  background: var(--studio-panel);
}

body.studio[data-screen="chat"] .chat-inbox {
  border-color: var(--studio-line-soft);
  background: #efefec;
}

body.studio[data-screen="chat"] .chat-inbox-intro h1 {
  font-size: 27px;
}

body.studio .chat-hub-tabs {
  margin: 0 16px 14px;
  padding: 3px;
}

body.studio .chat-hub-tabs button {
  min-height: 36px;
  height: 36px;
  padding-inline: 14px;
  background: transparent !important;
}

body.studio[data-screen="chat"] .chat-inbox-search {
  border: 1px solid var(--studio-line-soft);
  background: var(--studio-panel);
}

body.studio[data-screen="chat"] .chat-inbox-item {
  border: 1px solid transparent;
  border-radius: 12px;
}

body.studio[data-screen="chat"] .chat-inbox-item[aria-pressed="true"] {
  border-color: var(--studio-line);
  background: var(--studio-panel);
}

body.studio[data-screen="chat"] .chat-contact-header,
body.studio[data-screen="chat"] .chat-composer {
  border-color: var(--studio-line-soft);
  background: var(--studio-panel);
}

body.studio[data-screen="chat"] .chat-compose-field {
  border-color: var(--studio-line);
  border-radius: var(--studio-radius-card);
  background: #f4f0e8;
}

body.studio .invite-screen {
  max-width: 1328px;
  min-height: calc(100dvh - 100px);
  background: var(--studio-page);
}

body.studio .invite-copy h1 {
  font-family: Manrope, Arial, sans-serif;
  font-weight: 600;
  letter-spacing: -.04em;
}

body.studio .invite-image {
  margin: 24px 24px 24px 0;
  min-height: 700px;
  border-radius: var(--studio-radius-panel);
}

body.studio dialog {
  border: 0;
  border-radius: var(--studio-radius-panel);
  background: var(--studio-panel);
  color: var(--studio-ink);
  box-shadow: var(--studio-shadow-float);
}

body.studio dialog::backdrop {
  background: rgba(36, 35, 31, .44);
  backdrop-filter: blur(2px);
}

body.studio dialog h2 {
  font-family: Manrope, Arial, sans-serif;
  font-weight: 600;
  letter-spacing: -.035em;
}

body.studio dialog input,
body.studio dialog textarea,
body.studio dialog select {
  border-color: var(--studio-line);
  border-radius: var(--studio-radius-control);
  background: #f5f1e9;
}

body.studio .field-status {
  display: inline-flex;
  margin-left: 7px;
  color: var(--studio-faint);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

body.studio .field-status.is-required {
  color: var(--studio-accent-dark);
  font-weight: 700;
}

/* transitions.dev: exact tabs-sliding structure and timings. */
.t-tabs {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px;
  border-radius: 48px;
  background: var(--tabs-bar-bg);
}
.t-tab {
  position: relative;
  appearance: none;
  border: 0;
  background: transparent;
  height: 30px;
  padding: 4px 12px;
  color: var(--tabs-text-muted);
  cursor: pointer;
  border-radius: 48px;
  z-index: 1;
  transition: color var(--tabs-dur) var(--tabs-ease);
}
.t-tab:not([aria-selected="true"]):hover,
.t-tab[aria-selected="true"] {
  color: var(--tabs-text-active);
}
.t-tabs-pill {
  position: absolute;
  top: 3px;
  left: 0;
  height: 36px;
  width: 0;
  background: var(--tabs-pill-bg);
  border: 1px solid var(--studio-line-soft);
  border-radius: 48px;
  transform: translateX(0);
  transition: transform var(--tabs-dur) var(--tabs-ease);
  will-change: transform;
  z-index: 0;
  pointer-events: none;
}

body.studio main > section:not([hidden]) {
  animation: studio-screen-in var(--duration-fast) var(--ease-smooth-out) both;
}

@keyframes studio-screen-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (hover: hover) and (pointer: fine) {
  body.studio .primary-nav button:hover {
    background: #eeeeea;
    color: var(--studio-ink);
  }

  body.studio .button.primary:hover {
    border-color: var(--studio-accent-dark);
    background: var(--studio-accent-dark);
  }

  body.studio .button.secondary:hover,
  body.studio button.text-button:hover,
  body.studio .deals-chat-link:hover {
    border-color: var(--studio-accent);
    color: var(--studio-accent-dark);
  }

  body.studio .catalog-screen .collection-card:hover,
  body.studio .deal-row:hover {
    transform: translateY(-2px);
    border-color: #a4937a;
    box-shadow: var(--studio-shadow-card);
  }
}

body.studio button:active {
  transform: scale(.98);
}

body.studio .deal-object small,
body.studio .deal-stage small,
body.studio .deal-partner small,
body.studio .deal-next small,
body.studio .deal-object span,
body.studio .deal-next span,
body.studio .deals-overview span,
body.studio .deals-demo-note {
  color: var(--studio-muted);
  font-size: 11px;
  text-transform: none;
}

body.studio .profile-context,
body.studio .profile-facts span,
body.studio .profile-facts button,
body.studio .profile-property-pair small {
  color: var(--studio-muted);
  font-size: 11px;
}

body.studio .chat-local-note,
body.studio .chat-inbox-subject,
body.studio .chat-inbox-preview,
body.studio .chat-request-kicker,
body.studio .chat-request-item small {
  color: var(--studio-muted);
  font-size: 11px;
}

@media (max-width: 1080px) {
  body.studio .brand-note {
    display: none;
  }

  body.studio .catalog-screen .property-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.studio .primary-nav button {
    padding-inline: 12px;
  }
}

@media (max-width: 760px) {
  body.studio {
    padding-bottom: calc(82px + env(safe-area-inset-bottom));
  }

  body.studio .concept-strip {
    display: none;
  }

  body.studio .site-header,
  body.studio[data-screen="chat"] > .site-header {
    height: 60px;
  }

  body.studio .header-inner,
  body.studio[data-screen="chat"] .header-inner {
    padding-inline: 16px;
  }

  body.studio .brand,
  body.studio[data-screen="chat"] .brand {
    width: 92px;
    height: 52px;
  }

  body.studio .brandmark,
  body.studio[data-screen="chat"] .brandmark {
    width: 92px;
    height: 52px;
  }

  body.studio .primary-nav {
    display: none;
  }

  body.studio .page-shell,
  body.studio .deals-screen {
    padding-inline: 16px;
  }

  body.studio .catalog-screen .editorial-heading {
    display: block;
    padding: 30px 0 22px;
  }

  body.studio .catalog-screen .editorial-heading h1 {
    font-size: 43px;
    line-height: 1.02;
  }

  body.studio .catalog-screen .heading-aside {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 22px;
  }

  body.studio .catalog-screen .heading-aside p {
    max-width: 24ch;
    font-size: 11px;
    text-align: left;
  }

  body.studio .search-bar {
    grid-template-columns: 1fr 1fr 48px;
    min-height: 0;
    padding: 6px;
    border-radius: 14px;
  }

  body.studio .search-field {
    grid-column: 1 / -1;
    border-bottom: 0;
  }

  body.studio .quick-select {
    padding-inline: 12px;
  }

  body.studio .filter-disclosure summary {
    margin-left: 0;
    padding-inline: 14px;
  }

  body.studio .catalog-toolbar {
    flex-wrap: wrap;
    gap: 10px;
  }

  body.studio .scope-tabs {
    width: 100%;
    overflow-x: auto;
  }

  body.studio .scope-tabs button {
    flex: 1 0 auto;
  }

  body.studio .view-tools {
    width: 100%;
    justify-content: space-between;
  }

  body.studio .sort-field {
    display: flex;
  }

  body.studio .catalog-screen .property-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body.studio .catalog-screen .photo-link,
  body.studio .catalog-screen .property-card:nth-child(2) .photo-link,
  body.studio .catalog-screen .property-grid.is-filtered .photo-link {
    aspect-ratio: 1.5;
  }

  body.studio .profile-editorial {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 18px;
    padding-top: 30px;
  }

  body.studio .portrait-column {
    order: 0;
  }

  body.studio .portrait-column figure > img {
    width: 92px;
    height: 112px;
    border-radius: 14px;
  }

  body.studio .portrait-column figcaption,
  body.studio .portrait-caption {
    display: none;
  }

  body.studio .profile-story {
    display: block;
    min-width: 0;
    padding: 0;
  }

  body.studio .profile-story > .eyebrow,
  body.studio .profile-name-row,
  body.studio .profile-position,
  body.studio .profile-context,
  body.studio .profile-actions,
  body.studio .profile-facts,
  body.studio .profile-about {
    order: initial;
  }

  body.studio .profile-story > .eyebrow {
    margin: 0 0 8px;
    font-size: 11px;
  }

  body.studio .profile-name-row h1 {
    font-size: 32px;
  }

  body.studio .profile-verified {
    width: 22px;
    height: 22px;
  }

  body.studio .profile-position {
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.45;
  }

  body.studio .profile-context {
    gap: 6px 12px;
    margin-top: 10px;
    font-size: 11px;
  }

  body.studio .profile-actions,
  body.studio .profile-facts,
  body.studio .profile-about {
    grid-column: 1 / -1;
  }

  body.studio .profile-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 22px;
  }

  body.studio .profile-actions .button {
    min-width: 0;
    padding-inline: 12px;
    font-size: 11px;
  }

  body.studio .profile-facts {
    margin-top: 22px;
  }

  body.studio .profile-about {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  body.studio .profile-selection {
    margin-top: 40px;
  }

  body.studio .profile-property-pair {
    grid-template-columns: 1fr;
  }

  body.studio .deals-header {
    padding-top: 30px;
  }

  body.studio .deals-overview {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }

  body.studio .deals-overview > div {
    min-width: 0;
    padding: 12px 10px;
  }

  body.studio .deal-row {
    border-radius: 14px;
  }

  body.studio .invite-image {
    margin: 0 16px 110px;
    min-height: 430px;
    border-radius: var(--studio-radius-card);
  }

  body.studio > .signature-dock,
  body.studio[data-screen="chat"] > .signature-dock {
    position: fixed;
    right: 12px;
    bottom: calc(10px + env(safe-area-inset-bottom));
    left: 12px;
    z-index: 70;
    display: block;
    width: auto;
    margin: 0;
    padding: 5px;
    transform: none;
    border: 1px solid var(--studio-line);
    border-radius: 18px;
    background: rgba(255, 254, 251, .96);
    box-shadow: 0 12px 38px rgba(44, 38, 30, .18);
    backdrop-filter: blur(18px);
  }

  body.studio .signature-dock nav,
  body.studio[data-screen="chat"] .signature-dock nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    height: 58px;
    gap: 4px;
  }

  body.studio .signature-dock button,
  body.studio[data-screen="chat"] .signature-dock button {
    width: 100%;
    height: 58px;
    min-height: 58px;
    padding: 5px 2px;
    border-radius: 13px;
    color: var(--studio-muted);
    font-size: 11px;
  }

  body.studio .signature-dock button[aria-current="page"],
  body.studio[data-screen="chat"] .signature-dock button[aria-current="page"] {
    background: var(--studio-selected);
    color: var(--studio-ink);
  }

  body.studio .signature-dock button svg,
  body.studio[data-screen="chat"] .signature-dock button svg {
    width: 20px;
    height: 20px;
  }

  body.studio[data-screen="chat"] {
    grid-template-rows: 60px minmax(0, 1fr);
  }

  body.studio[data-screen="chat"] > main {
    grid-row: 2;
    padding-bottom: 82px;
  }

  body.studio[data-screen="chat"] .chat-workspace {
    height: 100%;
  }
}

/* Frontend-complete states: public invite, local actions and robust small screens. */
body.studio[data-screen="invite"] > .concept-strip,
body.studio[data-screen="invite"] > .site-header,
body.studio[data-screen="invite"] > .signature-dock {
  display: none !important;
}

body.studio[data-screen="invite"] > main {
  min-height: 100dvh;
}

body.studio[data-screen="invite"] .invite-screen {
  min-height: 100dvh;
  margin: 0 auto;
}

body.studio .invite-public-head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 28px;
  color: var(--studio-muted);
  font-size: 12px;
  line-height: 1.45;
}

body.studio .invite-public-head svg {
  width: 112px;
  height: 58px;
  padding: 4px 8px;
  border-radius: var(--studio-radius-control);
  background: var(--studio-frame);
}

body.studio .invite-public-head span {
  padding-left: 16px;
  border-left: 1px solid var(--studio-line-soft);
}

body.studio .invite-accept {
  margin-top: 2px;
}

body.studio .invite-disclaimer,
body.studio .invite-community span,
body.studio .property-card small,
body.studio .deal-row small,
body.studio .deal-row span,
body.studio .profile-context,
body.studio .profile-facts span,
body.studio .form-note,
body.studio .field-help {
  color: var(--studio-muted);
  font-size: 12px;
}

body.studio .deal-dialog-action {
  display: grid;
  gap: 12px;
  margin-top: 20px;
  padding: 18px;
  border: 1px solid var(--studio-line-soft);
  border-radius: var(--studio-radius-card);
  background: #f5f1e9;
}

body.studio .deal-dialog-action[hidden] {
  display: none;
}

body.studio .deal-dialog-action .button {
  justify-self: start;
}

body.studio .deal-file-label {
  display: grid;
  gap: 8px;
  color: var(--studio-ink);
  font-weight: 600;
}

body.studio .deal-file-label[hidden] {
  display: none;
}

body.studio .deal-file-label input {
  min-height: 48px;
  padding: 10px;
}

body.studio .deal-dialog-footer {
  margin-top: 14px;
}

body.studio .deal-row.is-locally-complete {
  border-color: #839676;
  background: #fbfdf9;
}

body.studio .deal-row.is-locally-complete .deal-next {
  padding: 10px;
  border: 1px solid #a9b89f;
  border-radius: var(--studio-radius-control);
  background: #eef4ea;
}

body.studio .field-error {
  color: var(--studio-urgent);
  font-size: 12px;
  font-weight: 600;
}

@media (max-width: 760px) {
  body.studio .search-bar {
    grid-template-columns: 1fr 1fr;
  }

  body.studio .filter-disclosure {
    grid-column: 1 / -1;
  }

  body.studio .filter-disclosure summary {
    width: 100%;
    min-height: 48px;
    justify-content: center;
  }

  body.studio .filter-popover {
    right: 0;
    left: 0;
    width: auto;
  }

  body.studio .layout-picker {
    display: none;
  }

  body.studio .sort-field {
    width: 100%;
  }

  body.studio .sort-field select {
    width: 100%;
  }

  body.studio[data-screen="invite"] .invite-screen {
    display: block;
    padding: 20px 16px 32px;
  }

  body.studio[data-screen="invite"] .invite-copy {
    padding: 0;
  }

  body.studio .invite-public-head {
    margin-bottom: 20px;
  }

  body.studio .invite-image {
    min-height: 380px;
    margin: 28px 0 0;
  }
}

@media (max-width: 390px) {
  body.studio .catalog-screen .editorial-heading h1 {
    font-size: 38px;
  }

  body.studio .catalog-screen .heading-aside p {
    display: none;
  }

  body.studio .profile-editorial {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 14px;
  }

  body.studio .portrait-column figure > img {
    width: 76px;
    height: 94px;
  }

  body.studio .profile-name-row h1 {
    font-size: 28px;
  }
}

@media (max-width: 1000px) {
  body.studio > .signature-dock,
  body.studio[data-screen="chat"] > .signature-dock {
    position: fixed !important;
    right: auto !important;
    bottom: calc(10px + env(safe-area-inset-bottom)) !important;
    left: 50% !important;
    width: min(520px, calc(100% - 24px)) !important;
    max-width: 520px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
  }

  body.studio .signature-dock nav,
  body.studio[data-screen="chat"] .signature-dock nav {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    width: 100% !important;
    height: 58px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.studio { scroll-behavior: auto; }
  body.studio main > section:not([hidden]),
  body.studio dialog[open],
  body.studio .network-note .text-button::after,
  body.studio .invite-accept::after { animation: none !important; }
  body.studio .deal-row,
  body.studio .collection-card,
  body.studio .t-tabs-pill,
  body.studio .t-tab { transition: none !important; }
}

/* Black Frame: the brand lives in the chrome; the workspace stays calm and light. */
body.studio {
  background:
    linear-gradient(180deg, rgba(255, 253, 249, .46), transparent 260px),
    var(--studio-page);
}

body.studio .brandmark,
body.studio[data-screen="chat"] .brandmark {
  display: block;
  filter: none;
  mix-blend-mode: normal;
}

body.studio .button.primary {
  position: relative;
  overflow: hidden;
  border-color: var(--studio-frame);
  background: var(--studio-frame);
  color: var(--studio-on-frame);
}

body.studio .button.primary svg {
  color: currentColor;
}

body.studio .network-note > .eyebrow,
body.studio .profile-story > .eyebrow {
  color: var(--studio-accent-dark);
}

body.studio .invite-accept svg {
  color: var(--studio-gold);
}

body.studio .profile-verified svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  stroke-width: 2.2;
  fill: none;
}

body.studio .profile-story > .eyebrow,
body.studio .invite-copy > .eyebrow,
body.studio .network-note > .eyebrow,
body.studio dialog > .eyebrow,
body.studio dialog .account-dialog-head > .eyebrow,
body.studio dialog .property-editor-head > .eyebrow,
body.studio .property-dialog .detail-copy > .eyebrow {
  display: none;
}

body.studio .catalog-screen .collection-card,
body.studio .deal-row,
body.studio .profile-property-pair button,
body.studio .search-bar {
  border-color: #a99a84;
}

body.studio .property-kind,
body.studio .property-ownership {
  border-color: rgba(193, 163, 108, .42);
}

body.studio .property-ownership,
body.studio .profile-verified {
  background: var(--studio-frame);
  color: var(--studio-gold-bright);
}

body.studio .network-note {
  display: grid;
  grid-template-columns: minmax(120px, .6fr) minmax(260px, 1fr) auto;
  align-items: center;
  gap: 28px;
  margin-bottom: 32px;
  padding: 28px;
  overflow: hidden;
  border: 1px solid rgba(193, 163, 108, .34);
  border-radius: var(--studio-radius-card);
  background: var(--studio-frame);
  color: var(--studio-on-frame);
}

body.studio .network-note p {
  color: var(--studio-on-frame);
}

body.studio .network-note > .eyebrow {
  color: var(--studio-gold);
}

body.studio .network-note .text-button,
body.studio .invite-accept {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

body.studio .network-note .text-button {
  min-height: 48px;
  border-color: rgba(234, 216, 175, .58);
  background: rgba(255, 253, 249, .06);
  color: var(--studio-gold-bright);
}

body.studio .network-note .text-button::after,
body.studio .invite-accept::after {
  position: absolute;
  inset: -80% auto -80% -38%;
  z-index: -1;
  width: 24%;
  content: "";
  transform: rotate(16deg);
  background: linear-gradient(90deg, transparent, rgba(255, 244, 211, .4), transparent);
  animation: studio-gold-sweep 5.6s cubic-bezier(.22, 1, .36, 1) 1.2s infinite;
  pointer-events: none;
}

@keyframes studio-gold-sweep {
  0%, 72% { left: -38%; opacity: 0; }
  76% { opacity: 1; }
  92% { left: 118%; opacity: .9; }
  100% { left: 118%; opacity: 0; }
}

body.studio .invite-copy {
  position: relative;
}

body.studio .invite-copy::before {
  position: absolute;
  top: 34px;
  right: 36px;
  width: 54px;
  height: 1px;
  content: "";
  background: var(--studio-gold);
}

body.studio .invite-community {
  display: flex;
  align-items: center;
  gap: 16px;
  width: fit-content;
  margin: 24px 0 26px;
  padding: 12px 16px 12px 14px;
  border: 1px solid var(--studio-line);
  border-radius: var(--studio-radius-control);
  background: rgba(255, 253, 249, .7);
}

body.studio .invite-community strong {
  min-width: 66px;
  color: var(--studio-accent-dark);
  font-size: 30px;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

body.studio .invite-community span {
  padding-left: 16px;
  border-left: 1px solid var(--studio-line-soft);
  color: var(--studio-muted);
  font-size: 10px;
  line-height: 1.45;
}

body.studio .invite-image {
  outline: 1px solid rgba(193, 163, 108, .34);
  outline-offset: -1px;
}

body.studio .invite-image-caption {
  border-top: 1px solid rgba(234, 216, 175, .35);
  background: rgba(23, 22, 19, .92);
  color: var(--studio-on-frame);
}

body.studio .invite-points p::before {
  background: var(--studio-gold);
}

body.studio[data-screen="chat"] .chat-inbox {
  background: #e9e3d9;
}

body.studio[data-screen="chat"] .chat-inbox-item[aria-pressed="true"] {
  border-color: #9f8b6d;
  background: var(--studio-panel);
}

body.studio .chat-send-button:not(:disabled) {
  background: var(--studio-frame);
  color: var(--studio-gold-bright);
}

body.studio .signature-dock,
body.studio[data-screen="chat"] .signature-dock {
  border-color: rgba(193, 163, 108, .38);
  background: rgba(23, 22, 19, .98);
  box-shadow: 0 14px 38px rgba(16, 14, 10, .3);
}

body.studio .signature-dock button,
body.studio[data-screen="chat"] .signature-dock button {
  color: #c8c0b4;
}

body.studio .signature-dock button[aria-current="page"],
body.studio[data-screen="chat"] .signature-dock button[aria-current="page"] {
  background: #302b23;
  color: var(--studio-gold-bright);
  box-shadow: inset 0 0 0 1px rgba(193, 163, 108, .36);
}

body.studio .signature-dock button[aria-current="page"] svg,
body.studio[data-screen="chat"] .signature-dock button[aria-current="page"] svg {
  color: var(--studio-gold);
}

@media (hover: hover) and (pointer: fine) {
  body.studio .primary-nav button:hover {
    border-color: rgba(193, 163, 108, .22);
    background: rgba(255, 253, 249, .07);
    color: var(--studio-on-frame);
  }

  body.studio .header-tools .icon-button:hover,
  body.studio .header-tools .self-profile:hover {
    border-color: rgba(234, 216, 175, .58);
    background: #302b23;
  }

  body.studio .button.primary:hover {
    border-color: #2c2922;
    background: #2c2922;
  }

  body.studio .network-note .text-button:hover {
    border-color: var(--studio-gold-bright);
    background: rgba(255, 253, 249, .1);
    color: #fff8e8;
  }
}

@media (max-width: 760px) {
  body.studio .site-header,
  body.studio[data-screen="chat"] > .site-header {
    border-bottom-color: rgba(193, 163, 108, .28);
  }

  body.studio .brand,
  body.studio[data-screen="chat"] .brand {
    width: 96px;
    height: 48px;
  }

  body.studio .brandmark,
  body.studio[data-screen="chat"] .brandmark {
    width: 96px;
    height: 48px;
  }

  body.studio .header-tools .self-name {
    color: var(--studio-on-frame);
  }

  body.studio .network-note {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 36px;
    padding: 24px;
  }

  body.studio .network-note p br {
    display: none;
  }

  body.studio > .signature-dock,
  body.studio[data-screen="chat"] > .signature-dock {
    border-color: rgba(193, 163, 108, .38);
    background: rgba(23, 22, 19, .98);
  }
}

/* Legibility floor for inherited prototype components. */
body.studio .avatar.small,
body.studio .agent-link,
body.studio .card-open,
body.studio .deals-chat-link,
body.studio .signature-dock button,
body.studio .chat-hub-tabs button,
body.studio .chat-request-item,
body.studio .chat-inbox-item {
  font-size: 12px;
}

body.studio .property-location,
body.studio .price-per-meter,
body.studio .property-facts,
body.studio .property-agent small,
body.studio .deal-object small,
body.studio .deal-object span,
body.studio .deal-stage small,
body.studio .deal-partner small,
body.studio .deal-next small,
body.studio .deal-next span,
body.studio .chat-local-note,
body.studio .chat-inbox-preview,
body.studio .chat-inbox-subject,
body.studio .account-section p,
body.studio .account-section small,
body.studio .invite-community span {
  color: var(--studio-muted);
  font-size: 12px;
}

/* Final system pass: legacy components inherit one legible, resilient vocabulary. */
body.studio {
  accent-color: var(--studio-accent-dark);
  caret-color: var(--studio-accent-dark);
  scrollbar-color: var(--studio-line) transparent;
}

body.studio :is(input, textarea)::placeholder {
  color: var(--studio-muted);
  opacity: .82;
}

body.studio :is(
  .concept-strip,
  .quick-select > span,
  .property-photo-note,
  .property-card .badge,
  .profile-facts small,
  .profile-property-card small,
  .deals-overview span,
  .deal-dialog-grid span,
  .chat-contact-meta,
  .chat-message-time,
  .chat-day-divider,
  .chat-composer-foot,
  .chat-quoted-message,
  .chat-file-item,
  .account-section-kicker,
  .account-dialog small,
  .password-fields p,
  .property-editor-steps small,
  .editor-step-label,
  .choice-cards small,
  .field-help,
  .field-status,
  .property-photo-drop span,
  .property-photo-preview,
  .request-row > span,
  .form-note,
  .feedback,
  .invite-disclaimer
) {
  color: var(--studio-muted);
  font-size: 12px;
  line-height: 1.45;
}

body.studio :is(.eyebrow, .concept-strip span, .chat-request-kicker) {
  letter-spacing: .04em;
  text-transform: none;
}

body.studio .concept-strip {
  color: var(--studio-on-frame);
}

body.studio .concept-strip :is(span, a) {
  color: inherit;
}

body.studio .property-photo-note {
  color: var(--studio-on-frame);
}

body.studio :is(
  .chat-thread-search > span,
  .chat-property-pin small,
  .chat-property-pin strong,
  .chat-property-pin span > span,
  .chat-day-divider > span,
  .chat-reply-preview small,
  .chat-attachment-chip > span,
  .chat-voice-hint,
  .chat-voice-timer,
  .chat-voice-action,
  .chat-request-item .chat-request-kicker,
  .chat-request-item > span:not(.chat-request-kicker),
  .chat-request-item small,
  .invite-image-caption span,
  .image-credit,
  .property-editor-steps button > span:first-child,
  .property-editor-steps button > span:last-child,
  .property-editor-steps small,
  .property-editor-panel > label,
  .editor-field-row label,
  .editor-price-field label,
  .property-editor-panel [data-field-status]::after,
  .inline-required,
  .choice-group legend,
  .choice-cards small,
  .property-photo-drop span,
  .property-photo-preview > span,
  .property-editor-actions .form-note
) {
  font-size: 12px;
}

body.studio :is(
  .request-row > span,
  .account-section-kicker,
  .editor-step-label,
  .property-editor-steps small
) {
  letter-spacing: .04em;
  text-transform: none;
}

body.studio :is(
  .property-card,
  .profile-property-card,
  .deal-row,
  .chat-workspace,
  .chat-inbox-item,
  .catalog-search,
  .filter-popover
) {
  border-radius: var(--studio-radius-card);
}

body.studio :is(dialog, .account-dialog, .property-editor-dialog) {
  border-radius: var(--studio-radius-panel);
}

body.studio :is(
  button,
  .button,
  .icon-button,
  input,
  textarea,
  select,
  summary,
  .quick-select,
  .sort-field,
  .chat-compose-field,
  .avatar-upload
) {
  border-radius: var(--studio-radius-control);
}

body.studio :is(
  .property-copy,
  .property-title,
  .property-address,
  .profile-story,
  .profile-story h1,
  .deal-object,
  .deal-object strong,
  .deal-next,
  .chat-inbox-text,
  .chat-inbox-name,
  .chat-inbox-preview,
  .chat-contact-copy,
  .chat-contact-name,
  .account-fields,
  .account-fields label,
  .choice-cards label span
) {
  min-width: 0;
  overflow-wrap: anywhere;
}

body.studio .chat-inbox-preview,
body.studio .chat-inbox-subject {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.studio .account-actions {
  gap: 20px;
}

body.studio .account-action-buttons {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

body.studio .account-action-buttons .button {
  min-height: 46px;
}

@media (max-width: 760px) {
  body.studio :is(input, textarea, select) {
    font-size: 16px;
  }

  body.studio .account-actions,
  body.studio .account-action-buttons {
    align-items: stretch;
  }

  body.studio .account-action-buttons {
    width: 100%;
  }

  body.studio .account-action-buttons .button {
    flex: 1 1 150px;
  }

  body.studio .profile-editorial {
    align-items: start;
  }

  body.studio .profile-story {
    display: contents;
  }

  body.studio .portrait-column {
    grid-column: 1;
    grid-row: 1 / span 4;
  }

  body.studio .profile-story > .eyebrow {
    display: none;
  }

  body.studio .profile-name-row,
  body.studio .profile-position,
  body.studio .profile-context {
    grid-column: 2;
  }

  body.studio .profile-actions,
  body.studio .profile-facts,
  body.studio .profile-about {
    grid-column: 1 / -1;
  }

  body.studio .profile-actions .button,
  body.studio .profile-facts :is(span, button) {
    overflow-wrap: normal;
    word-break: normal;
  }

  body.studio .profile-actions .button {
    line-height: 1.25;
  }

  body.studio .profile-facts > div {
    min-width: 0;
  }

  body.studio .chat-mobile-back svg {
    display: block;
    color: var(--studio-ink);
    stroke-width: 2;
  }
}

@media (forced-colors: active) {
  body.studio :is(button, .button, input, textarea, select, summary, .property-card, .deal-row, .chat-inbox-item) {
    border: 1px solid ButtonText;
  }

  body.studio :focus-visible {
    outline: 2px solid Highlight;
    outline-offset: 3px;
  }
}

/* Communication is a workspace, not a card placed inside a page. */
body.studio[data-screen="chat"] {
  padding-bottom: 0;
  overflow: hidden;
}

body.studio[data-screen="chat"] > main {
  min-width: 0;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: var(--studio-panel);
}

body.studio[data-screen="chat"] .chat-screen.page-shell {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

body.studio[data-screen="chat"] .chat-workspace {
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body.studio[data-screen="chat"] .chat-inbox,
body.studio[data-screen="chat"] .chat-conversation {
  min-height: 0;
  border-radius: 0;
}

@media (max-width: 760px) {
  body.studio[data-screen="chat"] > main {
    padding-bottom: 0;
  }

  body.studio[data-screen="chat"] .chat-inbox,
  body.studio[data-screen="chat"] .chat-conversation {
    height: 100%;
    padding-bottom: calc(78px + env(safe-area-inset-bottom));
    box-sizing: border-box;
  }

  body.studio[data-screen="chat"] .chat-inbox-foot {
    margin-top: auto;
  }
}
