.protein-webgl{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.has-3d .protein-lid,.has-3d .protein-brand{display:none}.has-3d .protein-layer{background:none;border:0;box-shadow:none}.has-3d .protein-layer:before{display:none}.has-3d:after{content:'';position:absolute;bottom:8px;left:35%;width:30%;height:20px;background:#0009;filter:blur(12px);border-radius:50%;z-index:-1}
.protein-story{height:240vh;position:relative;padding:0;background:radial-gradient(ellipse at center,#291006,#060606 65%);border-block:1px solid #29201a}
.protein-stage{position:sticky;top:0;height:100svh;min-height:650px;max-width:1180px;margin:auto;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:90px 20px 24px}
.protein-heading{text-align:center;position:absolute;top:95px;left:20px;right:20px}.protein-heading small{color:#ff4a00;letter-spacing:.18em;text-transform:uppercase;font-weight:800}.protein-heading h2{font-size:clamp(28px,4vw,48px);margin:10px 0;color:#fff}.protein-heading p{color:#aaa;font-size:14px;margin:0}
.protein-machine{position:relative;width:min(100%,850px);height:430px;margin-top:115px;--spread:0;--reveal:0}
.protein-layer{position:absolute;width:220px;height:53px;left:calc(50% - 110px);top:calc(100px + var(--i)*39px);transform:translateY(calc((var(--i) - 2.5)*var(--spread)*19px));border:1px solid #80503a;border-radius:50% / 16%;background:linear-gradient(90deg,#181818,#444 35%,#242424 60%,#0d0d0d);box-shadow:inset 0 6px 12px #ffffff0a,0 12px 20px #0008;z-index:calc(10 - var(--i))}
.protein-layer:before{content:'';position:absolute;inset:0 0 auto;height:16px;border-radius:50%;background:linear-gradient(100deg,#a2572e,#edb27a,#9b4d20);opacity:var(--reveal)}
.protein-label{position:absolute;left:260px;top:12px;width:230px;color:#eee;font-size:17px;font-weight:700;opacity:var(--reveal);transform:translateX(calc((1 - var(--reveal))*20px))}.protein-label:before{content:'';position:absolute;width:32px;height:1px;left:-38px;top:11px;background:#ff6529}
.protein-layer:nth-child(even) .protein-label{left:auto;right:260px;text-align:right}.protein-layer:nth-child(even) .protein-label:before{left:auto;right:-38px}
.protein-lid{position:absolute;left:calc(50% - 116px);top:67px;width:232px;height:42px;border-radius:45% 45% 15% 15%;background:repeating-linear-gradient(90deg,#161616 0 4px,#303030 4px 6px);border:1px solid #777;transform:translateY(calc(var(--spread)*-66px));z-index:12}
.protein-brand{position:absolute;left:calc(50% - 110px);top:156px;width:220px;height:135px;z-index:15;text-align:center;background:linear-gradient(110deg,#de4100,#ff651d,#b43200);padding:19px 4px;opacity:calc(1 - var(--reveal));pointer-events:none;color:#fff;clip-path:inset(0 round 4px)}.protein-brand strong{font-size:31px;font-weight:950;letter-spacing:.08em}.protein-brand span{display:block;font-size:12px;letter-spacing:.22em;margin-top:8px}.protein-note{position:absolute;bottom:24px;left:20px;right:20px;text-align:center;color:#999;font-size:12px}
@media(max-width:650px){.protein-stage{min-height:620px}.protein-heading{top:85px}.protein-heading h2{font-size:28px}.protein-machine{width:100%;margin-top:100px}.protein-layer{width:130px;left:calc(29% - 65px)}.protein-lid{width:138px;left:calc(29% - 69px)}.protein-brand{width:130px;left:calc(29% - 65px)}.protein-brand strong{font-size:22px}.protein-brand span{font-size:9px}.protein-label,.protein-layer:nth-child(even) .protein-label{left:155px;right:auto;text-align:left;width:calc(65vw - 65px);font-size:13px}.protein-label:before,.protein-layer:nth-child(even) .protein-label:before{left:-21px;right:auto;width:15px}}
@media(prefers-reduced-motion:reduce){.protein-story{height:auto}.protein-stage{position:relative;height:760px}.protein-machine{--spread:1!important;--reveal:1!important}}
