/* Extra scroll distance holds a chapter without intercepting wheel or touch. */
.scroll-chapter { position:relative; display:flow-root; height:calc(var(--chapter-height,100svh) + 45svh); }
.scroll-chapter>section { position:sticky; top:var(--chapter-top,0px); min-height:100svh; }
.scroll-chapter>.usage-guide,.scroll-chapter>.compact-faq { padding-top:110px; }
.scroll-chapter.chapter-flow { height:auto; }
.scroll-chapter.chapter-flow>section { position:relative; top:auto; }
.scroll-chapter>.compact-faq { min-height:0; padding-block:64px; }
@media(min-width:861px) {
 .scroll-chapter>.usage-guide,
 .scroll-chapter>.font-release,
 .scroll-chapter>.tamer-about {
   display:flex; flex-direction:column; justify-content:center;
 }
 .scroll-chapter>.usage-guide>*,
 .scroll-chapter>.font-release>*,
 .scroll-chapter>.tamer-about>* { flex-shrink:0; }
 .usage-guide .usage-motion { width:100%; }
 .scroll-chapter>.formats { display:flex; align-items:center; }
 .scroll-chapter>.usage-guide { padding-block:110px 28px; }
 .usage-guide .usage-heading h2 { font-size:clamp(40px,6svh,62px); }
 .usage-guide .usage-heading p { margin-top:12px; }
 .usage-guide .usage-stage { height:clamp(160px,26svh,260px); }
 .usage-guide .usage-composition { font-size:clamp(76px,13svh,130px); }
 .usage-guide .usage-replay { margin-top:10px; }
 .usage-guide .usage-note { margin-top:12px; }
 .scroll-chapter>.font-release { padding-top:110px; padding-bottom:20px; }
 .font-release .release-poster { min-height:0; padding-block:36px 48px; width:100%; }
 .font-release .release-copy h2 { font-size:clamp(48px,8svh,96px); }
 .font-release .release-copy>p { margin-top:18px; }
 .font-release .release-download { margin-top:24px; padding-block:18px; }
 .font-release .release-model { --model-width:min(58vw,62svh); }
 .font-release .release-help>summary { padding-block:18px; }
 .scroll-chapter>.tamer-about { padding-block:110px 36px; }
 .tamer-about .tamer-story h2 { font-size:clamp(48px,7svh,72px); }
 .tamer-about .tamer-story>p { font-size:16px; line-height:1.5; margin-top:14px; }
 .tamer-about .tamer-story .tamer-intro { font-size:24px; line-height:1.25; margin-top:20px; }
 .tamer-about .tamer-portrait { height:min(46svh,440px); width:100%; }
 .tamer-about .tamer-actions { margin-top:20px; }
 .tamer-about .tamer-experience { margin-top:28px; padding-top:18px; }
}
.font-release .release-copy .release-install-note { font-size:14px; line-height:1.6; margin-top:14px; max-width:48ch; }
.tamer-about { isolation:isolate; overflow:clip; }
.tamer-about::before { content:''; position:absolute; z-index:-1; inset:8% -20%; background:url('../graphics/tamz.svg') center / 110% auto no-repeat; filter:brightness(0) invert(1); opacity:.045; pointer-events:none; animation:tamz-drift 18s ease-in-out infinite alternate; animation-play-state:paused; }
.tamer-about.background-visible:not(.background-paused)::before { animation-play-state:running; }
.tamer-motion-toggle { position:absolute; right:var(--gutter); bottom:10px; min-height:36px; background:none; border:0; color:var(--ink-muted); font-size:12px; text-decoration:underline; text-underline-offset:3px; }
@keyframes tamz-drift { from { transform:translate(-4%,3%) rotate(-9deg) scale(1); } to { transform:translate(4%,-3%) rotate(-3deg) scale(1.08); } }
@media(min-width:861px) {
 .scroll-chapter>.usage-guide,.scroll-chapter>.font-release,.scroll-chapter>.tamer-about {
   padding-top:calc(var(--menu-height,86px) + 24px); padding-bottom:24px;
 }
 .tamer-about .tamer-story>p { font-size:15px; line-height:1.5; margin-top:12px; }
 .tamer-about .tamer-story h2 { font-size:clamp(44px,6.5svh,66px); }
 .tamer-about .tamer-story .tamer-intro { font-size:22px; margin-top:16px; }
 .tamer-about .tamer-experience { margin-top:20px; padding-top:14px; }
 .tamer-about .tamer-signature { margin-top:18px; }
 .tamer-about .tamer-about-grid { gap:clamp(32px,5vw,80px); }
}
@media(prefers-reduced-motion:reduce) {
 .tamer-about::before { animation:none; }
 .tamer-motion-toggle { display:none; }
 .scroll-chapter { height:auto; }
 .scroll-chapter>section { position:relative; top:auto; min-height:0; }
}
