/* Public agent and agency pages (/sg/agents, /sg/agencies). Same brand as the market desk:
   Electric Blue #1455FF, Cyan #22D3EE (marks only, never text), Deep Navy #0E1D4D, Soft Cloud
   #EEF3FF. Text at 12px or more, AA contrast, every tap target at least 44px, no horizontal
   scroll at 390px. */
.ap{--ap-blue:#1455FF;--ap-blue-2:#0B44D9;--ap-cyan:#22D3EE;--ap-navy:#0E1D4D;--ap-cloud:#EEF3FF;--ap-muted:#4A5675;--ap-line:#D8E2F4;--ap-track:#E6ECF8;--ap-green:#0F7B52;--ap-amber:#A15C07;min-height:100vh;background:radial-gradient(1200px 520px at 85% -10%,#DCE7FF 0,transparent 60%),var(--ap-cloud);color:var(--ap-navy);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-variant-numeric:tabular-nums;font-size:14px;line-height:1.5;overflow-x:clip}
.ap *{box-sizing:border-box}
.ap a{color:var(--ap-blue-2)}
.ap a:focus-visible,.ap button:focus-visible,.ap input:focus-visible,.ap select:focus-visible{outline:3px solid var(--ap-blue);outline-offset:2px}
.ap-icon{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ap-shell{width:min(1240px,calc(100% - 32px));margin:0 auto;padding:20px 0 64px}
.ap-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:12px}
.ap-brand{display:inline-flex;min-height:44px;align-items:center}
.ap-brand img{display:block;height:44px;width:auto}
.ap-nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap;min-width:0}
.ap-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:10px;font-size:13px;font-weight:700;color:var(--ap-navy);text-decoration:none}
.ap-nav a:hover,.ap-nav a[aria-current=page]{background:#fff}
.ap .ap-cta{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;background:var(--ap-blue);color:#fff;border-radius:12px;font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap;box-shadow:0 6px 18px #1455ff33}
.ap .ap-cta:hover{background:var(--ap-blue-2)}
.ap-crumbs ol{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;list-style:none;font-size:12px;color:var(--ap-muted)}
.ap-crumbs li{display:flex;align-items:center;gap:6px}
.ap-crumbs li+li::before{content:"›";color:#8FA3C8}
.ap-crumbs ol{margin-bottom:6px}
.ap-crumbs a{color:var(--ap-muted);display:inline-flex;align-items:center;min-height:44px}
.ap-crumbs span{display:inline-flex;align-items:center;min-height:44px}
.ap-kicker{margin:0;font-size:12px;font-weight:800;letter-spacing:.1em;color:var(--ap-blue-2);text-transform:uppercase}
.ap h1,.ap h2,.ap h3{font-family:Sora,Inter,sans-serif;letter-spacing:-.02em;margin:0}
.ap-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid var(--ap-blue);background:var(--ap-blue);color:#fff!important;font:800 13px/1.2 Inter,sans-serif;text-decoration:none;cursor:pointer;white-space:nowrap}
.ap-button:hover{background:var(--ap-blue-2)}
.ap-button--quiet{background:#fff;color:var(--ap-navy)!important;border-color:var(--ap-line)}
.ap-button--quiet:hover{background:var(--ap-cloud)}
.ap-button--primary{box-shadow:0 8px 20px #1455ff33}

/* Hero */
.ap-hero{display:grid;grid-template-columns:128px minmax(0,1fr) auto;gap:22px;align-items:start;padding:22px;border-radius:24px;background:#fff;border:1px solid var(--ap-line);box-shadow:0 12px 34px #0e1d4d12;margin-bottom:14px}
.ap-avatar{display:block;border-radius:50%;object-fit:cover;background:var(--ap-cloud);flex:none}
.ap-avatar--xl{width:128px;height:128px;border-radius:28px}
.ap-avatar--lg{width:72px;height:72px}
.ap-avatar--md{width:44px;height:44px}
.ap-avatar--logo{object-fit:contain;padding:10px;background:#fff;border:1px solid var(--ap-line)}
.ap-avatar--md.ap-avatar--logo{padding:4px;border-radius:12px}
.ap-avatar--initials{display:grid;place-items:center;background:linear-gradient(135deg,#DCE7FF,#C9F4FB);color:var(--ap-navy);font:800 18px/1 Sora,Inter,sans-serif}
.ap-avatar--xl.ap-avatar--initials{font-size:40px}
.ap-hero-main{min-width:0}
.ap-hero h1{margin:6px 0 4px;font-size:clamp(28px,4vw,44px);line-height:1.05;overflow-wrap:anywhere}
.ap-sub{margin:0 0 14px;font-size:15px;color:#26345E}
.ap-sub a{font-weight:700;text-decoration:none}
.ap-sub a:hover{text-decoration:underline}
.ap-ids{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px;padding:0;list-style:none}
.ap-ids li{display:grid;padding:8px 12px;border-radius:12px;background:var(--ap-cloud);border:1px solid var(--ap-line);min-width:0}
.ap-ids span{font-size:12px;color:var(--ap-muted);font-weight:600}
.ap-ids strong{font-size:14px;letter-spacing:.01em;overflow-wrap:anywhere}
.ap-register{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:13px;color:var(--ap-muted)}
.ap-register .ap-icon{color:var(--ap-green)}
.ap-register a{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:700;text-decoration:none}
.ap-register a .ap-icon{color:inherit}
.ap-hero-actions{display:grid;gap:8px;justify-items:stretch;min-width:220px}

/* At a glance */
.ap-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.ap-tile{position:relative;padding:14px;border-radius:16px;background:#fff;border:1px solid var(--ap-line);overflow:hidden;min-width:0}
.ap-tile::after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:linear-gradient(90deg,var(--ap-blue),var(--ap-cyan))}
.ap-tile p{margin:0;font-size:12px;font-weight:700;color:var(--ap-muted)}
.ap-tile strong{display:block;margin:4px 0 2px;font:700 26px/1.1 Sora,Inter,sans-serif;letter-spacing:-.02em;overflow-wrap:anywhere}
.ap-tile small{display:block;font-size:12px;color:var(--ap-muted)}

/* Layout */
.ap-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px;align-items:start}
.ap-main,.ap-side{display:grid;gap:14px;min-width:0}
.ap-card,.ap-section{min-width:0;padding:18px;border-radius:20px;background:#fff;border:1px solid var(--ap-line);box-shadow:0 10px 30px #0e1d4d0f}
.ap-card-head{margin-bottom:10px}
.ap-card h2,.ap-section h2{margin-top:4px;font-size:19px;line-height:1.25}
.ap-card h3{margin:14px 0 8px;font-size:14px}
.ap-card h3 small{font:500 12px Inter,sans-serif;color:var(--ap-muted);margin-left:6px}
.ap-card p{margin:0 0 8px}
.ap-lead{font-size:15px;color:#26345E}
.ap-note,.ap-hint,.ap-status{margin:8px 0 0;font-size:12px;color:var(--ap-muted)}
.ap-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.ap-section-head .ap-hint{max-width:360px;margin:0}
.ap-empty h2{margin-bottom:6px}

/* Bars */
.ap-mix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ap-bars,.ap-rates{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.ap-bars li,.ap-rates li{display:grid;grid-template-columns:minmax(96px,38%) minmax(0,1fr) 64px;gap:10px;align-items:center;min-height:28px}
.ap-rates li{grid-template-columns:minmax(0,54%) minmax(0,1fr) 48px}
.ap-bars--share li{grid-template-columns:minmax(0,52%) minmax(0,1fr) 76px;min-height:44px}
.ap-bar-label a{color:var(--ap-navy);text-decoration:none;display:inline-flex;align-items:center;min-height:44px;max-width:100%}
.ap-bar-label a:hover{color:var(--ap-blue-2);text-decoration:underline}
.ap-bar-label,.ap-rates li>span:first-child{font-size:13px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-bars strong,.ap-rates strong{display:grid;justify-items:end;font-size:13px;font-weight:800}
.ap-bars strong small{font-size:12px;font-weight:500;color:var(--ap-muted)}
.ap-bar{display:block;height:10px;border-radius:6px;background:var(--ap-track);overflow:hidden}
.ap-bar i{display:block;height:100%;width:var(--w);border-radius:6px;background:var(--ap-blue)}
.ap-bar[data-tone=retail] i{background:#F59E0B}
.ap-bar[data-tone=industrial] i{background:#64748B}
.ap-bar[data-tone=commercial] i{background:var(--ap-cyan)}
.ap-bar[data-tone=navy] i{background:var(--ap-navy)}
.ap-bar[data-tone=intl] i{background:linear-gradient(90deg,var(--ap-blue),var(--ap-cyan))}
.ap-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.ap-tags a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border-radius:999px;border:1px solid var(--ap-line);background:var(--ap-cloud);color:var(--ap-navy);font-size:13px;font-weight:600;text-decoration:none;max-width:100%}
.ap-tags a:hover{border-color:var(--ap-blue)}
.ap-tags small{font-weight:800;color:var(--ap-blue-2)}

/* Pricing */
.ap-stack{display:flex;height:14px;border-radius:8px;overflow:hidden;background:var(--ap-track);margin:10px 0 8px}
.ap-stack i{display:block;width:var(--w)}
.ap-stack [data-tone=below],.ap-legend [data-tone=below]::before{background:var(--ap-cyan)}
.ap-stack [data-tone=inline],.ap-legend [data-tone=inline]::before{background:var(--ap-blue)}
.ap-stack [data-tone=above],.ap-legend [data-tone=above]::before{background:var(--ap-navy)}
.ap-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;list-style:none;font-size:13px;font-weight:600}
.ap-legend li{display:flex;align-items:center;gap:6px}
.ap-legend li::before{content:"";width:10px;height:10px;border-radius:3px}

/* Buildings */
.ap-map{margin:0 0 10px}
.ap-map svg{display:block;width:100%;height:auto;border-radius:14px;background:linear-gradient(180deg,#F4F8FF,#E7F0FF)}
.ap-map-land{fill:#fff;stroke:#C7D5EE;stroke-width:1.2}
.ap-map-rail{fill:none;stroke:#9FB2D6;stroke-width:2.4;stroke-linecap:round;opacity:.55}
.ap-map-dots circle{fill:var(--ap-blue);fill-opacity:.72;stroke:#fff;stroke-width:1}
.ap-map figcaption{margin-top:6px;font-size:12px;color:var(--ap-muted)}
.ap-building-list{display:grid;margin:0 0 10px;padding:0;list-style:none;border-top:1px solid var(--ap-line)}
.ap-building-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--ap-line)}
.ap-building-list a{display:grid;min-height:48px;padding:6px 0;align-content:center;text-decoration:none;color:var(--ap-navy);min-width:0}
.ap-building-list a strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-building-list a:hover strong{color:var(--ap-blue-2)}
.ap-building-list small{font-size:12px;color:var(--ap-muted)}
.ap-building-list li>span{flex:none;font-size:12px;font-weight:800;color:var(--ap-muted)}
.ap-card .ap-button--quiet{width:100%}

/* Listings */
.ap-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:6px}
.ap-filters>*{min-width:0}
.ap-chip-row{display:flex;flex-wrap:wrap;gap:6px}
.ap-chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--ap-line);background:#fff;color:var(--ap-navy)!important;font-size:13px;font-weight:700;text-decoration:none}
.ap-chip small{font-weight:600;color:var(--ap-muted)}
.ap-chip[aria-current=true]{background:var(--ap-navy);border-color:var(--ap-navy);color:#fff!important}
.ap-chip[aria-current=true] small{color:#D8E2F4}
.ap-district{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;max-width:640px}
.ap-district label{font-size:13px;font-weight:700}
.ap-district select{min-height:44px;width:100%;min-width:0;padding:0 10px;border-radius:12px;border:1px solid var(--ap-line);background:#fff;color:var(--ap-navy);font:600 14px Inter,sans-serif}
.ap-listing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:10px}
.ap-listing{display:grid;grid-template-rows:auto 1fr auto;min-width:0;border-radius:16px;border:1px solid var(--ap-line);background:#fff;overflow:hidden}
.ap-listing-photo{position:relative;aspect-ratio:16/10;background:linear-gradient(135deg,#E3EBFF,#D7F6FB)}
.ap-listing-photo img{display:block;width:100%;height:100%;object-fit:cover}
.ap-listing-photo img.is-plan{object-fit:contain;background:#fff;padding:8px}
.ap-photo-empty{display:grid;place-items:center;height:100%;font:800 28px Sora,Inter,sans-serif;color:#8FA3C8}
.ap-photo-tag{position:absolute;left:8px;bottom:8px;padding:2px 8px;border-radius:999px;background:#0e1d4dcc;color:#fff;font-size:12px;font-weight:600}
.ap-listing-body{padding:12px 12px 4px;min-width:0}
.ap-eyebrow{margin:0 0 4px;font-size:12px;font-weight:700;color:var(--ap-muted)}
.ap-listing h3{font-size:15px;line-height:1.3;margin:0 0 2px;overflow-wrap:anywhere}
.ap-listing h3 a{display:inline-flex;align-items:center;min-height:44px;margin:-10px 0 -8px;color:var(--ap-navy);text-decoration:none}
.ap-listing h3 a:hover{color:var(--ap-blue-2);text-decoration:underline}
.ap-listing-place,.ap-listing-facts{margin:0;font-size:13px;color:#26345E}
.ap-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:8px 0 4px}
.ap-price strong{font:700 18px/1.2 Sora,Inter,sans-serif}
.ap-price small{font-size:12px;color:var(--ap-muted)}
.ap-listing-meta{display:flex;flex-wrap:wrap;gap:6px 10px;margin:0;font-size:12px;color:var(--ap-muted)}
.ap-offered{padding:0 8px;border-radius:999px;background:var(--ap-cloud);color:var(--ap-navy);font-weight:700}
.ap-listing-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px 12px}
.ap-listing-actions .ap-button{padding:0 10px}
.ap-pager{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:14px;font-size:13px;color:var(--ap-muted)}
.ap-pager>:first-child{justify-self:start}.ap-pager>:last-child{justify-self:end}

/* Team and directories */
.ap-team{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin:0;padding:0;list-style:none}
.ap-team--wide{margin-top:14px}
.ap .ap-person{color:var(--ap-navy)}
.ap-person{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 12px;border-radius:14px;border:1px solid var(--ap-line);background:#fff;color:var(--ap-navy);text-decoration:none;min-width:0}
.ap-person:hover{border-color:var(--ap-blue)}
.ap-person--plain:hover{border-color:var(--ap-line)}
.ap-person--plain em{color:var(--ap-muted)}
.ap-person>span{display:grid;min-width:0}
.ap-person strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-person small,.ap-person em{font-size:12px;color:var(--ap-muted);font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-person em{color:var(--ap-blue-2);font-weight:700}
.ap-intro{max-width:880px;margin:6px 0 18px}
.ap-intro h1{margin:8px 0 10px;font-size:clamp(30px,4.6vw,48px);line-height:1.05}
.ap-lede{margin:0 0 10px;font-size:17px;color:#26345E}
.ap-search{display:grid;gap:6px;margin-top:10px}
.ap-search label{font-size:13px;font-weight:700}
.ap-search div{display:flex;gap:8px;flex-wrap:wrap}
.ap-search input{flex:1 1 240px;min-width:0;min-height:48px;padding:0 14px;border-radius:12px;border:1px solid var(--ap-line);background:#fff;color:var(--ap-navy);font:500 16px Inter,sans-serif}
.ap-rows{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.ap-row{display:grid;grid-template-columns:44px minmax(0,1.3fr) minmax(0,1fr) 170px;gap:12px;align-items:center;min-height:64px;padding:10px 14px;border-radius:14px;border:1px solid var(--ap-line);background:#fff;color:var(--ap-navy);text-decoration:none}
.ap-row:hover{border-color:var(--ap-blue)}
.ap-row-name,.ap-row-figures{display:grid;min-width:0}
.ap-row-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-row-name small,.ap-row-figures small{font-size:12px;color:var(--ap-muted)}
.ap-row-figures{justify-items:end;text-align:right}
.ap-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:28px;padding-top:14px;border-top:1px solid var(--ap-line);font-size:12px;color:var(--ap-muted)}
.ap-foot p{margin:0;display:flex;align-items:center}
.ap-foot nav{display:flex;flex-wrap:wrap;gap:4px}
.ap-foot a{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;color:var(--ap-muted)}

@media (max-width:1080px){
  .ap-grid{grid-template-columns:minmax(0,1fr)}
  .ap-side{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
}
@media (max-width:760px){
  .ap-shell{width:calc(100% - 32px);padding-top:12px}
  .ap-top{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand cta" "nav nav";row-gap:4px}
  .ap-brand{grid-area:brand}.ap-top .ap-cta{grid-area:cta}
  .ap-nav{grid-area:nav;justify-content:flex-start;margin-left:-8px}
  .ap-nav a{padding:0 8px}
  .ap-brand img{height:38px}
  .ap-district{grid-template-columns:minmax(0,1fr) auto}
  .ap-district label{grid-column:1/-1}
  .ap-bars li,.ap-rates li{grid-template-columns:minmax(0,1fr) 56px;grid-template-areas:"label value" "bar value";row-gap:4px}
  .ap-bars li>.ap-bar-label,.ap-rates li>span:first-child{grid-area:label}
  .ap-bars li>.ap-bar,.ap-rates li>.ap-bar{grid-area:bar}
  .ap-bars li>strong,.ap-rates li>strong{grid-area:value}
  .ap-hero{grid-template-columns:88px minmax(0,1fr);gap:14px;padding:16px;border-radius:20px}
  .ap-hero .ap-avatar--xl{width:88px;height:88px;border-radius:22px}
  .ap-hero .ap-avatar--xl.ap-avatar--initials{font-size:28px}
  .ap-hero-actions{grid-column:1/-1;min-width:0}
  .ap-hero-main{display:contents}
  .ap-hero>.ap-avatar{grid-row:1/3;align-self:center}
  .ap-hero-main>.ap-kicker{grid-column:2;grid-row:1;align-self:end}
  .ap-hero-main>h1{grid-column:2;grid-row:2;align-self:start;margin:2px 0 0}
  .ap-hero-main>.ap-sub,.ap-hero-main>.ap-ids,.ap-hero-main>.ap-register{grid-column:1/-1;margin:0}
  .ap-hero h1{font-size:26px}
  .ap-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ap-tile strong{font-size:22px}
  .ap-side{grid-template-columns:minmax(0,1fr)}
  .ap-mix{grid-template-columns:minmax(0,1fr)}
  .ap-card,.ap-section{padding:14px;border-radius:18px}
  .ap-listing-grid{grid-template-columns:minmax(0,1fr);gap:10px}
  /* Phone: a listing is a compact row (picture left, facts right, actions below), so 24 fit in a short scroll. */
  .ap-listing{grid-template-columns:112px minmax(0,1fr);grid-template-rows:auto auto}
  .ap-listing-photo{grid-column:1;grid-row:1;aspect-ratio:auto;align-self:start;height:112px;margin:12px 0 0 12px;border-radius:12px;overflow:hidden}
  .ap-listing-body{grid-column:2;grid-row:1;padding:12px 12px 0}
  .ap-listing-actions{grid-column:1/-1;grid-row:2}
  .ap-photo-tag{left:6px;bottom:6px;padding:1px 7px}
  .ap-photo-tag-more{display:none}
  .ap-photo-empty{font-size:22px}
  .ap-listing h3{font-size:14px}
  .ap-price{margin:6px 0 2px}
  .ap-price strong{font-size:16px}
  .ap-row{grid-template-columns:44px minmax(0,1fr) auto;gap:10px}
  .ap-row .ap-bar{display:none}
  .ap-bars--share li{grid-template-columns:minmax(0,1fr) 92px}
  .ap-bars--share .ap-bar-label{white-space:normal}
  .ap-bars--share strong small{white-space:nowrap}
  .ap-team{grid-template-columns:minmax(0,1fr);gap:6px}
  .ap-person{min-height:56px;padding:6px 10px;border-radius:12px}
}
@media (prefers-reduced-motion:no-preference){.ap-bar i,.ap-stack i{transition:width .4s ease}}
