/* Spring mockup: forest-green typography, yellow handwritten accents, actual SVS settings. */
.svs-spring{--spring-green:#103d2c;--spring-yellow:#ffdc27;--spring-paper:#fffefa;color:var(--spring-green);background:var(--spring-paper);font-family:Manrope,Arial,sans-serif;padding-top:20px;padding-bottom:65px;overflow:clip}
.svs-spring *{box-sizing:border-box}
.svs-spring h1,.svs-spring h2,.svs-spring h3,.svs-spring p,.svs-spring figure{margin:0}
.svs-spring h1,.svs-spring h2,.svs-spring h3{font-family:Unbounded,Arial,sans-serif;font-weight:800;letter-spacing:-.05em;line-height:1.04}
.svs-spring h2{font-size:clamp(32px,4.4vw,65px)}
.svs-spring h3{font-size:clamp(20px,2.2vw,32px);line-height:1.12}
.svs-spring p{font-size:20px;line-height:1.45}
.svs-spring img{display:block;width:100%;height:100%;object-fit:cover}
.spring-wrap{width:min(1440px,calc(100% - 64px));margin-inline:auto}
.spring-section{margin-top:104px;scroll-margin-top:125px}
.svs-spring .spring-note{display:inline-block;width:max-content;max-width:100%;background:var(--spring-yellow);color:var(--spring-green);font:600 clamp(34px,3.5vw,52px)/.95 Caveat,cursive;padding:9px 20px 15px;border-radius:9px;transform:rotate(-6deg);letter-spacing:0;white-space:normal}
.spring-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:54px;padding:14px 25px;border:0;border-radius:99px;background:var(--spring-yellow);color:var(--spring-green);font:800 16px/1.35 Manrope,Arial,sans-serif;text-decoration:none;cursor:pointer;transition:background .15s ease}
.spring-button:hover{background:#ffc71f}
.spring-button .arrow,.spring-text-link .arrow{width:29px;height:23px;flex:none}
.spring-text-link{display:inline-flex;align-items:center;gap:20px;color:inherit;font:700 17px/1.4 Manrope,Arial,sans-serif;text-decoration:underline;text-underline-offset:5px}
.spring-button:focus-visible,.spring-text-link:focus-visible,.spring-faq summary:focus-visible,.spring-activity summary:focus-visible{outline:3px solid #ee7926;outline-offset:5px}
.spring-hero{display:grid;grid-template-columns:.96fr 1.04fr;gap:28px;align-items:center;min-height:760px}
.svs-spring .spring-eyebrow{font-size:20px;margin-bottom:18px}
.spring-hero h1{font-size:clamp(44px,5.2vw,77px);letter-spacing:-.065em;line-height:1.04}
.spring-hero .spring-note{margin:7px 0 0 4px;font-size:clamp(36px,3.8vw,55px)}
.svs-spring .spring-intro{margin-top:33px;max-width:590px;font-size:21px}
.spring-actions{display:flex;flex-direction:column;align-items:start;gap:20px;margin-top:28px}
.spring-hero>figure{height:760px;border-radius:240px 24px 24px 240px;overflow:hidden}
.spring-hero>figure img{object-position:54% center}
.spring-heading{display:flex;align-items:end;justify-content:space-between;gap:32px}
.spring-heading h2{min-width:0}
.spring-heading .spring-note{flex:none;margin:0 12px 5px 0}
.svs-spring .spring-section-intro{margin-top:23px;max-width:950px;font-size:23px}
.spring-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:31px}
.spring-photo{min-width:0}
.spring-photo>img{aspect-ratio:1.08;height:auto;border-radius:100px 36px 75px 36px}
.spring-photo:nth-child(2)>img{border-radius:100px 50px 80px 30px}
.spring-photo:nth-child(3)>img{border-radius:100px 42px 70px 45px}
.spring-photo figcaption{font:800 clamp(20px,2.05vw,30px)/1.15 Unbounded,Arial,sans-serif;letter-spacing:-.04em;margin:18px 5px 0}
.spring-reset .spring-photo figcaption{text-align:center}
.spring-movement{display:grid;grid-template-columns:1.6fr 1fr;gap:35px;align-items:start}
.spring-movement .spring-heading{gap:15px}
.spring-movement .spring-heading h2{font-size:clamp(31px,4.15vw,61px)}
.spring-movement .spring-note{font-size:39px;max-width:210px;text-align:center;padding-inline:15px}
.spring-movement__big{margin-top:30px!important}
.spring-movement__big>img{aspect-ratio:1.7;border-radius:100px 45px 65px 35px}
.spring-movement__side{display:flex;flex-direction:column;gap:32px;padding-top:5px}
.spring-movement__side .spring-photo>img{aspect-ratio:1.45;border-radius:95px 35px 55px 35px}
.spring-movement__side .spring-photo figcaption{font-size:24px;margin-top:13px}
.svs-spring .spring-footnote{font-size:13px;color:#607065;line-height:1.5;margin-top:21px}
.spring-movement__side .spring-footnote{margin-top:0}
.spring-activity summary{list-style:none;cursor:pointer}
.spring-activity summary::-webkit-details-marker{display:none}
.spring-activity img{aspect-ratio:1.08;height:auto;border-radius:100px 35px 70px 35px}
.spring-activity summary>span{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:18px 8px 0;font:800 clamp(20px,2.05vw,30px)/1.15 Unbounded,Arial,sans-serif;letter-spacing:-.04em}
.spring-activity .arrow{width:37px;height:26px;color:#f47724;flex:none;transition:transform .2s ease}
.spring-activity[open] .arrow{transform:rotate(90deg)}
.spring-activity>p{font-size:17px;margin:18px 8px 0;color:#4e6556}
.spring-energy .spring-photo>img{border-radius:75px 65px 70px 35px}
.svs-spring .spring-disclosure{margin:28px auto 0}
.spring-parents .spring-heading{align-items:start;flex-wrap:wrap;row-gap:12px}
.spring-parents h2{font-size:clamp(30px,4.1vw,59px)}
.spring-parents .spring-heading .spring-note{margin-left:auto}
.spring-parents .spring-section-intro{margin-top:0}
.spring-parent-cards>article{display:flex;flex-direction:column;align-items:start;min-width:0}
.spring-parent-cards article img{height:auto;aspect-ratio:1.18;border-radius:45px;flex:none}
.spring-parent-cards h3{margin:22px 7px 0;font-size:clamp(18px,2vw,29px)}
.spring-parent-cards p{margin:12px 7px 20px;font-size:20px;flex:1}
.spring-parent-cards .spring-button{margin-left:7px;font-size:16px;padding:13px 21px;gap:18px}
.spring-choice{display:grid;grid-template-columns:1.12fr 1fr;gap:40px;margin-top:36px}
.spring-shift-card{background:#fff9dc;border-radius:35px;padding:32px 30px 23px;display:flex;flex-direction:column;align-items:start}
.spring-shift-card h3{font-size:clamp(25px,3vw,42px)}
.spring-shift-card p{margin-top:17px;font-size:20px}
.spring-shift-card .spring-button{margin-top:23px;margin-bottom:20px}
.spring-shift-card img{height:295px;border-radius:80px 32px 55px 35px;object-position:center;flex:1;min-height:230px}
.spring-questions{padding-top:24px}
.spring-questions>h3{margin-bottom:24px;font-size:clamp(21px,2.65vw,38px)}
.spring-faq{border-top:1px solid #567363}
.spring-faq:last-child{border-bottom:1px solid #567363}
.spring-faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:104px;padding:22px 0;font:800 19px/1.35 Manrope,Arial,sans-serif;cursor:pointer}
.spring-faq summary::-webkit-details-marker{display:none}
.spring-faq summary>span{border:1px solid currentColor;border-radius:50%;width:35px;height:35px;display:grid;place-content:center;font-size:26px;font-weight:400;flex:none;transition:transform .2s ease}
.spring-faq[open] summary>span{transform:rotate(45deg)}
.spring-faq p{font-size:18px;padding:0 35px 25px 0;color:#4b6253}
.spring-finale{margin-top:90px;display:grid;grid-template-columns:1.12fr 1fr;gap:42px;background:var(--spring-green);color:var(--spring-paper);padding:45px;border-radius:48px;scroll-margin-top:120px}
.spring-finale__story h2{font-size:clamp(35px,4.15vw,60px)}
.spring-finale__story .spring-note{margin:8px 0 18px 8px;font-size:48px}
.spring-finale__story>p{font-size:21px;margin-top:18px;margin-bottom:25px}
.spring-finale__story img{height:300px;border-radius:100px 36px 36px 36px}
.spring-form-card{border-radius:32px;background:var(--spring-paper);color:var(--spring-green);padding:36px;align-self:stretch}
.spring-form-card h3{font-size:clamp(23px,2.2vw,32px)}
.spring-form-card form{margin-top:25px}
.spring-form-card label{display:block;font:700 14px/1.4 Manrope,Arial,sans-serif;margin-top:16px}
.spring-form-card input,.spring-form-card textarea{display:block;width:100%;margin-top:7px;border:1px solid #c1cec4;border-radius:12px;background:#fff;padding:13px 15px;color:var(--spring-green);font:400 16px/1.4 Manrope,Arial,sans-serif;min-height:48px}
.spring-form-card textarea{resize:vertical}
.spring-form-card input:focus,.spring-form-card textarea:focus{outline:2px solid #e7b818;outline-offset:2px}
.spring-form-card button{width:100%;margin-top:24px}
.svs-spring .spring-form-note{font-size:12px;line-height:1.5;color:#5c6e60;margin-top:14px}
.spring-form-contacts{border-top:1px solid #d3dcd4;margin-top:20px;padding-top:17px;display:flex;flex-direction:column;align-items:start;gap:7px}
.spring-form-contacts p{font-size:13px}
.spring-form-contacts a{font:700 16px/1.4 Manrope,Arial,sans-serif;color:inherit;overflow-wrap:anywhere}
.svs-spring [hidden]{display:none!important}
@media(max-width:1100px){.spring-wrap{width:calc(100% - 48px)}.spring-section{margin-top:80px}.spring-hero{gap:20px;min-height:640px}.spring-hero>figure{height:640px;border-radius:180px 25px 25px 180px}.spring-hero h1{font-size:5.25vw}.svs-spring .spring-eyebrow{font-size:17px}.svs-spring .spring-intro{font-size:18px}.spring-hero .spring-note{font-size:39px}.spring-heading{gap:20px;flex-wrap:wrap}.spring-heading .spring-note{margin-left:auto}.svs-spring .spring-section-intro{font-size:20px}.spring-trio{gap:20px}.spring-photo>img,.spring-activity img{border-top-left-radius:70px}.spring-photo figcaption,.spring-activity summary>span{font-size:23px}.spring-movement{gap:25px;grid-template-columns:1.4fr 1fr}.spring-movement .spring-note{font-size:32px;margin-left:25px;max-width:none}.spring-movement .spring-note br{display:none}.spring-movement__side .spring-photo>img{aspect-ratio:1.2}.spring-movement__big>img{aspect-ratio:1.35}.spring-parent-cards h3{font-size:21px}.spring-parent-cards p{font-size:18px}.spring-parent-cards .spring-button{font-size:14px;padding:12px 17px;gap:10px}.spring-choice{gap:28px}.spring-shift-card{padding:27px 23px 21px}.spring-shift-card p{font-size:18px}.spring-faq summary{font-size:17px}.spring-faq p{font-size:16px}.spring-finale{gap:28px;padding:30px}.spring-finale__story h2{font-size:4.4vw}.spring-finale__story .spring-note{font-size:39px}.spring-finale__story>p{font-size:18px}.spring-form-card{padding:27px}.spring-finale__story img{height:300px;border-top-left-radius:70px}}
@media(max-width:700px){.svs-spring{padding-top:17px;padding-bottom:38px}.spring-wrap{width:calc(100% - 32px)}.spring-section{margin-top:59px}.svs-spring h2{font-size:clamp(24px,7.45vw,44px)}.svs-spring h3{font-size:25px}.svs-spring p{font-size:17px}.spring-hero{display:flex;flex-direction:column;align-items:stretch;gap:28px;min-height:0}.spring-hero h1{font-size:clamp(35px,8.8vw,59px);letter-spacing:-.06em}.svs-spring .spring-eyebrow{font-size:15px;margin-bottom:19px}.spring-hero .spring-note{font-size:35px;margin-top:12px}.svs-spring .spring-intro{font-size:18px;margin-top:27px}.spring-actions{gap:20px;margin-top:25px}.spring-button{font-size:14px;min-height:51px;padding:13px 20px;gap:19px}.spring-text-link{font-size:15px}.spring-hero>figure{height:415px;border-radius:140px 25px 25px 35px}.spring-hero>figure img{object-position:center}.spring-heading{display:block}.spring-heading .spring-note{font-size:35px;margin:22px 0 4px 22px}.svs-spring .spring-section-intro{font-size:18px;margin-top:22px}.spring-section-intro br{display:none}.spring-trio{grid-template-columns:1fr;gap:29px;margin-top:28px}.spring-photo>img,.spring-activity img{aspect-ratio:1.4;border-radius:80px 30px 55px 30px}.spring-photo figcaption,.spring-activity summary>span{font-size:25px;margin-top:14px}.spring-reset .spring-photo figcaption{text-align:left;margin-left:10px}.spring-movement{display:block}.spring-movement .spring-heading h2{font-size:clamp(30px,8.6vw,45px)}.spring-movement .spring-note{font-size:35px;margin-top:21px}.spring-movement__big>img{aspect-ratio:1.4}.spring-movement__side{margin-top:28px;gap:27px;padding:0}.spring-movement__side .spring-photo>img{aspect-ratio:1.4}.spring-movement__side .spring-photo figcaption{font-size:25px}.spring-energy .spring-photo>img{border-radius:70px 35px 55px 35px}.spring-parents h2{font-size:clamp(25px,7.2vw,42px)}.spring-parents .spring-section-intro{margin-top:20px}.spring-parent-cards article img{aspect-ratio:1.5;border-radius:35px}.spring-parent-cards h3{font-size:25px;margin-top:20px}.spring-parent-cards p{font-size:18px}.spring-parent-cards .spring-button{font-size:14px;padding:13px 20px}.spring-choice{grid-template-columns:1fr;gap:25px;margin-top:29px}.spring-shift-card{padding:25px 22px 22px;border-radius:27px}.spring-shift-card h3{font-size:28px}.spring-shift-card p{font-size:17px}.spring-shift-card p br{display:none}.spring-shift-card img{height:auto;aspect-ratio:1.4;min-height:0;border-radius:65px 25px 40px 25px}.spring-questions>h3{font-size:26px}.spring-faq summary{font-size:17px;min-height:89px;gap:18px}.spring-faq p{font-size:16px;padding-right:0}.spring-finale{grid-template-columns:1fr;gap:28px;margin-top:57px;padding:29px 20px;border-radius:33px}.spring-finale__story h2{font-size:clamp(30px,8vw,47px)}.spring-finale__story .spring-note{font-size:36px;margin:15px 0 8px}.spring-finale__story>p{font-size:17px}.spring-finale__story>p br{display:none}.spring-finale__story img{height:auto;aspect-ratio:1.3;border-radius:65px 25px 25px 25px}.spring-form-card{padding:26px 20px;border-radius:26px}.spring-form-card h3{font-size:25px}.spring-form-card button{font-size:14px;gap:15px}}
@media(prefers-reduced-motion:reduce){.spring-button,.spring-activity .arrow,.spring-faq summary>span{transition:none}}

/* Approved spring programme: shared photo columns in both middle sections.
   Scoped to the new blocks because winter also loads the spring stylesheet. */
.svs-spring .spring-program{position:relative;isolation:isolate}
.svs-spring .spring-program__header{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:end;gap:32px;margin-bottom:32px}
.svs-spring .spring-program__heading{display:flex;align-items:end;gap:22px;min-width:0}
.svs-spring .spring-program h2{font-size:clamp(32px,3.8vw,58px);line-height:1.04;letter-spacing:-.06em}
.svs-spring .spring-program__heading h2{flex:none}
.svs-spring .spring-program__header .spring-note{flex:none;margin-bottom:7px;padding:8px 14px 11px;font-size:clamp(29px,2.55vw,38px);white-space:nowrap;transform:rotate(-6deg)}
.svs-spring .spring-program__intro{max-width:470px;font-size:clamp(18px,1.65vw,24px);line-height:1.4;padding-bottom:4px}
.svs-spring .spring-program__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}
.svs-spring .spring-program__card{min-width:0}
.svs-spring .spring-program__card img{width:100%;height:auto;aspect-ratio:1.67;object-fit:cover;object-position:center;border-radius:24px}
.svs-spring .spring-program__card h3{margin-top:15px;font-size:clamp(22px,2.1vw,30px);line-height:1.15;letter-spacing:-.045em}
.svs-spring .spring-program__card p{margin-top:8px;font-size:clamp(17px,1.4vw,20px);line-height:1.45;max-width:660px}
.svs-spring .spring-program__tail{margin-top:28px}
.svs-spring .spring-program__tail>p{font-size:clamp(18px,1.7vw,24px);line-height:1.4}
.svs-spring .spring-program__tail>.spring-footnote{font-size:14px;line-height:1.5;margin-top:6px;color:#607065}
.svs-spring .spring-program--creative{margin-top:48px;padding-block:34px 30px}
.svs-spring .spring-program--creative::before{content:"";position:absolute;inset:0 -20px;z-index:-1;border-radius:28px;background:#fffbe7;pointer-events:none}
.svs-spring .spring-program--creative .spring-program__header{display:flex;align-items:end;justify-content:flex-start;flex-wrap:wrap;gap:22px 32px}
.svs-spring .spring-program--creative .spring-program__header .spring-note{margin-left:0;margin-bottom:12px}
.svs-spring .spring-program--creative .spring-program__tail{margin-top:24px}
@media(max-width:1200px){
  .svs-spring .spring-program__header{grid-template-columns:1fr;gap:22px}
  .svs-spring .spring-program__intro{max-width:770px;padding-bottom:0;font-size:20px}
  .svs-spring .spring-program__heading{gap:28px}
  .svs-spring .spring-program__heading h2{flex:0 1 auto}
  .svs-spring .spring-program__header .spring-note{font-size:34px}
  .svs-spring .spring-program--creative .spring-program__header{gap:22px 28px}
}
@media(max-width:700px){
  .svs-spring .spring-program__header{gap:20px;margin-bottom:24px}
  .svs-spring .spring-program__heading{display:flex;flex-wrap:wrap;gap:16px}
  .svs-spring .spring-program h2{font-size:clamp(28px,8vw,44px);letter-spacing:-.065em;overflow-wrap:normal}
  .svs-spring .spring-program--creative h2{font-size:clamp(21px,6.7vw,44px)}
  .svs-spring .spring-program__header .spring-note{font-size:31px;margin:0 0 5px 3px;max-width:calc(100% - 6px)}
  .svs-spring .spring-program__intro{font-size:18px;line-height:1.45}
  .svs-spring .spring-program__grid{grid-template-columns:1fr;gap:28px}
  .svs-spring .spring-program__card img{aspect-ratio:1.67;border-radius:24px}
  .svs-spring .spring-program__card h3{font-size:23px;line-height:1.18;margin-top:14px}
  .svs-spring .spring-program__card p{font-size:17px;margin-top:8px}
  .svs-spring .spring-program__tail{margin-top:25px}
  .svs-spring .spring-program__tail>p{font-size:18px;line-height:1.45}
  .svs-spring .spring-program__tail>.spring-footnote{font-size:13px;margin-top:8px}
  .svs-spring .spring-program--creative{margin-top:38px;padding-block:27px}
  .svs-spring .spring-program--creative::before{inset:0 -8px;border-radius:24px}
  .svs-spring .spring-program--creative .spring-program__header{display:flex;gap:20px}
  .svs-spring .spring-program--creative .spring-program__header .spring-note{margin:0 0 5px 3px}
}

/* Keep the picture wrapper neutral so responsive source selection cannot change the layout. */
.svs-spring .spring-image{display:contents}

/* The story photo fills the remaining space beside the enquiry form. */
.svs-spring .spring-finale__story{display:flex;flex-direction:column;min-width:0}
.svs-spring .spring-finale__story>.spring-image{display:block;position:relative;flex:1;min-height:300px;overflow:hidden;border-radius:100px 36px 36px 36px}
.svs-spring .spring-finale__story>.spring-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:0}
@media(max-width:1100px){.svs-spring .spring-finale__story>.spring-image{border-top-left-radius:70px}}
@media(max-width:700px){.svs-spring .spring-finale__story>.spring-image{flex:none;min-height:0;aspect-ratio:1.3;border-radius:65px 25px 25px 25px}}
