/* Form Club: class character expressed as an elastic movement study. */
.club-hero{grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start;padding-block:58px 74px}
.hero-copy{position:relative;padding-top:15px}
.hero-copy h1{font-size:clamp(4rem,7.7vw,6rem);position:relative;z-index:1}
.hero-copy>p{max-width:30ch}
.studio-window{margin:48px 0 0 44px;width:min(280px,80%);transform:rotate(-5deg);transform-origin:50% 50%}
.studio-window img{width:100%;aspect-ratio:1.5;object-fit:cover;border:6px solid var(--light)}
.studio-window figcaption{padding-top:12px;font-size:.75rem;line-height:1.5;transform:rotate(5deg);color:var(--light)}
.studio-window figcaption span{color:var(--muted)}
.movement-experience{min-width:0}
.movement-poster{position:relative;min-height:570px;aspect-ratio:1.04;background:var(--coral);color:var(--ink);overflow:hidden;isolation:isolate}
.poster-head,.poster-foot{position:absolute;left:25px;right:25px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.75rem;line-height:1.4;z-index:3}
.poster-head{top:14px;min-height:44px}.poster-head>span{font-weight:700;max-width:16ch}
.poster-foot{bottom:20px;border-top:1px solid #a8482b;padding-top:13px}.poster-foot>span:last-child{font-size:.75rem;letter-spacing:.035em}
.motion-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 0 8px 10px;border:0;background:transparent;color:var(--ink);font:700 .75rem/1.4 Manrope,sans-serif;cursor:pointer;white-space:nowrap}
.motion-toggle svg{width:15px;height:15px;stroke-width:2.5}.motion-toggle:hover span{text-decoration:underline;text-underline-offset:3px}
.motion-toggle[aria-pressed="true"] svg{fill:currentColor;stroke-width:0}.motion-toggle:disabled{cursor:default}
.motion-toggle:disabled svg{display:none}.motion-toggle:disabled:hover span{text-decoration:none}
.movement-sculpture{position:absolute;inset:78px 36px 144px;transform:rotate(-13deg);z-index:2}
.movement-loop{display:block;position:absolute;left:50%;top:50%;width:48%;height:91%;transform:translate(-50%,-50%) translateX(calc((var(--loop) - 4)*16px)) rotate(-26deg);transition:transform 500ms cubic-bezier(.16,1,.3,1);pointer-events:none}
.movement-loop i{display:block;width:100%;height:100%;border:9px solid var(--ink);border-radius:50%;transform:scaleX(.82);animation:none}
.movement-loop:nth-child(5) i{border-color:var(--light)}
.poster-word{position:absolute;z-index:1;bottom:69px;left:20px;right:20px;font-family:BarlowCondensed,Manrope,sans-serif;font-weight:700;font-size:clamp(6rem,12vw,11rem);letter-spacing:-.03em;line-height:.85;white-space:nowrap;color:var(--ink);overflow:visible}
.poster-word>span{display:block;transform-origin:left center}
.movement-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-top:0;gap:0}
.movement-picker button{font:700 .8rem/1.4 Manrope,sans-serif;color:var(--light);background:transparent;border:0;min-height:57px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer}
.movement-picker button+button{border-left:1px solid var(--line)}
.movement-picker button>svg{width:16px;height:16px;transform:rotate(-45deg)}
.movement-picker button[aria-pressed="true"]{background:var(--light);color:var(--ink)}
.movement-picker button:hover{text-decoration:underline;text-underline-offset:4px}
.movement-picker button:focus-visible,.motion-toggle:focus-visible{outline:3px solid currentColor;outline-offset:-5px}
.movement-description{padding-top:22px;min-height:111px}.movement-description>p:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:18px}
.movement-description strong{font:700 1.65rem/.95 BarlowCondensed,Manrope,sans-serif;letter-spacing:0;color:var(--coral)}
.movement-description [data-movement-duration]{font-size:.75rem;color:var(--muted);text-align:right}
.movement-description>p+p{font-size:.85rem;color:var(--light);margin-top:12px;max-width:45ch}
.movement-disclaimer{color:var(--muted);font-size:.75rem;margin-top:12px}
[data-mode="mobility"] .movement-loop{transform:translate(-50%,-50%) rotate(calc((var(--loop) - 4)*19deg)) translateX(28px);width:72%;height:73%}
[data-mode="mobility"] .movement-loop i{transform:scaleX(.52);border-width:8px}
[data-mode="mobility"] .poster-word{font-size:clamp(5rem,10.3vw,9rem)}
[data-mode="circuit"] .movement-sculpture{inset:88px 55px 160px;transform:rotate(0deg)}
[data-mode="circuit"] .movement-loop{width:27%;height:40%;transform:translate(-50%,-50%) rotate(calc(var(--loop)*40deg)) translateY(-105px)}
[data-mode="circuit"] .movement-loop i{transform:scaleX(1);border-width:8px;border-radius:44%}
[data-mode="circuit"] .poster-word{font-size:clamp(5rem,10.3vw,9rem)}
[data-keyboard="true"] .movement-loop{transition:none}
[hidden]{display:none!important}
@media(prefers-reduced-motion:no-preference){
  .motion-ready .movement-loop i{animation:form-lift 3.8s cubic-bezier(.65,0,.35,1) infinite;animation-delay:calc(var(--loop)*-130ms);animation-play-state:paused}
  .motion-ready[data-mode="mobility"] .movement-loop i{animation-name:form-reach;animation-duration:6.8s;animation-delay:calc(var(--loop)*-260ms)}
  .motion-ready[data-mode="circuit"] .movement-loop i{animation-name:form-round;animation-duration:2.6s;animation-delay:calc(var(--loop)*-180ms)}
  .motion-ready[data-mode="circuit"] .movement-sculpture{animation:form-orbit 18s linear infinite;animation-play-state:paused}
  .motion-ready[data-motion="playing"][data-visible="true"] .movement-loop i,.motion-ready[data-motion="playing"][data-visible="true"][data-mode="circuit"] .movement-sculpture{animation-play-state:running}
  @supports(animation-timeline:view()){
    .motion-ready[data-motion="playing"] .studio-window{animation:form-photo-scroll linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
    .motion-ready[data-motion="playing"] .poster-word>span{animation:form-word-scroll linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  }
}
@keyframes form-lift{0%,100%{transform:scale(.82,1) translateY(-8px)}45%,55%{transform:scale(1.12,.65) translateY(15px)}}
@keyframes form-reach{0%,100%{transform:scaleX(.38) rotate(-13deg)}50%{transform:scaleX(.9) rotate(20deg)}}
@keyframes form-round{0%,100%{transform:scale(.78) rotate(0deg)}45%{transform:scale(1.13) rotate(35deg)}}
@keyframes form-orbit{to{transform:rotate(360deg)}}
@keyframes form-photo-scroll{from{transform:rotate(-8deg) translateY(14px)}to{transform:rotate(6deg) translateY(-22px)}}
@keyframes form-word-scroll{from{transform:translateX(-8px) skewX(-5deg)}to{transform:translateX(22px) skewX(5deg)}}
@media(max-width:1050px){
  .club-hero{gap:32px;grid-template-columns:.85fr 1.15fr}.movement-poster{min-height:490px;aspect-ratio:auto}
  .movement-sculpture{inset:80px 17px 130px}.movement-loop{width:51%;transform:translate(-50%,-50%) translateX(calc((var(--loop) - 4)*11px)) rotate(-26deg)}
  [data-mode="circuit"] .movement-sculpture{inset:85px 24px 145px}[data-mode="circuit"] .movement-loop{transform:translate(-50%,-50%) rotate(calc(var(--loop)*40deg)) translateY(-84px)}
  .poster-word{font-size:7.5rem}[data-mode="mobility"] .poster-word,[data-mode="circuit"] .poster-word{font-size:6.3rem}
  .poster-head,.poster-foot{left:18px;right:18px}.poster-foot>span:last-child{max-width:11ch;text-align:right}
  .movement-picker button{padding:13px 11px;font-size:.75rem}.movement-picker button>svg{display:none}
  .movement-description>p:first-child{align-items:start}.movement-description [data-movement-duration]{max-width:19ch}
  .studio-window{margin-left:16px;margin-top:45px}
}
@media(max-width:700px){
  .club-hero{display:flex;flex-direction:column;gap:0;padding-top:32px;padding-bottom:45px}
  .hero-copy{display:contents}.hero-copy h1{order:0;font-size:clamp(4rem,15.5vw,6rem);line-height:.9;margin-bottom:32px;max-width:10ch}
  .movement-experience{order:1;width:100%}.hero-copy>p{order:2;max-width:35ch;margin:31px 0 22px}.hero-copy>.button{order:3;align-self:start}
  .studio-window{order:4;margin:35px 0 0 auto;width:180px;display:flex;flex-direction:column;align-self:end;transform:rotate(-5deg)}
  .studio-window figcaption{font-size:.75rem}.movement-poster{min-height:450px;aspect-ratio:auto}
  .movement-sculpture{inset:75px 19px 125px}.movement-loop{width:48%;transform:translate(-50%,-50%) translateX(calc((var(--loop) - 4)*11px)) rotate(-26deg)}
  .movement-loop i{border-width:7px}.poster-word{font-size:7.5rem;left:18px;bottom:73px}
  [data-mode="mobility"] .poster-word,[data-mode="circuit"] .poster-word{font-size:6.2rem}
  [data-mode="circuit"] .movement-sculpture{inset:83px 30px 135px}[data-mode="circuit"] .movement-loop{transform:translate(-50%,-50%) rotate(calc(var(--loop)*40deg)) translateY(-80px);border-width:7px}
  .poster-head{left:17px;right:17px;top:10px}.poster-foot{left:18px;right:18px;font-size:.75rem;bottom:19px}
  .poster-foot>span:last-child{font-size:.75rem;max-width:13ch}.poster-head>span{font-size:.75rem}
  .motion-toggle{font-size:.75rem;gap:6px}.movement-picker button{font-size:.75rem;padding:14px 13px;min-height:54px}
  .movement-description{min-height:106px;padding-top:20px}.movement-description strong{font-size:1.5rem}.movement-description [data-movement-duration]{font-size:.75rem;max-width:22ch}
  .movement-description>p+p{font-size:.8rem}.movement-disclaimer{font-size:.75rem;margin-top:0}
}
@media(max-width:360px){.movement-poster{min-height:409px}.movement-loop i{border-width:6px}.movement-loop{transform:translate(-50%,-50%) translateX(calc((var(--loop) - 4)*9px)) rotate(-26deg)}.poster-word{font-size:6.5rem}[data-mode="mobility"] .poster-word,[data-mode="circuit"] .poster-word{font-size:5.3rem}[data-mode="circuit"] .movement-loop{transform:translate(-50%,-50%) rotate(calc(var(--loop)*40deg)) translateY(-66px)}.motion-toggle{gap:4px;font-size:.75rem}.poster-head>span{max-width:12ch}.movement-picker button{font-size:.75rem;padding:12px 9px}}
@media(prefers-reduced-motion:reduce){.movement-loop{transition:none}.movement-loop i,.movement-sculpture,.poster-word>span,.studio-window{animation:none!important}.studio-window{transform:rotate(-5deg)}}

/* Keep sculpture positions in the stylesheet so inline styles stay blocked. */
.movement-loop:nth-child(1){--loop:0}
.movement-loop:nth-child(2){--loop:1}
.movement-loop:nth-child(3){--loop:2}
.movement-loop:nth-child(4){--loop:3}
.movement-loop:nth-child(5){--loop:4}
.movement-loop:nth-child(6){--loop:5}
.movement-loop:nth-child(7){--loop:6}
.movement-loop:nth-child(8){--loop:7}
.movement-loop:nth-child(9){--loop:8}

/* MotionSites type-as-architecture adaptation; sculpture remains the single focal motion. */
.hero-copy h1{max-width:none;font-size:clamp(4.5rem,8.1vw,6rem);line-height:.94}
.movement-ribbon{position:relative;overflow:hidden;height:65px;margin-bottom:14px}
.movement-ribbon>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 18px;background:var(--light);color:var(--ink);transform:rotate(-3deg);transform-origin:center;font:700 1.45rem/1 BarlowCondensed,Manrope,sans-serif;letter-spacing:.025em;position:absolute;inset:10px -3px auto}
.movement-ribbon span+span{padding-left:18px;border-left:1px solid var(--ink)}
.movement-poster{min-height:520px}
.studio-window{margin-top:34px}
@media(max-width:1050px){.movement-poster{min-height:480px}.movement-ribbon>div{font-size:1.2rem;gap:10px;padding-inline:14px}.movement-ribbon span+span{padding-left:12px}}
@media(max-width:700px){
  .club-hero{padding-top:24px;padding-bottom:44px}
  .hero-copy h1{font-size:clamp(4.5rem,21vw,6rem);line-height:.94;max-width:none;margin-bottom:17px;align-self:stretch}
  .hero-copy h1 .form-title-top{font-size:.49em;line-height:1.12;letter-spacing:.045em;margin-bottom:4px}
  .hero-copy h1 .form-title-bottom{line-height:.91;letter-spacing:-.02em}
  .movement-ribbon{height:53px;margin-bottom:12px}
  .movement-ribbon>div{font-size:1.1rem;padding:10px 12px;gap:10px;inset:8px -2px auto}
  .movement-ribbon span+span{padding-left:10px}
  .movement-poster{min-height:460px}
  .movement-sculpture{inset:70px 40px 235px;transform:rotate(-13deg) scale(.86)}
  .movement-loop{width:46%;height:95%;transform:translate(-50%,-50%) translateX(calc((var(--loop) - 4)*10px)) rotate(-26deg)}
  .movement-loop i{border-width:6px}
  .poster-word{font-size:6.6rem;bottom:98px;left:18px}
  [data-mode="mobility"] .poster-word,[data-mode="circuit"] .poster-word{font-size:5.6rem}
  [data-mode="circuit"] .movement-sculpture{inset:75px 40px 240px}
  [data-mode="circuit"] .movement-loop{transform:translate(-50%,-50%) rotate(calc(var(--loop)*40deg)) translateY(-65px);height:42%}
  .poster-foot{font-size:.75rem;bottom:16px;gap:10px;padding-top:11px}
  .poster-foot>span:last-child{font-size:.75rem;max-width:12ch}
  .poster-head>span{font-size:.75rem}
  .motion-toggle{font-size:.8125rem}
  .movement-picker button{font-size:.8125rem;min-height:55px}
  .movement-description [data-movement-duration],.schedule-day li>span:last-child{font-size:.8125rem}
  .movement-description{min-height:100px;padding-top:20px}
  .hero-copy>p{margin-top:25px}
  .studio-window{width:220px;margin-top:30px}
}
@media(max-width:360px){
  .hero-copy h1{font-size:4.5rem}
  .movement-ribbon>div{font-size:.94rem;gap:8px;padding-inline:9px}
  .movement-ribbon span+span{padding-left:9px}
  .movement-poster{min-height:440px}
  .movement-sculpture{inset:68px 36px 225px}
  .poster-word{font-size:6rem}
  [data-mode="mobility"] .poster-word,[data-mode="circuit"] .poster-word{font-size:5rem}
  [data-mode="circuit"] .movement-loop{transform:translate(-50%,-50%) rotate(calc(var(--loop)*40deg)) translateY(-58px)}
}
