/* ── section transitions ── */
@media (prefers-reduced-motion:no-preference){
  /* the divider line draws itself in when a section arrives */
  .js-enabled section:not(.hero){border-top-color:transparent}
  .js-enabled section:not(.hero)::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,var(--accent) 0 4.5rem,var(--line) 4.5rem);transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
  .js-enabled section.is-seen::after{transform:scaleX(1)}
  /* page-turn curtain for in-page jumps */
  .curtain{position:fixed;inset:0;z-index:200;pointer-events:none;display:none}
  .curtain.is-active{display:block}
  .curtain .theme-panel{position:absolute;top:0;bottom:0;transform:scaleY(0);transform-origin:top;will-change:transform}
  .curtain .ink-panel{background:var(--ink)}.curtain .tomato-panel{background:var(--accent)}
  .curtain .theme-label{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:.6rem;color:var(--on-accent);opacity:0;text-align:center}
  .curtain .theme-label b{font-family:var(--display);font-weight:800;font-size:clamp(3rem,13vw,10rem);line-height:.9;letter-spacing:-.03em;font-variation-settings:"opsz" 96,"wdth" 92}
  .curtain .theme-label i{font-family:var(--mono);font-style:normal;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}
}
@media (prefers-reduced-motion:reduce){.curtain{display:none!important}}
