@media (max-width: 78rem) {
  .site-header { grid-template-columns: 1fr auto; }
  .site-nav { order: 3; grid-column: 1 / -1; justify-self: center; margin-top: -.4rem; }
  .header-actions { grid-column: 2; grid-row: 1; }
  .threshold__inner { grid-template-columns: minmax(0, 1.15fr) minmax(15rem, .65fr); gap: 2rem; }
  .living-mark { width: min(32vw, 23rem); }
  .portal-stage { min-height: 48rem; }
  .portal-stage__copy { width: min(34rem, 57%); }
  .light-passage__inner { grid-template-columns: minmax(0, 1fr); gap: 3rem; }
  .mother-maker { min-height: 68rem; }
}

@media (max-width: 62rem) {
  :root { --gutter: clamp(1.15rem, 4vw, 2.5rem); }
  .site-header { min-height: 5rem; padding-top: calc(.65rem + env(safe-area-inset-top)); padding-bottom: .65rem; }
  .site-nav { gap: 1.5rem; }
  .energy-toggle__quiet,
  .energy-toggle__wild { display: none; }
  .energy-toggle { padding-inline: .55rem; }
  .threshold { min-height: max(100svh, 52rem); }
  .threshold__inner { grid-template-columns: minmax(0, 1fr) minmax(14rem, .55fr); padding-top: 8rem; }
  .threshold h1 { font-size: clamp(4.8rem, 10vw, 7rem); }
  .threshold__deck { max-width: 34rem; }
  .living-mark { width: min(35vw, 20rem); }
  .duality { height: 470vh; }
  .duality-pair { grid-template-columns: minmax(0, 1fr) minmax(5rem, 14vw) minmax(0, 1fr); }
  .duality-pair > span { font-size: clamp(3.4rem, 8vw, 6rem); }
  .duality__mark { width: min(27vw, 15rem); }
  .section-intro { grid-template-columns: 1fr; gap: 1.4rem; }
  .section-intro .section-number { grid-column: auto; }
  .section-intro > p:last-child { max-width: 38rem; }
  .portal-stage__doors { grid-template-columns: repeat(2, 1fr); }
  .portal-door { min-height: 6.75rem; }
  .portal-door:nth-child(2) { border-right: 0; }
  .portal-door:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.16); }
  .portal-stage__copy { top: 4rem; }
  .light-passage__inner { grid-template-columns: 1fr; align-items: center; padding-top: 7.5rem; padding-bottom: 6rem; }
  .light-passage__copy h2 { max-width: 10ch; }
  .mother-maker { min-height: auto; }
  .mother-maker__panel { min-height: 34rem; }
  .mother-maker__mark { width: 8rem; }
  .mother-maker__orbit { width: 25rem; }
  .journal-scene { grid-template-columns: minmax(0, 1fr) minmax(19rem, .8fr); }
  .journal-scene__copy h2 { font-size: clamp(3.5rem, 7vw, 6rem); }
  .site-footer { grid-template-columns: 1fr 1fr; }
  .site-footer > p:nth-of-type(2) { justify-self: start; }
}

@media (max-width: 52rem) {
  .site-header { display: grid; grid-template-columns: 1fr auto; gap: .8rem; }
  .site-nav {
    grid-column: 1 / -1;
    width: 100%;
    justify-content: space-between;
    gap: .5rem;
    margin: 0;
    padding-top: .2rem;
  }
  .site-nav a { font-size: .61rem; }
  .nav-ready .nav-toggle { display: block; }
  .nav-ready .site-header { grid-template-columns: 1fr auto; }
  .nav-ready .site-nav {
    position: fixed;
    z-index: 1;
    inset: 0;
    width: auto;
    margin: 0;
    padding: calc(7rem + env(safe-area-inset-top)) var(--gutter) calc(3rem + env(safe-area-inset-bottom));
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 0;
    background:
      radial-gradient(circle at 75% 20%, rgba(200, 93, 77, .2), transparent 24rem),
      linear-gradient(145deg, var(--forest-2), #07140d 84%);
    color: var(--white);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-1rem);
    transition: opacity .45s ease, visibility .45s ease, transform .55s var(--ease-out);
  }
  .nav-ready .site-nav::before {
    content: "川香静庐";
    position: absolute;
    right: 8vw;
    bottom: 6vh;
    color: rgba(255, 255, 255, .07);
    font-family: var(--han);
    font-size: clamp(5rem, 18vw, 10rem);
    letter-spacing: .15em;
    writing-mode: vertical-rl;
  }
  .nav-ready .site-nav a {
    width: 100%;
    padding: .6rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, .13);
    font-family: var(--serif);
    font-size: clamp(2.6rem, 9vw, 5rem);
    font-weight: 400;
    letter-spacing: -.035em;
    line-height: 1;
    text-transform: none;
  }
  .nav-ready .site-nav a::after { display: none; }
  .nav-open .site-nav { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
  .nav-open .site-header { color: var(--white); }
  .nav-open .site-header::before { opacity: 0; }

  .chapter-rail { display: none; }
  .threshold { min-height: max(100svh, 58rem); align-items: end; }
  .threshold__media img { object-position: 58% center; }
  .threshold__veil {
    background:
      linear-gradient(180deg, rgba(7, 18, 12, .58) 0%, rgba(8, 22, 15, .52) 32%, rgba(7, 17, 12, .89) 72%, rgba(5, 12, 8, .98) 100%);
  }
  .threshold__inner {
    grid-template-columns: 1fr;
    align-items: end;
    gap: 1.4rem;
    padding-top: 8rem;
    padding-bottom: 6rem;
  }
  .threshold__copy { position: relative; z-index: 5; order: 2; }
  .threshold h1 { max-width: 9ch; font-size: clamp(4.2rem, 16vw, 6.5rem); line-height: .81; }
  .threshold__deck { max-width: 31rem; font-size: 1.15rem; }
  .threshold__actions { margin-top: 1.6rem; }
  .living-mark {
    order: 1;
    justify-self: end;
    width: clamp(10rem, 39vw, 15rem);
    margin-right: 5vw;
    margin-bottom: -3rem;
  }
  .living-mark figcaption { display: none; }
  .living-mark__orbit { inset: 10% -16%; }
  .threshold__coordinates { display: none; }
  .scroll-cue { left: auto; right: var(--gutter); transform: none; }
  .scroll-cue span { display: none; }

  .duality { height: 440vh; }
  .duality__sticky { min-height: 38rem; }
  .duality__header { top: 6rem; display: grid; gap: .7rem; }
  .duality__header > p:last-child { max-width: 18rem; font-size: .98rem; }
  .duality__half { width: 67%; }
  .duality__half--sage { clip-path: polygon(0 0, 100% 0, 64% 100%, 0 100%); }
  .duality__half--coral { clip-path: polygon(36% 0, 100% 0, 100% 100%, 0 100%); }
  .duality__mark { width: clamp(7rem, 25vw, 11rem); opacity: .64; }
  .duality-pair {
    width: calc(100% - 2.2rem);
    grid-template-columns: minmax(0, 1fr) 2.8rem minmax(0, 1fr);
    gap: .65rem;
  }
  .duality-pair > span { font-size: clamp(2.25rem, 10vw, 4rem); white-space: normal; }
  .duality-pair > span:first-child { text-align: right; }
  .duality-pair > small { top: calc(100% + .85rem); font-size: .65rem; }
  .duality__counter { bottom: 1.2rem; }

  .portals { padding-top: 6rem; padding-bottom: 6rem; }
  .section-intro { margin-bottom: 2rem; }
  .section-intro h2 { font-size: clamp(3.6rem, 14vw, 5.7rem); }
  .portal-stage { min-height: 52rem; border-radius: 1.25rem; }
  .portal-stage__images { height: 100%; }
  .portal-stage__images img { object-position: center; }
  .portal-stage__wash { background: linear-gradient(180deg, rgba(8,20,14,.46), rgba(7,18,12,.84) 58%, rgba(4,12,8,.98)); }
  .portal-stage__copy {
    top: 3.1rem;
    right: 1.4rem;
    left: 1.4rem;
    width: auto;
  }
  .portal-stage__copy h3 { font-size: clamp(3.7rem, 17vw, 6rem); }
  .portal-stage__copy > p:not(.portal-stage__number, .portal-stage__han) { max-width: 24rem; font-size: 1.12rem; }
  .portal-stage__han { top: -2rem; right: -.5rem; font-size: 11rem; }
  .portal-stage__doors { grid-template-columns: 1fr 1fr; }
  .portal-door { min-height: 7.1rem; padding: 1.1rem; }
  .portal-door span { font-size: 1.25rem; }

  .light-passage { min-height: 58rem; align-items: end; }
  .light-passage__scrim { background: linear-gradient(180deg, rgba(7,16,11,.28), rgba(7,16,11,.82) 56%, rgba(5,13,9,.96)); }
  .light-passage__inner { gap: 2rem; padding-top: 7rem; padding-bottom: 6rem; }
  .light-passage__copy h2 { font-size: clamp(3.7rem, 14vw, 5.8rem); }

  .flavor-wave { min-height: 35rem; }
  .flavor-wave h2 { font-size: clamp(3.6rem, 14vw, 5.8rem); }
  .flavor-wave__track { font-size: 16rem; }

  .mother-maker { grid-template-columns: 1fr; min-height: auto; padding-top: 6rem; padding-bottom: 6rem; gap: 1.25rem; }
  .mother-maker__panel { min-height: 32rem; border-radius: 1.25rem; }
  .mother-maker__panel h2 { font-size: clamp(3.7rem, 14vw, 5.8rem); }
  .mother-maker__mark { top: 50%; width: 6.5rem; }
  .mother-maker__orbit { display: none; }

  .journal-scene { grid-template-columns: 1fr; min-height: auto; }
  .journal-scene__image { min-height: 28rem; }
  .journal-scene__copy { padding-top: 5rem; padding-bottom: 5rem; }
  .journal-scene__copy h2 { font-size: clamp(3.8rem, 15vw, 6rem); }

  .closing { min-height: 58rem; }
  .closing h2 { font-size: clamp(4.2rem, 16vw, 6.7rem); }
  .closing__mark { right: -8vw; width: 62vw; opacity: .13; }
  .closing__rings i { width: 110vw; }
  .closing__rings i:nth-child(2) { width: 82vw; }
  .closing__rings i:nth-child(3) { width: 54vw; }

  .site-footer { grid-template-columns: 1fr; align-items: start; min-height: 23rem; }
  .site-footer > p:nth-of-type(2) { justify-self: start; }
  .site-footer small { position: static; }
}

@media (max-width: 26rem) {
  .mini-brand__words > span:first-child { font-size: 1.08rem; }
  .mini-brand__words > span:last-child { font-size: .55rem; }
  .header-actions { gap: .35rem; }
  .energy-toggle { display: inline-flex; min-width: 3.05rem; padding-inline: .3rem; }
  .energy-toggle__track { width: 2.15rem; }
  html[data-energy="wild"] .energy-toggle__track i { transform: translateX(1.05rem); }
  .threshold h1 { font-size: 4rem; }
  .button-link { min-width: 100%; }
  .threshold__actions { display: grid; }
  .threshold__actions .line-link { justify-self: start; }
  .portal-stage { min-height: 55rem; }
  .portal-door small { letter-spacing: .08em; }
  .mother-maker__panel { padding: 2rem 1.4rem; }
}

@media (min-width: 52.001rem) and (max-height: 46rem) {
  .threshold { min-height: 44rem; }
  .threshold__inner { padding-top: 6rem; padding-bottom: 4.5rem; }
  .threshold h1 { font-size: clamp(3.8rem, 8.5vw, 6.3rem); }
  .threshold__deck { margin-top: 1.2rem; font-size: 1.05rem; }
  .threshold__actions { margin-top: 1.3rem; }
  .living-mark { width: min(23vw, 14rem); }
  .scroll-cue, .threshold__coordinates, .day-phase { bottom: .7rem; }
  .duality__header { top: 5.5rem; }
  .duality-pair > span { font-size: clamp(3rem, 7vw, 5.5rem); }
  .portal-stage { min-height: 42rem; }
  .light-passage { min-height: 44rem; }
  .light-passage__inner { padding-top: 6rem; padding-bottom: 3rem; }
  .light-passage__copy h2 { font-size: clamp(3.2rem, 7vw, 5.5rem); }
}


/* Short landscape is a designed composition, not a clipped tall hero. */
@media (min-width: 52.001rem) and (max-height: 30rem) {
  .threshold {
    min-height: 100svh;
    align-items: center;
  }
  .threshold__inner {
    grid-template-columns: 1fr;
    min-height: 100svh;
    padding-top: 7rem;
    padding-bottom: 1.25rem;
  }
  .threshold__copy {
    position: relative;
    z-index: 4;
    max-width: none;
    display: grid;
    grid-template-columns: minmax(17rem, .92fr) minmax(16rem, .72fr);
    grid-template-rows: auto 1fr auto;
    column-gap: clamp(2rem, 6vw, 5rem);
    align-items: end;
  }
  .threshold .eyebrow {
    grid-column: 1;
    grid-row: 1;
    margin-bottom: .7rem;
  }
  .threshold h1 {
    grid-column: 1;
    grid-row: 2 / 4;
    align-self: end;
    max-width: 7.6ch;
    font-size: clamp(3.15rem, 7.1vw, 4.35rem);
    line-height: .77;
  }
  .threshold__deck {
    grid-column: 2;
    grid-row: 2;
    align-self: end;
    margin: 0;
    max-width: 31rem;
    font-size: clamp(.88rem, 1.5vw, 1rem);
    line-height: 1.34;
  }
  .threshold__actions {
    grid-column: 2;
    grid-row: 3;
    margin-top: .8rem;
    gap: .55rem .9rem;
  }
  .threshold__actions .button-link {
    min-width: 12.5rem;
    min-height: 2.65rem;
    padding: .65rem .85rem;
    font-size: .58rem;
  }
  .threshold__actions .line-link { font-size: .58rem; }
  .living-mark {
    position: absolute;
    z-index: 1;
    top: 51%;
    right: 2vw;
    width: min(21vw, 11rem);
    opacity: .38;
    transform: translateY(-38%) rotate(4deg);
  }
  .living-mark figcaption,
  .threshold__coordinates,
  .scroll-cue { display: none; }
}
