/* Phone presentation authorized 31 October 2026.
   The approved desktop stylesheet and the original photo files are unchanged.
   Keep every declaration in this section inside the phone breakpoint. */
@media (max-width: 740px) {
  .prescreen {
    min-height: 100svh;
    min-height: 100dvh;
  }

  .prescreen .prescreen-header {
    gap: 12px;
    padding: calc(16px + env(safe-area-inset-top, 0px))
      max(18px, env(safe-area-inset-right, 0px)) 18px
      max(18px, env(safe-area-inset-left, 0px));
    background: linear-gradient(180deg, #081014ed, #081014a8 65%, #08101400);
  }

  .prescreen-header .brand {
    min-width: 0;
    gap: 9px;
  }

  .prescreen-header .crest {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    font-size: 22px;
  }

  .prescreen-header .wordmark {
    font-size: clamp(12px, 3.5vw, 16px);
    letter-spacing: clamp(2px, .65vw, 3px);
  }

  .prescreen .prescreen-enter {
    flex: 0 0 auto;
    width: 112px;
    max-width: 112px;
    min-height: 44px;
    padding: 7px 0;
    font-size: 8px;
    letter-spacing: 1.2px;
    line-height: 1.5;
  }

  .prescreen-enter span {
    margin-left: 5px;
  }

  .prescreen .prescreen-panel:not(.prescreen-disclaimer) {
    min-height: 100svh;
    min-height: 100dvh;
    padding-right: max(24px, env(safe-area-inset-right, 0px));
    padding-left: max(24px, env(safe-area-inset-left, 0px));
    padding-bottom: max(56px, calc(28px + env(safe-area-inset-bottom, 0px)));
  }

  /* A full-screen photographic background and a separately framed sharp scene
     keep the panoramic groups visible without stretching or replacing them.
     The photo height does not grow when the text needs more than one screen. */
  .prescreen :is(.prescreen-problem, .prescreen-answer, .prescreen-policy, .prescreen-question) {
    --mobile-photo-height: clamp(250px, 40svh, 400px);
    --mobile-photo-top: calc(76px + env(safe-area-inset-top, 0px));
    --mobile-photo-focus: 50%;
    position: relative;
    isolation: isolate;
    overflow: clip;
    justify-content: flex-end;
    align-items: stretch;
    padding-top: calc(var(--mobile-photo-top) + var(--mobile-photo-height) - 22px);
    background: #0b1215;
    text-align: left;
  }

  .prescreen :is(.prescreen-problem, .prescreen-answer, .prescreen-policy, .prescreen-question)::before,
  .prescreen :is(.prescreen-problem, .prescreen-answer, .prescreen-policy, .prescreen-question)::after {
    content: "";
    position: absolute;
    pointer-events: none;
  }

  .prescreen :is(.prescreen-problem, .prescreen-answer, .prescreen-policy, .prescreen-question)::before {
    z-index: -2;
    inset: -24px;
    background: linear-gradient(180deg, #08101438, #08101470 48%, #081014e8),
      var(--panel-image) var(--mobile-photo-focus) center / cover no-repeat;
    filter: blur(18px);
    opacity: .8;
  }

  .prescreen :is(.prescreen-problem, .prescreen-answer, .prescreen-policy, .prescreen-question)::after {
    z-index: -1;
    top: var(--mobile-photo-top);
    right: 0;
    left: 0;
    height: var(--mobile-photo-height);
    background-image: linear-gradient(180deg, #0b1215d9 0%, #0b121500 16%, #0b121500 54%, #0b121548 76%, #0b1215f2 100%),
      var(--panel-image);
    background-position: center, var(--mobile-photo-focus) center;
    background-size: cover, cover;
    background-repeat: no-repeat;
  }

  .prescreen .prescreen-problem {
    --mobile-photo-focus: 87%;
  }

  .prescreen .prescreen-problem h1 {
    max-width: 11ch;
    font-size: clamp(46px, 14vw, 62px);
    line-height: .97;
    letter-spacing: -1.6px;
    text-wrap: balance;
  }

  .prescreen .prescreen-problem > p {
    max-width: 23ch;
    margin-top: 23px;
    font-size: clamp(24px, 6.5vw, 29px);
    line-height: 1.2;
  }

  .prescreen .prescreen-answer {
    --mobile-photo-height: clamp(250px, 39svh, 390px);
    --mobile-photo-focus: 12%;
  }

  .prescreen .prescreen-answer > p {
    max-width: 100%;
    font-size: clamp(25px, 6.7vw, 31px);
    line-height: 1.13;
    letter-spacing: -.4px;
    text-align: left;
    text-wrap: pretty;
  }

  .prescreen .prescreen-answer .prescreen-answer-emphasis {
    margin-top: 24px;
    font-size: clamp(17px, 4.4vw, 19px);
    line-height: 1.43;
    letter-spacing: 0;
  }

  .prescreen .prescreen-policy {
    --mobile-photo-height: clamp(240px, 36svh, 370px);
    --mobile-photo-focus: 94%;
  }

  .prescreen .prescreen-policy h2 {
    font-size: clamp(48px, 14vw, 64px);
    line-height: .96;
    letter-spacing: -1.5px;
  }

  .prescreen .prescreen-policy .prescreen-policy-refrain {
    margin: 0 0 10px;
    font-size: 30px;
  }

  .prescreen .prescreen-policy > p:not(.prescreen-policy-refrain) {
    margin-top: 24px;
    font-size: 17px;
    line-height: 1.5;
  }

  .prescreen .prescreen-policy > p.prescreen-note {
    padding-left: 18px;
    font-size: 23px;
    line-height: 1.25;
  }

  .prescreen .prescreen-question {
    --mobile-photo-height: clamp(250px, 40svh, 400px);
    --mobile-photo-focus: 20%;
  }

  .prescreen .prescreen-question .prescreen-question-copy h2 {
    max-width: 12ch;
    margin-bottom: 23px;
    font-size: clamp(44px, 12vw, 57px);
    line-height: .98;
    text-wrap: balance;
  }

  .prescreen .prescreen-question .prescreen-question-copy p {
    margin-top: 15px;
    font-size: 17px;
    line-height: 1.45;
  }

  .prescreen .prescreen-panel.prescreen-opening {
    position: relative;
    justify-content: flex-end;
    padding-top: calc(112px + env(safe-area-inset-top, 0px));
    padding-bottom: max(88px, calc(60px + env(safe-area-inset-bottom, 0px)));
  }

  .prescreen .prescreen-opening-headline {
    margin-top: 24px;
    font-size: clamp(30px, 8.5vw, 40px);
    line-height: 1.07;
    letter-spacing: -.7px;
  }

  .prescreen-opening .prescreen-kicker {
    max-width: 100%;
    font-size: 9px;
    letter-spacing: 2px;
    line-height: 1.6;
  }

  .prescreen-opening .prescreen-scroll {
    bottom: max(30px, calc(16px + env(safe-area-inset-bottom, 0px)));
  }

  .prescreen .prescreen-final {
    padding-top: calc(112px + env(safe-area-inset-top, 0px));
  }

  .prescreen-final .prescreen-final-policy {
    margin-bottom: 34px;
  }

  .prescreen .prescreen-final h2 {
    margin: 22px 0 28px;
    font-size: clamp(48px, 14vw, 66px);
  }

  .prescreen .prescreen-cta {
    min-height: 56px;
    padding: 18px 20px;
    margin-top: 32px;
    font-size: 10px;
    letter-spacing: 1.5px;
  }

  .prescreen .prescreen-disclaimer {
    min-height: auto;
  }

  .reservation-page {
    min-height: 100svh;
    min-height: 100dvh;
  }

  .reservation-page .reservation-header {
    gap: 12px;
    padding: calc(16px + env(safe-area-inset-top, 0px))
      max(18px, env(safe-area-inset-right, 0px)) 18px
      max(18px, env(safe-area-inset-left, 0px));
  }

  .reservation-header .brand {
    min-width: 0;
    gap: 9px;
  }

  .reservation-header .crest {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    font-size: 22px;
  }

  .reservation-header .wordmark {
    font-size: clamp(12px, 3.5vw, 16px);
    letter-spacing: clamp(2px, .65vw, 3px);
  }

  .reservation-page .reservation-back {
    flex: 0 0 auto;
    width: 104px;
    max-width: 104px;
    min-height: 44px;
    font-size: 8px;
    letter-spacing: 1px;
    line-height: 1.5;
  }

  .reservation-card .field input {
    min-height: 48px;
    font-size: 16px;
  }

  .reservation-card .reservation-consent {
    font-size: 12px;
    line-height: 1.6;
  }

  .reservation-card .reservation-privacy,
  .reservation-card .field small {
    font-size: 11px;
    line-height: 1.6;
  }

  .reservation-card .reservation-submit {
    min-height: 56px;
    font-size: 10px;
  }
}
