/* EL-08 approved type sizes. Load after page styles. */
body {
  --el08-support: 16px;
  --el08-body: 18px;
  --el08-accent: 26px;
  --el08-card: 36px;
  --el08-mobile-hero: 50px;
  --el08-section: 46px;
  --el08-hero: 60px;
  font-size: var(--el08-support);
  font-variant-numeric: lining-nums;
}

/* Supporting copy and controls. Keep the original font families and weights. */
body.el-08-home .eyebrow,
body.el-08-home .section-label .eyebrow,
body.el-08-home .six-edition,
body.el-08-home .menu-toggle,
body.el-08-home .skip-link,
body.el-08-home .text-link,
body.el-08-home .collection-heading .collection-browse,
body.el-08-home .collection-end .collection-browse,
body.el-08-home .image-caption,
body.el-08-home .journey-six .gallery-panel .image-caption,
body.el-08-home .journey-six .gallery-panel .panel-copy .eyebrow,
body.el-08-home .journey-six .gallery-panel .panel-copy .text-link,
body.el-08-home .quiet-copy .eyebrow,
body.el-08-home .residence-tag,
body.el-08-home .residence-meta,
body.el-08-home .collection-note,
body.el-08-home .estate-footer-body > p,
body.el-08-home .estate-footer-publisher p,
body.el-08-home .estate-footer-note,
body.el-08-home .journey-six .chapter-nav .scroll-note {
  font-size: var(--el08-support);
}

/* Reading copy, navigation, prices, and residence details share one size. */
body.el-08-home .six-masthead nav,
body.el-08-home .journey-six .chapter-buttons button,
body.el-08-home .journey-six .gallery-panel .panel-copy > p:not(.eyebrow),
body.el-08-home .considered-section .slow-intro p,
body.el-08-home .considered-section .residence-grid .desc,
body.el-08-home .residence-meta .listing-price,
body.el-08-home .residence-bottom,
body.el-08-home .quiet-copy > p:not(.eyebrow),
body.el-08-home .estate-footer-body nav {
  font-size: var(--el08-body);
}

/* All four hero stories use the same fixed size at each screen breakpoint.
   These selectors also replace EL-07's viewport-height font overrides. */
body.el-08-home .journey-six .gallery-panel .panel-copy h1,
body.el-08-home .journey-six .gallery-panel .panel-copy h2 {
  font-size: var(--el08-hero);
}

body.el-08-home .considered-section .slow-intro h2,
body.el-08-home .collection-heading h2,
body.el-08-home .quiet-copy h2,
body.el-08-home .closing-card .closing-note h2 {
  font-size: var(--el08-section);
}

body.el-08-home .considered-section .residence-grid h3 {
  font-size: var(--el08-card);
}

body.el-08-home .residence-listing h3,
body.el-08-home .estate-footer-heading p,
body.el-08-home .slow-intro .intro-index,
body.el-08-home .journey-six .panel-number,
body.el-08-home .journey-six .chapter-buttons button span,
body.el-08-home .journey-six .chapter-nav .scroll-note span:last-child,
body.el-08-home .text-link span:last-child,
body.el-08-home .arrow-circle {
  font-size: var(--el08-accent);
}

/* The contents menu and story readers are part of the homepage type review. */
body:is(.el-08-home, .magazine-site) .o8-contents,
body:is(.el-08-home, .magazine-site) .o8-reader,
body:is(.el-08-home, .magazine-site) .o8-contents button,
body:is(.el-08-home, .magazine-site) .o8-reader button,
body:is(.el-08-home, .magazine-site) .o8-contents .eyebrow,
body:is(.el-08-home, .magazine-site) .o8-reader .eyebrow,
body:is(.el-08-home, .magazine-site) .o8-contents .dialog-close,
body:is(.el-08-home, .magazine-site) .o8-reader .dialog-close,
body:is(.el-08-home, .magazine-site) .o8-contents .contents-inner .contents-page-link,
body:is(.el-08-home, .magazine-site) .o8-contents .contents-inner .contents-bottom,
body:is(.el-08-home, .magazine-site) .o8-reader .reader-caption,
body:is(.el-08-home, .magazine-site) .o8-reader .reader-note,
body:is(.el-08-home, .magazine-site) .o8-reader .reader-sources {
  font-size: var(--el08-support);
}

body:is(.el-08-home, .magazine-site) .o8-contents .contents-feature h2,
body:is(.el-08-home, .magazine-site) .o8-reader h2,
body:is(.el-08-home, .magazine-site) .o8-reader .reader-copy p:first-child:first-letter {
  font-size: var(--el08-section);
}

body:is(.el-08-home, .magazine-site) .o8-contents .contents-inner .contents-page-title {
  font-size: var(--el08-card);
}

body:is(.el-08-home, .magazine-site) .o8-contents .contents-destinations,
body:is(.el-08-home, .magazine-site) .o8-reader .reader-copy p {
  font-size: var(--el08-body);
}

body:is(.el-08-home, .magazine-site) .o8-contents .contents-inner .contents-page-number,
body:is(.el-08-home, .magazine-site) .o8-contents .contents-destinations span,
body:is(.el-08-home, .magazine-site) .o8-contents .dialog-close span,
body:is(.el-08-home, .magazine-site) .o8-reader .dialog-close span {
  font-size: var(--el08-accent);
}

/* The original gallery still uses columns through tablet widths. The 46px
   step gives every hero equal treatment without introducing fluid sizes. */
@media (max-width: 1100px) {
  body.el-08-home .journey-six .gallery-panel .panel-copy h1,
  body.el-08-home .journey-six .gallery-panel .panel-copy h2 {
    font-size: var(--el08-section);
  }
}

@media (max-width: 900px) {
  body:is(.el-08-home, .magazine-site) .o8-contents .contents-feature h2 {
    font-size: var(--el08-card);
  }

  /* Reuse the original mobile composition so the editorial headline
     has a full text column on tablet screens. */
  body.el-08-home .quiet-feature {
    height: auto;
    min-height: 0;
    grid-template-columns: 1fr;
  }

  body.el-08-home .quiet-feature > img {
    height: 380px;
  }

  body.el-08-home .quiet-copy {
    padding: 42px 7vw 60px;
  }
}

@media (max-width: 650px) {
  body:is(.el-08-home, .magazine-site) .o8-contents .contents-inner .contents-page-title {
    font-size: var(--el08-accent);
  }
}

@media (max-width: 600px) {
  body.el-08-home .journey-six .gallery-panel .panel-copy h1,
  body.el-08-home .journey-six .gallery-panel .panel-copy h2 {
    font-size: var(--el08-mobile-hero);
  }

  body.el-08-home .considered-section .slow-intro h2,
  body.el-08-home .collection-heading h2,
  body.el-08-home .quiet-copy h2,
  body.el-08-home .closing-card .closing-note h2,
  body:is(.el-08-home, .magazine-site) .o8-reader h2,
  body:is(.el-08-home, .magazine-site) .o8-reader .reader-copy p:first-child:first-letter {
    font-size: var(--el08-card);
  }

  /* The fixed-size chapter labels fit the existing compact navigation bar. */
  body.el-08-home .journey-six .chapter-buttons button span {
    display: none;
  }
}

/* Residence cards use the page paper and compact, consistent listing facts. */
body.el-08-home .residence-collection,
body.el-08-home .residence-listing {
  background: var(--paper);
}

body.el-08-home .residence-listing .image-wrap img {
  object-fit: cover;
}

body.el-08-home .residence-bottom {
  font-size: var(--el08-support);
}

body.el-08-home .residence-bottom .card-view {
  white-space: nowrap;
}

body.el-08-home .residence-bottom a.card-view:hover {
  text-decoration: underline;
  text-underline-offset: 5px;
}

body.el-08-home .collection-end .collection-browse {
  margin-left: auto;
}

/* Only the View residence control is linked on representative cards. */
body.el-08-home article.residence-listing:hover h3 {
  text-decoration: none;
}

/* Both labels have the same baseline, size, and space above the rule. */
body.el-08-home .considered-section .section-label {
  align-items: baseline;
}
body.el-08-home .considered-section .section-label .eyebrow {
  margin: 0;
  font-size: var(--el08-support);
  line-height: 1.4;
  font-weight: 500;
}

/* The two home articles share equal columns, image frames, and text alignment. */
body.el-08-home .considered-section .residence-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}
body.el-08-home .considered-section .residence-grid .story-button {
  padding: 0;
  margin: 0;
  text-align: left;
}
body.el-08-home .considered-section .residence-grid .image-wrap {
  height: auto;
  aspect-ratio: 3 / 2;
}
body.el-08-home .considered-section .residence-grid .image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 600px) {
  body.el-08-home .considered-section .residence-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Lining figures keep every digit on the same baseline in price displays. */
.listing-price, .card-price, .property-price p:not(.eyebrow),
.residence-price, .fixed-price, #price-filter {
  font-family: var(--sans) !important;
  text-transform: uppercase;
  font-variant-numeric: lining-nums tabular-nums !important;
  font-feature-settings: "lnum" 1, "tnum" 1 !important;
}

/* The printed magazine keeps its page-relative type scale. */
.magazine-site .page-header nav {
  font-size: var(--el08-body);
}

/* Subpage type roles share the homepage baseline and explorer variables. */
body.el-08-property-details .detail-feature-sections,
body.el-08-property-details .detail-main > .property-disclosure {
  border-top: 0;
}

body:not(.el-08-home):not(.magazine-site) .eyebrow,
body:not(.el-08-home):not(.magazine-site) .text-link,
body:not(.el-08-home):not(.magazine-site) .solid-link,
body:not(.el-08-home):not(.magazine-site) .skip,
body:not(.el-08-home):not(.magazine-site) .breadcrumb,
body:not(.el-08-home):not(.magazine-site) .article-topline,
body:not(.el-08-home):not(.magazine-site) .author-block strong,
body:not(.el-08-home):not(.magazine-site) .author-block p,
body:not(.el-08-home):not(.magazine-site) .article-rail-note,
body:not(.el-08-home):not(.magazine-site) .article-photo figcaption,
body:not(.el-08-home):not(.magazine-site) .article-end,
body:not(.el-08-home):not(.magazine-site) .rail-facts dt,
body:not(.el-08-home):not(.magazine-site) .filter-control label,
body:not(.el-08-home):not(.magazine-site) .filter-control input,
body:not(.el-08-home):not(.magazine-site) .filter-control select,
body:not(.el-08-home):not(.magazine-site) .fixed-price,
body:not(.el-08-home):not(.magazine-site) .filter-button,
body:not(.el-08-home):not(.magazine-site) .results-toolbar,
body:not(.el-08-home):not(.magazine-site) .results-toolbar .count,
body:not(.el-08-home):not(.magazine-site) .results-toolbar select,
body:not(.el-08-home):not(.magazine-site) .photo-label,
body:not(.el-08-home):not(.magazine-site) .card-location,
body:not(.el-08-home):not(.magazine-site) .card-attribution,
body:not(.el-08-home):not(.magazine-site) .card-bottom,
body:not(.el-08-home):not(.magazine-site) .card-view,
body:not(.el-08-home):not(.magazine-site) .results-end,
body:not(.el-08-home):not(.magazine-site) .source-fine,
body:not(.el-08-home):not(.magazine-site) .gallery-caption,
body:not(.el-08-home):not(.magazine-site) .gallery-label,
body:not(.el-08-home):not(.magazine-site) .property-stats dt,
body:not(.el-08-home):not(.magazine-site) .property-tabs,
body:not(.el-08-home):not(.magazine-site) .detail-highlights p,
body:not(.el-08-home):not(.magazine-site) .detail-feature-list li,
body:not(.el-08-home):not(.magazine-site) .facts-table div,
body:not(.el-08-home):not(.magazine-site) .property-disclosure,
body:not(.el-08-home):not(.magazine-site) .detail-interior-photo figcaption,
body:not(.el-08-home):not(.magazine-site) .feature-pills li,
body:not(.el-08-home):not(.magazine-site) .agent-info p,
body:not(.el-08-home):not(.magazine-site) .agent-info > a,
body:not(.el-08-home):not(.magazine-site) .show-phone,
body:not(.el-08-home):not(.magazine-site) .form-field label,
body:not(.el-08-home):not(.magazine-site) .form-field input,
body:not(.el-08-home):not(.magazine-site) .form-field textarea,
body:not(.el-08-home):not(.magazine-site) .form-status,
body:not(.el-08-home):not(.magazine-site) .offered-by-strip,
body:not(.el-08-home):not(.magazine-site) .offered-by-strip p,
body:not(.el-08-home):not(.magazine-site) .offered-by-strip a,
body:not(.el-08-home):not(.magazine-site) .offered-by-strip span,
body:not(.el-08-home):not(.magazine-site) .estate-footer-body > p,
body:not(.el-08-home):not(.magazine-site) .estate-footer-publisher p,
body:not(.el-08-home):not(.magazine-site) .magazine-status,
body:not(.el-08-home):not(.magazine-site) .o8-contents,
body:not(.el-08-home):not(.magazine-site) .o8-reader,
body:not(.el-08-home):not(.magazine-site) .o8-contents button,
body:not(.el-08-home):not(.magazine-site) .o8-reader button,
body:not(.el-08-home):not(.magazine-site) .dialog-close,
body:not(.el-08-home):not(.magazine-site) .contents-bottom,
body:not(.el-08-home):not(.magazine-site) .reader-caption,
body:not(.el-08-home):not(.magazine-site) .reader-note,
body:not(.el-08-home):not(.magazine-site) .reader-sources,
body:not(.el-08-home):not(.magazine-site) .amenities-filter legend,
body:not(.el-08-home):not(.magazine-site) .amenities-filter label {
  font-size: var(--el08-support) !important;
}
body:not(.el-08-home):not(.magazine-site) .page-header nav,
body:not(.el-08-home):not(.magazine-site) .article-sidebar .dek,
body:not(.el-08-home):not(.magazine-site) .article-prose p:not(.eyebrow),
body:not(.el-08-home):not(.magazine-site) .collection-intro p:not(.eyebrow),
body:not(.el-08-home):not(.magazine-site) .collection-editorial p:not(.eyebrow),
body:not(.el-08-home):not(.magazine-site) .property-title .location,
body:not(.el-08-home):not(.magazine-site) .detail-copy > p:not(.eyebrow),
body:not(.el-08-home):not(.magazine-site) .detail-photo-spread p:not(.eyebrow),
body:not(.el-08-home):not(.magazine-site) .inquiry-card p:not(.eyebrow),
body:not(.el-08-home):not(.magazine-site) .location-section p:not(.eyebrow),
body:not(.el-08-home):not(.magazine-site) .event-note p:not(.eyebrow),
body:not(.el-08-home):not(.magazine-site) .presentation-main > p:not(.eyebrow),
body:not(.el-08-home):not(.magazine-site) .presentation-card p:not(.eyebrow),
body:not(.el-08-home):not(.magazine-site) .journal-intro > p:not(.eyebrow),
body:not(.el-08-home):not(.magazine-site) .journal-card > p:not(.eyebrow),
body:not(.el-08-home):not(.magazine-site) .magazine-copy,
body:not(.el-08-home):not(.magazine-site) .card-price,
body:not(.el-08-home):not(.magazine-site) .result-card .city,
body:not(.el-08-home):not(.magazine-site) .estate-footer-body nav,
body:not(.el-08-home):not(.magazine-site) .contents-destinations,
body:not(.el-08-home):not(.magazine-site) .reader-copy p {
  font-size: var(--el08-body) !important;
}
body:not(.el-08-home):not(.magazine-site) .result-card h2,
body:not(.el-08-home):not(.magazine-site) .detail-feature-group h3,
body:not(.el-08-home):not(.magazine-site) .agent-info h3,
body:not(.el-08-home):not(.magazine-site) .estate-footer-heading p,
body:not(.el-08-home):not(.magazine-site) .arrow,
body:not(.el-08-home):not(.magazine-site) .circle-arrow,
body:not(.el-08-home):not(.magazine-site) .collection-seal,
body:not(.el-08-home):not(.magazine-site) .author-monogram,
body:not(.el-08-home):not(.magazine-site) .rail-facts dd,
body:not(.el-08-home):not(.magazine-site) .contents-page-number,
body:not(.el-08-home):not(.magazine-site) .contents-destinations span,
body:not(.el-08-home):not(.magazine-site) .dialog-close span {
  font-size: var(--el08-accent) !important;
}
@media (max-width: 650px) {
body:not(.el-08-home):not(.magazine-site) .contents-page-title {
  font-size: var(--el08-accent) !important;
}
}
body:not(.el-08-home):not(.magazine-site) .journal-card h2,
body:not(.el-08-home):not(.magazine-site) .presentation-card h2,
body:not(.el-08-home):not(.magazine-site) .related-card h3,
body:not(.el-08-home):not(.magazine-site) .event-note h3,
body:not(.el-08-home):not(.magazine-site) .article-lede,
body:not(.el-08-home):not(.magazine-site) .editorial-quote,
body:not(.el-08-home):not(.magazine-site) .property-price p:not(.eyebrow),
body:not(.el-08-home):not(.magazine-site) .property-stats dd,
body:not(.el-08-home):not(.magazine-site) .inquiry-card h3,
body:not(.el-08-home):not(.magazine-site) .property-inquiry h2,
body:not(.el-08-home):not(.magazine-site) .listing-agent-panel h2,
body:not(.el-08-home):not(.magazine-site) .article-prose h2,
body:not(.el-08-home):not(.magazine-site) .detail-section-heading h2,
body:not(.el-08-home):not(.magazine-site) .results-empty {
  font-size: var(--el08-card) !important;
}
@media (min-width: 651px) {
body:not(.el-08-home):not(.magazine-site) .contents-page-title {
  font-size: var(--el08-card) !important;
}
}
@media (max-width: 900px) {
body:not(.el-08-home):not(.magazine-site) .contents-feature h2 {
  font-size: var(--el08-card) !important;
}
}
@media (max-width: 600px) {
body:not(.el-08-home):not(.magazine-site) .collection-editorial h2,
body:not(.el-08-home):not(.magazine-site) .detail-copy h2,
body:not(.el-08-home):not(.magazine-site) .detail-photo-spread h2,
body:not(.el-08-home):not(.magazine-site) .property-facts h2,
body:not(.el-08-home):not(.magazine-site) .location-section h2,
body:not(.el-08-home):not(.magazine-site) .related-title h2,
body:not(.el-08-home):not(.magazine-site) .o8-reader h2,
body:not(.el-08-home):not(.magazine-site) .article-prose .dropcap:first-letter,
body:not(.el-08-home):not(.magazine-site) .reader-copy p:first-child:first-letter {
  font-size: var(--el08-card) !important;
}
}
@media (min-width: 601px) {
body:not(.el-08-home):not(.magazine-site) .collection-editorial h2,
body:not(.el-08-home):not(.magazine-site) .detail-copy h2,
body:not(.el-08-home):not(.magazine-site) .detail-photo-spread h2,
body:not(.el-08-home):not(.magazine-site) .property-facts h2,
body:not(.el-08-home):not(.magazine-site) .location-section h2,
body:not(.el-08-home):not(.magazine-site) .related-title h2,
body:not(.el-08-home):not(.magazine-site) .o8-reader h2,
body:not(.el-08-home):not(.magazine-site) .article-prose .dropcap:first-letter,
body:not(.el-08-home):not(.magazine-site) .reader-copy p:first-child:first-letter {
  font-size: var(--el08-section) !important;
}
}
@media (min-width: 601px) and (max-width: 1100px) {
body:not(.el-08-home):not(.magazine-site) .article-sidebar h1,
body:not(.el-08-home):not(.magazine-site) .collection-intro h1,
body:not(.el-08-home):not(.magazine-site) .property-title h1,
body:not(.el-08-home):not(.magazine-site) .presentation-main h1,
body:not(.el-08-home):not(.magazine-site) .journal-intro h1,
body:not(.el-08-home):not(.magazine-site) .magazine-main h1 {
  font-size: var(--el08-section) !important;
}
}
@media (min-width: 901px) {
body:not(.el-08-home):not(.magazine-site) .contents-feature h2 {
  font-size: var(--el08-section) !important;
}
}
@media (max-width: 600px) {
body:not(.el-08-home):not(.magazine-site) .article-sidebar h1,
body:not(.el-08-home):not(.magazine-site) .collection-intro h1,
body:not(.el-08-home):not(.magazine-site) .property-title h1,
body:not(.el-08-home):not(.magazine-site) .presentation-main h1,
body:not(.el-08-home):not(.magazine-site) .journal-intro h1,
body:not(.el-08-home):not(.magazine-site) .magazine-main h1 {
  font-size: var(--el08-mobile-hero) !important;
}
}
@media (min-width: 1101px) {
body:not(.el-08-home):not(.magazine-site) .article-sidebar h1,
body:not(.el-08-home):not(.magazine-site) .collection-intro h1,
body:not(.el-08-home):not(.magazine-site) .property-title h1,
body:not(.el-08-home):not(.magazine-site) .presentation-main h1,
body:not(.el-08-home):not(.magazine-site) .journal-intro h1,
body:not(.el-08-home):not(.magazine-site) .magazine-main h1 {
  font-size: var(--el08-hero) !important;
}
}
