/* Lotful Realty. Brand: logo teal #123a3e, dark teal #2b5050, sage accent #88a39c, charcoal, light grey. Caslon + Cabin, as on the original site. */
:root{
  --teal:#123a3e; --teal-2:#2b5050; --teal-3:#3d6b69; --mist:#eef0f1; --paper:#ffffff; --white:#fff;
  --ink:#363636; --muted:#5f6766; --line:#e0e4e3;
  /* brand accent: the old site's sage (hsl 164 13% 59%); -2 is the darker shade used for small text */
  --sage:#88a39c; --sage-2:#517068; --sage-3:#bbd3cd;
  --ok:#1f7a4d; --err:#a63a2b;
  --r:14px; --r-sm:8px; --shadow:0 1px 2px rgba(18,58,62,.06),0 8px 24px rgba(18,58,62,.08);
  --serif:"Libre Caslon Text","Adobe Caslon Pro",Georgia,"Times New Roman",serif; --sans:"Cabin",system-ui,-apple-system,"Segoe UI",sans-serif;
  --w:1200px;
  /* type scale: every size on the site comes from here */
  --fs-display:clamp(2.3rem,4.8vw,3.6rem); /* hero banners */
  --fs-h1:clamp(1.9rem,3.4vw,2.6rem);      /* page titles */
  --fs-h2:clamp(1.5rem,2.6vw,2rem);        /* section headings */
  --fs-h3:1.25rem;                         /* sub-headings, card titles */
  --fs-lg:1.12rem;                         /* lead text, summaries */
  --fs-body:1rem; --fs-sm:.9rem; --fs-xs:.82rem; --fs-2xs:.72rem; /* body, small, fine print, labels */
  --fs-stat:1.65rem; --fs-stat-lg:2.2rem;  /* numbers: KPIs, prices */
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal-2);text-underline-offset:3px}
a:hover{color:var(--sage-2)}
h1,h2,h3{font-family:var(--serif);line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:var(--fs-h1)} h2{font-size:var(--fs-h2)} h3{font-size:var(--fs-h3)}
p{margin:0 0 1em}
.wrap{max-width:var(--w);margin:0 auto;padding:0 20px}
.narrow{max-width:780px}
.center{text-align:center}.center .btn{margin-top:.5rem}
.muted{color:var(--muted)} .fine{font-size:var(--fs-xs);color:var(--muted)}
.sr,.hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--teal);color:#fff;padding:8px 14px;border-radius:6px;z-index:99}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--sage);outline-offset:2px}
.eyebrow{font:600 var(--fs-2xs)/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage-2);margin-bottom:.9rem}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;background:var(--teal);color:#fff;border:0;border-radius:999px;padding:.85em 1.5em;font:600 var(--fs-sm)/1 var(--sans);text-decoration:none;cursor:pointer;transition:background .15s,transform .15s}
.btn:hover{background:var(--teal-2);color:#fff;transform:translateY(-1px)}
.btn--sm{padding:.6em 1.1em;font-size:var(--fs-sm)}
.btn--ghost{background:transparent;color:var(--teal);box-shadow:inset 0 0 0 1.5px var(--teal)}
.btn--ghost:hover{background:var(--teal);color:#fff}
.btn--light{background:#fff;color:var(--teal)} .btn--light:hover{background:var(--mist);color:var(--teal)}
.btn--block{width:100%}
.link-arrow{font-weight:600;text-decoration:none;color:var(--teal)}
.link-arrow::after{content:" →";transition:margin .15s} .link-arrow:hover::after{margin-left:4px}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.nav__in{display:flex;align-items:center;justify-content:space-between;height:72px}
.nav__logo img{height:40px;width:auto}
.nav__menu{display:flex;align-items:center;gap:1.4rem}
.nav__menu a{color:var(--ink);text-decoration:none;font-weight:500;font-size:var(--fs-sm)}
.nav__menu a[aria-current]{color:var(--teal);box-shadow:inset 0 -2px 0 var(--sage)}
.nav__menu a.btn{color:#fff}
.nav__phone{color:var(--teal)!important;font-weight:600!important}
.nav__toggle{display:none;background:none;border:0;padding:10px;cursor:pointer}
.nav__toggle span:not(.sr){display:block;width:24px;height:2px;background:var(--teal);margin:5px 0;transition:transform .2s}
@media (max-width:980px){
  .nav__toggle{display:block}
  .nav__menu{position:fixed;inset:72px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--line);padding:8px 20px 20px;display:none;box-shadow:var(--shadow)}
  .nav__menu a{padding:14px 0;border-bottom:1px solid var(--line)}
  .nav__menu a.btn{margin-top:14px;border:0}
  .nav.open .nav__menu{display:flex}
  .nav.open .nav__toggle span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}
  .nav.open .nav__toggle span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}
}
.sample-bar{background:#fff4dc;color:#6b4a12;text-align:center;font-size:var(--fs-sm);padding:8px 16px;border-bottom:1px solid #f0dcae}

/* hero */
.hero{position:relative;min-height:min(86vh,760px);display:flex;align-items:center;color:#fff;overflow:hidden;background:var(--teal)}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero__video{opacity:0;transition:opacity .8s}.hero__video.is-playing{opacity:1}
.ticks--light li{color:#d7e4e3;margin-bottom:6px}.ticks--light li::before{border-color:var(--sage-3)}
.sec--dark .split p{color:#c9d8d6}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(10,36,39,.92) 0%,rgba(14,46,50,.78) 45%,rgba(14,46,50,.25) 100%)}
.hero__in{position:relative;z-index:1;padding-top:64px;padding-bottom:64px}
.hero h1{color:#fff;max-width:15ch}
.hero h1 em{font-style:italic;color:var(--sage-3);font-weight:400}
.hero .eyebrow{color:var(--sage-3)}
.hero__lede{font-size:var(--fs-lg);max-width:56ch;color:#dbe6e5;margin-bottom:1.8rem}
.hero__quick{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:1.1rem 0 0}
.hero__quick a{display:inline-block;color:#fff;text-decoration:none;font-size:var(--fs-sm);padding:.4em .9em;border:1px solid rgba(255,255,255,.35);border-radius:999px}
.hero__quick a:hover{background:rgba(255,255,255,.12);color:#fff}

.searchbar{display:grid;grid-template-columns:1fr 200px 170px auto;gap:8px;background:#fff;padding:8px;border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.25);max-width:860px}
.searchbar input,.searchbar select{width:100%;height:52px;border:0;background:var(--mist);border-radius:12px;padding:0 16px;font:inherit;color:var(--ink)}
.searchbar .btn{height:52px;border-radius:12px;padding:0 1.8em}
@media (max-width:760px){.searchbar{grid-template-columns:1fr 1fr}.searchbar__q{grid-column:1/-1}.searchbar .btn{grid-column:1/-1}}

.proof{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:-44px;position:relative;z-index:2;padding:0;box-shadow:var(--shadow)}
.proof p{background:#fff;margin:0;padding:22px 24px;display:flex;flex-direction:column}
.proof strong{font:400 var(--fs-lg)/1.2 var(--serif);color:var(--teal)}
.proof span{color:var(--muted);font-size:var(--fs-sm)}
@media (max-width:760px){.proof{grid-template-columns:1fr;margin:-30px 20px 0}}

/* sections */
.sec{padding:clamp(56px,8vw,104px) 0}
.sec--tint{background:var(--mist)}
.sec--dark{background:var(--teal);color:#d7e4e3}
.sec--dark h2{color:#fff} .sec--dark .eyebrow{color:var(--sage-3)}
.sec__head{max-width:700px;margin-bottom:40px}
.sec__head p:last-child{color:var(--muted);font-size:var(--fs-body)}
.sec--dark .sec__head p:last-child{color:#c4d6d4}
.sec__head--row{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:980px){.grid4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.grid4{grid-template-columns:1fr}}
.feature{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px}
.feature p{color:var(--muted);margin:0 0 .8em}.feature p:last-child{margin:0}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}@media (max-width:900px){.grid3{grid-template-columns:1fr}}
.h3{font-size:var(--fs-h3)}.sec--top{margin-top:48px}
.feature--line{background:none;border:0;border-left:3px solid var(--sage);border-radius:0;padding:4px 0 4px 20px;margin-bottom:22px}
.feature__icon{display:block;width:44px;height:44px;border-radius:12px;background:var(--mist);margin-bottom:16px;position:relative}
.feature__icon::after{content:"";position:absolute;inset:11px;background:var(--teal);-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.icon-calc{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zm1 3v4h10V5zm0 7v2h2v-2zm4 0v2h2v-2zm4 0v6h2v-6zm-8 4v2h2v-2zm4 0v2h2v-2z'/%3E%3C/svg%3E")}
.icon-hammer{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 19.6 12.4 9.2l2.4 2.4L4.4 22zM13 2l9 9-2.8 2.8-2-2-1.4 1.4-6-6L11.2 5.8 9.6 4.2z'/%3E%3C/svg%3E")}
.icon-layers{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 1 8l11 6 11-6zm-8.6 9.3L1 12.6l11 6 11-6-2.4-1.3L12 16zm0 4.4L1 17l11 6 11-6-2.4-1.3L12 20.4z'/%3E%3C/svg%3E")}
.icon-key{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10a5 5 0 1 1 4.6 7H11v2H9v2H5v-3.6l5.3-5.3A5 5 0 0 1 7 10zm5-2a2 2 0 1 0 0 .01z'/%3E%3C/svg%3E")}

.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;gap:14px}
.steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px 18px 68px;position:relative}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:20px;top:18px;font:400 var(--fs-body)/1 var(--serif);color:var(--sage-2)}
.steps h3{margin:0 0 .2em;font-size:var(--fs-h3)} .steps p{margin:0;color:var(--muted);font-size:var(--fs-sm)}
.steps--row{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.steps--row{grid-template-columns:1fr}}

/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.cards{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.card__link{color:inherit;text-decoration:none;display:block}
.card__img{aspect-ratio:3/2;background:var(--mist);position:relative;overflow:hidden}
.card__img img{width:100%;height:100%;object-fit:cover}
.ph{width:100%;height:100%;display:grid;place-items:center;color:#a9b8b6;background:linear-gradient(135deg,#e5ebea,#d5dfdd)}
.ph svg{width:56px}
.ph--big{aspect-ratio:16/8;border-radius:var(--r)} .ph--big svg{width:90px}
.pill{position:absolute;top:12px;left:12px;font:600 var(--fs-2xs)/1 var(--sans);padding:.5em .8em;border-radius:999px;background:#fff;color:var(--teal)}
.pill--gold{background:var(--sage);color:#fff}
.pill--ours{left:auto;right:12px;background:var(--teal);color:#fff}
.ours{background:var(--mist);border-radius:var(--r);padding:20px;margin-bottom:28px}
.ours__h{font:400 var(--fs-h3)/1.2 var(--serif);margin:0 0 16px;display:flex;align-items:center;gap:10px}
.ours__h span{font:600 var(--fs-2xs)/1 var(--sans);background:var(--teal);color:#fff;border-radius:999px;padding:.35em .65em}
.ours__h--rest{margin-top:8px}
.pill--sample{left:auto;right:12px;background:#fff4dc;color:#6b4a12}
.card__body{padding:16px 18px 18px}
.card__price{font:400 var(--fs-h3)/1.1 var(--serif);color:var(--teal);margin:0 0 .3rem}
.card__price small{font-size:var(--fs-xs);color:var(--muted)}
.card__title{font:600 var(--fs-body)/1.3 var(--sans);color:var(--ink);margin:0}
.card__sub{color:var(--muted);font-size:var(--fs-sm);margin:0 0 .6rem}
.facts{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.3rem .9rem;font-size:var(--fs-xs);color:var(--muted)}
.facts li+li::before{content:"·";margin-right:.9rem;color:#b6c2c0}

/* quotes, areas, team, posts */
.quotes{columns:3 320px;column-gap:22px}
.quote{break-inside:avoid;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;margin:0 0 22px}
.quote blockquote{margin:0 0 14px;font:400 var(--fs-body)/1.6 var(--serif);color:var(--ink)}
.quote figcaption{display:flex;flex-direction:column;font-size:var(--fs-sm)}
.quote figcaption span{color:var(--muted)}
.areas{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:900px){.areas{grid-template-columns:repeat(2,1fr)}}
.area{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:border-color .15s}
.area strong{font:400 var(--fs-lg)/1.2 var(--serif);color:var(--teal)} .area span{font-size:var(--fs-xs);color:var(--muted)}
.area:hover{border-color:var(--sage)}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
@media (max-width:900px){.team{grid-template-columns:repeat(2,1fr)}}
.member img{aspect-ratio:4/5;object-fit:cover;width:100%;border-radius:var(--r);margin-bottom:12px;background:var(--mist)}
.member h3{margin:0;font-size:var(--fs-h3)} .member h3 small{font-family:var(--sans);font-size:var(--fs-xs);color:var(--sage-2);font-weight:600}
.member p{margin:0;color:var(--muted);font-size:var(--fs-sm)}
.member__bio{margin-top:.5rem!important}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:900px){.posts{grid-template-columns:1fr}}
.post-card a{text-decoration:none;color:inherit;display:block}
.post-card img{aspect-ratio:3/2;object-fit:cover;width:100%;border-radius:var(--r);margin-bottom:14px;background:var(--mist)}
.post-card h3{font-size:var(--fs-h3);margin:0} .post-card a:hover h3{color:var(--sage-2)}
.post-card{border-top:3px solid var(--teal);padding-top:16px}
.post-card__tag{display:inline-block;font:600 var(--fs-2xs)/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--teal);background:var(--mist);padding:.55em .8em;border-radius:999px;margin-bottom:12px}
.post-card a:hover .post-card__tag{background:var(--sage-3)}
.post-card__ex{color:var(--muted);font-size:var(--fs-sm);margin:.4rem 0 0}
.post-card__meta{font-size:var(--fs-xs);color:var(--muted);margin:0 0 .3rem}

/* forms */
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow)}
.panel h2{font-size:var(--fs-h3)}
.form label,.filters label{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-xs);font-weight:600;color:var(--teal);margin-bottom:14px}
.form input,.form select,.form textarea,.filters input,.filters select{font:inherit;font-weight:400;color:var(--ink);border:1px solid #cfd8d6;background:#fff;border-radius:var(--r-sm);padding:11px 12px;width:100%}
.form textarea{resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus,.filters input:focus,.filters select:focus{outline:none;border-color:var(--teal-3);box-shadow:0 0 0 3px rgba(43,80,80,.15)}
[aria-invalid=true]{border-color:var(--err)!important}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:520px){.form__row{grid-template-columns:1fr}}
.form__row--tight{gap:8px}
.form__fine{font-size:var(--fs-xs);color:var(--muted);margin:.8rem 0 0}
.opt{font-weight:400;color:var(--muted)}
.notice{padding:14px 16px;border-radius:var(--r-sm);font-size:var(--fs-sm)}
.notice--ok{background:#e7f4ec;color:#174d33} .notice--err{background:#fbeae7;color:#7a2a1f}
.contact-line{font-size:var(--fs-body);line-height:1.9}

/* page heads */
.page-head{padding:56px 0 36px;background:linear-gradient(180deg,var(--mist),var(--paper))}
.page-head .lede,.lede{font-size:var(--fs-lg);color:var(--muted);max-width:62ch}
.crumbs{font-size:var(--fs-xs);color:var(--muted);margin-bottom:14px}
.crumbs a{color:var(--muted)}

/* search page */
.search-layout{display:grid;grid-template-columns:280px 1fr;gap:32px;padding-bottom:80px;align-items:start}
@media (max-width:900px){.search-layout{grid-template-columns:1fr}}
.filters{position:sticky;top:90px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}
@media (max-width:900px){.filters{position:static}}
.seg{display:grid;grid-template-columns:1fr 1fr;background:var(--mist);border-radius:999px;padding:4px;margin-bottom:16px}
.seg label{margin:0;position:relative}.seg input{position:absolute;opacity:0;width:1px!important;height:1px;pointer-events:none}
.seg span{display:block;text-align:center;padding:8px;border-radius:999px;cursor:pointer;font-weight:600;color:var(--muted)}
.seg input:checked+span{background:#fff;color:var(--teal);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.seg input:focus-visible+span{outline:3px solid var(--sage)}
.filters .check{flex-direction:row;align-items:center;font-weight:500;color:var(--ink)}
.filters .check input{width:auto}
.reset{display:block;text-align:center;margin-top:10px;font-size:var(--fs-sm)}
.results__bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}
.results__bar p{margin:0}
.sort label{flex-direction:row;align-items:center;gap:8px;font-size:var(--fs-sm);display:flex}
.sort select{font:inherit;border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 10px;background:#fff}
.cards--results{grid-template-columns:repeat(2,1fr)}
@media (min-width:1200px){.cards--results{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.cards--results{grid-template-columns:1fr}}
.pager{display:flex;justify-content:center;align-items:center;gap:22px;margin:36px 0}
.pager a{font-weight:600;text-decoration:none}
.empty{background:#fff;border:1px dashed #c6d1cf;border-radius:var(--r);padding:40px;text-align:center}
.callout{background:var(--teal);color:#d7e4e3;border-radius:var(--r);padding:32px;margin:40px 0}
.callout h2{color:#fff;font-size:var(--fs-h2)} .callout .btn{background:#fff;color:var(--teal);margin:.3rem .4rem 0 0}
.callout .btn--ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px #fff}
.ddf-note{display:flex;align-items:center;gap:12px;font-size:var(--fs-xs);color:var(--muted);margin-top:28px}

/* listing detail */
.detail{padding-top:24px;padding-bottom:40px}
.gallery__main{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r);background:var(--mist)}
.gallery__thumbs{display:flex;gap:8px;overflow-x:auto;padding:10px 0;scrollbar-width:thin}
.gallery__thumbs button{flex:0 0 96px;border:2px solid transparent;border-radius:8px;padding:0;overflow:hidden;cursor:pointer;background:none}
.gallery__thumbs button[aria-current=true]{border-color:var(--sage)}
.gallery__thumbs img{width:96px;height:64px;object-fit:cover}
.detail__grid{display:grid;grid-template-columns:1fr 380px;gap:48px;margin-top:28px}
@media (max-width:980px){.detail__grid{grid-template-columns:1fr}}
.detail__price{font:400 var(--fs-stat-lg)/1 var(--serif);color:var(--teal);margin:0 0 .4rem}
.detail__price small{font-size:var(--fs-body);color:var(--muted)}
.detail h1{font-size:var(--fs-h1);margin-bottom:.2rem}
.facts--big{gap:0;margin:24px 0 32px;border:1px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden;display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}
.facts--big li{padding:14px 16px;border-right:1px solid var(--line);display:flex;flex-direction:column;font-size:var(--fs-xs)}
.facts--big li::before{display:none}
.facts--big strong{font:400 var(--fs-h3)/1.2 var(--serif);color:var(--teal)}
.remarks{white-space:normal}
.specs{display:grid;grid-template-columns:160px 1fr;gap:8px 16px;border-top:1px solid var(--line);padding-top:18px;margin:24px 0}
.specs dt{color:var(--muted)} .specs dd{margin:0;font-weight:500}
.calc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;margin:32px 0}
.calc__inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.calc__inputs label{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-xs);font-weight:600;color:var(--teal)}
.calc__inputs input{font:inherit;border:1px solid #cfd8d6;border-radius:var(--r-sm);padding:9px 10px}
.calc__out{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border-radius:var(--r-sm);overflow:hidden;margin:18px 0 10px}
@media (max-width:820px){.calc__out{grid-template-columns:1fr 1fr}.calc__out p:last-child:nth-child(odd){grid-column:1/-1}}
.calc__out p{background:var(--mist);margin:0;padding:14px;display:flex;flex-direction:column;font-size:var(--fs-xs);color:var(--muted)}
.calc__out strong{font:400 var(--fs-h3)/1.2 var(--serif);color:var(--teal)}
.calc__out strong.neg{color:var(--err)} .calc__out strong.pos{color:var(--ok)}
.attrib{border-top:1px solid var(--line);padding-top:20px}
.attrib__logo{display:inline-block;margin:4px 0 10px}
.panel--sticky{position:sticky;top:96px}
.side-phone{text-align:center;margin:14px 0 0;font-size:var(--fs-sm)}

/* services, faq, articles */
.toc{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 24px}
.toc a{text-decoration:none;font-size:var(--fs-sm);padding:.45em .9em;border:1px solid var(--line);border-radius:999px;color:var(--teal);background:#fff}
.service{display:grid;grid-template-columns:1fr 1.3fr;gap:48px;padding:48px 0;border-top:1px solid var(--line);scroll-margin-top:90px}
@media (max-width:900px){.service{grid-template-columns:1fr;gap:12px}}
.service__lede{font:400 var(--fs-h3)/1.5 var(--serif);color:var(--muted)}
.ticks{list-style:none;padding:0;margin:0 0 1.2rem;display:grid;gap:6px}
.ticks li{padding-left:26px;position:relative}
.ticks li::before{content:"";position:absolute;left:2px;top:.55em;width:12px;height:7px;border-left:2px solid var(--sage);border-bottom:2px solid var(--sage);transform:rotate(-45deg)}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{cursor:pointer;font:400 var(--fs-lg)/1.4 var(--serif);color:var(--teal);list-style:none;padding-right:30px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:-2px;font:400 var(--fs-stat)/1 var(--sans);color:var(--sage-2)}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:.8rem 0 0;color:var(--muted)}
.article header{padding-top:48px}
.article__cover{max-width:1100px;width:calc(100% - 40px);margin:24px auto 40px;border-radius:var(--r);aspect-ratio:16/8;object-fit:cover}
.prose{font-size:var(--fs-body);line-height:1.8}
.prose h2,.prose h3{margin-top:1.8em}
.prose img{border-radius:var(--r-sm);margin:1.5em 0}
.prose blockquote{border-left:3px solid var(--sage);margin:1.5em 0;padding:.2em 0 .2em 1.2em;color:var(--muted);font-family:var(--serif)}
.contact-card address{font-style:normal;margin-bottom:1rem}
.map{width:100%;height:280px;border:0;border-radius:var(--r);margin-top:12px}
.stack{display:flex;flex-direction:column}

/* footer */
.foot{background:#0d2c2f;color:#b9cac8;padding:64px 0 28px;font-size:var(--fs-sm)}
.foot a{color:#e3ecea} .foot a:hover{color:var(--sage-3)}
.foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
@media (max-width:900px){.foot__grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot__grid{grid-template-columns:1fr}}
.foot__grid img{height:40px;width:auto;margin-bottom:16px}
.foot__h{font:600 var(--fs-xs)/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sage-3);margin-bottom:14px}
.foot__list{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.foot address{font-style:normal;margin-bottom:.8rem}
.foot__legal{border-top:1px solid rgba(255,255,255,.1);margin-top:44px;padding-top:22px;font-size:var(--fs-2xs);color:#8ea6a3}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---- growth, zoning, tracker ---- */
.notice--warn{background:#f3f6f5;border-left:4px solid var(--sage);color:var(--ink);margin:24px 0}
.cite{display:block;font-size:var(--fs-2xs);color:var(--muted);line-height:1.5;margin-top:8px}
.cite a{color:inherit}
.tabs{display:flex;gap:6px;margin-top:18px;flex-wrap:wrap}
.tab{padding:.55em 1.1em;border-radius:999px;border:1px solid var(--line);text-decoration:none;color:var(--teal);background:#fff;font-weight:600;font-size:var(--fs-sm)}
.tab.is-on{background:var(--teal);color:#fff;border-color:var(--teal)}
.zt{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px}
.zt label{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-xs);font-weight:600;color:var(--teal)}
.zt input{font:inherit;font-weight:400;border:1px solid #cfd8d6;border-radius:var(--r-sm);padding:11px 12px}
.zt__help{grid-column:1/-1;margin:0;font-size:var(--fs-xs);color:var(--muted)}
@media (max-width:760px){.zt{grid-template-columns:1fr 1fr}.zt__addr,.zt .btn{grid-column:1/-1}}
.zt__out{margin-top:18px}
.zt__card{background:var(--mist);border-radius:var(--r);padding:22px}
.zt__card h3{font-size:var(--fs-h3);margin-bottom:.2em}
.zt__big{font:400 var(--fs-stat-lg)/1 var(--serif);color:var(--teal);margin:16px 0 10px}.zt__big span{font:500 var(--fs-body) var(--sans);color:var(--muted)}
.unit-picks{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
@media (max-width:640px){.unit-picks{grid-template-columns:repeat(3,1fr)}}
.unit-pick{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;text-decoration:none;display:flex;flex-direction:column;align-items:flex-start;color:var(--ink)}
.unit-pick strong{font:400 var(--fs-stat-lg)/1 var(--serif);color:var(--teal)}.unit-pick span{font-size:var(--fs-xs);color:var(--muted)}.unit-pick em{font-style:normal;font-size:var(--fs-xs);margin-top:8px;color:var(--sage-2);font-weight:600}
.unit-pick:hover,.unit-pick.is-on{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}
.unit-picks--tabs{margin-top:20px}
.table-wrap{overflow-x:auto;margin:16px 0}
.data{width:100%;border-collapse:collapse;font-size:var(--fs-sm);background:#fff}
.data th,.data td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.data thead th{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--mist)}
.data tbody th{color:var(--teal);font-family:var(--serif)}
.results__bar--form{flex-wrap:wrap;justify-content:flex-start;align-items:flex-end}
.results__bar--form label{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-xs);font-weight:600;color:var(--teal)}
.results__bar--form input,.results__bar--form select{font:inherit;font-weight:400;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;background:#fff}
.results__bar--form p{margin:0 0 0 auto}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:8px}
@media (max-width:900px){.kpis{grid-template-columns:repeat(2,1fr)}}
.kpi{background:#fff;padding:20px;display:flex;flex-direction:column}
.kpi strong{font:400 var(--fs-stat)/1.1 var(--serif);color:var(--teal)}.kpi span{font-size:var(--fs-sm);color:var(--ink);margin-top:4px}.kpi em{font-style:normal;font-size:var(--fs-2xs);color:var(--muted);margin-top:6px}
.charts{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media (max-width:900px){.charts{grid-template-columns:1fr}}
.chart{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 18px 12px;position:relative}
.chart figcaption{font:400 var(--fs-body)/1.3 var(--serif);color:var(--teal);margin-bottom:10px}
.chart__box{position:relative;height:280px;width:100%}
.chart__box canvas{position:absolute;inset:0}
.chart .cite{margin:12px 0 0}
.charts__note{margin-top:28px}
@media (max-width:600px){.chart__box{height:240px}}
.downloads{columns:2 280px;padding-left:18px}
.news{list-style:none;padding:0;margin:0 0 18px}.news li{padding:8px 0;border-bottom:1px solid var(--line)}
.news__src{font-size:var(--fs-body);margin:18px 0 4px}
.timeline{padding-left:20px}.timeline li{margin-bottom:14px}

.callout--light{background:var(--mist);color:var(--ink)}.callout--light h2{}.callout--light .cite{color:var(--muted)}

/* ---- agent desk ---- */
.desk{padding:24px 0 80px;background:var(--mist);min-height:70vh}
.desk-nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:20px;font-size:var(--fs-sm)}
.desk-nav strong{font-family:var(--serif);color:var(--teal);margin-right:8px}
.desk-nav a{text-decoration:none;color:var(--ink)}.desk-nav form{margin-left:auto}
.linkish{background:none;border:0;color:var(--teal-2);cursor:pointer;font:inherit;text-decoration:underline}
.desk-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.desk-head h1{font-size:var(--fs-h1);margin:.2em 0}.desk-actions{display:flex;gap:8px;flex-wrap:wrap}
.desk-grid{display:grid;grid-template-columns:1fr 360px;gap:24px;align-items:start}
@media (max-width:1000px){.desk-grid{grid-template-columns:1fr}}
.desk-form fieldset{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 18px 6px;margin:0 0 16px}
.desk-form legend{font:400 var(--fs-body) var(--serif);color:var(--teal);padding:0 6px}
.desk-form label{display:flex;flex-direction:column;gap:5px;font-size:var(--fs-xs);font-weight:600;color:var(--teal);margin-bottom:12px}
.desk-form input,.desk-form select,.dialog input,.dialog textarea{font:inherit;font-weight:400;border:1px solid #cfd8d6;border-radius:var(--r-sm);padding:9px 10px;background:#fff;width:100%}
.desk-form .check{flex-direction:row;align-items:center;font-weight:500;color:var(--ink)}.desk-form .check input{width:auto}
.check.inline{display:inline-flex;margin-left:8px}
.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:end}.row3 .span2{grid-column:span 2}
.row3 > .btn{margin-bottom:12px}
@media (max-width:640px){.row3{grid-template-columns:1fr}.row3 .span2{grid-column:auto}}
.mix{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}
.mix th{text-align:left;font-size:var(--fs-2xs);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:4px}
.mix td{padding:4px}.mix input,.mix select{width:100%;font:inherit;border:1px solid #cfd8d6;border-radius:6px;padding:7px}
.mix .x{background:none;border:0;font-size:var(--fs-h3);color:var(--muted);cursor:pointer}
.site-box{background:var(--mist);border-radius:var(--r-sm);padding:12px 14px;margin:6px 0 12px;font-size:var(--fs-sm)}
.thin{font-size:var(--fs-2xs);background:#fff4dc;color:#6b4a12;border-radius:4px;padding:1px 5px}
.verdict{font:700 var(--fs-stat)/1 var(--sans);letter-spacing:.06em;margin:0 0 10px;padding:12px;border-radius:var(--r-sm);text-align:center;color:#fff}
.verdict--go{background:#1f7a4d}.verdict--marginal{background:#9a6b12}.verdict--nogo{background:#a63a2b}
.checks{list-style:none;padding:0;margin:0 0 12px;font-size:var(--fs-xs)}.checks li{padding:4px 0 4px 22px;position:relative}
.checks li::before{position:absolute;left:0;font-weight:700}.checks .ok::before{content:"✓";color:#1f7a4d}.checks .bad::before{content:"✗";color:#a63a2b}
.kv{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin:0 0 12px;font-size:var(--fs-sm)}
.kv dt{color:var(--muted)}.kv dd{margin:0;text-align:right;font-weight:600}.kv--small{font-size:var(--fs-xs)}
.caps{width:100%;border-collapse:collapse;font-size:var(--fs-sm);margin-bottom:10px}
.caps th,.caps td{padding:5px 4px;border-bottom:1px solid var(--line);text-align:right}
.caps th:first-child,.caps td:first-child{text-align:left}.caps .pos{color:#1f7a4d}.caps .neg{color:#a63a2b}
.desk-side details{margin:6px 0;font-size:var(--fs-sm)}.desk-side summary{cursor:pointer;color:var(--teal);font-weight:600}
.notes{font-size:var(--fs-xs);color:var(--muted);padding-left:18px}
.verdict-pill{font-size:var(--fs-2xs);font-weight:700;padding:.3em .6em;border-radius:999px;background:var(--mist)}
.verdict-pill--go{background:#e7f4ec;color:#174d33}.verdict-pill--marginal{background:#fff4dc;color:#6b4a12}.verdict-pill--no-go{background:#fbeae7;color:#7a2a1f}
.auth{max-width:420px;margin:40px auto}
.desk-profile{max-width:560px}.sig{max-height:70px;background:#fff;border:1px solid var(--line);padding:6px}
.dialog{border:0;border-radius:var(--r);padding:24px;max-width:480px;width:92%;box-shadow:var(--shadow)}
.dialog label{display:flex;flex-direction:column;gap:5px;font-size:var(--fs-xs);font-weight:600;color:var(--teal);margin-bottom:12px}
.dialog::backdrop{background:rgba(18,58,62,.4)}
.agent-cta{margin-bottom:14px;background:var(--teal-2)}


/* ---- Classic look, matching the original lotfulrealty.com ---- */
h1,h2,h3{font-weight:400;color:var(--ink);letter-spacing:0}
.btn{border-radius:2px;font:400 var(--fs-body)/1 var(--serif);letter-spacing:.02em;padding:1em 1.8em}
.btn--sm{padding:.7em 1.2em;font-size:var(--fs-sm)}
.btn:hover{transform:none}
.eyebrow{font-weight:500;letter-spacing:.16em}
.nav{background:rgba(255,255,255,.97);border-bottom:0;box-shadow:0 1px 0 rgba(0,0,0,.04)}
.nav__in{height:84px}
.nav__logo img{height:44px}
.nav__menu{gap:1.6rem}
.nav__menu a{font-weight:400;font-size:var(--fs-sm);color:var(--ink)}
.nav__menu a:hover{color:var(--sage-2)}
.nav__menu a[aria-current]{color:var(--ink);box-shadow:inset 0 -1px 0 var(--ink)}
.nav__ig{display:inline-flex;color:var(--ink)}
@media (max-width:980px){.nav__menu{inset:84px 0 auto 0}.nav__ig{padding:14px 0}}

/* home hero: full-bleed video with one line, like the original */
.hero--classic{min-height:calc(100vh - 84px);justify-content:center;text-align:center}
.hero--classic::after{background:rgba(10,24,26,.38)}
.hero--classic .hero__in{position:relative;z-index:1;padding:40px 20px;width:100%;max-width:760px}
.hero--classic h1{color:#fff;max-width:none;font-size:var(--fs-display);margin-bottom:.35em;text-shadow:0 1px 20px rgba(0,0,0,.25)}
.hero__sub{font:400 var(--fs-xs)/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.88);margin-bottom:2.2rem}
.hero__search{display:flex;max-width:560px;margin:0 auto;border-bottom:1px solid rgba(255,255,255,.75)}
.hero__search input{flex:1;min-width:0;background:transparent;border:0;color:#fff;font:400 var(--fs-body)/1 var(--sans);padding:.9em .2em}
.hero__search input::placeholder{color:rgba(255,255,255,.75)}
.hero__search input:focus{outline:none}
.hero__search:focus-within{border-bottom-color:#fff}
.hero__search button{background:transparent;border:0;color:#fff;font:400 var(--fs-body)/1 var(--serif);letter-spacing:.03em;padding:.9em .2em .9em 1em;cursor:pointer;white-space:nowrap}
.hero__search button:hover{color:var(--sage-3)}

/* sections */
.cl{position:relative;padding:110px 0}
.cl--tight{padding-top:20px}
.cl--white{background:#fff}.cl--mist{background:#ededed}.cl--teal{background:var(--teal-2);color:#e6ecea}
.cl--angle{clip-path:polygon(0 5vw,100% 0,100% 100%,0 100%);margin-top:-5vw;padding-top:calc(110px + 5vw)}
.cl__narrow{max-width:780px}
.cl__title{font-size:var(--fs-h2);text-align:center;margin-bottom:.9em}
.cl__title--sage{color:var(--sage);text-align:left}
.cl__lead{text-align:center;font-size:var(--fs-body);color:var(--muted);margin:-.4em auto 2.4em;max-width:62ch}
.cl__head{display:flex;flex-direction:column;align-items:center;margin-bottom:2.4rem}
.cl__head .cl__title{margin-bottom:.3em}
.cl__link{color:var(--ink);font-size:var(--fs-sm);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.cl__link:hover{color:var(--sage-2)}
.cl__more{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 2rem;margin:2.6rem 0 0;font-size:var(--fs-sm)}
.cl__more a{color:var(--muted);text-decoration:none}.cl__more a:hover{color:var(--ink);text-decoration:underline}
.cl__split{display:grid;grid-template-columns:1fr 1.25fr;gap:72px;align-items:start}
.cl__split--even{grid-template-columns:1fr 1fr;align-items:center}
.cl__split--even .cl__title{text-align:left}
.cl--teal p{color:#dbe4e1}
.cl--teal a:not(.btn){color:#fff}
.btn--classic{background:var(--sage);color:#fff;margin-top:1.4rem}
.btn--classic:hover{background:#7a958e;color:#fff}
.cl__links{list-style:none;margin:0;padding:0;border-top:1px solid #cfd3d2}
.cl__links li{border-bottom:1px solid #cfd3d2}
.cl__links a{display:block;padding:16px 28px 16px 0;color:var(--ink);text-decoration:none;font:400 var(--fs-body)/1.4 var(--serif);position:relative}
.cl__links a::after{content:"\2192";position:absolute;right:2px;top:16px;color:var(--sage-2);font-family:var(--sans)}
.cl__links a:hover{color:var(--sage-2)}
@media (max-width:860px){.cl{padding:72px 0}.cl--angle{padding-top:calc(72px + 5vw)}.cl__split,.cl__split--even{grid-template-columns:1fr;gap:28px}}

/* accordions (Who We Are, Our Services) */
.acc{border-top:1px solid var(--ink)}
.acc details{border-bottom:1px solid var(--ink)}
.acc summary{cursor:pointer;list-style:none;position:relative;padding:14px 36px 14px 0;font:400 var(--fs-lg)/1.4 var(--sans);color:var(--ink)}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";position:absolute;right:4px;top:10px;font:300 var(--fs-stat)/1.2 var(--sans)}
.acc details[open] summary::after{content:"\2212"}
.acc details p{margin:0 0 1em;color:var(--muted)}
.acc details > :last-child{margin-bottom:22px}
.acc--light{border-top-color:rgba(255,255,255,.55)}
.acc--light details{border-bottom-color:rgba(255,255,255,.55)}
.acc--light summary{color:#fff;font-family:var(--serif);font-size:var(--fs-h3)}
.acc--light details p{color:#dbe4e1;font-size:var(--fs-sm)}

/* listings on the home page */
.cards--classic{grid-template-columns:repeat(3,1fr)}
.cards--classic .card{border-radius:0;box-shadow:none;border:0}
.cards--classic .card img{border-radius:0}
@media (max-width:860px){.cards--classic{grid-template-columns:1fr}}

/* contact form on grey */
.cl--mist .form input,.cl--mist .form select,.cl--mist .form textarea{background:#fff;border-radius:0}
.cl--mist .form .btn{width:100%;background:var(--sage);font-size:var(--fs-body)}
.cl--mist .form .btn:hover{background:#7a958e}
.cl--mist .form__fine{text-align:center}

/* team: round photos, as on the original */
.team-classic{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 32px;text-align:center}
.team-classic__m{text-decoration:none;color:var(--ink)}
.team-classic__m img{width:min(220px,70%);aspect-ratio:1;object-fit:cover;object-position:center 20%;border-radius:50%;margin:0 auto 22px}
.team-classic__m h3{font-size:var(--fs-h3);margin:0 0 .4em}
.team-classic__m p{font:500 var(--fs-2xs)/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}
.team-classic__m:hover h3{color:var(--sage-2)}
@media (max-width:760px){.team-classic{grid-template-columns:repeat(2,1fr);gap:40px 16px}}

/* testimonials: grey cards */
.quotes-classic{columns:3 300px;column-gap:24px}
.quotes-classic figure{break-inside:avoid;background:#ededed;margin:0 0 24px;padding:30px 30px 24px}
.quotes-classic figcaption{font:400 var(--fs-lg)/1.3 var(--serif);color:var(--sage-2);margin-bottom:.9em}
.quotes-classic blockquote{margin:0;font-size:var(--fs-sm);line-height:1.7;color:var(--ink)}

/* Connect With Us band */
.connect{position:relative;height:340px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--sage)}
.connect img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.connect__btn{position:relative;background:#fff;color:var(--teal-2);text-decoration:none;font:400 var(--fs-lg)/1 var(--serif);letter-spacing:.03em;padding:1.3em 0;width:min(360px,80%);text-align:center;transition:background .15s}
.connect__btn:hover{background:var(--mist);color:var(--teal)}

/* address type-ahead */
.suggest{position:absolute;left:0;right:0;top:100%;z-index:40;list-style:none;margin:4px 0 0;padding:4px 0;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);max-height:300px;overflow:auto;text-align:left}
.suggest li{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;cursor:pointer;font-size:var(--fs-sm);color:var(--ink)}
.suggest li span{color:var(--muted);font-size:var(--fs-xs);white-space:nowrap}
.suggest li strong{font-weight:500}
.suggest li:hover,.suggest li[aria-selected=true]{background:var(--mist)}

/* agent desk: showings & tours */
.desk-h2{font-size:var(--fs-h2);margin:2rem 0 .8rem}
.desk-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:2rem}
.desk-cols .desk-h2{margin-top:0}
@media (max-width:860px){.desk-cols{grid-template-columns:1fr}}
.pill--off{background:#f6e4e1;color:#a63a2b}
.feed{display:block;word-break:break-all;background:var(--mist);padding:6px 8px;margin-top:4px;font-size:var(--fs-2xs)}
.tour-days{display:grid;gap:10px}
.tour-day{display:flex;gap:18px;align-items:center;padding:14px 18px;border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--ink)}
.tour-day:hover{border-color:var(--sage)}
.tour-day__date{display:flex;flex-direction:column;align-items:center;min-width:64px;font-size:var(--fs-xs);color:var(--muted)}
.tour-day__date strong{font:400 var(--fs-h3)/1.1 var(--serif);color:var(--ink)}
.tour-day__body{display:flex;flex-direction:column;gap:2px;min-width:0}
.tour-day__body em{font-style:normal;color:var(--muted);font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tour-stops{list-style:none;padding:0;margin:1.5rem 0}
.tour-stop{display:grid;grid-template-columns:220px 1fr;gap:22px;padding:22px 0;border-top:1px solid var(--line)}
.tour-stop img,.tour-stop__nophoto{width:220px;height:150px;object-fit:cover;background:var(--mist);display:block}
.tour-stop h3{margin:.1rem 0 .3rem;font-size:var(--fs-h3)}
.tour-stop p{margin:0 0 .35rem}
.tour-stop__time{font:400 var(--fs-body)/1.3 var(--serif);color:var(--teal-2)}
.tour-stop--off{opacity:.55}
.tour-access{margin:.4rem 0;font-size:var(--fs-sm)}.tour-access summary{cursor:pointer;color:#a63a2b}
.tour-notes{display:block;margin-top:.5rem;font-size:var(--fs-xs);color:var(--muted)}
.tour-notes textarea{width:100%;margin-top:4px}
@media (max-width:700px){.tour-stop{grid-template-columns:1fr}.tour-stop img,.tour-stop__nophoto{width:100%;height:190px}}
.nav__agent{color:var(--muted)!important;font-size:var(--fs-xs)!important}

.btn--google{background:#fff;color:#3c4043;box-shadow:inset 0 0 0 1px #dadce0;font:500 var(--fs-sm)/1 var(--sans);gap:10px}
.btn--google:hover{background:#f8f9fa;color:#3c4043}
.auth__or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:var(--fs-xs);margin:18px 0}
.auth__or::before,.auth__or::after{content:"";flex:1;border-top:1px solid var(--line)}

/* agent desk form: titles inside the card, tidy rows */
.desk-form fieldset{padding:22px 22px 10px;min-width:0}
.desk-form .fs-title{font:400 var(--fs-h3)/1.3 var(--serif);color:var(--ink);margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.desk-form .fs-title .opt{font:400 var(--fs-xs) var(--sans)}
.desk-form label{color:var(--ink);font-weight:500}
.desk-form input::placeholder{color:#9aa3a1}
.row3{align-items:end}
.row3 > .btn,.row3 > button.btn{margin-bottom:12px;height:41px;padding-top:0;padding-bottom:0;font-size:var(--fs-sm)}
.desk-form .check{margin-bottom:12px;min-height:41px}
.site-box{border-radius:var(--r-sm);padding:14px 16px;margin:2px 0 14px}
.site-box p{margin:0 0 .5em}.site-box p:last-child{margin-bottom:0}

/* MLS details */
.mls-box{margin:.6rem 0;border:1px solid var(--line);background:#fff;padding:10px 14px}
.mls-box > summary{cursor:pointer;color:var(--teal-2);font-size:var(--fs-sm)}
.mls-facts{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:12px 0;font-size:var(--fs-sm)}
.mls-facts dt{color:var(--muted)}.mls-facts dd{margin:0}
.rooms{width:100%;border-collapse:collapse;font-size:var(--fs-xs);margin:8px 0 12px}
.rooms th{text-align:left;font-weight:500;color:var(--muted);border-bottom:1px solid var(--line);padding:4px 6px}
.rooms td{border-bottom:1px solid #eef0ef;padding:4px 6px}
.mls-remarks{font-size:var(--fs-sm);color:var(--ink);white-space:pre-line}
.tour-stop__actions{margin:.5rem 0}
.desk-grid + .mls-box,.mls-box + .desk-grid{margin-top:12px}
@media (min-width:900px){.mls-facts{grid-template-columns:max-content minmax(0,1fr) max-content minmax(0,1fr) max-content minmax(0,1fr);column-gap:18px}}
.mls-facts dd{overflow-wrap:anywhere}

/* listing gallery arrows */
.gallery__stage{position:relative}
.gallery__nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;
  background:rgba(255,255,255,.88);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 2px 10px rgba(0,0,0,.18);transition:background .15s}
.gallery__nav:hover{background:#fff}
.gallery__nav--prev{left:14px}.gallery__nav--next{right:14px}
.gallery__count{position:absolute;right:14px;bottom:14px;background:rgba(0,0,0,.55);color:#fff;font-size:var(--fs-xs);padding:4px 10px;border-radius:999px}
@media (max-width:640px){.gallery__nav{width:36px;height:36px}}

/* lead tracker */
.lead-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 1.4rem}
.lead-sum div{background:#fff;border:1px solid var(--line);padding:12px 14px}
.lead-sum strong{display:block;font:400 var(--fs-stat)/1.1 var(--serif)}
.lead-sum span{font-size:var(--fs-xs);color:var(--muted)}
.lead-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:0 0 1rem}
.lead-filters label{display:flex;flex-direction:column;font-size:var(--fs-xs);color:var(--muted);gap:4px}
.lead-filters select{font:inherit;padding:7px 9px;border:1px solid #cfd8d6;background:#fff}
.leads-table td{vertical-align:top}
.leads-table .st{font-size:var(--fs-2xs);padding:2px 8px;border-radius:999px;background:var(--mist);white-space:nowrap}
.st--new{background:#fbeae7!important;color:#a63a2b}.st--booked,.st--client{background:#e3f1e9!important;color:#1f7a4d}
.lead-edit{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.lead-edit select,.lead-edit textarea{font:inherit;font-size:var(--fs-xs);padding:6px 8px;border:1px solid #cfd8d6;background:#fff}
.lead-edit textarea{flex:1 1 260px;min-height:38px}
.leads-table tr:target{outline:2px solid var(--sage)}
.agent-table td,.agent-table th{text-align:right}.agent-table td:first-child,.agent-table th:first-child{text-align:left}

/* main menu: grouped by what visitors came to do */
.nav__menu{gap:1.5rem}
.nav__group{position:relative}
.nav__top{background:none;border:0;padding:6px 0;font:400 var(--fs-sm)/1 var(--sans);color:var(--ink);cursor:pointer;display:flex;align-items:center;gap:6px}
.nav__top::after{content:"";width:6px;height:6px;border-right:1.3px solid currentColor;border-bottom:1.3px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.6;transition:transform .15s}
.nav__top[aria-current]{box-shadow:inset 0 -1px 0 var(--ink)}
.nav__top:hover{color:var(--sage-2)}
.nav__drop{position:absolute;top:calc(100% + 14px);left:-18px;min-width:300px;background:#fff;box-shadow:0 12px 40px rgba(18,58,62,.14);
  border-top:2px solid var(--sage);padding:8px;display:none;z-index:60}
.nav__drop::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}  /* hover bridge */
.nav__drop a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;text-decoration:none;color:var(--ink)!important;box-shadow:none!important}
.nav__drop a:hover,.nav__drop a:focus{background:var(--mist)}
.nav__drop strong{font:400 var(--fs-body)/1.25 var(--serif)}
.nav__drop span{font-size:var(--fs-2xs);color:var(--muted);line-height:1.35}
.nav__cta{border:1px solid var(--ink);padding:8px 16px!important;line-height:1}
.nav__cta:hover{background:var(--ink);color:#fff!important}
@media (min-width:981px){
  .nav__group:hover .nav__drop,.nav__group:focus-within .nav__drop,.nav__top[aria-expanded=true] + .nav__drop{display:block}
  .nav__group:hover .nav__top::after{transform:translateY(1px) rotate(225deg)}
}
@media (max-width:980px){
  .nav__menu{max-height:calc(100vh - 84px);overflow-y:auto}
  .nav__group{border-bottom:1px solid var(--line)}
  .nav__top{width:100%;justify-content:space-between;padding:16px 0;font-size:var(--fs-body)}
  .nav__top[aria-current]{box-shadow:none;font-weight:600}
  .nav__drop{position:static;box-shadow:none;border:0;padding:0 0 10px;min-width:0}
  .nav__drop::before{display:none}
  .nav__top[aria-expanded=true] + .nav__drop{display:block}
  .nav__top[aria-expanded=true]::after{transform:translateY(1px) rotate(225deg)}
  .nav__drop a{padding:9px 10px}
  .nav__cta{margin-top:14px;text-align:center;padding:14px!important}
}

/* Join Lotful (careers) */
.join-hero{position:relative;background:var(--teal) url("../img/connect.777bef254dd7.webp") center 35%/cover;color:#fff;padding:120px 0 110px}
.join-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(18,58,62,.94) 0%,rgba(18,58,62,.78) 55%,rgba(18,58,62,.45) 100%)}
.join-hero__in{position:relative;max-width:var(--w)}
.join-hero h1{color:#fff;font-size:var(--fs-display);line-height:1.08;margin:.2em 0 .4em}
.join-hero h1 em{color:var(--sage-3);font-style:italic}
.join-kicker{font:500 var(--fs-2xs)/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--sage-3);margin:0}
.join-lede{font-size:var(--fs-lg);max-width:58ch;color:#e3ebe9;margin-bottom:2rem}
.join-link{color:#fff!important;margin-left:18px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:2px}
.crumbs--light,.crumbs--light a{color:rgba(255,255,255,.75)}
.join-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.join-grid article{background:#fff;padding:30px 28px}
.join-grid h3{font-size:var(--fs-h3);margin:.4em 0 .5em}
.join-grid p{color:var(--muted);margin:0;font-size:var(--fs-sm)}
.join-num{font:400 var(--fs-xs) var(--serif);color:var(--sage-2);letter-spacing:.1em}
.join-grid--4{grid-template-columns:repeat(4,1fr)}
.cl--mist .join-grid{background:#d9dddc;border-color:#d9dddc}
@media (max-width:960px){.join-grid,.join-grid--4{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.join-grid,.join-grid--4{grid-template-columns:1fr}.join-hero{padding:80px 0}}
.join-steps{list-style:none;margin:0;padding:0;counter-reset:s;border-top:1px solid rgba(255,255,255,.35)}
.join-steps li{counter-increment:s;display:grid;grid-template-columns:48px 1fr;gap:4px 16px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.35)}
.join-steps li::before{content:"0" counter(s);grid-row:span 2;font:400 var(--fs-stat)/1 var(--serif);color:var(--sage)}
.join-steps strong{font:400 var(--fs-h3) var(--serif);color:#fff}
.join-steps span{color:#dbe4e1;font-size:var(--fs-sm)}
.join-fit{list-style:none;margin:0;padding:0;border-top:1px solid #cfd3d2}
.join-fit li{padding:14px 0 14px 30px;border-bottom:1px solid #cfd3d2;position:relative;font:400 var(--fs-body)/1.4 var(--serif)}
.join-fit li::before{content:"";position:absolute;left:4px;top:21px;width:12px;height:2px;background:var(--sage-2)}

/* sixth pick: zones with no unit maximum */
.unit-picks{grid-template-columns:repeat(6,1fr)}
@media (max-width:900px){.unit-picks{grid-template-columns:repeat(3,1fr)}}
.unit-pick--open{background:var(--teal);border-color:var(--teal);color:#fff}
.unit-pick--open strong{color:#fff;font-size:var(--fs-stat)}.unit-pick--open span{color:rgba(255,255,255,.8)}.unit-pick--open em{color:var(--sage)}
.unit-pick--open:hover,.unit-pick--open.is-on{box-shadow:inset 0 0 0 2px var(--sage)}
.unit-open-note{max-width:760px;margin:14px 0 0;color:var(--muted)}

/* desk: what the lot can hold */
.mass{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 16px;margin:12px 0}
.mass h3{font:400 var(--fs-h3)/1.3 var(--serif);margin:0 0 10px}
.mass__kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:0 0 12px}
.mass__kv dt{font-size:var(--fs-2xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.mass__kv dd{margin:2px 0 0;font-weight:600;font-size:var(--fs-body)}.mass__kv small{font-weight:400;color:var(--muted)}
.mass__mix{width:100%;border-collapse:collapse;font-size:var(--fs-sm);margin-bottom:10px}
.mass__mix th,.mass__mix td{padding:5px 8px;border-bottom:1px solid var(--line);text-align:right}
.mass__mix th:first-child,.mass__mix td:first-child{text-align:left}.mass__mix th{font-size:var(--fs-2xs);color:var(--muted);font-weight:600}
.mass__steps{margin:8px 0;padding-left:20px;font-size:var(--fs-xs)}.mass__steps li{margin-bottom:4px}
.mass__in{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.mass__in label{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-2xs);font-weight:600;color:var(--teal)}
.mass__in input:not([type=checkbox]){width:90px;font:inherit;padding:6px 8px;border:1px solid #cfd8d6;border-radius:var(--r-sm)}
.mass__in .chk{flex-direction:row;align-items:center;gap:6px;padding-bottom:8px}

/* desk: tour calendar */
.cal-nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:10px 0}
.cal-nav h2{font:400 var(--fs-stat)/1 var(--serif);margin:0 6px;min-width:170px;text-align:center}
.cal-jump{font-size:var(--fs-xs);color:var(--muted);display:flex;gap:6px;align-items:center;margin-left:auto}
.cal-search{display:flex;gap:8px;align-items:center}.cal-search input{font:inherit;padding:7px 10px;border:1px solid #cfd8d6;border-radius:var(--r-sm);min-width:220px}
.cal{border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;background:#fff}
.cal__head,.cal__week{display:grid;grid-template-columns:repeat(7,1fr)}
.cal__head span{padding:8px;font-size:var(--fs-2xs);font-weight:600;color:var(--muted);text-align:center;background:var(--mist)}
.cal__day{min-height:112px;padding:8px;border-top:1px solid var(--line);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:3px;font-size:var(--fs-2xs);color:var(--ink);text-decoration:none;overflow:hidden}
.cal__week>.cal__day:first-child{border-left:0}
.cal__day--out{background:#fafbfb;color:#aab3b1}
.cal__day--on{background:#f2f6f5}.cal__day--on:hover{background:#e6efed}
.cal__day--today .cal__num{background:var(--teal);color:#fff;border-radius:50%;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}
.cal__num{font-weight:600;font-size:var(--fs-xs)}
.cal__day strong{font-size:var(--fs-xs);color:var(--teal)}.cal__day em{font-style:normal;color:#a63a2b;font-weight:400}
.cal__who{font-weight:600}.cal__where{color:var(--muted);line-height:1.3}
.cal__km{margin-top:auto;font-size:var(--fs-2xs);color:var(--sage-2);font-weight:600}
@media (max-width:760px){.cal__head{display:none}.cal__week{grid-template-columns:1fr}.cal__day{min-height:0;border-left:0}
  .cal__day:not(.cal__day--on){display:none}}
/* desk: mileage */
.trip{margin-top:18px}.trip__legs{width:100%;border-collapse:collapse;font-size:var(--fs-xs);margin-bottom:10px}
.trip__legs td{padding:4px 6px;border-bottom:1px solid var(--line)}.trip__legs .num,.mileage .num{text-align:right;white-space:nowrap}
.trip__edit{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.trip__edit label{display:flex;flex-direction:column;font-size:var(--fs-2xs);font-weight:600;color:var(--teal);gap:4px}
.trip__edit input{width:90px;font:inherit;padding:6px 8px;border:1px solid #cfd8d6;border-radius:var(--r-sm)}
.mileage{width:100%;border-collapse:collapse;font-size:var(--fs-sm);margin-top:16px}
.mileage th,.mileage td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.mileage td.muted{font-size:var(--fs-2xs);max-width:420px}.km-edit{display:flex;gap:4px;align-items:center}
.km-edit input{width:64px;font:inherit;font-size:var(--fs-xs);padding:4px 6px;border:1px solid #cfd8d6;border-radius:var(--r-sm)}

/* lots by units: filters + map */
.unit-picks--7{grid-template-columns:repeat(7,1fr)}
@media (max-width:900px){.unit-picks--7{grid-template-columns:repeat(4,1fr)}}
@media (max-width:520px){.unit-picks--7{grid-template-columns:repeat(2,1fr)}}
.lots-filter{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:flex-end;margin:18px 0 14px;padding:14px;background:var(--mist);border-radius:var(--r-sm)}
.lots-filter label{display:flex;flex-direction:column;gap:5px;font-size:var(--fs-2xs);font-weight:600;color:var(--teal)}
.lots-filter input:not([type=checkbox]),.lots-filter select{font:inherit;font-size:var(--fs-sm);padding:7px 9px;border:1px solid #cfd8d6;border-radius:var(--r-sm);background:#fff;min-width:0;width:130px}
.lots-filter select[name=area]{width:220px}
.lots-filter .chk{flex-direction:row;align-items:center;gap:6px;padding-bottom:9px}
.lots-clear{font-size:var(--fs-xs);padding-bottom:8px}
@media (max-width:640px){.lots-filter label{flex:1 1 44%}.lots-filter input:not([type=checkbox]),.lots-filter select,.lots-filter select[name=area]{width:100%}}
.lots-map-wrap{position:relative;margin-bottom:12px}
.lots-map{height:440px;border-radius:var(--r-sm);border:1px solid var(--line);z-index:0}
@media (max-width:640px){.lots-map{height:320px}}
.lots-here{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:500;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.lots-here--off{background:#fff;padding:7px 14px;border-radius:999px;font-size:var(--fs-xs);color:var(--ink);text-decoration:none}
.lots-legend{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:var(--fs-2xs);color:var(--muted);margin:8px 0 0}
.dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:-4px}
.lot-pin{border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);display:flex!important;align-items:center;justify-content:center;font:700 11px/1 var(--sans);color:#fff}
.lot-pin--4,.dot--4{background:#88a39c}.lot-pin--6,.dot--6{background:#5f8a82}.lot-pin--8,.dot--8{background:#3f6f69}
.lot-pin--10,.dot--10{background:#2b5050}.lot-pin--12,.dot--12{background:#123a3e}.lot-pin--open,.dot--open{background:#363636}
.lot-pop{display:flex;flex-direction:column;gap:3px;text-decoration:none;color:var(--ink)!important;width:220px}
.lot-pop img{width:220px;height:140px;object-fit:cover;border-radius:4px;margin-bottom:4px}
.lot-pop strong{font-size:var(--fs-body)}.lot-pop span{font-size:var(--fs-xs)}.lot-pop em{font-style:normal;font-size:var(--fs-2xs);color:var(--sage-2);font-weight:600}
.lots-count{margin:4px 0 12px;color:var(--muted)}

.lot-cluster{background:rgba(18,58,62,.88);border:3px solid rgba(136,163,156,.75);border-radius:50%;display:flex!important;align-items:center;justify-content:center;color:#fff;font:600 var(--fs-2xs)/1 var(--sans)}

/* desk: Google Drive folder picker */
.drive-current{margin:0 0 10px}
.drive-picker{margin-top:12px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;padding:10px 12px}
.drive-picker__tabs{display:flex;gap:6px;margin-bottom:8px}
.drive-picker__tabs button{font:inherit;font-size:var(--fs-xs);padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--mist);cursor:pointer}
.drive-picker__path{font-size:var(--fs-xs);margin-bottom:6px;color:var(--muted)}
.drive-picker__list{list-style:none;margin:0;padding:0;max-height:280px;overflow-y:auto;border-top:1px solid var(--line)}
.drive-picker__list li{border-bottom:1px solid var(--line)}
.drive-picker__list button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;font:inherit;font-size:var(--fs-sm);padding:8px 6px;background:none;border:0;cursor:pointer;color:var(--ink)}
.drive-picker__list button:hover{background:var(--mist)}
.drive-ico{width:16px;height:12px;border-radius:2px;background:#8a9b98;position:relative;flex:none}
.drive-ico::before{content:"";position:absolute;left:0;top:-3px;width:7px;height:4px;background:#8a9b98;border-radius:2px 2px 0 0}
.drive-ico--drive,.drive-ico--drive::before{background:#2b5050}
.drive-picker__foot{margin:10px 0 0;display:flex;gap:10px;align-items:center}

/* lots: developer proximity */
.lots-tabs{display:flex;gap:8px;margin:18px 0 0}
.lots-tabs a{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:var(--fs-sm);text-decoration:none;color:var(--ink)}
.lots-tabs a.is-on,.lots-tabs a:hover{background:var(--teal);border-color:var(--teal);color:#fff}
.school-banner{margin:14px 0 0;padding:10px 14px;background:#fff;border-left:3px solid var(--sage);font-size:var(--fs-sm)}
.near{list-style:none;display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 0;padding:0}
.near li{font-size:var(--fs-2xs);padding:3px 7px;border-radius:999px;background:var(--mist);color:var(--ink)}
.near .near--school{background:var(--teal);color:#fff}
.poi{border-radius:50%;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}
.poi--lrt{background:#c8102e}.poi--ramp{background:#e8a33a}.poi--grocery{background:#3b8c4a}.poi--campus{background:#6c4ba0}
.poi--school{background:#123a3e;border-width:3px}
.poi-key{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}
.schools-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);margin-top:14px}
.schools-table th,.schools-table td{padding:8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.schools-table th{font-size:var(--fs-2xs);color:var(--muted);font-weight:600}
.schools-table .num{text-align:right;white-space:nowrap}
.rank{display:inline-flex;min-width:34px;justify-content:center;padding:3px 6px;border-radius:6px;background:var(--mist);font-weight:700;color:var(--teal)}
.rank--top{background:var(--teal);color:#fff}
.school-map{height:380px;border-radius:var(--r-sm);border:1px solid var(--line);margin-top:14px;z-index:0}
@media (max-width:700px){.schools-table .hide-sm{display:none}}
.seg{display:flex;border:1px solid var(--teal);border-radius:999px;overflow:hidden;align-self:flex-end}
.seg a{padding:7px 14px;font-size:var(--fs-xs);text-decoration:none;color:var(--teal)}
.seg a.is-on{background:var(--teal);color:#fff}

/* public: search by school */
.sch-hero{background:linear-gradient(160deg,#123a3e 0%,#2b5050 100%);color:#fff;padding:56px 0 46px}
.sch-hero h1{font:400 var(--fs-display)/1.1 var(--serif);margin:.2em 0 .35em;color:#fff}
.sch-hero h1 em{color:var(--sage);font-style:italic}
.sch-lede{max-width:640px;font-size:var(--fs-body);color:rgba(255,255,255,.88)}
.sch-address{display:flex;gap:10px;max-width:640px;margin:22px 0 8px;position:relative}
.sch-address input{flex:1;font:inherit;padding:13px 14px;border-radius:var(--r-sm);border:0;min-width:0}
.sch-address--light input{border:1px solid #cfd8d6}
.sch-stats{list-style:none;display:flex;flex-wrap:wrap;gap:8px 26px;padding:0;margin:18px 0 0;color:rgba(255,255,255,.85);font-size:var(--fs-sm)}
.sch-stats strong{color:#fff;font:400 var(--fs-h3) var(--serif);margin-right:4px}
.sch-how{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}
.sch-how article{background:var(--mist);border-radius:var(--r-sm);padding:16px 18px}
.sch-how span{font:400 var(--fs-stat) var(--serif);color:var(--sage-2)}.sch-how h3{margin:.2em 0;font:400 var(--fs-h3) var(--serif);}
.sch-how p{margin:0;font-size:var(--fs-sm);color:var(--muted)}
@media (max-width:760px){.sch-how{grid-template-columns:1fr}.sch-address{flex-direction:column}}
.sch-pickbar{position:sticky;top:84px;z-index:20;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-top:14px;
  padding:10px 14px;background:var(--teal);color:#fff;border-radius:var(--r-sm)}
.sch-pickbar .chk{display:flex;gap:6px;align-items:center;font-size:var(--fs-xs)}.sch-pickbar .btn{margin-left:auto;background:#fff;color:var(--teal)}
.sch-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
.sch-facts div{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px}
.sch-facts span{display:block;font-size:var(--fs-2xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.sch-facts strong{font:400 var(--fs-h3) var(--serif);color:var(--teal)}.sch-facts small{font:400 var(--fs-xs) var(--sans);color:var(--muted)}
.sch-facts .sch-addr{font:500 var(--fs-sm) var(--sans);color:var(--ink)}
@media (max-width:700px){.sch-facts{grid-template-columns:repeat(2,1fr)}}
.sch-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}
@media (max-width:820px){.sch-cols{grid-template-columns:1fr}}
.sch-list{list-style:none;margin:0;padding:0}
.sch-list li{display:flex;gap:10px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--line);font-size:var(--fs-sm)}
.sch-list li>span:not(.rank):not(.poi-key){color:var(--muted);min-width:140px;font-size:var(--fs-xs)}
.sch-list em{margin-left:auto;font-style:normal;color:var(--sage-2);font-weight:600;white-space:nowrap}
.sch-h3{font:400 var(--fs-h3) var(--serif);margin:16px 0 4px}
.sec__h{font:400 var(--fs-stat) var(--serif);margin:26px 0 12px}
.pill-k{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--sage-2);font-weight:700}
.home-pin{background:var(--teal);color:#fff;border-radius:999px;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);
  display:flex!important;align-items:center;justify-content:center;font:700 10.5px/1 var(--sans);white-space:nowrap}
.sch-promo{background:var(--mist);border-bottom:1px solid var(--line)}
.sch-promo__in{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px 0;flex-wrap:wrap}
.sch-promo p{margin:0;max-width:720px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* school page: about block, clickable school marker */
.sch-about{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;margin:0 0 22px;scroll-margin-top:100px}
.sch-about>div{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:16px 18px}
@media (max-width:820px){.sch-about{grid-template-columns:1fr}}
.sch-dl{display:grid;grid-template-columns:110px 1fr;gap:7px 12px;margin:0;font-size:var(--fs-sm)}
.sch-dl dt{color:var(--muted);font-size:var(--fs-xs)}.sch-dl dd{margin:0}
.sch-bars{list-style:none;margin:0 0 8px;padding:0}
.sch-bars li{display:grid;grid-template-columns:150px 1fr 44px;gap:10px;align-items:center;padding:5px 0;font-size:var(--fs-xs)}
.sch-bars i{height:10px;border-radius:999px;background:linear-gradient(90deg,var(--teal) var(--v),var(--mist) var(--v))}
.sch-bars strong{text-align:right}.sch-bars em{grid-column:span 2;font-style:normal;color:var(--muted);font-size:var(--fs-xs)}
.school-pin span{display:inline-block;white-space:nowrap;background:var(--teal);color:#fff;font:600 var(--fs-2xs)/1 var(--sans);
  padding:7px 10px 7px 26px;border-radius:999px;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.35);cursor:pointer;position:relative}
.school-pin span::before{content:"";position:absolute;left:8px;top:50%;width:11px;height:11px;margin-top:-6px;border-radius:2px;
  background:#fff;clip-path:polygon(50% 0,100% 40%,100% 100%,0 100%,0 40%)}
.school-pin:hover span{background:#2b5050}
.sch-pop{display:flex;flex-direction:column;gap:4px;min-width:210px;font-size:var(--fs-xs)}.sch-pop strong{font-size:var(--fs-body);color:var(--teal)}
.sch-pop span{color:var(--muted)}.sch-pop a{font-weight:600;margin-top:4px}

/* keep map buttons, layer controls and the school pick bar under the site menu */
.lots-map-wrap,.lots-map,.school-map,#sch-map,#multi-map,#addr-map{position:relative;isolation:isolate;z-index:0}
.sch-pickbar{z-index:5}

/* desk analysis: financing choice + folded advanced options */
.fin-pick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.fin-opt{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;cursor:pointer;font-size:var(--fs-xs);color:var(--muted)}
.fin-opt strong{display:block;color:var(--ink);font-size:var(--fs-sm)}
.fin-opt:has(input:checked){border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal);background:#f6faf9}
details.more{margin:6px 0 4px}details.more>summary{cursor:pointer;font-size:var(--fs-xs);color:var(--teal);font-weight:600;margin-bottom:8px}
@media (max-width:640px){.fin-pick{grid-template-columns:1fr}}

/* desk: send properties to a client */
.send-bar{position:sticky;bottom:0;z-index:30;background:#fff;border:1px solid var(--teal);border-radius:var(--r-sm);
  box-shadow:0 -6px 24px rgba(18,58,62,.15);padding:12px 14px;margin-top:14px;display:flex;flex-direction:column;gap:10px}
.send-bar__top{display:flex;gap:12px;align-items:center}
.send-bar__fields{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:10px;position:relative}
.send-bar label{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-2xs);font-weight:600;color:var(--teal)}
.send-bar input:not([type=checkbox]){font:inherit;padding:7px 9px;border:1px solid #cfd8d6;border-radius:var(--r-sm)}
.send-bar .chk{flex-direction:row;align-items:center;gap:6px;font-weight:500;color:var(--ink)}
.send-bar__go{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.send-bar__go .btn{margin-left:auto}
.send-bar .suggest{position:absolute;top:100%;left:0;width:calc(33% - 6px);z-index:40}
@media (max-width:760px){.send-bar__fields{grid-template-columns:1fr}.send-bar .suggest{width:100%}}
.pick-table td{vertical-align:middle}.pick-img{border-radius:4px;object-fit:cover}
.near-chip{display:inline-block;font-size:var(--fs-2xs);padding:2px 7px;margin:2px 4px 2px 0;border-radius:999px;background:var(--mist)}
.send-bar .suggest{right:auto}
.card-pick{position:absolute;top:10px;right:10px;z-index:3;background:#fff;border-radius:6px;padding:4px 6px;
  box-shadow:0 1px 4px rgba(0,0,0,.25);display:flex;gap:5px;align-items:center;font-size:var(--fs-2xs);font-weight:600;color:var(--teal)}
.card-pick input{width:16px;height:16px}
.card{position:relative}

.conn{margin:0 0 18px}.conn__list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0;margin:8px 0}
.conn__list li{border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px 10px 34px;position:relative;font-size:var(--fs-xs)}
.conn__list li::before{content:"";position:absolute;left:12px;top:13px;width:12px;height:12px;border-radius:50%;background:#c9cfce}
.conn__list li.on::before{background:#1f7a4d}.conn__list strong{display:block}.conn__list span{color:var(--muted);font-size:var(--fs-2xs)}
@media (max-width:760px){.conn__list{grid-template-columns:1fr}}

/* tour: comparables */
.comps-box{margin:10px 0;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff}
.comps-box>summary{cursor:pointer;padding:9px 12px;font-weight:600;color:var(--teal);font-size:var(--fs-sm)}
.comps-body{padding:4px 12px 12px}
.comps-sum{margin:4px 0 10px;padding-left:18px;font-size:var(--fs-sm)}.comps-sum li{margin:3px 0}
.comps-bars{display:grid;gap:5px;margin:0 0 12px}
.cb{display:grid;grid-template-columns:170px 1fr 92px;gap:8px;align-items:center;font-size:var(--fs-xs)}
.cb__l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}
.cb__bar{height:12px;background:var(--mist);border-radius:999px;overflow:hidden}
.cb__bar i{display:block;height:100%;width:var(--w);background:#88a39c;border-radius:999px}
.cb--me .cb__l{color:var(--teal);font-weight:700}.cb--me .cb__bar i{background:var(--teal)}.cb b{text-align:right}
.comps-table{border-collapse:collapse;font-size:var(--fs-xs);min-width:720px;width:100%}
.comps-table th,.comps-table td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.comps-table thead th{font-weight:600}.comps-table thead img{display:block;border-radius:4px;object-fit:cover;margin-bottom:4px}
.comps-table thead em{display:block;font-style:normal;color:var(--muted);font-weight:400;font-size:var(--fs-2xs)}
.comps-table tbody th{color:var(--muted);font-weight:500;white-space:nowrap}
.comps-table .me{background:#eef5f3;font-weight:700}.comps-table td.hi{color:#1f7a4d;font-weight:700}.comps-table td.lo{color:#8a9391}
@media (max-width:640px){.cb{grid-template-columns:110px 1fr 80px}}

.form label.chk{flex-direction:row;align-items:center;gap:8px;font-weight:500}
.form label.chk input{width:auto;margin:0}

.show-search .grow{flex:1 1 320px}.show-search .grow input{width:100%}
.history-bar{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;margin:14px 0;
  padding:10px 14px;background:var(--mist);border-radius:var(--r-sm);font-size:var(--fs-sm)}
.history-bar p{margin:0}.history-bar__go{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* desk: team dashboard */
.team-leaders{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:14px 0 6px}
.team-leaders article{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px}
.team-leaders span{display:block;font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.team-leaders strong{display:block;font:400 var(--fs-body) var(--serif);color:var(--teal);margin:4px 0 2px}
.team-leaders em{font-style:normal;font-weight:700;color:var(--sage-2)}
.team-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-bottom:8px}
.team-facts article{background:var(--mist);border-radius:var(--r-sm);padding:12px 14px}
.team-facts span{font-size:var(--fs-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--sage-2)}
.team-facts p{margin:4px 0 0;font-size:var(--fs-sm)}
.team-table td,.team-table th{white-space:nowrap}.team-table tfoot th{border-top:2px solid var(--teal)}

/* public accounts */
.save-search{display:inline-block;margin:0}
.heart{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 14px;
  font:inherit;font-size:var(--fs-xs);cursor:pointer;color:var(--ink);margin-top:6px}
.heart span{color:#b9c2c0;font-size:var(--fs-body)}.heart.is-on span{color:#c8102e}.heart.is-on{border-color:#e8b4bd}
.heart em{font-style:normal}
.acct{padding:48px 0;background:var(--mist)}.acct__in{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.acct h1{font:400 var(--fs-h1)/1.15 var(--serif);margin:.2em 0 .4em}
.acct__list{padding-left:18px;line-height:1.8}.acct__form{padding:22px}
.acct__narrow{max-width:620px;margin:0 auto;padding:28px}
@media (max-width:820px){.acct__in{grid-template-columns:1fr}}
.form--inline{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}

/* desk: lead page */
.pill-acct{font-size:var(--fs-2xs);padding:1px 6px;border-radius:999px;background:var(--teal);color:#fff;vertical-align:middle}
.timeline{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--line)}
.tl{position:relative;display:grid;grid-template-columns:130px 1fr;gap:12px;padding:8px 0;font-size:var(--fs-sm)}
.tl::before{content:"";position:absolute;left:-20px;top:13px;width:10px;height:10px;border-radius:50%;background:#c9cfce}
.tl time{color:var(--muted);font-size:var(--fs-2xs)}
.tl--booking::before,.tl--enquiry::before{background:var(--teal)}.tl--favorite::before{background:#c8102e}
.tl--search::before,.tl--alert::before{background:#e8a33a}.tl--signup::before{background:#1f7a4d}
.fav-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px}
.fav{flex:0 0 160px;display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--ink);font-size:var(--fs-xs)}
.fav img{border-radius:6px;object-fit:cover}

/* CRM (agent desk + client portfolio) */
.crm-tabs{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:center;margin:8px 0 18px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:var(--fs-sm)}
.crm-tabs a{text-decoration:none;color:var(--ink)}.crm-tabs a[aria-current]{color:var(--teal);box-shadow:inset 0 -2px 0 var(--teal)}
.crm-tabs .fine{margin-left:auto}
.rank--a{background:var(--teal);color:#fff}.rank--b{background:var(--mist)}.rank--c{background:#f6f6f4;color:var(--muted)}
.tag{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--mist);color:var(--teal-2);font-size:var(--fs-2xs);margin-left:2px}
.opps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:8px 0 8px}
.opp{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--ink);font-size:var(--fs-sm)}
.opp strong{color:var(--teal);font-weight:600}.opp span{color:var(--muted);font-size:var(--fs-xs)}
.opp--opportunity{border-color:var(--sage);background:#f3f7f5}.opp--warn{border-color:#e2c98f;background:#fbf6ea}.opp--warn strong{color:#7a5a12}
.task-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.task-row:last-of-type{border-bottom:0}.task-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.task-check{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--sage-2);background:#fff;cursor:pointer;padding:0;flex:none}
.task-check:hover{background:var(--sage-3)}.overdue{color:var(--err)}
.task-assign select,.task-row select{font:inherit;font-size:var(--fs-xs);padding:4px 6px;border:1px solid var(--line);border-radius:var(--r-sm)}
.goals{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.goal{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:6px;font-size:var(--fs-sm)}
.goal strong{font:400 var(--fs-h3) var(--serif);color:var(--teal)}.goal progress{grid-column:1/-1;width:100%;height:8px;accent-color:var(--teal)}
.smart{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}
.smart a,.smart__saved{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--ink);font-size:var(--fs-xs);background:#fff}
.smart__saved form{display:inline}
.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:12px;overflow-x:auto;padding-bottom:12px}
.board__col{background:var(--mist);border-radius:var(--r-sm);padding:10px;min-height:240px}.board__col.is-over{outline:2px dashed var(--sage)}
.board__col h2{font:600 var(--fs-xs)/1.2 var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--teal-2);margin:2px 2px 10px}
.board__col h2 span{color:var(--muted);font-weight:400}
.board__card{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:10px;margin-bottom:8px;text-decoration:none;color:var(--ink);font-size:var(--fs-sm);cursor:grab}
.hold-edit{border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 14px;margin:10px 0;background:#fff}
.hold-edit summary{cursor:pointer;font-size:var(--fs-sm);color:var(--teal)}
.hold-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0 14px;margin-top:10px}
.hold-wide{grid-column:1/-1}.hold-sub{font:600 var(--fs-xs) var(--sans);color:var(--teal-2);text-transform:uppercase;letter-spacing:.06em;margin:10px 0 0}
.pill-inovo,.pill-pending{display:inline-block;padding:1px 8px;border-radius:999px;font-size:var(--fs-2xs);font-weight:600;vertical-align:middle}
.pill-inovo{background:#e6f2ec;color:var(--ok)}.pill-pending{background:#fbf2dc;color:#7a5a12}
.row-pending td{background:#fdf9ef}
.table-scroll{overflow-x:auto}
.whatif__in{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 20px;margin-bottom:12px}
.whatif__in label{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-xs);font-weight:600;color:var(--teal)}
.whatif__in output{font-weight:400;color:var(--ink)}
.whatif__in input:not([type=range]),.whatif__in select{font:inherit;font-weight:400;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px}
.kpis--3{grid-template-columns:repeat(3,1fr)}@media (max-width:700px){.kpis--3{grid-template-columns:1fr}}
.whatif__chart{position:relative;height:280px;margin:16px 0}
.camp-step{border-top:1px solid var(--line);padding:10px 0}
.chk{display:flex!important;flex-direction:row!important;gap:8px;align-items:center;font-weight:400!important}
.desk-head h1 .rank{font:600 var(--fs-xs)/1 var(--sans);padding:5px 8px;vertical-align:middle;min-width:0}

.board__card{cursor:grab}.board__card select{font:inherit;font-size:var(--fs-xs);margin-top:6px;padding:3px 4px;border:1px solid var(--line);border-radius:6px}
.board__sum{font-size:var(--fs-2xs);color:var(--muted);margin:-6px 2px 10px}
.smart a[aria-current]{background:var(--teal);color:#fff;border-color:var(--teal)}
.deal-line{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--line);font-size:var(--fs-sm)}
.deal-line select{font:inherit;font-size:var(--fs-xs);padding:4px 6px;border:1px solid var(--line);border-radius:var(--r-sm)}

.contact-agent{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0 8px}
@media (max-width:760px){.contact-agent{grid-template-columns:1fr}}

.inbox{border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;overflow:hidden}
.inbox__row{display:grid;grid-template-columns:200px 1fr auto;gap:14px;padding:12px 16px;border-top:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:var(--fs-sm)}
.inbox__row:first-child{border-top:0}.inbox__row:hover{background:var(--mist)}
.inbox__row.is-unread{background:#f3f7f5}.inbox__row.is-unread strong,.inbox__row.is-unread .inbox__who{font-weight:700}
.inbox__who,.inbox__what{display:flex;flex-direction:column;gap:2px;min-width:0}.inbox__what strong{font-weight:500}
.inbox__row time{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}
@media (max-width:700px){.inbox__row{grid-template-columns:1fr}}
.convo{display:flex;flex-direction:column;gap:10px;margin:16px 0 24px}
.msg{max-width:78%;padding:10px 14px;border-radius:var(--r-sm);font-size:var(--fs-sm);border:1px solid var(--line)}
.msg p{margin:0 0 4px}.msg--in{align-self:flex-start;background:#fff}.msg--out{align-self:flex-end;background:#eef4f2}
.stage-pick{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:4px 0;font-size:var(--fs-sm)}
.stage-pick select{font:inherit;padding:4px 6px;border:1px solid var(--line);border-radius:var(--r-sm)}

.comm{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px;font-size:var(--fs-xs)}
.comm__label{font-weight:600;color:var(--teal)}.comm input:not([type=radio]){width:120px;font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-sm)}
.comm__out{color:var(--ink);font-size:var(--fs-sm)}

.dlg{border:1px solid var(--line);border-radius:var(--r-sm);padding:24px;max-width:420px;width:calc(100% - 32px)}
.dlg::backdrop{background:rgba(10,30,30,.35)}
