/* 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;margin-bottom:6px;text-align:center;padding:14px!important;border:1px solid var(--ink)!important;font-size:var(--fs-body)!important}
  /* same type as the menu above: no smaller grey links at the bottom of the phone menu */
  .nav__agent{color:var(--ink)!important;font-size:var(--fs-body)!important;padding:16px 0!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)}

/* send bar: compact, collapsible on phones */
.send-bar__top{flex-wrap:wrap}.send-bar__acts{display:flex;gap:8px;align-items:center;margin-left:auto}
.send-bar__min{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--teal);font-size:18px;line-height:1;cursor:pointer}
.send-bar.is-min{left:auto;right:16px;width:auto;max-width:max-content;margin-left:auto;padding:6px 8px}
.send-bar.is-min #send-n,.send-bar.is-min #send-clear,.send-bar.is-min #cart-add{display:none}
@media (max-width:760px){.send-bar{padding:8px 10px}.send-bar__acts{margin-left:0;width:100%}.send-bar.is-min .send-bar__acts{width:auto}.send-bar__acts .btn{flex:1;text-align:center}.send-bar.is-min .send-bar__acts .btn{flex:none}}
/* cart */
.cart{border:1px solid var(--line);border-radius:var(--r-sm);background:#fff}
.cart__row{display:grid;grid-template-columns:120px 1fr auto;gap:14px;align-items:center;padding:10px 14px;border-top:1px solid var(--line)}
.cart__row:first-child{border-top:0}.cart__row img,.cart__noimg{width:120px;height:80px;object-fit:cover;border-radius:var(--r-sm);background:var(--mist)}
.cart__main{display:flex;flex-direction:column;gap:2px;min-width:0}.cart__clear{margin:8px 0 24px;text-align:right}
.cart__send{max-width:640px}.send-who-wrap{position:relative}.send-who-wrap .suggest{position:absolute;top:100%;left:0;right:0;z-index:40}
@media (max-width:600px){.cart__row{grid-template-columns:80px 1fr}.cart__row img,.cart__noimg{width:80px;height:56px}.cart__row form{grid-column:2}}
/* client shortlist page */
.sl-note{background:var(--mist);border-left:3px solid var(--teal);padding:14px 18px;margin-bottom:24px;border-radius:var(--r-sm)}
.sl-note p{margin:0 0 4px}
.sl{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:28px}
.sl__card{border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;overflow:hidden;display:flex;flex-direction:column}
.sl__card.is-no{opacity:.55}.sl__img img{width:100%;height:190px;object-fit:cover;display:block}.sl__img{background:var(--mist);min-height:190px;display:block}
.sl__body{padding:14px 16px;display:flex;flex-direction:column;gap:6px;flex:1}.sl__title{font-size:var(--fs-md);margin:0}.sl__title a{color:var(--ink);text-decoration:none}
.sl__pick{display:flex;gap:8px;margin-top:auto;padding-top:8px}
.sl__btn{flex:1;font:inherit;font-size:var(--fs-xs);padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;color:var(--ink);cursor:pointer}
.sl__btn.is-on{background:var(--teal);border-color:var(--teal);color:#fff}.sl__btn--no.is-on{background:#6b7473;border-color:#6b7473}
.sl-ask{max-width:640px}
.shortlists{display:flex;flex-direction:column;gap:8px;margin-bottom:28px}
.shortlist-link{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;text-decoration:none;color:var(--ink)}
.shortlist-link:hover{background:var(--mist)}

.send-bar[hidden]{display:none!important}

.calc__flow{width:100%;border-collapse:collapse;margin:12px 0 4px;font-size:var(--fs-sm)}
.calc__flow th{text-align:left;font-weight:400;color:var(--muted);padding:5px 0;border-bottom:1px solid var(--line)}
.calc__flow td{text-align:right;padding:5px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.calc__flow .calc__total th,.calc__flow .calc__total td{font-weight:600;color:var(--ink);border-bottom:0;padding-top:8px}
.calc label .opt{font-weight:400;color:var(--muted)}

.vals{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;margin-bottom:10px}
.val{display:grid;grid-template-columns:1fr 180px auto;gap:14px;align-items:end;padding:12px 16px;border-top:1px solid var(--line)}
.val:first-child{border-top:0}.val__who{display:flex;flex-direction:column;gap:2px;min-width:0}
.val__in{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-2xs);font-weight:600;color:var(--teal)}
.val__in input{font:inherit;font-weight:400;padding:7px 9px;border:1px solid var(--line);border-radius:var(--r-sm)}
@media (max-width:640px){.val{grid-template-columns:1fr auto}.val__who{grid-column:1/-1}}
.values-due{display:block;margin:0 0 18px}
.hold-basis{display:flex;flex-direction:column;gap:4px;max-width:360px;font-size:var(--fs-2xs);font-weight:600;color:var(--teal)}

.hold-income{border-left:3px solid var(--teal);padding-left:12px;margin:8px 0}.hold-income__out{align-self:end}
.hold-form [hidden]{display:none!important}

.inovo-link{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font-size:var(--fs-sm);margin:10px 0 14px}

/* ---- portfolio builder ---- */
.pb{max-width:1040px;padding-top:8px;padding-bottom:40px;min-height:78vh}
.pb-head{padding-bottom:12px}
.pb-steps{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 28px}
.pb-steps li{flex:1;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--mist);color:var(--muted);font:600 var(--fs-sm)/1 var(--sans);cursor:pointer;transition:background .2s,color .2s}
.pb-steps li span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;color:var(--teal);font-size:13px;flex:none}
.pb-steps li.is-on{background:var(--teal);color:#fff}
.pb-steps li.is-done{background:var(--sage-3);color:var(--teal)}
.pb-steps li.is-done span{background:var(--teal);color:#fff}
.pb-step{animation:pbIn .28s ease}
.pb-step[hidden]{display:none!important}
@keyframes pbIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pb-q{font:400 clamp(1.5rem,3.2vw,2.1rem)/1.2 var(--serif);color:var(--teal);margin:0 0 18px;outline:none}
.pb-presets,.pb-areas{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.pb-chip{border:1.5px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:.6em 1.1em;font:500 var(--fs-sm)/1 var(--sans);cursor:pointer;transition:all .15s}
.pb-chip:hover{border-color:var(--sage)}
.pb-chip.is-on{background:var(--teal);border-color:var(--teal);color:#fff}
.pb-sources{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pb-src{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}
.pb-src__t{font:600 var(--fs-sm)/1.2 var(--sans);color:var(--teal);text-transform:uppercase;letter-spacing:.08em}
.pb-src__sub{font-size:var(--fs-sm);color:var(--muted)}
.pb-big{font:400 2rem/1.2 var(--serif);color:var(--teal);margin:10px 0 6px}
.pb-src input[type=range]{width:100%;accent-color:var(--teal)}
.pb-total{margin:18px 0 0;font-size:1.05rem}.pb-total strong{font:400 1.7rem var(--serif);color:var(--teal);margin-left:8px}
.pb-nav{display:flex;gap:10px;justify-content:flex-end;margin-top:28px}
.pb-nav .btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.pb-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pb-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;background:#fff;border:2px solid var(--line);border-radius:18px;padding:26px;cursor:pointer;font:inherit;color:var(--ink);transition:all .15s}
.pb-card:hover{border-color:var(--sage);transform:translateY(-2px)}
.pb-card.is-on{border-color:var(--teal);box-shadow:0 8px 24px rgba(18,58,62,.12)}
.pb-card__i{font-size:28px;line-height:1;color:var(--teal);width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:var(--mist);margin-bottom:6px}
.pb-card strong{font:400 1.35rem var(--serif);color:var(--teal)}.pb-card span{color:var(--muted);font-size:var(--fs-sm)}
.pb-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:8px 0 20px}
.pb-opt{position:relative;display:flex;flex-direction:column;gap:3px;text-align:left;background:#fff;border:2px solid var(--line);border-radius:14px;padding:14px 16px;cursor:pointer;font:inherit;color:var(--ink);transition:all .15s}
.pb-opt:hover{border-color:var(--sage)}
.pb-opt.is-on{border-color:var(--teal);background:var(--teal);color:#fff}
.pb-opt strong{font-size:1rem}.pb-opt span{font:400 1.3rem var(--serif)}.pb-opt em{font-style:normal;font-size:var(--fs-2xs);opacity:.8}
.pb-opt i{position:absolute;top:-10px;right:10px;font:600 10px/1 var(--sans);font-style:normal;background:var(--sage-2);color:#fff;padding:4px 8px;border-radius:999px;letter-spacing:.04em}
.pb-result{transition:opacity .2s}.pb-result.is-loading{opacity:.45}
.pb-kpis{grid-template-columns:repeat(4,1fr)}
.pb-compare{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;margin:18px 0}
.pb-compare__h{font:600 var(--fs-2xs)/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sage-2);margin-bottom:12px}
.pb-bar-row{display:grid;grid-template-columns:150px 1fr 80px;align-items:center;gap:10px;margin:7px 0;font-size:var(--fs-sm)}
.pb-bar-row b{height:12px;border-radius:6px;background:var(--sage-3);transition:width .35s ease}
.pb-bar-row:first-of-type b{background:var(--line)}
.pb-bar-row.is-on b{background:var(--teal)}.pb-bar-row.is-on{font-weight:600}
.pb-bar-row em{font-style:normal;text-align:right}
.pb-h3{font:400 1.4rem var(--serif);color:var(--teal);margin:26px 0 4px}
.pb-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:12px}
.pb-home{position:relative;background:#fff;border:2px solid var(--line);border-radius:14px;overflow:hidden;cursor:pointer;transition:all .15s}
.pb-home:hover{border-color:var(--sage)}
.pb-home.is-on{border-color:var(--teal);box-shadow:0 6px 18px rgba(18,58,62,.14)}
.pb-home img,.pb-home__ph{display:block;width:100%;height:150px;object-fit:cover;background:var(--mist)}
.pb-tick{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);color:transparent;border:2px solid #fff;font-weight:700;transition:all .15s}
.pb-home.is-on .pb-tick{background:var(--teal);color:#fff}
.pb-tag{position:absolute;top:10px;left:10px;background:var(--sage-2);color:#fff;font:600 11px/1 var(--sans);padding:5px 9px;border-radius:999px}
.pb-home__b{padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.pb-home__b strong{font:400 1.25rem var(--serif);color:var(--teal)}
.pb-home__a{font-size:var(--fs-2xs);margin-top:4px}
.pb-bar{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(0,0,0,.06);color:var(--teal);font-weight:600}
.pb-bar[hidden]{display:none!important}
.pb-bar .btn{padding:.7em 1.3em}
.pb-agent{background:var(--mist);border-radius:14px;padding:14px 18px;margin-top:18px}
.pb-agent summary{font-weight:600;cursor:pointer;color:var(--teal)}
.pb-agent__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:12px}
.pb-agent__grid label{display:flex;flex-direction:column;font-size:var(--fs-sm);gap:4px}
.pb-fine{margin-top:30px}
.pb-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--teal);color:#fff;border-radius:18px;padding:22px 26px;margin:26px 0}
.pb-cta h2{color:#fff;margin:0;font:400 1.45rem var(--serif)}.pb-cta p{margin:4px 0 0;opacity:.85}
.pb-cta .btn{background:#fff;color:var(--teal);flex:none}
@media (max-width:720px){
  .pb-sources,.pb-cards{grid-template-columns:1fr}.pb-kpis{grid-template-columns:1fr 1fr}
  .pb-steps li{font-size:0;gap:0;justify-content:center}.pb-steps li span{font-size:13px}
  .pb-bar-row{grid-template-columns:100px 1fr 64px}.pb-cta{flex-direction:column;align-items:flex-start}
  .pb-bar{font-size:var(--fs-sm)}.pb-bar .btn{padding:.65em 1em}
}

.sec--tight{padding-top:24px}
.kpis--5{grid-template-columns:repeat(5,1fr)}
.kpi--lead{background:var(--teal)}.kpi--lead strong,.kpi--lead span{color:#fff}.kpi--lead em{color:var(--sage-3)}
@media (max-width:900px){.kpis--5{grid-template-columns:1fr 1fr}.kpis--5 .kpi--lead{grid-column:1/-1}}

.pb-cap{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;background:var(--mist);border-radius:12px;padding:10px 16px;margin:0 0 14px}
.pb-cap label{font-weight:600;color:var(--teal);font-size:var(--fs-sm)}
.pb-cap input{width:70px;margin:0 4px;padding:4px 6px;border:1px solid var(--line);border-radius:8px;font:inherit}
.pb-noi{font-size:var(--fs-2xs);color:var(--muted);margin-top:4px}.pb-noi.is-real{color:var(--sage-2);font-weight:600}
.pb-pf{align-self:flex-start;margin-top:6px;background:none;border:1.5px solid var(--sage);color:var(--teal);border-radius:999px;padding:5px 10px;font:600 11px/1.2 var(--sans);cursor:pointer;text-decoration:none}
.pb-pf:hover{background:var(--teal);color:#fff;border-color:var(--teal)}
.pb-pf.is-done{border-color:transparent;color:var(--sage-2);cursor:default;padding-left:0}

.pb-share{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.pb-share__q{flex-basis:100%;font-size:var(--fs-sm);color:var(--ink)}
.pb-share .pb-chip{padding:.5em .9em;font-size:var(--fs-2xs)}
.pb-share .fine{flex-basis:100%}

.pb-home-q{margin-top:22px;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:16px;animation:pbIn .25s ease}
.pb-home-q[hidden]{display:none!important}
.pb-home-q .pb-h3{margin-top:0}
.pb-range{display:flex;gap:12px;margin:0 0 14px;flex-wrap:wrap}
.pb-range label{display:flex;flex-direction:column;font-size:var(--fs-sm);gap:4px;flex:1;min-width:140px}
.pb-range input{padding:.6em .8em;border:1px solid var(--line);border-radius:10px;font:inherit}

.enq{background:var(--mist);border-radius:14px;padding:16px 18px;margin:0 0 20px}
.enq__card{display:flex;flex-wrap:wrap;gap:12px 18px;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-top:10px}
.enq__who{flex:1 1 320px;display:flex;flex-direction:column;gap:2px}
.enq__about{font-size:var(--fs-sm)}
.enq__msg{font-size:var(--fs-sm);color:var(--muted);margin:6px 0 0;max-height:220px;overflow:auto}
.enq__act{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}
.enq__inline{display:flex;gap:6px}
.enq__refer{position:relative}.enq__refer[open] form{position:absolute;right:0;z-index:5;width:min(360px,86vw);background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.enq__refer summary{list-style:none;cursor:pointer}.enq__refer summary::-webkit-details-marker{display:none}
.enq__ext{display:grid;gap:8px;margin:8px 0}
.pill-count{display:inline-block;min-width:22px;padding:2px 8px;border-radius:999px;background:var(--teal);color:#fff;font:600 12px/1.4 var(--sans);text-align:center;vertical-align:middle}
.ref-form{display:flex;gap:6px;align-items:center}

/* deposit receipts */
.rc-cols{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.rc-lines{border:1px solid var(--line,#ddd);border-radius:8px;padding:.6rem .8rem;margin:.4rem 0 .8rem}
.rc-row{display:grid;grid-template-columns:1.1fr 1fr 1.2fr auto;gap:.4rem;margin-bottom:.4rem}
.rc-row input{min-width:0}
.rc-fintrac{margin:.6rem 0 1rem}.rc-fintrac summary{cursor:pointer;font-weight:600}
.rc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem .8rem;margin-top:.6rem}.rc-wide{grid-column:1/-1}
.rc-recent{list-style:none;padding:0;margin:0}.rc-recent li{padding:.35rem 0;border-bottom:1px solid var(--line,#eee)}
.rc-recent .tag{font-size:.72rem;margin-left:.3rem;padding:.05rem .4rem;border-radius:9px;background:#e8f1ee;color:#1a3c34}
.rc-pdf iframe{width:100%;height:80vh;border:0;background:#fff}
.rc-inline{display:flex;flex-wrap:wrap;gap:.5rem;align-items:end}.rc-inline label{flex:1 1 8rem}
.rc-entry th{text-align:left;width:7rem}
@media (max-width:800px){.rc-cols{grid-template-columns:1fr}.rc-row{grid-template-columns:1fr 1fr}.rc-grid{grid-template-columns:1fr}.rc-pdf iframe{height:60vh}}

.rc-addr{position:relative;margin-bottom:.8rem}.rc-addr input{width:100%}
.rc-hits{position:absolute;z-index:20;left:0;right:0;margin:2px 0 0;padding:0;list-style:none;background:#fff;border:1px solid var(--line,#ccc);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:320px;overflow:auto}
.rc-hits li{padding:.5rem .7rem;cursor:pointer;display:flex;flex-direction:column}.rc-hits li.on,.rc-hits li:hover{background:#eef4f2}
.rc-hits .rc-src{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#6b7c78}
.rc-chip{margin:.3rem 0 0;color:#1a3c34}
.crop-thumbs{display:flex;flex-wrap:wrap;gap:.6rem;margin:.4rem 0}.crop-thumb{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem}
.crop-thumb img{max-width:150px;max-height:150px;border:1px solid var(--line,#ddd);border-radius:6px;background:#fff}
.crop-modal{position:fixed;inset:0;z-index:1000;background:rgba(10,20,20,.72);display:flex;align-items:center;justify-content:center;padding:16px}
.crop-card{background:#fff;border-radius:12px;padding:12px;max-width:100%;max-height:100%;display:flex;flex-direction:column;gap:10px}
.crop-stage{position:relative;align-self:center;touch-action:none;line-height:0}.crop-stage canvas{cursor:crosshair;max-width:100%}
.crop-sel{position:absolute;display:none;border:2px solid #fff;outline:1px solid #1a3c34;box-shadow:0 0 0 9999px rgba(0,0,0,.45);pointer-events:none}
.crop-bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.crop-bar .fine{flex:1 1 100%}

.rc-status{list-style:none;padding:0;margin:0 0 .8rem}.rc-status li{padding:.25rem 0;color:#6b7c78}.rc-status li.ok{color:#1a3c34;font-weight:600}
.rc-mail{display:flex;flex-direction:column;gap:.4rem;margin:.5rem 0}
.rc-mail__item{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:#fff;border:1px solid var(--line,#ddd);border-radius:8px;padding:.5rem .7rem;cursor:pointer;font:inherit}
.rc-mail__item:hover{border-color:#1a3c34;background:#f4f8f6}
.rc-manual{margin-top:1rem}.rc-manual summary{cursor:pointer;font-weight:600}

.chk--sub{margin-left:1.6rem}
.rc-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.rc-prev{margin-top:18px;border-top:1px solid var(--line,#ddd);padding-top:14px}
.rc-prev iframe{width:100%;height:80vh;min-height:520px;border:1px solid var(--line,#ddd);background:#fff;margin:8px 0 12px}

.people{margin:18px 0}.people__row{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--line,#e5e5e5)}.people__x{margin-left:auto}.people__split{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.linkish{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit;font-size:.9em}

.crm-viewas{display:flex;gap:10px;align-items:center;margin:6px 0 10px}.crm-viewas select{width:auto}

.people__find{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.people__found{margin:8px 0 14px}

/* ---- portfolio: sales, reinvesting the cash, public pitch ---- */
.pill-selling{display:inline-block;padding:1px 8px;border-radius:999px;font-size:var(--fs-2xs);font-weight:600;vertical-align:middle;background:#e8eef6;color:#34507a}
.row-selling td{background:#f4f7fb}
.sold-list{margin:10px 0 0;font-size:var(--fs-sm)}.sold-list summary{cursor:pointer;color:var(--sage-2)}.sold-list ul{margin:6px 0 0;padding-left:1.2rem}
.sale-panel{display:grid;gap:18px}
.sale-est{display:grid;gap:10px}.sale-est__t{max-width:640px}.sale-est__net td{border-top:2px solid var(--teal)}
.reinvest{display:grid;gap:10px}
.pf-seg{display:flex;flex-wrap:wrap;gap:8px}
.pf-seg label{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--sage-3);border-radius:999px;font-weight:500!important;cursor:pointer;background:#fff}
.pf-seg label:has(input:checked){background:var(--teal);border-color:var(--teal);color:#fff}
.pf-seg input{accent-color:var(--teal);margin:0}
.pf-seg--sm{align-items:center;font-size:var(--fs-sm)}.pf-seg--sm label{padding:3px 10px}
.reinvest__in{display:flex;flex-wrap:wrap;gap:12px}.reinvest__in label{flex:1 1 180px;max-width:260px}
.reinvest [data-use][hidden]{display:none!important}
.sale-compare tr.is-chosen td{background:#eef5f3;font-weight:600}
#wf-sale{margin:6px 0 10px}
.hold-sell{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 16px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--sage-3)}
.pf-pitch{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px;align-items:start;margin:32px 0;padding:28px;border-radius:18px;background:var(--mist)}
.pf-pitch h2{font:400 1.6rem var(--serif);color:var(--teal);margin:4px 0 10px}
.pf-pitch__shots{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pf-pitch__shots figure{margin:0}.pf-pitch__shots img{width:100%;height:auto;border-radius:10px;box-shadow:0 4px 18px rgba(18,58,62,.14);background:#fff}
.pf-pitch__shots figcaption{font-size:var(--fs-xs);color:var(--sage-2);margin-top:6px}
.pf-start{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 24px}
@media (max-width:860px){.pf-pitch{grid-template-columns:1fr;padding:20px}.pf-pitch__shots{grid-template-columns:1fr}}

.lead-sum a{color:inherit;text-decoration:none;display:block}.lead-sum a:hover strong{text-decoration:underline}
#sale,#whatif,#scenarios,#reinvest{scroll-margin-top:90px}
.pf-seg label{white-space:nowrap;position:relative}
.pf-seg input[type=radio]{position:absolute;opacity:0;width:1px!important;height:1px!important;padding:0!important;margin:0!important;border:0!important}
.pf-seg label:has(input:focus-visible){outline:2px solid var(--teal);outline-offset:2px}

/* ---- portfolio tools promo (/portfolio-tools/, compact band, live demo) ---- */
.pft-kicker{font:600 var(--fs-2xs)/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage-2);margin:0 0 10px}
.pft-hero{background:linear-gradient(160deg,#f3f6f5 0%,#e6eeeb 60%,#dfe9e5 100%);overflow:hidden}
.pft-hero__in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:center;padding:72px 0 80px}
.pft-hero h1{font-size:var(--fs-display);color:var(--teal);margin:0 0 18px}
.pft-lede{font-size:var(--fs-lg);color:var(--muted);max-width:34em;margin:0 0 26px}
.pft-ctas{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 18px}
.pft-btn{padding:14px 26px;border-radius:999px;font-size:1.02rem}
.pft-btn--ghost{border-radius:999px;padding:14px 22px}
.pft-btn--light{background:#fff;color:var(--teal)}.pft-btn--light:hover{background:var(--mist)}
.pft-ticks{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;padding:0;margin:0;font-size:var(--fs-sm);color:var(--sage-2)}
.pft-ticks li::before{content:"\2713  ";color:var(--teal);font-weight:700}
.pft-hero__visual,.pf-band__visual{position:relative;padding:18px 26px 40px 0}
.pft-app{background:#fff;border-radius:16px;box-shadow:0 24px 60px rgba(18,58,62,.18),0 2px 6px rgba(18,58,62,.06);overflow:hidden}
.pft-app__bar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:var(--fs-2xs);color:var(--muted)}
.pft-app__bar i{width:9px;height:9px;border-radius:50%;background:#dfe5e3}.pft-app__bar span{margin-left:8px}
.pft-app__kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 16px 4px}
.pft-app__kpis div{background:var(--mist);border-radius:10px;padding:10px 12px}
.pft-app__kpis div:first-child{background:var(--teal);color:#fff}.pft-app__kpis div:first-child small{color:#cfe0db}
.pft-app__kpis small{display:block;font-size:var(--fs-2xs);color:var(--muted)}.pft-app__kpis b{font:400 1.15rem var(--serif);font-variant-numeric:tabular-nums}
.pft-app__spark{display:block;width:100%;height:110px;padding:8px 16px 0;box-sizing:border-box}
.pft-app__spark polyline{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.pft-app__spark .l1{stroke:var(--teal);stroke-width:3.5}.pft-app__spark .l2{stroke:#b4632a}.pft-app__spark .l3{stroke:#a9b3b1;stroke-dasharray:4 4}
.js-rv .pft-app__spark .l1,.js-rv .pft-app__spark .l2{stroke-dasharray:600;stroke-dashoffset:600;animation:pftdraw 1.8s .4s ease-out forwards}
@keyframes pftdraw{to{stroke-dashoffset:0}}
.pft-app__legend{display:flex;gap:16px;padding:6px 16px 14px;font-size:var(--fs-2xs);color:var(--muted)}
.pft-app__legend span::before{content:"";display:inline-block;width:14px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle;background:currentColor}
.pft-app__legend .k1{color:var(--teal)}.pft-app__legend .k2{color:#b4632a}.pft-app__legend .k3{color:#8c9696}
.pft-float{position:absolute;background:#fff;border-radius:14px;box-shadow:0 14px 34px rgba(18,58,62,.18);padding:12px 16px}
.pft-float--a{right:0;bottom:0;min-width:210px;animation:pftbob 6s ease-in-out infinite}
.pft-float--a small{display:block;font-size:var(--fs-2xs);color:var(--muted)}.pft-float--a b{font:400 1.5rem var(--serif);color:var(--teal)}
.pft-float--a em{display:block;font-style:normal;font-size:var(--fs-2xs);color:var(--sage-2)}
.pft-float--b{left:-18px;top:0;display:flex;gap:4px;padding:6px;border-radius:999px;animation:pftbob 7s 1s ease-in-out infinite}
.pft-pill{padding:4px 12px;border-radius:999px;font-size:var(--fs-xs);color:var(--muted)}.pft-pill.is-on{background:var(--teal);color:#fff}
@keyframes pftbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.pft-sec{padding:72px 0 8px}
.pft-head{text-align:center;max-width:680px;margin:0 auto 34px}.pft-head h2{color:var(--teal);margin:0 0 8px}.pft-head p{color:var(--muted);margin:0}
.pft-props{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pft-prop{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;transition:transform .25s,box-shadow .25s}
.pft-prop:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(18,58,62,.1)}
.pft-prop h3{color:var(--teal);margin:12px 0 8px}.pft-prop p{margin:0;color:var(--muted)}
.pft-ico{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#e6efec;color:var(--teal);font-size:1.3rem}
.pft-try{background:var(--teal);color:#fff;padding:72px 0;margin-top:72px}
.pft-try .pft-head h2{color:#fff}.pft-try .pft-head p{color:#cfe0db}.pft-try .pft-kicker{color:var(--sage-3)}
.pft-center{text-align:center;margin:28px 0 0}.pft-try .pft-btn{background:#fff;color:var(--teal)}
.pfd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);background:#fff;color:var(--ink);border-radius:20px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.18);border:1px solid var(--line)}
.pfd__in{display:grid;gap:18px;padding:28px;background:#f6f8f7;align-content:start}
.pfd__field{display:grid;gap:6px;font-weight:600;font-size:var(--fs-sm);color:var(--teal-2)}
.pfd__field output{float:right;font:400 1.05rem var(--serif);color:var(--teal)}
.pfd__field input[type=range]{width:100%;accent-color:var(--teal)}
.pfd-seg{display:flex;flex-wrap:wrap;gap:6px}
.pfd-seg label{position:relative;padding:6px 14px;border:1px solid var(--sage-3);border-radius:999px;background:#fff;font-weight:500;cursor:pointer;transition:background .2s,color .2s}
.pfd-seg label:has(input:checked){background:var(--teal);border-color:var(--teal);color:#fff}
.pfd-seg label:has(input:focus-visible){outline:2px solid var(--teal);outline-offset:2px}
.pfd-seg input{position:absolute;opacity:0;width:1px;height:1px}
.pfd__out{padding:28px;display:grid;gap:12px;align-content:start}
.pfd__net span{display:block;font-size:var(--fs-sm);color:var(--muted)}
.pfd__net strong{display:block;font:400 clamp(2rem,4vw,2.8rem)/1.1 var(--serif);color:var(--teal);font-variant-numeric:tabular-nums}
.pfd__net em{font-style:normal;font-size:var(--fs-xs);color:var(--sage-2)}
.pfd__chart{width:100%;height:auto;max-height:190px}
.pfd__chart .grid{stroke:#eef1f0;stroke-width:1}
.pfd__legend{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;margin:0;padding:0;font-size:var(--fs-xs);color:var(--muted)}
.pfd__legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.pfd__legend li.is-on{color:var(--ink);font-weight:600}.pfd__legend b{color:var(--ink)}
.pfd__take{margin:0;padding:12px 14px;background:#eef5f3;border-left:3px solid var(--teal);border-radius:8px;font-size:var(--fs-sm)}
.pfd__fine{grid-column:1/-1;margin:0;padding:12px 28px 16px;border-top:1px solid var(--line);background:#fff}
.pft-tabs__list{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:0 auto 26px;padding:6px;background:var(--mist);border-radius:999px;width:fit-content;max-width:100%}
.pft-tabs__list button{border:0;background:none;padding:9px 18px;border-radius:999px;font:500 var(--fs-sm) var(--sans);color:var(--teal-2);cursor:pointer;transition:background .2s,color .2s}
.pft-tabs__list button[aria-selected=true]{background:var(--teal);color:#fff}
.pft-tab{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:36px;align-items:center;animation:pftfade .35s ease}
.pft-tab[hidden]{display:none}.pft-tab h3{color:var(--teal);font-size:1.45rem}
@keyframes pftfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pft-checks{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.pft-checks li{padding-left:30px;position:relative}
.pft-checks li::before{content:"\2713";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;background:#e6efec;color:var(--teal);font-size:.75rem;display:grid;place-items:center;font-weight:700}
.pft-shot{margin:0;padding:18px;background:linear-gradient(150deg,#eef3f1,#e1ebe7);border-radius:18px}
.pft-shot img{display:block;width:100%;height:auto;border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(18,58,62,.14)}
.pft-stats{background:var(--mist);margin-top:72px;padding:48px 0}
.pft-stats__in{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.pft-stats b{display:block;font:400 2.8rem/1 var(--serif);color:var(--teal);margin-bottom:8px}.pft-stats span{font-size:var(--fs-sm);color:var(--muted)}
.pft-who{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pft-card{display:flex;flex-direction:column;gap:6px;padding:24px;border-radius:16px;background:#fff;border:1px solid var(--line);color:inherit;text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s}
.pft-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(18,58,62,.1);border-color:var(--sage-3)}
.pft-card h3{color:var(--teal);margin:0}.pft-card p{margin:0;color:var(--muted);flex:1}.pft-card span{color:var(--teal);font-weight:600;font-size:var(--fs-sm)}
.pft-faq{max-width:780px}.pft-faq details{border-bottom:1px solid var(--line);padding:16px 0}
.pft-faq summary{cursor:pointer;font-weight:600;color:var(--teal);list-style:none;display:flex;justify-content:space-between}
.pft-faq summary::-webkit-details-marker{display:none}
.pft-faq summary::after{content:"+";font-size:1.3rem;line-height:1;transition:transform .2s}.pft-faq details[open] summary::after{transform:rotate(45deg)}
.pft-faq p{margin:10px 0 0;color:var(--muted)}
.pft-final{background:var(--teal);color:#fff;text-align:center;padding:72px 0;margin-top:72px}
.pft-final h2{color:#fff}.pft-final p{color:#cfe0db;margin:0 0 22px}
.js-rv .rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.js-rv .rv.in{opacity:1;transform:none}
.js-rv .rv--d1{transition-delay:.1s}.js-rv .rv--d2{transition-delay:.2s}.js-rv .rv--d3{transition-delay:.3s}
.pf-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:center;margin:32px 0;padding:34px;border-radius:22px;background:linear-gradient(160deg,#f3f6f5,#e2ebe7)}
.pf-band h2{color:var(--teal);margin:0 0 16px}
.pf-band__takes{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:10px}
.pf-band__takes li{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:baseline;padding:10px 14px;background:#fff;border-radius:12px}
.pf-band__takes b{color:var(--teal)}.pf-band__takes span{color:var(--muted);font-size:var(--fs-sm)}
.pf-band__ctas{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.pf-band__more{color:var(--teal);font-weight:600}
@media (max-width:960px){.pft-hero__in,.pfd,.pft-tab,.pf-band{grid-template-columns:1fr}.pft-props,.pft-who{grid-template-columns:1fr 1fr}.pft-stats__in{grid-template-columns:1fr 1fr}.pft-hero__in{padding:48px 0 56px}}
@media (max-width:600px){.pft-props,.pft-who{grid-template-columns:1fr}.pft-float--b{left:0}.pft-app__kpis b{font-size:.95rem}.pf-band{padding:22px}.pf-band__takes li{grid-template-columns:1fr;gap:2px}.pft-tabs__list{border-radius:16px}.pfd__in,.pfd__out{padding:20px}}
@media (prefers-reduced-motion:reduce){.pft-float--a,.pft-float--b{animation:none}.js-rv .rv{opacity:1;transform:none}.js-rv .pft-app__spark polyline{animation:none;stroke-dashoffset:0}}
.pft-float--b{left:auto;right:48px;top:2px}
.pfd__chart .ax{font:10px var(--sans);fill:#8c9696}
.pft-hero__in.wrap,.pft-sec.wrap{padding-left:20px;padding-right:20px}

/* ==== Modern look (Nov 2026) ====
   body.pub is set in base.html on every page, public site and agent desk alike.
   Same Lotful palette and logo; a geometric sans, more air, rounded cards, soft shadows, light motion. */
.pub{
  --display:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --sans:var(--display); --serif:var(--display);
  --accent:"Libre Caslon Text",Georgia,serif;   /* brand serif, kept for italic accents */
  --ink:#1f2b2c; --muted:#5a6866; --line:#e2e8e6;
  --mint:#e9f1ee; --mint-2:#d5e4df; --cream:#f5f8f7;
  --r:18px; --r-lg:26px; --r-sm:10px;
  --shadow:0 1px 2px rgba(18,58,62,.05),0 12px 32px -10px rgba(18,58,62,.16);
  --shadow-lg:0 32px 70px -24px rgba(18,58,62,.36);
  --fs-display:clamp(2.6rem,5.4vw,4.4rem); --fs-h1:clamp(2.1rem,4vw,3.1rem); --fs-h2:clamp(1.75rem,3vw,2.5rem); --fs-h3:1.2rem;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale
}
:where(.pub) h1,:where(.pub) h2,:where(.pub) h3{font-family:var(--display);font-weight:700;letter-spacing:-.025em;color:var(--teal);line-height:1.12}
:where(.pub) h1{font-weight:800;letter-spacing:-.035em}
:where(.pub) h3{letter-spacing:-.015em}
.pub .eyebrow{font:700 var(--fs-2xs)/1 var(--sans);letter-spacing:.14em;color:var(--sage-2);margin-bottom:14px}
.pub [id]{scroll-margin-top:96px}
:where(.pub) a{color:var(--teal-2)}
:where(.pub) a:hover{color:var(--teal)}
.pub .link-arrow{color:var(--teal);font-weight:600;text-decoration:none;white-space:nowrap}
.pub .link-arrow::after{content:" \2192";display:inline-block;transition:transform .2s}
.pub .link-arrow:hover::after{transform:translateX(4px);margin:0}

/* buttons: pills */
.pub .btn{border-radius:999px;font:600 var(--fs-sm)/1 var(--sans);letter-spacing:0;padding:1em 1.6em;background:var(--teal);color:#fff;
  box-shadow:0 8px 20px -10px rgba(18,58,62,.7);transition:background .2s,transform .2s,box-shadow .2s}
.pub .btn:hover{background:var(--teal-2);color:#fff;transform:translateY(-1px);box-shadow:0 12px 24px -10px rgba(18,58,62,.7)}
.pub .btn--sm{padding:.7em 1.15em;font-size:var(--fs-xs)}
.pub .btn--ghost{background:transparent;color:var(--teal);box-shadow:inset 0 0 0 1.5px var(--teal)}
.pub .btn--ghost:hover{background:var(--teal);color:#fff;box-shadow:inset 0 0 0 1.5px var(--teal)}
.pub .btn--light{background:#fff;color:var(--teal);box-shadow:none}.pub .btn--light:hover{background:var(--mint);color:var(--teal)}
.pub .btn--classic{background:#fff;color:var(--teal)}

/* header: glassy, one solid CTA */
.pub .nav{background:rgba(255,255,255,.82);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);
  border-bottom:1px solid transparent;box-shadow:none;transition:border-color .2s,box-shadow .2s}
.pub .nav.is-scrolled{border-bottom-color:var(--line);box-shadow:0 10px 30px -18px rgba(18,58,62,.35)}
.pub .nav__in{height:76px}
.pub .nav__logo img{height:40px}
.pub .nav__menu{gap:.15rem}
.pub .nav__top,.pub .nav__menu>a{font:500 .92rem/1 var(--sans);color:var(--ink)}
@media (min-width:981px){
  .pub .nav__top{padding:10px 12px;border-radius:999px;transition:background .15s}
  .pub .nav__top:hover,.pub .nav__group:hover .nav__top{background:var(--mint);color:var(--teal)}
  .pub .nav__top[aria-current]{box-shadow:none;color:var(--teal);font-weight:700}
  .pub .nav__drop{top:calc(100% + 10px);left:-8px;border:1px solid var(--line);border-top:1px solid var(--line);border-radius:20px;padding:8px;
    box-shadow:var(--shadow-lg);animation:navin .18s ease-out}
  .pub .nav__agent{padding:10px 8px;color:var(--muted)!important;font-size:var(--fs-xs)!important}
  .pub .nav__agent:hover{color:var(--teal)!important}
  .pub .nav__agent[aria-current]{box-shadow:none}
  .pub .nav__cta{margin:0 6px 0 10px}
  .pub .nav__ig{padding:8px;border-radius:50%}.pub .nav__ig:hover{background:var(--mint)}
}
@keyframes navin{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.pub .nav__drop a{border-radius:12px;padding:11px 14px}
.pub .nav__drop a:hover,.pub .nav__drop a:focus{background:var(--mint)}
.pub .nav__drop strong{font:600 .95rem/1.3 var(--sans);color:var(--teal)}
.pub .nav__drop span{font-size:var(--fs-xs)}
.pub .nav__cta{background:var(--teal);color:#fff!important;border:0;border-radius:999px;padding:12px 20px!important;font-weight:600!important;
  box-shadow:0 8px 18px -10px rgba(18,58,62,.8);transition:background .15s}
.pub .nav__cta:hover{background:var(--teal-2);color:#fff!important}
.pub .nav__cta[aria-current]{box-shadow:0 0 0 3px var(--mint-2)}
@media (max-width:980px){
  .pub .nav__menu{inset:76px 0 auto 0;max-height:calc(100vh - 76px);border-radius:0 0 24px 24px;padding:8px 20px 22px;box-shadow:var(--shadow-lg)}
  .pub .nav__top{font-size:var(--fs-body);font-weight:600}
  .pub .nav__drop a{padding:10px 12px}
  .pub .nav__cta{margin-top:16px;padding:15px!important;border:0!important;font-size:var(--fs-body)!important;text-align:center}
  .pub .nav__agent{font-weight:500!important}
}

/* home: split hero with product shot */
.mh{position:relative;overflow:hidden;background:radial-gradient(900px 520px at 88% 0%,var(--mint-2),transparent 62%),linear-gradient(180deg,#f6f9f8 0%,#fff 100%)}
.mh__in{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:56px;align-items:center;padding-top:64px;padding-bottom:88px}
.mh h1{font-size:var(--fs-display);line-height:1.02;letter-spacing:-.04em;margin:20px 0 20px}
.mh h1 em{font-family:var(--accent);font-style:italic;font-weight:400;letter-spacing:-.02em;color:var(--sage-2)}
.chip{display:inline-flex;align-items:center;gap:9px;margin:0;padding:7px 15px 7px 11px;border-radius:999px;background:#fff;border:1px solid var(--line);
  font-size:var(--fs-xs);font-weight:600;color:var(--teal-2);box-shadow:0 4px 14px -8px rgba(18,58,62,.3)}
.chip__dot{width:8px;height:8px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 4px rgba(136,163,156,.25)}
.mh__lede{font-size:1.15rem;line-height:1.6;color:var(--muted);max-width:34em;margin:0 0 28px}
.mh__search{display:flex;align-items:center;gap:8px;max-width:580px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 6px 6px 18px;
  box-shadow:var(--shadow);transition:border-color .2s,box-shadow .2s}
.mh__search svg{color:var(--muted);flex:none}
.mh__search input{flex:1;min-width:0;border:0;background:transparent;font:inherit;color:var(--ink);padding:12px 4px}
.mh__search input:focus{outline:none}
.mh__search:focus-within{border-color:var(--sage);box-shadow:0 0 0 4px rgba(136,163,156,.22),var(--shadow)}
.mh__search .btn{flex:none}
.mh__quick{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:18px 0 0}
.mh__quick a{display:inline-block;padding:7px 14px;border-radius:999px;background:var(--mint);color:var(--teal);text-decoration:none;font-size:var(--fs-sm);font-weight:500;transition:background .2s}
.mh__quick a:hover{background:var(--mint-2);color:var(--teal)}
.mh__visual{position:relative;padding:0 0 0 28px}
.mh__media{position:relative;aspect-ratio:5/4;border-radius:var(--r-lg);overflow:hidden;background:var(--teal);box-shadow:var(--shadow-lg)}
.mh__media .hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.mh__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,58,62,0) 60%,rgba(18,58,62,.28) 100%)}
.mh__app{position:relative;margin-top:18px;width:min(58%,330px);z-index:1}
.mh__app .pft-float{display:none}
/* compact card: two numbers and a short chart, so most of the video stays clear */
.mh__app .pft-app__kpis{grid-template-columns:1fr 1fr;gap:8px;padding:12px 12px 2px}.mh__app .pft-app__kpis div:last-child{display:none}
.mh__app .pft-app__kpis div{padding:8px 10px}.mh__app .pft-app__kpis b{font-size:1rem}
.mh__app .pft-app__spark{height:64px;padding:6px 12px 0}.mh__app .pft-app__legend{padding:4px 12px 10px;gap:12px}
.mh__app .pft-app__bar{padding:8px 12px}
/* sample figures are blurred on the home page: the card shows the idea, not a dollar amount */
.mh__app .pft-app__kpis b{filter:blur(6px);user-select:none}
.mh__float{position:absolute;right:0;bottom:24px;z-index:1;background:#fff;border-radius:14px;padding:9px 13px;box-shadow:var(--shadow-lg);animation:pftbob 6s ease-in-out infinite}
.mh__float small{display:block;font-size:var(--fs-2xs);color:var(--muted)}
.mh__float b{display:block;font-size:1rem;font-weight:700;color:var(--teal);letter-spacing:-.01em}
.mh__float em{display:block;font-style:normal;font-size:var(--fs-2xs);color:var(--sage-2);font-weight:600}
@media (max-width:980px){.mh__in{grid-template-columns:1fr;gap:36px;padding-top:44px;padding-bottom:64px}.mh__visual{padding:0}.mh__app{width:min(72%,330px)}.mh__float{right:0;bottom:20px}}
@media (max-width:560px){.mh__search{flex-wrap:wrap;border-radius:22px;padding:8px}.mh__search svg{display:none}.mh__search input{flex-basis:100%;padding:12px 12px}.mh__search .btn{width:100%}}
@media (prefers-reduced-motion:reduce){.mh__float{animation:none}}
@media (max-width:560px){.mh__float{display:none}.mh__visual{padding-bottom:0}.mh__app{width:100%}}

/* proof strip */
.proof-strip{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.proof-strip__in{display:grid;grid-template-columns:repeat(4,1fr)}
.proof-strip p{margin:0;padding:26px 24px;display:flex;flex-direction:column;gap:3px;border-left:1px solid var(--line)}
.proof-strip p:first-child{border-left:0;padding-left:0}
.proof-strip strong{font-size:1.08rem;font-weight:700;letter-spacing:-.01em;color:var(--teal)}
.proof-strip span{font-size:var(--fs-sm);color:var(--muted)}
@media (max-width:860px){.proof-strip__in{grid-template-columns:1fr 1fr}.proof-strip p{padding:20px 16px}.proof-strip p:nth-child(odd){border-left:0;padding-left:0}.proof-strip p:nth-child(n+3){border-top:1px solid var(--line)}}

/* home sections */
.ms{padding:clamp(64px,9vw,116px) 0}
.ms--tint{background:var(--cream)}
.ms--dark{background:var(--teal);color:#cfe0db;position:relative;overflow:hidden}
.ms--dark::before{content:"";position:absolute;width:620px;height:620px;right:-200px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(136,163,156,.35),transparent 68%);pointer-events:none}
.ms--dark h2{color:#fff}.ms--dark .eyebrow{color:var(--sage-3)}
.ms__head{max-width:720px;margin-bottom:44px}
.ms__head h2{margin:0 0 14px}
.ms__head p:not(.eyebrow){color:var(--muted);font-size:1.06rem;margin:0}
.ms__head--row{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:14px 32px;flex-wrap:wrap}
.ms__head--row h2{margin:0}
.ms__lede{font-size:1.06rem;color:#cfe0db;max-width:30em;margin:0 0 26px}
.msplit{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:start;position:relative}
@media (max-width:900px){.msplit{grid-template-columns:1fr;gap:32px}}

.fgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:1000px){.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.fgrid{grid-template-columns:1fr}}
.fcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;transition:transform .25s,box-shadow .25s,border-color .25s}
.fcard:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--mint-2)}
.fcard h3{font-size:1.08rem;margin:0 0 8px}
.fcard p{margin:0;color:var(--muted);font-size:var(--fs-sm);line-height:1.6}

/* icons */
.pub .feature__icon{width:48px;height:48px;border-radius:14px;background:var(--mint);margin-bottom:18px}
.pub .feature__icon::after{inset:12px}
.icon-chart{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h2v16h16v2H3zm4 10h3v4H7zm5-5h3v9h-3zm5-4h3v13h-3z'/%3E%3C/svg%3E")}
.icon-grid{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h8v8H3zm10 0h8v8h-8zM3 13h8v8H3zm10 0h8v8h-8z'/%3E%3C/svg%3E")}
.icon-pin{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 2a7 7 0 0 1 7 7c0 5-7 13-7 13S5 14 5 9a7 7 0 0 1 7-7zm0 4.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5z'/%3E%3C/svg%3E")}
.icon-school{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 1 9l11 6 9-4.9V17h2V9zM5 13.2v4L12 21l7-3.8v-4L12 17z'/%3E%3C/svg%3E")}

/* tools bento */
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bento__card{display:flex;flex-direction:column;gap:6px;padding:28px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);
  position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.bento__card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--mint-2);color:var(--ink)}
.bento__card h3{font-size:1.2rem;margin:0}
.bento__card p{margin:0 0 10px;color:var(--muted);font-size:var(--fs-sm);flex:1}
.bento__card .feature__icon{margin-bottom:12px}
.bento__go{font-weight:600;font-size:var(--fs-sm);color:var(--teal)}
.bento__go::after{content:" \2192";display:inline-block;transition:transform .2s}
.bento__card:hover .bento__go::after{transform:translateX(4px)}
.bento__card--wide{grid-row:span 2;padding:36px}
.bento__card--dark{background:linear-gradient(155deg,var(--teal) 0%,#1d4a4d 100%);border:0;color:#cfe0db}
.bento__card--dark:hover{color:#cfe0db;border:0}
.bento__card--dark::before{content:"";position:absolute;width:340px;height:340px;right:-120px;bottom:-140px;border-radius:50%;background:radial-gradient(circle,rgba(136,163,156,.5),transparent 70%)}
.bento__card--dark h3{color:#fff;font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-.03em;max-width:12em}
.bento__card--dark p{color:#cfe0db;font-size:var(--fs-body);max-width:28em}
.bento__card--dark .bento__go{color:#fff}
.bento__card--dark .feature__icon{background:rgba(255,255,255,.12)}
.bento__card--dark .feature__icon::after{background:#fff}
@media (max-width:900px){.bento{grid-template-columns:1fr 1fr}.bento__card--wide{grid-column:1/-1;grid-row:auto}}
@media (max-width:560px){.bento{grid-template-columns:1fr}}

.pills-row{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:32px 0 0}
.pills-row a{display:inline-block;padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--teal);text-decoration:none;font-size:var(--fs-sm);font-weight:500;transition:background .2s,border-color .2s}
.pills-row a:hover{background:var(--mint);border-color:var(--mint-2)}

/* team + reviews */
.mteam{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:18px}
.mteam__m{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:10px 10px 18px;text-decoration:none;color:var(--ink);transition:transform .25s,box-shadow .25s}
.mteam__m:hover{transform:translateY(-4px);box-shadow:var(--shadow);color:var(--ink)}
.mteam__m img{width:100%;aspect-ratio:1;object-fit:cover;object-position:center 20%;border-radius:12px;margin-bottom:14px;background:var(--mist)}
.mteam__m h3{font-size:1rem;margin:0 8px 4px}
.mteam__m p{margin:0 8px;font-size:var(--fs-xs);color:var(--muted)}
.mquotes{columns:3 300px;column-gap:20px}
.mquote{break-inside:avoid;margin:0 0 20px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 28px 22px}
.mquote__mark{display:block;height:30px;font:400 4rem/1 var(--accent);color:var(--sage)}
.mquote blockquote{margin:0 0 18px;font-size:var(--fs-sm);line-height:1.7;color:var(--ink)}
.mquote figcaption{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--line);padding-top:14px;font-size:var(--fs-sm)}
.mquote figcaption strong{color:var(--teal)}.mquote figcaption span{color:var(--muted);font-size:var(--fs-xs)}

/* contact panel (Get in touch) */
.cta-panel{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center;
  background:linear-gradient(150deg,var(--teal) 0%,#1d4a4d 100%);color:#cfe0db;border-radius:32px;padding:clamp(28px,5vw,64px)}
.cta-panel::before{content:"";position:absolute;width:520px;height:520px;left:-200px;bottom:-280px;border-radius:50%;background:radial-gradient(circle,rgba(136,163,156,.45),transparent 70%);pointer-events:none}
.cta-panel__copy{position:relative}
.cta-panel h2{color:#fff;margin:0 0 14px}
.cta-panel .eyebrow{color:var(--sage-3)}
.cta-panel__copy p{font-size:1.06rem}
.cta-panel__call a{color:#fff;font-weight:700}
.cta-panel__form{position:relative;background:#fff;color:var(--ink);border-radius:var(--r-lg);padding:28px;box-shadow:var(--shadow-lg)}
@media (max-width:900px){.cta-panel{grid-template-columns:1fr;gap:24px;border-radius:24px}.cta-panel__form{padding:20px}}

/* forms */
.pub .form label,.pub .filters label{color:var(--ink);font-weight:600}
.pub .form input:not([type=radio]):not([type=checkbox]),.pub .form select,.pub .form textarea,.pub .filters input:not([type=radio]):not([type=checkbox]),.pub .filters select{border:1px solid #d3dcd9;border-radius:12px;background:#fbfcfc;padding:12px 14px;transition:border-color .15s,box-shadow .15s,background .15s}
.pub .form input:focus,.pub .form select:focus,.pub .form textarea:focus,.pub .filters input:focus,.pub .filters select:focus{background:#fff;border-color:var(--sage);box-shadow:0 0 0 4px rgba(136,163,156,.22)}
.pub .notice{border-radius:12px}

/* inner pages */
.pub .page-head{padding:60px 0 40px;background:radial-gradient(800px 380px at 92% -30%,var(--mint-2),transparent 60%),linear-gradient(180deg,var(--cream),#fff)}
.pub .page-head h1{margin-bottom:.35em}
.pub .crumbs a{color:var(--muted);text-decoration:none}.pub .crumbs a:hover{color:var(--teal);text-decoration:underline}
.pub .sec--tint{background:var(--cream)}
.pub .sec--dark{background:linear-gradient(150deg,var(--teal) 0%,#1d4a4d 100%)}
.pub .sec__head h2{margin-bottom:.35em}
.pub .feature,.pub .area,.pub .quote,.pub .steps li,.pub .empty,.pub .unit-pick,.pub .chart,.pub .zt{border-radius:var(--r)}
.pub .feature{padding:28px}
.pub .area{transition:transform .2s,box-shadow .2s,border-color .2s}.pub .area:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.pub .area strong,.pub .proof strong{font-weight:700}
.pub .panel{border-radius:var(--r-lg);box-shadow:var(--shadow);border-color:var(--line)}
.pub .panel h2{font-size:1.2rem}
.pub .callout{border-radius:var(--r-lg);background:linear-gradient(150deg,var(--teal) 0%,#1d4a4d 100%)}
.pub .callout--light{background:var(--cream)}
.pub .quote blockquote{font-size:var(--fs-sm);line-height:1.7}
.pub .member img{border-radius:var(--r)}
.pub .member h3 small{font-family:var(--sans)}
.pub .post-card{border-top:0;padding-top:0}
.pub .post-card img{border-radius:var(--r);transition:transform .3s}
.pub .post-card a:hover img{transform:translateY(-3px)}
.pub .faq summary{font-weight:600;font-size:1.08rem}
.pub .service__lede{font:500 1.15rem/1.55 var(--sans)}
.pub .toc a{transition:background .15s}.pub .toc a:hover{background:var(--mint)}
.pub .kpi strong,.pub .zt__big,.pub .unit-pick strong,.pub .calc__out strong,.pub .facts--big strong{font-weight:700;letter-spacing:-.02em}
.pub .data tbody th{font-family:var(--sans);font-weight:600}
.pub .acct{background:radial-gradient(800px 380px at 92% -30%,var(--mint-2),transparent 60%),var(--cream)}
.pub .acct h1{font:800 var(--fs-h1)/1.1 var(--display);letter-spacing:-.035em}

/* accordions */
.pub .acc{border-top:1px solid var(--line)}
.pub .acc details{border-bottom:1px solid var(--line)}
.pub .acc summary{font:600 1.08rem/1.4 var(--sans);padding:18px 40px 18px 0;color:var(--teal)}
.pub .acc summary::after{content:"+";top:50%;right:0;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--mint);display:grid;place-items:center;font:500 1.1rem/1 var(--sans);color:var(--teal);transition:transform .2s}
.pub .acc details[open] summary::after{content:"+";transform:translateY(-50%) rotate(45deg)}
.pub .acc--light{border-top-color:rgba(255,255,255,.16)}
.pub .acc--light details{border-bottom-color:rgba(255,255,255,.16)}
.pub .acc--light summary{color:#fff;font:600 1.12rem/1.4 var(--sans)}
.pub .acc--light summary::after{background:rgba(255,255,255,.12);color:#fff}
.pub .acc--light details p{color:#cfe0db;font-size:var(--fs-sm)}
.pub .acc--light a{color:#fff}

/* listing cards */
.pub .cards{gap:24px}
.pub .card{border-radius:var(--r);border-color:var(--line);transition:transform .25s,box-shadow .25s}
.pub .card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.pub .card__img img{transition:transform .6s ease}
.pub .card:hover .card__img img{transform:scale(1.04)}
.pub .card__body{padding:18px 20px 20px}
.pub .card__price{font-weight:700;font-size:1.3rem;letter-spacing:-.02em}
.pub .card__title{font-weight:600}
.pub .pill{font-weight:700;padding:.55em .9em;box-shadow:0 4px 12px -6px rgba(0,0,0,.35)}

/* search page */
.pub .filters{border-radius:var(--r-lg);box-shadow:var(--shadow);top:96px;padding:22px}
.pub .seg{padding:5px}
.pub .sort select{border-radius:999px;padding:8px 14px}
.pub .ours{background:var(--cream);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}
.pub .ours__h{font:700 1.15rem/1.2 var(--sans)}

/* listing detail */
.pub .detail h2{font-size:clamp(1.35rem,2.2vw,1.7rem)}
.pub .form select,.pub .filters select{padding-right:8px}
.pub .gallery__main{border-radius:var(--r-lg)}
.pub .gallery__thumbs button{border-radius:10px}
.pub .detail__price{font:800 var(--fs-stat-lg)/1 var(--sans);letter-spacing:-.03em}
.pub .detail h1{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700}
.pub .facts--big{border-radius:var(--r);box-shadow:0 1px 2px rgba(18,58,62,.04)}
.pub .facts--big strong{font-size:1.3rem}
.pub .calc{border-radius:var(--r-lg);box-shadow:var(--shadow)}
.pub .calc__inputs label{color:var(--ink)}
.pub .calc__inputs input{border-radius:12px;padding:11px 12px;background:#fbfcfc}
.pub .calc__out{border-radius:14px}
.pub .calc__out p{background:var(--cream)}
.pub .panel--sticky{top:100px}

/* classic sections still used on careers and schools: square them up with the new look */
.pub .cl{padding:clamp(64px,9vw,112px) 0}
.pub .cl--angle{clip-path:none;margin-top:0;padding-top:clamp(64px,9vw,112px)}
.pub .cl--mist{background:var(--cream)}
.pub .cl--teal{background:linear-gradient(150deg,var(--teal) 0%,#1d4a4d 100%)}
.pub .cl--teal .cl__title,.pub .cl__title--sage{color:#fff}
.pub .cl--mist .form input,.pub .cl--mist .form select,.pub .cl--mist .form textarea{border-radius:12px}
.pub .cl--mist .form .btn{background:var(--teal)}
.pub .cl__links a{font:600 1.02rem/1.4 var(--sans)}

/* agent desk: same look, tuned for dense working screens */
.pub .desk{background:var(--cream);padding-top:20px}
.pub .desk-nav{width:calc(100% - 40px);max-width:calc(var(--w) - 40px);gap:2px;padding:6px;margin-bottom:22px;font-size:var(--fs-xs);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 6px 20px -14px rgba(18,58,62,.35)}
.pub .desk-nav strong{font:700 var(--fs-sm)/1 var(--sans);color:#fff;background:var(--teal);border-radius:999px;padding:8px 13px;margin-right:4px}
.pub .desk-nav a{padding:7px 10px;border-radius:999px;color:var(--ink);font-weight:500;transition:background .15s}
.pub .desk-nav a:hover{background:var(--mint);color:var(--teal)}
.pub .desk-nav a[aria-current]{background:var(--mint);color:var(--teal);font-weight:700}
.pub .desk-nav .linkish{padding:7px 12px;text-decoration:none;color:var(--muted)}
@media (max-width:980px){.pub .desk-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:999px}.pub .desk-nav::-webkit-scrollbar{display:none}.pub .desk-nav>*{flex:none;white-space:nowrap}.pub .desk-nav form{margin-left:0}}
.pub .desk-head h1{font-size:clamp(1.8rem,3vw,2.4rem)}
.pub .desk-h2{font-size:clamp(1.3rem,2vw,1.6rem)}
.pub .desk .panel{border-radius:var(--r);box-shadow:0 1px 2px rgba(18,58,62,.04),0 8px 24px -16px rgba(18,58,62,.25)}
.pub .desk .btn:not(.btn--ghost){box-shadow:none}
.pub .desk-form fieldset{border-radius:var(--r);box-shadow:0 1px 2px rgba(18,58,62,.04),0 8px 24px -16px rgba(18,58,62,.25)}
.pub .desk-form legend{font:700 1rem/1.2 var(--sans);color:var(--teal)}
.pub .desk-form label,.pub .dialog label{color:var(--ink)}
.pub .desk-form input,.pub .desk-form select,.pub .dialog input,.pub .dialog textarea,.pub .mix input,.pub .mix select{border-radius:10px;border-color:#d3dcd9;background:#fbfcfc}
.pub .desk-form input:focus,.pub .desk-form select:focus,.pub .dialog input:focus,.pub .dialog textarea:focus{outline:none;background:#fff;border-color:var(--sage);box-shadow:0 0 0 4px rgba(136,163,156,.22)}
.pub .desk-form .check input{width:auto}
.pub .dialog{border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}
.pub .verdict{border-radius:14px;font-family:var(--sans)}
.pub .crm-tabs a{padding:4px 2px}
.pub .site-box{border-radius:12px}

/* footer: rounded top */
.pub .foot{background:#0c2a2d;border-radius:32px 32px 0 0;padding-top:72px}
.pub .foot__h{letter-spacing:.14em}
.pub .foot a{text-decoration:none}.pub .foot a:hover{text-decoration:underline}
@media (max-width:600px){.pub .foot{border-radius:22px 22px 0 0}}
/* ==== end modern look ==== */

/* ---- portfolio tools: signed-out lock + disclaimer ---- */
.pf-disclaimer{margin:18px 0;padding:14px 16px 14px 46px;position:relative;background:#fbf6ea;border:1px solid #ecdcb5;border-radius:12px;font-size:var(--fs-sm);color:#5a4a26;line-height:1.55}
.pf-disclaimer::before{content:"i";position:absolute;left:14px;top:14px;width:20px;height:20px;border-radius:50%;background:#7a5a12;color:#fff;font:700 .78rem/20px var(--serif);text-align:center}
.pf-disclaimer b{color:#4a3a14}
.pfd__fine .pf-disclaimer{margin:0 0 8px}.pfd__fine .fine{margin:0}
.pft-disc{max-width:860px;padding-top:40px}
.pfd__lock{position:relative;border-radius:14px;overflow:hidden;min-height:220px;display:grid}
.pfd__ghost{width:100%;height:100%;grid-area:1/1;filter:blur(5px);opacity:.55}
.pfd__ghost polyline{fill:none;stroke-width:4;stroke-linecap:round}
.pfd__lockmsg{grid-area:1/1;align-self:center;justify-self:center;max-width:340px;margin:16px;padding:20px 22px;background:rgba(255,255,255,.94);border-radius:14px;box-shadow:0 12px 30px rgba(18,58,62,.14);text-align:center;display:grid;gap:8px;justify-items:center}
.pfd__lockmsg b{font:400 1.2rem var(--serif);color:var(--teal)}
.pfd__lockmsg b::before{content:"\1F512  ";font-size:.95rem}
.pfd__lockmsg span{font-size:var(--fs-sm);color:var(--muted)}
.pfd__lockmsg .btn{background:var(--teal);color:#fff;margin-top:4px}
.pft-try .pfd__lockmsg .btn{background:var(--teal);color:#fff}
.pft-try .pft-center .btn,.pft-final .pft-btn--light{background:#fff!important;color:var(--teal)!important;border-color:#fff!important}

/* ---- portfolio tools promo: buyers ---- */
.pft-who{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.pft-buy{background:#fff;border-radius:10px;box-shadow:0 12px 30px rgba(18,58,62,.14);padding:20px 22px;display:grid;gap:14px}
.pft-buy__in{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:0;font-size:var(--fs-sm);color:var(--muted)}
.pft-buy__in b{font:400 1.25rem var(--serif);color:var(--teal)}
.pft-buy__opts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pft-buy__opt{border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;gap:6px}
.pft-buy__opt.is-on{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}
.pft-buy__opt small{font-size:var(--fs-2xs);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.pft-buy__opt b{font:400 1.05rem var(--serif);color:var(--teal)}
.pft-buy__opt i{display:block;height:8px;width:var(--w);border-radius:4px;background:linear-gradient(90deg,var(--teal),var(--sage))}
.pft-buy__fine{margin:0;font-size:var(--fs-2xs);color:var(--muted)}
@media (max-width:600px){.pft-buy__opts{grid-template-columns:1fr}}

/* ---- agent: client portfolios report ---- */
.pr-kpis .kpi a{color:inherit;text-decoration:none;display:block}
.pr-filter{font-size:var(--fs-sm);margin:10px 0 18px}.pr-filter a.is-on{font-weight:700;color:var(--teal)}
.pr-opps{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;margin-bottom:22px}
.pr-opp{border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:12px;padding:14px 16px;background:#fff;display:grid;gap:6px}
.pr-opp p{margin:0}.pr-opp__hey{font-size:var(--fs-sm)}.pr-opp__sc{font-size:var(--fs-sm);color:var(--muted)}
.pr-opp__go{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pr-agent,.pr-client{border:1px solid var(--line);border-radius:12px;margin:0 0 10px;background:#fff}
.pr-agent>summary,.pr-client>summary{cursor:pointer;padding:12px 16px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px}
.pr-agent>summary{background:var(--mist);border-radius:12px;font-size:var(--fs-sm)}.pr-agent>summary strong{font-size:1rem;color:var(--teal)}
.pr-agent>summary .num:first-of-type,.pr-client>summary .num:first-of-type{margin-left:auto}
.pr-agent[open]>summary{border-radius:12px 12px 0 0}
.pr-agent>.pr-client{margin:10px 12px}
.pr-client>summary{font-size:var(--fs-sm)}
.pr-client>p{margin:0 16px 8px}
.pr-prop{margin:0 16px 12px;padding:12px 0 0;border-top:1px dashed var(--line);display:grid;gap:8px}
.pr-prop__head{display:grid;gap:3px}
.pr-prop__nums{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:var(--fs-sm)}.pr-prop__nums em{font-style:normal;color:var(--muted);font-size:var(--fs-xs)}
.pr-needs{font-size:var(--fs-xs);color:#7a5a12;background:#fbf2dc;border-radius:6px;padding:2px 8px;width:fit-content}
.pr-prop__in{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 12px}
.pr-prop__in label{display:grid;gap:3px;font-size:var(--fs-xs);font-weight:600;color:var(--teal-2)}
.pr-prop__in input,.pr-prop__in select{padding:6px 8px;border:1px solid var(--line);border-radius:8px;font:inherit;font-weight:400;min-width:120px}
.pr-foot{margin-top:24px}
.pr-kpis .kpi a strong,.pr-kpis .kpi a span,.pr-kpis .kpi a em{display:block}

/* ---- agent: possible duplicates ---- */
.dup-list{display:grid;gap:14px}
.dup{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fff;display:grid;gap:10px}
.dup p{margin:0}.dup__q .fine{margin-left:6px}
.dup__pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dup__card{display:grid;gap:4px;padding:12px 14px;border-radius:10px;background:var(--mist);align-content:start}
.dup__card .btn{justify-self:start;margin-top:6px}
@media (max-width:700px){.dup__pair{grid-template-columns:1fr}}
