.agent-masthead{display:flex;justify-content:space-between;align-items:center;padding:26px 6%;border-bottom:1px solid #dcd9d0;gap:25px;background:#faf9f5}.agent-wordmark{font-family:Display,Georgia,serif;font-size:29px;line-height:1.1}.agent-wordmark small{display:block;font-family:Manrope,Arial,sans-serif;font-size:12px;letter-spacing:2px;margin-top:9px}.agent-masthead nav{display:flex;gap:27px;font-size:14px}.agent-hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:650px;background:#eeece4}.agent-hero-copy{padding:80px 10% 70px 12%;align-self:center}.agent-hero h1{font-size:clamp(55px,6vw,88px);line-height:1.02;margin:24px 0 15px;max-width:620px}.agent-title{font-size:14px!important;letter-spacing:1px;max-width:430px}.agent-rule{width:65px;height:1px;background:#878570;margin:32px 0}.agent-hero h2{font-size:clamp(27px,3vw,40px);line-height:1.15;margin-bottom:32px}.agent-hero-photo{position:relative;min-height:650px;background:#d7d4ca;overflow:hidden}.agent-hero-photo>img{position:absolute;width:100%;height:100%;object-fit:contain;object-position:center bottom}.portrait-label{position:absolute;bottom:25px;left:25px;background:#faf9f2ed;padding:16px 24px;font-family:Display,Georgia,serif;font-size:22px}.portrait-label small{display:block;font-family:Manrope,Arial,sans-serif;font-size:12px;letter-spacing:2px;margin-top:6px}.agent-about{display:grid;grid-template-columns:.75fr 1.25fr;gap:10%;scroll-margin-top:30px}.agent-about h2{margin:20px 0 30px}.agent-biography p{font-size:17px;line-height:1.9;white-space:pre-line;margin-bottom:22px;max-width:760px}.agent-services{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:55px}.agent-services article{border-top:1px solid #ffffff40;padding-top:28px}.agent-services h3{font-size:36px;margin:18px 0}.agent-services p{max-width:450px;margin-bottom:25px}.agent-contact{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;background:#eeece4}.agent-contact h2{margin:20px 0 24px}.agent-contact .button{margin-top:25px}.contact-details{align-self:center}.contact-details h3{font-size:38px;margin-bottom:15px}.contact-details>a{display:block;margin-top:15px;overflow-wrap:anywhere}.contact-details hr{border:0;border-top:1px solid #cac8be;margin:30px 0}.contact-details .license,.contact-note{font-size:14px;margin-top:16px}.directory-intro{background:#eeece4;padding-bottom:60px}.directory-intro h1{font-size:clamp(50px,6vw,85px);line-height:1.05;margin:24px 0}.directory-intro p{max-width:580px;font-size:18px;line-height:1.75}.directory{padding-top:35px}.directory-tools{display:flex;gap:25px;align-items:end;flex-wrap:wrap;border-bottom:1px solid #ccc9bf;padding-bottom:30px}.directory-tools label{font-size:14px;text-transform:uppercase;letter-spacing:1px}.directory-tools input{display:block;border:1px solid #c6c5b9;padding:14px 16px;background:transparent;font:inherit;font-size:16px;margin-top:10px;width:250px}.office-filters{display:flex;gap:6px;flex-wrap:wrap}.office-filters button{font:inherit;font-size:14px;padding:15px 19px;border:1px solid #c6c5b9;background:transparent;color:inherit;cursor:pointer}.office-filters button[aria-pressed=true]{background:#0b1c31;color:white;border-color:#0b1c31}#agent-count{font-size:14px;margin-left:auto;padding-bottom:10px}.agent-group{margin-top:70px}.agent-group .heading-row{margin-bottom:35px}.agent-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:45px 25px}.agent-card[hidden],.agent-group[hidden]{display:none}.agent-card-photo{aspect-ratio:4/5;background:#e2e0d8;overflow:hidden}.agent-card-photo img{width:100%;height:100%;object-fit:contain;object-position:center bottom;transition:transform .4s}.agent-card a:hover img{transform:scale(1.025)}.agent-card-copy{padding-top:20px}.agent-card .kicker{font-size:12px}.agent-card h3{font-size:28px;line-height:1.15;margin:8px 0 10px;display:flex;justify-content:space-between;gap:5px}.agent-card h3 span{font:18px Manrope,Arial,sans-serif;padding-top:5px}.agent-card p{font-size:14px;line-height:1.6;min-height:36px}.agent-visit{font-size:14px;letter-spacing:1px;text-transform:uppercase;border-bottom:1px solid #a9a797;padding-bottom:4px;display:inline-block;margin-top:12px}.agent-monogram{display:flex;align-items:center;justify-content:center;height:100%;min-height:300px;font:80px Display,Georgia,serif;color:#898774}.personal-site .listing-section{background:#faf9f5}.agent-group .heading-row h2{font-size:48px}.personal-site header{padding-top:8px;padding-bottom:8px}.personal-site .agent-contact{scroll-margin-top:20px}input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #8a7f56;outline-offset:5px}
@media(min-width:1600px){.agent-hero{min-height:760px}.agent-hero-photo{min-height:760px}}@media(max-width:1000px){.agent-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.agent-masthead nav{gap:15px}.agent-hero-copy{padding:55px 8%}.agent-hero-photo{min-height:570px}.agent-hero{min-height:570px}.agent-about{gap:6%}}@media(max-width:700px){.agent-masthead{padding:22px 6%;display:block}.agent-masthead nav{margin-top:22px;justify-content:space-between;gap:10px;font-size:14px}.agent-wordmark{font-size:25px}.agent-hero{display:flex;flex-direction:column;min-height:0}.agent-hero-copy{padding:45px 6%}.agent-hero h1{font-size:56px}.agent-hero-photo{min-height:460px}.agent-about,.agent-contact,.agent-services{grid-template-columns:1fr;gap:35px}.agent-about .agent-biography p{font-size:16px}.agent-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 15px}.agent-card h3{font-size:24px}.agent-card p{font-size:14px}.agent-card h3 span{display:none}.directory-tools{display:block}.office-filters{margin-top:20px}.office-filters button{padding:12px 10px}#agent-count{margin:20px 0 0;padding:0}.directory-tools input{width:100%;box-sizing:border-box}.agent-group .heading-row{display:block}.agent-group .heading-row h2{font-size:39px}.agent-group .heading-row>a{display:inline-block;margin-top:15px}.agent-hero-photo .agent-monogram{min-height:460px}.portrait-label{font-size:19px}.agent-card .agent-monogram{font-size:45px;min-height:0}.agent-contact{padding-top:60px;padding-bottom:60px}}
@media(max-width:700px){.agent-masthead nav{flex-direction:row;align-items:center;width:auto;padding:0}.agent-masthead .agent-wordmark{font-family:Display,Georgia,serif}.agent-hero-copy{padding-top:35px;padding-bottom:35px}}
.agent-card-photo img{object-fit:cover;object-position:center top}
.leadership-section{padding-top:70px;padding-bottom:75px}.leadership-heading{text-align:center;margin-bottom:42px}.leadership-heading .kicker{margin-bottom:16px}.leadership-heading h2{font-size:clamp(40px,4.6vw,62px)}.leadership-second{margin-top:80px;padding-top:60px;border-top:1px solid #d4d1c8}.leadership-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.leadership-card{text-align:center;min-width:0}.leadership-photo{height:380px;background:#eeece4;overflow:hidden}.leadership-photo img{width:100%;height:100%;object-fit:contain;object-position:center bottom}.leadership-card h3{font-size:35px;margin:24px 0 12px}.leadership-card p{font-size:14px;min-height:42px;max-width:300px;margin:0 auto 14px}.leadership-card .textlink{font-size:14px}.founder-profile{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:start}.founder-portrait{background:#eeece4}.founder-portrait img{width:100%;max-height:720px;object-fit:contain;object-position:center top}.founder-profile .kicker{margin-top:38px}.founder-profile h1{font-size:clamp(50px,5vw,78px)}.founder-title{margin:20px 0 30px}.founder-bio p{margin-bottom:24px;line-height:1.9}.founder-profile .button{margin-top:12px}@media(max-width:900px){.leadership-grid{gap:20px}.leadership-photo{height:300px}.leadership-card h3{font-size:29px}}@media(max-width:600px){.leadership-grid,.founder-profile{grid-template-columns:1fr;gap:38px}.leadership-photo{height:auto;aspect-ratio:4/5;max-width:370px;margin:auto}.leadership-card p{min-height:0}.leadership-card h3{font-size:35px}.leadership-second{margin-top:50px;padding-top:40px}.founder-profile .kicker{margin-top:30px}.leadership-section{padding-top:45px}}
/* Use identical, top-aligned portrait frames for mixed original image sizes. */
.leadership-photo,.agent-card-photo,.founder-portrait,.agent-hero-photo{position:relative;aspect-ratio:4/5;height:auto;min-height:0;overflow:hidden}
.leadership-photo img,.agent-card-photo img,.founder-portrait img,.agent-hero-photo>img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:50% 0%}
.agent-card a:hover img{transform:none}
.agent-hero{min-height:0;align-items:center}.agent-hero-photo{align-self:center;width:100%}
.agent-hero-photo .agent-monogram{position:absolute;inset:0;min-height:0}
.people-tools{padding-top:30px;padding-bottom:0}.people-tools .directory-tools{border-bottom:0}
.leadership-card[hidden],.leadership-group[hidden],.leadership-section[hidden]{display:none}
.leadership-group[hidden]+.leadership-group .leadership-second{margin-top:0;padding-top:0;border-top:0}

/* Keep the full office selector on its own row as the directory grows. */
.elevated .people-tools { padding-top: 44px; padding-bottom: 28px; }
.elevated .directory { padding-top: 24px; }
.directory-tools {
  display: grid;
  grid-template-columns: minmax(240px, 360px) minmax(0, 1fr);
  gap: 22px;
}
.directory-tools > label { grid-column: 1; grid-row: 1; }
.directory-tools input { width: 100%; }
.directory-tools .office-filters {
  grid-column: 1 / -1;
  grid-row: 2;
  margin-top: 0;
  gap: 8px;
}
.directory-tools .office-filters button { min-height: 48px; }
.directory-tools #agent-count {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  margin: 0;
  padding-bottom: 12px;
}
.roster-pending {
  margin-top: 0;
  padding: 36px;
  border: 1px solid #cfccc2;
  background: #eeece4;
}
.roster-pending h2 { font-size: clamp(36px, 4vw, 50px); }
.roster-pending .roster-title { margin-top: 24px; font-weight: 600; }
.roster-pending p { max-width: 48ch; }
.roster-pending .textlink { margin-top: 24px; }
@media (max-width: 700px) {
  .directory-tools { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .directory-tools .office-filters { grid-column: 1; }
  .directory-tools #agent-count {
    grid-column: 1;
    grid-row: 3;
    justify-self: start;
    padding-bottom: 0;
  }
  .directory-tools .office-filters button { padding-inline: 14px; }
  .roster-pending { padding: 28px; }
}
@media (max-width: 1000px) {
  .directory-tools .office-filters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .directory-tools .office-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
