/* Shared Outcome Stories. Upcoming cards are visibly pending, never fake testimonials. */
.pupil-outcomes-v2{--pupil-outcomes-ink:#1a1a1a;--pupil-outcomes-paper:#f9f9f0;padding:clamp(56px,6vw,96px) var(--page-gutter,5.6vw);background:var(--cream,#f9f9f0);color:var(--pupil-outcomes-ink)}
.pupil-outcomes-v2 .pupil-outcomes-top,.pupil-outcomes-v2 .outcomes-heading{max-width:1320px;margin:0 auto 36px}
.pupil-outcomes-v2 .pupil-outcomes-top .display-heading,.pupil-outcomes-v2 .outcomes-heading .display-heading{font:400 clamp(36px,4.5vw,64px)/1.1 var(--font,Inter,Arial,sans-serif);letter-spacing:-.035em;margin:18px 0 0;max-width:1000px}
.pupil-outcomes-v2 .section-kicker{font-size:12px;letter-spacing:.09em}
.pupil-outcomes-v2 .pupil-outcomes-intro,.pupil-outcomes-v2 .outcomes-note{font-size:15px;line-height:1.6;margin:15px 0 0;color:#484840}
.pupil-outcomes-v2 .pupil-outcomes-grid,.pupil-outcomes-v2 .outcome-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1120px;width:100%;margin:0 auto;padding:0;overflow:visible;outline-offset:6px}
.pupil-outcomes-v2 .pupil-outcomes-grid[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}
.pupil-outcomes-v2 .pupil-outcomes-grid[data-count="4"],.pupil-outcomes-v2 .outcome-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1320px}
.pupil-outcomes-v2 .pupil-outcome-card{position:relative;min-width:0;border-radius:16px;overflow:hidden;background:var(--story-color,var(--yellow,#ffdc7e));color:var(--pupil-outcomes-ink);isolation:isolate}
.pupil-outcomes-v2 .pupil-tone-yellow{--story-color:#ffdc7e}.pupil-outcomes-v2 .pupil-tone-sage{--story-color:#d6deb9}.pupil-outcomes-v2 .pupil-tone-terracotta{--story-color:#de8a74}.pupil-outcomes-v2 .pupil-tone-blue{--story-color:#b0cde4}
.pupil-outcomes-v2 .pupil-outcome-upcoming,.pupil-outcomes-v2 .outcome-card{aspect-ratio:9/16;max-height:560px;border-radius:16px}
.pupil-outcomes-v2 .pupil-outcome-upcoming .pupil-outcome-photo{position:absolute;inset:0;overflow:hidden}
.pupil-outcomes-v2 .pupil-outcome-photo img{display:block;width:100%;height:100%;object-fit:cover}
.pupil-outcomes-v2 .pupil-outcome-upcoming .pupil-outcome-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.3));pointer-events:none}
.pupil-outcomes-v2 .pupil-outcome-title,.pupil-outcomes-v2 .outcome-card h3{position:absolute;z-index:2;bottom:20px;left:18px;right:18px;width:fit-content;max-width:calc(100% - 36px);margin:0;padding:9px 12px;border-radius:6px;background:var(--story-color,var(--yellow,#ffdc7e));color:var(--pupil-outcomes-ink);font:400 clamp(22px,2.1vw,30px)/1.15 var(--font,Inter,Arial,sans-serif);letter-spacing:-.03em;text-wrap:balance;pointer-events:none}
.pupil-outcomes-v2 .pupil-outcome-pending{position:absolute;z-index:3;left:18px;top:18px;padding:8px 12px;border-radius:99px;background:var(--pupil-outcomes-paper);color:var(--pupil-outcomes-ink);font:500 12px/1.4 var(--font,Inter,Arial,sans-serif);pointer-events:none}
/* Restore the approved coloured photograph pivot on the homepage. */
.pupil-outcomes-v2 .outcome-card .outcome-photo{transform-origin:100% 0;transition:transform .6s var(--motion-ease,cubic-bezier(.2,.8,.2,1))}
/* All cards remain closed/flush until a hover, keyboard focus or mobile tap. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .pupil-outcomes-v2 .outcome-card:hover .outcome-photo,.pupil-outcomes-v2 .outcome-card:has(.outcome-open:focus-visible) .outcome-photo{transform:rotate(-16.23deg)}
}
.pupil-outcomes-v2 .outcome-card .outcome-photo>img{scale:1}
.pupil-outcomes-v2 .outcome-card .outcome-play{width:58px;box-shadow:0 3px 18px rgba(0,0,0,.12)}
.pupil-outcomes-v2 .pupil-outcome-approved{display:flex;flex-direction:column;background:var(--pupil-outcomes-paper);border:1px solid rgba(26,26,26,.18)}
.pupil-outcomes-v2 .pupil-outcome-approved .pupil-outcome-photo{aspect-ratio:4/5;max-height:400px;overflow:hidden;background:var(--blue,#b0cde4)}
.pupil-outcomes-v2 .pupil-outcome-text{padding:24px;display:flex;flex-direction:column;flex:1}
.pupil-outcomes-v2 .pupil-outcome-tag{font-size:12px;line-height:1.5;text-transform:uppercase;letter-spacing:.07em;font-weight:600}
.pupil-outcomes-v2 .pupil-outcome-text blockquote{margin:16px 0 24px;font-size:clamp(18px,1.6vw,24px);line-height:1.5;letter-spacing:-.02em}
.pupil-outcomes-v2 .pupil-outcome-credit{font-size:14px;font-weight:600;margin-top:auto;line-height:1.5}
.pupil-outcomes-v2 .pupil-outcome-context{font-size:13px;color:#484840;margin-top:8px}
.pupil-outcomes-v2 .pupil-outcome-video{font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px;margin-top:18px;min-height:44px;display:inline-flex;align-items:center;gap:10px}
.pupil-outcomes-v2 .pupil-outcome-video-note{font-size:13px;line-height:1.5;margin-top:16px;color:#484840}
.pupil-outcomes-v2 .pupil-outcomes-controls{max-width:1320px;margin:22px auto 0;display:flex;justify-content:flex-end;gap:10px}
.pupil-outcomes-v2 .pupil-outcomes-controls[hidden]{display:none}
.pupil-outcomes-v2 .pupil-outcomes-controls button,.pupil-outcomes-v2 .outcome-controls button{width:44px;height:44px;min-width:44px;min-height:44px}
.pupil-outcomes-v2 .pupil-outcomes-controls button:disabled{opacity:.4;cursor:default}
.pupil-outcomes-v2 .outcomes-footer{max-width:1320px;margin:24px auto 0}
body.motion-ready .pupil-outcomes-v2 .pupil-outcome-card.motion-armed{opacity:0;transform:translateY(16px)}
body.motion-ready .pupil-outcomes-v2 .pupil-outcome-card.motion-entered{opacity:1;transform:none;transition:opacity 600ms cubic-bezier(.2,.8,.2,1),transform 600ms cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--pupil-card-index,0)*60ms)}
@media(max-width:900px){
 .pupil-outcomes-v2 .pupil-outcomes-grid,.pupil-outcomes-v2 .pupil-outcomes-grid[data-count],.pupil-outcomes-v2 .outcome-grid{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;margin:0;max-width:none;padding:0 0 16px;scroll-behavior:smooth;overscroll-behavior-inline:contain}
 .pupil-outcomes-v2 .pupil-outcome-card,.pupil-outcomes-v2 .outcome-card{flex:0 0 min(44vw,330px);scroll-snap-align:start;min-width:0}
 .pupil-outcomes-v2 .outcome-controls{display:flex}
}
@media(max-width:600px){
 .pupil-outcomes-v2{padding:56px 24px 48px}
 .pupil-outcomes-v2 .pupil-outcomes-top,.pupil-outcomes-v2 .outcomes-heading{margin-bottom:28px}
 .pupil-outcomes-v2 .pupil-outcomes-top .display-heading,.pupil-outcomes-v2 .outcomes-heading .display-heading{font-size:clamp(34px,9vw,48px)}
 .pupil-outcomes-v2 .pupil-outcome-card,.pupil-outcomes-v2 .outcome-card{flex-basis:min(78vw,330px)}
 .pupil-outcomes-v2 .pupil-outcomes-grid,.pupil-outcomes-v2 .pupil-outcomes-grid[data-count],.pupil-outcomes-v2 .outcome-grid{gap:16px}
 .pupil-outcomes-v2 .pupil-outcome-title,.pupil-outcomes-v2 .outcome-card h3{font-size:25px}
 .pupil-outcomes-v2 .pupil-outcome-text{padding:20px}
}
.editor-styles-wrapper .pupil-outcomes-v2 .pupil-outcome-card{opacity:1;transform:none;animation:none}
.editor-styles-wrapper .pupil-outcomes-v2 .pupil-outcome-photo img{cursor:pointer}
.editor-styles-wrapper .pupil-outcomes-v2 .pupil-outcome-photo img:focus{outline:3px solid #215173;outline-offset:-6px}
@media(prefers-reduced-motion:reduce){
 body .pupil-outcomes-v2 .pupil-outcome-card{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}
 .pupil-outcomes-v2 .pupil-outcomes-grid,.pupil-outcomes-v2 .outcome-grid{scroll-behavior:auto}
}

/* v0.4.3: Restore the original tilted photograph cards and an honest play state. */
.pupil-outcomes-v2 .pupil-outcome-upcoming .pupil-outcome-photo{transform-origin:100% 0;transition:transform .6s var(--motion-ease,cubic-bezier(.2,.8,.2,1))}
/* The inner-page cards share the homepage resting state. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .pupil-outcomes-v2 .pupil-outcome-upcoming:hover .pupil-outcome-photo,
 .pupil-outcomes-v2 .pupil-outcome-upcoming:has(.pupil-outcome-watch:focus-visible) .pupil-outcome-photo{transform:rotate(-16.23deg)}
}
.pupil-outcomes-v2 .pupil-outcome-pending{left:auto;right:16px;top:16px;padding:7px 11px;background:rgba(249,249,240,.9);font-size:11px}
.pupil-outcomes-v2 .pupil-outcome-watch{position:absolute;inset:0;z-index:3;display:grid;place-items:center;text-decoration:none;color:#1a1a1a;cursor:pointer;border-radius:inherit}
.pupil-outcomes-v2 .pupil-outcome-play,
.pupil-outcomes-v2 .pupil-outcome-editor-play{display:grid;place-items:center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(60px,5vw,76px);height:clamp(60px,5vw,76px);border-radius:50%;background:#f9f9f0;box-shadow:0 5px 28px rgba(0,0,0,.18);font:400 21px/1 Inter,Arial,sans-serif;text-indent:3px;transition:background .25s ease,scale .25s ease}
.pupil-outcomes-v2 .pupil-outcome-watch:hover .pupil-outcome-play{background:var(--story-color,#ffdc7e);scale:1.07}
.pupil-outcomes-v2 .pupil-outcome-watch:focus-visible{outline:3px solid #1a1a1a;outline-offset:-7px}
.pupil-outcomes-v2 .outcome-card:has(.outcome-open) .outcome-photo{will-change:transform}
@media(prefers-reduced-motion:reduce){
 .pupil-outcomes-v2 .outcome-card .outcome-photo,
 .pupil-outcomes-v2 .pupil-outcome-upcoming .pupil-outcome-photo,
 .pupil-outcomes-v2 .outcome-card:hover .outcome-photo,
 .pupil-outcomes-v2 .pupil-outcome-upcoming:hover .pupil-outcome-photo{transform:none!important;transition:none!important}
}

/* v0.4.4: embedded YouTube/Vimeo/HTML5 player remains inside the original card. */
.pupil-outcomes-v2 .pupil-inline-play{font:inherit;border:0;color:inherit;background:transparent;cursor:pointer}
.pupil-outcomes-v2 .outcome-card>.pupil-inline-play,
.pupil-outcomes-v2 .pupil-outcome-upcoming>.pupil-inline-play{position:absolute;inset:0;z-index:4;display:grid;place-items:center;width:100%;height:100%;border-radius:inherit}
.pupil-outcomes-v2 .pupil-inline-play:focus-visible{outline:3px solid #1a1a1a;outline-offset:-7px}
.pupil-outcomes-v2 .pupil-outcome-approved .pupil-outcome-video{align-self:flex-start;color:inherit;cursor:pointer;padding:8px 0;border:0;background:transparent}
.pupil-outcomes-v2 .pupil-inline-playing .outcome-photo,
.pupil-outcomes-v2 .pupil-inline-playing .pupil-outcome-photo,
.pupil-outcomes-v2 .pupil-inline-playing:hover .outcome-photo,
.pupil-outcomes-v2 .pupil-inline-playing:hover .pupil-outcome-photo{transform:none!important;transition:none!important}
.pupil-outcomes-v2 .pupil-inline-playing .outcome-photo:after,
.pupil-outcomes-v2 .pupil-inline-playing .pupil-outcome-photo:after{display:none!important}
.pupil-outcomes-v2 .pupil-inline-playing .outcome-photo>img,
.pupil-outcomes-v2 .pupil-inline-playing .pupil-outcome-photo>img{visibility:hidden}
.pupil-outcomes-v2 .pupil-inline-playing>.pupil-inline-play,
.pupil-outcomes-v2 .pupil-inline-playing>.pupil-outcome-title,
.pupil-outcomes-v2 .pupil-inline-playing>.pupil-outcome-pending,
.pupil-outcomes-v2 .pupil-inline-playing>.pupil-outcome-video{display:none!important}
.pupil-outcomes-v2 .pupil-inline-player{position:absolute;z-index:7;inset:0;background:#101010;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:inherit}
.pupil-outcomes-v2 .pupil-inline-player-media{display:block;width:100%;height:100%;border:0;object-fit:contain;background:#101010}
.pupil-outcomes-v2 .pupil-inline-close{position:absolute;z-index:8;top:10px;right:10px;width:44px;height:44px;border:1px solid rgba(0,0,0,.1);border-radius:100%;background:rgba(249,249,240,.98);color:#1a1a1a;display:grid;place-items:center;font:400 30px/1 Inter,Arial,sans-serif;box-shadow:0 2px 15px rgba(0,0,0,.3);cursor:pointer}
.pupil-outcomes-v2 .pupil-inline-close:focus-visible{outline:3px solid #ffdc7e;outline-offset:2px}
/* The photographic cover is removed from view only while an actual player is present. */
@media (prefers-reduced-motion:reduce){.pupil-outcomes-v2 .pupil-inline-player,.pupil-outcomes-v2 .pupil-inline-close{animation:none!important;transition:none!important}}
.pupil-outcomes-v2 .pupil-inline-playing.outcome-card>h3,
.pupil-outcomes-v2 .pupil-inline-playing .pupil-outcome-text .pupil-outcome-video{display:none!important}

.pupil-outcomes-v2 .pupil-outcome-approved .pupil-outcome-photo{position:relative}


/* v0.4.10: one resting state and one visual play language across Home and inner pages.
   A play-shaped cue can be shown for a pending card, but it is NOT an interactive control. */
.pupil-outcomes-v2 .outcome-card .outcome-photo,
.pupil-outcomes-v2 .pupil-outcome-upcoming .pupil-outcome-photo{transform:rotate(0deg)}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .pupil-outcomes-v2 .outcome-card:not(.pupil-inline-playing):hover .outcome-photo,
 .pupil-outcomes-v2 .pupil-outcome-upcoming:not(.pupil-inline-playing):hover .pupil-outcome-photo,
 .pupil-outcomes-v2 .outcome-card:has(.pupil-inline-play:focus-visible) .outcome-photo,
 .pupil-outcomes-v2 .pupil-outcome-upcoming:has(.pupil-inline-play:focus-visible) .pupil-outcome-photo{
  transform:rotate(-16.23deg);
 }
}
@media (hover:none) and (prefers-reduced-motion:no-preference){
 .pupil-outcomes-v2 .outcome-card.pupil-card-open:not(.pupil-inline-playing) .outcome-photo,
 .pupil-outcomes-v2 .pupil-outcome-upcoming.pupil-card-open:not(.pupil-inline-playing) .pupil-outcome-photo{
  transform:rotate(-16.23deg);
 }
}
.pupil-outcomes-v2 .pupil-outcome-placeholder-play{
 position:absolute;z-index:3;top:50%;left:50%;transform:translate(-50%,-50%);
 display:grid;place-items:center;width:clamp(60px,5vw,76px);height:clamp(60px,5vw,76px);
 border-radius:50%;background:var(--cream,#f9f9f0);color:var(--ink,#1a1a1a);
 box-shadow:0 5px 28px rgba(0,0,0,.18);font:400 21px/1 var(--font,Inter,Arial,sans-serif);
 text-indent:3px;pointer-events:none;opacity:.9;
}
.pupil-outcomes-v2 .pupil-inline-playing > .pupil-outcome-placeholder-play{display:none!important}
@media(prefers-reduced-motion:reduce){
 .pupil-outcomes-v2 .outcome-card .outcome-photo,
 .pupil-outcomes-v2 .pupil-outcome-upcoming .pupil-outcome-photo{transform:none!important;transition:none!important}
}
