/* Desktop sections are bounded by the useful browser height. */
@media (min-width: 821px) and (orientation: landscape) {
  :root {
    --section: clamp(2.5rem, 5.2svh, 3.5rem);
  }

  h2 {
    font-size: clamp(3.25rem, min(6vw, 9.5svh), 5.6rem);
  }

  main > section[id] {
    scroll-margin-top: 82px;
  }

  main > .section-pad {
    display: grid;
    align-items: center;
    min-height: calc(100svh - 82px);
  }

  .hero__grid,
  .events-page-hero__grid {
    min-height: calc(100svh - 165px);
    padding-block: clamp(2rem, 4.5svh, 3rem);
  }

  .hero h1,
  .events-page-hero h1 {
    margin-bottom: clamp(1rem, 2.2svh, 1.5rem);
    font-size: clamp(4.7rem, min(7vw, 11.5svh), 7.2rem);
  }

  .hero .eyebrow,
  .events-page-hero .eyebrow {
    margin-bottom: clamp(1rem, 2svh, 1.5rem);
  }

  .hero__lead,
  .events-page-hero__lead {
    margin-bottom: clamp(1rem, 2svh, 1.5rem);
  }

  .hero__occasions {
    margin-bottom: clamp(1rem, 2svh, 1.4rem);
  }

  .hero__visual,
  .events-page-hero__visual {
    width: min(100%, 49svh);
  }

  .hero__frame img,
  .events-page-hero__visual > img {
    width: 100%;
    height: auto;
  }

  .hero__stamp {
    width: clamp(96px, 13svh, 120px);
    height: clamp(96px, 13svh, 120px);
  }

  .intro__body {
    padding-top: clamp(1rem, 3svh, 2rem);
  }

  .intro__body > p {
    margin-bottom: clamp(1.5rem, 3svh, 2.25rem);
  }

  .gallery__heading,
  .event-page-heading {
    margin-bottom: clamp(1.5rem, 3svh, 2.25rem);
  }

  .gallery__heading .section-index,
  .event-page-heading .section-index {
    margin-bottom: 0.8rem;
  }

  .events__hero {
    min-height: 0;
    height: clamp(350px, 43svh, 410px);
  }

  .events__overlay {
    padding: clamp(2rem, 4svh, 3rem);
  }

  .events__overlay .section-index {
    margin-bottom: 1rem;
  }

  .events__overlay h2 {
    margin-bottom: clamp(1.25rem, 2.5svh, 2rem);
    font-size: clamp(3.4rem, min(6vw, 9svh), 5.6rem);
  }

  .event-types {
    margin-top: clamp(0.75rem, 1.8svh, 1.2rem);
  }

  .event-types article {
    min-height: clamp(170px, 21svh, 195px);
    padding: clamp(1.1rem, 2.2svh, 1.5rem);
  }

  .event-types article > p {
    top: 1.35rem;
    right: 1.35rem;
  }

  .event-types__icon {
    width: 2.7rem;
    height: 2.7rem;
  }

  .event-types h3 {
    margin: clamp(1.2rem, 2.5svh, 1.8rem) 0 0.6rem;
    font-size: clamp(1.8rem, min(2.4vw, 4.4svh), 2.5rem);
  }

  .story__grid {
    gap: clamp(3rem, 6vw, 6rem);
  }

  .story__image {
    width: min(100%, 43svh);
    padding: 0 0 1.5rem 1.5rem;
  }

  .story__image img {
    width: 100%;
    height: auto;
  }

  .story__copy .section-index,
  .story__copy h2,
  .story__lead {
    margin-bottom: clamp(1rem, 2svh, 1.5rem);
  }

  .story__copy h2 {
    font-size: clamp(3rem, min(5vw, 8svh), 5rem);
  }

  .story__credentials {
    margin-top: clamp(1.25rem, 2.5svh, 2rem);
  }

  .gallery__grid figure {
    aspect-ratio: auto;
    height: clamp(300px, 46svh, 460px);
  }

  .event-format-card {
    min-height: clamp(350px, 48svh, 430px);
  }

  .event-format-card__body strong {
    font-size: clamp(2rem, min(2.6vw, 5svh), 3rem);
  }

  .calendar-panel,
  .request-panel {
    padding: clamp(1.25rem, 2.6svh, 1.8rem);
  }

  .calendar-panel__top {
    margin-bottom: clamp(0.8rem, 1.8svh, 1.2rem);
  }

  .calendar-panel h3,
  .request-panel h3 {
    font-size: clamp(2rem, min(3vw, 5.2svh), 2.8rem);
  }

  .availability .event-page-heading h2 {
    font-size: clamp(3rem, min(4.5vw, 7svh), 4.2rem);
  }

  .availability .event-page-heading {
    margin-bottom: 1rem;
  }

  .calendar-day {
    height: clamp(36px, 4.8svh, 44px);
    aspect-ratio: auto;
  }

  .calendar-legend,
  .selected-date {
    margin-block: clamp(0.8rem, 1.6svh, 1.1rem);
  }

  .request-panel .selected-date {
    margin-block: 0.6rem;
    padding: 0.65rem;
  }

  .request-panel .selected-date strong {
    font-size: 1.35rem;
  }

  .request-form {
    grid-template-columns: 1fr 1fr;
    gap: clamp(0.55rem, 1.2svh, 0.8rem);
  }

  .request-form__row,
  .request-form > label:last-of-type,
  .request-form .button,
  .request-form .form-feedback {
    grid-column: 1 / -1;
  }

  .request-form input,
  .request-form select,
  .request-form textarea {
    height: 34px;
    padding: 0.58rem 0.7rem;
  }

  .request-form textarea {
    height: 46px;
    resize: none;
  }

  .request-form .button {
    min-height: 46px;
  }

  .request-form .form-feedback {
    min-height: 1rem;
  }

  .commercial-callout__grid {
    gap: clamp(2rem, 4vw, 4rem);
  }

  .commercial-callout h2 {
    font-size: clamp(3.2rem, min(5vw, 8svh), 5rem);
  }

  .video-card,
  .brochure-card {
    padding: clamp(1.25rem, 2.6svh, 1.8rem);
  }

  .video-card h2,
  .brochure-card h2 {
    margin-bottom: clamp(1rem, 2svh, 1.5rem);
    font-size: clamp(2.8rem, min(4vw, 6.5svh), 4rem);
  }

  .brochure-card {
    grid-template-rows: minmax(230px, 1fr) auto;
    gap: clamp(1rem, 2svh, 1.5rem);
  }

  .brochure-preview {
    min-height: 230px;
    padding: 1.25rem;
  }

  .brochure-preview p {
    font-size: 2.7rem;
  }

  .contact__links {
    margin-top: clamp(1.5rem, 3svh, 2.25rem);
  }
}

@media (min-width: 821px) and (max-height: 820px) and (orientation: landscape) {
  :root {
    --section: 1.75rem;
  }

  .calendar-panel,
  .request-panel {
    padding: 1rem;
  }

  .request-panel .selected-date {
    margin-block: 0.35rem;
    padding: 0.45rem;
  }

  .request-panel .selected-date strong {
    font-size: 1.2rem;
  }

  .request-form {
    gap: 0.4rem;
  }

  .request-form input,
  .request-form select {
    height: 30px;
  }

  .request-form textarea {
    height: 40px;
  }

  .request-form .button {
    height: 44px;
    min-height: 44px;
    padding-block: 0.35rem;
  }
}
