/* Geometry and overrides preserved from handoff Appendix B. */
h1, h2, h3, ol, ul, figure{margin:0}
img, video{max-width:100%;vertical-align:middle}
img{height:auto}
a{text-decoration:underline}
ul, ol{padding:0}
button, input, textarea, select{font:inherit}

@font-face{font-family:Plex;src:url('/fonts/plex-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Plex;src:url('/fonts/plex-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Plex;src:url('/fonts/plex-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Plex;src:url('/fonts/plex-700.ttf') format('truetype');font-weight:700;font-display:swap}

:root{color-scheme:light dark;--accent:#ff9900;--background:#fff;--foreground:#111;--primary:#111;--primary-foreground:#fff;--input:#777;--ring:#111;--border:#aaa;--muted-foreground:#555;--surface:#f1f1f1;--media-surface:#f4f4f4;--hover:#333;--danger:#8e1717;--radius:0;--popover:#fff;--popover-foreground:#111;--muted:#f1f1f1}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{margin:0;background:var(--background);color:var(--foreground);font-family:Plex,'Arial',sans-serif;font-size:18px;line-height:1.5}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}
a:hover{text-decoration-thickness:2px}
button, a, input, textarea, select{touch-action:manipulation}
button, input, textarea, select{font:inherit}
button{cursor:pointer}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{outline:3px solid var(--ring);outline-offset:5px}
::selection{background:var(--accent);color:#111}
.wrap{max-width:1280px;margin:0 auto;padding-left:56px;padding-right:56px}
.site-header{height:148px;display:flex;align-items:center;justify-content:space-between}
.header-logo{width:104px;height:auto;display:block}
nav{display:flex;gap:40px;font-size:18px}
nav a{text-decoration:none}
.skip{position:absolute;left:20px;top:-100px;background:var(--foreground);color:var(--background);padding:12px;z-index:50}
.skip:focus{top:15px}
h1, h2, h3, p{margin-top:0}
h1, h2, h3{font-weight:500;line-height:1.08;letter-spacing:-.035em}
p{margin-bottom:1.15em}
h1{font-size:clamp(42px,6vw,76px)}
h2{font-size:clamp(32px,4vw,48px)}
h3{font-size:28px}
strong{font-weight:600}
.eyebrow{font-size:14px;letter-spacing:.08em;text-transform:uppercase;font-weight:500}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:85px;padding-top:50px;padding-bottom:86px;align-items:center}
.hero-mark{width:100%;height:auto}
.hero h1{font-size:clamp(35px,3.4vw,48px);line-height:1.13;margin-bottom:22px}
.hero .intro{font-size:22px;line-height:1.45}
.welcome{display:grid;grid-template-columns:1fr 1fr;gap:100px;border-top:1px solid var(--foreground);padding-top:35px;padding-bottom:66px}
.welcome p{font-size:21px;max-width:520px}
.welcome p:last-child{font-weight:500}
.next-band{background:#111;color:#fff;--foreground:#fff;--background:#111;--ring:#fff;border-block:1px solid #333}
.next{display:grid;grid-template-columns:.55fr 1.45fr;gap:50px;padding-top:48px;padding-bottom:50px}
.next h2{max-width:690px;margin-bottom:20px}
.next p{max-width:670px}
.text-link{font-weight:500}
.activities{padding-top:80px;padding-bottom:85px}
.section-top{display:flex;align-items:baseline;justify-content:space-between;gap:25px;margin-bottom:40px}
.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}
.activity{border-top:1px solid var(--foreground);padding-top:16px}
.activity .number{font-size:14px;display:block;margin-bottom:26px}
.activity h3{font-size:34px}
.activity p{font-size:18px;line-height:1.6}
.after{border-top:1px solid var(--foreground);padding-top:56px;padding-bottom:70px;display:grid;grid-template-columns:1fr 1fr;gap:90px}
.after h2{font-size:52px}
.after p{max-width:550px}
.newsletter{border-top:1px solid var(--foreground);padding-top:48px;padding-bottom:70px;display:grid;grid-template-columns:1fr 1fr;gap:90px}
.newsletter h2{font-size:36px;max-width:500px}
.button{display:inline-flex;justify-content:center;align-items:center;gap:15px;background:var(--foreground);border:1px solid var(--foreground);color:var(--background);padding:13px 24px;text-decoration:none;font-weight:500;min-height:50px;border-radius:0}
.button:hover{background:var(--hover)}
.button.light{background:var(--background);color:var(--foreground);border-color:var(--background)}
.button.outline{background:transparent;color:inherit;border-color:currentColor}
.small{font-size:15px;color:var(--muted-foreground)}
.next .small{color:#ddd}
footer{border-top:1px solid var(--foreground);min-height:160px;display:flex;gap:35px;align-items:center;font-size:16px}
footer .footer-name{font-weight:600}
footer a, footer a:active, footer a:focus{ text-decoration:none }
footer a:hover:not(:active){text-decoration:underline;text-decoration-thickness:1px}
footer div{margin-right:auto;display:flex;gap:24px}
footer .privacy-link{font-size:14px;color:var(--muted-foreground)}
.page-head{padding-top:45px;padding-bottom:45px}
.page-head h1{max-width:820px;margin-bottom:28px}
.page-head p{max-width:650px;font-size:21px}
.programme-layout{display:grid;grid-template-columns:220px minmax(0,740px);gap:80px;padding-top:25px;padding-bottom:100px}
.programme-nav{align-self:start;position:sticky;top:35px;font-size:16px;display:flex;flex-direction:column;gap:15px}
.programme{font-size:18px;line-height:1.65}
.programme h1{font-size:42px}
.programme h2{font-size:31px;margin-top:55px;padding-top:27px;border-top:1px solid var(--border);scroll-margin-top:35px}
.programme h3{font-size:23px;margin-top:30px}
.programme ol{list-style:decimal;padding-left:26px}
.programme ul{list-style:disc;padding-left:25px}
.programme li{margin:0 0 13px;padding-left:8px}
.programme p{margin-bottom:20px}
.programme hr{display:none}
.share-intro{max-width:770px;padding-top:45px;padding-bottom:40px}
.share-intro h1{font-size:56px}
.share-intro p{max-width:650px;font-size:20px}
.submission{display:grid;grid-template-columns:1fr 1.3fr;gap:100px;padding-top:48px;padding-bottom:100px;border-top:1px solid var(--foreground)}
.submission h2{font-size:40px}
.contributions{padding-top:40px;padding-bottom:65px;display:grid;grid-template-columns:repeat(12,1fr);column-gap:50px;row-gap:75px}
.contribution{grid-column:span 6;min-width:0;border-top:1px solid var(--foreground);padding-top:22px;align-self:start}
.contribution.wide{grid-column:span 12}
.contribution:nth-child(3n+2){margin-top:60px}
.contribution h2{font-size:38px}
.contribution p{white-space:pre-wrap}
.contribution .prose{font-size:21px;max-width:770px}
.contribution.text-only .prose{font-size:30px;line-height:1.35}
.contribution img, .contribution video{display:block;width:100%;height:auto;max-height:700px;object-fit:contain;background:var(--media-surface)}
.media-gallery{display:grid;gap:15px}
.media-gallery.multi{grid-template-columns:1fr 1fr}
.contribution audio{max-width:100%;width:100%}
.credit{font-size:15px;margin-top:18px;color:var(--muted-foreground)}
.external-links{display:flex;flex-direction:column;gap:12px;margin-top:20px;overflow-wrap:anywhere}
.newsletter-list{border-top:1px solid var(--foreground);padding-top:35px;padding-bottom:55px}
.newsletter-list li{padding:15px 0;list-style:none;border-bottom:1px solid var(--border)}
.reading{max-width:810px;padding-top:40px;padding-bottom:90px}
.reading .contribution{border:0}
.privacy{max-width:800px;padding-top:40px;padding-bottom:80px}
.privacy h2{font-size:27px;margin-top:40px}
.event-details{display:grid;gap:8px;margin-bottom:22px}
.event-details p{margin:0}

@media(max-width:850px){.wrap{padding-left:28px;padding-right:28px}
.site-header{height:115px}
.hero{gap:40px;padding-top:35px;padding-bottom:55px}
.hero h1{font-size:34px}
.hero .intro{font-size:19px}
.welcome{gap:40px}
.activity-grid{gap:25px}
.activity h3{font-size:28px}
.after, .newsletter{gap:45px}
.programme-layout{grid-template-columns:170px minmax(0,1fr);gap:35px}
.submission{gap:40px}
footer div{flex-direction:column;gap:0}
.contributions{column-gap:30px}
}

@media(max-width:600px){.wrap{padding-left:22px;padding-right:22px}
.site-header{height:104px}
.header-logo{width:78px}
nav{gap:24px;font-size:16px}
.hero{grid-template-columns:1fr;gap:38px;padding-top:22px;padding-bottom:30px}
.hero-mark{width:78%;max-width:340px;margin:auto}
.hero h1{font-size:39px;letter-spacing:-.035em}
.hero .intro{font-size:21px}
.welcome{grid-template-columns:1fr;gap:0;padding-top:25px;padding-bottom:30px}
.welcome p{font-size:18px}
.next{grid-template-columns:1fr;gap:15px;padding-top:32px;padding-bottom:36px}
.next h2{font-size:36px}
.activities{padding-top:48px;padding-bottom:45px}
.section-top{display:block;margin-bottom:30px}
.section-top h2{font-size:36px;margin-bottom:20px}
.activity-grid{grid-template-columns:1fr;gap:24px}
.activity .number{margin-bottom:13px}
.activity h3{font-size:31px;margin-bottom:14px}
.activity p{margin-bottom:0}
.after, .newsletter{grid-template-columns:1fr;gap:14px;padding-top:36px;padding-bottom:40px}
.after h2{font-size:40px}
.newsletter h2{font-size:32px}
.programme-layout{display:block;padding-top:0;padding-bottom:50px}
.programme-nav{position:static;display:flex;flex-direction:row;flex-wrap:wrap;gap:10px 20px;padding-bottom:30px;border-bottom:1px solid var(--border);margin-bottom:30px}
.programme h2{font-size:28px}
.programme{font-size:17px}
.page-head{padding-top:25px;padding-bottom:30px}
.page-head h1{font-size:46px}
.page-head p{font-size:19px}
.share-intro{padding-top:25px}
.share-intro h1{font-size:40px}
.share-intro p{font-size:18px}
.submission{grid-template-columns:1fr;gap:15px;padding-top:32px;padding-bottom:55px}
.submission h2{font-size:34px}
.contributions{display:block;padding-top:15px}
.contribution, .contribution:nth-child(3n+2){margin-top:0;margin-bottom:45px}
.contribution.text-only .prose{font-size:26px}
.media-gallery.multi{grid-template-columns:1fr}
footer{padding-top:28px;padding-bottom:30px;display:flex;flex-wrap:wrap;gap:20px;align-items:start}
footer div{width:100%;flex-direction:row;justify-content:space-between}
footer .privacy-link{margin-left:auto}
}

@media print{@page{size:A4;margin:15mm}
.site-header, footer, .programme-nav, .no-print, .skip{display:none!important}
body{font-size:11pt;color:#000}
.wrap{padding:0;max-width:none}
.page-head{padding:0}
.page-head h1{font-size:25pt}
.page-head p{font-size:11pt}
.programme-layout{display:block;padding:0}
.programme{font-size:10.5pt;line-height:1.35}
.programme h2{font-size:16pt;margin-top:20px;padding-top:10px;break-after:avoid}
.programme h3{font-size:12pt;break-after:avoid}
.programme li{margin-bottom:7px}
.programme p{margin-bottom:10px}
a{text-decoration:none}
.programme h2, .programme h3{page-break-after:avoid}
.programme li{break-inside:avoid}
}

.activity h3{margin-bottom:16px}

.share-intro h1{margin-bottom:26px}
.submission h2{margin-bottom:20px}


/* One signature colour; the interface follows the visitor's system preference. */
@media(prefers-color-scheme:dark){
 :root{--background:#0b0b0b;--foreground:#f7f7f7;--primary:#f7f7f7;--primary-foreground:#0b0b0b;--input:#888;--ring:#fff;--border:#686868;--muted-foreground:#bdbdbd;--surface:#202020;--media-surface:#191919;--hover:#dedede;--danger:#ffad9f;--popover:#202020;--popover-foreground:#f7f7f7;--muted:#292929}

}

.site-header nav a:hover, .programme-nav a:hover, .text-link:hover{ text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:3px; text-underline-offset:7px }

.button:hover{background:var(--accent);color:#111;border-color:var(--foreground)}

.button.outline:hover, .button.light:hover{background:var(--accent);color:#111;border-color:currentColor}
.newsletter .button{background:var(--accent);color:#111;border-color:var(--foreground)}
.newsletter .button:hover{text-decoration:underline;text-underline-offset:4px}

:is(a, button, input, textarea, select, [data-slot=checkbox]):focus-visible{outline:2px solid var(--ring);outline-offset:5px;box-shadow:0 0 0 3px var(--accent)}

.painted-invitation{position:relative;display:inline-block;isolation:isolate;color:#111;padding-inline:5px;margin-inline:-5px;white-space:nowrap}

.painted-invitation::before{content:"";position:absolute;z-index:-1;inset:1px -9px -2px -8px;background:var(--accent);clip-path:polygon(2% 15%,15% 7%,40% 11%,67% 2%,91% 7%,98% 1%,97% 24%,100% 32%,97% 54%,99% 75%,94% 78%,97% 94%,71% 89%,47% 99%,25% 91%,1% 96%,3% 72%,0% 64%,2% 39%,0% 29%);transform:rotate(-1.4deg)}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}

@media print{:root{color-scheme:light;--background:#fff;--foreground:#000;--border:#aaa;--muted-foreground:#444;--surface:#fff;--input:#777}
body{background:#fff;color:#000}
.painted-invitation{color:#000}
.painted-invitation::before{display:none}
}

.hero picture{display:block;min-width:0}
.hero-mark{display:block}


.next-band .button.light{background:#fff;color:#111;border-color:#fff}
.next-band .button.light:hover{background:var(--accent);color:#111}


.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.contribution h1{font-size:38px}.contribution .prose ul,.contribution .prose ol,.reading>ul,.reading>ol{padding-left:26px}.media-gallery + .prose{margin-top:22px}.context{margin-top:20px}figcaption{font-size:15px;margin-top:8px}.newsletter-note{margin-top:16px}.pdf-note{margin-top:12px}.programme-nav a{overflow-wrap:anywhere}.reading,.submission>div{min-width:0;overflow-wrap:break-word}
