/* Expressive movement, with stable layout boxes for every scroll-driven layer. */






.portfolio-grid{position:relative;isolation:isolate}
.portfolio-slot{min-width:0;perspective:1200px}
.portfolio-flight{height:100%;transform-origin:50% 85%}
.portfolio-flight>.portfolio-card{height:100%}
.portfolio-slot:focus-within{z-index:5;overflow:visible}
.portfolio-slot:focus-within .portfolio-flight{transform:none!important}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .portfolio-card:hover{transform:perspective(1000px) translateY(-12px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg))!important}
}
.community{overflow:visible;padding-top:0}
.community-sequence{margin:0 calc(-1*var(--gutter)) 55px;background:var(--ink);color:var(--paper)}
.community-stage{position:relative;isolation:isolate;overflow:clip;padding:42px var(--gutter) 65px;background:var(--ink)}
.community-stage .section-kicker{margin-bottom:70px;position:relative;z-index:2;border-color:#ffffff35}
.community-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:45px;margin:0}
.community-heading h2{flex:none;width:100%;font-size:clamp(48px,6.25vw,128px);line-height:1.08;position:relative;z-index:1}
.community-line{display:block;transform-origin:center center}
.community-line-two>.serif-word{position:relative;isolation:isolate;display:inline-block}
.community-underline{position:absolute;left:-2%;bottom:-.23em;width:104%;height:.47em;z-index:-1;overflow:visible;pointer-events:none}
.community-underline path{stroke:var(--yellow);stroke-width:20;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}






.gallery-motion-slot{position:relative}
.motion-enabled .community-gallery{clip-path:inset(var(--gallery-inset,0%) round var(--gallery-radius,0px));translate:0 var(--gallery-y,0px);scale:var(--gallery-scale,1);transform-origin:center center}
.community-gallery:focus-within{clip-path:none!important;translate:none!important;scale:1!important}
.curriculum-list>div{position:relative}
.motion-enabled .curriculum-list>div{border-top-color:transparent}
.motion-enabled .curriculum-list>div:before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:#ffffff65;transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease)}
.motion-enabled .curriculum-list>div .track-name{translate:65px 0;transition:translate 1s var(--ease)}
.motion-enabled .curriculum-list>div .track-num{color:var(--yellow);opacity:.4;transition:opacity .8s var(--ease)}
.motion-enabled .curriculum-list>div.is-in:before{transform:scaleX(1)}
.motion-enabled .curriculum-list>div.is-in .track-name{translate:0 0}
.motion-enabled .curriculum-list>div.is-in .track-num{opacity:1}
.motion-enabled .curriculum-list>div:nth-child(2):before,.motion-enabled .curriculum-list>div:nth-child(2) .track-name{transition-delay:.08s}
.motion-enabled .curriculum-list>div:nth-child(3):before,.motion-enabled .curriculum-list>div:nth-child(3) .track-name{transition-delay:.16s}
.motion-enabled .curriculum-list>div:nth-child(4):before,.motion-enabled .curriculum-list>div:nth-child(4) .track-name{transition-delay:.24s}
.motion-enabled .curriculum-list>div:nth-child(5):before,.motion-enabled .curriculum-list>div:nth-child(5) .track-name{transition-delay:.32s}
.join{isolation:isolate}
.motion-enabled .join{background:var(--violet)}
.motion-enabled .join:before{content:'';position:absolute;left:50%;top:50%;width:var(--iris-size,200vmax);height:var(--iris-size,200vmax);border-radius:50%;background:var(--yellow);transform:translate(-50%,-50%) scale(var(--iris-scale,1.1));z-index:-1;pointer-events:none}

/* Only roomy viewports pin. Scroll remains native through each brief hold. */
@media(min-width:900px) and (min-height:700px) and (prefers-reduced-motion:no-preference){
  .motion-enabled .community-sequence{height:190svh}
  .motion-enabled .community-stage{position:sticky;top:0;height:100svh;display:flex;align-items:center;justify-content:center;padding:100px var(--gutter) 65px}
  .motion-enabled .community-stage .section-kicker{position:absolute;top:36px;left:var(--gutter);right:var(--gutter);margin:0}
  .motion-enabled .community-heading{gap:clamp(30px,5vh,70px)}
  .motion-enabled .community-heading h2{font-size:clamp(48px,min(6.25vw,10svh),128px)}
  
  
  
}
@media(max-width:899px), (max-height:699px){
  .community-stage{padding-top:45px;padding-bottom:55px}
  .community-heading{gap:38px}
  
  
}
@media(min-width:1650px){}
@media(max-width:1100px){}
@media(max-width:760px){
  
  .portfolio-slot{overflow:clip;padding:0 0 12px;margin-bottom:-12px}
  .community-sequence{margin-bottom:20px}
  .community-stage{padding-top:35px;padding-bottom:50px}
  .community-stage .section-kicker{margin-bottom:55px}
  .community-heading h2{font-size:clamp(36px,9.2vw,70px);line-height:1.13;letter-spacing:-.06em}
  .community-line-one{margin-bottom:.12em}
  .community-heading{gap:38px}
  
  
  .curriculum-list{overflow:clip}
  .motion-enabled .curriculum-list>div .track-name{translate:22px 0}
  .motion-enabled .curriculum-list>div.is-in .track-name{translate:0 0}
}
@media(prefers-reduced-motion:reduce){
  .portfolio-flight,.community-line,.community-stamp{transform:none!important;opacity:1!important}
  .hero-doodle path,.community-underline path,.stat-orbit path{stroke-dashoffset:0!important}
  .community-gallery{clip-path:none!important;translate:none!important;scale:1!important}
  
}

/* Community scene: the two Squad photos open like a hand of cards, then the headline sweeps in and the stamp lands. */
.community-collage{position:relative;width:min(520px,80vw);aspect-ratio:1.4;margin:0 auto;z-index:1;--spread:1}
.motion-enabled .community-collage{--spread:0}
.community-collage .photo-main{position:absolute;left:11%;top:0;width:78%;height:100%;background:var(--paper);border:7px solid var(--paper);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 44px #0007;transform:translateX(calc(var(--spread)*-14%)) rotate(calc(var(--spread)*-4deg));z-index:2;will-change:transform}
.community-collage .photo-main img{flex:1;min-height:0;width:100%;object-fit:cover;object-position:55% center}
.community-collage .photo-back{position:absolute;left:27%;top:8%;width:46%;height:84%;border:6px solid var(--paper);overflow:hidden;box-shadow:0 18px 32px #0006;transform:translate(calc(var(--spread)*118%),calc(var(--spread)*-12%)) rotate(calc(var(--spread)*13deg));z-index:1;will-change:transform}
.community-collage .photo-back img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.community-stamp{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:150px;height:150px;border-radius:50%;background:var(--yellow);color:var(--ink);box-shadow:0 14px 34px #0006;z-index:1;transform:rotate(4deg);margin:0}
.community-stamp>b{font-size:36px;font-weight:700;letter-spacing:-.04em;line-height:1.1}
.community-stamp small{font-size:13px;text-align:center;line-height:1.2;margin-top:2px}
.motion-enabled .community-stamp{opacity:0}
@media(min-width:900px) and (min-height:700px) and (prefers-reduced-motion:no-preference){
  .motion-enabled .community-heading{gap:clamp(22px,4svh,46px)}
  .motion-enabled .community-collage{width:min(560px,calc(33svh * 1.4))}
  .motion-enabled .community-stamp{width:clamp(112px,16svh,150px);height:clamp(112px,16svh,150px)}
  .motion-enabled .community-stamp>b{font-size:clamp(27px,3.9svh,36px)}
  .motion-enabled .community-stamp small{font-size:clamp(11px,1.45svh,13px)}
}
@media(max-width:760px){.community-collage{width:min(400px,74vw)}.community-collage .photo-main{border-width:5px;transform:translateX(calc(var(--spread)*-8%)) rotate(calc(var(--spread)*-4deg))}.community-collage .photo-back{transform:translate(calc(var(--spread)*62%),calc(var(--spread)*-10%)) rotate(calc(var(--spread)*12deg))}.community-collage .photo-back{border-width:4px}.community-stamp{width:124px;height:124px}.community-stamp>b{font-size:29px}.community-stamp small{font-size:11px}}
