@font-face{font-family:Lilita;src:url('assets/lilita-one.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Nunito;src:url('assets/nunito-sans-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Nunito;src:url('assets/nunito-sans-bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--ink:#fff;--ink-dark:#191922;--muted:#eee8fa;--paper:#fff;--lime:#dbf36b;--pink:#ef407c;--blue:#1861cc;--purple:#6834b7;--border:#ffffff45;--display:Lilita,'Arial Rounded MT Bold',sans-serif;--body:Nunito,Arial,sans-serif;--page-width:1180px}
*{box-sizing:border-box;letter-spacing:0}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);margin:0;min-height:100svh;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);position:relative;isolation:isolate;background:#38256d;color:var(--ink);font:400 1.0625rem/1.6 var(--body);-webkit-font-smoothing:antialiased}
/* Keep the fixed artwork's background-color transparent: Safari samples solid fixed layers for toolbar tinting. */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#160e2c60,#160e2c60),url('assets/backdrop.webp');background-position:center;background-size:cover;background-repeat:no-repeat}
a{color:inherit;text-decoration:none}button,summary{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid currentColor;outline-offset:6px}
img{display:block;max-width:100%;height:auto}svg{width:20px;height:20px;stroke-width:1.75;flex-shrink:0}
h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.07}p+p{margin-top:1.2rem}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--lime);color:var(--ink-dark);padding:.75rem 1.2rem}.skip-link:focus{top:1rem}
.site-header{max-width:1600px;width:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.6rem 3.25rem;position:relative;z-index:20}
.brand-logo{display:block;width:88px;aspect-ratio:1;flex-shrink:0}.brand-logo img{width:100%;height:100%;object-fit:contain}
.menu{position:relative}.menu summary{display:grid;place-items:center;width:48px;height:48px;cursor:pointer;list-style:none;padding:10px;border:0;border-radius:4px;user-select:none;transition:background .2s}.menu summary:hover{background:#ffffff1f}
.menu summary::-webkit-details-marker{display:none}.menu summary svg{width:28px;height:28px;stroke-width:1.8}.menu-open-icon{display:flex}.menu-close-icon{display:none}.menu[open] .menu-open-icon{display:none}.menu[open] .menu-close-icon{display:flex}
.menu-panel{position:absolute;right:0;top:calc(100% + 14px);width:270px;max-width:calc(100vw - 2rem);max-height:calc(100dvh - 9rem);overflow-y:auto;overscroll-behavior:contain;background:#38256d;color:var(--ink);padding:.5rem .85rem;box-shadow:0 10px 36px #0002;border:1px solid var(--border);border-radius:6px}
.menu-panel a{display:flex;align-items:center;min-height:44px;font-family:var(--display);font-size:1.125rem;line-height:1.35;font-weight:400;padding:.5rem .75rem;border-bottom:1px solid #ffffff24;overflow-wrap:anywhere;transition:background .15s,color .15s}.menu-panel a:last-child{border-bottom:0}.menu-panel a:hover,.menu-panel a:focus-visible{background:#ffffff14;outline-offset:-3px}.menu-panel a[aria-current]{color:var(--lime)}
.home-hero{position:relative;min-height:calc(100svh - var(--safe-top) - var(--safe-bottom))}
.home .site-header{position:absolute;top:0;left:50%;transform:translateX(-50%)}
.hero-content{width:100%;min-height:calc(100svh - var(--safe-top) - var(--safe-bottom));display:grid;place-items:center;padding:5.5rem 1.5rem}
.hero-logo{position:relative;width:min(34rem,76vw,calc(100svh - 11rem - var(--safe-top) - var(--safe-bottom)));aspect-ratio:1;display:flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden}
.hero-logo img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 8px #10162626)}
.eyebrow{display:block;font-size:.875rem;line-height:1.5;font-weight:700}.text-link{display:inline-flex;align-items:center;gap:.85rem;font-weight:700;border-bottom:1px solid currentColor;padding:.5rem 0;min-height:44px;margin-top:1rem}.text-link:hover{color:var(--lime)}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:2.5rem 3.25rem;font-size:.875rem;border-top:1px solid var(--border)}.site-footer .brand-logo{width:64px}.site-footer>a:last-child{border-bottom:1px solid currentColor}.site-footer>span{color:var(--muted)}
.page-main{width:min(var(--page-width),calc(100% - 6.5rem));margin:0 auto;min-height:calc(100svh - 250px);padding:3.75rem 0 6rem}
.page-heading{margin-bottom:3.5rem}.page-heading .eyebrow{color:var(--lime);margin-bottom:1rem}.page-heading h1{font-size:4.25rem;max-width:850px;text-wrap:balance}.page-heading .lede{font-size:1.25rem;line-height:1.6;max-width:690px;margin-top:1.4rem;color:var(--muted)}
.values-intro{display:grid;grid-template-columns:1fr auto;gap:2.5rem;align-items:end}.values-intro .text-link{white-space:nowrap;margin-bottom:.3rem}
.values-list{display:grid;grid-template-columns:1fr 1fr;gap:0 4rem;list-style:none;margin:0;padding:0;counter-reset:values}.value{display:grid;grid-template-columns:52px 1fr;gap:1.3rem;padding:2rem 0 2.5rem;border-top:1px solid var(--border);counter-increment:values}.value::before{content:counter(values,decimal-leading-zero);font:400 2.65rem/1 var(--display);color:var(--value-colour)}.value:nth-child(4n+1){--value-colour:#dbf36b}.value:nth-child(4n+2){--value-colour:#ffb3d4}.value:nth-child(4n+3){--value-colour:#a9dcff}.value:nth-child(4n){--value-colour:#ffe4a0}.value h2{font-size:1.625rem;max-width:440px;text-wrap:balance}.value p{margin-top:.8rem;font-size:1.0625rem;line-height:1.6;color:var(--muted);max-width:450px}
.closing-line{background:var(--lime);color:var(--ink-dark);padding:2.25rem;margin-top:1.5rem;font:400 2rem/1.2 var(--display);text-align:center;text-wrap:balance}
.story-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:6rem;align-items:start}.prose{max-width:690px}.prose p{font-size:1.1875rem;line-height:1.8}.prose h2{font-size:2.25rem;margin:2.5rem 0 1rem}.prose h2:first-child{margin-top:0}.prose .text-link{margin-top:1.5rem}
.colour-note{background:var(--lime);color:var(--ink-dark);padding:2rem;border-radius:0}.colour-note .eyebrow{margin-bottom:1.2rem}.colour-note blockquote{margin:0;font:400 2.35rem/1.17 var(--display);text-wrap:balance}.colour-note p{margin-top:1.5rem;font-size:.9375rem}
.statement{max-width:930px;font:400 3rem/1.2 var(--display);margin:0 0 3rem}.statement em{font-style:normal;color:var(--lime)}
.resource-row{display:grid;grid-template-columns:104px 1fr auto;align-items:center;gap:2rem;padding:2rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.resource-row h2{font-size:1.75rem}.resource-row p{max-width:640px;margin-top:.7rem;color:var(--muted)}.resource-row .resource-type{font-size:.875rem;margin-top:.5rem}.resource-symbol{width:104px;height:116px;display:grid;place-items:center;background:var(--lime);color:var(--ink-dark)}.resource-symbol svg{width:40px;height:40px}.download-button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;min-height:48px;background:var(--lime);color:var(--ink-dark);padding:.75rem 1.25rem;border-radius:4px;font-weight:700;white-space:nowrap}.download-button:hover{background:#fff}
.photo-empty{display:flex;align-items:center;gap:2.5rem;padding:3rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.photo-empty .empty-icon{width:112px;aspect-ratio:1;background:#e8f0ff;display:grid;place-items:center;flex-shrink:0}.empty-icon svg{width:40px;height:40px;color:var(--blue)}.photo-empty h2{font-size:2rem}.photo-empty p{margin-top:1rem;max-width:560px;color:var(--muted)}
.start-steps{list-style:none;counter-reset:steps;margin:2.5rem 0 0;padding:0}.start-steps li{counter-increment:steps;display:grid;grid-template-columns:40px 1fr;gap:1.4rem;padding:1.75rem 0;border-top:1px solid var(--border)}.start-steps li::before{content:counter(steps,decimal-leading-zero);font:400 1.75rem/1 var(--display);color:var(--lime)}.start-steps h2{font-size:1.65rem;margin:0 0 .8rem}.start-steps p{font-size:1.0625rem;line-height:1.65}
@media(max-width:900px){.site-header{padding:1.4rem 2rem}.site-footer{padding:2rem}.page-main{width:calc(100% - 4rem)}.values-intro{grid-template-columns:1fr;gap:1rem}.values-list{gap:0 2.5rem}.value{grid-template-columns:38px 1fr;gap:1rem}.value::before{font-size:2.1rem}.story-layout{gap:3rem}.page-heading h1{font-size:3.5rem}.colour-note blockquote{font-size:1.9rem}.resource-row{grid-template-columns:80px 1fr;gap:1.5rem}.resource-symbol{width:80px;height:100px}.resource-row .download-button{grid-column:2;justify-self:start}}
@media(max-width:600px){.site-header{padding:1rem 1.25rem}.brand-logo{width:72px}.menu-panel{width:270px}.site-footer{padding:2rem 1.5rem;flex-wrap:wrap;gap:1.2rem;font-size:.8125rem}.site-footer>span{order:3;width:100%}.page-main{width:calc(100% - 3rem);padding:2.5rem 0 4rem}.page-heading{margin-bottom:2.5rem}.page-heading h1{font-size:2.8rem;overflow-wrap:break-word}.page-heading .lede{font-size:1.125rem;margin-top:1.2rem}.values-list{grid-template-columns:1fr}.value{grid-template-columns:36px 1fr;gap:1rem;padding:1.75rem 0 2rem}.value h2{font-size:1.5rem;text-wrap:pretty}.value p{font-size:1.0625rem}.closing-line{padding:1.75rem 1.25rem;font-size:1.75rem}.story-layout{grid-template-columns:1fr;gap:2.5rem}.prose p{font-size:1.125rem}.prose h2{font-size:2rem}.colour-note{padding:1.75rem}.colour-note blockquote{font-size:2.2rem}.statement{font-size:2.3rem}.photo-empty{display:block;padding:2rem 0}.photo-empty .empty-icon{width:80px;margin-bottom:1.5rem}.photo-empty h2{font-size:1.8rem}.resource-row{grid-template-columns:1fr}.resource-symbol{width:64px;height:72px}.resource-symbol svg{width:28px;height:28px}.resource-row .download-button{grid-column:1}.start-steps li{gap:1rem}}
.site-header{flex-wrap:wrap;gap:1rem}.menu{margin-left:auto}
.value{grid-template-columns:2.8rem minmax(0,1fr)}
.value h2,.value p{overflow-wrap:anywhere}
.value-detail{margin-top:1rem}.value-detail summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;padding:.4rem 0;cursor:pointer;list-style:none;font-size:.9375rem;font-weight:700;color:var(--ink)}.value-detail summary::-webkit-details-marker{display:none}.value-detail summary svg{width:18px;height:18px;transition:transform .2s}.value-detail[open] summary svg{transform:rotate(45deg)}.value-detail p{font-size:1rem;line-height:1.75}.value-detail[open]{padding-bottom:.5rem}
.mission-section{margin-top:4.5rem;padding-top:3.5rem;border-top:1px solid var(--border)}.section-heading{margin-bottom:2rem}.section-heading>.eyebrow{color:var(--lime);margin-bottom:1rem}.section-heading h2{font-size:2.6rem;text-wrap:balance}.section-heading p{margin-top:1rem;max-width:650px;color:var(--muted);font-size:1.125rem}
.mission-values,.team-roles{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 4rem;list-style:none;margin:0;padding:0}.mission-values>li,.team-roles>li{padding:2rem 0;border-top:1px solid var(--border);min-width:0}.mission-values h3,.team-roles h3{font-size:1.65rem;line-height:1.15;overflow-wrap:anywhere}.mission-values p,.team-roles p{margin-top:1rem;color:var(--muted);line-height:1.75;overflow-wrap:anywhere}
.resource-section{margin-top:4rem}.resource-row h3{font-size:1.75rem}.resource-row>div{min-width:0}.resource-row h3,.resource-row p{overflow-wrap:anywhere}.resource-row+.resource-row{border-top:0}.resource-type strong{color:var(--lime)}
.schedule-resource{margin-top:2rem}
.back-link{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;margin-bottom:1.5rem;font-size:.9375rem;font-weight:700}.back-link:hover{color:var(--lime)}
.session-empty{padding:1.5rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--muted)}
.session-pack{padding:2rem 0;border-top:1px solid var(--border)}.session-pack h3{font-size:1.75rem}.session-pack p{max-width:690px;margin-top:.75rem;color:var(--muted)}.session-pack h3,.session-pack p{overflow-wrap:anywhere}
.artwork-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem}.artwork-item{min-width:0}.artwork-preview{display:grid;place-items:center;aspect-ratio:16/9;background:#38256d;border:1px solid var(--border);overflow:hidden}.artwork-preview img{width:100%;height:100%;object-fit:contain}.artwork-logo img{padding:1.25rem}.artwork-item h3{font-size:1.65rem;margin-top:1.25rem}.artwork-item p{margin-top:.65rem;color:var(--muted);overflow-wrap:anywhere}
.download-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.download-links .download-button{white-space:normal;max-width:100%;text-align:center;overflow-wrap:anywhere}
@media(max-width:760px){.artwork-grid{grid-template-columns:minmax(0,1fr);gap:2.5rem}}
.page-heading-photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);align-items:center;gap:3.5rem}
.page-heading-copy{min-width:0}.page-heading-photo h1{overflow-wrap:anywhere}
.page-photo{display:grid;place-items:center;min-width:0;margin:0;padding:.75rem}
.page-photo img{width:auto;height:auto;max-width:100%;max-height:26rem;border:6px solid #fff;transform:rotate(-1deg);box-shadow:0 5px 18px #130d2938}
@media(max-width:900px){.page-heading-photo{grid-template-columns:minmax(0,1fr) minmax(0,280px);gap:2.5rem}}
@media(max-width:760px){.page-heading-photo{grid-template-columns:minmax(0,1fr);gap:1.5rem}.page-photo{width:100%;max-width:344px;justify-self:center}.page-photo img{max-height:20rem}}
.colour-note blockquote{overflow-wrap:anywhere}
.photo-collage{columns:3;column-gap:1.5rem;padding:.5rem .5rem 1.5rem}
.photo-print{--tilt:-.8deg;--frame:#fff;position:relative;display:inline-block;vertical-align:top;width:calc(100% - 12px);margin:6px 6px 24px;border:8px solid var(--frame);background:var(--frame);break-inside:avoid;transform:rotate(var(--tilt));box-shadow:0 4px 14px #130d2938;transition:transform .18s;cursor:zoom-in}
.photo-print:nth-child(even){--tilt:.8deg}.photo-print:nth-child(4n){--frame:var(--lime)}.photo-print:nth-child(7n){--frame:#a9dcff}.photo-print img{width:100%;height:auto}.photo-print:hover,.photo-print:focus-visible{transform:rotate(0) translateY(-3px);z-index:1}
.photo-zoom{position:absolute;bottom:.6rem;right:.6rem;display:grid;place-items:center;width:32px;height:32px;border-radius:4px;background:#191922dd;color:#fff;opacity:0;transition:opacity .18s}.photo-zoom svg{width:18px;height:18px}.photo-print:hover .photo-zoom,.photo-print:focus-visible .photo-zoom{opacity:1}
.photo-viewer-open{overflow:hidden}
.photo-lightbox{width:calc(100% - 2rem);max-width:1200px;height:calc(100dvh - 2rem);max-height:1050px;margin:auto;padding:1rem 1.25rem;border:1px solid #ffffff45;border-radius:8px;background:#211932;color:#fff;overflow:hidden}
.photo-lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.75rem}.photo-lightbox::backdrop{background:#100b20eb}.photo-lightbox [hidden]{display:none!important}
.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.lightbox-counter{font-size:.9375rem;font-weight:700;font-variant-numeric:tabular-nums}
.gallery-control{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;padding:0;border:1px solid #ffffff55;border-radius:4px;color:#fff;background:transparent;cursor:pointer}.gallery-control:hover{color:var(--ink-dark);background:var(--lime);border-color:var(--lime)}.gallery-control svg{width:24px;height:24px}
.lightbox-stage{min-width:0;min-height:0;position:relative;display:grid;place-items:center;touch-action:pan-y pinch-zoom}.lightbox-image{width:100%;height:100%;min-height:0;object-fit:contain}.lightbox-loading,.lightbox-error{padding:1.5rem;max-width:34rem;text-align:center}.lightbox-error a{text-decoration:underline}
.lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.lightbox-caption{font-size:.9375rem;line-height:1.45;text-align:center;max-width:780px;overflow-wrap:anywhere}
@media(max-width:900px){.photo-collage{columns:2}}
@media(max-width:560px){.photo-collage{columns:1;padding:.25rem .5rem}.photo-print{margin-bottom:1.5rem;border-width:6px}.photo-lightbox{width:calc(100% - 1rem);height:calc(100dvh - 1rem);padding:.65rem;gap:.5rem}.lightbox-footer{gap:.6rem}.lightbox-caption{font-size:.8125rem}.resource-section{margin-top:3rem}}
@media(hover:none){.photo-zoom{opacity:1}}
/* Keep floating controls usable when the viewport extends behind the phone's chrome. */
.menu-panel{max-height:calc(100dvh - 9rem - var(--safe-top) - var(--safe-bottom))}
.photo-lightbox{max-width:min(1200px,calc(100% - 2rem - var(--safe-left) - var(--safe-right)));max-height:min(1050px,calc(100dvh - 2rem - var(--safe-top) - var(--safe-bottom)))}
@media(max-width:700px){.mission-values,.team-roles{grid-template-columns:1fr}.mission-section{margin-top:3rem;padding-top:2.5rem}.section-heading h2{font-size:2.1rem}.mission-values h3,.team-roles h3{font-size:1.5rem}}
@media(max-width:600px){.value{grid-template-columns:2.6rem minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(prefers-reduced-motion:reduce){.photo-print,.photo-print:hover,.photo-print:focus-visible{transform:none}}
@media(prefers-reduced-motion:reduce){.page-photo img{transform:none}}
@media print{.page-heading-photo{grid-template-columns:1fr}.page-photo{display:none}}
@media print{.photo-lightbox,.photo-zoom{display:none!important}.photo-print{transform:none;box-shadow:none}}
@media print{:root{--ink:#191922;--muted:#45404d;--border:#ccc}body{background:#fff}body::before,body::after{display:none}.page-heading .eyebrow,.section-heading>.eyebrow,.start-steps li::before,.value::before{color:#191922}.site-header,.site-footer,.text-link,.download-button,.skip-link{display:none}.page-main{width:100%;padding:0}.page-heading h1{font-size:32pt}.page-heading{margin-bottom:1rem}.values-list{grid-template-columns:1fr 1fr;gap:0 1.5rem}.value{break-inside:avoid;padding:1rem 0}.value h2{font-size:15pt}.value p{font-size:11pt}.closing-line{font-size:18pt}}
