.jls-schedule-page{--jls-ink:#191919;--jls-muted:#646460;--jls-accent:#2855da;background:#fcfcfa;color:var(--jls-ink);font-family:'JL Overused Grotesk',sans-serif;font-size:18px;line-height:1.5}
.jls-schedule-page *{box-sizing:border-box}
.jls-schedule-page :is(h1,h2,h3){color:var(--jls-ink)}
.jls-schedule-page :is(h2,h3){font-family:'JL Overused Grotesk',sans-serif}
.jls-schedule-page :is(h1,h2,h3,p,ol){margin:0;padding:0}
.jls-schedule-page a{color:inherit;text-decoration:none;transition:color .2s ease}
.jls-schedule-page :is(a,summary):hover{color:var(--jls-accent)}
.jls-schedule-page :is(a,summary):focus-visible{outline:2px solid var(--jls-accent);outline-offset:6px}
.jls-schedule-page :is(h2,details){scroll-margin-top:110px}
.jls-schedule-shell{width:calc(100% - 96px);max-width:1440px;margin-inline:auto}
.jls-schedule-hero{padding:30px 0 72px}
.jls-schedule-breadcrumbs{font-size:14px;color:var(--jls-muted)}
.jls-schedule-breadcrumbs a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}.jls-schedule-breadcrumbs ol{align-items:center;display:flex;gap:12px;list-style:none}
.jls-schedule-breadcrumbs li+li:before{content:'/';margin-right:12px;color:#a0a09b}
.jls-schedule-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:8%;align-items:end;margin-top:64px}
.jls-schedule-intro h1{font-family:'JL Platypi',serif;font-size:clamp(72px,8vw,128px);font-weight:400;line-height:1.07;letter-spacing:-.065em}
.jls-schedule-intro h1 span{display:block;font-family:'JL Overused Grotesk',sans-serif;font-size:18px;font-weight:500;line-height:1.3;letter-spacing:0;margin-bottom:18px}
.jls-schedule-intro-copy{padding-bottom:8px;max-width:380px}
.jls-schedule-intro-copy p{font-size:20px;line-height:1.45}
.jls-schedule-intro-copy nav{display:flex;gap:32px;margin-top:25px;font-size:16px}
.jls-schedule-intro-copy a{display:inline-flex;align-items:center;gap:12px;min-height:44px}
.jls-schedule-intro-copy a span{transition:transform .2s ease}
.jls-schedule-intro-copy a:hover span{transform:translateY(3px)}
.jls-schedule-upcoming{padding:25px 0 100px}
.jls-schedule-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:40px}
.jls-schedule-section-head h2{font-size:22px;font-weight:500;letter-spacing:-.025em}
.jls-schedule-section-head p{color:var(--jls-muted);font-size:15px}
.jls-schedule-event{display:grid;grid-template-columns:180px minmax(0,1fr) 32px;column-gap:48px;row-gap:16px;position:relative}
.jls-schedule-upcoming .jls-schedule-event{padding:34px 0}
.jls-schedule-event__date{grid-column:1;grid-row:1 / span 2;display:grid;grid-template-columns:auto 1fr;align-content:start;align-items:baseline;column-gap:12px;font-variant-numeric:tabular-nums;line-height:1}
.jls-schedule-event__day{grid-column:1;grid-row:1 / span 2;font-size:72px;font-weight:500;letter-spacing:-.075em}
.jls-schedule-event__month{grid-column:2;grid-row:1;font-size:17px;align-self:end;margin-bottom:5px}
.jls-schedule-event__year{grid-column:2;grid-row:2;font-size:14px;color:var(--jls-muted);align-self:start}
.jls-schedule-event__content{grid-column:2;grid-row:1;min-width:0}
.jls-schedule-event__title{font-size:36px;font-weight:500;line-height:1.1;letter-spacing:-.035em}
.jls-schedule-event__title a{display:inline-block;min-height:44px}
.jls-schedule-event__place{grid-column:2;grid-row:2;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:17px;color:var(--jls-muted);line-height:1.5}
.jls-schedule-event__place a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.jls-schedule-event__separator{opacity:.6}
.jls-schedule-event__arrow{position:absolute;right:0;top:34px;width:28px;height:24px;margin-top:8px;stroke:currentColor;stroke-width:1.5;transition:transform .2s ease,color .2s ease}
.jls-schedule-event:has(.jls-schedule-event__title a:is(:hover,:focus-visible)) .jls-schedule-event__arrow{transform:translateX(4px);color:var(--jls-accent)}
.jls-schedule-upcoming .jls-schedule-event:first-child{padding:0 0 56px;margin-bottom:12px;grid-template-columns:30% minmax(0,1fr) 32px;column-gap:32px;grid-template-rows:auto 1fr}
.jls-schedule-upcoming .jls-schedule-event:first-child .jls-schedule-event__date{display:flex;flex-wrap:wrap;align-content:start;align-items:baseline;gap:0 10px;max-width:290px}
.jls-schedule-upcoming .jls-schedule-event:first-child .jls-schedule-event__day{order:0;flex-basis:100%;font-size:clamp(140px,16vw,220px);line-height:.87;font-weight:400;letter-spacing:-.085em;margin-left:-.055em;margin-bottom:22px}
.jls-schedule-upcoming .jls-schedule-event:first-child .jls-schedule-event__month{order:1;align-self:auto;font-size:21px;margin:0}
.jls-schedule-upcoming .jls-schedule-event:first-child .jls-schedule-event__year{order:2;align-self:auto;font-size:21px}
.jls-schedule-upcoming .jls-schedule-event:first-child .jls-schedule-event__title{font-size:clamp(40px,4.45vw,66px);line-height:1.02;letter-spacing:-.047em;max-width:820px}
.jls-schedule-upcoming .jls-schedule-event:first-child .jls-schedule-event__place{align-self:start;font-size:19px}
.jls-schedule-upcoming .jls-schedule-event:first-child .jls-schedule-event__arrow{top:0;margin-top:14px}
.jls-schedule-archive{padding:90px 0 104px;background:#f2f2ed}
.jls-schedule-archive>.jls-schedule-shell{display:grid;grid-template-columns:30% minmax(0,1fr);gap:32px;align-items:start}
.jls-schedule-section-head--archive{display:block}
.jls-schedule-section-head--archive h2{font-size:48px;letter-spacing:-.045em;line-height:1.1;margin-bottom:22px}
.jls-schedule-section-head--archive p{font-size:18px;max-width:230px}
.jls-schedule-year summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;gap:24px;padding:18px 0;min-height:86px;transition:color .2s ease}
.jls-schedule-year:first-child summary{padding-top:0}
.jls-schedule-year summary::-webkit-details-marker{display:none}
.jls-schedule-year__label{display:flex;align-items:baseline;gap:30px;font-size:48px;line-height:1.1;font-weight:500;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.jls-schedule-year__label span{font-size:15px;font-weight:400;color:var(--jls-muted);letter-spacing:0}
.jls-schedule-year__toggle{width:22px;height:22px;position:relative;flex-shrink:0}
.jls-schedule-year__toggle:before,.jls-schedule-year__toggle:after{content:'';position:absolute;background:currentColor;top:10px;left:0;width:22px;height:1.5px}
.jls-schedule-year__toggle:after{transform:rotate(90deg);transition:transform .2s ease}
.jls-schedule-year[open] .jls-schedule-year__toggle:after{transform:rotate(0)}
.jls-schedule-list--archive{padding:12px 0 36px}
.jls-schedule-list--archive .jls-schedule-event{grid-template-columns:88px minmax(0,1fr) 22px;gap:9px 24px;padding:22px 0}
.jls-schedule-list--archive .jls-schedule-event__title{font-size:24px;line-height:1.18;letter-spacing:-.025em}
.jls-schedule-list--archive .jls-schedule-event__date{column-gap:8px}
.jls-schedule-list--archive .jls-schedule-event__day{font-size:32px;letter-spacing:-.035em}
.jls-schedule-list--archive .jls-schedule-event__month{font-size:14px;margin-bottom:2px}
.jls-schedule-list--archive .jls-schedule-event__year{font-size:12px}
.jls-schedule-list--archive .jls-schedule-event__place{font-size:15px}
.jls-schedule-list--archive .jls-schedule-event__arrow{top:22px;width:21px;height:18px;margin-top:5px}
.jls-schedule-close{padding:96px 0 112px}
.jls-schedule-close__inner{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;align-items:center}
.jls-schedule-close h2{font-size:48px;line-height:1.1;letter-spacing:-.04em;font-weight:500;max-width:480px}
.jls-schedule-close h2 em{font-family:'JL Platypi',serif;font-weight:400}
.jls-schedule-close nav{display:grid;gap:14px}
.jls-schedule-close a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;font-size:21px}
.jls-schedule-close svg{width:28px;height:20px;stroke:currentColor;stroke-width:1.5;flex-shrink:0;transition:transform .2s ease}
.jls-schedule-close a:hover svg{transform:translateX(4px)}
.jls-schedule-empty{font-size:28px;padding:35px 0 50px}
@media(max-width:1023px){.jls-schedule-shell{width:calc(100% - 64px)}.jls-schedule-intro{gap:5%;grid-template-columns:1.2fr 1fr}.jls-schedule-intro h1{font-size:80px}.jls-schedule-intro-copy p{font-size:18px}.jls-schedule-event{grid-template-columns:150px minmax(0,1fr) 28px;column-gap:30px}.jls-schedule-event__title{font-size:32px}.jls-schedule-upcoming .jls-schedule-event:first-child{column-gap:24px}.jls-schedule-upcoming .jls-schedule-event:first-child .jls-schedule-event__title{font-size:44px}.jls-schedule-section-head--archive h2{font-size:40px}.jls-schedule-close h2{font-size:40px}.jls-schedule-close__inner{gap:8%}}
@media(max-width:767px){.jls-schedule-shell{width:calc(100% - 40px)}.jls-schedule-hero{padding:22px 0 42px}.jls-schedule-intro{grid-template-columns:1fr;gap:26px;margin-top:42px}.jls-schedule-intro h1{font-size:clamp(64px,12vw,88px)}.jls-schedule-intro h1 span{font-size:16px;margin-bottom:14px}.jls-schedule-intro-copy{max-width:none;padding:0}.jls-schedule-intro-copy p{font-size:18px}.jls-schedule-intro-copy nav{margin-top:16px}.jls-schedule-upcoming{padding:15px 0 60px}.jls-schedule-section-head{margin-bottom:32px;gap:16px}.jls-schedule-section-head h2{font-size:20px}.jls-schedule-section-head p{font-size:14px}.jls-schedule-event,.jls-schedule-upcoming .jls-schedule-event:first-child{grid-template-columns:74px minmax(0,1fr);gap:12px 22px}.jls-schedule-upcoming .jls-schedule-event{padding:24px 0}.jls-schedule-event__title{font-size:27px;line-height:1.1}.jls-schedule-event__date{display:flex;flex-wrap:wrap;gap:0 4px;align-items:baseline}.jls-schedule-event__day{order:0;flex-basis:100%;font-size:56px;line-height:.95;margin-bottom:9px}.jls-schedule-event__month{order:1;font-size:13px;margin:0}.jls-schedule-event__year{order:2;font-size:13px}.jls-schedule-event__place{font-size:15px;gap:0;flex-direction:column;align-items:flex-start}.jls-schedule-event__separator{display:none}.jls-schedule-event__arrow{display:none}.jls-schedule-upcoming .jls-schedule-event:first-child{padding:0 0 40px;margin-bottom:6px;grid-template-columns:1fr}.jls-schedule-upcoming .jls-schedule-event:first-child .jls-schedule-event__date{grid-column:1;grid-row:1;display:grid;grid-template-columns:auto 1fr;column-gap:18px;max-width:none;align-items:end;margin-bottom:18px}.jls-schedule-upcoming .jls-schedule-event:first-child .jls-schedule-event__day{grid-column:1;grid-row:1 / span 2;font-size:128px;line-height:.84;margin:0 0 0 -.05em}.jls-schedule-upcoming .jls-schedule-event:first-child .jls-schedule-event__month{grid-column:2;grid-row:1;font-size:22px;align-self:end;margin-bottom:4px}.jls-schedule-upcoming .jls-schedule-event:first-child .jls-schedule-event__year{grid-column:2;grid-row:2;font-size:18px;align-self:start}.jls-schedule-upcoming .jls-schedule-event:first-child .jls-schedule-event__content{grid-column:1;grid-row:2}.jls-schedule-upcoming .jls-schedule-event:first-child .jls-schedule-event__title{font-size:40px;line-height:1.02}.jls-schedule-upcoming .jls-schedule-event:first-child .jls-schedule-event__place{grid-column:1;grid-row:3;font-size:16px}.jls-schedule-archive{padding:56px 0 60px}.jls-schedule-archive>.jls-schedule-shell{grid-template-columns:1fr;gap:26px}.jls-schedule-section-head--archive{margin:0}.jls-schedule-section-head--archive h2{font-size:40px;margin-bottom:14px}.jls-schedule-section-head--archive p{font-size:17px;max-width:300px}.jls-schedule-year__label{font-size:44px;gap:24px}.jls-schedule-year summary{min-height:82px}.jls-schedule-list--archive .jls-schedule-event{grid-template-columns:60px minmax(0,1fr);gap:8px 18px;padding:20px 0}.jls-schedule-list--archive .jls-schedule-event__title{font-size:22px}.jls-schedule-list--archive .jls-schedule-event__date{display:flex;column-gap:4px}.jls-schedule-list--archive .jls-schedule-event__day{font-size:32px;margin-bottom:7px}.jls-schedule-list--archive .jls-schedule-event__month,.jls-schedule-list--archive .jls-schedule-event__year{font-size:12px}.jls-schedule-list--archive .jls-schedule-event__place{font-size:14px}.jls-schedule-close{padding:64px 0 72px}.jls-schedule-close__inner{grid-template-columns:1fr;gap:32px}.jls-schedule-close h2{font-size:38px}.jls-schedule-close a{font-size:20px}.jls-schedule-close nav{gap:12px}}
@media(prefers-reduced-motion:reduce){.jls-schedule-page *{transition:none!important;scroll-behavior:auto!important}}


/* Schedule stage refinement: one archival image, separate from upcoming billing. */
.jls-schedule-hero{padding-bottom:36px}
.jls-schedule-intro{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:auto 1fr;gap:28px 6%;align-items:start;margin-top:28px}
.jls-schedule-intro h1{grid-column:1;grid-row:1;font-size:clamp(68px,7.8vw,112px);letter-spacing:-.04em;padding-top:14px}
.jls-schedule-intro h1 span{margin-bottom:12px}
.jls-schedule-intro-copy{grid-column:1;grid-row:2;align-self:end;padding-bottom:26px;max-width:390px}
.jls-schedule-stage{grid-column:2;grid-row:1 / span 2;margin:0;min-width:0}
.jls-schedule-stage img{display:block;width:100%;height:auto;aspect-ratio:1.8;object-fit:cover;object-position:50% 46%}
.jls-schedule-stage figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:2px 16px;margin-top:10px;color:var(--jls-muted);font-size:12px;line-height:1.4}
.jls-schedule-upcoming .jls-schedule-event:first-child .jls-schedule-event__day{color:var(--jls-accent)}
@media(max-width:1023px) and (min-width:701px){
.jls-schedule-intro{gap:24px 4%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.jls-schedule-intro h1{font-size:clamp(58px,8vw,80px)}
.jls-schedule-stage img{aspect-ratio:1.12;object-position:72% 50%}
.jls-schedule-intro-copy{padding-bottom:30px}.jls-schedule-intro-copy p{font-size:18px}
}
@media(max-width:700px){
.jls-schedule-hero{padding:14px 0 28px}
.jls-schedule-intro{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:20px;margin-top:18px}
.jls-schedule-intro h1{grid-column:1;grid-row:1;font-size:60px;padding-top:0}
.jls-schedule-intro h1 span{font-size:15px;margin-bottom:6px}
.jls-schedule-stage{grid-column:1;grid-row:2}
.jls-schedule-stage img{aspect-ratio:16/9;object-position:50% 46%}
.jls-schedule-stage figcaption{font-size:11px;margin-top:7px;gap:2px 10px}
.jls-schedule-intro-copy{grid-column:1;grid-row:3;padding:0;max-width:none}
.jls-schedule-intro-copy p{font-size:17px;line-height:1.4}
.jls-schedule-intro-copy nav{margin-top:8px}
.jls-schedule-upcoming{padding-top:8px}
.jls-schedule-section-head{margin-bottom:24px}
.jls-schedule-upcoming .jls-schedule-event:first-child .jls-schedule-event__date{margin-bottom:6px}
.jls-schedule-upcoming .jls-schedule-event:first-child .jls-schedule-event__day{font-size:96px}
.jls-schedule-upcoming .jls-schedule-event:first-child .jls-schedule-event__title{font-size:36px;line-height:1.06}
}
