/* the Strawberry Jam registration page shorter (sjfold.py): each speaker's message its first lines and "Read more" (the
   class pages' bio preview, class-apply.css), each heading under "After you register" one closed fold (seminar.css's
   cls-topic). Neither file loads here. */
.sj-speaker-body{text-align:left}
.sj-speaker-body .cls-bio-t{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.sj-speaker-body .cls-bio-body{max-height:calc(var(--fs-b,16px)*2.1*3);overflow:hidden;
  -webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
.sj-speaker-body .cls-bio-t:checked~.cls-bio-body{max-height:none;-webkit-mask-image:none;mask-image:none}
.sj-speaker-body .cls-bio-more{display:inline-flex;align-items:center;gap:8px;margin:10px 0 0;cursor:pointer;font-size:14px;
  letter-spacing:.1em;color:var(--navy,#2f5d34);border-bottom:1px solid var(--navy-thread,#c6d6e4);padding-bottom:3px}
.sj-speaker-body .cls-bio-more::after{content:"+";font-size:16px;line-height:1}
.sj-speaker-body .cls-bio-t:checked~.cls-bio-more::after{content:"\2212"}
.sj-speaker-body .cls-bio-more .c,.sj-speaker-body .cls-bio-t:checked~.cls-bio-more .o{display:none}
.sj-speaker-body .cls-bio-t:checked~.cls-bio-more .c{display:inline}
.sj-speaker-body .cls-bio-t:focus-visible~.cls-bio-more{outline:2px solid var(--navy,#2f5d34);outline-offset:4px}
.sj-reg-fold{border-top:1px solid var(--hair,#c6d6e4);text-align:left}
.sj-reg-fold:last-child{border-bottom:1px solid var(--hair,#c6d6e4)}
.sj-reg-fold>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;
  gap:var(--s4,16px);padding:var(--s4,16px) 0;color:var(--navy,#2f5d34);font-size:var(--fs-b);letter-spacing:.02em}
.sj-reg-fold>summary::-webkit-details-marker{display:none}
.sj-reg-fold>summary::after{content:"+";font-size:var(--fs-h);line-height:1;flex:none}
.sj-reg-fold[open]>summary::after{content:"\2212"}
.sj-reg-fold .cls-topic-in{padding:0 0 var(--s5,24px)}
.sj-reg-fold .cls-topic-in>:first-child{margin-top:0}
/* "About the recording" goes on in the same white as "After you register" (Kohei 2026-10-13 1559496787880968264 via Cid
   1559497120396873789): one step between them (--s7, the phone's band where that is less), not the theme's 56 under the
   folds and polish.css's band over the next section. Specific enough to win over polish.css's band rule, loaded after. */
section.sj-reg:has(+ section.service-body--white){padding-bottom:0}
section.sj-reg + section.service-body.service-body--white{padding-top:min(var(--s7,48px),var(--band,96px)) !important}
/* "Voices from participants" moving by itself and by finger (sj-voices.js; Genio 1559707476801228901 via Cid
   1559707762634793015): a scroll-snap row instead of the theme's keyframe band (a transform does not take a finger).
   The card being read in the middle, its neighbours peeking on both sides, dimmed; the copies at the ends only while
   it moves (is-live). "Reduce motion": the theme's column, as before. */
.sj-voices-inner:has(.sj-swipe){padding:0}
.sj-swipe{position:relative;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;
  scrollbar-width:none;padding:0 calc((100% - var(--sj-card))/2)}
.sj-swipe::-webkit-scrollbar{display:none}
.sj-swipe,.sj-swipe>*{animation:none !important}
.sj-swipe>.sj-voice{scroll-snap-align:center;transition:opacity .6s ease,transform .6s ease}
.sj-swipe:not(.is-live)>.sj-voice--loop{display:none}
.sj-swipe.is-live>.sj-voice--loop{display:flex}
.sj-swipe.is-live>.sj-voice{opacity:.45;transform:scale(.97)}
.sj-swipe.is-live>.sj-voice.is-on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .sj-voices-inner:has(.sj-swipe){padding:0 24px}
  .sj-swipe{overflow:visible;padding:0}
}
