.concierge-detail__inner { width: calc(100% - 2 * var(--edge)); max-width: 1560px; margin-inline: auto; }
.concierge-detail__intro { padding-block: clamp(22px, 3.1vw, 48px) clamp(26px, 3.5vw, 52px); }
.concierge-detail__title { font-size: clamp(43px, 7.8vw, 116px); line-height: 1.02; }
.concierge-detail__hero { aspect-ratio: 2.08 / 1; }
.concierge-detail__hero img { object-position: center 54%; }
.concierge-detail__services { margin-block-start: clamp(48px, 6.2vw, 92px); }
.concierge-detail__label {
  margin: 0 0 clamp(18px, 2.2vw, 32px);
  font: 400 clamp(12px, 1.3vw, 16px)/1.4 "Neue Montreal", sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.concierge-detail__grid {
  --photo-height: clamp(258px, 34.8vw, 525px);
  --first-extra: clamp(16px, 2.35vw, 34px);
  display: grid;
  grid-template-columns: minmax(0, 1.38fr) repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: clamp(18px, 2.15vw, 32px);
}
.concierge-detail__service { display: grid; grid-template-rows: subgrid; grid-row: span 3; row-gap: 0; }
.concierge-detail__service .concierge__media { align-self: end; aspect-ratio: auto; height: var(--photo-height); }
.concierge-detail__service:first-child .concierge__media { height: calc(var(--photo-height) + var(--first-extra)); }
.concierge-detail__service:first-child img { object-position: center 56%; }
.concierge-detail__service:nth-child(2) img { object-position: center 60%; }
.concierge-detail__service h3 {
  margin: clamp(13px, 1.35vw, 22px) 0 0;
  font: 400 clamp(25px, 3.12vw, 46px)/1.12 Saonara, serif;
}
.concierge-detail__service h3::after {
  content: "";
  display: block;
  width: clamp(30px, 4.4vw, 56px);
  height: 2px;
  margin-block-start: 12px;
  background: var(--sky);
}
.concierge-detail__service p {
  margin: 13px 0 0;
  font: 350 clamp(15px, 1.15vw, 18px)/1.5 "Neue Montreal Text", sans-serif;
}
.concierge-detail .concierge__copy { padding-top: 0; }
.concierge-page .contact { padding-block: clamp(42px, 5.4vw, 84px) clamp(34px, 4.1vw, 64px); }
.concierge-page .contact__inner { max-width: 1560px; }
.concierge-page .contact__toggle { font-family: Saonara, serif; font-size: clamp(25px, 3vw, 42px); }
.concierge-page .contact__panel { max-width: 760px; }
.concierge-page .contact__form { padding-block-start: 28px; row-gap: 28px; }
.concierge-page .contact__context {
  margin: 0;
  color: var(--clay);
  font: 400 14px/1.45 "Neue Montreal", sans-serif;
}
.concierge-page .contact__field label { margin-block-end: 3px; }
/* Same optical reinforcement as the property figures, confined to the five titles. */
.concierge-detail .concierge-detail__title,
.concierge-detail__service h3,
.concierge-page .contact__toggle .contact__cta-text { -webkit-text-stroke: .2px currentColor; }
@media (max-width: 767px) {
  .concierge-detail__title { font-size: clamp(43px, 11.9vw, 72px); }
  .concierge-detail__hero { aspect-ratio: 8 / 5; }
  .concierge-detail__hero img { object-position: 48% center; }
  .concierge-detail__grid { grid-template-columns: minmax(0, 1fr); gap: clamp(32px, 8vw, 54px); }
  .concierge-detail__service { display: block; grid-row: auto; }
  .concierge-detail__service .concierge__media { height: auto; aspect-ratio: 4 / 5; }
  .concierge-detail__service:first-child .concierge__media { height: auto; aspect-ratio: 1 / 1; }
  .concierge-detail__service h3 { font-size: clamp(30px, 7.6vw, 44px); }
}

@media (max-width: 767px) {
  .concierge-page .contact__form { padding-block-start: 20px; row-gap: 24px; }
  .concierge-page .contact__fields { row-gap: 18px; }
}
@media (max-height: 660px), (max-width: 1279px) and (max-height: 740px) {
  .concierge-page .contact__form { padding-block-start: 32px; row-gap: 12px; }
  .concierge-page .contact__context { margin-block-end: 12px; }
}
@media (max-width: 767px) and (max-height: 740px) {
  .concierge-page .contact__form { padding-block-start: 24px; row-gap: 10px; }
  .concierge-page .contact__context { margin-block-end: 14px; }
  .concierge-page .contact__field label { margin-block-end: 1px; }
  .concierge-page .contact__fields { row-gap: 8px; }
}

@media (max-width: 1279px) and (max-height: 540px) and (orientation: landscape) {
 .concierge-detail__intro { padding-block: 16px 19px; width: min(calc(100% - 2 * var(--edge)), calc(var(--landscape-frame-height) * 2.08)); }
 .concierge-detail__title { font-size: clamp(38px, 7vw, 55px); }
 .concierge-detail__hero { aspect-ratio: 2.08; width: min(100%, calc(var(--landscape-frame-height) * 2.08)); margin-inline: auto; }
 .concierge-detail__services { margin-block-start: 28px; }
 .concierge-detail__label { margin-block-end: 13px; }
 .concierge-detail__grid { grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 1fr)); gap: 14px; }
 .concierge-detail__service { display: grid; grid-template-rows: subgrid; grid-row: span 3; }
 .concierge-detail__service .concierge__media, .concierge-detail__service:first-child .concierge__media { width: 100%; height: auto; aspect-ratio: .9; }
 .concierge-detail__service:first-child .concierge__media { aspect-ratio: 1; }
 .concierge-detail__service h3 { font-size: clamp(21px, 4vw, 31px); margin-top: 8px; }
 .concierge-detail__service h3::after { margin-top: 6px; }
 .concierge-detail__service p { font-size: 15px; margin-top: 8px; }
}
