html.lenis-smooth{scroll-behavior:auto!important}
.reading-progress{animation:none!important;height:3px}
.section-heading{padding-block:42px;min-height:220px;align-items:center}
.chapter-title{translate:0 var(--chapter-shift,0px);font-size:clamp(42px,4.6vw,64px);line-height:1.24;position:relative;z-index:1}
.section-heading>p{position:relative;z-index:2}
.models-copy h2{margin-block:30px 50px}
.closing h2{margin-block:25px 55px}
#hero-title{position:relative;isolation:isolate}

.hero .typewriter-toggle{z-index:5}
.applications .section-heading{margin-bottom:12px}
.application-grid.film-gallery{position:relative;display:block;height:410px;perspective:1200px;overflow:clip;touch-action:pan-y;cursor:grab;user-select:none;isolation:isolate}
.film-gallery.is-dragging{cursor:grabbing}
.film-gallery .application-card,.film-gallery .application-card:last-child{position:absolute;left:50%;top:50%;width:min(54%,570px);height:320px;display:block;padding:0;margin:0;border:0;transform:translate(-50%,-50%) translateX(var(--film-x,0px)) translateZ(var(--film-z,0px)) rotateY(var(--film-angle,0deg)) scale(var(--film-scale,1));transition:transform .72s cubic-bezier(.22,1,.36,1),opacity .6s;transform-origin:center;grid-column:auto}
.film-gallery.is-dragging .application-card{transition:none}
.film-gallery .application-flip,.film-gallery .application-card:last-child .application-flip{height:100%;width:100%;perspective:none;cursor:inherit;border-radius:8px}
.film-gallery .is-selected .application-flip{cursor:pointer}
.film-gallery .application-card-inner{transform:none!important;transition:none;transform-style:flat}
.film-gallery .application-face{padding:28px 34px;border-radius:8px;backface-visibility:visible;border:1px solid #d6cbbd;box-shadow:0 16px 32px #493b2a0c}
.film-gallery .application-front{background:#f4eee4;overflow:hidden}
.film-gallery .application-card:nth-child(2) .application-front{background:#e6e9df}
.film-gallery .application-card:nth-child(3) .application-front{background:#eee0d5}
.film-gallery .application-card:nth-child(4) .application-front{background:#e5e5e0}
.film-gallery .application-card:nth-child(5) .application-front{background:#e8dfd5}
.film-gallery .application-back{display:none}
.film-gallery .application-symbol,.film-gallery .application-card:last-child .application-symbol{position:absolute;right:20px;bottom:64px;width:142px;height:142px;margin:0;color:#aa9072;opacity:.30;stroke-width:.8;pointer-events:none}
.film-gallery .application-turn-icon{display:none}
.film-gallery .application-title{font-size:28px;margin-top:35px;line-height:1.35;position:relative}
.film-gallery .application-copy,.film-gallery .application-card:last-child .application-copy{font-size:13px;line-height:1.9;max-width:75%;margin-top:16px;position:relative}
.film-gallery .application-turn-label{font-size:10px;padding-top:15px;position:relative}
.film-gallery .application-copy,.film-gallery .application-turn-label{transition:opacity .35s}
.film-gallery .application-card:not(.is-selected) .application-copy,.film-gallery .application-card:not(.is-selected) .application-turn-label{opacity:0}
.film-gallery .application-number{font-size:11px}
.film-controls{display:flex;gap:24px;align-items:center;margin-top:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.film-cues{display:grid;grid-template-columns:repeat(5,1fr);flex:1;min-width:0}
.film-cues>button{display:flex;align-items:flex-start;gap:10px;text-align:left;padding:19px 12px;border-right:1px solid var(--line);font-size:11px;line-height:1.7;position:relative;transition:background .3s,color .3s}
.film-cues>button:last-child{border-right:0}
.film-cues>button[aria-pressed="true"]{background:#ede6dc;color:var(--ink)}
.film-cue-number{font:10px/1.8 Consolas,monospace;color:var(--muted)}
.film-cues>button[aria-pressed="true"] .film-cue-number{color:var(--accent)}
.film-arrows{display:flex;gap:8px;padding-right:3px}
.film-arrows button{border:1px solid #d9d0c3;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:16px;line-height:1}
.film-arrows button:disabled{opacity:.25;cursor:default}
.film-arrows button:not(:disabled):hover{background:#e9e1d6}
.film-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.film-modal-open{overflow:hidden}
.film-detail{border:0;padding:0;background:transparent;color:var(--ink);width:min(1000px,calc(100% - 64px));max-width:none;max-height:90svh;overflow:visible}
.film-detail::backdrop{background:#201b17c9;backdrop-filter:blur(7px)}
.film-detail-panel{display:grid;grid-template-columns:.75fr 1fr;background:#faf7f1;border:1px solid #c8b9a6;position:relative;min-height:480px;max-height:90svh;overflow:auto;overscroll-behavior:contain;border-radius:8px;box-shadow:0 30px 100px #0004}
.film-detail-art{display:grid;place-items:center;background:#e9e0d3;min-height:100%}
.film-detail-art .application-symbol{width:180px;height:180px;margin:0;stroke-width:.75;color:#a58866}
.film-detail[data-scene="1"] .film-detail-art{background:#e2e7dc}
.film-detail[data-scene="2"] .film-detail-art{background:#ecddd1}
.film-detail[data-scene="3"] .film-detail-art{background:#e2e3dd}
.film-detail-copy{padding:70px 48px 45px}
.film-detail h2{font-size:36px;line-height:1.35;font-weight:500}
.film-detail h3{font-size:16px;margin-top:32px;font-weight:500}
.film-detail p{font-size:13px;line-height:1.95;margin-top:16px}
.film-detail .film-detail-output{font-size:10px;color:#987b5c;padding-top:20px;border-top:1px solid #ddd3c5;margin-top:28px}
.film-close{position:absolute;right:18px;top:15px;width:34px;height:34px;border:1px solid #d9cfc1;border-radius:50%;font-size:25px;line-height:1;z-index:2;background:#faf7f1}
@media(max-width:800px){
  .section-heading{padding-block:28px;min-height:190px}
  .film-gallery .application-card,.film-gallery .application-card:last-child{width:65%;height:320px}
  .film-gallery .application-title{font-size:25px}
  .film-gallery .application-copy{font-size:12px;max-width:82%}
  .film-controls{gap:12px;align-items:stretch}
  .film-cues>button{padding:15px 9px;font-size:10px;display:block}
  .film-cue-number{display:block;margin-bottom:3px}
  .film-arrows{align-items:center}
  .film-detail-copy{padding:65px 30px 35px}
}
@media(max-width:620px){
  .section-heading{padding-block:23px;min-height:0}
  .chapter-title{font-size:36px;line-height:1.35}
  .section-heading>p{margin-top:30px}
  .models-copy h2{margin-block:20px 35px}
  .closing h2{margin-block:15px 35px}
  .hero-wipe-panel{inset:-3px -4px}
  .application-grid.film-gallery{height:370px;width:calc(100% + 40px);margin-left:-20px;perspective:950px}
  .film-gallery .application-card,.film-gallery .application-card:last-child{width:81%;height:306px}
  .film-gallery .application-face{padding:25px}
  .film-gallery .application-title{font-size:24px;margin-top:30px}
  .film-gallery .application-copy,.film-gallery .application-card:last-child .application-copy{font-size:12px;max-width:94%;line-height:1.85}
  .film-gallery .application-symbol,.film-gallery .application-card:last-child .application-symbol{width:100px;height:100px;right:15px;bottom:42px;opacity:.18}
  .film-controls{display:block;margin-top:0}
  .film-cues{grid-template-columns:repeat(5,minmax(105px,1fr));overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
  .film-cues>button{padding:12px 10px;white-space:nowrap}
  .film-arrows{justify-content:flex-end;padding:12px 0}
  .film-detail{width:calc(100% - 28px);max-height:90svh}
  .film-detail-panel{grid-template-columns:1fr;min-height:0;max-height:90svh}
  .film-detail-art{min-height:150px}
  .film-detail-art .application-symbol{width:90px;height:90px}
  .film-detail-copy{padding:28px 25px 32px}
  .film-detail h2{font-size:28px}
  .film-detail h3{margin-top:24px;font-size:16px}
  .film-detail p{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .chapter-title{translate:none!important}
  .hero-wipe-panel{display:none}
  .film-gallery .application-card,.film-cues>button,.film-gallery .application-copy,.film-gallery .application-turn-label{transition:none}
}
@media print{
  .chapter-title{translate:none!important}
  .hero-wipe-panel,.film-controls,.film-detail{display:none!important}
  .application-grid.film-gallery{display:grid;grid-template-columns:repeat(2,1fr);height:auto;overflow:visible;width:auto;margin:0}
  .film-gallery .application-card,.film-gallery .application-card:last-child{position:static;width:100%;height:300px;transform:none;opacity:1!important}
  .film-gallery .application-face{position:absolute}
}
