@font-face{font-family:Cabinet;src:url('assets/fonts/cabinet-400.woff2') format('woff2');font-weight:400;font-display:swap}
.heritage .line-transition-viewport>.hero-header nav{align-items:flex-end;text-align:right}
.heritage .line-transition-viewport>.hero-header nav a{color:#4f78cb!important;text-shadow:none}
.hero-focus{position:absolute;left:0;top:50%;transform:translateY(-50%);margin:0;font:400 clamp(14px,1.3vw,19px)/1.5 Cabinet,Arial,sans-serif;color:#7d2027;letter-spacing:.01em}
.hero-focus span{opacity:.7;margin-right:.5em}
.line-transition-track{height:100svh}
.line-transition-viewport{position:relative;overflow:clip}
.hero-scene{clip-path:none;overflow:visible}
.hero-scene .hero-shell{overflow:visible}
.portfolio-story>.work-section{margin-top:0;visibility:visible}
.work-reveal,.turning-rule,.opening-rule{display:none}
.closing-rule{opacity:.4}.rule-top{top:15.5%}.rule-bottom{top:94%}
.portrait-mount{will-change:transform;transform-origin:50% 85%}
.portrait-head .portrait-face{transition:opacity 480ms cubic-bezier(.3,0,.25,1);will-change:opacity}
.hero-scene .name-block,.hero-scene .statement{opacity:calc(1 - var(--peek-progress,0)*.65)}
@media(max-width:650px){.hero-focus{font-size:12px;max-width:65%;line-height:1.4}.hero-focus span{display:block}.rule-top{top:11%}}
@media(prefers-reduced-motion:reduce){.portrait-mount,.portrait-head .portrait-face{will-change:auto;transition:none}.closing-rule{display:block}}

.heritage .line-transition-viewport>.hero-header nav a{color:#edddc5!important}

.heritage .portrait-body{clip-path:inset(49% 0 0);z-index:1;transition:opacity 420ms ease}
.portrait-head{z-index:4;mask-image:linear-gradient(#000 0%,#000 49%,transparent 58%);overflow:hidden}
.heritage .portrait-crop{overflow:hidden;isolation:isolate}
.gesture-layers{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:visible}
.gesture-peace-core{opacity:0;transition:opacity 450ms ease}
.gesture-peace-arm{opacity:0;transform:rotate(78deg);transform-origin:130px 730px;transition:transform 1050ms cubic-bezier(.4,0,.15,1),opacity 240ms ease}
.gesture-peek-body{opacity:0;transform:translateY(100px);clip-path:inset(49% 0 0);transition:transform 950ms cubic-bezier(.3,0,.15,1),opacity 450ms ease}
.portrait[data-pose="2"] .portrait-body,.portrait[data-pose="3"] .portrait-body{opacity:0}
.portrait[data-pose="2"] .gesture-peace-core{opacity:1}
.portrait[data-pose="2"] .gesture-peace-arm{opacity:1;transform:rotate(0deg)}
.portrait[data-pose="3"] .gesture-peek-body{opacity:1;transform:translateY(0)}
.rule-bottom{z-index:2;opacity:.7}
.portrait-head .portrait-face{transition:opacity 320ms cubic-bezier(.35,0,.2,1)}
@media(prefers-reduced-motion:reduce){.gesture-layers *,.portrait-body{transition:none!important}}
.gesture-layers{z-index:5}

.line-transition-track{height:155svh}.line-transition-viewport{position:sticky;top:0}
.portrait[data-pose="3"] .gesture-peek-body{transform:translateY(var(--grip-travel,0px));transition:opacity 450ms ease}
@media(prefers-reduced-motion:reduce){.line-transition-track{height:100svh}.line-transition-viewport{position:relative}}

.rule-bottom{z-index:12}
.gesture-peace-arm{transition:transform 1050ms cubic-bezier(.4,0,.15,1),opacity 260ms ease 650ms}
.portrait[data-pose="2"] .gesture-peace-arm{transition:transform 1050ms cubic-bezier(.4,0,.15,1),opacity 240ms ease}
.portrait[data-pose="3"] .gesture-peace-arm{transition:transform 700ms ease,opacity 220ms ease}
