.us-positioning { padding: 70px 8vw; background: #f5f0e8; border-bottom: 1px solid var(--line); }
.us-positioning > div:first-child { display: grid; grid-template-columns: .75fr 1.25fr; gap: 9vw; align-items: end; }
.us-positioning h2, .us-client-room h2 { margin: 0; font-family: var(--serif); font-size: clamp(48px, 5.2vw, 80px); font-weight: 400; line-height: .98; letter-spacing: -.04em; }
.us-positioning > div:first-child > p { max-width: 650px; margin: 0; color: #617068; line-height: 1.8; }
.us-positioning-grid { margin-top: 45px; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); }
.us-positioning-grid article { min-height: 220px; padding: 30px; border-right: 1px solid var(--line); }
.us-positioning-grid article:last-child { border-right: 0; }
.us-positioning-grid span { color: var(--gold-text); font-family: var(--serif); font-style: italic; }
.us-positioning-grid h3 { margin: 35px 0 10px; font-family: var(--serif); font-size: 23px; font-weight: 400; }
.us-positioning-grid p { margin: 0; color: #68746d; font-size: 11px; line-height: 1.7; }

.us-client-room { padding: 110px 8vw; background: #efe7db; }
.us-client-room-heading { display: grid; grid-template-columns: 1.05fr .95fr; gap: 9vw; align-items: end; }
.us-client-room-heading > p { max-width: 650px; margin: 0 0 8px; color: #607068; line-height: 1.8; }
.us-client-room-grid { margin-top: 60px; display: grid; grid-template-columns: .76fr 1.24fr; gap: clamp(38px, 6vw, 95px); align-items: start; }
.us-client-room-controls > label, .us-client-room-controls legend { display: flex; gap: 14px; align-items: baseline; color: #22352c; font-family: var(--serif); font-size: 21px; }
.us-client-room-controls label span, .us-client-room-controls legend span { color: var(--gold-text); font-size: 14px; font-style: italic; }
.us-client-room-controls select { width: 100%; margin: 16px 0 38px; padding: 16px; border: 1px solid #aeb4ae; border-radius: 0; background: #fffdfa; color: #1c2c24; font: inherit; }
.us-client-room-controls fieldset { margin: 0; padding: 0; border: 0; }
.us-client-room-controls fieldset > div { margin-top: 16px; border-top: 1px solid #b8b6af; }
.us-client-room-controls fieldset button { width: 100%; min-height: 75px; padding: 15px 0; border: 0; border-bottom: 1px solid #b8b6af; background: transparent; color: #23352d; display: grid; grid-template-columns: 1fr auto; text-align: left; cursor: pointer; }
.us-client-room-controls fieldset button strong { font-family: var(--serif); font-size: 18px; font-weight: 400; }
.us-client-room-controls fieldset button small { margin-top: 4px; grid-column: 1; color: #66736c; line-height: 1.5; }
.us-client-room-controls fieldset button b { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--gold-text); font-weight: 400; }
.us-client-room-controls fieldset button[aria-pressed="true"] strong { color: #8a6524; }
.us-client-room-boundary { margin-top: 34px; padding: 22px; background: #183128; color: white; }
.us-client-room-boundary span { color: #d9bb78; text-transform: uppercase; letter-spacing: .15em; font-size: 8px; }
.us-client-room-boundary p { margin: 10px 0 0; color: #c3cec7; font-size: 10px; line-height: 1.7; }
.us-client-room-piece { background: #fffdfa; box-shadow: 0 24px 70px rgba(29, 42, 35, .11); }
.us-client-room-image { aspect-ratio: 1.4; overflow: hidden; background: #e9e5de; }
.us-client-room-image img { width: 100%; height: 100%; object-fit: cover; transition: opacity .2s ease; }
.us-client-room-piece-copy { padding: clamp(28px, 4vw, 52px); }
.us-client-room-piece-copy > p:first-child { margin: 0 0 11px; color: #84725a; text-transform: uppercase; letter-spacing: .13em; font-size: 8px; }
.us-client-room-piece-copy > div:nth-of-type(1) { display: flex; justify-content: space-between; gap: 25px; align-items: baseline; }
.us-client-room-piece-copy h3 { margin: 0; font-family: var(--serif); font-size: clamp(36px, 4vw, 56px); font-weight: 400; }
.us-client-room-piece-copy > div:nth-of-type(1) > strong { white-space: nowrap; font-family: var(--serif); font-size: 20px; font-weight: 400; }
.us-client-room-piece-copy > div:nth-of-type(1) small { font-family: var(--sans); font-size: 8px; letter-spacing: .12em; }
.us-client-room-piece-copy > span { display: block; margin-top: 9px; color: #66736c; }
.us-client-room-piece-copy dl { margin: 28px 0; border-top: 1px solid var(--line); }
.us-client-room-piece-copy dl > div { padding: 13px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 155px 1fr; gap: 20px; }
.us-client-room-piece-copy dt { color: #7d786f; text-transform: uppercase; letter-spacing: .1em; font-size: 7px; }
.us-client-room-piece-copy dd { margin: 0; color: #25382f; font-size: 11px; line-height: 1.6; }
.us-client-room-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; }
.us-client-room-actions .button { min-width: 210px; justify-content: center; }
.us-client-room-consult { border: 1px solid #25382f; background: transparent; color: #25382f; }
.us-client-room-privacy { margin: 24px 0 0 !important; color: #788179 !important; font-size: 9px !important; line-height: 1.65; }

@media (max-width: 920px) {
  .us-positioning > div:first-child, .us-client-room-heading, .us-client-room-grid { grid-template-columns: 1fr; }
  .us-positioning-grid { grid-template-columns: 1fr 1fr; }
  .us-positioning-grid article:nth-child(2) { border-right: 0; }
  .us-positioning-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 620px) {
  .us-positioning, .us-client-room { padding: 75px 24px; }
  .us-positioning-grid { grid-template-columns: 1fr; }
  .us-positioning-grid article, .us-positioning-grid article:nth-child(2) { min-height: 175px; border-right: 0; border-bottom: 1px solid var(--line); }
  .us-positioning-grid article:last-child { border-bottom: 0; }
  .us-client-room-grid { margin-top: 45px; }
  .us-client-room-image { aspect-ratio: 1; }
  .us-client-room-piece-copy > div:nth-of-type(1), .us-client-room-piece-copy dl > div { display: grid; grid-template-columns: 1fr; gap: 5px; }
  .us-client-room-actions, .us-client-room-actions .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .us-client-room-image img { transition: none; }
}
