.ff-assembly,.ff-assembly *{box-sizing:border-box}
.ff-assembly{margin-top:0;padding:0;background:var(--base-color--white,#fff);color:var(--base-color--black,#151b17);overflow:clip}
.ff-assembly-shell{position:relative;width:100%;height:360vh;min-height:2200px}
.ff-assembly-stage{position:relative;width:100%;height:100vh;min-height:620px;display:grid;place-items:center;background:var(--base-color--white,#fff);overflow:hidden}
.ff-assembly-visual{position:relative;width:min(68vw,620px);height:min(68vw,620px);max-height:72vh;aspect-ratio:1;display:grid;place-items:center}
.ff-assembly-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;display:block;transform-origin:center;will-change:opacity,transform;pointer-events:none}
.ff-assembly-finished-intro,.ff-assembly-final{opacity:1}
.ff-assembly-body,.ff-assembly-layer,.ff-assembly-lid,.ff-assembly-final{opacity:0}
.ff-assembly-copy{position:absolute;z-index:4;top:50%;left:10%;width:min(31%,18rem);transform:translateY(-50%);pointer-events:none}
.ff-assembly-copy.is-right{left:auto;right:10%;text-align:left}
.ff-assembly-eyebrow{margin:0 0 14px;color:var(--primary-color--primary-color-dark,#15803d);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.ff-assembly-copy h2{margin:0 0 14px;font-size:clamp(2rem,4vw,4rem);font-weight:400;line-height:1.02}
.ff-assembly-description{margin:0 0 24px;max-width:18rem;font-size:clamp(1rem,1.5vw,1.3rem);line-height:1.25}
.ff-assembly-chapter{display:none}
.ff-assembly-chapter.is-active{display:block}
.ff-assembly-chapter h3{margin:0 0 10px;font-size:clamp(1.5rem,2.5vw,2.5rem);font-weight:400;line-height:1.05}
.ff-assembly-chapter p{margin:0;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.3}
.ff-assembly-final-copy{display:grid;max-width:18rem;gap:10px;opacity:0;transform:translateY(10px);visibility:hidden;pointer-events:none;transition:opacity .28s ease,transform .28s ease,visibility 0s linear .28s}
.ff-assembly-final-copy.is-active{opacity:1;transform:none;visibility:visible;pointer-events:auto;transition-delay:0s}
.ff-assembly-final-copy p{margin:0;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.25}
.ff-assembly-final-copy .button-base{justify-self:start}
.ff-assembly-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:699px){.ff-assembly-shell{height:320vh;min-height:0}.ff-assembly-stage{height:100svh;min-height:620px;align-items:start;padding-top:9rem}.ff-assembly-visual{width:88vw;height:88vw;max-height:none}.ff-assembly-copy,.ff-assembly-copy.is-right{top:auto;left:16px;right:16px;bottom:8vh;width:auto;transform:none;text-align:center;background:var(--base-color--white,#fff);padding:12px 12px 0}.ff-assembly-copy h2{font-size:clamp(1.8rem,8vw,2.8rem)}.ff-assembly-description{margin-left:auto;margin-right:auto}.ff-assembly-chapter h3{font-size:clamp(1.35rem,7vw,2rem)}.ff-assembly-final-copy{margin:0 auto}.ff-assembly-final-copy .button-base{justify-self:center}}
