/* Approved editorial introductions: existing shell, Hanken Grotesk and palette. */
.skl-opening,.skl-youth-page{--skl-white:#fff;--skl-shade:rgba(0,0,0,.68);--skl-soft:rgba(0,0,0,.15);color:var(--skb-ink);background:var(--skb-beige);overflow-wrap:anywhere}
.skl-wrap{width:min(1140px,100%);margin-inline:auto;padding:48px 28px;box-sizing:border-box}
.skl-opening h1,.skl-opening h2,.skl-youth-page h1{font-family:inherit;font-weight:800;line-height:1.04;letter-spacing:-.035em;margin:0 0 24px;color:inherit}
.skl-opening h1{font-size:clamp(2.7rem,5.5vw,4.5rem)}
.skl-opening p{line-height:1.65;margin:0 0 24px}.skl-opening .skl-eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:20px}
.skl-button{display:inline-flex;align-items:center;gap:20px;min-height:46px;padding:13px 22px;border:1px solid var(--skb-red);border-radius:5px;background:var(--skb-red);color:var(--skl-white,#fff);text-decoration:none;font-weight:700;font-size:.9rem;line-height:1.4;box-sizing:border-box}
.skl-button:hover{background:var(--skb-red-dark);color:var(--skl-white,#fff)}
.skl-opening a:focus-visible,.skl-opening button:focus-visible{outline:3px solid currentColor;outline-offset:5px}
.skl-home{position:relative;isolation:isolate;overflow:hidden;background:var(--skb-red-deep);color:var(--skl-white)}
.skl-home-photo{position:absolute;inset:0;z-index:-2}.skl-home-photo img{width:100%;height:100%;object-fit:cover;object-position:center 65%;display:block}
.skl-home::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--skl-shade),var(--skl-soft))}
.skl-home-grid{display:grid;align-items:center;gap:48px;min-height:570px;padding-block:64px}
.skl-home-copy{max-width:680px}.skl-home-copy p{max-width:550px}.skl-home .skl-button{background:var(--skb-beige);color:var(--skb-red-deep);border-color:var(--skb-beige)}
.skl-moving .skl-home-photo{animation:skl-camera 5s ease-out both}
@keyframes skl-camera{from{transform:scale(1.24) translateX(-2%)}to{transform:scale(1)}}
.skl-cta .skl-home-grid{grid-template-columns:1.25fr 1fr;align-items:end}
.skl-cta-content{background:var(--skb-beige);color:var(--skb-ink);padding:32px;border-radius:6px}
.skl-cta-content :last-child{margin-bottom:0}.skl-cta-content h1,.skl-cta-content h2,.skl-cta-content h3{font-size:1.6rem;line-height:1.15;color:var(--skb-red-deep)}
.skl-cta-content a{color:var(--skb-red);text-decoration:underline}.skl-cta-content img{max-width:100%;height:auto}.skl-cta-content iframe{max-width:100%}
.skl-poster{background:var(--skb-red);color:var(--skl-white)}
.skl-poster-grid{display:grid;grid-template-columns:110px minmax(0,1.35fr) minmax(0,.8fr);gap:40px;align-items:center;min-height:365px}
.skl-date{border-right:1px solid var(--skb-line);padding-right:24px;display:flex;flex-direction:column;gap:8px;text-transform:uppercase;font-weight:700;font-size:.85rem}.skl-date strong{font-size:4.7rem;line-height:1;letter-spacing:-.06em}.skl-date>span:last-child{font-size:.85rem}
.skl-poster-title p:last-child{margin-bottom:0}.skl-poster-title h2{font-size:clamp(2.7rem,5.5vw,4.5rem)}
.skl-poster-details{font-size:.95rem}.skl-poster-details time{display:block;font-weight:700;margin-bottom:12px}.skl-poster .skl-button{background:var(--skb-beige);color:var(--skb-red-deep);border-color:var(--skb-beige)}
.skl-poster-photo{height:300px;overflow:hidden}.skl-poster-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 65%}
.skl-youth-page .skb-crumbs{padding-block:20px}.skl-youth-page .skb-prose{min-width:0}.skl-youth-page .skb-prose :first-child{margin-top:0}
.skl-discovery-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}.skl-discovery h1{color:var(--skb-red-deep)}
.skl-jumbos{background:var(--skb-red);color:var(--skl-white);position:relative;overflow:hidden}.skl-jumbos>.skl-wrap{padding-bottom:85px;position:relative}.skl-jumbos-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.skl-jumbos-heading h1{max-width:550px;position:relative;z-index:1}.skl-jumbos-name{font-size:clamp(3.5rem,8vw,6rem);font-weight:800;text-align:right;letter-spacing:-.06em;position:relative;z-index:1}.skl-jumbos-name span{display:block;font-size:.75rem;font-weight:600;letter-spacing:.08em}
.skl-staff{position:absolute;bottom:-25px;right:28px;width:50%;height:150px;opacity:.3;pointer-events:none}
.skl-ensemble-body{display:grid;grid-template-columns:1fr 1fr;gap:56px}.skl-enquiry{min-width:0}.skl-enquiry h2{font-size:1.25rem;line-height:1.35;color:var(--skb-red-deep);margin:0 0 24px}.skl-enquiry a{color:var(--skb-red);overflow-wrap:anywhere}.skl-enquiry .sk-form{max-width:100%}.skl-lede{font-size:1.2rem}
@media(max-width:1000px){.skl-poster-grid{grid-template-columns:90px 1fr;gap:28px}.skl-poster-details{grid-column:2}.skl-discovery-grid{gap:28px}.skl-home-grid{gap:28px}}
@media(max-width:700px){.skl-wrap{padding:32px 20px}.skl-opening h1,.skl-poster-title h2{font-size:2.7rem}.skl-home-grid{min-height:510px;padding-block:48px}.skl-cta .skl-home-grid{grid-template-columns:1fr;gap:24px;padding-bottom:0}.skl-cta-content{margin-inline:-20px;border-radius:0;padding:28px 20px}.skl-cta .skl-home-copy{padding-top:120px}.skl-cta .skl-home-photo{height:420px}.skl-cta{background:var(--skb-red-deep)}.skl-cta-content h2{font-size:1.6rem}.skl-poster-grid{grid-template-columns:64px minmax(0,1fr);gap:20px}.skl-date{padding-right:12px;font-size:.7rem}.skl-date strong{font-size:3.3rem}.skl-poster-details{grid-column:1/-1}.skl-poster-photo{height:220px}.skl-discovery-grid,.skl-jumbos-heading,.skl-ensemble-body{grid-template-columns:1fr;gap:28px}.skl-jumbos-name{text-align:left;font-size:3.6rem}.skl-jumbos-heading h1{font-size:2.8rem}.skl-staff{width:75%}.skl-enquiry{border-top:1px solid var(--skb-line);padding-top:28px}}
@media(prefers-reduced-motion:reduce){.skl-moving .skl-home-photo{animation:none}}

/* Legacy editor buttons must not inherit the plain-link colour on their fill. */
.skl-cta-content a:is(.btn,.skb-btn,.skl-button,.wp-block-button__link){display:inline-flex;align-items:center;justify-content:center;min-height:46px;max-width:100%;height:auto;padding:13px 22px;border:1px solid var(--skb-red);border-radius:5px;background:var(--skb-red);color:var(--skl-white);font:inherit;font-weight:700;font-size:.9rem;line-height:1.4;text-align:center;text-decoration:none;white-space:normal;box-sizing:border-box}
.skl-cta-content a:is(.btn,.skb-btn,.skl-button,.wp-block-button__link):hover{background:var(--skb-red-dark);color:var(--skl-white)}

/* Instrument page: start right under the breadcrumb, a calmer heading, text aligned to the photo's top. */
.skl-discovery>.skl-wrap{padding-top:8px}
.skl-discovery-grid{align-items:start}
.skl-discovery h1{font-size:clamp(2.1rem,3.6vw,3.1rem)}

/* Orchestra seating plan (Jugend template): sections as coloured seats; the
   chosen one opens its panel. Without JavaScript every panel is listed. */
.skl-orchestra-head{display:grid;grid-template-columns:1.2fr 1fr;gap:16px 48px;align-items:end;margin-bottom:24px}.skl-orchestra-head h1{margin:0}.skl-orchestra-head p{margin:0}
.skl-orchestra-stage{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:24px;align-items:start}
.skl-plan{position:relative;background:#f4f1ea;border:1px solid var(--skb-line);border-radius:16px;padding:16px}
.skl-plan svg{display:block;width:100%;height:auto;overflow:visible}
.skl-seat{cursor:pointer;outline:none}.skl-seat__hit{fill:transparent}
.skl-seat circle{fill:var(--c);stroke:#fff;stroke-width:3;filter:drop-shadow(0 2px 2px rgba(0,0,0,.18));transition:opacity .2s,transform .25s ease;transform-box:fill-box;transform-origin:center}
.skl-seat:hover circle,.skl-seat:focus-visible circle,.skl-seat[aria-pressed="true"] circle{transform:scale(1.18)}
.skl-seat:hover .skl-seat__hit,.skl-seat:focus-visible .skl-seat__hit,.skl-seat[aria-pressed="true"] .skl-seat__hit{fill:color-mix(in srgb,var(--c) 13%,transparent)}
.skl-seat:focus-visible .skl-seat__hit{stroke:#ffc107;stroke-width:2}
.skl-plan.has-choice .skl-seat:not([aria-pressed="true"]) circle{opacity:.3}.skl-seat[aria-pressed="true"] circle{stroke:var(--skb-ink)}
.skl-conductor circle{fill:var(--skb-red)}.skl-conductor text{fill:#fff;font:600 15px/1 inherit;font-family:inherit}
.skl-plan__tip{position:absolute;z-index:2;pointer-events:none;padding:6px 12px;border-radius:999px;background:var(--skb-ink);color:#fff;font-size:.85rem;font-weight:600;white-space:nowrap;translate:-50% calc(-100% - 12px);opacity:0;transition:opacity .15s}.skl-plan__tip.is-on{opacity:1}
.skl-panels{display:grid;gap:16px}
.skl-panel{position:relative;background:#fff;border:1px solid var(--skb-line);border-radius:16px;overflow:hidden;box-shadow:0 16px 32px rgba(0,0,0,.1)}
.skl-panel--empty{display:none}
.skl-orchestra.is-ready .skl-panels{position:sticky;top:96px}
.skl-orchestra.is-ready .skl-panel--empty{display:grid;place-items:center;gap:8px;min-height:340px;padding:32px;text-align:center;color:var(--skb-muted)}
.skl-panel--empty svg{width:46px;height:46px;fill:var(--skb-red);opacity:.5}
.skl-panel[hidden]{display:none!important}
.skl-panel__close{display:none;position:absolute;top:10px;right:10px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:1.3rem;line-height:1;cursor:pointer;z-index:1}
.skl-orchestra.is-ready .skl-panel__close{display:block}
.skl-panel__img{aspect-ratio:4/3;background:#ded8c8}.skl-panel__img img{display:block;width:100%;height:100%;object-fit:cover}
.skl-panel__body{padding:18px 20px 20px;border-top:4px solid var(--c)}
.skl-panel__fam{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--skb-muted)}
.skl-opening .skl-panel h2{margin:4px 0 8px;font-size:1.6rem;color:var(--skb-red-deep)}
.skl-opening .skl-panel p{margin:0 0 14px}.skl-panel__people{font-size:.85rem;color:var(--skb-muted)}
.skl-audio{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:10px 12px;border-radius:12px;background:#f4f1ea}
.skl-audio button{display:grid;place-items:center;flex:none;width:44px;height:44px;border:0;border-radius:50%;background:var(--skb-red);color:#fff;cursor:pointer}
.skl-audio button svg{width:18px;height:18px;fill:currentColor}.skl-audio>div{flex:1}.skl-audio b{display:block;font-size:.92rem}
.skl-audio__bar{display:block;height:4px;margin-top:6px;border-radius:2px;background:#ded8c8;overflow:hidden}.skl-audio__bar i{display:block;width:0;height:100%;background:var(--skb-red)}
.skl-panel__acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}.skl-panel__link{color:var(--skb-red);font-weight:600;text-decoration:none}
@media(max-width:900px){.skl-orchestra-head,.skl-orchestra-stage{grid-template-columns:1fr}.skl-orchestra.is-ready .skl-panels{position:static}.skl-orchestra.is-ready .skl-panel--empty{min-height:0;padding:20px}}
@media(prefers-reduced-motion:reduce){.skl-seat circle{transition:none}}
.skl-clip{margin:0 0 14px}.skl-clip.is-playing{aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000}.skl-clip iframe{display:block;width:100%;height:100%;border:0}
.skl-clip__play{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:0;border-radius:12px;background:#f4f1ea;color:inherit;font:inherit;text-align:left;cursor:pointer}
.skl-clip__play svg{flex:none;width:44px;height:44px;padding:13px;border-radius:50%;background:var(--skb-red);fill:#fff;box-sizing:border-box}
.skl-clip__play b{display:block;font-size:.92rem}.skl-clip__play small{display:block;font-size:.78rem;color:var(--skb-muted)}
.skl-clip__play:hover svg{background:var(--skb-red-dark)}
/* optional photo behind the seating plan, under a light veil; seats get a stronger shadow on it */
.skl-plan--photo{background:linear-gradient(rgba(244,241,234,.45),rgba(244,241,234,.45)),var(--skl-plan-bg) center/cover no-repeat}
.skl-plan--photo .skl-seat circle{filter:drop-shadow(0 2px 4px rgba(0,0,0,.45))}
/* in-page anchors (e.g. #eltern) stop below the fixed shell header; while the
   header is still tall the content moves up 70px once the jump shrinks it */
.skl-youth-page [id]{scroll-margin-top:96px}
body:not(.is-scrolled) .skl-youth-page [id]{scroll-margin-top:166px}

/* JUmBOs page (template-jumbos.php) */
.skl-j{--skl-j-red:var(--skb-red);color:var(--skb-ink)}
.skl-j h2{margin:0 0 8px;font-size:clamp(1.7rem,3.2vw,2.4rem);line-height:1.08;font-weight:800;letter-spacing:-.025em;color:var(--skb-red-deep)}
.skl-j-lead{margin:0;font-size:1.08rem;color:#374151;max-width:60ch}
.skl-j-hero{display:grid;grid-template-columns:1fr 1.15fr;min-height:420px;background:var(--skb-red);color:#fff;border-radius:8px;overflow:hidden;margin:0 28px}
.skl-j-hero--plain{grid-template-columns:1fr;min-height:0}
.skl-j-hero__text{display:grid;align-content:center;gap:16px;padding:clamp(24px,4vw,48px)}
.skl-j-kicker{font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;opacity:.8}
.skl-j-name{margin:0;font-size:clamp(3.4rem,7vw,5.6rem);line-height:.9;font-weight:800;letter-spacing:-.05em;color:#fff}
.skl-j-name small{display:block;margin-top:10px;font-size:clamp(1.1rem,2vw,1.4rem);font-weight:600;letter-spacing:-.01em;opacity:.92}
.skl-j-hero__acts{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin-top:8px}
.skl-j-hero__link{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:4px}.skl-j-hero__link:hover{color:#fff}
.skl-j-hero__photo{position:relative;min-height:240px}.skl-j-hero__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.skl-j-btn{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 20px;border-radius:8px;font-weight:700;text-decoration:none}
.skl-j-btn--light{background:#fff;color:var(--skb-red)}.skl-j-btn--light:hover{background:var(--skb-beige);color:var(--skb-red)}
.skl-j-body{padding-top:8px}
.skl-j-sec{padding:clamp(32px,5vw,52px) 0}.skl-j-sec+.skl-j-sec{border-top:1px solid var(--skb-line)}
.skl-j-about{display:grid;grid-template-columns:1.2fr 1fr;gap:32px 48px;align-items:center}.skl-j-about--text{grid-template-columns:1fr}
.skl-j-about p{margin:0 0 14px;color:#374151}
.skl-j .skl-j-quote{margin:20px 0 0;padding-left:16px;border-left:3px solid var(--skb-red);font-size:1.1rem;font-weight:600;color:var(--skb-red-deep)}
.skl-j-photos{display:grid;grid-template-columns:1fr 1fr;gap:10px}.skl-j-photos img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;margin:0}
.skl-j-photos img:first-child{grid-column:span 2;aspect-ratio:16/9}.skl-j-photos--2 img:last-child{grid-column:span 2;aspect-ratio:16/9}
.skl-j-year{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0 0;padding:0;list-style:none}
.skl-j-year li{margin:0;padding:18px 18px 20px;background:#fff;border-radius:12px;border-top:4px solid var(--c);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.skl-j-year span{display:block;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--c)}
.skl-j-year strong{display:block;margin:5px 0 4px;font-size:1.1rem;line-height:1.2}.skl-j-year em{font-style:normal;font-size:.9rem;color:var(--skb-muted)}
.skl-j-path{display:grid;grid-template-columns:repeat(3,1fr);margin:24px 0 0;padding:0;list-style:none;counter-reset:s}
.skl-j-path li{position:relative;margin:0;padding:20px 24px 20px 0;counter-increment:s}
.skl-j-path li::before{content:counter(s);display:grid;place-items:center;width:38px;height:38px;margin-bottom:12px;border-radius:50%;background:var(--skb-red);color:#fff;font-weight:800}
.skl-j-path li:not(:last-child)::after{content:"";position:absolute;top:39px;left:46px;right:16px;height:2px;background:repeating-linear-gradient(90deg,rgba(123,30,30,.35) 0 8px,transparent 8px 14px)}
.skl-j-path strong{display:block;margin-bottom:5px;font-size:1.1rem}.skl-j-path p{margin:0;color:#4b5563;font-size:.95rem}
.skl-j-fun{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.skl-j-fun div{padding:20px;border-radius:12px;background:#f4f1ea}.skl-j-fun svg{width:34px;height:34px;fill:var(--skb-red);margin-bottom:8px}
.skl-j-fun strong{display:block;margin-bottom:4px}.skl-j-fun p{margin:0;color:#4b5563;font-size:.93rem}
.skl-j-video{max-width:860px;margin-top:24px;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#2a1a1a}
.skl-j-video iframe{display:block;width:100%;height:100%;border:0}
.skl-j-video__play{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:linear-gradient(135deg,#5c1616,#2a1a1a);color:#fff;cursor:pointer}
.skl-j-video__play img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75;margin:0;border-radius:0}
.skl-j-video__play span{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;text-align:center}
.skl-j-video__play i{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--skb-red);transition:transform .2s}
.skl-j-video__play:hover i{transform:scale(1.08)}.skl-j-video__play i svg{width:28px;height:28px;fill:#fff;margin-left:4px}.skl-j-video__play small{opacity:.85}
.skl-j-contact{display:grid;grid-template-columns:1fr 1.1fr;gap:32px 48px;align-items:start}
.skl-j-person{display:flex;gap:16px;align-items:center;margin-top:20px;padding:16px;background:#fff;border-radius:12px}
.skl-j-person i,.skl-j-person img{display:grid;place-items:center;flex:none;width:56px;height:56px;border-radius:50%;background:var(--skb-red);color:#fff;font-style:normal;font-weight:800;font-size:1.2rem;object-fit:cover;margin:0}
.skl-j-person b{display:block}.skl-j-person span{color:var(--skb-muted);font-size:.92rem}
.skl-j-more{margin:12px 0 0}.skl-j-more a{color:var(--skb-red);font-weight:600;text-decoration:none}
.skl-j-form{padding:22px;background:#fff;border-radius:14px;box-shadow:0 12px 24px rgba(0,0,0,.08)}
@media(max-width:860px){.skl-j-hero{grid-template-columns:1fr;margin:0 20px}.skl-j-about,.skl-j-contact{grid-template-columns:1fr}.skl-j-year{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.skl-j-path,.skl-j-fun{grid-template-columns:1fr}.skl-j-path li::after{display:none}}
