/* Layout wrappers are separate from Figma's animated transforms. */
.tree-mark{position:relative;overflow:visible}
.tree-motion-origin{position:absolute;left:50%;top:calc(50% + 270.498px);width:100.534px;height:110.122px;transform:translate(-50%,-50%);pointer-events:none}
.tree-motion{display:block;width:100%;height:100%;overflow:hidden;translate:0 -270.498px;scale:.38}
.tree-motion img{position:absolute;left:-22.74%;top:-22.74%;width:145.47%;height:145.47%;max-width:none;transform:none}
.hero-image,.hero-video{position:absolute;z-index:-3;left:50%;top:51.04%;width:max(126.577vw,225.34svh);height:max(71.2vw,126.577svh);max-width:none;object-fit:cover;transform:translate(-50%,-50%);pointer-events:none}
.hero-video{visibility:hidden}
.hero-video.has-frame{visibility:visible}
.hero-top-glass{position:absolute;inset:0 0 auto;height:152px;background:#ffffff03;pointer-events:none;z-index:-1}
.hero-intro{display:none;position:absolute;inset:0;pointer-events:none;z-index:4}
.hero-motion .hero-intro{display:block}
.intro-circle-position{position:absolute;left:50%;top:50%;width:min(100svh,90vw);aspect-ratio:1;transform:translate(-50%,-50%)}
.intro-circle{width:100%;height:100%;overflow:visible}
.intro-type-position{position:absolute;left:50%;top:54%;transform:translateX(-50%);width:min(640px,90%);text-align:center}
.intro-type{transform-origin:50% 50%}
.intro-name{font:clamp(52px,7vw,101px)/1 var(--display)}
.intro-subtitle{font:clamp(15px,2vw,26px)/1.5 var(--display);letter-spacing:.2em;margin-top:15px}
.intro-name span,.intro-subtitle span,.motion-word{display:inline-block}
.chapter-link small{white-space:nowrap}
.hero-motion .hero-copy:not(.motion-mapped){visibility:hidden}
.hero-motion:not(.hero-ready) .hero-caption,.hero-motion:not(.hero-ready) .chapter-rule{visibility:hidden}
.motion-controls{position:absolute;z-index:6;top:92px;left:4vw;display:flex;gap:8px}
.motion-controls[hidden]{display:none}
.motion-controls button{color:var(--cream);background:#061f2bd9;border:1px solid #d8e7e65c;border-radius:30px;padding:8px 14px;font:11px/1.4 var(--body);min-height:36px}
.motion-controls button:hover{background:#214954}
.motion-controls button[hidden]{display:none}
.hero-motion .masthead a:focus-visible,.hero-motion .menu-toggle:focus-visible{opacity:1!important;translate:0!important}
@media(max-width:760px){
  .hero-image,.hero-video{top:50%;width:100%;height:100%;object-fit:cover;object-position:54% center}
  .intro-type-position{top:390px}
  .intro-circle-position{top:330px;width:95vw}
  .intro-name{font-size:clamp(45px,13vw,85px)}
  .motion-controls{top:89px;left:24px}
  .motion-controls button{font-size:10px;padding:6px 12px;min-height:34px}
}
@media(prefers-reduced-motion:reduce){.hero-intro,.hero-video,.motion-controls{display:none!important}.hero-copy{visibility:visible!important}[data-motion-node]{animation:none!important}}
