/* SED HUB V11 — consolidated visual / responsive / theme repair */
:root{--v11-radius:20px}
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{min-width:320px}
main,.wrap,section,article,div{min-width:0}
main .wrap{width:min(1260px,calc(100% - 40px))!important;margin-inline:auto!important}
main .section-head{display:block!important;max-width:880px!important;margin:0 0 36px!important}
main .section-head>*{grid-column:auto!important;max-width:100%!important}
main .section-head h2{font-size:clamp(2.05rem,4vw,3.65rem)!important;line-height:1.02!important;margin:0 0 14px!important}
main .section-head p{font-size:1rem!important;line-height:1.65!important;color:var(--v7-muted)!important}
/* theme visibility */
.v7-light-image{display:none!important} html[data-theme="light"] .v7-dark-image{display:none!important} html[data-theme="light"] .v7-light-image{display:block!important}
.fl-theme-img{transition:opacity .18s ease}
/* interactive */
main .interactive-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}
main .interactive-tool{overflow:hidden!important;padding:30px!important;border-radius:20px!important}
main .choice-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
main .choice-grid button{min-height:92px!important;padding:16px!important;border-radius:14px!important;border:1px solid var(--v7-line)!important;background:var(--v7-panel2)!important;color:var(--v7-text)!important;text-align:left!important;font-weight:750!important;line-height:1.35!important}
main .choice-grid button:hover,main .choice-grid button:focus{border-color:var(--v7-cyan)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--v7-cyan) 18%,transparent)!important}
main .tool-result{margin-top:18px!important;padding:16px!important;border-radius:14px!important;background:var(--v7-panel2)!important;color:var(--v7-text)!important;border:1px solid var(--v7-line)!important;min-height:70px!important}
main .mini-eco{display:flex!important;justify-content:center!important;gap:26px!important;flex-wrap:wrap!important;font-size:2.2rem!important;padding:30px 0!important}
/* pagination + notes */
main .pagination{display:flex!important;flex-wrap:wrap!important;gap:8px!important;justify-content:center!important;margin:34px 0!important}
main .pagination a{display:grid!important;place-items:center!important;min-width:50px!important;height:50px!important;padding:0 15px!important;border-radius:12px!important;background:var(--v7-panel)!important;color:var(--v7-text)!important;border:1px solid var(--v7-line)!important;font-weight:850!important}
main .pagination a.current{background:linear-gradient(135deg,var(--v7-blue),var(--v7-pink))!important;color:#fff!important;border-color:transparent!important}
main .catalogue-note{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:14px!important;align-items:start!important;padding:20px!important;max-width:100%!important;overflow:hidden!important}
main .catalogue-note span{min-width:0!important;overflow-wrap:anywhere!important}
/* course catalogue */
main .v8-course-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;width:100%!important;max-width:100%!important}
main .v8-course-card{width:100%!important;min-width:0!important;overflow:hidden!important}
main .v8-course-image{background-image:linear-gradient(180deg,rgba(3,8,24,.03),rgba(3,8,24,.72)),var(--course-img-dark)!important;background-position:center!important;background-size:cover!important}
html[data-theme="light"] main .v8-course-image{background-image:linear-gradient(180deg,rgba(255,255,255,.02),rgba(7,30,71,.48)),var(--course-img-light)!important}
main .v8-course-image{min-height:180px!important;padding:18px!important}
main .v8-course-image span{font-size:.58rem!important;max-width:100%!important}
main .v8-course-image b{font-size:1.18rem!important;max-width:100%!important}
main .course-card-top{display:flex!important;gap:8px!important;align-items:center!important;justify-content:space-between!important;min-width:0!important}
main .course-category{max-width:66%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
main .v8-course-card h2{font-size:1rem!important;line-height:1.28!important;min-height:0!important}
main .v8-course-card p{font-size:.8rem!important;line-height:1.55!important;display:-webkit-box!important;-webkit-line-clamp:4!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
main .course-actions{display:flex!important;gap:10px!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important}
main .course-actions .arrow{font-size:.75rem!important;overflow-wrap:anywhere!important}
main .v11-detail-image{height:175px;border-radius:16px;margin:-2px -2px 16px;background:var(--course-img-dark) center/cover no-repeat;border:1px solid var(--v7-line)}
html[data-theme="light"] main .v11-detail-image{background-image:var(--course-img-light)}
/* camps */
main .camp-theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
main .camp-theme-grid>div{min-width:0!important;min-height:270px!important}
main .v8-camp-flow{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
main .v8-camp-flow>div{min-width:0!important;overflow:hidden!important}
main .page-hero-grid>*,main .split>*{min-width:0!important}
/* homeschool */
main .homeschool-bands{grid-template-columns:repeat(5,minmax(0,1fr))!important}
main .curriculum-strands{grid-template-columns:repeat(4,minmax(0,1fr))!important}
/* FutureLab clean images */
.futurelab-site{overflow-x:hidden}
.futurelab-site .fl-wrap{width:min(1460px,calc(100% - 48px));max-width:1460px;margin-inline:auto}
.futurelab-site .fl-programme-hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr)!important;align-items:center!important;gap:48px!important}
.futurelab-site .fl-programme-hero-grid>div{min-width:0}
.futurelab-site .fl-programme-art{height:560px!important;border-radius:28px!important;overflow:hidden!important;box-shadow:0 24px 70px rgba(0,0,0,.26)!important}
.futurelab-site .fl-programme-art img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important}
.futurelab-site .fl-gallery{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:16px!important}
.futurelab-site .fl-gallery-item{min-width:0!important;overflow:hidden!important;border-radius:20px!important}
.futurelab-site .fl-gallery-item picture{display:block;height:240px;overflow:hidden}
.futurelab-site .fl-gallery-item img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important}
.futurelab-site .fl-gallery-item>span{padding:18px!important}
.futurelab-site .fl-gallery-item>span>*{overflow-wrap:anywhere}
.futurelab-site .fl-programme-cards{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.futurelab-site .fl-programme-card{min-width:0!important;overflow:hidden!important}
.futurelab-site .fl-programme-card img{width:100%!important;height:260px!important;object-fit:cover!important;object-position:center!important}
.futurelab-site .fl-theme-img{width:100%;height:100%;object-fit:cover}
html[data-theme="light"] .futurelab-site .fl-theme-img[data-light]{content:attr(data-light)}
/* make light mode image swapping via JS data attrs supported; fallback with CSS image filters */
html[data-theme="light"] .futurelab-site .fl-programme-art img,html[data-theme="light"] .futurelab-site .fl-gallery-item img{filter:saturate(.92) brightness(1.08)}
/* keep text inside viewport */
.futurelab-site h1,.futurelab-site h2,.futurelab-site h3,.futurelab-site p{max-width:100%;overflow-wrap:break-word}
.futurelab-site .fl-programme-hero h1{font-size:clamp(3rem,6vw,6.5rem)!important;line-height:.94!important}
/* responsive */
@media(max-width:1120px){main .v8-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}main .homeschool-bands{grid-template-columns:repeat(3,minmax(0,1fr))!important}main .curriculum-strands{grid-template-columns:repeat(2,minmax(0,1fr))!important}main .v8-camp-flow{grid-template-columns:repeat(2,minmax(0,1fr))!important}.futurelab-site .fl-gallery,.futurelab-site .fl-programme-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important}.futurelab-site .fl-programme-hero-grid{grid-template-columns:1fr!important}.futurelab-site .fl-programme-art{height:460px!important}}
@media(max-width:760px){main .wrap{width:min(100% - 28px,1260px)!important}main .interactive-grid,main .v8-course-grid,main .camp-theme-grid,main .homeschool-bands,main .curriculum-strands,main .week-cycle,main .age-paths{grid-template-columns:1fr!important}main .choice-grid{grid-template-columns:1fr!important}main .v8-camp-flow{grid-template-columns:1fr!important}main .catalogue-note{grid-template-columns:1fr!important}main .course-actions{align-items:stretch!important}main .course-actions>*{width:100%!important;text-align:center!important}.futurelab-site .fl-wrap{width:min(100% - 28px,1460px)!important}.futurelab-site .fl-gallery,.futurelab-site .fl-programme-cards{grid-template-columns:1fr!important}.futurelab-site .fl-programme-art{height:340px!important}.futurelab-site .fl-programme-hero h1{font-size:clamp(2.7rem,14vw,4.5rem)!important}.futurelab-site .fl-gallery-item picture{height:280px}}
main .camp-theme-grid>div.v11-theme-card{background-image:linear-gradient(180deg,rgba(2,7,22,.03) 10%,rgba(2,7,22,.88) 94%),var(--theme-dark)!important;background-position:center!important;background-size:cover!important}
html[data-theme="light"] main .camp-theme-grid>div.v11-theme-card{background-image:linear-gradient(180deg,rgba(255,255,255,.02) 10%,rgba(12,39,81,.62) 94%),var(--theme-light)!important}
/* earlier collapse for the long global navigation so it never runs off-screen */
@media(max-width:1320px){
  .v7-navrow .nav-toggle{display:block!important;margin-left:auto;border:1px solid var(--v7-line);border-radius:9px;background:var(--v7-panel);color:var(--v7-text);padding:8px 12px}
  .v7-nav{display:none!important;position:fixed!important;left:18px!important;right:18px!important;top:84px!important;background:var(--v7-panel)!important;border:1px solid var(--v7-line)!important;border-radius:16px!important;padding:18px!important;box-shadow:var(--v7-shadow)!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px!important;max-height:calc(100vh - 110px);overflow:auto}
  .v7-nav.open{display:grid!important}
  .v7-nav a{padding:10px!important}
  .theme-toggle{margin-left:0!important}
}
@media(max-width:680px){.v7-nav{grid-template-columns:1fr!important;top:75px!important}}
/* proof pills and theme chips must remain readable */
main .proof-row{display:flex!important;flex-wrap:wrap!important;gap:10px!important}
main .proof-row span{background:var(--v7-panel2)!important;color:var(--v7-text)!important;border:1px solid var(--v7-line)!important;padding:9px 13px!important;border-radius:999px!important;font-weight:750!important}
html[data-theme="dark"] main .proof-row span{background:#101c37!important;color:#eaf2ff!important}
/* FutureLab text and artwork alignment */
.futurelab-site .fl-back{display:block!important;margin:0 0 22px!important;max-width:max-content!important}
.futurelab-site .fl-programme-hero .fl-kicker{display:block!important;margin-bottom:14px!important}
.futurelab-site .fl-programme-hero-grid>div:first-child{padding-left:0!important}
.futurelab-site .fl-programme-card .fl-card-copy p{min-height:96px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:760px){.futurelab-site .fl-programme-card .fl-card-copy p{min-height:0}}
main .v8-camp-flow>div{background-image:linear-gradient(180deg,rgba(3,8,24,.02),rgba(3,8,24,.82)),var(--camp-img-dark)!important;background-size:cover!important;background-position:center!important}
html[data-theme="light"] main .v8-camp-flow>div{background-image:linear-gradient(180deg,rgba(255,255,255,.02),rgba(8,34,75,.62)),var(--camp-img-light)!important}
.futurelab-site .fl-card-image{height:250px!important}
