/* Restrained motion with native scrolling and finite entry animations. */
.site-footer .motion-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:72px;padding:8px 10px;border:1px solid #6c9390;border-radius:3px;background:transparent;color:#d8e6de;font-size:9px;letter-spacing:.04em;cursor:pointer}
.site-footer .motion-toggle:hover{background:#ffffff0d}
.site-footer .motion-toggle:focus-visible{outline-color:#f8fcf8}
.site-footer .motion-toggle[hidden]{display:none}
.site-footer .motion-toggle:disabled{opacity:.55;cursor:default}
.line-mask{display:block;overflow:hidden;padding-bottom:.035em;margin-bottom:-.035em}
.line-text{display:block}
.about h3 span{color:inherit}
.about h3 .muted-line{color:var(--muted)}
.motion-enabled .reveal{opacity:0;transform:translate3d(0,25px,0);transition:opacity .85s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),transform 1.05s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}
.motion-enabled .reveal.is-visible,.motion-enabled .reveal:focus-within{opacity:1;transform:none}
.motion-enabled .line-mask.reveal{opacity:1;transform:none;transition:none}
.motion-enabled .line-mask .line-text{transform:translate3d(0,112%,0);transition:transform 1.2s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}
.motion-enabled .line-mask.is-visible .line-text{transform:translate3d(0,0,0)}
.motion-enabled .section-heading{transform:none}
.motion-enabled .section-heading::after{content:"";position:absolute;left:0;top:0;width:100%;height:1px;background:var(--border);transform:scaleX(0);transform-origin:left;transition:transform 1.25s cubic-bezier(.22,1,.36,1)}
.motion-enabled .project .section-heading,.motion-enabled .company .section-heading{position:relative;border-top-color:transparent}
.motion-enabled .about .section-heading::after{display:none}
.motion-enabled .section-heading.is-visible::after{transform:scaleX(1)}
.motion-enabled .hero-art svg{transform:translate3d(var(--pointer-x,0px),calc(var(--hero-drift,0px) + var(--pointer-y,0px)),0);transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
.motion-enabled .flow-lines path{stroke-dasharray:2200;stroke-dashoffset:0;animation:energy-draw 3.4s cubic-bezier(.16,.65,.3,1) var(--flow-delay,0ms) both}
.motion-enabled .energy-plane{animation:plane-arrive 3.8s cubic-bezier(.16,.65,.3,1) both}
.motion-enabled .plane-two{animation-delay:.14s}
.motion-enabled .plane-three{animation-delay:.28s}
.motion-enabled .hero-bottom a>span{animation:scroll-hint 1.5s ease-in-out 3}
.motion-enabled .media-reveal{clip-path:inset(8% 6% 8% 6%);opacity:.35;transition:clip-path 1.45s cubic-bezier(.22,1,.36,1),opacity 1s ease}
.motion-enabled .media-reveal.is-visible{clip-path:inset(0);opacity:1}
.motion-enabled .project-visual .visual-center{transform:translate3d(0,var(--media-drift,0px),0);transition:transform .8s cubic-bezier(.22,1,.36,1)}
.motion-enabled .project-visual::after{transform:translate3d(0,calc(var(--media-drift,0px) * -1),0) rotate(35deg);transition:transform .8s cubic-bezier(.22,1,.36,1)}
/* The actual plant photo/video will use this media layer. */
.project-media{position:absolute;inset:-5%;width:110%;height:110%;object-fit:cover}
.motion-enabled .project-media{transform:translate3d(0,var(--media-drift,0px),0) scale(var(--media-scale,1));transition:transform .8s cubic-bezier(.22,1,.36,1)}
.motion-stopped{scroll-behavior:auto}
.motion-stopped .round-arrow,.motion-stopped .site-header nav a::after{transition:none}
@keyframes energy-draw{from{stroke-dashoffset:2200;opacity:0}30%{opacity:1}to{stroke-dashoffset:0;opacity:1}}
@keyframes plane-arrive{from{translate:48px 0}to{translate:0 0}}
@keyframes scroll-hint{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media(max-width:720px){.theme-controls{flex-wrap:wrap;justify-content:flex-start;gap:3px}.compare-label{display:none}.theme-controls button{padding-left:7px;padding-right:7px}.theme-controls .motion-toggle{padding-left:9px;margin-left:auto}.motion-enabled .reveal{transform:translate3d(0,16px,0)}.motion-enabled .reveal.is-visible{transform:none}.motion-enabled .line-mask.reveal,.motion-enabled .section-heading{transform:none}.motion-enabled .media-reveal{clip-path:inset(5% 3% 5% 3%)}.motion-enabled .media-reveal.is-visible{clip-path:inset(0)}}
@media(prefers-reduced-motion:reduce){.motion-enabled .reveal,.motion-enabled .line-mask .line-text,.motion-enabled .hero-art svg,.motion-enabled .project-visual .visual-center,.motion-enabled .project-media{opacity:1!important;transform:none!important;transition:none!important}.motion-enabled .media-reveal{clip-path:none!important;opacity:1!important;transition:none!important}.motion-enabled .flow-lines path{stroke-dashoffset:0!important}.motion-enabled .section-heading::after{transform:scaleX(1)!important}.motion-enabled .project-visual::after{transform:rotate(35deg)!important}}
