/* Summer Academy: full photographs and subject discovery */
.hero{align-items:center}.hero .hero-photo{min-height:0;max-height:none;height:auto;aspect-ratio:auto;align-self:center;background:#f0f5fa}.hero .hero-photo>img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;aspect-ratio:auto}.hero .photo-caption{position:static;display:block;padding:14px 18px;background:#f0f5fa;font-size:14px;line-height:1.5}
.search-panel{display:grid;grid-template-columns:minmax(240px,2fr) minmax(100px,.7fr) minmax(150px,1fr) auto;gap:18px;align-items:end;padding:24px;background:#fff;border:1px solid #dde1eb;border-radius:10px;margin:24px 0}.search-panel label,.subject-select{display:flex;flex-direction:column;gap:8px;font-size:15px;font-weight:600}.search-panel input,.search-panel select,.subject-select select{width:100%;min-width:0;height:52px;border:1px solid #cbd0df;border-radius:4px;background:white;color:#201956;font:inherit;padding:12px}.search-panel .button{min-height:52px;white-space:nowrap}.finder-band{padding:12px 0}.price-intro{padding-top:44px;padding-bottom:44px;text-align:center}.price-intro h2{font-size:clamp(26px,3vw,36px);margin:10px 0}.price-intro p{font-size:18px}.price-intro .text-link{display:inline-block;margin-top:12px}
.destination-inner{display:block}.destination-inner h2{margin-bottom:30px}.destination-links{display:grid;grid-template-columns:repeat(5,1fr);width:100%}.destination-links a{padding:20px 12px;font-size:26px}.all-destinations{display:flex;flex-wrap:wrap;gap:14px 24px;width:100%;padding:20px 0}.all-destinations a{font-size:16px}.subject-groups{display:grid;grid-template-columns:1fr;gap:16px}.subject-group{border:1px solid #d5d9e5;border-radius:8px;background:#fff;overflow:hidden}.subject-group>summary{display:flex;align-items:center;gap:20px;padding:24px;cursor:pointer;list-style:none}.subject-group>summary::-webkit-details-marker{display:none}.subject-group>summary h2,.subject-group>summary h3{font-size:28px;margin:0;flex:1}.subject-group>summary>span{font-size:16px;color:#53576c}.subject-group>summary>span:last-child{font-size:24px}.subject-group[open]>summary{background:#eef4f9;border-bottom:1px solid #d5d9e5}.group-options{padding:16px 24px}.group-options .programme,.catalogue-option{border:0;border-bottom:1px solid #d5d9e5;border-radius:0;margin:0}.catalogue-option>summary{display:flex;align-items:center;justify-content:space-between;padding:20px 0;cursor:pointer;list-style:none}.catalogue-option small{display:block;color:#53576c;font-size:16px;margin-bottom:8px}.catalogue-option strong{font-size:21px;line-height:1.4}.catalogue-option .programme-body{padding:0 0 24px}.catalogue-option .programme-body p{font-size:18px;line-height:1.65}.option-link{margin-left:24px;display:inline-block}.catalogue-top{display:flex;align-items:center;justify-content:space-between;margin:28px 0}.subject-select{max-width:330px}.enquiry-destinations{margin-top:44px;padding:32px;background:#eef4f9;border-radius:8px}.enquiry-destinations .text-link{display:inline-block;margin-right:30px}.teaser-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;margin-top:32px}.teaser-grid figure{margin:0}.teaser-grid img{display:block;width:100%;height:auto;border-radius:8px}.teaser-grid figcaption{font-size:14px;line-height:1.5;color:#53576c;margin-top:12px}.teaser-grid p{font-size:19px;line-height:1.7}.teaser-grid .button{margin-top:20px}[hidden]{display:none!important}:focus-visible{outline:3px solid #bf924b;outline-offset:4px}
@media(max-width:900px){.search-panel{grid-template-columns:1fr 1fr}.search-query{grid-column:1/-1}.teaser-grid{grid-template-columns:1fr;gap:26px}.destination-links{grid-template-columns:repeat(3,1fr)}.hero .hero-photo{aspect-ratio:auto;min-height:0}}
@media(max-width:560px){.search-panel{gap:16px;padding:18px}.search-panel .button{grid-column:1/-1}.search-panel label{font-size:14px}.search-panel input,.search-panel select{font-size:16px}.destination-links{grid-template-columns:repeat(2,1fr)}.destination-links a{font-size:23px}.subject-group>summary{flex-wrap:wrap;gap:10px;padding:20px}.subject-group>summary h2,.subject-group>summary h3{font-size:26px;flex-basis:80%}.subject-group>summary>span:not(:last-child){order:3;width:100%}.group-options{padding:10px 18px}.option-link{display:block;margin:20px 0 0}.catalogue-top{gap:20px}.price-intro p{font-size:17px}.hero .photo-caption{font-size:13px}}
