/* Keep the established service layouts legible on true ultrawide/4K viewports.
   These rules only apply to the photography, video, and Matterport landings. */
@media (min-width: 2200px) {
  .a360-landing:is(.a360-photography-landing, .a360-video-landing, .a360-tours-landing) .a360-shell {
    max-width: min(80vw, 2440px);
    padding-inline: clamp(72px, 3.4vw, 112px);
  }

  .a360-landing:is(.a360-photography-landing, .a360-video-landing, .a360-tours-landing) .a360-page-header .a360-logo { font-size: clamp(36px, 1.15vw, 44px); }
  .a360-landing:is(.a360-photography-landing, .a360-video-landing, .a360-tours-landing) .a360-page-header .a360-logo span { font-size: 11px; }
  .a360-landing:is(.a360-photography-landing, .a360-video-landing, .a360-tours-landing) .a360-page-header .a360-nav a:not(.a360-btn),
  .a360-landing:is(.a360-photography-landing, .a360-video-landing, .a360-tours-landing) .a360-page-header details.a360-header-services > summary { font-size: clamp(12px, .4vw, 15px); }
  .a360-landing:is(.a360-photography-landing, .a360-video-landing, .a360-tours-landing) .a360-page-header .a360-realtor-portal { font-size: clamp(11px, .37vw, 14px); }
  .a360-landing:is(.a360-photography-landing, .a360-video-landing, .a360-tours-landing) .a360-page-header { padding-top: 40px; }

  .a360-landing:is(.a360-photography-landing, .a360-video-landing, .a360-tours-landing) .a360-landing-kicker { font-size: clamp(11px, .36vw, 14px); }
  .a360-landing:is(.a360-photography-landing, .a360-video-landing, .a360-tours-landing) .a360-landing-heading { font-size: clamp(96px, 3.35vw, 132px); }
  .a360-landing:is(.a360-photography-landing, .a360-video-landing, .a360-tours-landing) .a360-landing-lede { max-width: 760px; font-size: clamp(18px, .55vw, 21px); }
  .a360-landing:is(.a360-photography-landing, .a360-video-landing, .a360-tours-landing) .a360-landing-section { padding-block: clamp(150px, 5vw, 195px); }
  .a360-landing:is(.a360-photography-landing, .a360-video-landing, .a360-tours-landing) .a360-btn { min-height: 58px !important; padding: 16px 30px !important; font-size: 13px !important; }
  .a360-landing:is(.a360-photography-landing, .a360-video-landing, .a360-tours-landing) .a360-landing-faq summary { min-height: 92px; font-size: 19px; }
  .a360-landing:is(.a360-photography-landing, .a360-video-landing, .a360-tours-landing) .a360-landing-faq details > :not(summary) { max-width: 1000px; font-size: 18px; }
  .a360-landing:is(.a360-photography-landing, .a360-video-landing, .a360-tours-landing) .a360-footer { padding-block: 74px 44px; }
  .a360-landing:is(.a360-photography-landing, .a360-video-landing, .a360-tours-landing) .a360-footer :is(p, li, a) { font-size: 16px; }
  .a360-landing:is(.a360-photography-landing, .a360-video-landing, .a360-tours-landing) .a360-footer h3 { font-size: 14px; }
  .a360-landing:is(.a360-photography-landing, .a360-video-landing, .a360-tours-landing) .a360-footer-bottom :is(p, a) { font-size: 13px; }

  /* The photography hub keeps its editorial grid, with readable card copy. */
  .a360-photography-landing .a360-photo-hero-copy { max-width: 1500px; }
  .a360-photography-landing .a360-photo-hero h1 { font-size: clamp(138px, 4.7vw, 180px); }
  .a360-photography-landing .a360-photo-hero-lede { max-width: 730px; font-size: clamp(20px, .62vw, 24px); }
  .a360-photography-landing .a360-photo-section-head .a360-landing-heading { max-width: 1500px; }
  .a360-photography-landing .a360-photo-service-grid { gap: 52px 40px; }
  .a360-photography-landing .a360-photo-service-card .a360-landing-card-copy { padding: 31px 21px 29px; }
  .a360-photography-landing .a360-photo-service-card h3 { font-size: clamp(40px, 1.4vw, 54px); }
  .a360-photography-landing .a360-photo-service-card p { font-size: clamp(16px, .5vw, 19px); }
  .a360-photography-landing .a360-photo-card-ranch h3 { max-width: 560px; font-size: clamp(56px, 2vw, 76px); }
  .a360-photography-landing .a360-photo-card-ranch p { max-width: 600px; font-size: 20px; }
  .a360-photography-landing .a360-photo-twilight-copy { max-width: 1040px; }
  .a360-photography-landing .a360-photo-twilight-copy h2 { font-size: clamp(105px, 3.8vw, 146px); }
  .a360-photography-landing .a360-photo-prep-image { min-height: 880px; }
  .a360-photography-landing .a360-photo-prep-copy .a360-landing-heading { font-size: clamp(83px, 3vw, 116px); }
  .a360-photography-landing .a360-photo-prep-list h3 { font-size: clamp(38px, 1.25vw, 48px); }
  .a360-photography-landing .a360-photo-prep-list p { font-size: 18px; }
  .a360-photography-landing .a360-photo-booking-copy { max-width: 1120px; }
  .a360-photography-landing .a360-photo-booking h2 { font-size: clamp(115px, 4.25vw, 162px); }
  .a360-photography-landing .a360-photo-booking p:not(.a360-landing-kicker) { font-size: 20px; }
  .a360-photography-landing .a360-photo-faq .a360-landing-heading { max-width: 780px; }
  .a360-photography-landing .a360-photo-property-panels.is-ready { height: clamp(820px, 40svh, 920px); }
  .a360-photography-landing .a360-photo-property-panels.is-ready h3 { font-size: clamp(42px, 1.25vw, 48px); }
  .a360-photography-landing .a360-photo-property-panels.is-ready .is-active h3 { font-size: clamp(64px, 2vw, 77px); }
  .a360-photography-landing .a360-photo-markets-stage { max-width: min(80vw, 2440px); padding-inline: clamp(72px, 3.4vw, 112px); }
  .a360-photography-landing .a360-photo-markets-header h2 { font-size: 13px; }
  .a360-photography-landing .a360-photo-market-title h3 { font-size: clamp(130px, 4.25vw, 164px); }
  .a360-photography-landing .a360-photo-market-copy { max-width: 660px; }
  .a360-photography-landing .a360-photo-market-copy p { font-size: 20px; }
  .a360-photography-landing .a360-photo-market-copy a { font-size: 15px; }
  .a360-photography-landing .a360-photo-markets:not(.is-scroll-ready) .a360-photo-market-images { height: clamp(700px, 42svh, 950px); }
  .a360-photography-landing .a360-photo-lightbox { width: min(2440px, calc(100vw - 96px)); height: min(1520px, calc(100dvh - 96px)); }

  /* The inline Matterport tour must retain a useful landscape shape. */
  .a360-tours-landing .a360-tours-hero-copy { max-width: 1160px; }
  .a360-tours-landing .a360-tours-hero h1 { font-size: clamp(145px, 4.55vw, 175px); }
  .a360-tours-landing .a360-tours-hero-lede { font-size: clamp(20px, .6vw, 23px); }
  .a360-tours-landing .a360-tours-hero-explore > span:last-child { font-size: 37px; }
  .a360-tours-landing .a360-tours-experience { padding-top: clamp(150px, 5vw, 195px); }
  .a360-tours-landing .a360-tours-experience-heading .a360-landing-heading { max-width: 1320px; }
  .a360-tours-landing .a360-tours-inline-window {
    width: calc(min(80vw, 2440px) - var(--tour-window-gutter) * 2 * (1 - var(--tour-window-open)));
    height: auto;
    aspect-ratio: 16 / 9;
  }
  .a360-tours-landing .a360-tours-inline-window.is-expanded-viewer { width: 100%; height: 100%; aspect-ratio: auto; }
  .a360-tours-landing .a360-tours-inline-window:fullscreen { width: 100vw; height: 100dvh; aspect-ratio: auto; }
  .a360-tours-landing .a360-tours-inline-caption strong { font-size: 48px; }
  .a360-tours-landing .a360-tours-inline-caption p { font-size: 17px; }
  .a360-tours-landing .a360-tours-service-grid { gap: 38px; }
  .a360-tours-landing .a360-tours-service-grid .a360-landing-card-copy h3 { font-size: clamp(42px, 1.42vw, 54px); }
  .a360-tours-landing .a360-tours-service-grid .a360-landing-card-copy p { font-size: 18px; }
  .a360-tours-landing .a360-tours-platform-gallery { height: clamp(790px, 39svh, 900px); }
  .a360-tours-landing .a360-tours-platform-card h3 { font-size: clamp(38px, 1.25vw, 48px); }
  .a360-tours-landing .a360-tours-floorplan-copy .a360-landing-lede { max-width: 740px; }
  .a360-tours-landing .a360-tours-final h2 { font-size: clamp(120px, 4.15vw, 160px); }
  .a360-tours-landing .a360-tours-final-content > p:not(.a360-landing-kicker) { font-size: 21px; }

  /* Video cards and film frames grow with the available viewing space. */
  .a360-video-landing .a360-video-hero h1 { max-width: 1500px; font-size: clamp(145px, 4.45vw, 171px); }
  .a360-video-landing.a360-real-estate-video .a360-video-hero h1 { max-width: 1600px; font-size: clamp(130px, 3.9vw, 150px); }
  .a360-video-landing .a360-video-hero-lede { max-width: 700px; font-size: 21px; }
  .a360-video-landing .a360-video-hero-film > span:last-child { font-size: 37px; }
  .a360-video-landing .a360-video-section-head .a360-landing-heading { max-width: 1500px; }
  .a360-video-landing .a360-video-services-grid { gap: 58px 40px; }
  .a360-video-landing .a360-video-card .a360-landing-card-copy { padding: 34px 24px 40px; }
  .a360-video-landing .a360-video-card h3 { font-size: clamp(42px, 1.35vw, 52px); }
  .a360-video-landing .a360-video-card-description { font-size: 18px; }
  .a360-video-landing .a360-video-feature-heading .a360-landing-heading { font-size: clamp(100px, 3.65vw, 140px); }
  .a360-video-landing .a360-video-feature-caption strong { font-size: 52px; }
  .a360-video-landing .a360-video-business-copy { max-width: 1160px; }
  .a360-video-landing .a360-video-business-copy .a360-landing-heading { font-size: clamp(100px, 3.55vw, 136px); }
  .a360-video-landing .a360-video-business-film,
  .a360-video-landing .a360-video-business-caption { max-width: 1800px; }
  .a360-video-landing .a360-video-booking h2 { max-width: 960px; font-size: clamp(73px, 2.55vw, 98px); }
  .a360-video-landing .a360-video-questions .a360-landing-heading { max-width: 800px; font-size: clamp(91px, 3.15vw, 120px); }
  .a360-video-landing .a360-video-cta h2 { max-width: 1300px; font-size: clamp(125px, 4.2vw, 160px); }
  .a360-video-landing.a360-real-estate-video .a360-rev-intro-grid h2 { max-width: 1000px; }
  .a360-video-landing.a360-real-estate-video .a360-rev-intro-copy p { font-size: 19px; }
  .a360-video-landing.a360-real-estate-video .a360-rev-intro-copy p:first-child { font-size: 24px; }
  .a360-video-landing.a360-real-estate-video .a360-rev-details h3,
  .a360-video-landing.a360-real-estate-video .a360-rev-steps h3 { font-size: 46px; }
  .a360-video-landing.a360-real-estate-video .a360-rev-details p:not(.a360-landing-kicker),
  .a360-video-landing.a360-real-estate-video .a360-rev-steps p { max-width: 520px; font-size: 17px; }
  .a360-video-landing.a360-real-estate-video .a360-rev-feature-head .a360-landing-heading { font-size: clamp(100px, 3.55vw, 136px); }
  .a360-video-landing.a360-real-estate-video .a360-rev-feature-head > p,
  .a360-video-landing.a360-real-estate-video .a360-rev-films-head > p { max-width: 430px; font-size: 18px; }
  .a360-video-landing.a360-real-estate-video .a360-rev-film-meta h3 { font-size: clamp(44px, 1.38vw, 53px); }
  .a360-video-landing.a360-real-estate-video .a360-rev-scroll-copy h2 { max-width: 1300px; font-size: clamp(125px, 4.2vw, 160px); }
  .a360-video-landing.a360-real-estate-video .a360-rev-scroll-copy p:not(.a360-landing-kicker) { max-width: 680px; font-size: 20px; }
}
