.camp-hero{display:grid;grid-template-columns:1fr 1fr;max-width:none}.camp-heading{padding:65px 9%}.camp-heading h1{font-size:clamp(30px,3.1vw,48px);line-height:1.4}.camp-cover{min-width:0}.camp-cover img{height:100%;min-height:520px;object-position:65% 100%}.camp-programmes{padding:0;max-width:none}.camp-section-title{padding:55px 6% 25px;margin:0}.journey-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 6% 45px}.journey-nav a{border-bottom:3px solid #984c52;padding:20px;background:#f8f2ef;font-weight:600}.journey-nav a:nth-child(2){background:#eaf0f7;border-color:#294d75}.journey-nav a:nth-child(3){background:#eaf1e8;border-color:#527553}.camp-project{padding:70px 6%;gap:6%;border:0;align-items:center}.project-copy h2{font-size:clamp(28px,2.6vw,38px);line-height:1.4}.project-copy>p{line-height:1.9}.project-copy ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.project-copy li{padding:15px;background:#f8f2ef;border-left:3px solid #984c52;font-size:15px}.camp-meta{display:inline-block;background:#f6e9e6;color:#793c44;padding:8px 14px;font-weight:600}.project-image img{height:520px;border-radius:2px}.ai-project{background:#102d48;color:#f7faff;grid-template-columns:1.1fr .9fr}.ai-project .project-copy{grid-column:1;grid-row:1}.ai-panel{grid-column:2;background:#1a3c58;border:1px solid #ffffff30;min-height:420px}.ai-project .camp-meta{background:#274962;color:#f4d599}.ai-project li{background:#1c3c56;border-color:#d6b577}.ai-project .camp-note{color:#cbd9e3;border-color:#ffffff30}#ecology{background:#edf2e9}#ecology .camp-meta{background:#dce8d6;color:#34553e}#ecology li{background:#ffffffb0;border-color:#66866a}#ecology .eyebrow{color:#49664e}.camp-note{border-left:3px solid #b79960;border-top:0;padding:12px 16px;background:#ffffff0a}.camp-enquiry{background:#faf4e9;padding:65px 6%}.fest-hero{background:#301e28;color:white;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center}.fest-hero>div{padding:65px 12%}.fest-hero h1{font-size:clamp(34px,4vw,58px);line-height:1.3}.fest-hero img{width:100%;height:570px;object-fit:cover}.fest-hero .eyebrow{color:#e0be86}.fest-section{padding:70px 6%}.fest-section h2{font-size:clamp(28px,3vw,40px);margin:10px 0 22px}.fest-intro{display:grid;grid-template-columns:1fr 1fr;gap:7%;background:#faf6ef}.fest-intro p{line-height:1.9}.fest-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.fest-tags span{padding:8px 18px;border:1px solid #cdbba7}.fest-video{display:grid;grid-template-columns:.7fr 1.3fr;gap:5%;align-items:center}.fest-video iframe{width:100%;aspect-ratio:16/9;border:0;background:#171717}.fest-video a{display:inline-block;margin:15px 0;text-decoration:underline}.fest-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:0 6% 65px}.fest-gallery figure{margin:0}.fest-gallery img{width:100%;aspect-ratio:1.5;object-fit:cover}.fest-gallery figcaption{font-size:14px;color:#596576;padding-top:10px}.fest-upcoming{background:#301e28;color:#fff;display:grid;grid-template-columns:.7fr 1.3fr;gap:6%;align-items:center}.fest-date{font-size:clamp(36px,5vw,70px);color:#e0be86;line-height:1.3}.fest-upcoming .eyebrow{color:#e0be86}.fest-upcoming p{max-width:700px}.fest-upcoming .primary{margin-top:20px}@media(max-width:850px){.camp-hero,.fest-hero,.fest-intro,.fest-video,.fest-upcoming{grid-template-columns:1fr}.camp-heading{padding:35px 6%}.camp-cover img{height:300px;min-height:0;aspect-ratio:auto;object-position:50% 100%}.journey-nav{gap:8px;padding-bottom:25px}.journey-nav a{padding:14px 10px;font-size:14px}.camp-project{padding:40px 6%;grid-template-columns:1fr}.ai-project .project-copy,.ai-panel{grid-column:auto;grid-row:auto}.ai-panel{min-height:0;order:2}.project-image img{height:320px}.project-copy ul{gap:8px}.project-copy li{padding:12px;font-size:14px}.fest-hero>div{padding:40px 6%}.fest-hero img{height:320px}.fest-section{padding:40px 6%}.fest-gallery{gap:12px}.fest-date{margin-bottom:25px}.fest-video iframe{margin-top:20px}header nav{flex-wrap:wrap}}

.fest-hero img{height:auto;object-fit:contain}.fest-gallery img{height:auto;aspect-ratio:auto;object-fit:contain}@media(max-width:600px){.fest-gallery{grid-template-columns:1fr;gap:25px}}
