@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--red:#9f171c;--red-deep:#741015;--ink:#181715;--soft-ink:#302e2b;--muted:#77716a;--ivory:#f6f4ef;--stone:#ebe7df;--card:#fefdfb;--line:rgba(35,31,27,.11);--gold:#a68756;--green:#2e6957;--shadow:0 24px 70px rgba(35,27,20,.08);--shadow-soft:0 12px 36px rgba(35,27,20,.05);color:var(--ink);background:var(--ivory);font-family:"DM Sans",ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#f9f7f2 0,#f3f0ea 55%,#f8f6f1 100%);color:var(--ink)}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.3;background-image:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.025'/%3E%3C/svg%3E")}button,input,select{font:inherit}button{transition:transform .2s ease,background .2s ease,box-shadow .2s ease}button:active{transform:translateY(1px)}
.topbar{height:88px;padding:0 clamp(20px,4vw,68px);display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;background:rgba(250,248,244,.88);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;backdrop-filter:blur(22px)}.brand{display:flex;align-items:center;gap:13px;color:var(--ink);text-decoration:none;font-family:"Manrope",sans-serif;font-size:13px;font-weight:700;letter-spacing:.07em;line-height:.82;width:max-content}.brand small{display:block;font-size:8px;letter-spacing:.46em;color:var(--red);margin-top:8px}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:var(--red);color:#fff;font-size:11px;letter-spacing:.06em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}.avatar{justify-self:end;border:1px solid rgba(255,255,255,.25);background:var(--ink);color:#fff;width:43px;height:43px;border-radius:50%;font-size:12px;font-weight:700;box-shadow:0 6px 20px rgba(20,18,16,.15)}.workspace{max-width:1480px;margin:auto;padding:clamp(30px,4.5vw,72px)}
.hero{display:grid;grid-template-columns:minmax(0,1.46fr) minmax(300px,.54fr);gap:18px;margin-bottom:20px}.hero-main{min-height:430px;border-radius:34px;padding:clamp(34px,5vw,76px);position:relative;overflow:hidden;background:radial-gradient(circle at 74% 16%,rgba(168,117,89,.42),transparent 28%),linear-gradient(125deg,#171514 0%,#2b201d 58%,#4a2424 100%);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 30px 90px rgba(31,22,18,.17)}.hero-main:before{content:"RCR";position:absolute;right:-18px;top:-52px;font-family:"Playfair Display",serif;font-size:230px;font-style:italic;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.08);letter-spacing:-.08em}.hero-main:after{content:"PRIVATE REPRESENTATION";position:absolute;top:34px;left:clamp(34px,5vw,76px);font-size:9px;letter-spacing:.32em;color:rgba(255,255,255,.5)}.eyebrow{text-transform:uppercase;letter-spacing:.25em;font-family:"Manrope",sans-serif;font-size:9px;font-weight:700;color:var(--red);margin:0 0 12px}.hero .eyebrow{color:#dca4a1}.hero h1{font-family:"Playfair Display",Georgia,serif;font-weight:500;font-size:clamp(46px,6.4vw,86px);letter-spacing:-.035em;line-height:.92;max-width:820px;margin:0 0 24px}.hero p{max-width:600px;color:rgba(255,255,255,.67);font-size:15px;line-height:1.75;margin:0}
.agent-card{background:rgba(254,253,251,.95);border:1px solid rgba(255,255,255,.85);border-radius:34px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow);position:relative;overflow:hidden}.agent-card:after{content:"";position:absolute;width:160px;height:160px;border:1px solid rgba(159,23,28,.08);border-radius:50%;right:-86px;top:-73px}.agent-person{display:flex;align-items:center;gap:17px;margin-top:20px}.agent-photo{width:74px;height:74px;border-radius:50%;background:linear-gradient(145deg,#eee9e1,#d6cec3);object-fit:cover;display:grid;place-items:center;font-family:"Playfair Display",serif;font-size:22px;font-weight:600;color:var(--red);border:5px solid #fff;box-shadow:0 8px 22px rgba(35,27,20,.1)}.agent-card h3{font-family:"Manrope",sans-serif;font-size:17px;margin:0 0 5px}.agent-card p{margin:0;color:var(--muted);font-size:13px}.agent-actions,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.agent-actions{display:grid;grid-template-columns:1fr 1fr}.button-row{display:flex;gap:9px;flex-wrap:wrap}.primary,.secondary,.text-button{border:0;border-radius:999px;padding:12px 18px;font-size:12px;font-weight:700;cursor:pointer;letter-spacing:.01em}.primary{background:var(--red);color:#fff;box-shadow:0 8px 22px rgba(159,23,28,.17)}.primary:hover{background:var(--red-deep);box-shadow:0 10px 28px rgba(159,23,28,.24)}.secondary{background:var(--stone);color:var(--ink)}.secondary:hover{background:#dfd8ce}.text-button{background:transparent;color:var(--red);padding-inline:0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:42px}.stat{background:rgba(254,253,251,.75);border:1px solid var(--line);padding:22px 24px;position:relative}.stat:first-child{border-radius:22px 8px 8px 22px}.stat:last-child{border-radius:8px 22px 22px 8px}.stat strong{display:block;font-family:"Playfair Display",serif;font-size:31px;font-weight:500;line-height:1}.stat span{display:block;color:var(--muted);font-size:11px;margin-top:9px;letter-spacing:.02em}.stat:after{content:"";position:absolute;top:18px;right:18px;width:5px;height:5px;border-radius:50%;background:var(--gold);opacity:.6}.section-heading{margin:42px 0 18px}.section-heading h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(29px,3vw,40px);letter-spacing:-.025em;font-weight:500;margin:0}
.search-panel{background:rgba(254,253,251,.92);border:1px solid var(--line);border-radius:20px;padding:9px;display:grid;grid-template-columns:1.4fr repeat(3,.7fr) auto;gap:7px;box-shadow:var(--shadow-soft)}.search-panel input,.search-panel select,dialog input,dialog select{width:100%;border:0;background:#f4f1eb;border-radius:13px;padding:14px 15px;outline:none;color:var(--ink);font-size:13px}.search-panel input:focus,.search-panel select:focus,dialog input:focus{background:#fff;box-shadow:inset 0 0 0 1px rgba(159,23,28,.4),0 0 0 3px rgba(159,23,28,.07)}
.property-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:18px}.property-card{background:rgba(254,253,251,.96);border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.property-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.property-image{height:205px;position:relative;overflow:hidden;background:#bcb4a8}.property-image:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(21,18,16,.28),transparent 60%)}.property-image:after{content:"DEMO COLLECTION";position:absolute;top:15px;left:15px;background:rgba(250,248,244,.88);backdrop-filter:blur(8px);font-size:8px;letter-spacing:.18em;font-weight:700;padding:7px 10px;border-radius:999px;color:var(--soft-ink)}.property-image-1{background:linear-gradient(145deg,rgba(36,31,28,.08),rgba(36,31,28,.5)),linear-gradient(128deg,#cab8a5 0%,#756657 45%,#292825 100%)}.property-image-2{background:linear-gradient(145deg,rgba(36,31,28,.02),rgba(36,31,28,.45)),linear-gradient(128deg,#b7c0b3 0%,#788578 46%,#323d36 100%)}.property-image-3{background:linear-gradient(145deg,rgba(36,31,28,.05),rgba(36,31,28,.45)),linear-gradient(128deg,#d7c5b1 0%,#a37d61 45%,#49352d 100%)}.property-image-4{background:linear-gradient(145deg,rgba(36,31,28,.02),rgba(36,31,28,.5)),linear-gradient(128deg,#c3c6c7 0%,#7f8b91 46%,#313a3e 100%)}.property-body{padding:20px}.property-price{font-family:"Playfair Display",serif;font-size:25px;font-weight:600;letter-spacing:-.02em}.property-address{margin:11px 0 4px;font-size:13px;font-weight:600}.property-meta{color:var(--muted);font-size:11px;line-height:1.5}.property-card-attribution{display:grid;gap:8px;margin:15px 0 0;padding-top:13px;border-top:1px solid var(--line);text-align:left}.property-card-attribution div{min-width:0}.property-card-attribution dt{margin:0;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.property-card-attribution dd{margin:2px 0 0;color:var(--ink);font-size:10px;font-weight:650;line-height:1.35;overflow-wrap:anywhere}.property-footer{display:flex;justify-content:space-between;align-items:center;margin-top:17px}.favorite{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:50%;width:39px;height:39px;font-size:16px;cursor:pointer}.favorite:hover{border-color:rgba(159,23,28,.35);color:var(--red)}.favorite.active{color:#fff;background:var(--red);border-color:var(--red)}
.two-column{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.panel{background:rgba(254,253,251,.9);border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow-soft)}.panel .section-heading{margin-top:0}.contact-list,.activity-list{display:grid;gap:8px}.contact{display:grid;grid-template-columns:1fr auto;align-items:center;padding:17px 18px;border:1px solid rgba(35,31,27,.06);border-radius:17px;background:#f7f4ef}.contact h4{margin:0 0 5px;font-family:"Manrope",sans-serif;font-size:13px}.contact p{margin:0;color:var(--muted);font-size:11px}.stage{border-radius:999px;padding:7px 10px;background:#e8f1ed;color:var(--green);font-family:"Manrope",sans-serif;font-size:8px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.saved-search{border-left:1px solid var(--gold);padding:12px 0 12px 17px}.saved-search h4{margin:0 0 6px;font-family:"Manrope",sans-serif;font-size:13px}.saved-search p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
dialog{border:1px solid rgba(255,255,255,.8);border-radius:28px;padding:0;width:min(520px,calc(100% - 28px));background:var(--card);box-shadow:0 34px 110px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(19,16,15,.58);backdrop-filter:blur(9px)}dialog form{display:grid;gap:15px;padding:30px}.dialog-heading{display:flex;justify-content:space-between;align-items:start}.dialog-heading h2{margin:0;font-family:"Playfair Display",serif;font-weight:500;font-size:32px}.icon-button{border:0;background:var(--stone);border-radius:50%;width:36px;height:36px;font-size:21px;cursor:pointer}dialog label{display:grid;gap:7px;font-size:11px;font-weight:700;letter-spacing:.02em}.photo-editor{height:160px!important;border:1px dashed #c9bfb4;border-radius:20px;place-items:center;background:#f7f4ef;cursor:pointer;overflow:hidden}.photo-editor input{display:none}.photo-editor span{height:100%;width:100%;display:grid;place-items:center;background-position:center;background-size:cover;color:var(--red);font-size:12px}.form-note{font-size:11px;color:var(--muted);line-height:1.6;margin:0}#toast{position:fixed;right:20px;bottom:20px;background:var(--ink);color:#fff;border-radius:999px;padding:13px 18px;font-size:12px;transform:translateY(100px);opacity:0;transition:.25s;z-index:30;box-shadow:var(--shadow)}#toast.show{transform:none;opacity:1}.empty{color:var(--muted);padding:30px;text-align:center;font-size:12px}
@media(max-width:1050px){.hero,.two-column{grid-template-columns:1fr}.agent-card{min-height:240px}.property-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.stat:first-child,.stat:last-child,.stat{border-radius:18px}}@media(max-width:680px){.topbar{height:auto;padding:13px 16px;grid-template-columns:1fr auto;gap:11px}.brand{font-size:11px}.brand-mark{width:39px;height:39px}.avatar{width:39px;height:39px}.workspace{padding:20px 14px 38px}.hero{gap:12px}.hero-main{min-height:385px;border-radius:26px;padding:32px 25px}.hero-main:before{font-size:140px;top:-18px}.hero-main:after{left:25px;top:26px}.hero h1{font-size:48px}.hero p{font-size:13px}.agent-card{border-radius:26px;padding:24px}.agent-actions{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr;margin-bottom:32px}.stat{padding:18px}.section-heading{align-items:flex-end;margin:34px 0 15px}.section-heading h2{font-size:30px}.search-panel{grid-template-columns:1fr 1fr}.search-panel input:first-child{grid-column:1/-1}.search-panel .primary{grid-column:1/-1}.property-grid{grid-template-columns:1fr}.property-image{height:230px}.two-column{gap:12px}.panel{padding:22px;border-radius:23px}.button-row{justify-content:flex-end}.button-row .secondary,.button-row .primary{padding:10px 13px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.transaction-mobile-shell,.transaction-list{display:grid;gap:14px}.transaction-loading{min-height:240px;display:grid;place-items:center;align-content:center;gap:14px;color:var(--muted)}.transaction-loading span{width:34px;height:34px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--red);animation:transaction-spin .8s linear infinite}.transaction-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.transaction-summary article{padding:20px;border:1px solid var(--line);border-radius:20px;background:rgba(254,253,251,.86)}.transaction-summary strong{display:block;font:500 32px/1 "Playfair Display",serif}.transaction-summary span{display:block;color:var(--muted);font-size:11px;margin-top:8px}.transaction-card{width:100%;text-align:left;border:1px solid var(--line);border-radius:24px;background:rgba(254,253,251,.94);padding:24px;color:var(--ink);box-shadow:var(--shadow-soft)}.transaction-card h2,.transaction-coming-soon h2{font:500 34px/1.05 "Playfair Display",serif;margin:16px 0 10px}.transaction-card p,.transaction-coming-soon p{color:var(--muted);line-height:1.65}.transaction-card>div{display:flex;gap:18px;margin-top:18px;color:var(--muted)}.transaction-status{display:inline-flex;border-radius:999px;padding:7px 10px;background:#e8f1ed;color:var(--green);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.transaction-full-link{display:flex;justify-content:center;margin:20px auto 0;width:max-content}.transaction-coming-soon{max-width:760px;margin:auto}.transaction-coming-soon h2{font-size:48px}@keyframes transaction-spin{to{transform:rotate(360deg)}}@media(max-width:680px){.transaction-summary{grid-template-columns:repeat(3,1fr)}.transaction-summary article{padding:14px 10px}.transaction-summary strong{font-size:25px}.transaction-summary span{font-size:9px}.transaction-card{padding:20px}.transaction-card h2{font-size:29px}.transaction-card>div{display:grid;gap:6px}}
.transaction-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px}.transaction-toolbar p{margin:0;color:var(--muted);font-size:12px}.transaction-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 18px}.transaction-quick-actions button{width:100%}#transactionActionFields{display:grid;gap:16px;margin-bottom:18px}@media(max-width:680px){.transaction-toolbar{align-items:stretch;flex-direction:column}.transaction-toolbar .primary{width:100%}.transaction-quick-actions{grid-template-columns:1fr}.transaction-detail-actions{grid-template-columns:auto 1fr}.transaction-detail-actions .primary{grid-column:1/-1}}
.transaction-detail-actions{display:flex;justify-content:space-between;gap:10px;margin-bottom:18px}.transaction-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.transaction-detail-grid h2{font:500 30px/1.1 "Playfair Display",serif;margin:0 0 18px}.transaction-rows{display:grid;gap:8px}.transaction-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:16px}.transaction-row h3{font-size:13px;margin:0 0 5px}.transaction-row p{font-size:11px;color:var(--muted);margin:0}@media(max-width:900px){.transaction-detail-grid{grid-template-columns:1fr}}@media(max-width:680px){.transaction-detail-actions{display:grid;grid-template-columns:1fr 1fr}.transaction-detail-actions>*{justify-content:center;text-align:center}.transaction-row{align-items:flex-start}}
.notification-preference-form{display:grid;gap:0;margin-top:22px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:rgba(255,255,255,.56)}.preference-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;border-bottom:1px solid var(--line);font-size:13px;font-weight:600}.preference-row input{appearance:none;width:46px;height:27px;border-radius:999px;background:#cec9c1;position:relative;cursor:pointer;transition:.2s ease;flex:0 0 auto}.preference-row input:after{content:"";position:absolute;left:3px;top:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.16);transition:.2s ease}.preference-row input:checked{background:var(--red)}.preference-row input:checked:after{transform:translateX(19px)}.preference-row input:focus-visible{outline:3px solid rgba(159,23,28,.18);outline-offset:2px}.notification-preference-form>button{margin:14px;justify-self:start}.client-transaction-timeline{display:grid;gap:0}.client-pipeline-update{display:grid;grid-template-columns:18px 1fr;gap:14px;padding:18px 4px;border-bottom:1px solid var(--line)}.client-pipeline-update:last-child{border-bottom:0}.pipeline-marker{width:11px;height:11px;margin-top:5px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(159,23,28,.09)}.client-pipeline-update h3{margin:0 0 7px;font-size:15px}.client-pipeline-update p:last-child{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.client-pipeline-update .eyebrow{margin-bottom:8px}
/* Website actions continue in the client's existing account. */
#profileForm .profile-photo-editor { display: grid; gap: 12px; min-width: 0; overflow: hidden; }
#profileForm #photoPreview { position: static; display: grid; place-items: center; width: 120px; height: 120px; max-width: 100%; overflow: hidden; border-radius: 18px; background-position: center; background-size: cover; background-color: var(--stone); color: var(--muted); }
#profileForm #photoInput { display: block; width: 100%; min-width: 0; max-width: 100%; font-size: 16px; }
#profileForm .profile-photo-editor small { color: var(--muted); line-height: 1.5; }
@media (max-width: 520px) {
  #profileDialog { width: 100vw; max-width: 100vw; max-height: 100dvh; margin: auto 0; border-radius: 0; }
  #profileForm { padding: max(20px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom)); }
  #profileForm input { min-width: 0; font-size: 16px; }
}
.website-intent-dialog { width: min(640px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 0; overflow: auto; border-radius: 24px; }
.website-intent-form { display: grid; gap: 20px; padding: 24px; }
.website-intent-form .dialog-header { padding: 0; }
.website-intent-form h2 { font-size: clamp(1.6rem, 5vw, 2.1rem); line-height: 1.15; margin: 0; }
.website-intent-body { display: grid; gap: 16px; min-width: 0; }
.website-intent-body p { margin: 0; overflow-wrap: anywhere; }
.website-intent-property { display: grid; gap: 8px; padding: 18px; border: 1px solid var(--line, #d4dbd7); border-radius: 16px; }
.website-intent-property h3 { margin: 0; }
.website-intent-form .button-row { display: flex; flex-wrap: wrap; gap: 10px; }
.website-intent-form .button-row > * { flex: 1 1 150px; text-align: center; }
.website-intent-form input, .website-intent-form textarea { font-size: 16px; min-width: 0; width: 100%; }
.website-intent-form input[type=checkbox] { width: auto; }
.website-intent-filters { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px 16px; margin: 0; }
.website-intent-filters dt { font-weight: 600; }
.website-intent-filters dd { margin: 0; overflow-wrap: anywhere; }
.website-intent-error { color: #ad2929; }
.website-intent-error:empty { display: none; }
.website-auth-notice { margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--line, #d4dbd7); }
.website-auth-notice h2 { font-size: 1.4rem; }
.website-auth-notice .secondary { display: inline-flex; margin: 4px; }
@media (max-width: 520px) {
  .website-intent-dialog { width: 100vw; max-width: 100vw; max-height: 100dvh; border-radius: 0; margin: auto 0; }
  .website-intent-form { padding: max(20px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom)); }
}
