/* Motion is progressive enhancement; source content remains readable. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
header{position:relative;z-index:2}.hero h1 .line{overflow:clip;padding-block:.07em;margin-block:-.07em;animation:none}.hero h1 .line>span{display:inline-block;animation:type-arrive 1.1s var(--motion-ease) both}.hero h1 .second>span{animation-delay:.15s}.connector{animation:arrow-arrive 1.2s var(--motion-ease) both}.hero .eyebrow,.hero-bottom{animation:quiet-arrive 1s .25s var(--motion-ease) both}
@keyframes type-arrive{from{transform:translateY(115%) rotate(3deg)}to{transform:translateY(0) rotate(0)}}@keyframes arrow-arrive{from{opacity:0;transform:translate(-35px,-25px)}to{opacity:1;transform:translate(0,0)}}@keyframes quiet-arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
.assembly{border-top:1px solid var(--line);position:relative}.assembly-stage{padding:36px var(--gutter) 20px;background:var(--bg);position:relative;overflow:clip}.assembly-meta{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em}.assembly-count{color:var(--accent);font-variant-numeric:tabular-nums}.assembly-field{height:480px;position:relative;margin:30px 0}.particle{position:absolute;font:600 clamp(18px,3.9vw,66px)/1 Barlow,sans-serif;white-space:nowrap;transform-origin:0 50%}.particle:nth-of-type(3n+2){color:var(--accent)}.assembly-headings{position:absolute;top:12%;width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;color:var(--accent);font-size:clamp(10px,1.2vw,17px);letter-spacing:.05em}.assembly-headings span{border-top:1px solid var(--accent);padding-top:14px}.assembly-whole{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.assembly-whole>span{font:600 clamp(80px,23vw,340px)/.9 Barlow;letter-spacing:-.025em;color:var(--accent)}html[lang=en] .assembly-whole>span{font-size:clamp(64px,17vw,255px)}.assembly-whole small{font-size:11px;letter-spacing:.18em;margin-top:32px}.assembly-guide{position:absolute;inset:0;border:1px solid var(--line);border-radius:50%;opacity:.5;transform:scale(.7)}.assembly-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px;font-size:13px;position:relative;z-index:1}.assembly-bottom p{max-width:350px;line-height:1.6;margin:0}.assembly-bottom a{padding:12px 0;border-bottom:1px solid var(--ink)}.assembly-track{height:2px;background:var(--line);margin-top:25px}.assembly-track span{display:block;height:100%;background:var(--accent);transform-origin:left;transform:scaleX(0)}
/* Without JS or with reduced motion, show the organized whole directly. */
.assembly:not(.motion-on) .particle,.assembly:not(.motion-on) .assembly-headings{display:none}.assembly:not(.motion-on) .assembly-guide{opacity:.25}.assembly.motion-on{height:260svh}.motion-on .assembly-stage{position:sticky;top:0;height:100svh;display:flex;flex-direction:column}.motion-on .assembly-field{flex:1;min-height:0}.motion-on .assembly-whole,.motion-on .assembly-headings{opacity:0}.motion-on .particle{will-change:transform,opacity}.assembly.motion-on .assembly-stage{contain:layout paint}
.perspective-evidence{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:70px 0 45px}.perspective-evidence a{border-top:1px solid var(--ink);padding:20px 0 30px;transition:opacity .4s var(--motion-ease),transform .6s var(--motion-ease);min-width:0}.perspective-evidence a>span{font-size:11px;color:var(--accent)}.perspective-evidence h3{font-family:Barlow;font-size:clamp(38px,5vw,76px);font-weight:600;letter-spacing:-.025em;margin:35px 0 25px}.perspective-evidence p{line-height:1.6;font-size:14px;min-height:50px}.perspective-evidence small{font-size:11px}.perspective-evidence a.is-muted{opacity:.35}.perspective-evidence a.is-selected{transform:translateY(-12px)}.perspective-evidence a:hover{transform:translateY(-6px)}.reveal-ready{opacity:0;transform:translateY(36px);transition:opacity .85s var(--motion-ease),transform .85s var(--motion-ease)}.reveal-ready.is-visible{opacity:1;transform:none}summary{position:relative;transition:padding .4s var(--motion-ease),background .4s var(--motion-ease)}summary:hover{padding-left:18px;background:var(--line)}details[open]>p{animation:quiet-arrive .5s var(--motion-ease)}.text-link,.contact,.footer-link{transition:color .25s var(--motion-ease)}.text-link:hover,.contact:hover,.footer-link:hover{color:var(--accent)}.footer-link span{transition:transform .4s var(--motion-ease)}.footer-link:hover span{transform:translate(7px,-7px)}.court-dot{transition:transform 1s var(--motion-ease)}.sport-copy:hover .court-dot{transform:translate(65px,-25px)}.hero-foot>span:last-child{color:var(--accent)}
@media(max-width:800px){.assembly.motion-on{height:225svh}.particle{font-size:4.1vw}.assembly-headings{gap:10px;font-size:10px}.perspective-evidence{gap:20px}.perspective-evidence h3{font-size:45px}}
@media(max-width:520px){.assembly-stage{padding-top:25px}.assembly.motion-on{height:210svh}.assembly-meta{font-size:8px}.assembly-field{height:360px}.particle{font-size:clamp(16px,5.1vw,26px)}.assembly-headings{top:0;display:block;height:100%}.assembly-headings span{position:absolute;left:0;right:0;font-size:10px}.assembly-headings span:nth-child(1){top:2%}.assembly-headings span:nth-child(2){top:26%}.assembly-headings span:nth-child(3){top:50%}.assembly-headings span:nth-child(4){top:74%}.assembly-bottom{font-size:11px;align-items:start}.assembly-bottom p{max-width:185px}.assembly-bottom a{max-width:110px;line-height:1.5;padding-top:0}.assembly-whole small{font-size:8px;letter-spacing:.12em}.perspective-evidence{grid-template-columns:1fr;margin:40px 0;gap:5px}.perspective-evidence a{display:grid;grid-template-columns:35px 1fr;column-gap:15px;padding-bottom:20px}.perspective-evidence h3{font-size:44px;margin:0}.perspective-evidence p,.perspective-evidence small{grid-column:2}.perspective-evidence p{min-height:0}.perspective-evidence a.is-selected{transform:translateX(5px)}.lens-caption{margin-top:25px}.assembly-guide{border-radius:40%}}
@media(prefers-reduced-motion:reduce){.hero h1 .line>span,.connector,.hero .eyebrow,.hero-bottom,details[open]>p{animation:none!important}.reveal-ready{opacity:1;transform:none}.assembly.motion-on{height:auto}.motion-on .assembly-stage{position:relative;height:auto}.motion-on .assembly-field{flex:none;height:360px}.particle,.assembly-headings{display:none!important}.motion-on .assembly-whole{opacity:1!important;transform:none!important}.perspective-evidence a,.court-dot{transform:none!important}}
.hero h1 .line{padding-block:.22em;margin-block:-.22em}
.motion-tools{display:flex;align-items:center;gap:28px}#motion-toggle{background:none;border:0;border-bottom:1px solid var(--line);font-size:10px;min-height:32px;padding:0 0 4px}#motion-toggle[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.motion-reduced{scroll-behavior:auto}.motion-reduced *{animation:none!important;transition:none!important}.motion-reduced .reveal-ready{opacity:1;transform:none}.motion-reduced .perspective-evidence a,.motion-reduced .court-dot{transform:none!important}@media(max-width:520px){.motion-tools{gap:12px}#motion-toggle{font-size:9px}.assembly-meta{align-items:center;gap:15px}}
