/* A STORY STAYS — Desktop Portrait / Tall-Viewport Root Lock 03
   Scope: desktop-class portrait/tall viewports only.
   Mobile and tablet layouts (<=900px) and normal widescreen desktop are protected.
   Root repair:
   1) overrides are loaded after the compiled app CSS;
   2) the featured story is no longer simultaneously top- and bottom-anchored;
   3) the returning-memory panel is removed from the headline lane;
   4) the hero and ritual band are redistributed through the tall stage instead of
      leaving one oversized empty corridor.
*/

@media (min-width: 901px) and (max-aspect-ratio: 4 / 3) {
  .cr-home {
    height: calc(100dvh - 74px);
  }

  .cr-home-copy {
    top: clamp(36px, 4.5vh, 70px);
    left: clamp(30px, 5.8vw, 86px);
    width: min(560px, 51vw);
  }

  .cr-home-copy h1 {
    font-size: clamp(3.8rem, 6.2vw, 6.25rem);
  }

  .cr-home-copy > p:not(.cr-kicker) {
    max-width: 35ch;
  }

  .cr-actions {
    margin-top: 24px;
  }

  .free-service-seal {
    margin-top: 12px;
  }

  .cr-featured-window {
    top: clamp(390px, 34vh, 820px);
    bottom: auto;
    right: clamp(30px, 5vw, 72px);
    left: auto;
    width: min(390px, 34vw);
    height: clamp(340px, 35vh, 760px);
    min-height: 340px;
    max-height: 760px;
    padding: clamp(22px, 2.2vw, 30px);
    border-radius: 150px 150px 18px 18px;
  }

  .cr-featured-window strong {
    font-size: clamp(1.8rem, 2.5vw, 2.35rem);
  }

  .cr-featured-window blockquote {
    font-size: clamp(.95rem, 1.2vw, 1.08rem);
  }

  .cr-ritual-strip {
    height: clamp(220px, 22vh, 480px);
  }

  .cr-ritual-strip a {
    align-content: center;
    padding-top: clamp(24px, 3vh, 38px);
    padding-bottom: clamp(22px, 2.8vh, 34px);
  }

  .pass05-return {
    position: absolute;
    z-index: 8;
    top: clamp(18px, 2.2vh, 34px);
    right: clamp(30px, 5vw, 72px);
    left: auto;
    width: min(360px, 34vw);
    margin: 0;
    padding: .82rem .95rem;
    background: rgba(7,16,12,.82);
  }

  .pass05-return .p5-eyebrow {
    margin-left: 0;
  }

  .pass05-return h2 {
    margin: .2rem 0 .35rem;
    font-size: 1.05rem;
  }

  .pass05-return > p {
    margin: .25rem 0;
    font-size: .75rem;
    line-height: 1.4;
  }

  .pass05-return-links {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem .75rem;
  }

  .pass05-return-links a,
  .pass05-new-story {
    font-size: .68rem;
  }
}

@media (min-width: 901px) and (max-aspect-ratio: 3 / 4) {
  .cr-home-copy {
    top: clamp(30px, 3.8vh, 58px);
  }

  .cr-ritual-strip {
    height: clamp(240px, 23vh, 500px);
  }
}
