/* Youth League — /youth-league/
   Owned by the Who We Are parity session. Loaded by youth_league.html through
   {% block page_css %}, so it lands after plu.css, which is the same order the
   legacy site loads it in: plu-core/assets/youth-page.css over the theme.

   Copied verbatim from that stylesheet. Two rules in it are inert here and are
   kept only so the rule sets still compare equal: `.plu-youth-route .plu-page`
   targets the generic page wrapper WordPress renders around the shortcode, and
   the designed view has no such wrapper. */
.plu-youth-route .plu-page>.plu-page-hero { display:none; }
.plu-youth-route .plu-page>.plu-section { width:auto; max-width:none; padding:0; }
.plu-youth-page { --plu-youth-gutter:max(24px,calc((100vw - 1240px)/2)); background:#f4f4f1; color:#090909; }
.plu-youth-hero { min-height:620px; display:flex; align-items:flex-end; background-image:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.54) 48%,rgba(0,0,0,.08) 80%),var(--plu-banner-image,var(--plu-youth-image)); background-size:cover; background-position:var(--plu-banner-x,center) var(--plu-banner-y,center); }
.plu-youth-hero>div { width:min(1240px,calc(100% - 48px)); margin:0 auto; padding:90px 0; color:#fff; }
.plu-youth-hero p,.plu-youth-programmes>header>p,.plu-youth-pathways>header>p,.plu-youth-pathways__intro>header>p,.plu-youth-intro>div>p { margin:0 0 14px; color:#f5d500; font-size:13px; font-weight:900; text-transform:uppercase; }
.plu-youth-hero h1 { max-width:790px; margin:0; font-size:clamp(48px,6vw,86px); line-height:1.02; font-weight:900; }
.plu-youth-hero div>span { max-width:700px; margin-top:26px; display:block; font-size:19px; line-height:1.65; }
.plu-youth-content { width:100%; margin:0; padding:0; }
.plu-youth-intro { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; padding:72px var(--plu-youth-gutter); align-items:start; }
.plu-youth-intro h2,.plu-youth-programmes h2,.plu-youth-pathways h2 { margin:0; font-size:clamp(34px,4vw,54px); line-height:1.12; }
.plu-youth-intro>p { margin:0; font-size:21px; line-height:1.75; }
.plu-youth-forum { display:grid; grid-template-columns:1fr 260px; background:#050505; color:#fff; border-top:7px solid #f5d500; }
.plu-youth-forum>div { padding:55px max(60px,var(--plu-youth-gutter)); }
.plu-youth-forum>div>span { color:#f5d500; font-size:13px; font-weight:900; text-transform:uppercase; }
.plu-youth-forum h2 { margin:14px 0 0; font-size:40px; }
.plu-youth-forum p { max-width:800px; margin:20px 0 0; color:rgba(255,255,255,.78); font-size:17px; line-height:1.75; }
.plu-youth-forum>strong { padding:42px; display:flex; flex-direction:column; justify-content:center; background:#f5d500; color:#050505; }
.plu-youth-forum>strong b { font-size:58px; line-height:1; }
.plu-youth-forum>strong span { margin-top:14px; font-size:15px; line-height:1.5; text-transform:uppercase; }
.plu-youth-programmes { padding:88px var(--plu-youth-gutter); }
.plu-youth-programmes>header { max-width:760px; }
.plu-youth-programmes>header>span { margin-top:20px; display:block; font-size:18px; line-height:1.7; }
.plu-youth-programmes>div { margin-top:42px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #ccc; border-left:1px solid #ccc; }
.plu-youth-programmes article { min-height:320px; padding:30px; background:#fff; border-right:1px solid #ccc; border-bottom:1px solid #ccc; }
.plu-youth-programmes article>header { display:flex; justify-content:space-between; align-items:flex-start; }
.plu-youth-programmes article>header span { width:58px; height:58px; display:grid; place-items:center; background:#f5d500; }
.plu-youth-programmes article svg { width:31px; height:31px; }
.plu-youth-programmes article b { color:#d2d2d2; font-size:30px; }
.plu-youth-programmes h3 { margin:26px 0 0; font-size:22px; line-height:1.25; }
.plu-youth-programmes article p { margin:14px 0 0; color:#4d4d4d; font-size:15px; line-height:1.7; }
.plu-youth-pathways { padding:65px var(--plu-youth-gutter); display:grid; grid-template-columns:.75fr 1.25fr; gap:70px; background:#fff; }
.plu-youth-pathways ol { margin:0; padding:0; list-style:none; counter-reset:pathway; }
.plu-youth-pathways li { position:relative; padding:0 0 28px 72px; border-bottom:1px solid #ddd; counter-increment:pathway; }
.plu-youth-pathways li+li { padding-top:28px; }
.plu-youth-pathways li::before { position:absolute; top:0; left:0; content:counter(pathway,decimal-leading-zero); color:#df2029; font-size:18px; font-weight:900; }
.plu-youth-pathways li+li::before { top:28px; }
.plu-youth-pathways h3 { margin:0; font-size:22px; }
.plu-youth-pathways li p { margin:8px 0 0; color:#555; line-height:1.6; }
.plu-youth-pathways__intro figure{position:relative;max-width:430px;margin:34px 0 0;overflow:hidden;aspect-ratio:4/5;background:#111}.plu-youth-pathways__intro figure img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 32%}.plu-youth-pathways__intro figcaption{position:absolute;right:16px;bottom:16px;left:16px;padding:14px 16px;background:rgba(0,0,0,.78);color:#fff;font-size:13px;font-weight:700;line-height:1.5}
.plu-youth-cta { margin-top:0; padding:52px var(--plu-youth-gutter); display:flex; align-items:center; justify-content:space-between; gap:40px; background:#df2029; color:#fff; }
.plu-youth-cta h2 { margin:0; font-size:36px; }
.plu-youth-cta p { max-width:720px; margin:12px 0 0; line-height:1.65; }
.plu-youth-cta a { flex:0 0 auto; padding:16px 22px; color:#050505; background:#f5d500; font-weight:900; text-decoration:none; }
@media(max-width:900px){.plu-youth-programmes>div{grid-template-columns:repeat(2,minmax(0,1fr))}.plu-youth-intro,.plu-youth-pathways{grid-template-columns:1fr}.plu-youth-forum{grid-template-columns:1fr 190px}}
@media(max-width:650px){.plu-youth-page{--plu-youth-gutter:20px}.plu-youth-hero{min-height:540px;background-image:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.12) 75%),var(--plu-banner-image,var(--plu-youth-image));background-position:center}.plu-youth-hero>div{width:calc(100% - 40px);padding:48px 0}.plu-youth-hero h1{font-size:43px}.plu-youth-content{width:100%;padding:0}.plu-youth-intro{gap:24px;padding:48px var(--plu-youth-gutter)}.plu-youth-intro>p{font-size:17px}.plu-youth-forum{grid-template-columns:1fr}.plu-youth-forum>div{padding:34px var(--plu-youth-gutter)}.plu-youth-forum>strong{padding:25px var(--plu-youth-gutter);flex-direction:row;align-items:center;justify-content:flex-start;gap:18px}.plu-youth-forum>strong b{font-size:40px}.plu-youth-forum>strong span{margin:0}.plu-youth-programmes{padding:58px var(--plu-youth-gutter)}.plu-youth-programmes>div{grid-template-columns:1fr}.plu-youth-programmes article{min-height:0;padding:25px}.plu-youth-pathways{padding:42px var(--plu-youth-gutter);gap:35px}.plu-youth-cta{padding:36px var(--plu-youth-gutter);align-items:flex-start;flex-direction:column}.plu-youth-cta h2{font-size:30px}.plu-youth-cta a{width:100%;text-align:center}}

/* Editorial Youth League refresh */
.plu-youth-page{--plu-youth-gutter:max(24px,calc((100vw - 1240px)/2));letter-spacing:0}.plu-youth-hero{position:relative;min-height:calc(100svh - 92px);overflow:hidden}.plu-youth-hero:after{position:absolute;inset:auto 0 0;height:7px;content:"";background:linear-gradient(90deg,#090909 0 33.333%,#f4d900 33.333% 66.666%,#d61f2c 66.666%)}.plu-youth-hero>div{position:relative;z-index:2;padding:100px 0 78px}.plu-youth-hero nav{display:flex;gap:12px;margin-top:30px}.plu-youth-hero nav a{padding:13px 17px;border:1px solid rgba(255,255,255,.5);color:#fff;font-size:14px;font-weight:800;text-decoration:none}.plu-youth-hero nav a:first-child{background:#f4d900;border-color:#f4d900;color:#050505}.plu-youth-hero>aside{position:absolute;right:-12px;bottom:18px;color:rgba(255,255,255,.12);font-weight:900;line-height:.75;text-align:right;pointer-events:none}.plu-youth-hero>aside b{display:block;font-size:clamp(100px,16vw,240px)}.plu-youth-hero>aside span{font-size:clamp(38px,6vw,82px)}
.plu-youth-signals{display:grid;grid-template-columns:repeat(4,1fr);padding:0 var(--plu-youth-gutter) 80px}.plu-youth-signals>div{min-height:128px;padding:25px;border-top:1px solid #bdbdb8;border-bottom:1px solid #bdbdb8;border-right:1px solid #bdbdb8}.plu-youth-signals>div:first-child{border-left:1px solid #bdbdb8}.plu-youth-signals strong{display:block;font-size:29px;line-height:1}.plu-youth-signals span{display:block;margin-top:13px;color:#555;font-size:13px;line-height:1.4;text-transform:uppercase}
.plu-youth-action{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);background:#0a0a0a;color:#fff}.plu-youth-action__media{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;min-height:700px}.plu-youth-action__media figure{position:relative;grid-row:1/3;margin:0;overflow:hidden}.plu-youth-action__media img{width:100%;height:100%;min-height:0;display:block;object-fit:cover}.plu-youth-action__media figcaption{position:absolute;right:22px;bottom:22px;left:22px;padding:16px 18px;background:rgba(0,0,0,.78);font-size:13px;line-height:1.5}.plu-youth-action__story{padding:68px 55px;align-self:center}.plu-youth-action__story>span{color:#f4d900;font-size:12px;font-weight:900;text-transform:uppercase}.plu-youth-action__story h2{margin:15px 0 0;font-size:clamp(36px,4vw,58px);line-height:1.03}.plu-youth-action__story p{margin:25px 0 0;color:#c9c9c9;font-size:17px;line-height:1.7}.plu-youth-action__story blockquote{margin:32px 0;padding:4px 0 4px 22px;border-left:4px solid #f4d900;color:#fff;font-size:20px;font-weight:700;line-height:1.5}.plu-youth-action__story a{color:#f4d900;font-size:14px;font-weight:800;text-decoration:none}.plu-youth-forum{background:#fff;color:#090909;border-top:0;border-bottom:1px solid #ccc}.plu-youth-forum>div>span{color:#c81d29}.plu-youth-forum p{color:#444}.plu-youth-programmes article{transition:transform .2s,box-shadow .2s}.plu-youth-programmes article:hover{position:relative;z-index:2;transform:translateY(-5px);box-shadow:0 18px 35px rgba(0,0,0,.11)}
@media(max-width:1000px){.plu-youth-action{grid-template-columns:1fr}.plu-youth-action__media{min-height:580px}.plu-youth-action__story{padding:55px var(--plu-youth-gutter)}.plu-youth-signals{grid-template-columns:repeat(2,1fr)}.plu-youth-signals>div:nth-child(3){border-left:1px solid #bdbdb8}.plu-youth-signals>div{border-top:0}.plu-youth-signals>div:nth-child(-n+2){border-top:1px solid #bdbdb8}}
@media(max-width:650px){.plu-youth-hero{min-height:620px}.plu-youth-hero>div{padding:55px 0}.plu-youth-hero h1{font-size:40px;line-height:1.02;overflow-wrap:anywhere}.plu-youth-hero div>span{font-size:16px;line-height:1.55}.plu-youth-hero nav{align-items:stretch;flex-direction:column}.plu-youth-hero nav a{text-align:center}.plu-youth-hero>aside{display:none}.plu-youth-signals{grid-template-columns:1fr;padding:0 var(--plu-youth-gutter) 55px}.plu-youth-signals>div,.plu-youth-signals>div:nth-child(3){min-height:0;border:1px solid #bdbdb8;border-bottom:0}.plu-youth-signals>div:last-child{border-bottom:1px solid #bdbdb8}.plu-youth-action__media{grid-template-columns:1fr 1fr;grid-template-rows:330px 170px;min-height:0}.plu-youth-action__media figure{grid-column:1/3;grid-row:auto}.plu-youth-action__media figcaption{display:none}.plu-youth-action__story{padding:42px var(--plu-youth-gutter)}.plu-youth-action__story h2{font-size:36px}.plu-youth-action__story blockquote{font-size:18px}.plu-youth-pathways__intro figure{width:100%;max-width:none;margin-top:28px}.plu-youth-pathways__intro figcaption{right:12px;bottom:12px;left:12px}}
