.programme-page{background:#f8f8f5;color:#171915;--operation-paper:#eeeade;--operation-ink:#171915;--operation-muted:#55574f;--operation-rule:#cccbbf}
.programme-page main{overflow:clip}.programme-wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}
.programme-page h1,.programme-page main h2{font-family:Anton,sans-serif;font-weight:400;letter-spacing:-.025em}
.programme-page main h2{font-size:clamp(30px,3.4vw,48px);line-height:1.18;margin:0 0 24px}
.programme-page main p{font-size:16px;line-height:1.75;color:#55574f;margin:0}
.programme-hero{padding-top:190px;padding-bottom:100px;display:grid;grid-template-columns:1.35fr 1fr;gap:80px;align-items:center}
.programme-back{font-size:12px;letter-spacing:.09em;text-decoration:none;display:inline-block;margin-bottom:30px}
.programme-back span{margin-left:16px}.programme-page h1{font-size:clamp(46px,5.25vw,76px);line-height:1.12;margin:0 0 28px;text-wrap:balance}
.programme-lead{max-width:53ch}.programme-cta{display:inline-flex;align-items:center;gap:32px;padding:16px 22px;background:#171915;color:#fff;text-decoration:none;font-size:15px;font-weight:600;margin-top:30px;border-radius:4px;min-height:52px}.programme-cta:hover{background:#363b30}
.programme-brief{padding:34px 0 0 32px;border-left:1px solid #c8c9bf;transform:none}
.programme-page .programme-brief h2{font-family:'Instrument Serif',serif;font-style:italic;font-size:30px;letter-spacing:0}
.programme-brief dl{margin:0 0 26px}.programme-brief dl>div{display:grid;grid-template-columns:26px 1fr;column-gap:14px;padding:21px 0;border-bottom:1px solid #dcddd5}.programme-brief dt{font-size:21px;font-weight:600}.programme-brief dd{grid-column:2;margin:7px 0 0;color:#55574f;font-size:14px}.programme-brief dl span{font-size:12px;padding-top:6px;font-variant-numeric:tabular-nums}.programme-page .programme-brief p{font-size:14px;max-width:46ch}
.programme-needs{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:70px 100px;border-top:1px solid #d8d9d0}.programme-needs>div>p{max-width:48ch}.programme-needs article+article{margin-top:28px}.programme-needs h3{font-size:20px;margin:0 0 8px;font-weight:600}
.programme-example{padding:80px 0;background:#eeeade;scroll-margin-top:120px}.programme-section-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.programme-section-intro p{max-width:53ch}
.programme-page .operation-example{margin:26px 0 22px;padding:0;max-width:none;background:transparent}.programme-page .operation-example-heading{display:block;margin-bottom:24px}.programme-page .operation-example-heading h3{max-width:none;font-family:'Instrument Serif',serif;font-style:italic;font-size:27px;font-weight:400}
.programme-page .operation-example-nav a{display:flex;gap:12px;align-items:center;min-height:56px;padding:12px 14px;text-decoration:none;font-size:16px;color:#55574f;border-bottom:3px solid transparent}.programme-page .operation-example-nav a[aria-selected=true]{border-color:#171915;color:#171915}.programme-page .operation-example-nav a:hover{background:#00000007}
.programme-page .operation-example-panels{display:block}.programme-page .operation-example-panel{grid-area:auto;visibility:visible;pointer-events:auto;margin-bottom:38px}.programme-page .operation-example-panel[hidden]{display:none}.programme-page .operation-example-panel:last-child{margin-bottom:0}
.programme-page .camp-stage-title{font-family:Anton,sans-serif;font-weight:400}.programme-text-link{display:inline-block;font-size:14px;text-underline-offset:5px;padding-block:12px}
.programme-scope{padding-block:100px}.programme-responsibilities{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:32px}.programme-responsibilities article{border-top:2px solid #171915;padding-top:22px}.programme-responsibilities h3{font-size:23px;margin:0 0 20px;font-weight:600}.programme-responsibilities ul{padding-left:19px;margin:0}.programme-responsibilities li{font-size:15px;line-height:1.7;color:#55574f;margin-bottom:10px;padding-left:4px}
.programme-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding-block:0 90px}.programme-faq details{border-top:1px solid #d8d9d0;padding:20px 0}.programme-faq summary{font-size:17px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;min-height:28px}.programme-faq summary::-webkit-details-marker{display:none}.programme-faq summary span{font-weight:400}.programme-faq details[open] summary span{transform:rotate(45deg)}.programme-page .programme-faq p{margin-top:17px;font-size:15px}
.programme-close{text-align:center;border-top:1px solid #d8d9d0;padding-block:80px 100px}.programme-close p{max-width:65ch;margin-inline:auto!important}.programme-family{display:block;font-size:14px;margin-top:30px;text-underline-offset:5px}
.programme-page .language__menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;color:inherit;text-decoration:none;font-size:13px}.programme-page .language__menu a[aria-current]{background:#0000000b}
.programme-page .site-header .nav__links{display:flex;gap:4px;padding:6px;background:#f4f4efeb;color:#20231e}
.programme-page .site-header .language,.programme-page .site-header .language[open]{width:auto;flex-shrink:0;margin-left:4px;padding-left:5px}
.programme-page .site-header .language>summary{display:flex;align-items:center;justify-content:center;gap:6px;width:auto;height:44px;padding:0 7px;font-size:12px;background:transparent;border:0;box-shadow:none}
.programme-page .language[open]>summary [data-current-flag],.programme-page .language[open]>summary [data-current-language]{display:inline-block}
.programme-page .language__menu{inset:calc(100% + 10px) 0 auto auto;transform:none;display:flex;flex-direction:column;width:156px;height:auto;padding:6px;border:1px solid #d8d9d0;border-radius:8px;background:#f8f8f5;color:#171915}
.programme-page .language__menu a{min-height:44px;border-radius:3px}.programme-page .language__menu a:hover{background:#eeeade}
.programme-page .nav__action{display:flex;align-items:center;gap:12px;min-height:44px;font-size:13px;padding:11px 17px}
@media(max-width:640px){.programme-page .site-header .nav__links{gap:0;padding:4px;max-width:calc(100vw - 32px)}.programme-page .site-header .nav__links>a{padding:10px 10px;font-size:13px}.programme-page .nav__links .nav-academy__home{font-size:13px;padding-left:10px}.programme-page .site-header .language>summary{height:38px;padding:0 5px}.programme-page .nav__links .nav-academy__toggle{width:24px}.programme-page .site-header .language[open]{margin-left:4px;padding-left:5px}}
@media(max-width:380px){.programme-page .site-header .nav__links>a{padding-inline:7px;font-size:12px}.programme-page .nav__links .nav-academy__home{padding-left:7px;font-size:12px}.programme-page .nav__links .nav-academy__toggle{width:21px}.programme-page .site-header .language>summary{padding-inline:3px;font-size:11px;gap:3px}}
.programme-page :is(a,button,summary):focus-visible{outline:2px solid #536b45;outline-offset:5px}.programme-skip{position:fixed;top:-100px;left:20px;z-index:9999;padding:15px;background:#fff;color:#171915}.programme-skip:focus{top:12px}
@media(max-width:1000px){.programme-wrap{width:calc(100% - 56px)}.programme-hero{gap:40px;grid-template-columns:1.2fr 1fr}.programme-needs,.programme-section-intro,.programme-faq{gap:40px}.programme-brief{padding-left:24px}}
@media(max-width:700px){.programme-wrap{width:calc(100% - 40px)}.programme-hero{padding-top:165px;padding-bottom:55px;grid-template-columns:1fr;gap:42px}.programme-page h1{font-size:46px;max-width:14ch}.programme-brief{transform:none;padding:24px 0 0;border-left:0;border-top:1px solid #d8d9d0}.programme-needs{grid-template-columns:1fr;gap:32px;padding-block:45px 60px}.programme-example{padding-block:48px}.programme-section-intro{grid-template-columns:1fr;gap:0}.programme-page .operation-example-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.programme-page .operation-example-nav a{font-size:15px;padding:12px 8px}.programme-page .operation-example{margin-top:24px}.programme-scope{padding-block:60px}.programme-responsibilities{grid-template-columns:1fr;gap:20px;margin-top:25px}.programme-responsibilities h3{font-size:21px;margin-bottom:12px}.programme-faq{grid-template-columns:1fr;gap:8px;padding-bottom:50px}.programme-close{padding-block:50px 60px}.programme-page main h2{font-size:34px}.programme-page main p{font-size:15px}.programme-cta{gap:18px;font-size:14px;max-width:100%}}
@media(prefers-reduced-motion:reduce){.programme-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Local concept: a complete season, with explorable operational detail. */
.programme-page .season-board{background:transparent;color:#171915;padding:0;margin-top:32px;--operation-rule:#c8c9bf;--operation-muted:#55574f}
.programme-page .season-board .operation-example-nav{border-top:1px solid #c8c9bf;border-bottom:1px solid #c8c9bf;gap:0}
.programme-page .season-board .operation-example-nav a{color:#55574f;border-bottom:2px solid transparent;padding:16px 10px}.programme-page .season-board .operation-example-nav a[aria-selected=true]{color:#171915;border-color:#b9ad8c;background:transparent}.programme-page .season-board .operation-example-nav a:hover{background:#00000007}
.programme-page .season-board .camp-exhibit{background:transparent;color:#171915;padding:12px 0;min-height:330px;animation:none;border:0}
.programme-page .season-board .camp-caption p,.programme-page .season-board .camp-exhibit p{color:#55574f;font-size:14px}.season-board .camp-exhibit h5,.season-board .camp-stage-title,.season-board .camp-caption h5{color:#171915}
.season-board .camp-options{background:transparent;border:0;padding:0;gap:18px;margin:20px 0 24px}.season-board .camp-options button{color:#55574f;background:transparent;border-bottom:2px solid transparent;padding:10px 0}.season-board .camp-options button[aria-pressed=true]{background:transparent;color:#171915;border-bottom-color:#171915}.season-board .camp-options button:hover:not([aria-pressed=true]){background:transparent;color:#171915;border-bottom-color:#b9ad8c}
.season-board .camp-role-work li,.season-board .camp-group-assignments,.season-board .camp-decision,.season-board .camp-day-note{border-color:#c8c9bf}.season-board .camp-role-work li span{color:#62695a}
.season-board .camp-group-letter,.season-board .camp-group-assignments strong,.season-board .camp-ledger-heading strong,.season-board .camp-exception strong{color:#252b23}
.season-board .camp-season-grid span{background:#eff0eb;color:#545b4b}.season-board .camp-season-grid .is-current{background:#d8dfc3;color:#1d271a}.season-board .camp-session-sheet{background:transparent;padding:0}
.season-board .camp-session-flow span{color:#55594f}.season-board .camp-session-ledger span{background:#6b7759}.season-board .camp-session-ledger .is-missing{background:#b9ad8c;border-color:#b9ad8c}
.season-board .camp-session-sheet,.season-board .camp-session-sheet .camp-group-letter{color:#252b23}
.programme-page .season-board .operation-example-nav a:hover{background:transparent}
.season-delivery{margin-top:18px}.season-delivery svg{display:block;width:100%;height:auto}.season-delivery rect{fill:#303d30;stroke:#91a083;stroke-width:1}.season-field-lines{fill:none;stroke:#a0af9177;stroke-width:1}.season-roster{fill:#eee8d8}.season-roster-1{fill:#c3b28c}.season-delivery text{fill:#dee1d4;font:12px 'Instrument Sans',sans-serif;text-anchor:middle}
.programme-page .season-board :is(a,button):focus-visible{outline-color:#536b45}
.programme-page .season-board .camp-season-grid span{font-size:11px}
.programme-page .programme-example{padding-block:56px}
.programme-page .programme-section-intro{gap:48px;align-items:center}
.programme-page .programme-section-intro h2{font-size:clamp(30px,3vw,40px);margin-bottom:12px}
.programme-page .programme-section-intro>p{font-size:15px;line-height:1.65}
.programme-page .season-compact{margin-top:24px}
.programme-page .season-compact .operation-example-panels{margin-top:26px}
.programme-page .season-compact .operation-example-panel{align-items:start;gap:48px;margin-bottom:0;grid-template-columns:1.1fr 1fr}
.programme-page .season-compact .camp-exhibit{min-height:0;padding:0}
.season-compact .camp-exhibit>h5{display:none}
.season-compact .camp-options{margin:0 0 16px}
.season-compact .camp-role-work li>span{display:none}
.season-compact .camp-role-work li{padding:10px 0;border:0;font-size:14px}
.season-compact .camp-role-work{min-height:0}
.season-compact .camp-condition{margin:0;padding-top:18px}
.programme-page .season-compact .camp-caption{padding:4px 0;gap:16px}
.programme-page .season-compact .camp-stage-title{font-size:27px;max-width:28ch;line-height:1.2}
.programme-page .season-compact .camp-caption p{font-size:14px;line-height:1.6;max-width:48ch}
.season-compact .camp-result-block{padding-top:0}
.season-details{margin-top:20px;border-top:1px solid #c8c9bf;padding-top:12px}
.season-details>summary{font:500 13px/1.5 'Instrument Sans',sans-serif;color:#55574f;cursor:pointer;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none}
.season-details>summary::-webkit-details-marker{display:none}
.season-details>summary:after{content:'+';font-size:20px;font-weight:400}
.season-details[open]>summary:after{content:'−'}
.season-details[open]>summary{margin-bottom:18px;color:#171915}
.season-details .camp-brief-top{padding-bottom:0}
.season-details .camp-brief-top h5{font-size:19px}
.season-details .camp-scope b{font-size:24px}
.season-block-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 14px}
.season-block-bars i{height:36px;background:#dedfd3;border-bottom:2px solid transparent}
.season-block-bars .is-current{background:#d8dfc3;border-color:#536b45}
.season-compact .camp-block-note{padding:8px 0;min-height:0}
.season-compact .season-delivery{margin-top:0}
.season-compact .season-delivery svg{max-height:160px}
.season-compact .camp-ledger-heading{margin-bottom:18px}
.season-compact .camp-ledger-heading h5{font-size:15px;font-weight:500}
.season-compact .camp-ledger-heading strong{font-size:30px}
.season-compact .camp-exception{margin-bottom:0!important}
@media(max-width:700px){.programme-page .programme-example{padding-block:40px}.programme-page .programme-section-intro{gap:4px}.programme-page .season-compact .operation-example-panel{grid-template-columns:1fr;gap:26px}.programme-page .season-compact .camp-caption{order:-1}.programme-page .season-compact .camp-stage-title{font-size:25px}.programme-page .season-compact .operation-example-nav a{padding:10px 6px;min-height:48px}.season-compact .camp-result-block{display:grid;grid-template-columns:105px 1fr;gap:12px}.season-compact .camp-result-block h5{margin:0}.programme-page .season-compact .camp-result-block p{font-size:13px}.season-compact .camp-options button{font-size:12px}.season-details{margin-top:16px}.season-compact .camp-condition{padding-top:12px}}
@media(max-width:900px){.programme-page .season-board{padding:0}.season-board .camp-brief-top{gap:18px}}
@media(max-width:700px){.programme-page .season-board{padding:0;margin-inline:0}.programme-page .season-board .camp-exhibit{padding:0;min-height:0}.programme-page .season-board .operation-example-nav a{font-size:14px;min-height:52px}.programme-page .season-board .operation-example-panel{gap:24px}.programme-page .season-board .camp-caption{padding-top:0}.season-board .camp-caption .camp-handover{display:none}}
