.case-page .case-hero{position:relative;text-align:center;padding:39px 0 30px;isolation:isolate}
.case-page .case-hero:before{content:'';position:absolute;inset:10px 0 auto;height:185px;background:linear-gradient(174deg,transparent 35%,#f1fbfe 36%,#f8fdff 58%,transparent 59%);z-index:-1;pointer-events:none}
.case-hero h1{font-size:clamp(43px,4.5vw,65px);line-height:1.04;margin-bottom:16px}
.case-hero h1 span{display:block}.case-hero .eyebrow{color:var(--link);margin-bottom:15px}
.case-hero .case-intro{font-size:16px;max-width:680px;margin:0 auto 16px}
.case-preview-note{max-width:780px;margin:0 auto;font-size:11px;line-height:1.6;color:#667088}
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 26px;padding:5px 0 25px}
.case-card{min-width:0}.case-category{margin:0 0 17px;padding:0 2px;min-height:80px;text-align:center}
.case-category h2{font-size:32px;line-height:1.13;margin:0 0 7px;letter-spacing:-.025em}
.case-category>p{font-size:13px;line-height:1.55;margin:0 auto;max-width:480px}
.case-shell{border:1px solid #e5edf2;border-radius:7px;overflow:hidden;background:white;box-shadow:0 3px 16px #10173903}
.case-stage{position:relative;isolation:isolate;aspect-ratio:8/5;min-height:330px;background:var(--navy);overflow:hidden}
.case-visual{position:absolute;inset:0}.case-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;opacity:1;transition:opacity .18s ease}
.case-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 33%,#10173940 57%,#101739eb 100%);pointer-events:none}
.case-demo{position:absolute;top:15px;left:16px;right:65px;font-size:9px;line-height:1.4;letter-spacing:.12em;font-weight:500;color:#fff;text-transform:uppercase;z-index:1;text-shadow:0 1px 5px #101739}
.case-metrics{position:absolute;bottom:24px;left:24px;right:72px;display:flex;gap:14px;color:white;z-index:1}
.case-metric{flex:1;min-width:0}.case-metric+.case-metric{border-left:1px solid #ffffff55;padding-left:18px}
.case-metric small{display:block;font-size:9px;line-height:1.5;text-transform:uppercase;letter-spacing:.09em;margin-bottom:5px;max-width:170px}
.case-metric strong{display:block;font:400 clamp(26px,2.8vw,40px)/1.05 VRDisplay,Georgia,serif;letter-spacing:-.03em;white-space:nowrap}
.case-arrow{position:absolute;z-index:2;top:43%;transform:translateY(-50%);width:40px;height:48px;border:1px solid #ffffff80;border-radius:5px;background:#10173966;color:white;font:30px/1 Arial,sans-serif;cursor:pointer;backdrop-filter:blur(6px);transition:background .2s}
.case-arrow:hover{background:var(--navy)}.case-prev{left:12px}.case-next{right:12px}.case-arrow:disabled{visibility:hidden;pointer-events:none}.case-pagination{display:flex;gap:6px;align-items:center;margin-top:10px;min-height:20px;padding:0 2px;font-size:11px;color:var(--body)}
.case-dot{width:28px;height:26px;border:0;background:none;cursor:pointer;padding:8px 4px;display:inline-flex;justify-content:center;align-items:center}
.case-dot:after{content:'';width:7px;height:7px;border:1px solid #9ca7bf;border-radius:50%}
.case-dot[aria-current=true]:after{background:var(--cyan);border-color:var(--cyan)}.case-pagination .case-count{margin-left:auto}
.case-story{position:absolute;inset:0;background:#101739eb;color:white;z-index:3;display:flex;flex-direction:column;padding:23px 25px 80px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .23s,transform .23s,visibility .23s}
.case-card.story-open .case-story{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.case-story-top{display:flex;gap:15px;align-items:center;justify-content:space-between;flex:0 0 auto;margin-bottom:9px}
.case-story-top span{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#b6eafb}.case-story-content{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#7694b8 transparent;padding-right:6px}
.case-story h3{font-size:31px;line-height:1.08;color:white;margin:0 0 12px;max-width:400px}
.case-story-intro{font-size:11px;line-height:1.6;color:#d4dded;margin-bottom:12px}
.case-story-list{margin:0;padding:0;list-style:none}.case-story-list li{font-size:12px;line-height:1.65;margin-bottom:10px;color:#e2e8f2}
.case-story-list strong{color:#78def5;font-weight:500}.case-story-footnote{font-size:9px;color:#c3cfdf;margin:15px 0 0;border-top:1px solid #ffffff33;padding-top:10px}
.case-page .conversion-block{margin-top:15px}.case-page .contact{padding-top:55px}
.case-page .nav>[aria-current=page]{color:var(--link);text-decoration:underline;text-underline-offset:7px}
@media(max-width:1100px){.case-page .nav{gap:18px}.case-metric strong{font-size:33px}.case-category h2{font-size:30px}}
@media(max-width:900px){.case-grid{gap:30px 20px}.case-metrics{left:18px;right:70px;gap:9px}.case-metric+.case-metric{padding-left:12px}.case-metric strong{font-size:29px}.case-metric small{font-size:8px;letter-spacing:.02em}.case-category{min-height:92px}.case-stage{min-height:340px}.case-story{padding:19px 17px 78px}.case-story h3{font-size:28px}}
@media(max-width:700px){.case-page .case-hero{padding:27px 0 28px}.case-hero h1{font-size:clamp(39px,8.5vw,57px)}.case-hero .case-intro{font-size:15px}.case-preview-note{font-size:10px;max-width:470px}.case-grid{grid-template-columns:minmax(0,1fr);gap:33px;max-width:560px;margin:0 auto;padding-top:0}.case-category{min-height:0;margin-bottom:14px;text-align:center}.case-category h2{font-size:33px}.case-category>p{margin:auto;font-size:13px;max-width:380px}.case-stage{min-height:340px;aspect-ratio:8/5}.case-metric strong{font-size:clamp(28px,7vw,42px)}.case-metric small{font-size:9px;letter-spacing:.04em}.case-story h3{text-align:left;font-size:31px}.case-story{padding:21px 21px 80px}.case-story-intro{font-size:12px}.case-story-list li{font-size:12px}.case-pagination{margin-top:7px}.case-page .contact{padding-top:32px}}
@media(max-width:380px){.case-metrics{left:16px;right:66px;gap:7px}.case-metric strong{font-size:27px}.case-metric+.case-metric{padding-left:9px}.case-metric small{font-size:8px}.case-arrow{width:36px;height:44px}.case-story{padding-left:17px;padding-right:17px}}
@media(prefers-reduced-motion:reduce){.case-image,.case-story{transition:none}}

/* One always-reachable control: the corner opens and closes this image's story. */
.case-info-toggle{position:absolute;right:0;bottom:0;width:94px;height:94px;z-index:5;border:0;border-radius:0;padding:0;color:#fff;background:var(--navy);clip-path:polygon(100% 0,100% 100%,0 100%);cursor:pointer;transition:background .2s ease}
.case-info-toggle span{position:absolute;right:15px;bottom:11px;width:30px;height:36px;font:400 36px/1 Arial,sans-serif;text-align:center}
.case-info-toggle:hover,.case-info-toggle:focus-visible{background:#007fa4}
.case-info-toggle:focus-visible{outline:0;background:#007fa4;box-shadow:inset -3px -3px 0 #fff}
.case-info-toggle[aria-expanded=true]{background:#00a2ca}
.case-info-toggle[aria-expanded=true]:hover{background:#007fa4}
.case-category h2{text-align:center}
@media(max-width:900px){.case-metric strong{font-size:26px}.case-metric small{font-size:8px}}
@media(max-width:700px){.case-metric strong{font-size:clamp(25px,6.6vw,38px)}.case-category>p{margin-left:auto;margin-right:auto}}
@media(max-width:380px){.case-metric strong{font-size:23px}.case-info-toggle{width:86px;height:86px}.case-info-toggle span{right:12px;bottom:10px;font-size:34px}}
@media(max-width:900px){.case-metrics:has(>.case-metric:nth-child(3)){right:22px;bottom:80px}.case-metrics:has(>.case-metric:nth-child(3)) .case-metric strong{font-size:clamp(20px,3.2vw,28px)}}
@media(max-width:700px){.case-metrics:has(>.case-metric:nth-child(3)) .case-metric strong{font-size:clamp(20px,5.4vw,30px)}}
@media(prefers-reduced-motion:reduce){.case-info-toggle{transition:none}}

/* Approved school graphics already contain their own headings and results.
   Show the entire image, with a small control rail clear of the artwork. */
.case-card--artwork .case-stage{aspect-ratio:auto;min-height:0;background:#fff}
.case-card--artwork .case-visual{position:relative;aspect-ratio:8/5;padding-bottom:48px;box-sizing:content-box;background:#fff}
.case-card--artwork .case-image{height:calc(100% - 48px);object-fit:contain;object-position:center;background:white}
.case-card--artwork .case-visual:after{display:none}
.case-card--artwork .case-metrics,.case-card--artwork .case-demo{display:none}
.case-card--artwork .case-arrow{top:auto;bottom:7px;transform:none;width:34px;height:34px;font-size:24px;background:var(--navy);border-color:var(--navy);backdrop-filter:none}
.case-card--artwork .case-prev{left:12px}
.case-card--artwork .case-next{left:55px;right:auto}
.case-card--artwork .case-info-toggle{width:68px;height:68px}
.case-card--artwork .case-info-toggle span{right:7px;bottom:3px;font-size:30px}
