/* Adapted from the corrected interlocking animation, 9 September 2026. */
.hero{isolation:isolate;background:#30251e}
.hero:before{background:linear-gradient(90deg,#30251e 0%,#30251ef2 42%,#30251e10 100%);z-index:1;pointer-events:none}
.puzzle-stage{--cycle:10s;position:absolute;z-index:0;pointer-events:none;width:min(66vw,920px);height:auto;aspect-ratio:1;right:-4%;top:50%;transform:translateY(-48%);isolation:isolate;opacity:.85;background:radial-gradient(ellipse at 50% 64%,#95602040,transparent 65%)}
.puzzle-stage .art{display:block;width:100%;height:100%;overflow:visible}
.hero-content{position:relative;z-index:2}
.hero h1{max-width:820px}.hero .lead{max-width:660px}
.hero-motion{position:absolute;bottom:22px;right:25px;z-index:3;min-height:44px;padding:10px 16px;background:#30251ee6;color:#f7e7d1;border:1px solid #c8b79e;border-radius:6px;font:inherit;font-size:.875rem;cursor:pointer}
.hero-motion[hidden]{display:none}.hero-motion:hover{background:#514238}
@media(max-width:980px){.puzzle-stage{width:90vw;right:-20%;opacity:.5}.hero:before{background:linear-gradient(90deg,#30251ef5,#30251edb 45%,#30251e55)}}
@media(max-width:640px){.puzzle-stage{width:125vw;right:-44%;top:42%;opacity:.3}.hero{padding-bottom:90px}.hero:before{background:linear-gradient(90deg,#30251eef,#30251ebd)}.hero-motion{right:14px;bottom:16px}}
.puzzle-stage .piece { transform-box:view-box; transform-origin:350px 300px; animation:puzzle-assemble var(--cycle) infinite; }
.puzzle-stage .cream { --x:-36px; --y:-35px; --r:-3deg; --s:-1deg; }
.puzzle-stage .ivory { --x:38px; --y:-30px; --r:3deg; --s:1.4deg; }
.puzzle-stage .gold { --x:-39px; --y:33px; --r:2.5deg; --s:1deg; }
.puzzle-stage .metal { --x:35px; --y:35px; --r:-2.5deg; --s:-1deg; }
@keyframes puzzle-assemble {
 0%,12%,100% { transform:translate(var(--x),var(--y)) rotate(var(--r)) skewY(var(--s)); animation-timing-function:cubic-bezier(.45,0,.25,1); }
 38% { transform:translate(calc(var(--x)*.065),calc(var(--y)*.065)) rotate(0deg); animation-timing-function:cubic-bezier(.15,.75,.25,1); }
 44%,72% { transform:translate(0,0) rotate(0deg); animation-timing-function:cubic-bezier(.55,0,.25,1); }
 94% { transform:translate(var(--x),var(--y)) rotate(var(--r)) skewY(var(--s)); }
}
.puzzle-stage .pulse { animation:puzzle-glow var(--cycle) ease-in-out infinite; }
@keyframes puzzle-glow { 0%,25%,85%,100% { opacity:.48; } 44%,49% { opacity:1; } 64%,72% { opacity:.65; } }
.puzzle-stage .edge-bevel { animation:puzzle-seat-bevel var(--cycle) infinite; }
@keyframes puzzle-seat-bevel { 0%,12%,94%,100% { stroke-width:var(--open-bevel); } 38% { stroke-width:3; } 44%,72% { stroke-width:2; } }
.is-paused .puzzle-stage .piece,.is-paused .puzzle-stage .pulse,.is-paused .puzzle-stage .edge-bevel { animation-play-state:paused; }
.is-static .puzzle-stage .piece { animation:none; transform:none; }
.is-static .puzzle-stage .pulse { animation:none; opacity:.65; }
.is-static .puzzle-stage .edge-bevel { animation:none; stroke-width:2; }

.puzzle-stage.is-paused .piece,.puzzle-stage.is-paused .pulse,.puzzle-stage.is-paused .edge-bevel{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.puzzle-stage .piece{animation:none!important;transform:none!important}.puzzle-stage .pulse{animation:none!important;opacity:.65}.puzzle-stage .edge-bevel{animation:none!important;stroke-width:2}.hero-motion{display:none}}


.hero-motion{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;right:24px;bottom:24px;color:#f9cf55;background:#30251ee6}
.hero-motion svg{display:block}.hero-motion[hidden]{display:none}
@media(max-width:640px){.hero-motion{right:16px;bottom:18px}}
