@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/poppins-400-latin.9212f6f9860f.woff2") format('woff2')}@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/poppins-500-latin.a09f2fccfee3.woff2") format('woff2')}@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/poppins-600-latin.72993dddf88a.woff2") format('woff2')}@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/poppins-700-latin.25b0e113ca7c.woff2") format('woff2')}@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url("../fonts/nunito-sans-latin.e010923d59d4.woff2") format('woff2')}@font-face{font-family:'Raleway';font-style:normal;font-weight:400 700;font-display:swap;src:url("../fonts/raleway-latin.e401cae7a129.woff2") format('woff2')}
:root{--font-primary:'Poppins',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--font-secondary:'Raleway',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--font-body:'Nunito Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--blue:#2caae2;--blue-deep:#147fac;--blue-soft:#dff3fb;--yellow:#ffc72c;--yellow-soft:#fff2b8;--orange:#f69e24;--coral:#2caae2;--apricot:#83d0f1;--peach:#dff3fb;--cream:#fffdf5;--plum:#172731;--sun:#ffc72c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fffaf3;color:var(--plum);font-family:var(--font-body)}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3,b,strong{font-weight:500}h1,h2,h3{font-family:var(--font-primary)}.kicker{text-transform:uppercase;letter-spacing:.12em;font:500 .74rem/1.4 monospace}
.site-header{height:88px;padding:0 clamp(18px,5vw,66px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--cream);border-bottom:1px solid rgba(44,170,226,.18)}.logo{display:flex;align-items:center;text-decoration:none;flex:0 1 245px}.logo img{display:block;width:100%;height:auto;max-height:64px;object-fit:contain;object-position:left center}.site-header nav{display:flex;align-items:center;gap:22px}.site-header nav a{text-decoration:none}.nav-cta,.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;padding:12px 19px;border-radius:999px;text-decoration:none;font-weight:500}.nav-cta,.primary{background:var(--blue);color:#102a36}.secondary{border:1px solid currentColor}.actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:25px}.primary.light{background:#fff;color:var(--plum)}.site-footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;padding:40px clamp(24px,6vw,78px);background:var(--cream)}
@media(max-width:850px){.site-header nav a:not(.nav-cta){display:none}}
@media(max-width:560px){.site-header{height:70px;padding:0 14px}.logo{flex-basis:168px}.site-footer{grid-template-columns:1fr}}

/* 02: the layered system begins to make room for evidence and photography */.full-facts{display:flex;justify-content:center;flex-wrap:wrap;background:var(--plum);color:#fff;padding:18px clamp(20px,5vw,70px)}.full-facts span{padding:7px 24px;border-right:1px solid #9f8c99}.full-facts span:last-child{border:0}.full-facts b{color:var(--sun);margin-right:5px}.light-outline{border-color:#fff;color:#fff}

/* 03: photography and the orange layers become one editorial composition */

/* 04: a magazine-like education site with long-form rhythm */

/* 05: human, photographic and warm, with the pathway carrying the page */

/* 06: content-rich competitor inspiration with NLG's own visual identity */

/* 07: the most content-complete, structurally inspired by the benchmark */

@media(max-width:900px){.full-facts{justify-content:flex-start}}
@media(max-width:600px){.full-facts{display:grid;grid-template-columns:1fr 1fr}.full-facts span{border-right:0;border-bottom:1px solid #9f8c99;padding:11px}}

/* Final NLG Pathways identity: blue pathway, bright week yellow and warm attendance accents */
body{background:var(--cream);color:var(--plum)}
.kicker{color:var(--blue-deep)}
.primary.light{background:#fff;color:var(--blue-deep)}
.site-footer{background:#f3fafd}
.full-facts{background:var(--plum);color:#fff}
.full-facts b{color:var(--yellow)}
.light-outline{border-color:currentColor;color:inherit}
@media(max-width:560px){.site-header{height:74px}.logo img{width:100%;height:auto}}

/* Exact-logo motion studies */
@keyframes wedge-arrive{0%,5%{opacity:0;transform:translateY(18px) scale(.72)}18%,76%{opacity:1;transform:translateY(0) scale(1)}88%,100%{opacity:0;transform:translateY(-4px) scale(.97)}}
@keyframes path-arrive{0%,3%{opacity:0;transform:translateY(22px) scale(.94)}15%,82%{opacity:1;transform:translateY(0) scale(1)}94%,100%{opacity:0;transform:translateY(4px) scale(.99)}}
@keyframes day-brighten{0%,7%{opacity:.38;filter:grayscale(.75) brightness(1.14)}17%,78%{opacity:1;filter:grayscale(0) brightness(1)}91%,100%{opacity:.38;filter:grayscale(.75) brightness(1.14)}}
@keyframes path-brighten{0%,10%{opacity:.48;filter:grayscale(.65)}38%,80%{opacity:1;filter:grayscale(0) drop-shadow(0 9px 12px rgba(44,170,226,.16))}94%,100%{opacity:.48;filter:grayscale(.65)}}
@keyframes week-glow{0%,18%{opacity:0;transform:scale(.72)}27%{opacity:.62;transform:scale(.9)}38%{opacity:.22;transform:scale(.94)}55%{opacity:.72;transform:scale(1.03)}72%{opacity:.42;transform:scale(1.08)}84%{opacity:0;transform:scale(1.13)}100%{opacity:0;transform:scale(.72)}}
@keyframes dot-week{0%,8%{opacity:.2;transform:scale(.7)}18%,78%{opacity:1;transform:scale(1.18)}90%,100%{opacity:.2;transform:scale(.7)}}

/* Production Pathways site: shared editorial system */
.production-site{--plum:#203e4a;--sand:#f3eee5;--cream-soft:#fffaf2;--dusty-blue:#e1f1f7;--sky:#54a7dd;background:var(--cream-soft);min-height:100vh}
.production-header{position:relative;z-index:20;background:#fff}.production-header .logo{max-width:230px}.production-header nav{gap:clamp(12px,1.7vw,25px)}.production-header nav a{font-size:.94rem}.production-footer{color:#294551;background:#f2f8fa;grid-template-columns:1.2fr 1fr .8fr 1.2fr;padding-top:55px;padding-bottom:55px}.production-footer b{font-weight:700;color:#172731}.production-footer a{text-underline-offset:4px}.production-footer .footer-brand img{width:min(250px,100%);height:auto;margin-bottom:17px}.production-footer p{color:#526b76}
.mobile-menu{display:none}
@media(max-width:1160px){.production-header nav{display:none;overflow:visible;padding-bottom:0}.mobile-menu{display:block;position:relative;margin-left:auto}.mobile-menu summary{display:flex;align-items:center;justify-content:center;min-width:76px;padding:10px 15px;border:1px solid #9bcfe3;border-radius:999px;color:var(--blue-deep);font-weight:600;cursor:pointer;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary:after{content:'+';margin-left:8px;font-size:1.15rem;line-height:1}.mobile-menu[open] summary:after{content:'–'}.mobile-menu>div{position:absolute;z-index:50;top:50px;right:0;width:min(300px,calc(100vw - 36px));padding:12px;border:1px solid #cfe2e9;border-radius:14px;background:#fff;box-shadow:0 18px 45px rgba(23,39,49,.18);display:grid;grid-template-columns:1fr 1fr;gap:2px}.mobile-menu a{display:flex;min-height:44px;align-items:center;padding:10px;border-radius:8px;text-decoration:none;font-size:.9rem}.mobile-menu a:hover,.mobile-menu a:focus-visible{background:#eef8fc}.mobile-menu .mobile-menu-cta{grid-column:1/-1;justify-content:center;margin-top:5px;background:var(--blue);color:#102a36;text-align:center;font-weight:600}}
.page-hero{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;padding:clamp(78px,10vw,145px) clamp(24px,7vw,100px);min-height:510px;background:linear-gradient(135deg,#fffdf9 0%,#f9fbf7 100%)}.page-hero.has-image{grid-template-columns:1fr 1fr;padding:0;min-height:650px}.page-hero>div{padding:clamp(65px,8vw,115px) clamp(24px,7vw,100px)}.page-hero:not(.has-image)>div{padding:0;max-width:1030px}.page-hero h1{font-size:clamp(3.3rem,6.6vw,6.8rem);line-height:.91;letter-spacing:-.06em;margin:18px 0 28px;max-width:1050px}.page-hero>div>p:not(.kicker){max-width:720px;font-size:1.13rem;line-height:1.7}.page-hero>img{display:block;width:100%;height:100%;min-height:650px;object-fit:cover}
.calendar-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(55px,8vw,120px);padding:clamp(80px,10vw,140px) clamp(24px,7vw,100px);background:#fff}.section-heading h2,.calendar-section h2,.image-story h2,.contact-card h2{font-size:clamp(2.4rem,4.6vw,5rem);line-height:.98;letter-spacing:-.045em}.section-heading>p:last-child,.image-story p,.contact-card p{font-size:1.04rem;line-height:1.72}
.faq-section,.referral-layout{padding:clamp(80px,10vw,140px) clamp(24px,7vw,100px)}.section-heading{max-width:900px}
.image-story{display:grid;grid-template-columns:1fr 1fr;background:var(--dusty-blue)}.image-story.reverse{background:var(--yellow-soft)}.image-story>img{width:100%;height:100%;min-height:690px;object-fit:cover}.image-story>div{padding:clamp(65px,8vw,112px)}
.calendar-section{background:#fff}.date-list{border-top:2px solid var(--plum)}.date-list p{display:grid;grid-template-columns:150px 1fr;gap:25px;padding:21px 0;margin:0;border-bottom:1px solid rgba(23,39,49,.22)}.date-list b{color:var(--blue-deep);font-weight:700}.date-list span{line-height:1.65}
.production-cta{display:flex;align-items:center;justify-content:space-between;gap:60px;padding:clamp(72px,9vw,120px) clamp(24px,7vw,100px);background:var(--plum);color:#fff}.production-cta>div:first-child{max-width:900px}.production-cta h2{font-size:clamp(2.7rem,5vw,5.4rem);line-height:.95;letter-spacing:-.05em;margin:16px 0 20px}.production-cta p:not(.kicker){max-width:710px;color:#d5eaf2;line-height:1.65}.production-cta .kicker{color:var(--sky)}.production-cta .actions{flex:0 0 auto}
.school-summary{display:grid;grid-template-columns:repeat(3,1fr);background:var(--yellow);padding:45px clamp(24px,7vw,100px);gap:30px}.school-summary>div{display:flex;flex-direction:column}.school-summary b{font-size:clamp(2.5rem,5vw,5rem);line-height:1;font-weight:700;color:var(--plum)}.school-summary span{margin-top:8px}.school-summary>p{grid-column:1/-1;margin:5px 0 0;font-size:.93rem}
.faq-section{background:#fff}.contact-card{display:flex;align-items:center;justify-content:space-between;gap:55px;padding:clamp(70px,8vw,110px) clamp(24px,7vw,100px);background:var(--yellow-soft)}.contact-card>div{max-width:800px}.contact-card>div:last-child{display:flex;gap:12px;flex-wrap:wrap}.contact-card>a{flex:0 0 auto}
.referral-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);gap:clamp(40px,6vw,90px);background:#fff;align-items:start}.referral-form fieldset{border:0;padding:0;margin:0 0 52px}.referral-form legend{font-family:var(--font-primary);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:600;margin-bottom:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.referral-form label{display:flex;flex-direction:column;gap:8px;font-weight:700}.referral-form fieldset>label:not(.privacy-check){margin-top:22px}.referral-form input,.referral-form select,.referral-form textarea{width:100%;border:1px solid #a7c0ca;border-radius:10px;background:#fbfdfe;color:var(--plum);padding:14px;font-size:1rem;min-height:50px}.referral-form textarea{min-height:145px;resize:vertical}.referral-form input:focus,.referral-form select:focus,.referral-form textarea:focus{outline:3px solid rgba(44,170,226,.25);border-color:var(--blue-deep)}.privacy-check{display:grid!important;grid-template-columns:24px 1fr;align-items:start;font-weight:500!important;line-height:1.55}.privacy-check input{width:20px;height:20px;min-height:0;margin-top:2px}.form-note{color:#5c707b;line-height:1.6;margin:18px 0 24px}.form-status{margin-top:20px;line-height:1.6;color:var(--blue-deep);font-weight:700}.referral-layout aside{position:sticky;top:28px}.referral-layout aside>div{padding:30px;background:var(--dusty-blue);border-radius:18px;margin-bottom:18px}.referral-layout aside ol{padding-left:22px}.referral-layout aside li{padding:8px 0;line-height:1.55}.referral-layout .referral-contact{background:var(--yellow-soft)}.referral-contact h3{font-size:1.5rem}.referral-contact a{font-weight:700;text-underline-offset:4px}
@media(max-width:1050px){.production-header nav a:not(.nav-cta){display:none}.production-header nav{margin-left:auto}.page-hero.has-image,.image-story,.calendar-section,.referral-layout{grid-template-columns:1fr}.page-hero.has-image{min-height:auto}.page-hero>img{min-height:500px}.image-story>img{min-height:520px}.production-cta{display:block}.production-cta .actions{margin-top:30px}.referral-layout aside{position:static}}
@media(max-width:760px){.production-header{height:76px}.production-header .logo{max-width:185px}.production-footer{grid-template-columns:1fr 1fr}.page-hero h1{font-size:clamp(2.8rem,13vw,4.4rem)}.school-summary{grid-template-columns:1fr}.school-summary>p{grid-column:auto}.form-grid{grid-template-columns:1fr}.contact-card{display:block}.contact-card>a,.contact-card>div:last-child{margin-top:25px}.production-footer{grid-template-columns:1fr}.production-cta .actions{flex-direction:column;align-items:stretch}.production-cta .actions a{width:100%}}

/* Refined reveal: fixed pathway, sequential wedges, shared playful return */
@keyframes wedge-pop-1{0%,5%{opacity:0;transform:scale(.02) rotate(-13deg)}10%{opacity:1;transform:scale(1.14) rotate(2deg)}14%{transform:scale(.94) rotate(-1deg)}18%,76%{opacity:1;transform:scale(1)}82%{opacity:1;transform:scale(1.08)}88%,100%{opacity:0;transform:scale(.02) rotate(-8deg)}}
@keyframes wedge-pop-2{0%,14%{opacity:0;transform:scale(.02) rotate(-11deg)}19%{opacity:1;transform:scale(1.14) rotate(2deg)}23%{transform:scale(.94) rotate(-1deg)}27%,76%{opacity:1;transform:scale(1)}82%{opacity:1;transform:scale(1.08)}88%,100%{opacity:0;transform:scale(.02) rotate(-7deg)}}
@keyframes wedge-pop-3{0%,23%{opacity:0;transform:scale(.02) rotate(-9deg)}28%{opacity:1;transform:scale(1.14) rotate(2deg)}32%{transform:scale(.94) rotate(-1deg)}36%,76%{opacity:1;transform:scale(1)}82%{opacity:1;transform:scale(1.08)}88%,100%{opacity:0;transform:scale(.02) rotate(-6deg)}}
@keyframes wedge-pop-4{0%,32%{opacity:0;transform:scale(.02) rotate(-7deg)}37%{opacity:1;transform:scale(1.14) rotate(2deg)}41%{transform:scale(.94) rotate(-1deg)}45%,76%{opacity:1;transform:scale(1)}82%{opacity:1;transform:scale(1.08)}88%,100%{opacity:0;transform:scale(.02) rotate(-5deg)}}
@keyframes wedge-pop-5{0%,41%{opacity:0;transform:scale(.02) rotate(-5deg)}46%{opacity:1;transform:scale(1.14) rotate(2deg)}50%{transform:scale(.94) rotate(-1deg)}54%,76%{opacity:1;transform:scale(1)}82%{opacity:1;transform:scale(1.08)}88%,100%{opacity:0;transform:scale(.02) rotate(-4deg)}}

/* Faster build and near-seamless reset; every wedge retracts together. */
@keyframes wedge-quick-1{0%{opacity:0;transform:scale(.02) rotate(-11deg)}2.5%{opacity:1;transform:scale(1.13) rotate(2deg)}4.5%{transform:scale(.95) rotate(-1deg)}6.5%,94%{opacity:1;transform:scale(1)}97%{opacity:1;transform:scale(1.07)}99.4%,100%{opacity:0;transform:scale(.02) rotate(-6deg)}}
@keyframes wedge-quick-2{0%,7%{opacity:0;transform:scale(.02) rotate(-10deg)}9.5%{opacity:1;transform:scale(1.13) rotate(2deg)}11.5%{transform:scale(.95) rotate(-1deg)}13.5%,94%{opacity:1;transform:scale(1)}97%{opacity:1;transform:scale(1.07)}99.4%,100%{opacity:0;transform:scale(.02) rotate(-6deg)}}
@keyframes wedge-quick-3{0%,14%{opacity:0;transform:scale(.02) rotate(-9deg)}16.5%{opacity:1;transform:scale(1.13) rotate(2deg)}18.5%{transform:scale(.95) rotate(-1deg)}20.5%,94%{opacity:1;transform:scale(1)}97%{opacity:1;transform:scale(1.07)}99.4%,100%{opacity:0;transform:scale(.02) rotate(-5deg)}}
@keyframes wedge-quick-4{0%,21%{opacity:0;transform:scale(.02) rotate(-8deg)}23.5%{opacity:1;transform:scale(1.13) rotate(2deg)}25.5%{transform:scale(.95) rotate(-1deg)}27.5%,94%{opacity:1;transform:scale(1)}97%{opacity:1;transform:scale(1.07)}99.4%,100%{opacity:0;transform:scale(.02) rotate(-5deg)}}
@keyframes wedge-quick-5{0%,28%{opacity:0;transform:scale(.02) rotate(-7deg)}30.5%{opacity:1;transform:scale(1.13) rotate(2deg)}32.5%{transform:scale(.95) rotate(-1deg)}34.5%,94%{opacity:1;transform:scale(1)}97%{opacity:1;transform:scale(1.07)}99.4%,100%{opacity:0;transform:scale(.02) rotate(-4deg)}}

/* Calendar-to-logo brighter-week story */
@keyframes calendar-scene{0%,51%{opacity:1;transform:translate(-50%,-50%) scale(1)}59%,100%{opacity:0;transform:translate(-50%,-53%) scale(.94)}}
@keyframes ordinary-day{0%,18%{background:#edf1f2;color:#81919a;transform:translateY(0)}31%,51%{background:#fff1a8;color:#465963;transform:translateY(-5px)}59%,100%{background:#ffc72c;color:#172731;transform:translateY(-5px)}}
@keyframes nlg-heading{0%,18%{background:#edf1f2;color:#81919a;transform:translateY(0)}23%,51%{background:#f69e24;color:#172731;transform:translateY(-14px);box-shadow:0 9px 20px rgba(247,169,37,.24)}59%,100%{background:#f69e24;color:#172731;transform:translateY(-14px)}}
@keyframes nlg-label{0%,19%{opacity:0}23%,51%{opacity:1}59%,100%{opacity:0}}
@keyframes attendance-dip{0%,7%{opacity:0;transform:translateY(-4px)}12%,51%{opacity:1;transform:none}59%,100%{opacity:0}}
@keyframes calendar-cell{0%,30%{filter:grayscale(1);opacity:.5}38%,51%{filter:grayscale(.55);opacity:.78}57%,100%{filter:none;opacity:1}}
@keyframes nlg-cell{0%,19%{filter:grayscale(1);opacity:.35;transform:translateY(0)}23%,31%{filter:none;opacity:1;transform:translateY(-7px);background:#f69e24}38%,51%{filter:none;opacity:1;transform:translateY(-3px);background:#f69e24}59%,100%{filter:none;opacity:1;background:#f69e24}}
@keyframes recovery-row{0%,32%{opacity:0;transform:translateY(10px)}39%,51%{opacity:1;transform:translateY(0)}58%,100%{opacity:0;transform:translateY(-4px)}}
@keyframes morph-day{0%,50%{opacity:0;transform:translate(var(--sx),22px) scale(.72)}55%{opacity:1;transform:translate(var(--sx),0) scale(1)}64%{opacity:1;transform:translate(var(--tx),var(--ty)) rotate(var(--turn)) scale(1.08)}70%,100%{opacity:0;transform:translate(var(--tx),var(--ty)) rotate(var(--turn)) scale(.92)}}
@keyframes final-logo{0%,64%{opacity:0;transform:translate(-50%,-50%) scale(.9)}70%,94%{opacity:1;transform:translate(-50%,-50%) scale(1)}99%,100%{opacity:0;transform:translate(-50%,-50%) scale(.98)}}
@keyframes caption-1{0%,1%{opacity:0}4%,15%{opacity:1}18%,100%{opacity:0}}
@keyframes caption-2{0%,17%{opacity:0}20%,29%{opacity:1}32%,100%{opacity:0}}
@keyframes caption-3{0%,31%{opacity:0}34%,48%{opacity:1}51%,100%{opacity:0}}
@keyframes caption-4{0%,50%{opacity:0}54%,68%{opacity:1}71%,100%{opacity:0}}
@keyframes caption-5{0%,70%{opacity:0}74%,94%{opacity:1}98%,100%{opacity:0}}

/* The recovery-week rectangles are one continuous SVG object that becomes the logo. */
@keyframes true-morph-presence{0%,37%{opacity:0}40%,96%{opacity:1}99%,100%{opacity:0}}
@keyframes week-colour{0%,20%{fill:#aeb9be}29%,36%{fill:#eadfae}44%,96%{fill:#ffc72c}99%,100%{fill:#aeb9be}}
@keyframes nlg-week-colour{0%,19%{fill:#aeb9be}.day-2 23%{fill:#f69e24}29%,96%{fill:#f69e24}99%,100%{fill:#aeb9be}}
@keyframes path-uncover{0%,66%{clip-path:inset(100% 0 0 0);transform:translateY(34px)}73%,96%{clip-path:inset(0 0 0 0);transform:translateY(0)}99%,100%{clip-path:inset(100% 0 0 0);transform:translateY(34px)}}
@keyframes story-wordmark-in{0%,72%{opacity:0;transform:translate(-50%,10px)}77%,95%{opacity:1;transform:translate(-50%,0)}99%,100%{opacity:0;transform:translate(-50%,4px)}}
@keyframes nlg-week-first{0%,19%{fill:#aeb9be}23%,96%{fill:#f69e24}99%,100%{fill:#aeb9be}}
@keyframes nlg-week-second{0%,31%{fill:#aeb9be}36%,96%{fill:#f69e24}99%,100%{fill:#aeb9be}}

/* Brighter-week rebuild: one physical calendar page at a time, then a geometric logo morph. */

@keyframes calendar-page-1{0%,7.5%{opacity:1;transform:none}10%{opacity:0;transform:translate(-30px,85px) rotate(-9deg)}10.1%,100%{opacity:0}}
@keyframes calendar-page-2{0%,8%{opacity:0}9%,16.5%{opacity:1;transform:none}19%{opacity:0;transform:translate(36px,86px) rotate(10deg)}19.1%,100%{opacity:0}}
@keyframes calendar-page-3{0%,17%{opacity:0}18%,25.5%{opacity:1;transform:none}28%{opacity:0;transform:translate(-34px,88px) rotate(-11deg)}28.1%,100%{opacity:0}}
@keyframes calendar-page-4{0%,26%{opacity:0}27%,34.5%{opacity:1;transform:none}37%{opacity:0;transform:translate(32px,86px) rotate(9deg)}37.1%,100%{opacity:0}}
@keyframes calendar-page-5{0%,35%{opacity:0}36%,43.5%{opacity:1;transform:none}46%{opacity:0;transform:translate(-30px,88px) rotate(-8deg)}46.1%,100%{opacity:0}}
@keyframes calendar-page-6{0%,44%{opacity:0}45%,52.5%{opacity:1;transform:none}55%{opacity:0;transform:translate(35px,86px) rotate(11deg)}55.1%,100%{opacity:0}}
@keyframes calendar-page-7{0%,53%{opacity:0}54%,61.5%{opacity:1;transform:none}64%{opacity:0;transform:translate(-28px,84px) rotate(-8deg)}64.1%,100%{opacity:0}}
@keyframes calendar-page-8{0%,62%{opacity:0}63%,72%{opacity:1;transform:none}75%,100%{opacity:0}}
@keyframes calendar-story-exit{0%,70%{opacity:1;transform:translate(-50%,-50%) scale(1)}76%,100%{opacity:0;transform:translate(-50%,-53%) scale(.96)}}
@keyframes blue-seed-travel{0%,26%{opacity:0;transform:translateY(3px)}29%,61%{opacity:1;transform:none}70%{opacity:0;transform:translate(-120px,145px) scale(2.2)}71%,100%{opacity:0}}
@keyframes true-morph-rebuild{0%,62%{opacity:0}63%,96%{opacity:1}99%,100%{opacity:0}}
@keyframes blue-disc-in{0%,67%{opacity:0;transform:scale(.18)}74%{opacity:1;transform:scale(1.04)}79%,96%{opacity:1;transform:scale(1)}99%,100%{opacity:0;transform:scale(.96)}}
@keyframes route-draw{0%,78%{fill-opacity:0;stroke-dashoffset:1}88%{fill-opacity:0;stroke-dashoffset:0}90%,96%{fill-opacity:1;stroke-dashoffset:0}99%,100%{fill-opacity:0;stroke-dashoffset:1}}
@keyframes route-line-draw{0%,78%{opacity:0;stroke-dashoffset:1}79%{opacity:1;stroke-dashoffset:1}89%,96%{opacity:1;stroke-dashoffset:0}99%,100%{opacity:0;stroke-dashoffset:1}}
@keyframes story-wordmark-rebuild{0%,86%{opacity:0;transform:translate(-50%,10px)}90%,96%{opacity:1;transform:translate(-50%,0)}99%,100%{opacity:0;transform:translate(-50%,4px)}}

/* Full calendar treatment and a blue footer-to-horizon morph. */
@keyframes calendar-sheet-one{0%,21%{opacity:1;transform:none}27%{opacity:0;transform:translate(-45px,220px) rotate(-11deg)}27.1%,100%{opacity:0}}
@keyframes calendar-sheet-two{0%,22%{opacity:0}25%,45%{opacity:1;transform:none}52%{opacity:0;transform:translate(48px,225px) rotate(12deg)}52.1%,100%{opacity:0}}
@keyframes calendar-sheet-three{0%,47%{opacity:0}50%,72%{opacity:1;transform:none}76%,100%{opacity:0}}
@keyframes calendar-banner-to-blue{0%,62%{opacity:1;transform:none;border-radius:9px}70%{opacity:0;transform:translateY(-16px) scale(.68,.22);border-radius:999px}70.1%,100%{opacity:0}}
@keyframes blue-body-build{0%,64%{opacity:0;transform:translateY(145px) scale(.72,.18)}68%{opacity:1}80%,96%{opacity:1;transform:translateY(0) scale(1)}99%,100%{opacity:0;transform:translateY(8px) scale(.98)}}
@keyframes blue-half-build{0%,64%{opacity:0;transform:translateY(210px) scale(.66,.12)}68%{opacity:1}80%,96%{opacity:1;transform:translateY(0) scale(1)}99%,100%{opacity:0;transform:translateY(8px) scale(.98)}}
@keyframes morph-art-handoff{0%,79%{opacity:1}82%,100%{opacity:0}}
@keyframes no-path-logo-settle{0%,79%{opacity:0;transform:scale(.985)}83%,96%{opacity:1;transform:scale(1)}99%,100%{opacity:0;transform:scale(.985)}}
@keyframes route-line-after-settle{0%,84%{opacity:0;stroke-dashoffset:1}85%{opacity:1;stroke-dashoffset:1}93%,96%{opacity:1;stroke-dashoffset:0}99%,100%{opacity:0;stroke-dashoffset:1}}
@keyframes story-wordmark-after-route{0%,92%{opacity:0;transform:translate(-50%,10px)}95%,97%{opacity:1;transform:translate(-50%,0)}99%,100%{opacity:0;transform:translate(-50%,4px)}}

/* The completed logo is revealed from bottom to top beneath the filled version. */
@keyframes filled-logo-clip{
  0%,79%{opacity:0;transform:scale(.985);clip-path:inset(0 0 0 0)}
  83%,85%{opacity:1;transform:scale(1);clip-path:inset(0 0 0 0)}
  94%,96%{opacity:1;transform:scale(1);clip-path:inset(0 0 100% 0)}
  99%,100%{opacity:0;transform:scale(.985);clip-path:inset(0 0 100% 0)}
}

/* Final calendar-to-logo refinements. */
@keyframes calendar-banner-handoff{0%,62%{opacity:1;transform:none}64%,100%{opacity:0;transform:none}}
@keyframes blue-fill-presence{0%,62%{opacity:0}64%,99%{opacity:1}100%{opacity:0}}

/* Hold the completed mark, then reveal the pathway with a slower bottom-up clip. */
@keyframes no-path-logo-settle{0%,81%{opacity:0;transform:scale(.985)}83%,99%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.985)}}
@keyframes filled-logo-clip{
  0%,81%{opacity:0;transform:scale(.985);clip-path:inset(0 0 0 0)}
  83%,84%{opacity:1;transform:scale(1);clip-path:inset(0 0 0 0)}
  94%,99%{opacity:1;transform:scale(1);clip-path:inset(0 0 100% 0)}
  100%{opacity:0;transform:scale(.985);clip-path:inset(0 0 100% 0)}
}

/* A longer story clock creates a clean post-morph hold and a readable final logo. */
@keyframes true-morph-rebuild{0%,62%{opacity:0}63%,99%{opacity:1}100%{opacity:0}}

/* Brand typography: aligned with the Pacer brand guidelines. */
body,
p,
li,
label,
input,
textarea,
select,
button,
a {
  font-family: var(--font-body);
}

h1,
h2,
h3,
h4 {
  font-family: var(--font-primary);
}


.kicker {
  font-family: var(--font-secondary);
}

/* Final-logo brighter-week story. Kept under its own prefix so earlier motion
   experiments cannot alter the calendar, timing or approved artwork. */
@keyframes bw2-page-one{0%,20%{opacity:1;transform:none}24%{opacity:0;transform:translateX(-20px)}24.1%,100%{opacity:0}}
@keyframes bw2-page-two{0%,22%{opacity:0;transform:translateX(20px)}26%,44%{opacity:1;transform:none}48%{opacity:0;transform:translateX(-20px)}48.1%,100%{opacity:0}}
@keyframes bw2-page-three{0%,46%{opacity:0;transform:translateX(20px)}50%,63%{opacity:1;transform:none}67%,100%{opacity:0;transform:scale(.98)}}
@keyframes bw2-calendar-out{0%,62%{opacity:1;transform:translate(-50%,-50%) scale(1)}67%,100%{opacity:0;transform:translate(-50%,-53%) scale(.96)}}
@keyframes bw2-morph-presence{0%,61%{opacity:0}64%,98%{opacity:1}100%{opacity:0}}
@keyframes bw2-blue-build{0%,68%{opacity:0;transform:translateY(70px) scale(.82,.18)}73%{opacity:1}80%,100%{opacity:1;transform:none}}
@keyframes bw2-art-handoff{0%,80%{opacity:1}84%,100%{opacity:0}}
@keyframes bw2-final-logo{0%,80%{opacity:0;transform:scale(.992)}84%,98%{opacity:1;transform:scale(1)}100%{opacity:0}}
@keyframes bw2-caption-one{0%,2%{opacity:0}5%,19%{opacity:1}22%,100%{opacity:0}}
@keyframes bw2-caption-two{0%,23%{opacity:0}27%,43%{opacity:1}46%,100%{opacity:0}}
@keyframes bw2-caption-three{0%,47%{opacity:0}51%,61%{opacity:1}64%,100%{opacity:0}}
@keyframes bw2-caption-four{0%,63%{opacity:0}67%,80%{opacity:1}83%,100%{opacity:0}}
@keyframes bw2-caption-five{0%,81%{opacity:0}85%,97%{opacity:1}100%{opacity:0}}

/* Logo colour mixer */

/* Scroll-controlled brighter-week story. */

/* Dedicated self-playing attendance animation. */

/* Physical calendar sheets and the final shape-to-logo handoff. */

/* Final homepage: the strongest elements combined into one calm, colourful direction */
.final-homepage{--sand:#f5ead8;--cream-soft:#fffaf0;--dusty-blue:#dceff7;--sky:#8fd5f2;background:var(--cream-soft)}
.final-homepage-logo-colours{--plum:#203e4a;--sand:#f3eee5;--cream-soft:#fffaf2;--dusty-blue:#e1f1f7;--sky:#54a7dd}
.final-homepage-logo-colours .final-hero{background:linear-gradient(135deg,#fffdf9 0%,#f9fbf7 100%)}
.final-homepage-logo-colours .site-footer{background:#f2f8fa}
.final-homepage h1,.final-homepage h2,.final-homepage h3{font-family:var(--font-primary)}
.final-hero{display:grid;grid-template-columns:1.03fr .97fr;min-height:680px;background:linear-gradient(135deg,#fffdf8 0%,#fff7e7 100%)}
.final-hero-copy{padding:clamp(62px,8vw,112px) clamp(24px,6vw,84px);align-self:center}
.final-hero-copy h1{font-size:clamp(3.5rem,7vw,7rem);line-height:.89;letter-spacing:-.065em;margin:18px 0 28px}
.final-hero-copy h1 em{font-style:normal;color:var(--blue-deep);position:relative;z-index:0;white-space:nowrap}
.final-hero-copy h1 em .hero-brighter-underline{position:absolute;z-index:2;left:-6.79%;bottom:.02em;width:108.7%;height:auto;display:block;pointer-events:none}
.final-hero-copy>p:not(.kicker){max-width:625px;font-size:1.1rem;line-height:1.68}
.final-hero-copy>.final-hero-summary{padding-top:clamp(14px,1.5vw,22px)}
.final-hero-art{position:relative;overflow:hidden;background:var(--dusty-blue);min-height:600px}
.final-hero-photo{position:absolute;z-index:3;inset:7% 9% 12%;width:82%;height:81%;max-width:none;border-radius:48% 48% 24px 24px;object-fit:cover;object-position:center}
.final-shape{position:absolute;display:block}.final-sun{width:190px;height:190px;border-radius:50%;background:var(--yellow);right:1%;top:2%}.final-ring{width:270px;height:270px;border:52px solid var(--blue);border-radius:50%;left:-15%;top:16%}.final-wave{height:180px;left:-8%;right:-8%;bottom:-105px;border-radius:50% 50% 0 0;background:var(--sand);z-index:4;transform:rotate(-3deg)}
@media(max-width:900px){.final-hero{grid-template-columns:1fr}.final-hero-art{min-height:560px}}
@media(max-width:600px){.final-hero-art{min-height:430px}.final-hero-photo{inset:8% 8% 12%}}

/* Side-by-side review surface for the two otherwise identical homepages. */

/* Research-led internal pages: quieter type and a distinct job for each page. */
.production-site:not(.final-homepage) main{background:#fff}
.production-site:not(.final-homepage) .page-hero{min-height:390px;padding:72px clamp(24px,7vw,100px);border-bottom:1px solid #d6e5ea}
.production-site:not(.final-homepage) .page-hero>div{padding:0;max-width:780px}
.production-site:not(.final-homepage) .page-hero h1{max-width:820px;margin:14px 0 20px;font-size:clamp(2.65rem,5vw,4.8rem);line-height:.98;letter-spacing:-.045em;font-weight:600}
.production-site:not(.final-homepage) .page-hero>div>p:not(.kicker){max-width:680px;margin:0;font-size:1.06rem;line-height:1.62}
.production-site:not(.final-homepage) .section-heading h2,.production-site:not(.final-homepage) .calendar-section h2,.production-site:not(.final-homepage) .image-story h2,.production-site:not(.final-homepage) .contact-card h2{font-size:clamp(2rem,3.8vw,3.8rem);font-weight:600}
.production-site:not(.final-homepage) .production-cta h2{font-size:clamp(2.25rem,4vw,4.2rem);font-weight:600}
.production-site:not(.final-homepage) p{max-width:72ch}

/* Provision: the only internal page with a wide photographic opening. */

/* Suitability: a practical decision page, not a marketing page. */

/* Process: the sequence is the page's visual identity. */

/* Schools: a restrained commissioning brief with facts up front. */
.page-schools .school-summary{background:var(--yellow-soft);border-bottom:1px solid #ead89b}
.page-schools .school-summary b{font-size:clamp(2.2rem,4vw,4rem)}

/* Families: warmer, softer and more visual. */
.page-families .faq-section{background:#fffdf8}

/* Outcomes: a report-like page with visible measures. */

/* About: editorial storytelling with an offset image. */

/* Policies: a deliberately plain document hub. */

/* Referral: task-led, compact and reassuring. */
.page-refer .referral-layout{padding-top:65px}
.page-refer .referral-form legend{font-size:clamp(1.55rem,2.3vw,2rem);font-weight:600}
.page-refer .referral-form fieldset{margin-bottom:42px}
.page-refer .referral-layout aside>div{border-radius:10px}

@media(max-width:1050px){
  .production-header{height:auto;min-height:82px;padding-block:12px;align-items:center}
  .production-header nav{overflow-x:auto;white-space:nowrap;padding-bottom:3px}
  .production-header nav a:not(.nav-cta){display:inline-flex}
}
@media(max-width:760px){
  .production-site{overflow-x:clip}
  .production-header{display:flex;height:74px;min-height:74px;padding:9px 18px;overflow:visible}.production-header .logo{display:flex;flex:0 1 175px;max-width:175px;margin:0}.production-header nav{display:none}
  .production-site:not(.final-homepage) .page-hero{padding:52px 24px;min-height:300px}
  .production-site:not(.final-homepage) .image-story>img{height:320px;min-height:0!important;max-height:320px;object-position:center}
  .production-site:not(.final-homepage) .image-story>div{min-width:0;padding:56px 24px}
  .production-site:not(.final-homepage) .calendar-section,.production-site:not(.final-homepage) .faq-section,.production-site:not(.final-homepage) .referral-layout{padding:56px 24px}
  .final-hero-art{min-height:350px}
}

.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-submit:disabled{cursor:wait;opacity:.72}.form-status:focus{outline:none}

/* Homepage information-first redesign: a friendly, practical prospectus. */
.final-homepage .home-audience,.final-homepage .home-suitability,.final-homepage .home-programme,.final-homepage .home-day,.final-homepage .home-referral,.final-homepage .home-visit,.final-homepage .home-next-step{padding:clamp(68px,8vw,108px) clamp(24px,7vw,100px)}
.final-homepage .home-audience h2,.final-homepage .home-suitability h2,.final-homepage .home-programme h2,.final-homepage .home-day h2,.final-homepage .home-referral h2,.final-homepage .home-visit h2,.final-homepage .home-next-step h2{margin:12px 0 20px;font-size:clamp(2.15rem,3.8vw,3.7rem);font-weight:650;line-height:1;letter-spacing:-.045em}
.final-homepage .home-audience h3,.final-homepage .home-suitability h3,.final-homepage .home-programme h3{font-weight:650;letter-spacing:-.025em}
.home-heading-mark{display:grid;width:58px;height:50px;margin:0 0 26px;place-items:center;border-radius:52% 48% 46% 54%;background:var(--yellow-soft);transform:rotate(-8deg)}
.home-heading-mark img{display:block;width:42px;height:34px;object-fit:contain}.home-heading-mark-light{background:#fff;margin:0}.home-section-intro>p:last-child,.home-section-label>p,.home-programme-heading>p:last-child,.home-day-intro>p,.home-referral header>p:last-child,.home-visit-copy>p{max-width:640px;line-height:1.65;color:#526b76}

.home-audience{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.45fr);gap:clamp(50px,8vw,120px);background:#fff}.home-section-intro{position:sticky;top:32px;align-self:start}.audience-index{border-top:3px solid var(--plum)}
.audience-row{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(185px,.45fr);gap:22px;padding:30px 4px;border-bottom:1px solid #bfd2da;align-items:start}.audience-row-school{margin-inline:-18px;padding-inline:22px;background:linear-gradient(90deg,#eef8fc 0%,rgba(238,248,252,.22) 100%)}
.audience-number{padding-top:4px;color:var(--blue-deep);font:700 .78rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}.audience-name{margin:0 0 7px;color:var(--blue-deep);font-size:.76rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}.audience-row h3{margin:0 0 9px;font-size:clamp(1.3rem,2vw,1.75rem);line-height:1.15}.audience-row>div>p:last-child{margin:0;line-height:1.58;color:#526b76}.audience-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px;padding-top:26px}.audience-actions a:not(.primary){color:var(--blue-deep);font-size:.92rem;font-weight:700;text-underline-offset:5px}.audience-actions .primary{padding:11px 17px;font-size:.9rem}

.home-suitability{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:clamp(48px,8vw,118px);background:#f3f9fb}.home-section-label>a{display:inline-flex;gap:9px;margin-top:14px;color:var(--blue-deep);font-weight:700;text-underline-offset:5px}

.home-programme{background:var(--cream-soft)}.home-programme-heading{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);column-gap:clamp(45px,8vw,110px);align-items:end}.home-programme-heading .kicker{grid-column:1}.home-programme-heading h2{grid-column:1;margin-bottom:0!important}.home-programme-heading>p:last-child{grid-column:2;grid-row:1/3;margin:0 0 3px}.programme-rail{display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:70px 0 0;border-top:3px solid var(--blue-deep);list-style:none}.programme-rail li{position:relative;min-height:220px;padding:34px 25px 8px 0;border-right:1px solid #c9d8dd}.programme-rail li+li{padding-left:25px}.programme-rail li:last-child{border-right:0}.rail-number{position:absolute;top:0;left:0;display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--blue-deep);color:#fff;font-size:.8rem;font-weight:800;transform:translateY(-53%)}.programme-rail li+li .rail-number{left:25px}.programme-rail h3{margin:0 0 12px;font-size:1.38rem;line-height:1.15}.programme-rail p{margin:0;color:#526b76;line-height:1.6}

.home-day{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:clamp(50px,8vw,120px);background:var(--yellow-soft)}.home-day-intro figure{max-width:350px;margin:34px 0 0;padding:10px 10px 14px;background:#fff;box-shadow:8px 10px 0 rgba(32,62,74,.09);transform:rotate(-1.2deg)}.home-day-intro figure img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.home-day-intro figcaption{padding:11px 5px 0;color:#526b76;font-size:.78rem;line-height:1.4}.day-schedule{align-self:start;border-top:3px solid var(--plum);background:rgba(255,255,255,.72)}.schedule-heading,.schedule-row{display:grid;grid-template-columns:132px 1fr;gap:22px}.schedule-heading{padding:11px 18px;background:var(--plum);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.schedule-row{padding:19px 18px;border-bottom:1px solid #d8ccaa}.schedule-row time{color:var(--blue-deep);font-size:.9rem;font-weight:800}.schedule-row b{font-size:1.06rem}.schedule-row p{margin:5px 0 0;color:#526b76;font-size:.92rem;line-height:1.48}

.home-referral{background:var(--plum);color:#fff}.home-referral header{display:grid;grid-template-columns:.78fr 1.22fr;column-gap:clamp(50px,8vw,110px);align-items:end}.home-referral header .kicker{grid-column:1;color:var(--sky)}.home-referral header h2{grid-column:1;margin-bottom:0!important}.home-referral header>p:last-child{grid-column:2;grid-row:1/3;margin:0 0 3px;color:#cde2e9}.home-referral-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:38px}.home-referral .secondary{color:#fff;border-color:#fff}

.home-visit{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);gap:clamp(55px,8vw,110px);align-items:center;background:#fff}.home-visit-copy ul{padding:0;margin:28px 0;list-style:none;border-top:1px solid #bfd2da}.home-visit-copy li{position:relative;padding:13px 4px 13px 25px;border-bottom:1px solid #d7e2e6;line-height:1.45}.home-visit-copy li:before{content:'';position:absolute;left:4px;top:20px;width:8px;height:8px;border-radius:50%;background:var(--yellow)}

.home-next-step{display:grid;grid-template-columns:64px minmax(0,1.2fr) minmax(260px,.7fr);gap:clamp(28px,5vw,70px);align-items:start;background:var(--blue-deep);color:#fff}.home-next-step .kicker{color:var(--sky)}.home-next-step h2{max-width:720px}.home-next-step>div>p:last-child{max-width:680px;color:#d2e6ed;line-height:1.62}.next-step-actions{display:grid;gap:0}.next-step-actions .primary{justify-self:start;margin-bottom:22px}.next-step-actions>a:not(.primary){display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.35);color:#fff;text-decoration:none}.next-step-actions>a:not(.primary) span{color:#acd5e4;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.next-step-actions>a:not(.primary) b{font-size:.95rem;text-align:right}

@media(max-width:1050px){.home-audience,.home-suitability,.home-day,.home-visit{grid-template-columns:1fr}.home-section-intro{position:static}.audience-row{grid-template-columns:48px 1fr}.audience-actions{grid-column:2;padding-top:0}.home-programme-heading,.home-referral header{grid-template-columns:1fr}.home-programme-heading .kicker,.home-programme-heading h2,.home-programme-heading>p:last-child,.home-referral header .kicker,.home-referral header h2,.home-referral header>p:last-child{grid-column:1;grid-row:auto}.home-programme-heading>p:last-child,.home-referral header>p:last-child{margin-top:22px}.programme-rail{grid-template-columns:1fr 1fr}.programme-rail li:nth-child(2){border-right:0}.programme-rail li:nth-child(n+3){border-top:1px solid #c9d8dd}.programme-rail li:nth-child(3){padding-left:0}.programme-rail li:nth-child(3) .rail-number{left:0}.home-day-intro figure{max-width:460px}.home-next-step{grid-template-columns:58px 1fr}.next-step-actions{grid-column:2}}
@media(max-width:650px){.final-homepage .home-audience,.final-homepage .home-suitability,.final-homepage .home-programme,.final-homepage .home-day,.final-homepage .home-referral,.final-homepage .home-visit,.final-homepage .home-next-step{padding:56px 20px}.audience-row,.audience-row-school{grid-template-columns:35px 1fr;gap:14px;margin-inline:0;padding:24px 0}.audience-actions{grid-column:2}.programme-rail{grid-template-columns:1fr;margin-top:52px;border-top:0;border-left:3px solid var(--blue-deep)}.programme-rail li,.programme-rail li+li{min-height:0;padding:0 0 32px 30px;border:0}.programme-rail li:nth-child(n+3){border:0}.rail-number,.programme-rail li+li .rail-number,.programme-rail li:nth-child(3) .rail-number{top:0;left:0;transform:translate(-53%,0)}.schedule-heading,.schedule-row{grid-template-columns:96px 1fr;gap:12px;padding-inline:12px}.home-next-step{grid-template-columns:1fr}.home-next-step .home-heading-mark{display:none}.next-step-actions{grid-column:1}.next-step-actions>a:not(.primary){display:grid}.next-step-actions>a:not(.primary) b{text-align:left}}

/* Homepage refinement: viewport opening, crisp brand details and purposeful icons. */
.production-header .logo img,.production-footer .footer-brand img{background:transparent}
.production-header nav{gap:clamp(7px,.8vw,12px)}.production-header nav a{white-space:nowrap}.production-header nav a:not(.nav-cta){display:inline-flex;align-items:center;font-size:1rem;font-weight:500}.production-header nav a:not(:first-child):not(.nav-cta):before{content:'';display:block;flex:0 0 auto;width:4px;height:4px;margin-right:clamp(9px,1vw,14px);border-radius:50%;background:var(--yellow);box-shadow:0 0 0 3px rgba(255,199,44,.14)}
@media(min-width:761px) and (max-width:1160px){.production-header{padding-inline:clamp(18px,2.4vw,30px);gap:13px}.production-header .logo{max-width:185px}.production-header nav{gap:6px}.production-header nav a:not(.nav-cta){font-size:.92rem}.production-header nav a:not(:first-child):not(.nav-cta):before{margin-right:8px}.production-header .nav-cta{padding-inline:16px;font-size:.92rem}}
.home-heading-mark{width:54px;height:54px;border:1px solid rgba(20,127,172,.16);border-radius:50%;box-shadow:none;transform:rotate(-6deg)}
.audience-number{display:flex;flex-direction:column;gap:6px;align-items:center;padding-top:0}.audience-number svg{width:39px;height:39px}.audience-number small{font:700 .68rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}
.programme-icon{display:block;width:43px;height:43px;margin:0 0 15px}
.final-homepage .primary:after,.final-homepage .secondary:after{content:'';display:block;flex:0 0 auto;width:25px;height:25px;margin-left:10px;border:1px solid rgba(48,82,97,.22);border-radius:50%;background:#fff url("/static/pages/img/pathways-favicon.0e1e99be826c.svg") center/17px auto no-repeat;box-shadow:0 2px 0 rgba(48,82,97,.1);transition:transform .2s ease}.final-homepage .primary:hover:after,.final-homepage .secondary:hover:after{transform:translate(2px,-2px) rotate(5deg)}
.next-step-actions>a:not(.primary){grid-template-columns:26px 52px 1fr;align-items:center}.next-step-actions>a:not(.primary) svg{width:20px;height:20px;color:var(--sky);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.schedule-row time:before{content:'';display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 3px rgba(255,199,44,.18)}

@media(min-width:901px){
  .final-homepage .production-header{height:88px;min-height:88px;padding-block:0}
  .final-homepage .final-hero{height:calc(100svh - 172px);min-height:0;max-height:none}
  .final-homepage .final-hero-copy{padding-top:clamp(34px,7vh,78px);padding-bottom:clamp(34px,7vh,78px)}
  .final-homepage .final-hero-art{min-height:0}
  .final-homepage .full-facts{height:84px;box-sizing:border-box;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;padding:8px clamp(12px,3vw,46px);white-space:nowrap}
  .final-homepage .full-facts span{flex:1 1 auto;padding:6px clamp(3px,.6vw,12px);text-align:center;font-size:clamp(.92rem,1.12vw,1.12rem)}
  .final-homepage .full-facts b{font-size:1.04em}
}
@media(min-width:1051px){.home-section-label{position:sticky;top:28px;align-self:start}}
@media(min-width:1051px) and (min-height:820px){.home-day-intro{position:sticky;top:28px;align-self:start}}
@media(min-width:901px) and (max-height:820px){.final-homepage .final-hero-copy{padding-top:clamp(22px,4vh,38px);padding-bottom:clamp(22px,4vh,38px)}.final-hero-copy h1{font-size:clamp(3.45rem,5.5vw,4.8rem);margin:9px 0 14px}.final-hero-copy>p:not(.kicker){font-size:.96rem;line-height:1.42}.final-hero-copy>.final-hero-summary{padding-top:6px}.final-hero-copy .actions{margin-top:12px}.final-hero-photo{inset:5% 9% 8%;height:87%}}

.home-visit{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);align-items:end}.home-visit-copy{grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);column-gap:clamp(55px,8vw,110px);align-items:start}.home-visit-copy .kicker,.home-visit-copy h2{grid-column:1}.home-visit-copy h2{margin-bottom:0!important}.home-visit-copy>p:not(.kicker),.home-visit-copy ul,.home-visit-copy>a{grid-column:2}.home-visit-copy>p:not(.kicker){grid-row:1/3;margin:22px 0 0}.home-visit-copy ul{margin-top:30px}.home-visit-copy>a{justify-self:start}

@media(max-width:900px){
  .final-homepage .final-hero{grid-template-columns:1fr;min-height:0}
  .final-homepage .final-hero-copy{padding:48px 24px 34px}
  .final-homepage .final-hero-copy h1{font-size:clamp(3.2rem,11vw,5.2rem);margin:12px 0 20px}
  .final-homepage .final-hero-art{min-height:0;height:clamp(230px,34vh,340px)}
  .final-homepage .final-hero-photo{inset:6% 8% 10%;width:84%;height:84%;border-radius:110px 110px 18px 18px}
  .final-homepage .full-facts{height:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:8px 18px}
  .final-homepage .full-facts span{padding:10px 8px;border-right:0;border-bottom:1px solid rgba(255,255,255,.2);font-size:.78rem;text-align:center}
  .home-visit,.home-visit-copy{grid-template-columns:1fr}.home-visit-copy>*,.home-visit-copy .kicker,.home-visit-copy h2,.home-visit-copy>p:not(.kicker),.home-visit-copy ul,.home-visit-copy>a{grid-column:1;grid-row:auto}.home-visit-copy>p:not(.kicker){margin-top:10px}
}
@media(max-width:650px){
  .final-homepage .final-hero-copy{padding:40px 20px 28px}.final-homepage .final-hero-copy h1{font-size:clamp(3rem,15vw,4.35rem)}.final-homepage .final-hero-copy>p:not(.kicker){font-size:1rem;line-height:1.55}.final-homepage .final-hero-art{height:220px}.final-homepage .full-facts{grid-template-columns:1fr 1fr}.final-homepage .full-facts span:last-child{grid-column:1/-1}.home-day-intro figure{max-width:100%}.home-day-intro figure img{height:190px;aspect-ratio:auto}.next-step-actions>a:not(.primary){grid-template-columns:25px 1fr}.next-step-actions>a:not(.primary) b{grid-column:2}.audience-row{grid-template-columns:43px 1fr}.audience-actions{grid-column:2}.audience-number svg{width:28px;height:28px}
}

/* Pathways texture: the exact logo cap, used as quiet marginalia. */
.home-audience,.home-programme,.home-visit{background-image:url("/static/pages/img/pathways-cap-pattern.da74f43dd930.svg");background-repeat:repeat;background-size:360px 260px}
.home-audience{background-color:#fff}.home-programme{background-color:var(--cream-soft)}.home-visit{background-color:#fff}
.final-homepage .home-audience,.final-homepage .home-suitability,.final-homepage .home-programme,.final-homepage .home-day,.final-homepage .home-referral,.final-homepage .home-visit,.final-homepage .home-next-step{padding-top:clamp(58px,6vw,84px);padding-bottom:clamp(58px,6vw,84px)}
.audience-row{padding-top:25px;padding-bottom:25px}.programme-rail{margin-top:52px}.home-referral-actions{margin-top:30px}
@media(max-width:650px){.final-homepage .home-audience,.final-homepage .home-suitability,.final-homepage .home-programme,.final-homepage .home-day,.final-homepage .home-referral,.final-homepage .home-visit,.final-homepage .home-next-step{padding-top:48px;padding-bottom:48px}.home-audience,.home-programme,.home-visit{background-size:270px 195px}.audience-number svg{width:35px;height:35px}.programme-icon{width:39px;height:39px}}

/* September refinement: quieter numbering and one consistent image language. */
.production-header{position:sticky;z-index:100;top:0}
.audience-number{display:grid;width:42px;height:42px;padding:0;place-items:center;border:1px solid #8fc9df;border-radius:50%;background:#fff;color:var(--blue-deep)}
.audience-number small{font-size:.72rem}
.home-day-intro figure,.programme-feature-photo,.referral-photo,.visit-gallery figure{overflow:hidden;padding:0;border:0;border-radius:4px 48px 4px 48px;background:#fff;box-shadow:none;transform:none}
.home-day-intro figure img,.programme-feature-photo img,.referral-photo img,.visit-gallery figure img{border-radius:0}
.home-day-intro figcaption,.programme-feature-photo figcaption,.referral-photo figcaption,.visit-gallery figcaption{padding:13px 16px}
.final-homepage figcaption{max-width:100%;box-sizing:border-box;overflow:visible;white-space:normal;text-overflow:clip;overflow-wrap:anywhere}

/* Homepage brand and hierarchy corrections. */
.final-homepage .final-hero{position:relative;z-index:1}
.final-homepage .full-facts{position:relative;z-index:10;background:#305261}
.final-homepage .full-facts b{color:var(--yellow)}
.home-day{grid-template-columns:minmax(330px,.88fr) minmax(0,1.12fr);background:#eaf5f8}
.home-day-intro figure{max-width:500px}

/* A substantial, swipeable look around Pathways. */
.visit-gallery{grid-column:1/-1;grid-row:2;min-width:0;margin-top:32px}.visit-gallery-window{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;touch-action:pan-x pan-y}.visit-gallery-window.is-peek-active{scroll-snap-type:none}.visit-gallery-window::-webkit-scrollbar{display:none}.visit-gallery-window:focus-visible{outline:3px solid rgba(44,170,226,.35);outline-offset:5px}.visit-gallery-track{display:flex;gap:18px;will-change:transform}.visit-gallery-track.is-peeking{animation:visit-gallery-peek 1.35s ease-in-out both}.visit-gallery figure{position:relative;flex:0 0 100%;margin:0;padding:12px 12px 0;background:#fff;box-shadow:0 18px 42px rgba(48,82,97,.12);scroll-snap-align:start}.visit-gallery img{display:block;width:100%;height:clamp(430px,53vw,660px);object-fit:cover}.visit-gallery figure:first-child img{object-position:center 48%}.visit-gallery figcaption{display:flex;align-items:center;gap:13px;min-height:64px;padding:10px 8px 12px;color:#305261}.visit-gallery figcaption span{font:700 .72rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;color:#147fac;letter-spacing:.11em}.visit-gallery figcaption b{font-size:1rem}.visit-gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:18px}.visit-gallery-controls p{display:flex;align-items:center;gap:23px;margin:0;color:#607680}.visit-gallery-controls>div{display:flex;gap:9px}.visit-gallery-controls button{position:relative;display:grid;width:48px;height:48px;padding:0;place-items:center;border:0;border-radius:50%;background:#2caae2;color:#102a36;box-shadow:4px 4px 0 #ffc72c;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.visit-gallery-controls button span{font-size:1.35rem;line-height:1;transition:transform .2s ease}.visit-gallery-controls button:hover{transform:translateY(-2px);box-shadow:5px 6px 0 #ffc72c}.visit-gallery-controls button:first-child:hover span{transform:translateX(-3px)}.visit-gallery-controls button:last-child:hover span{transform:translateX(3px)}.visit-gallery-controls button:focus-visible{outline:3px solid rgba(44,170,226,.35);outline-offset:3px}.visit-gallery-controls button:disabled{opacity:.35;cursor:default;box-shadow:2px 2px 0 rgba(255,199,44,.55);transform:none}

/* Quiet section-entry movement: information arrives in readable groups. */
.home-motion-ready .home-reveal-item{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .65s cubic-bezier(.2,.75,.25,1);transition-delay:calc(var(--reveal-order,0) * 65ms)}.home-motion-ready .home-reveal-item.is-visible{opacity:1;transform:none}
@keyframes visit-gallery-peek{0%,100%{transform:translate3d(0,0,0)}42%,58%{transform:translate3d(-42px,0,0)}}
@keyframes swipe-hint-arrow{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
@media(max-width:900px){.visit-gallery,.home-visit .visit-gallery{grid-column:1;grid-row:2;margin-top:35px}}
@media(max-width:650px){.visit-gallery,.home-visit .visit-gallery{margin:30px -20px 0}.visit-gallery-window{scroll-padding-left:20px}.visit-gallery-track{gap:12px;padding:0 20px}.visit-gallery figure{flex-basis:87%;padding:8px 8px 0}.visit-gallery img{height:clamp(270px,82vw,390px)}.visit-gallery figcaption{min-height:58px;padding-inline:7px}.visit-gallery-controls{padding:16px 20px 0}.visit-gallery-controls button{width:44px;height:44px}.visit-gallery-track.is-peeking{animation-name:visit-gallery-peek-mobile}}
@keyframes visit-gallery-peek-mobile{0%,100%{transform:translate3d(0,0,0)}42%,58%{transform:translate3d(-24px,0,0)}}
@media(prefers-reduced-motion:reduce){.visit-gallery-window{scroll-behavior:auto}.visit-gallery-track,.visit-gallery-track.is-peeking,.home-reveal-item{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}}

/* Suitability as an early-intervention decision route, not a generic checklist. */
.home-suitability{position:relative;background:radial-gradient(circle at 8% 18%,rgba(255,199,44,.2) 0 7px,transparent 8px),radial-gradient(circle at 91% 82%,rgba(44,170,226,.15) 0 10px,transparent 11px),#eef7fa;background-size:120px 120px,170px 170px,auto}.suitability-route{overflow:hidden;border-radius:8px 28px 8px 28px;background:#fff;box-shadow:0 20px 55px rgba(48,82,97,.1)}.suitability-route ol{position:relative;padding:0 30px;margin:0;list-style:none}.suitability-route ol:before{content:'';position:absolute;top:36px;bottom:36px;left:53px;border-left:2px dashed rgba(44,170,226,.28)}.suitability-route li{position:relative;display:grid;grid-template-columns:46px 54px 1fr;gap:18px;align-items:start;padding:27px 0;border-bottom:1px solid #d8e5ea}.suitability-route-number{position:relative;z-index:1;display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#fff;border:2px solid #2caae2;color:#147fac;font:800 .7rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;box-shadow:0 0 0 7px #fff}.suitability-route h3{margin:1px 0 7px;font-size:1.3rem;line-height:1.18}.suitability-route li p{margin:0;color:#526b76;line-height:1.55}.suitability-boundary{display:flex;gap:18px;align-items:start;margin:0;padding:23px 30px;background:#def2fa;border-top:1px solid #bddde9}.suitability-boundary img{width:48px;height:37px;flex:0 0 auto;transform:rotate(-8deg)}.suitability-boundary b{font-size:1.05rem}.suitability-boundary p{margin:5px 0 0;color:#48636f;font-size:.92rem;line-height:1.52}

/* Give the named framework a recognisable editorial signature. */
.pillars-highlight{position:relative;display:inline-block;color:#147fac;white-space:nowrap}.pillars-highlight:after{content:'';position:absolute;z-index:1;left:-3%;right:-5%;bottom:-.08em;height:.18em;background:url("/static/pages/img/brighter-underline.02968f52233a.png") center/100% 100% no-repeat;transform:rotate(-1deg);pointer-events:none}

/* Referral as a useful handover map rather than a dark icon strip. */
.home-referral{display:grid;grid-template-columns:minmax(250px,.67fr) minmax(0,1.33fr);gap:clamp(54px,8vw,116px);align-items:start;background:#fffaf0;color:#172731}.home-referral .referral-intro{position:sticky;top:28px;display:block}.home-referral .referral-intro>p:not(.kicker){max-width:480px;color:#526b76;line-height:1.65}.referral-map{min-width:0}.referral-map ol{position:relative;padding:0;margin:0;border-top:3px solid #305261;list-style:none}.referral-map ol:before{content:'';position:absolute;top:31px;bottom:31px;left:27px;border-left:2px dashed rgba(44,170,226,.35)}.referral-map li{position:relative;display:grid;grid-template-columns:56px 1fr;gap:22px;padding:25px 22px 25px 0;border-bottom:1px solid #cbdde4}.referral-map li:nth-child(even){background:linear-gradient(90deg,rgba(223,243,251,.55),transparent)}.referral-map li>span{position:relative;z-index:1;display:grid;width:54px;height:54px;place-items:center;border-radius:50%;background:#305261;color:#fff;font:800 .75rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;box-shadow:0 0 0 7px #fffaf0}.referral-map small{display:block;margin-bottom:5px;color:#147fac;font:700 .68rem/1 var(--font-primary);letter-spacing:.12em;text-transform:uppercase}.referral-map h3{margin:0 0 7px;font-size:1.35rem;line-height:1.15}.referral-map li p{max-width:650px;margin:0;color:#526b76;line-height:1.55}.referral-map>aside{display:grid;grid-template-columns:56px 1fr;gap:22px;padding:24px 22px 25px 0;background:#fff0a9;border-bottom:3px solid #305261}.referral-map>aside>span{display:grid;width:54px;height:54px;place-items:center;border-radius:18px 18px 5px 18px;background:#2caae2;color:#102a36;font:700 .73rem/1 var(--font-primary);text-transform:uppercase;transform:rotate(-3deg)}.referral-map>aside h3{margin:0 0 7px;font-size:1.35rem}.referral-map>aside p{margin:0;color:#455d68;line-height:1.55}.home-referral .home-referral-actions{justify-content:flex-start;margin-top:28px}.home-referral .secondary{color:#305261}

/* Gallery controls sit where the action happens and loop in either direction. */
.visit-gallery{position:relative}.visit-gallery-controls{height:0;padding:0}.visit-gallery-controls>div{position:absolute;z-index:4;top:calc(50% - 40px);left:-24px;right:-24px;display:flex;justify-content:space-between;pointer-events:none}.visit-gallery-controls button{pointer-events:auto}.visit-gallery-controls .visit-gallery-hint{display:none;margin:0;color:#607680;font-size:.83rem}.visit-gallery-hint i{display:inline-block;margin-left:6px;font-style:normal;animation:swipe-hint-arrow 1.5s ease-in-out infinite}
.visit-gallery-controls button[data-gallery-next].is-cueing{animation:visit-gallery-next-cue 1.35s ease-in-out both}.visit-gallery-controls button[data-gallery-next].is-cueing span{animation:visit-gallery-next-arrow 1.35s ease-in-out both}@keyframes visit-gallery-next-cue{0%,100%{transform:translateX(0)}38%,62%{transform:translateX(5px)}}@keyframes visit-gallery-next-arrow{0%,100%{transform:translateX(0)}38%,62%{transform:translateX(3px)}}

@media(max-width:1050px){.home-referral{grid-template-columns:1fr}.home-referral .referral-intro{position:static}}
@media(max-width:650px){.final-homepage .full-facts span{font-size:.86rem}.suitability-route ol{padding:0 18px}.suitability-route ol:before{left:39px}.suitability-route li{grid-template-columns:42px 1fr;gap:14px;padding:23px 0}.suitability-route-number{width:40px;height:40px}.suitability-route li>div:last-child{grid-column:2}.suitability-boundary{padding:21px 20px}.suitability-boundary img{width:39px}.referral-map li,.referral-map>aside{grid-template-columns:48px 1fr;gap:15px;padding-right:5px}.referral-map li>span,.referral-map>aside>span{width:46px;height:46px}.referral-map ol:before{left:23px}.visit-gallery-controls{height:auto;padding:14px 20px 0}.visit-gallery-controls>div{top:calc(50% - 43px);left:7px;right:7px}.visit-gallery-controls .visit-gallery-hint{display:block}.pillars-highlight:after{height:.16em}}

/* Let the building and the activity carry information between text-led sections. */
.suitability-photo{position:relative;margin:0;overflow:hidden;border-bottom:1px solid #d8e5ea}.suitability-photo img{display:block;width:100%;height:clamp(210px,24vw,300px);object-fit:cover;object-position:center 47%}.suitability-photo figcaption{position:absolute;right:18px;bottom:17px;width:min(330px,calc(100% - 36px));padding:13px 16px;background:#fff4b9;color:#305261;font-size:.88rem;font-weight:700;line-height:1.4;box-shadow:5px 6px 0 rgba(44,170,226,.32);transform:rotate(-.7deg)}
@media(max-width:650px){.suitability-photo img{height:230px}.suitability-photo figcaption{right:12px;bottom:12px;width:calc(100% - 24px)}}

/* Quieter, more serious suitability and a single purposeful image per section. */
.home-suitability{background:#f1f5f6}.suitability-route{border:1px solid #cbdde4;border-radius:3px 22px 3px 3px;box-shadow:0 18px 45px rgba(48,82,97,.08)}.suitability-photo img{height:clamp(260px,29vw,360px);object-position:center 48%}.suitability-photo figcaption{right:22px;bottom:20px;background:#fff;color:#305261;border-left:4px solid #2caae2;box-shadow:0 7px 22px rgba(23,39,49,.16);transform:none}.suitability-route li{grid-template-columns:46px 1fr;gap:22px}.suitability-route-number{border:0;background:#305261;color:#fff;box-shadow:0 0 0 7px #fff}.suitability-route ol:before{left:53px;border-left-style:solid;border-color:rgba(48,82,97,.22)}
.programme-feature-photo{grid-column:2;grid-row:1/3;position:relative;overflow:hidden;margin:0;border:9px solid #305261;box-shadow:9px 10px 0 rgba(255,199,44,.3);align-self:stretch}.programme-feature-photo img{display:block;width:100%;height:100%;min-height:285px;object-fit:cover;object-position:center}.programme-feature-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 18px 15px;background:linear-gradient(transparent,rgba(23,39,49,.82));color:#fff;font-size:.88rem;font-weight:700}.home-programme .programme-rail{margin-top:54px}
.home-day-intro figure{max-width:none}.home-day-intro figure img{height:clamp(300px,31vw,430px);aspect-ratio:auto;object-fit:cover;object-position:center 52%}
.referral-photo{position:relative;overflow:hidden;max-width:470px;margin:28px 0 0;border:8px solid #fff;box-shadow:9px 10px 0 rgba(44,170,226,.18)}.referral-photo img{display:block;width:100%;height:250px;object-fit:cover;object-position:center}.referral-photo figcaption{padding:12px 8px 5px;color:#526b76;font-size:.8rem;line-height:1.45}.home-referral-actions .secondary{padding:11px 18px;border:2px solid #305261;border-radius:999px;background:#fff;color:#305261;font-weight:700}.home-referral-actions .secondary:hover{background:#e8f5fa}
@media(max-width:1050px){.programme-feature-photo{grid-column:1;grid-row:auto;margin-top:26px;max-width:720px}.home-referral .referral-photo{max-width:650px}.suitability-route li{grid-template-columns:46px 1fr}}
@media(max-width:650px){.suitability-photo img{height:250px}.suitability-route li{grid-template-columns:42px 1fr}.suitability-route ol:before{left:39px}.programme-feature-photo{margin-top:20px;border-width:7px}.programme-feature-photo img{min-height:220px}.home-day-intro figure img{height:250px}.referral-photo{margin-top:22px;border-width:6px}.referral-photo img{height:220px}.home-referral-actions{display:grid}.home-referral-actions a{width:100%}}

/* Referral gallery and practical arrival map */.home-referral .visit-gallery{grid-column:1/-1;grid-row:3;margin-top:24px}

.home-visit{grid-template-columns:minmax(0,1.28fr) minmax(310px,.72fr);gap:clamp(42px,6vw,86px);align-items:start}.home-visit .arrival-map-card{grid-column:1;grid-row:1;min-width:0;overflow:hidden;border:1px solid #c7dbe3;border-radius:24px;background:#f8fbfc;box-shadow:12px 14px 0 rgba(44,170,226,.14)}.arrival-map-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:20px 22px 17px;border-bottom:1px solid #d6e4e9;background:#fff}.arrival-map-heading p{margin:0}.arrival-map-heading span{display:block;margin-bottom:5px;color:#147fac;font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.arrival-map-heading b{display:block;color:#172731;font-size:1.08rem}.arrival-map-heading small{color:#6a7e86;font-size:.72rem;white-space:nowrap}.arrival-map-key{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d2e1e6;background:#fff}.arrival-map-key p{min-width:0;margin:0;padding:17px 18px}.arrival-map-key p+p{border-left:1px solid #d2e1e6}.arrival-map-key span{display:block;margin-bottom:5px;color:#147fac;font-size:.67rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.arrival-map-key b{display:block;color:#405b66;font-size:.78rem;line-height:1.45}.map-directions-link{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#305261;color:#fff;font-size:.87rem;font-weight:750;text-decoration:none}.map-directions-link span{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#ffc72c;color:#172731;font-size:1rem;transition:transform .2s ease}.map-directions-link:hover span{transform:translate(2px,-2px)}
.home-visit .home-visit-copy{grid-column:2;grid-row:1;display:block}.home-visit .home-visit-copy>*{grid-column:auto;grid-row:auto}.home-visit .home-visit-copy>p:not(.kicker){margin-top:0}.home-visit .home-visit-copy ul{margin-top:26px}.home-visit .home-visit-copy>a{display:inline-flex}

@media(max-width:1050px){.home-referral .referral-intro{grid-column:1;grid-row:1}.home-referral .referral-map{grid-column:1;grid-row:2}.home-referral .visit-gallery{grid-column:1;grid-row:4}.home-visit{grid-template-columns:1fr}.home-visit .home-visit-copy{grid-column:1;grid-row:1}.home-visit .arrival-map-card{grid-column:1;grid-row:2;margin-top:12px}.home-visit .home-visit-copy>p:not(.kicker){max-width:720px}}
@media(max-width:650px){.home-referral .visit-gallery{margin-top:18px}.arrival-map-heading{display:block;padding:17px 16px 14px}.arrival-map-heading small{display:block;margin-top:7px}.home-visit .arrival-map-card{margin:8px 0 4px;border-radius:17px;box-shadow:7px 8px 0 rgba(44,170,226,.14)}.arrival-map-key{grid-template-columns:1fr}.arrival-map-key p{padding:13px 16px}.arrival-map-key p+p{border-top:1px solid #d2e1e6;border-left:0}.arrival-map-key span{margin-bottom:3px}.map-directions-link{padding:14px 16px}}

.arrival-map-real{position:relative;height:520px;background:#dce9e8}.arrival-map-real.maplibregl-map{z-index:0;font-family:var(--font-primary);color:#172731}.arrival-map-fallback{display:grid;min-height:inherit;margin:0;padding:32px;place-items:center;color:#405b66;font-weight:750;text-align:center}.arrival-map-card noscript .arrival-map-fallback{min-height:120px;background:#edf4f5}.pathways-map-point{position:absolute;width:40px;height:40px;transition:opacity .16s ease}.pathways-map-marker{display:grid;width:36px;height:36px;place-items:center;border:3px solid #fff;border-radius:50%;background:#305261;color:#fff;box-shadow:0 4px 13px rgba(23,39,49,.3);font-size:.77rem;font-weight:900}.pathways-map-marker-main{width:46px;height:46px;transform:translate(-5px,-5px);border-color:#ffc72c;background:#fff;box-shadow:0 5px 16px rgba(23,39,49,.34)}.pathways-map-marker-main img{width:34px;height:34px;object-fit:contain}.marker-metrocentre{background:#305261}.marker-rail,.marker-bus,.marker-stop{background:#2caae2;color:#102a36}.marker-transport svg{width:22px;height:22px;overflow:visible}.marker-transport svg>path:first-child{fill:currentColor}.marker-transport .transport-window{fill:#fff}.marker-transport .transport-light{fill:#ffc72c}.marker-transport .transport-rail{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.marker-entry{background:#e77724}.marker-parking{background:#ffc72c;color:#172731}.marker-site-detail{width:22px;height:22px;transform:translate(7px,7px);border-width:2px;font-size:.62rem}.pathways-map-label{position:absolute;z-index:2;padding:6px 9px;border:1px solid rgba(48,82,97,.24);border-radius:8px;background:rgba(255,255,255,.96);box-shadow:0 2px 8px rgba(23,39,49,.13);color:#172731;font-family:var(--font-primary);font-size:.7rem;font-weight:800;line-height:1.2;white-space:nowrap;transition:opacity .16s ease}.map-labels-hidden .pathways-map-label,.map-parking-hidden .map-point-parking,.map-secondary-markers-hidden .pathways-map-point:not(.map-point-main){visibility:hidden;opacity:0}.label-top .pathways-map-label{left:50%;bottom:calc(100% + 5px);transform:translateX(-50%)}.label-bottom .pathways-map-label{left:50%;top:calc(100% + 3px);transform:translateX(-50%)}.label-left .pathways-map-label{right:calc(100% + 5px);top:50%;transform:translateY(-50%)}.label-shift-right .pathways-map-label{margin-left:20px}.label-shift-up .pathways-map-label{margin-top:-12px}.label-shift-down .pathways-map-label{margin-top:12px}.arrival-map-real .maplibregl-ctrl-group button{width:30px;height:30px}.arrival-map-real .maplibregl-ctrl-attrib{font-size:9px}.arrival-map-real .maplibregl-ctrl-scale{border-color:#305261;color:#172731;font-weight:700}
@media(max-width:650px){.arrival-map-real{height:450px}.pathways-map-label{padding:5px 7px;font-size:.62rem}.pathways-map-marker{width:32px;height:32px;border-width:2px}.pathways-map-marker-main{width:42px;height:42px;transform:translate(-5px,-5px)}.pathways-map-marker-main img{width:31px;height:31px}.marker-transport svg{width:19px;height:19px}}
.label-far-left .pathways-map-label{margin-right:24px}

/* Keep the referral heading sticky only while its four-step process is in view. */
.home-referral{display:block}.referral-process-main{display:grid;grid-template-columns:minmax(250px,.67fr) minmax(0,1.33fr);gap:clamp(54px,8vw,116px);align-items:start}.home-referral .visit-gallery{margin-top:clamp(42px,6vw,72px)}
@media(max-width:1050px){.referral-process-main{grid-template-columns:1fr}.home-referral .referral-intro{position:static}.home-referral .visit-gallery{margin-top:42px}}

/* A young-person-first Personal Project story. */
.page-families .young-project{position:relative;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);gap:clamp(42px,7vw,105px);padding:clamp(70px,9vw,118px) clamp(24px,7vw,100px);overflow:hidden;background:#eaf6fa}.page-families .young-project:after{content:'';position:absolute;right:-70px;top:-55px;width:245px;height:185px;background:url("/static/pages/img/pathways-cap-pattern.da74f43dd930.svg") center/245px 185px no-repeat;opacity:.55;pointer-events:none}.young-project-photo{position:relative;align-self:start;margin:0;padding:11px 11px 0;background:#fff;box-shadow:14px 16px 0 rgba(255,199,44,.45);transform:rotate(-.5deg)}.young-project-photo>span{position:absolute;z-index:2;left:23px;top:-17px;padding:9px 13px;border-radius:4px;background:#ffc72c;color:#172731;font-size:.71rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transform:rotate(-2deg)}.young-project-photo img{display:block;width:100%;height:clamp(310px,32vw,470px);object-fit:cover}.young-project-photo figcaption{padding:13px 8px 15px;color:#526b76;font-size:.82rem;line-height:1.45}.young-project-copy{position:relative;z-index:1;align-self:center}.page-families .young-project h2{max-width:720px;margin:12px 0 23px;font-size:clamp(2.35rem,4.3vw,4.6rem);font-weight:650;line-height:.96;letter-spacing:-.045em}.young-project-copy>p:not(.kicker){max-width:680px;color:#435f6b;line-height:1.68}.project-path{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:12px;align-items:center;margin-top:32px;padding-top:22px;border-top:2px solid #305261}.project-path p{min-width:0;margin:0}.project-path p span{display:block;margin-bottom:6px;color:#1485b4;font:800 .67rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em}.project-path p b{display:block;font-size:.9rem;line-height:1.3}.project-path i{color:#e77724;font-style:normal;font-size:1.25rem}.project-idea-bank{position:relative;z-index:1;grid-column:1/-1;display:grid;grid-template-columns:minmax(240px,.55fr) minmax(0,1.45fr);gap:clamp(35px,6vw,90px);margin-top:7px;padding:clamp(28px,4vw,46px);border-top:5px solid #305261;background:#fff;box-shadow:0 18px 48px rgba(48,82,97,.1)}.project-idea-bank header{align-self:start}.project-idea-bank h3{margin:10px 0 14px;font-size:clamp(1.8rem,3vw,3rem);line-height:1}.project-idea-bank header>p:last-child{color:#526b76;line-height:1.58}.project-idea-bank ul{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0;margin:0;list-style:none}.project-idea-bank li{position:relative;min-height:145px;padding:20px 17px 18px;border:1px solid #c9dce4;background:#f9fcfd}.project-idea-bank li:nth-child(2),.project-idea-bank li:nth-child(5){background:#fff9df}.project-idea-bank li:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:#2caae2}.project-idea-bank li:nth-child(2n):before{background:#ffc72c}.project-idea-bank li:nth-child(3n):before{background:#e77724}.project-idea-bank li span{display:block;margin-bottom:10px;color:#147fac;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.project-idea-bank li b{display:block;color:#334f5b;font-size:.84rem;line-height:1.48}.project-reassurance{grid-column:2;margin:2px 0 0;padding:15px 18px;border-left:5px solid #ffc72c;background:#fff6c9;color:#455f6a;font-size:.88rem;line-height:1.5}.project-reassurance b{color:#172731;font-weight:750}
@media(max-width:1050px){.page-families .young-project{grid-template-columns:1fr}.young-project-photo{max-width:760px}.young-project-copy{max-width:820px}.project-idea-bank{grid-template-columns:1fr}.project-reassurance{grid-column:1}.project-idea-bank ul{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.page-families .young-project{gap:42px;padding:58px 20px}.young-project-photo{margin-top:10px;padding:7px 7px 0;box-shadow:8px 9px 0 rgba(255,199,44,.45)}.young-project-photo img{height:270px}.young-project-photo>span{left:14px;top:-16px;font-size:.63rem}.page-families .young-project h2{font-size:clamp(2.25rem,11vw,3.2rem)}.project-path{grid-template-columns:1fr;gap:9px}.project-path p{display:grid;grid-template-columns:32px 1fr;align-items:center}.project-path p span{margin:0}.project-path i{margin-left:7px;transform:rotate(90deg)}.project-idea-bank{display:block;margin-top:0;padding:27px 18px}.project-idea-bank ul{grid-template-columns:1fr 1fr;margin-top:25px}.project-idea-bank li{min-height:138px;padding:17px 14px}.project-reassurance{margin-top:15px}}
@media(max-width:460px){.project-idea-bank ul{grid-template-columns:1fr}.project-idea-bank li{min-height:0}}

/* Selected timetable treatment: a functional table on a torn notepad sheet. */
.home-day .day-schedule{position:relative;margin-top:18px;border-top:0;background:#fff;filter:drop-shadow(0 18px 18px rgba(48,82,97,.13));isolation:isolate}.home-day .day-schedule:before{content:'';position:absolute;z-index:0;top:-17px;left:0;right:0;height:20px;background:#fff;clip-path:polygon(0 64%,1.7% 28%,3.5% 71%,5.2% 39%,7.2% 76%,9.1% 31%,11.2% 68%,13.4% 24%,15.6% 73%,17.8% 37%,20.1% 78%,22.2% 29%,24.5% 69%,26.8% 42%,29.2% 76%,31.6% 25%,34% 68%,36.5% 35%,39% 80%,41.4% 31%,43.9% 70%,46.5% 23%,49% 75%,51.7% 39%,54.4% 79%,57% 28%,59.7% 67%,62.5% 36%,65.2% 74%,68% 24%,70.8% 72%,73.6% 40%,76.4% 79%,79.2% 30%,82% 68%,84.8% 25%,87.6% 76%,90.4% 38%,93.1% 70%,95.7% 27%,98% 73%,100% 45%,100% 100%,0 100%)}.schedule-paper-title{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 28px 15px;background:#fff}.schedule-paper-title span{color:#305261;font:800 .74rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em;text-transform:uppercase}.schedule-paper-title small{color:#70848c;font-size:.73rem}.home-day .schedule-heading,.home-day .schedule-row{grid-template-columns:132px 1fr;gap:0;margin-inline:18px;padding:0;border-right:1px solid rgba(48,82,97,.38);border-left:1px solid rgba(48,82,97,.38)}.home-day .schedule-heading{border-color:#305261}.home-day .schedule-heading span{padding:12px 15px}.home-day .schedule-heading span:first-child,.home-day .schedule-row time{border-right:1px solid rgba(48,82,97,.38)}.home-day .schedule-heading span:first-child{border-color:rgba(255,255,255,.35)}.home-day .schedule-row{border-bottom:0;border-top:1px solid rgba(48,82,97,.38)}.home-day .schedule-row:last-child{margin-bottom:22px;border-bottom:1px solid rgba(48,82,97,.38)}.home-day .schedule-row time,.home-day .schedule-row>div{padding:17px 15px}.home-day .schedule-row time:before{display:none}
@media(max-width:650px){.schedule-paper-title{display:block;padding:20px 20px 13px}.schedule-paper-title small{display:block;margin-top:5px}.home-day .schedule-heading,.home-day .schedule-row{grid-template-columns:88px 1fr;margin-inline:10px}.home-day .schedule-heading span{padding:11px 10px}.home-day .schedule-row time,.home-day .schedule-row>div{padding:14px 10px}.home-day .schedule-row time{font-size:.78rem}.home-day .schedule-row:last-child{margin-bottom:12px}}
@media(max-width:1050px){.home-day{grid-template-columns:1fr}.home-day .day-schedule{margin-top:30px}}

/* Mobile refinement: concise journeys with detail available on demand. */
.mobile-disclosure{min-width:0}.mobile-disclosure>summary{display:none}.mobile-disclosure:not([open])>.mobile-disclosure-content{display:block}.day-disclosure,.referral-disclosure{align-self:start}
@media(max-width:650px){
  .mobile-disclosure{margin-top:24px;border:1px solid #b9d3dc;border-radius:14px;background:rgba(255,255,255,.86);overflow:hidden}
  .mobile-disclosure>summary{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;min-height:58px;padding:12px 15px;color:#172731;cursor:pointer;list-style:none}
  .mobile-disclosure>summary::-webkit-details-marker{display:none}.mobile-disclosure>summary:after{content:'+';display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#2caae2;color:#102a36;font-size:1.15rem;font-weight:700}.mobile-disclosure[open]>summary:after{content:'–'}
  .mobile-disclosure>summary span{color:#147fac;font:800 .68rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}.mobile-disclosure>summary b{font-size:.95rem;line-height:1.25}
  .mobile-disclosure:not([open])>.mobile-disclosure-content{display:none}.mobile-disclosure[open]>.mobile-disclosure-content{display:block;border-top:1px solid #cfe0e6}
  .suitability-disclosure{margin:0;border:0;border-radius:0;background:#fff}.suitability-disclosure>summary{margin:0 14px 14px;border:1px solid #bfd7df;border-radius:12px;background:#f5fbfd}
  .programme-disclosure{background:#fff}.programme-disclosure .programme-rail{margin:28px 18px 0 21px;padding-top:3px}.programme-disclosure .mobile-disclosure-content{padding-bottom:4px}
  .day-disclosure{margin-top:28px;background:#fff}.day-disclosure .day-schedule{margin-top:0!important}.day-disclosure .mobile-disclosure-content{padding-top:10px;background:#f8fbfc}
  .referral-disclosure{margin-top:28px;background:#fff}.referral-disclosure .referral-map{padding:0 14px 15px}.referral-disclosure .home-referral-actions{margin-bottom:4px}
}

@media(max-width:760px){
  .production-header{position:sticky;z-index:70;top:0}.mobile-menu{position:relative;z-index:70;top:auto;right:auto;margin-left:auto}.mobile-menu>div{position:absolute;top:50px;right:0}
  .production-site:not(.final-homepage) .image-story>img{height:clamp(230px,64vw,280px);max-height:280px}
  .production-footer{grid-template-columns:1.1fr .9fr;padding:34px 20px;gap:24px 18px}.production-footer .footer-brand,.production-footer>div:last-child{grid-column:1/-1}.production-footer .footer-brand img{width:min(195px,72%);margin-bottom:9px}.production-footer p{margin-bottom:10px;font-size:.92rem;line-height:1.48}.production-footer>div>b{display:block;margin-bottom:6px}
}
@media(max-width:359px){.production-footer{grid-template-columns:1fr}.production-footer .footer-brand,.production-footer>div:last-child{grid-column:1}}

/* Leave a visible paper margin below the homepage timetable table. */
.home-day .day-schedule{padding-bottom:24px}.home-day .schedule-row:last-child{margin-bottom:0}
@media(max-width:650px){.home-day .day-schedule{padding-bottom:16px}.home-day .schedule-row:last-child{margin-bottom:0}}
@media(max-width:650px){
  .visit-gallery img{height:clamp(220px,64vw,270px)}
  .arrival-map-real{height:clamp(300px,52svh,360px)}
  .arrival-map-real .maplibregl-ctrl-group button{width:40px;height:40px}
}

/* A small provenance note near the final action, with the full story on About. */
.home-nlg-credit{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:22px clamp(24px,7vw,100px);border-block:1px solid #bfd5dd;background:#edf7fa}.home-nlg-credit>span{padding:7px 10px;background:#305261;color:#fff;font-size:.69rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transform:rotate(-1deg)}.home-nlg-credit p{margin:0;color:#405b66;font-size:.91rem;line-height:1.5}.home-nlg-credit p b{color:#172731}.home-nlg-credit a{white-space:nowrap;color:#147fac;font-size:.87rem;font-weight:750;text-underline-offset:4px}
@media(max-width:760px){.home-nlg-credit{grid-template-columns:1fr;gap:11px;padding:22px 20px}.home-nlg-credit>span{justify-self:start}.home-nlg-credit a{white-space:normal}}

/* Audit fixes: accessible contrast, targets and an interaction-first map load. */
.home-section-label>a,.home-nlg-credit a{color:#0b668b}
.suitability-disclosure>summary>span{color:#0b668b}
.home-referral .referral-intro .kicker{color:#0b668b}
.arrival-map-heading small{color:#526b76}
.home-next-step .kicker,.home-next-step>div>p:last-child,.next-step-actions>a:not(.primary) span{color:#fff}
.page-refer .page-hero .kicker,.page-refer .referral-layout aside .kicker{color:#0b668b}
.production-footer p a,.referral-contact p a{display:inline-flex;min-height:32px;align-items:center;padding-block:4px}
.referral-contact h2{font-size:1.5rem}
.arrival-map-poster{display:grid;place-items:center;background:radial-gradient(circle at 82% 18%,rgba(255,199,44,.38),transparent 21%),linear-gradient(145deg,#e7f5fa,#f8fbfc 62%,#fff3bd)}
.arrival-map-poster-copy{display:grid;max-width:540px;justify-items:center;gap:18px;padding:42px 28px;text-align:center}
.arrival-map-poster-copy img{width:88px;height:auto}
.arrival-map-poster-copy p{display:grid;gap:7px;margin:0;color:#405b66;line-height:1.5}
.arrival-map-poster-copy b{color:#172731;font-size:1.25rem}
.page-refer .referral-route-choice .kicker{color:#0b668b}
.skip-link{position:fixed;z-index:999;left:16px;top:12px;padding:11px 16px;border-radius:8px;background:#172731;color:#fff;transform:translateY(-150%);transition:transform .2s}.skip-link:focus{transform:none}
.map-activate{min-height:46px;padding:12px 20px;border:0;border-radius:999px;background:#147fac;color:#fff;font:700 .92rem/1 var(--font-primary);cursor:pointer;box-shadow:5px 6px 0 rgba(255,199,44,.8)}
.map-activate:hover{background:#0b668b}.map-activate:focus-visible{outline:3px solid #172731;outline-offset:3px}.map-activate:disabled{cursor:wait;opacity:.82}
@media(max-width:650px){.arrival-map-poster-copy{padding:34px 20px}.arrival-map-poster-copy img{width:70px}}
