/* One personal connection. Static, readable content is the default. */
.hero-copy,.hero-art{animation:none}
.hero-art{isolation:isolate}
.hero-art>.art-top,.hero-art>.gorilla-window,.hero-art>.art-statement,.hero-art>.art-bottom{position:relative;z-index:1}
.hero-wire{position:absolute;inset:48px -8% auto;width:116%;height:65%;z-index:0;pointer-events:none;overflow:visible;transform:translate3d(var(--wire-x,0px),var(--wire-y,0px),0);transition:transform .65s cubic-bezier(.2,.7,.3,1)}
.wire-shadow{stroke:#201427;stroke-width:34;stroke-linecap:round;opacity:.35}
.wire-ribbon{stroke:var(--lime);stroke-width:22;stroke-linecap:round}
.gorilla-trigger{display:inline-flex;align-items:center;gap:8px;border:0;padding:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer}
.gorilla-trigger>span{font-size:16px;line-height:1}
.gorilla-trigger:disabled{cursor:default}
.gorilla-trigger:disabled>span{display:none}
.gorilla-trigger:not(:disabled):hover{text-decoration:underline;text-underline-offset:5px}
.gorilla-message{position:absolute;z-index:3;top:25%;right:24px;max-width:calc(100% - 48px);padding:14px 18px;background:var(--lime);color:var(--aubergine);border-radius:3px 3px 3px 0;font-size:clamp(17px,1.7vw,25px);line-height:1.25;font-weight:600;letter-spacing:-.025em;box-shadow:0 5px 0 #20142730}
.gorilla-message::after{content:"";position:absolute;left:0;bottom:-12px;border-top:12px solid var(--lime);border-right:14px solid transparent}
.gorilla-message:empty{display:none}
.hero-foot{flex-wrap:wrap;gap:16px 26px}
.motion-toggle{display:inline-flex;align-items:center;gap:9px;min-height:38px;padding:8px 0;border:0;border-bottom:1px solid var(--ink);background:none;color:var(--ink);font-size:12px;line-height:1.35;text-align:left;cursor:pointer}
.motion-toggle::before{content:"";display:block;flex:0 0 9px;width:9px;height:11px;border-inline:3px solid currentColor}
.motion-toggle[aria-pressed="true"]::before{height:0;border:0;border-block:5px solid transparent;border-left:8px solid currentColor}
.motion-toggle:disabled{opacity:.7;cursor:default}
.motion-toggle:disabled::before{width:9px;height:9px;border:1px solid currentColor;border-radius:50%}
.hero h1 .serif,.hero-punch span{background-repeat:no-repeat;background-size:100% 100%}

/* The logo strip is usable even with scripting unavailable or movement paused. */
.marquee-toggle{display:none}
.customer-logo-track{animation:none;transform:none}
.customer-logo-viewport{overflow-x:auto}
.customer-logo-set[aria-hidden="true"]{display:none}
.motion-ready .marquee-toggle{display:inline-block}
.motion-ready[data-motion-state="active"] .customer-logo-track{animation:silverback-customers 100s linear infinite}
.motion-ready[data-motion-state="active"] .customer-logo-viewport{overflow-x:hidden}
.motion-ready[data-motion-state="active"] .customer-logo-set[aria-hidden="true"]{display:flex}
.motion-ready .customer-logo-viewport:is(:hover,:focus-within) .customer-logo-track,
.motion-ready .customer-marquee[data-motion-visible="false"] .customer-logo-track{animation-play-state:paused}
.motion-ready[data-motion-state="reduced"] .marquee-toggle{display:none}

/* The existing team keeps the thread together. */
.team-grid{position:relative;isolation:isolate}
.team-thread{position:absolute;left:0;top:-30px;width:100%;height:66px;z-index:2;pointer-events:none;overflow:visible}
.team-thread-base{stroke:#c9bdcd;stroke-width:2}
.team-thread-ink{stroke:var(--aubergine);stroke-width:2;stroke-linecap:round}
.team-thread-ends{fill:var(--lime);stroke:var(--aubergine);stroke-width:2}
.team-person{position:relative}
.open-ledger dl>div{position:relative}
.open-ledger dl>div::after{content:"";position:absolute;inset:auto 0 -1px;height:2px;background:var(--aubergine);transform-origin:left center}
.open-ledger dl>div:last-child::after{display:none}

/* Only a first visible visit starts an entrance, never a hidden-content gate. */
.motion-ready[data-motion-state="active"] [data-motion-reveal="hero"].is-revealing{animation:sb-arrive .7s both}
.motion-ready[data-motion-state="active"] [data-motion-reveal="hero"].is-revealing h1 .serif{animation:sb-marker .85s .12s both}
.motion-ready[data-motion-state="active"] [data-motion-reveal="hero"].is-revealing .hero-punch span{animation:sb-marker .85s .32s both}
.motion-ready[data-motion-state="active"] [data-motion-reveal="ledger"].is-revealing dl>div{animation:sb-ledger .6s both}
.motion-ready[data-motion-state="active"] [data-motion-reveal="ledger"].is-revealing dl>div:nth-child(2){animation-delay:.18s}
.motion-ready[data-motion-state="active"] [data-motion-reveal="ledger"].is-revealing dl>div:nth-child(3){animation-delay:.36s}
.motion-ready[data-motion-state="active"] [data-motion-reveal="ledger"].is-revealing dl>div::after{animation:sb-ledger-rule .75s .1s both}
.motion-ready[data-motion-state="active"] [data-motion-reveal="ledger"].is-revealing dl>div:nth-child(2)::after{animation-delay:.28s}
.motion-ready[data-motion-state="active"] [data-motion-reveal="team"].is-revealing .team-thread-ink{stroke-dasharray:1;animation:sb-thread 1.1s ease both}
.motion-ready[data-motion-state="active"] .hero-art.is-discovered .gorilla-window img{transform-origin:55% 80%;animation:sb-gorilla .85s ease both}
.motion-ready[data-motion-state="active"] .hero-art.is-discovered .gorilla-message{animation:sb-message .25s ease both}
@keyframes sb-arrive{from{opacity:.55;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes sb-marker{from{background-size:0% 100%}to{background-size:100% 100%}}
@keyframes sb-ledger{from{opacity:.5;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes sb-ledger-rule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes sb-thread{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes sb-gorilla{0%,100%{transform:none}30%{transform:translateX(-5px) rotate(-2deg)}65%{transform:translateX(3px) rotate(1deg)}}
@keyframes sb-message{from{opacity:.6;transform:translateY(6px)}to{opacity:1;transform:none}}

/* A paused page is still fully usable. A system preference always wins. */
html[data-motion-state="paused"],html[data-motion-state="reduced"]{scroll-behavior:auto}
html[data-motion-state="paused"] *,html[data-motion-state="paused"] *::before,html[data-motion-state="paused"] *::after,
html[data-motion-state="reduced"] *,html[data-motion-state="reduced"] *::before,html[data-motion-state="reduced"] *::after{animation:none!important;transition:none!important}
html[data-motion-state="paused"] .button:hover,html[data-motion-state="reduced"] .button:hover,
html[data-motion-state="paused"] .hero-art:hover .gorilla-window,html[data-motion-state="reduced"] .hero-art:hover .gorilla-window{transform:none}
html[data-motion-state="paused"] .team-person:hover img,html[data-motion-state="reduced"] .team-person:hover img{transform:scale(var(--portrait-scale,1))}
html[data-page-hidden="true"] *,html[data-page-hidden="true"] *::before,html[data-page-hidden="true"] *::after,
.motion-ready [data-motion-visible="false"],.motion-ready [data-motion-visible="false"] *,
.motion-ready [data-motion-visible="false"] *::before,.motion-ready [data-motion-visible="false"] *::after{animation-play-state:paused!important;transition:none!important}
@media(hover:none){.hero-art:hover .gorilla-window,.button:hover{transform:none}.team-person:hover img{transform:scale(var(--portrait-scale,1))}}
@media(max-width:1050px) and (min-width:761px){.hero-foot>span:nth-child(2){display:none}}
@media(max-width:760px){
  .hero-wire{top:28px;height:72%;width:122%;left:-11%}
  .wire-ribbon{stroke-width:18}.wire-shadow{stroke-width:28}
  .art-top{gap:12px}.gorilla-trigger{gap:4px;font-size:10px;letter-spacing:.6px}.art-top>span{font-size:10px}
  .gorilla-message{right:18px;top:22%;max-width:calc(100% - 36px);padding:12px 15px}
  .hero-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px}
  .hero-foot>span:first-child{grid-column:1;line-height:1.5}
  .hero-foot>a{grid-column:1;grid-row:2;line-height:1.4}
  .hero-foot .motion-toggle{grid-column:2;grid-row:1/3;max-width:118px}
  .team-thread{display:none}
  .team-grid::before{content:"";position:absolute;left:-13px;top:16px;bottom:65px;width:2px;background:#c9bdcd}
  .team-person::before{content:"";position:absolute;z-index:2;left:-17px;top:16px;width:10px;height:10px;border-radius:50%;background:var(--lime);border:2px solid var(--aubergine)}
}
@media(prefers-reduced-motion:reduce){
  .hero-wire{transform:none;transition:none}
  .hero-art:hover .gorilla-window,.button:hover{transform:none}
  .team-person:hover img{transform:scale(var(--portrait-scale,1))}
}
