body.elevated{background:#f7f5f0}.elevated .preview{background:#e9e6df;color:#4f5a60;font-size:12px;letter-spacing:.12em;padding:7px 20px}.elevated header{padding:10px 5.5vw;background:#f7f5f0}.elevated .brand img{width:194px;height:92px}.elevated nav{font-size:14px;gap:32px}.elevated .hero{position:relative;display:block;min-height:690px;background:#0b1c31;isolation:isolate}.elevated .hero-image{position:absolute;inset:0;min-height:0;height:100%;z-index:-2}.elevated .hero-image>img{object-position:center 64%;height:100%;filter:none}.elevated .hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,20,29,.78),rgba(6,20,29,.32) 49%,rgba(6,20,29,0));z-index:-1}.elevated .hero-copy{padding:80px 7vw 95px;max-width:900px;min-height:690px}.elevated .hero h1{font-size:clamp(76px,7.4vw,116px);line-height:.98;letter-spacing:-.045em}.elevated .hero-copy .kicker{margin-bottom:35px}.elevated .hero-copy p{font-size:16px;max-width:395px;margin-top:33px;color:#eceee9}.elevated .hero-copy .actions{margin-top:34px}.elevated .hero-image small{left:auto;right:5vw;bottom:25px;color:#fff;font-size:12px}.elevated .searchbar{position:relative;z-index:1;margin:-1px 0 0;padding:30px 7vw;background:#ece9e1;grid-template-columns:1.3fr 1.3fr auto;gap:40px;border-bottom:1px solid #d7d5ce}.elevated .searchbar h2{font-size:30px;max-width:370px}.elevated .searchbar p{font-size:14px}.elevated .section{padding:105px 7vw}.elevated .section h2 em{color:#687267;font-style:italic}.elevated .dark h2 em{color:#d5c8b1}.elevated .intro{background:#eeece5}.elevated .intro h2{font-size:clamp(48px,5.6vw,80px)}.elevated .button{transition:background .2s,color .2s;min-height:54px}.elevated .kicker{font-size:12px}.elevated .office-row{padding:35px 0}.elevated .office-row h3{font-size:47px}.elevated .split-photo>img{min-height:620px}.elevated .split-copy{padding:90px 6vw}.listing-section{overflow:hidden}.listing-section .heading-row{margin-bottom:44px;gap:70px}.collection-intro{max-width:310px;font-size:15px;color:#55636d}.collection-intro .textlink{margin-top:22px;color:#0b1c31}.carousel-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;border-bottom:1px solid #d1d3cb;padding-bottom:18px;gap:20px}.listing-filters{display:flex;gap:24px}.listing-filters button{border:0;border-bottom:1px solid transparent;background:transparent;padding:8px 0;cursor:pointer;font-size:14px;color:#68716f}.listing-filters button.active{border-color:#0b1c31;color:#0b1c31}.carousel-controls{display:flex;gap:10px;align-items:center}.carousel-controls>span{font-size:12px;color:#5d686f;margin-right:15px}.carousel-controls button{width:43px;height:43px;border:1px solid #aeb6b6;border-radius:50%;color:#0b1c31;background:transparent;font-size:22px;cursor:pointer}.carousel-controls button:hover:not(:disabled){background:#0b1c31;color:white}.carousel-controls button:disabled{opacity:.3;cursor:default}.listing-track{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:14px}.listing-track::-webkit-scrollbar{display:none}.property-card{flex:0 0 calc((100% - 52px)/3);min-width:0;scroll-snap-align:start}.property-image{aspect-ratio:1.24;background:#e1e2db;position:relative;overflow:hidden;display:grid;place-items:center}.property-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.property-link:hover .property-image img{transform:scale(1.035)}.property-type{position:absolute;left:16px;top:16px;background:#f7f5f0;padding:6px 12px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#14283b}.property-body{padding:21px 0 14px}.property-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.property-city{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#66746e}.property-go{font-size:22px}.property-body h3{font-size:29px;line-height:1.1;min-height:64px;letter-spacing:-.025em}.property-price{font-size:16px;margin-top:10px;font-weight:500}.property-facts{font-size:14px;color:#637078;margin-top:10px}.property-attribution{font-size:12px;line-height:1.6;border-top:1px solid #d7dbd4;padding-top:14px;color:#707974}.collection-footer{display:flex;justify-content:space-between;margin-top:18px;gap:15px;color:#65746e;font-size:12px}.listing-disclaimer{font-size:12px;color:#6d7777;line-height:1.8;max-width:870px;margin-top:22px}.image-unavailable{font-size:14px;padding:25px;text-align:center;color:#526269}#listing-status:not([hidden]){padding:70px 25px;border:1px solid #d5d9d2;color:#526269;text-align:center;font-size:15px}.elevated .review{background:#e9e6df}.elevated footer{padding-top:70px}@media(max-width:1000px){.elevated nav{gap:20px}.property-card{flex-basis:calc((100% - 26px)/2)}.elevated .hero-copy{min-height:640px}.elevated .hero{min-height:640px}.elevated .searchbar{gap:20px}.collection-intro{max-width:250px}}@media(max-width:700px){.elevated header{padding:8px 6vw}.elevated .brand img{width:160px;height:76px}.elevated .hero,.elevated .hero-copy{min-height:650px}.elevated .hero-copy{padding:65px 7vw 80px}.elevated .hero h1{font-size:clamp(58px,13.5vw,90px)}.elevated .hero-image{height:100%}.elevated .hero-image>img{object-position:42% center}.elevated .hero:after{background:linear-gradient(90deg,rgba(6,20,29,.78),rgba(6,20,29,.32))}.elevated .hero-image small{font-size:12px;left:7vw;right:auto;bottom:22px}.elevated .searchbar{grid-template-columns:1fr;gap:22px;padding:30px 7vw}.elevated .searchbar .button{grid-column:auto}.elevated .section{padding:70px 7vw}.elevated .section h2{font-size:48px}.listing-section .heading-row{margin-bottom:28px}.collection-intro{max-width:100%;margin-top:24px}.property-card{flex-basis:88%}.property-body h3{font-size:29px;min-height:64px}.carousel-controls>span{display:none}.carousel-controls button{width:37px;height:37px}.listing-filters{gap:22px}.collection-footer{flex-direction:column;gap:5px}.property-image{aspect-ratio:1.12}.elevated .split-photo>img{min-height:340px;height:340px}.elevated .split-copy{padding:60px 7vw}.elevated .office-row h3{font-size:41px}.elevated nav{gap:16px}.elevated .hero-copy p{font-size:16px;max-width:320px}.elevated .hero-copy .actions{gap:20px}.elevated .button{padding:15px 20px}.elevated .searchbar h2{font-size:31px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.property-image img{transition:none}.elevated .button{transition:none}}

/* One set of shared rows keeps the three service links aligned as the copy wraps. */
.elevated .service-guides {
  padding-block: 0 clamp(36px, 4.5vw, 68px);
  background: #eeece5;
}
.service-guides .services {
  --column-gap: clamp(32px, 4.2vw, 76px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: var(--column-gap);
  row-gap: 12px;
  padding-block: clamp(22px, 2.2vw, 34px);
  border-block: 1px solid #c6c6bf;
}
.service-guides .services article {
  position: relative;
  display: grid;
  grid-row: span 4;
  grid-template-rows: subgrid;
  align-items: start;
  justify-items: start;
  padding: 0;
  border: 0;
}
.service-guides .services article + article::before {
  content: '';
  position: absolute;
  inset-block: 0;
  left: calc(var(--column-gap) / -2);
  width: 1px;
  background: #c6c6bf;
}
.service-guides .kicker, .service-guides .services p { margin: 0; }
.service-guides h3 { font-size: clamp(28px, 2.5vw, 40px); }
.service-guides .services p { max-width: 38ch; line-height: 1.6; }
.service-guides .textlink { align-self: end; margin-top: 4px; }

@media (max-width: 700px) {
  .service-guides .services {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0;
  }
  .service-guides .services article {
    grid-row: auto;
    grid-template-rows: auto;
    gap: 9px;
    padding-block: 22px;
  }
  .service-guides .services article + article { border-top: 1px solid #c6c6bf; }
  .service-guides .services article + article::before { content: none; }
}

/* A shared measure and type scale keep the office directory balanced. */
#offices {
  padding-block: clamp(64px, 6vw, 90px);
}
.office-section-inner {
  max-width: 1240px;
  margin-inline: auto;
}
#offices .heading-row {
  margin-bottom: 36px;
}
#offices .heading-row h2 {
  font-size: clamp(42px, 4.4vw, 60px);
  line-height: 1.06;
}
#offices .kicker {
  margin-bottom: 18px;
  letter-spacing: .14em;
}
#offices .offices {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 48px;
}
#offices .office-row {
  grid-template-columns: minmax(0, 1fr) 40px;
  align-items: center;
  gap: 24px;
  min-height: 164px;
  padding-block: 28px;
  border-color: #526171;
}
#offices .office-row h3 {
  font-size: clamp(34px, 3vw, 40px);
  line-height: 1.12;
}
#offices .office-row .status {
  margin-bottom: 10px;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: .1em;
  color: #c6cdd3;
}
#offices .office-row p {
  margin-top: 10px;
  font-size: 15px;
  line-height: 1.6;
}
#offices .office-row .arrow {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid #697583;
  border-radius: 50%;
  font-size: 21px;
  line-height: 1;
  transition: background .2s, border-color .2s;
}
#offices .office-row:hover .arrow {
  background: #263a4c;
  border-color: #cabb9f;
}
#offices .commercial-row {
  grid-column: 1 / -1;
  grid-template-columns: minmax(200px, 29%) minmax(0, 1fr) 40px;
  grid-template-areas: "photo copy arrow";
  gap: 32px;
  margin-top: 22px;
  padding: 24px;
  background: #12283b;
  border: 1px solid #405366;
}
#offices .commercial-copy { grid-area: copy; }
#offices .commercial-row img {
  grid-area: photo;
  width: 100%;
  height: 132px;
  object-fit: cover;
}
#offices .commercial-row .arrow { grid-area: arrow; }
#offices .commercial-row h3 { font-size: clamp(32px, 2.8vw, 38px); }
#offices .commercial-row p { max-width: 42ch; }

@media (max-width: 800px) {
  #offices .offices { grid-template-columns: 1fr; }
  #offices .office-row { min-height: 150px; padding-block: 25px; gap: 18px; }
  #offices .office-row h3 { font-size: 34px; }
  #offices .commercial-row {
    grid-template-columns: minmax(0, 1fr) 40px;
    grid-template-areas: "copy arrow" "photo photo";
    padding: 24px;
    gap: 22px 18px;
  }
  #offices .commercial-row img { height: auto; aspect-ratio: 2.7; }
}
@media (max-width: 380px) {
  #offices .office-row h3 { font-size: 31px; }
  #offices .commercial-row { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  #offices .office-row .arrow { transition: none; }
}

/* Frame the existing artwork around its visible bounds, excluding transparent margins. */
.elevated header .brand {
  position: relative;
  display: block;
  flex: 0 0 210px;
  width: 210px;
  height: 128.3px;
  overflow: hidden;
}
.elevated header .brand img {
  position: absolute;
  width: 147.929%;
  height: auto;
  max-width: none;
  left: -22.633%;
  top: -23.002%;
}
.elevated > header > nav { gap: 24px; font-size: 14px; }
.elevated > header > nav a { white-space: nowrap; }
.elevated .button,
.elevated .textlink { font-size: 14px; }
@media (max-width: 1250px) {
  .elevated > header { flex-wrap: wrap; gap: 0; }
  .elevated > header > .menu-toggle {
    display: block;
    padding: 12px 18px;
    font-size: 16px;
  }
  .elevated > header > nav {
    display: none;
    flex-basis: 100%;
    padding: 24px 0 14px;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    font-size: 16px;
  }
  .elevated > header > nav.open { display: flex; }
}
@media (max-width: 700px) {
  .elevated header .brand {
    flex-basis: 170px;
    width: 170px;
    height: 103.9px;
  }
}

.home-collections {
  max-width: 1680px;
  margin: auto;
  padding: clamp(48px, 6.5vw, 96px) 7vw;
}
.home-listing-row + .home-listing-row {
  margin-top: clamp(36px, 5vw, 68px);
  border-top: 1px solid #d6d6cb;
  padding-top: clamp(32px, 4vw, 58px);
}
.home-row-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  margin-bottom: clamp(18px, 2.3vw, 32px);
}
.home-row-heading h2 { font-size: clamp(36px, 4.4vw, 66px); line-height: 1.05; }
.home-row-heading p { margin-top: 7px; color: #516363; font-size: 15px; }
.home-row-heading .carousel-controls { flex-shrink: 0; }
.home-row-heading .carousel-controls button { width: 44px; height: 44px; line-height: 1; }
.home-listing-row .listing-track { flex-flow: row nowrap; overscroll-behavior-x: contain; }
.home-listing-row .listing-track:focus-visible { outline: 2px solid #947749; outline-offset: -2px; }
.home-listing-row .property-card { display: flex; flex-direction: column; }
.home-listing-row .property-link { display: block; flex-grow: 1; }
.home-listing-row .property-link:focus-visible { outline-offset: -3px; }
.home-listing-row .property-image { aspect-ratio: 1.55; border-radius: 3px; }
.home-listing-row .property-type { font-size: 11px; font-weight: 600; letter-spacing: .08em; }
.home-listing-row .property-body { padding: 16px 0 13px; }
.home-listing-row .property-top { margin: 0 0 6px; }
.home-listing-row .property-price { font-family: Display, Georgia, serif; font-size: clamp(26px, 2.8vw, 39px); line-height: 1.12; margin: 0; }
.home-listing-row .property-go { font-size: 20px; }
.home-listing-row .property-body h3 { font-size: clamp(20px, 1.8vw, 26px); min-height: 0; line-height: 1.15; margin-bottom: 5px; }
.home-listing-row .property-city { font-size: 13px; letter-spacing: .02em; text-transform: none; color: #516363; }
.home-listing-row .property-facts { margin-top: 8px; color: #324e52; }
.home-listing-row .property-attribution { padding-top: 9px; line-height: 1.45; overflow-wrap: anywhere; color: #536463; }
.home-row-updated { color: #526463; font-size: 12px; margin-top: 7px; }
.home-row-status:not([hidden]) { padding: 35px 12px; text-align: center; border: 1px solid #d6d6cb; }
.row-retry { border: 0; border-bottom: 1px solid; padding: 2px; background: transparent; color: inherit; cursor: pointer; }
.home-collections > .listing-disclaimer { max-width: 100%; color: #536463; }
@media (max-width: 700px) {
  .home-collections { padding-inline: 6vw; }
  .home-row-heading { align-items: flex-start; gap: 8px; }
  .home-row-heading p { font-size: 14px; }
  .home-row-heading .carousel-controls { gap: 5px; }
  .home-listing-row .listing-track { gap: 16px; }
}

.home-market-field { min-width:0; }
.home-market-field input { width:100%; min-height:46px; padding:9px 10px; border:1px solid #91a69e; border-radius:0; background:#fffdf8; color:#17323a; font:inherit; }
.home-market-field small { display:block; margin-top:5px; font-size:.82rem; color:#455951; }
.home-market-field small a { text-decoration:underline; }
.home-market-field [hidden] { display:none!important; }
