/* Listing agent profile. Loads after homepage.css for tokens, nav, footer. */

.jmi-agent{background:var(--stone)}
.agp-wrap{max-width:1180px;margin:0 auto;padding:0 var(--pad)}

/* Identity band */
.agp-hero{background:var(--ivory);padding:calc(var(--nav-h) + 64px) 0 56px;border-bottom:1px solid rgba(31,91,71,.14)}
.agp-head{display:grid;grid-template-columns:220px minmax(0,1fr);gap:44px;align-items:start}
.agp-photo img,.agp-photo-none{display:block;width:220px;height:275px;object-fit:cover;background:#fff;
  box-shadow:0 1px 0 rgba(31,91,71,.14),0 18px 36px -24px rgba(23,63,50,.45)}
.agp-photo-none{display:flex;align-items:center;justify-content:center;font-family:var(--font-display);
  font-size:64px;color:var(--green);background:#fff}
.agp-eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--brand-accent);margin:6px 0 10px}
.agp-id h1{font-family:var(--font-display);font-weight:400;font-size:44px;line-height:1.08;color:var(--green);margin:0}
.agp-role{font-size:18px;font-weight:700;color:var(--ink);margin:12px 0 0}
.agp-loc{font-size:16px;color:var(--muted);margin:6px 0 0}
.agp-headline{font-size:16px;color:var(--muted);margin:10px 0 0;max-width:60ch}

.agp-contact{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:14px 34px}
.agp-contact li{display:flex;align-items:baseline;gap:10px;font-size:17px}
.agp-contact .lbl{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--quiet)}
/* Underlines are banned site wide. Gold shift plus a tinted background is the
   hover cue, with the padding cancelled so the text never moves. */
.agp-contact a{color:var(--green);font-weight:700;padding:2px 6px;margin:-2px -6px;border-radius:2px;
  transition:color .3s var(--ease),background-color .3s var(--ease)}
.agp-contact a:hover,.agp-contact a:focus-visible{color:#7A6224;background-color:rgba(201,162,74,.16)}

/* Body cards */
.agp-body{padding:40px 0 96px}
.agp-card{background:#fff;border:1px solid rgba(31,91,71,.12);padding:34px 38px;margin-bottom:18px;scroll-margin-top:calc(var(--nav-h) + 20px)}
.agp-card h2{font-family:var(--font-display);font-weight:400;font-size:24px;color:var(--ink);margin:0 0 14px}
.agp-card p,.agp-prose{font-size:16px;line-height:1.7;color:var(--muted)}
.agp-card p{margin:0}
.agp-prose p + p{margin-top:14px}

.agp-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 48px}
.agp-fact h2{font-size:20px;margin-bottom:8px}

.agp-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}
.agp-pair .agp-card{margin-bottom:0}
.agp-dots{list-style:none;margin:0;padding:0}
.agp-dots li{position:relative;padding-left:18px;font-size:16px;line-height:1.7;color:var(--muted)}
.agp-dots li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--brand-accent)}

/* Listings */
.agp-lhead{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 34px;margin-bottom:22px}
.agp-lhead h2{margin:0}
.agp-filter{display:flex;gap:22px}
.agp-filter button{font:inherit;font-size:15px;color:var(--muted);background:none;border:0;padding:0 0 6px;cursor:pointer;
  border-bottom:2px solid transparent;transition:color .3s var(--ease),border-color .3s var(--ease)}
.agp-filter button:hover,.agp-filter button:focus-visible{color:var(--green)}
.agp-filter button.on{color:var(--green);font-weight:700;border-bottom-color:var(--brand-accent)}

.agp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.agp-lcard{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--green-deep);color:#fff}
.agp-lcard[hidden]{display:none}
.agp-lim,.agp-lim img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.agp-lim img{transition:transform .6s var(--ease)}
.agp-lcard::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,32,26,.82) 0%,rgba(15,32,26,.12) 55%,rgba(15,32,26,0) 100%)}
.agp-lcap{position:absolute;left:22px;right:22px;bottom:20px;z-index:1;display:flex;flex-direction:column;gap:2px}
.agp-lcap .st{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--brand-accent);margin-bottom:4px}
.agp-lcap .nm{font-family:var(--font-display);font-size:22px;line-height:1.2;color:#fff}
.agp-lcap .ln{font-size:14px;color:rgba(255,255,255,.88)}
.agp-lcap .sp{font-weight:700;color:#fff;margin-top:2px}
.agp-lcard:hover .agp-lim img,.agp-lcard:focus-visible .agp-lim img{transform:scale(1.04)}
.agp-lcard:focus-visible{outline:2px solid var(--brand-accent);outline-offset:3px}

/* Brokerage and links */
.agp-logo{display:block;width:auto;max-width:180px;height:auto;margin:22px 0 0}
.agp-out{display:inline-flex;align-items:center;gap:8px;margin-top:16px;margin-right:30px;font-size:15px;font-weight:700;
  color:var(--green);transition:color .3s var(--ease)}
.agp-out span{color:var(--brand-accent);transition:transform .3s var(--ease)}
.agp-out:hover,.agp-out:focus-visible{color:#7A6224}
.agp-out:hover span,.agp-out:focus-visible span{transform:translateX(4px)}
.agp-links h2{margin-bottom:0}

@media (max-width:900px){
  .agp-head{grid-template-columns:180px minmax(0,1fr);gap:28px}
  .agp-photo img,.agp-photo-none{width:180px;height:225px}
  .agp-id h1{font-size:36px}
  .agp-facts,.agp-pair,.agp-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .agp-hero{padding:calc(var(--nav-h) + 36px) 0 40px}
  .agp-head{grid-template-columns:1fr}
  .agp-card{padding:26px 22px}
  .agp-contact{flex-direction:column;gap:12px}
}
@media (prefers-reduced-motion:reduce){
  .agp-lim img,.agp-out span{transition:none}
}
