/* OxAIMS visual system: Oxford ink, warm paper and Oxtopus coral. */
:root {
 --bg:#f8f6f1;
 --panel:#f0eee7;
 --panel-alt:#ebe7de;
 --text:#142d3b;
 --muted:#53636a;
 --accent:#a54129;
 --orange:#fa774d;
 --line:#16324026;
 --display:var(--font);
 --gutter:max(5.5%,calc((100% - 1240px)/2));
 --leading:1.75;
 --space:0;
 --word:0;
}
html { scroll-padding-top:104px; }
body { font-size:17px; background:var(--bg); }
h1,h2 { font-family:var(--display); font-weight:500; letter-spacing:-.025em; line-height:1.15; }
h1 { font-size:clamp(44px,5.2vw,68px); }
h2 { font-size:clamp(30px,3.3vw,42px); }
h3 { font-size:24px; line-height:1.35; letter-spacing:-.015em; }
em { font-style:normal; }
.section-shell { padding:90px var(--gutter); }
.section-heading { margin-bottom:42px; gap:48px; }
.section-heading>p { font-size:16px; line-height:1.75; max-width:31ch; }
.eyebrow,.page-folio { font-size:12px; font-weight:500; line-height:1.6; letter-spacing:.14em; text-transform:uppercase; }
.eyebrow { text-transform:none; letter-spacing:.035em; display:flex; align-items:center; gap:10px; margin-bottom:18px; }
.eyebrow::before { content:''; width:19px; height:1px; background:var(--orange); flex-shrink:0; }
.site-header {
 height:88px; padding:0 var(--gutter); background:#f8f6f1f2;
 color:#142d3b; border-bottom:1px solid #1632401c;
 --text:#142d3b; --muted:#53636a; --accent:#a54129; --bg:#f8f6f1; --line:#16324026;
 backdrop-filter:blur(20px);
}
.brand { gap:12px; }
.brand img { width:46px; height:46px; border-radius:10px; }
.brand>span { font-family:var(--font); font-size:28px; font-weight:600; letter-spacing:-.8px; line-height:1.1; }
.brand small { display:block; margin-top:5px; font:10px/1.4 var(--font); letter-spacing:.035em; color:#66747b; }
#navigation { gap:27px; font-size:14px; }
#navigation>a:not(.nav-cta) { position:relative; padding:12px 0; }
#navigation>a:not(.nav-cta)::after { content:''; position:absolute; height:2px; background:var(--orange); left:0; right:100%; bottom:4px; transition:right .2s; }
#navigation>a:hover::after,#navigation>a[aria-current]::after { right:0; }
#navigation>.nav-cta { display:inline-flex; align-items:center; padding:11px 17px; border:1px solid #142d3b; border-radius:6px; background:#142d3b; color:#fff7ed; }
#navigation>.nav-cta:hover { background:#284755; color:#fff; }
.nav-cta>span { margin-left:13px; color:#ffa47e; }
.button { min-height:51px; border-radius:6px; padding:14px 22px; font-size:14px; font-weight:500; gap:28px; transition:background .2s,transform .2s,box-shadow .2s; }
.primary { background:var(--orange); border-color:var(--orange); color:#142d3b; box-shadow:0 3px 0 #071b2a08; }
.primary:hover { background:#ff946e; border-color:#ff946e; transform:translateY(-2px); box-shadow:0 7px 18px #0b283416; }
.text-link { gap:14px; font-size:15px; font-weight:500; padding-bottom:5px; border-bottom:1px solid #a5412940; }
.text-link:hover { border-color:var(--orange); }
.hero {
 --text:#f6f2e8; --muted:#b8c8cd; --accent:#ffa17b;
 grid-template-columns:1.08fr 1fr; gap:5%; align-items:start;
 padding-top:66px; padding-bottom:46px;
 background:radial-gradient(ellipse at 85% 25%,#21414b80,transparent 50%),#0c2534;
 border-bottom:0; position:relative;
}
.hero-copy { padding-top:22px; }
.hero h1 { font-size:clamp(48px,5.5vw,76px); line-height:1.08; letter-spacing:-.035em; margin-bottom:32px; }
.hero .eyebrow { color:#d4dcd8; margin-bottom:30px; }
.hero-description { max-width:30ch; font-size:20px; line-height:1.7; }
.hero .welcome { display:flex; align-items:center; gap:10px; color:#c3d0d0; font-size:14px; margin-top:23px; }
.hero .welcome>span { width:5px; height:5px; border-radius:50%; background:#fa774d; flex-shrink:0; }
.hero-actions { margin-top:36px; gap:27px; }
.hero-actions .text-link { color:#f1e9df; border-color:#f1e9df40; }
.model-scroll-space { --scroll-distance:125px; }
.model-scroll-space.scroll-enabled>.maker-model { top:112px; }
.model-stage { height:440px; border:1px solid #accccf24; border-radius:160px 160px 16px 16px; background:radial-gradient(ellipse at 50% 65%,#38677330,transparent 65%); }
.model-landmark { opacity:.2; color:#b3c8ca; }
.model-halo { opacity:.7; }
.model-caption { display:flex; justify-content:space-between; gap:15px; padding:20px 6px 0; color:#b7c6cb; font-size:12px; letter-spacing:.025em; }
.model-caption>span:last-child { color:#e2a88b; }
.launch-strip { padding:20px var(--gutter); background:#e9e7df; border-top:0; border-bottom:1px solid #17334618; font-size:13px; }
.launch-strip>a { color:#283f4a; font-size:13px; }
.page-hero {
 position:relative; overflow:hidden; padding-top:60px; padding-bottom:70px;
 background:radial-gradient(ellipse at 84% 55%,#f4d6c55c,transparent 44%),#f3f0e9;
 border-bottom:1px solid #17334618;
}
.page-folio { color:#788486; font-size:10px; margin-bottom:40px; }
.page-hero>p.page-folio,.oxford-page-hero>div>p.page-folio { font-size:10px; line-height:1.6; letter-spacing:.14em; }
.page-hero .eyebrow { margin-bottom:19px; }
.page-hero h1 { margin-bottom:27px; font-size:clamp(44px,5.2vw,68px); max-width:22ch; }
.page-hero>p:not(.eyebrow):not(.page-folio),.oxford-page-hero>div>p:not(.eyebrow):not(.page-folio) { font-size:18px; line-height:1.75; max-width:45ch; }
.oxford-page-hero { grid-template-columns:1.25fr .75fr; gap:6%; border-bottom:1px solid #17334618; }
.page-landmark { width:105%; margin-left:0; max-height:310px; opacity:.9; color:#53717a; }
.projects { background:#f8f6f1; }
.project-branches { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.project-card { padding:0; border:1px solid #16324020; border-radius:14px; overflow:hidden; background:#fffdf8; box-shadow:0 8px 24px #1f384305; display:flex; flex-direction:column; }
.branch-art { background:#102b3a; overflow:hidden; }
.branch-art img { display:block; width:100%; height:205px; object-fit:contain; }
.branch-body { padding:27px 30px 28px; display:flex; flex-direction:column; flex:1; }
.branch-meta { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:21px; color:#6b7678; font-size:11px; text-transform:uppercase; letter-spacing:.09em; }
.branch-meta>span:first-child { color:#b45135; font-size:12px; letter-spacing:0; }
.project-card h3 { font-size:23px; font-weight:500; line-height:1.35; min-height:63px; margin-bottom:12px; letter-spacing:-.02em; }
.project-card p { font-size:16px; line-height:1.75; max-width:44ch; margin:0 0 27px; }
.branch-link { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:auto; padding-top:20px; border-top:1px solid #16324018; font-size:13px; font-weight:500; color:#8e3b27; }
.branch-link>span { display:flex; align-items:center; justify-content:center; width:28px; height:28px; background:#f5e6da; border-radius:50%; color:#a94329; transition:background .2s,transform .2s; }
.branch-link:hover>span { background:#ffc6aa; transform:translate(2px,-2px); }
.programme { background:#f8f6f1; }
.event-cards { gap:22px; counter-reset:events; }
.event-card { position:relative; padding:35px 34px 32px; background:#f1eee6; border:1px solid #16324013; border-radius:12px; }
.event-card .event-timing { font-size:11px; letter-spacing:.06em; color:#7f4a37; padding-right:44px; margin-bottom:27px; }
.event-number { position:absolute; top:28px; right:27px; font:500 24px/1 var(--display); color:#a380694f; }
.event-card h3 { font-size:24px; font-weight:500; margin-bottom:14px; }
.event-card p { font-size:16px; line-height:1.8; max-width:45ch; }
.event-list { background:var(--bg); padding-top:75px; }
.sponsor-teaser { background:#112d3c; color:#f8f2e9; --text:#f8f2e9; --muted:#b6c7cd; --accent:#ffad86; --line:#b6c7cd30; }
.sponsor-teaser h2 { font-size:clamp(32px,3.5vw,44px); max-width:12ch; }
.sponsor-teaser .text-link { display:inline-flex; color:#ffd0b5; margin-top:28px; border-color:#ffd0b540; }
.funding-list { border:0; font-size:16px; }
.funding-list li { padding:20px 0 20px 28px; }
.funding-list li:before { font-size:18px; }
.first-build { background:#eee9df; border-top:0; }
.build-picker { border:1px solid #16324026; border-radius:14px; overflow:hidden; grid-template-columns:.85fr 1.15fr; box-shadow:0 12px 35px #142d3b06; }
.build-picker-controls { background:#f5f1e9; padding:38px; }
.build-picker-controls label { font-size:16px; font-weight:500; margin-bottom:20px; }
.build-picker-controls select { min-height:53px; background:#fffcf7; border:1px solid #52656b50; border-radius:6px; font-size:15px; }
.build-picker-controls .idea-next { border-color:#c7afa0; background:#fffaf2; font-size:13px; margin-top:22px; }
.build-picker-controls>p { margin-top:28px; color:#647177; font-size:12px; }
.build-idea { padding:38px; background:#fffdf8; }
.build-idea .idea-label { font-size:11px; letter-spacing:.04em; margin-bottom:23px; }
.build-idea h3 { font-family:var(--display); font-size:28px; font-weight:500; line-height:1.2; margin-bottom:20px; }
.build-idea>p:not(.idea-label) { font-size:16px; }
.build-idea .idea-test { margin:25px 0; padding-top:22px; }
.idea-test strong { font-size:11px; letter-spacing:.07em; text-transform:uppercase; margin-bottom:11px; }
.faq { background:#f8f6f1; }
.faq h2 { max-width:12ch; }
.faq details,.support-accordion details { padding:25px 0; }
.faq details>summary,.support-accordion details>summary { font-size:17px; font-weight:400; }
.faq details p,.support-accordion details p { font-size:16px; }
.closing { position:relative; padding-top:65px; padding-bottom:65px; background:#eee5d9; border-top:1px solid #c2a78d30; }
.closing h2 { font-size:clamp(30px,3.3vw,42px); }
.closing p { font-size:16px; margin-top:15px; }
.closing .button { background:#142d3b; border-color:#142d3b; color:#fff5e8; }
.closing .button:hover { background:#284755; }
.oxford-band { height:230px; background:#102b3a; border-top:0; }
.oxford-band>.oxford-art { opacity:.7; color:#a2b8ba; height:calc(100% - 14px); }
.oxford-band>span { bottom:18px; left:var(--gutter); font-size:11px; letter-spacing:.06em; background:#102b3ae8; color:#b3c6cb; }
.site-footer { padding:46px var(--gutter); background:#0c2534; --text:#f2ece1; --muted:#b6c7cd; --accent:#ffa17b; border-top:1px solid #b6c7cd20; }
.footer-brand { font-family:var(--font); font-size:30px; font-weight:600; letter-spacing:-.025em; }
.footer-brand>span { font-size:12px; max-width:24ch; }
.footer-identity { display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.footer-socials { display:flex; align-items:center; gap:10px; }
.footer-socials a { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; color:var(--text); border:1px solid #b6c7cd30; border-radius:50%; }
.footer-socials a:hover { color:var(--accent); background:#ffffff08; border-color:var(--accent); }
.footer-socials a:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.footer-socials svg { display:block; }

.site-footer nav { gap:13px 38px; font-size:13px; }
.site-footer>p { font-size:11px; line-height:1.9; }
.tinted { background:#f0ede6; }
.benefit-list { gap:32px; }
.benefit-list article { padding:28px 0; border-top:1px solid var(--line); }
.benefit-list h3 { font-size:23px; font-weight:500; }
.benefit-list article>span { font:500 24px/1.2 var(--display); color:#b36d4e; }
.benefit-list p { font-size:16px; }
.compact-copy { max-width:none; background:#fbf9f4; }
.compact-copy h2 { max-width:18ch; }
.compact-copy>p { max-width:70ch; font-size:17px; }
.maker-pathway { background:#ede8dd; }
.pathway-heading h2 { font-size:34px; }
.pathway-heading p:last-child { font-size:16px; }
.pathway-steps { gap:36px; }
.pathway-steps li { border-top:1px solid #ac806560; padding-top:25px; }
.pathway-steps h3 { font-size:23px; font-weight:500; }
.pathway-steps li>span { font-size:11px; letter-spacing:.09em; }
.pathway-note { border-color:#16324020; font-size:13px; }
.team-overview { grid-template-columns:1.4fr .6fr; align-items:stretch; gap:30px; }
.announcement { padding:42px; border:1px solid #16324020; border-radius:12px; background:#fffdf8; }
.announcement h3 { font-family:var(--display); font-size:30px; font-weight:500; line-height:1.2; margin-bottom:20px; }
.announcement p:not(.eyebrow) { font-size:16px; max-width:45ch; }
.team-mascot { padding:28px; border:1px solid #dcbba64d; border-radius:12px; background:radial-gradient(ellipse at 50% 20%,#ffddc2,#f0e5d7 80%); }
.team-mascot img { width:185px; margin-bottom:14px; filter:drop-shadow(0 10px 9px #a8663820); }
.team-mascot h3 { font-family:var(--display); font-size:27px; font-weight:500; }
.team-mascot p { font-size:12px; letter-spacing:.04em; }
.involvement-list { gap:36px; }
.involvement-list h3 { font-size:22px; font-weight:500; }
.involvement-list p { font-size:16px; }
.join-layout { gap:10%; }
.join-intro h2 { font-family:var(--display); font-size:42px; max-width:18ch; }
.join-intro p { font-size:16px; }
.join-intro .small-copy { font-size:13px; }
.join-steps>span { font-size:13px; padding:18px 0; }
.signup-panel { border:1px solid #16324028; border-radius:14px; background:#fffdf8; box-shadow:0 14px 45px #142d3b08; padding:38px; }
.form-field label,.interest-options legend { font-size:14px; }
.form-field label>span,.interest-options legend>span { font-size:12px; }
.form-field input { border:1px solid #53666e59; border-radius:5px; padding:13px 14px; font-size:16px; background:#fffefa; }
.form-field { margin-bottom:25px; }
.interest-options label { font-size:14px; }
.interest-options input,.consent input { accent-color:#ac472d; }
.consent { font-size:13px; }
.form-privacy { font-size:12px; }
.signup-panel .button { width:100%; }
.signup-success h2 { font-family:var(--display); font-size:38px; }
.contact-grid { gap:10%; }
.contact-grid article { padding:36px; border:1px solid #16324020; border-radius:12px; background:#fffdf8; min-width:0; }
.contact-grid h2 { font-family:var(--display); font-size:30px; }
.contact-email { font-size:clamp(16px,1.65vw,22px); letter-spacing:-.02em; }
.contact-grid p { font-size:15px; }
@media(min-width:1200px) {
 .index-page .project-branches { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
 .index-page .branch-art img { height:150px; }
 .index-page .branch-body { padding:23px 23px 24px; }
 .index-page .project-card h3 { font-size:23px; min-height:63px; }
 .index-page .project-card p { font-size:15px; }
 .index-page .branch-meta>span:last-child { font-size:9px; letter-spacing:.04em; }
}
@media(max-width:1100px) {
 #navigation { gap:18px; }
 .brand small { display:none; }
 .hero h1 { font-size:58px; }
 .model-stage { height:390px; }
 .hero { gap:4%; }
 .branch-art img { height:180px; }
}
@media(max-width:1000px) {
 :root { --gutter:6%; }
 .site-header { height:78px; gap:15px; }
 .menu-toggle { color:#142d3b; border-color:#142d3b30; border-radius:6px; font-size:13px; gap:16px; }
 #navigation { top:77px; background:#f8f6f1; padding:15px 6% 23px; box-shadow:0 18px 25px #142d3b0d; }
 #navigation>a:not(.nav-cta) { padding:15px 0; font-size:16px; border-bottom:1px solid #16324013; }
 #navigation>a:not(.nav-cta)::after { display:none; }
 #navigation>.nav-cta { justify-content:space-between; padding:13px 17px; margin-top:16px; }
 .section-shell { padding-top:70px; padding-bottom:70px; }
 .hero { padding-top:48px; padding-bottom:32px; }
 .hero h1 { font-size:52px; }
 .hero-description { font-size:18px; }
 .hero-copy { padding-top:12px; }
 .model-stage { height:360px; }
 .model-scroll-space { --scroll-distance:95px; }
 .page-hero { padding-top:48px; padding-bottom:56px; }
 .page-hero h1 { font-size:54px; }
 .page-folio { margin-bottom:32px; }
 .section-heading { gap:30px; }
 .branch-body { padding:24px; }
 .project-branches { grid-template-columns:1fr; max-width:670px; margin-inline:auto; }
 .project-card h3 { min-height:0; }
 .event-card { padding:30px 27px; }
 .contact-grid { gap:24px; }
 .contact-grid article { padding:28px; }
}
@media(max-width:760px) {
 .hero { grid-template-columns:1fr; gap:38px; }
 .hero h1 { font-size:clamp(46px,7.5vw,60px); }
 .hero-description { max-width:39ch; }
 .hero-copy { max-width:none; }
 .hero-actions { margin-top:30px; }
 .model-scroll-space { width:100%; max-width:560px; margin:auto; --scroll-distance:65px; }
 .model-stage { height:350px; border-radius:120px 120px 12px 12px; }
 .model-caption { padding-top:14px; font-size:11px; }
 .oxford-page-hero { grid-template-columns:1fr; }
 .page-landmark { display:none; }
 .page-hero h1 { font-size:50px; }
 .page-hero>p:not(.eyebrow):not(.page-folio),.oxford-page-hero>div>p:not(.eyebrow):not(.page-folio) { font-size:18px; }
 .section-heading { align-items:start; }
 .section-heading>p { font-size:14px; }
 .project-card h3 { font-size:21px; }
 .branch-art img { height:160px; }
 .branch-body { padding:22px; }
 .project-card p { font-size:15px; }
 .branch-meta>span:last-child { font-size:9px; letter-spacing:.04em; }
 .team-overview { grid-template-columns:1.25fr .75fr; gap:20px; }
 .announcement { padding:30px; }
 .announcement h3 { font-size:28px; }
 .team-mascot { padding:24px 16px; }
 .signup-panel { padding:30px; }
 .join-intro h2 { font-size:39px; }
 .contact-grid article+article { border-top:1px solid #16324020; padding-top:28px; }
 .oxford-band { height:165px; }
 .site-footer { padding-top:38px; padding-bottom:38px; }
}
@media(max-width:600px) {
 .section-shell { padding-top:56px; padding-bottom:56px; }
 h2 { font-size:32px; }
 .site-header { height:76px; }
 .brand { gap:10px; }
 .brand img { width:41px; height:41px; border-radius:9px; }
 .brand>span { font-size:28px; }
 .menu-toggle { padding:9px 12px; }
 #navigation { top:75px; }
 .eyebrow { font-size:11px; letter-spacing:.035em; margin-bottom:17px; }
 .hero { padding-top:44px; padding-bottom:32px; gap:34px; }
 .hero h1 { font-size:clamp(42px,10.8vw,58px); margin-bottom:26px; }
 .hero .eyebrow { margin-bottom:26px; }
 .hero-description { font-size:18px; }
 .hero .welcome { font-size:12px; gap:8px; margin-top:20px; }
 .hero-actions { gap:22px; }
 .hero-actions .button { font-size:13px; padding:14px 17px; }
 .hero-actions .text-link { font-size:13px; }
 .model-stage { height:315px; }
 .model-scroll-space { --scroll-distance:50px; }
 .model-orbit { scale:.84; }
 .model-landmark { width:300px; height:325px; }
 .model-caption { font-size:10px; }
 .launch-strip { flex-wrap:wrap; gap:10px; padding-top:17px; padding-bottom:17px; font-size:12px; }
 .launch-strip p { flex:1; }
 .launch-strip>a { margin-left:15px; font-size:12px; }
 .page-hero { padding-top:35px; padding-bottom:45px; }
 .page-folio { font-size:9px; margin-bottom:30px; }
 .page-hero h1 { font-size:clamp(40px,10vw,54px); margin-bottom:24px; }
 .page-hero>p:not(.eyebrow):not(.page-folio),.oxford-page-hero>div>p:not(.eyebrow):not(.page-folio) { font-size:17px; }
 .section-heading { flex-direction:column; gap:19px; margin-bottom:30px; }
 .section-heading>p { max-width:40ch; }
 .project-branches,.event-cards { grid-template-columns:1fr; gap:20px; }
 .branch-art img { height:180px; }
 .branch-body { padding:25px; }
 .branch-meta { margin-bottom:20px; }
 .branch-meta>span:last-child { font-size:10px; }
 .project-card h3 { font-size:23px; }
 .project-card p { font-size:16px; }
 .event-card { padding:30px 26px; }
 .event-card h3 { font-size:24px; }
 .event-card .event-timing { font-size:10px; margin-bottom:24px; }
 .event-card p { font-size:16px; }
 .event-number { right:24px; }
 .sponsor-teaser { gap:38px; }
 .sponsor-teaser h2 { font-size:34px; }
 .funding-list { font-size:15px; }
 .build-picker { grid-template-columns:1fr; }
 .build-picker-controls,.build-idea { padding:27px; }
 .build-picker-controls { border-bottom:1px solid #16324020; }
 .build-picker-controls label { font-size:15px; }
 .build-picker-controls select { font-size:16px; }
 .build-idea h3 { font-size:30px; }
 .faq { gap:28px; }
 .faq h2 { max-width:18ch; }
 .faq details>summary,.support-accordion details>summary { font-size:16px; }
 .closing { align-items:flex-start; padding-top:45px; padding-bottom:45px; gap:27px; }
 .closing h2 { font-size:32px; }
 .closing p { font-size:15px; }
 .oxford-band { height:150px; }
 .oxford-band>span { font-size:9px; }
 .footer-brand { font-size:30px; }
 .site-footer { gap:30px; }
 .site-footer nav { font-size:13px; gap:16px 30px; }
 .site-footer>p { margin-top:5px; font-size:11px; }
 .team-overview { grid-template-columns:1fr; }
 .announcement { padding:29px; }
 .announcement h3 { font-size:28px; }
 .team-mascot { flex-direction:row; text-align:left; justify-content:flex-start; gap:24px; padding:24px; }
 .team-mascot img { width:125px; max-width:45%; margin:0; }
 .team-mascot h3 { font-size:29px; }
 .team-mascot p { font-size:12px; }
 .pathway-heading h2 { font-size:34px; }
 .pathway-steps { grid-template-columns:1fr; gap:28px; }
 .pathway-steps h3 { font-size:23px; }
 .signup-panel { padding:28px 24px; box-shadow:0 12px 35px #142d3b06; }
 .join-intro h2 { font-size:37px; }
 .contact-grid article { padding:29px 25px; }
 .contact-grid h2 { font-size:28px; }
 .contact-email { font-size:clamp(16px,4.8vw,22px); }
 .benefit-list article { padding:27px 0; }
}
@media(prefers-reduced-motion:reduce) { .button,.branch-link>span,#navigation>a::after { transition:none; } }
@media print { .branch-art { display:none; } .site-header,.model-caption { display:none; } .section-shell { padding:24pt 0; } }

/* Activity and partnership illustrations share the Projects visual vocabulary. */
:is(.index-page,.events-page) .event-card { display:flex; flex-direction:column; padding:0; overflow:hidden; background:#fffdf8; border:1px solid #16324020; border-radius:14px; box-shadow:0 8px 24px #1f384305; }
.event-illustration,.partner-illustration { background:#102b3a; overflow:hidden; }
.event-illustration img,.partner-illustration img { display:block; width:100%; height:205px; object-fit:contain; }
.event-body { position:relative; padding:31px 32px 32px; flex:1; }
:is(.index-page,.events-page) .event-number { top:27px; right:28px; color:#a3806966; }
:is(.index-page,.events-page) .event-card .event-timing { margin-bottom:24px; }
:is(.index-page,.events-page) .event-card h3 { font-size:24px; }
:is(.index-page,.events-page) .event-card p:not(.event-timing) { font-size:16px; }
.partnership-hero { display:grid; grid-template-columns:1.1fr .9fr; gap:6%; align-items:center; }
.partnership-hero-copy { min-width:0; }
.partnership-hero .page-folio { font-size:10px; line-height:1.6; letter-spacing:.14em; }
.partnership-hero h1 { font-size:clamp(44px,4.6vw,64px); }
.partnership-hero-copy>p:not(.eyebrow):not(.page-folio) { font-size:18px; line-height:1.75; max-width:39ch; }
.partnership-hero-art { min-width:0; padding-top:12px; }
.partnership-hero-art img { display:block; width:100%; height:auto; border-radius:150px 150px 14px 14px; border:1px solid #16324018; background:#102b3a; box-shadow:0 12px 35px #142d3b0a; }
.partnership-hero-art figcaption { margin-top:17px; font-size:11px; letter-spacing:.04em; color:#68777b; text-align:center; }
.sponsorship-page .benefit-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; max-width:none; border:0; }
.sponsorship-page .benefit-list article { display:flex; flex-direction:column; gap:0; padding:0; min-width:0; border:1px solid #16324020; border-radius:14px; background:#fffdf8; overflow:hidden; box-shadow:0 8px 24px #1f384305; }
.partner-illustration img { height:165px; }
.partner-body { padding:27px 28px 30px; flex:1; }
.benefit-index { display:block; font-size:12px; color:#b45135; margin-bottom:20px; }
.sponsorship-page .benefit-list h3 { font-size:23px; min-height:63px; margin-bottom:15px; }
.sponsorship-page .benefit-list p { font-size:16px; line-height:1.75; }
@media(max-width:1100px) {
 .event-illustration img { height:185px; }
 .partnership-hero { gap:5%; grid-template-columns:1.15fr .85fr; }
 .partnership-hero h1 { font-size:52px; }
 .partner-body { padding:25px 23px; }
 .sponsorship-page .benefit-list h3 { font-size:21px; }
}
@media(max-width:900px) {
 .partnership-hero { grid-template-columns:1fr; gap:38px; }
 .partnership-hero h1 { font-size:54px; }
 .partnership-hero-copy>p:not(.eyebrow):not(.page-folio) { max-width:47ch; }
 .partnership-hero-art { max-width:480px; width:100%; margin-inline:auto; padding-top:0; }
 .sponsorship-page .benefit-list { grid-template-columns:1fr; max-width:670px; margin-inline:auto; }
 .partner-illustration img { height:190px; }
 .sponsorship-page .benefit-list h3 { min-height:0; font-size:24px; }
 .partner-body { padding:28px 30px 31px; }
}
@media(max-width:600px) {
 .event-illustration img { height:180px; }
 .event-body { padding:28px 26px 30px; }
 :is(.index-page,.events-page) .event-number { top:25px; right:24px; }
 :is(.index-page,.events-page) .event-card .event-timing { margin-bottom:24px; }
 .partnership-hero { gap:32px; }
 .partnership-hero h1 { font-size:clamp(40px,10vw,54px); }
 .partnership-hero-copy>p:not(.eyebrow):not(.page-folio) { font-size:17px; }
 .partnership-hero-art { max-width:390px; }
 .partnership-hero-art img { border-radius:100px 100px 12px 12px; }
 .partnership-hero-art figcaption { font-size:10px; margin-top:13px; }
 .partner-illustration img { height:170px; }
 .partner-body { padding:25px 26px 29px; }
 .sponsorship-page .benefit-list h3 { font-size:23px; }
 .benefit-index { margin-bottom:17px; }
}
@media print { .event-illustration,.partner-illustration,.partnership-hero-art { display:none; } .partnership-hero { display:block; } }

/* Liquid glass: bright bevels, curved reflections and a translucent paper surface. */
:is(.index-page .programme,.events-page .event-list,.projects,.sponsorship-page section[aria-labelledby="value-title"],.glass-section) {
 background:radial-gradient(ellipse at 8% 36%,#f7d6c573,transparent 43%),
            radial-gradient(ellipse at 95% 78%,#b4d2cf55,transparent 44%),#f8f6f1;
}
:is(.event-card,.project-card,.sponsorship-page .benefit-list article,.glass-panel) {
 position:relative; isolation:isolate; border-radius:22px; border:1px solid #ffffffc9;
 background:var(--glass-surface,linear-gradient(145deg,#ffffffa8,#f5f4ef70));
 box-shadow:0 18px 42px -24px #153b454f,0 2px 8px #183a4510,inset 0 0 0 1px #ffffff70;
 -webkit-backdrop-filter:blur(18px) saturate(115%);
 backdrop-filter:blur(18px) saturate(115%);
}
:is(.event-card,.project-card,.sponsorship-page .benefit-list article,.glass-panel)::after {
 content:''; position:absolute; inset:0; z-index:3; pointer-events:none;
 border-radius:inherit; border:1px solid #ffffff66;
 box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 #16324012;
}
:is(.event-illustration,.branch-art,.partner-illustration) { position:relative; margin:8px 8px 0; border-radius:15px 15px 5px 5px; }
:is(.event-illustration,.branch-art,.partner-illustration) img { position:relative; }
:is(.event-illustration,.branch-art,.partner-illustration)::before {
 content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
 background:linear-gradient(120deg,#ffffff0a 8%,#ffffff17 29%,transparent 48%,#ffc7a509 86%);
 box-shadow:inset 0 1px 0 #ffffff55,inset 1px 0 0 #ffffff24;
 border-radius:inherit;
}
:is(.event-illustration,.branch-art,.partner-illustration)::after {
 content:''; position:absolute; width:115%; height:145%; left:-34%; top:-106%;
 transform:rotate(-13deg); border-radius:50%; pointer-events:none;
 background:linear-gradient(180deg,transparent 60%,#dceffa16);
 border-bottom:1px solid #e7f7ff36; box-shadow:0 2px 0 #ffffff04;
}
:is(.event-body,.branch-body,.partner-body) {
 position:relative; margin-top:-13px; z-index:2; border-top:1px solid #ffffffc2;
 border-radius:20px 20px 0 0;
 background:linear-gradient(135deg,#fffefaeb,#f6f4efdb);
 box-shadow:0 -7px 20px #0c25340c,inset 0 1px 0 #ffffff;
 -webkit-backdrop-filter:blur(18px) saturate(125%);
 backdrop-filter:blur(18px) saturate(125%);
}
:is(.index-page,.events-page) .event-body { padding:30px 32px 32px; }
:is(.index-page,.events-page) .event-number {
 top:23px; right:26px; width:35px; height:35px; display:grid; place-items:center;
 font:500 13px/1 var(--display); color:#8e4f36;
 border-radius:50%; border:1px solid #ffffffed;
 background:linear-gradient(135deg,#ffffffcf,#efdac880);
 box-shadow:0 3px 7px #604d3610,inset 0 1px 1px #fff;
}
:is(.index-page,.events-page) .event-card .event-timing { padding-right:46px; }
@media(max-width:600px) {
 :is(.index-page,.events-page) .event-body { padding:28px 24px 29px; }
 :is(.index-page,.events-page) .event-number { right:21px; top:22px; }
}
/* Text cards carry the same glass surface, with a broad reflected arc. */
.glass-panel { overflow:hidden; }
.glass-panel> :is(p,h2,h3,a,div,img) { position:relative; z-index:1; }
.glass-panel::before {
 content:''; position:absolute; pointer-events:none; width:140%; height:95%;
 left:-35%; top:-52%; border-radius:50%; transform:rotate(-16deg);
 background:linear-gradient(170deg,#ffffff05 40%,#ffffff6b);
 border-bottom:1px solid #ffffffbc; box-shadow:0 2px 0 #ffffff25;
}
.team-mascot.glass-panel {
 --glass-surface:radial-gradient(ellipse at 50% 35%,#ffcfac91,transparent 72%),
            linear-gradient(145deg,#fff8ecbb,#f3e5d77a);
}
.team-mascot.glass-panel img { filter:drop-shadow(0 12px 12px #9c603426); }
.involvement-list { border-top:0; padding-top:0; gap:24px; }
.involvement-list>.glass-panel { padding:29px 28px 27px; }
.involvement-list>.glass-panel p { margin-bottom:0; }
.contact-grid.glass-section { gap:28px; }
.contact-grid>.glass-panel { padding:38px; }
.contact-grid>.glass-panel .eyebrow { margin-top:0; }
@media(max-width:600px) {
 .involvement-list { gap:18px; }
 .involvement-list>.glass-panel { padding:26px; }
 .contact-grid.glass-section { gap:22px; }
 .contact-grid>.glass-panel { padding:29px 25px; }
 .team-mascot.glass-panel { gap:20px; }
}
@media(prefers-reduced-transparency:reduce) {
 :is(.event-card,.project-card,.sponsorship-page .benefit-list article,.glass-panel,.event-body,.branch-body,.partner-body) {
  background:#fffdf8; -webkit-backdrop-filter:none; backdrop-filter:none;
 }
 :is(.event-illustration,.branch-art,.partner-illustration)::before,:is(.event-illustration,.branch-art,.partner-illustration)::after,.glass-panel::before { display:none; }
}
@media(forced-colors:active) {
 :is(.event-card,.project-card,.sponsorship-page .benefit-list article,.glass-panel) { border:1px solid CanvasText; }
 :is(.event-illustration,.branch-art,.partner-illustration)::before,:is(.event-illustration,.branch-art,.partner-illustration)::after,.glass-panel::before { display:none; }
}
