/* Three open chapters in the natural page flow. No menus, hidden content or accordions. */
.case-study { --case-ink:#152a45; --case-dim:#4f6785; --case-blue:#3567a9; --case-line:#b8c9dd; background:#eef3f8; color:var(--case-ink); }
.case-study :is(h1,h2,h3) { position:static; height:auto; margin:0; font-family:"Inter",system-ui,sans-serif; font-weight:400; letter-spacing:-.045em; line-height:1.1; overflow-wrap:break-word; }
.case-study em { color:var(--case-blue); font-style:normal; }
.case-study [hidden] { display:none !important; }
.case-hero { position:relative; isolation:isolate; display:flex; align-items:flex-end; min-height:clamp(540px,82svh,820px); padding:160px 0 48px; background:#0b1a2a; color:#f6f9ff; }
.case-hero__media { position:absolute; inset:0; z-index:-2; overflow:hidden; }
.case-hero__media img { display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:62% 43%; }
.case-hero--soygen .case-hero__media img { object-position:72% 42%; }
.case-hero::after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(0deg,#061321f2 0%,#06132191 28%,#06132108 70%),linear-gradient(90deg,#06132125,transparent 75%); }
.case-hero__content { padding-top:100px; }
.case-hero .work-back { color:#e4edfa; margin-bottom:20px; }
.case-hero .work-back:hover { text-decoration:underline; text-underline-offset:5px; }
.case-hero h1 { max-width:24ch; font-size:clamp(42px,5.5vw,84px); letter-spacing:-.06em; line-height:1.04; text-wrap:balance; }
.case-hero h1 em { color:#c3dbff; }
.case-hero__content>p { margin-top:22px; color:#d0def0; font-size:15px; }
.case-brief { padding:30px 0 34px; border-bottom:1px solid var(--case-line); }
.case-brief__layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:7%; align-items:center; }
.case-brief__layout>div>p { max-width:62ch; color:var(--case-dim); font-size:15px; line-height:1.7; }
.case-brief__layout>div>span { display:block; margin-top:14px; font-size:12px; color:#586e89; }
.case-brief__metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.case-brief__metrics>div { display:flex; flex-direction:column-reverse; justify-content:flex-end; gap:8px; }
.case-brief__metrics dt { font-size:12px; line-height:1.5; color:var(--case-dim); }
.case-brief__metrics dd { font-size:clamp(38px,4vw,60px); line-height:1; font-weight:400; letter-spacing:-.05em; color:#294f81; }
.case-brief__metrics dd span { font-size:20px; letter-spacing:-.03em; }
.case-reader { padding:0 0 40px; scroll-margin-top:100px; }
.case-panel { padding:42px 0 0; scroll-margin-top:104px; }
.case-panel+.case-panel { margin-top:35px; border-top:1px solid var(--case-line); }
.case-panel__layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:7%; align-items:center; min-height:0; padding-bottom:24px; }
.case-panel__copy { min-width:0; }
.case-panel .case-panel__heading { max-width:none; font-size:clamp(36px,3.7vw,58px); margin-bottom:28px; color:#234c81; }
.case-panel .case-panel__story-title { max-width:24ch; font-size:clamp(28px,2.5vw,38px); text-wrap:balance; }
.case-panel__copy>p { margin-top:22px; font-size:16px; line-height:1.75; color:var(--case-dim); max-width:57ch; }
.case-panel__copy>p.case-takeaway { padding-left:18px; border-left:2px solid #4b7fc2; color:#244d80; font-size:15px; }
.case-figure { min-width:0; margin:0; }
.case-figure img { width:100%; height:auto; background:#dae5f1; border:1px solid #a5b9d2; }
.case-figure figcaption { margin-top:13px; color:#536c8b; font-size:12px; }
.case-timeline { border-top:1px solid #abc0da; }
.case-timeline>div { display:grid; grid-template-columns:1fr 1fr; gap:12px 28px; padding:25px 0; border-bottom:1px solid #abc0da; }
.case-timeline b { grid-row:1/3; font-size:66px; font-weight:400; color:#335f96; letter-spacing:-.06em; line-height:1; }
.case-timeline b span { display:block; margin-top:12px; font-size:14px; letter-spacing:0; }
.case-timeline h3 { font-size:24px; }
.case-timeline p { font-size:14px; color:var(--case-dim); }
.case-timeline .case-timeline__total { padding-top:18px; font-size:12px; color:#466388; }
.case-network { border-top:1px solid var(--case-line); }
.case-network__owner { padding:24px; border-bottom:1px solid var(--case-line); background:#142b48; color:#eef5ff; }
.case-network__owner img { width:160px; height:auto; margin-bottom:16px; }
.case-network__owner p { font-size:23px; letter-spacing:-.025em; }
.case-network__owner span { display:block; margin-top:8px; color:#b6cbe6; font-size:13px; }
.case-network__members { margin-left:32px; padding:24px 0 0 26px; border-left:1px solid #90acd0; }
.case-network__members b { display:flex; align-items:center; gap:22px; font-size:64px; font-weight:400; line-height:1; color:#356298; }
.case-network__members b span { max-width:17ch; font-size:18px; color:var(--case-ink); line-height:1.3; }
.case-network__members p { margin-top:15px; color:var(--case-dim); font-size:14px; }
.case-pipeline { list-style:none; padding:0; }
.case-pipeline li { display:flex; align-items:flex-start; gap:24px; padding:17px 0; border-top:1px solid var(--case-line); }
.case-pipeline li>b { width:28px; padding-top:3px; color:#4773ac; font-size:13px; font-weight:400; }
.case-pipeline h3 { font-size:24px; }
.case-pipeline p { margin-top:5px; font-size:14px; color:var(--case-dim); }
.case-detail { padding-top:22px; border-top:1px solid var(--case-line); }
.case-detail .case-detail__title { margin:0 0 18px; color:#244b7e; font-size:20px; letter-spacing:-.025em; }
.case-detail__body { display:grid; gap:24px; padding:0 0 10px; color:var(--case-dim); font-size:14px; }
.case-detail__body h3 { color:var(--case-ink); font-size:22px; line-height:1.25; }
.case-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 40px; }
.case-detail-grid>div>p { margin-top:12px; }
.case-list { list-style:none; }
.case-list li { display:flex; gap:20px; padding:12px 0; border-bottom:1px solid #b8c9dd88; }
.case-list li>b { flex:none; color:#527cba; font-weight:400; }
.case-process,.case-delivery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; gap:24px; }
.case-process li,.case-delivery li { border-top:1px solid var(--case-line); padding-top:16px; }
.case-process b { display:block; margin-bottom:12px; font-weight:400; color:#426aa1; }
.case-delivery li>p { margin-top:12px; }
.case-network-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 30px; list-style:none; }
.case-network-list li { padding:9px 0; border-bottom:1px solid #b8c9dd88; }
.case-detail .domain-map { padding:24px; margin:0; background:#10233d; }
.case-detail .domain-card { padding:20px; }
.case-detail .domain-card dt { font-size:19px; }
.case-detail .domain-card dd { font-size:13px; }
.case-detail .work-scope { grid-column:auto; width:100%; max-width:720px; }
.case-next { padding:34px 0 40px; background:#102742; color:#f0f6ff; }
.case-next__layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:10%; align-items:center; }
.case-next__project>span { color:#b4cbe8; font-size:13px; }
.case-next__project h2 { display:flex; justify-content:space-between; gap:30px; font-size:clamp(27px,2.8vw,42px); margin:10px 0; }
.case-next__project h2>span { color:#a3c5f4; }
.case-next__project:hover h2 { color:#b9d5ff; }
.case-next p { font-size:14px; color:#b7cce6; }
.case-next__contact .work-link { margin-top:12px; color:#d9e9ff; border-color:#8ba8d366; }
.case-study :is(a,button):focus-visible { outline:3px solid #447bbf; outline-offset:4px; }
.case-hero a:focus-visible,.case-next a:focus-visible { outline-color:#c6ddff; }
@media(max-width:1000px) {
 .case-brief__layout { grid-template-columns:1fr; gap:26px; }
 .case-brief__layout>div>p { max-width:75ch; }
 .case-brief__metrics { gap:28px; max-width:700px; }
 .case-panel__layout { gap:5%; min-height:0; }
 .case-panel .case-panel__story-title { font-size:30px; }
 .case-panel__copy>p { font-size:15px; }
 .case-timeline>div { gap:12px 18px; }
 .case-timeline b { font-size:56px; }
 .case-timeline h3,.case-pipeline h3 { font-size:22px; }
}
@media(max-width:760px) {
 .case-hero { min-height:clamp(510px,76svh,700px); padding:130px 0 34px; }
 .case-hero__content { padding-top:110px; }
 .case-hero h1 { font-size:clamp(36px,7.8vw,54px); max-width:24ch; }
 .case-hero__content>p { font-size:13px; }
 .case-hero__media img { object-position:66% 40%; }
 .case-hero--soygen .case-hero__media img { object-position:75% 40%; }
 .case-panel__layout { grid-template-columns:minmax(0,1fr); gap:28px; min-height:0; }
 .case-panel .case-panel__heading { font-size:38px; margin-bottom:24px; }
 .case-panel .case-panel__story-title { max-width:25ch; font-size:30px; }
 .case-panel__copy>p { max-width:none; margin-top:17px; }
 .case-panel__copy h3 br { display:none; }
 .case-figure { max-width:650px; }
 .case-detail-grid,.case-process,.case-delivery { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .case-next__layout { grid-template-columns:1fr; gap:26px; }
 .case-next__contact { border-top:1px solid #8ba8d344; padding-top:24px; }
}
@media(max-width:480px) {
 .case-brief__metrics { gap:15px; }
 .case-brief__metrics dd { font-size:38px; }
 .case-brief__metrics dt { font-size:11px; }
 .case-brief__metrics dd span { font-size:17px; }
 .case-brief { padding-block:25px; }
 .case-detail-grid,.case-network-list { grid-template-columns:minmax(0,1fr); }
 .case-detail .domain-map { padding:20px 14px; }
 .case-network__members { margin-left:15px; padding-left:20px; }
 .case-network__members b { font-size:55px; }
 .case-network__members b span { font-size:17px; }
}
@media print {
 .case-hero { min-height:400px; }
 .case-panel__layout,.case-detail-grid>div { break-inside:avoid; }
 .case-next,.work-back { display:none !important; }
 .case-panel__layout { min-height:0; }
 .case-detail { border:0; }
}

/* Open supporting content stays compact without hiding any of it. */
.case-detail__body--context { grid-template-columns:minmax(0,1fr); align-items:start; gap:34px; }
.case-context-summary { max-width:78ch; color:#2e527c; font-size:clamp(18px,1.65vw,24px); line-height:1.55; letter-spacing:-.02em; text-wrap:pretty; }
.case-detail__body--results { grid-template-columns:minmax(0,1fr); align-items:start; gap:38px; }
.case-detail__body--results>.case-detail-grid { grid-column:1/-1; grid-template-columns:repeat(3,minmax(0,1fr)); }
.case-detail .domain-map { padding:clamp(28px,3.3vw,48px); box-shadow:0 28px 70px #244a7314; }
.case-detail .domain-map__intro { display:flex; margin-bottom:28px; }
body[data-layout="work-study"] .case-detail .domain-map__intro h3 { max-width:12ch; font-size:clamp(32px,3.25vw,46px); }
.case-detail .domain-map__intro p { max-width:26ch; margin-top:0; font-size:15px; }
.case-detail .domain-card { min-height:180px; padding:24px; }
.case-detail .domain-card dt { font-size:20px; }
.case-detail .domain-card dt>span { width:29px; height:29px; margin-bottom:22px; }
.case-detail .domain-card .new-icon { width:28px; height:28px; }
.case-detail .domain-card dd { margin-top:11px; font-size:13px; }
.case-detail__body--results>.work-scope { max-width:none; padding-top:28px; border-top:1px solid #9fb3ca8a; }
.case-detail__body--results>.work-scope dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 32px; }
.case-reader :is(h2,h3,[id]) { scroll-margin-top:104px; }
@media(max-width:1000px) {
 .case-detail__body--results>.case-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .case-detail__body--results>.work-scope dl { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:760px) {
 .case-detail__body--results { grid-template-columns:minmax(0,1fr); }
 .case-panel { padding-top:32px; }
 .case-panel+.case-panel { margin-top:28px; }
}
@media(max-width:480px) {
 .case-detail__body--results>.case-detail-grid { grid-template-columns:minmax(0,1fr); }
 .case-detail .domain-card dt>span { margin-bottom:0; }
}
@media(prefers-reduced-motion:reduce) { .case-study * { scroll-behavior:auto !important; } }

/* Visual storytelling: full-width chapters alternate reading, proof and process. */
.case-reader { padding-bottom:0; background:#f7faff; }
.case-reader>.wrap { max-width:1440px; }
.case-panel { display:grid; grid-template-columns:minmax(0,1fr); gap:34px; padding:clamp(48px,6vw,80px) 0; margin:0; border-top:1px solid var(--case-line); }
.case-reader>.wrap>.case-panel:first-child { border-top:0; }
.case-panel+.case-panel { margin-top:0; }
.case-panel .case-panel__heading { position:static; display:flex; align-items:center; gap:16px; max-width:none; margin:0; color:#173f73; font-size:24px; line-height:1.25; }
.case-panel__heading::before { content:attr(data-chapter); display:grid; place-items:center; width:38px; height:38px; flex:none; border:1px solid #b4c9e3; color:#2869e6; font:14px/1 "Geist Mono",monospace; }
.case-panel>.case-panel__layout { grid-column:1; grid-row:auto; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(30px,5vw,72px); align-items:center; padding:0; }
.case-panel>.case-detail { grid-column:1; grid-row:auto; margin-top:12px; padding-top:30px; }
.case-panel .case-panel__story-title { max-width:23ch; font-size:clamp(34px,3.65vw,52px); line-height:1.06; text-wrap:balance; }
.case-panel__copy>p { max-width:49ch; font-size:17px; line-height:1.7; margin-top:22px; }
.case-panel__copy>p.case-takeaway { max-width:36ch; margin-top:27px; padding:0 0 0 20px; border:0; border-left:3px solid #2869e6; background:none; color:#31577f; font-size:20px; line-height:1.5; letter-spacing:-.02em; }
.case-takeaway strong { font-weight:500; color:#183f70; }
.case-figure { align-self:center; }
.case-figure img { display:block; width:100%; max-height:570px; object-fit:contain; background:#e5edf7; border:1px solid #9fb3cc80; box-shadow:0 24px 55px #244a7312; }
.case-figure--provided img { background:#fff; }
.case-figure figcaption { margin-top:12px; color:#526b87; font-size:13px; line-height:1.5; }
.case-detail .case-detail__title { margin-bottom:22px; font-size:23px; }
.case-detail__body { gap:26px; color:#49647f; font-size:16px; line-height:1.6; }
.case-detail__body--context { grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:36px; }
.case-context-summary { font-size:20px; line-height:1.6; max-width:32ch; }
.case-detail .domain-map { padding:26px; box-shadow:none; }
.case-detail .domain-map__intro { align-items:center; gap:24px; margin-bottom:22px; }
body[data-layout="work-study"] .case-detail .domain-map__intro h3 { max-width:13ch; font-size:30px; }
.case-detail .domain-map__intro p { max-width:22ch; font-size:14px; line-height:1.5; }
.case-detail .domain-card { min-height:0; padding:20px 16px; }
.case-detail .domain-card dt { font-size:18px; }
.case-detail .domain-card dt>span { width:25px; height:25px; margin-bottom:14px; }
.case-detail .domain-card .new-icon { width:25px; height:25px; }
.case-detail .domain-card dd { margin-top:10px; line-height:1.5; }
.case-detail-grid { gap:18px; }
.case-detail-grid>div { min-width:0; padding:26px; border:1px solid #ccdaea; background:#fff; }
.case-detail-grid>div>h3 { font-size:23px; }
.case-detail-grid>div>p { margin-top:12px; line-height:1.6; }
.case-change-icon { display:block; width:35px; height:35px; margin-bottom:22px; color:#2869e6; }
.case-change-icon .new-icon { display:block; width:100%; height:100%; stroke-width:1.5; }
.case-detail__body--results { gap:30px; }
.case-detail__body--results>.case-detail-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.case-timeline { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:24px; padding:30px; border:1px solid #b6c9e0; background:#e7f0fb; }
.case-timeline::before { content:""; grid-column:1/-1; height:10px; background:linear-gradient(90deg,#2869e6 0 25%,#fff 25% calc(25% + 3px),#173f73 calc(25% + 3px) 100%); }
.case-timeline>div { display:block; padding:0; border:0; }
.case-timeline b { display:block; font-size:64px; margin-bottom:18px; }
.case-timeline b span { display:inline; font-size:16px; margin-left:6px; }
.case-timeline h3 { font-size:24px; }
.case-timeline p { font-size:16px; line-height:1.6; margin-top:10px; }
.case-timeline .case-timeline__total { grid-column:1/-1; margin-top:0; padding-top:18px; border-top:1px solid #b5cbe3; font-size:14px; }
.case-process,.case-delivery { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-top:0; }
.case-process li,.case-delivery li { position:relative; min-width:0; padding:24px; border:1px solid #c2d3e7; background:#edf4fc; }
.case-process li+li,.case-delivery li+li { border-left:0; }
.case-process b { display:block; margin:15px 0 8px; font:13px "Geist Mono",monospace; color:#4c7098; }
.case-process__icon,.case-delivery li>span { display:block; color:#2869e6; width:32px; height:32px; margin-bottom:18px; }
.case-process__icon .new-icon,.case-delivery .new-icon { width:100%; height:100%; }
.case-process li:not(:last-child)::after,.case-delivery li:not(:last-child)::after { content:"→"; position:absolute; z-index:1; right:-13px; top:31px; display:grid; place-items:center; width:25px; height:25px; background:#2869e6; color:#fff; border:3px solid #f7faff; font-size:16px; line-height:1; }
.case-delivery-intro { color:#31577f; font-size:20px; max-width:60ch; }
.case-delivery li>h3 { font-size:22px; }
.case-delivery li>p { font-size:16px; line-height:1.55; }
.case-client-voice { display:grid; grid-template-columns:100px minmax(0,1fr); align-items:center; gap:18px 40px; padding:clamp(30px,4vw,56px); margin:0; color:#173b67; background:#e0ecfa; border-block:1px solid #bbcee5; }
.case-client-voice>img { grid-column:1; grid-row:1/3; width:90px; height:90px; object-fit:contain; }
.case-client-voice blockquote p { max-width:52ch; font-size:clamp(23px,2.5vw,35px); line-height:1.4; letter-spacing:-.035em; }
.case-client-voice figcaption { grid-column:2; font-size:16px; font-weight:500; }
.case-client-voice figcaption span { display:block; margin-top:4px; color:#4b6888; font-size:14px; font-weight:400; }
.case-brief--soygen .case-brief__layout { grid-template-columns:minmax(0,.82fr) minmax(0,1.38fr); gap:6%; }
.case-credentials { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #b4c7de; }
.case-credentials>div { min-width:0; padding:16px 14px; border-bottom:1px solid #b4c7de; }
.case-credentials dt { margin-bottom:7px; color:#58718f; font-size:12px; line-height:1.3; }
.case-credentials dd { color:#173b67; font-size:14px; line-height:1.45; }
.case-network { display:grid; grid-template-columns:1.1fr .9fr; border:1px solid #b3c8e0; background:#fff; }
.case-network__owner { padding:26px; border:0; }
.case-network__owner p { font-size:22px; }
.case-network__members { align-self:center; margin:0; padding:26px; border-left:1px solid #9db7d7; }
.case-network__members b { display:block; font-size:64px; }
.case-network__members b span { display:block; margin-top:12px; font-size:18px; }
.case-network__members p { font-size:15px; line-height:1.55; }
.case-network-list { grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; scroll-margin-top:110px; }
.case-network-list li { display:flex; align-items:center; gap:12px; min-width:0; min-height:82px; padding:14px; border:1px solid #c5d5e9; background:#eef4fc; color:#244b78; font-size:14px; line-height:1.4; }
.case-network-list li:first-child { border-color:#92b3dd; background:#dceafd; color:#163d72; }
.case-network-list__logo { display:grid; place-items:center; flex:0 0 52px; width:52px; height:52px; border-radius:8px; background:#fff; box-shadow:inset 0 0 0 1px #dce5ef; }
.case-network-list__logo img { display:block; width:40px; height:40px; object-fit:contain; }
.case-network-list__logo img[src$="minnesota.svg"] { width:45px; }
.case-network-list__name { min-width:0; overflow-wrap:break-word; }
.case-permissions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.case-permissions>div { position:relative; padding:26px 26px 26px 88px; border:1px solid #c8d8eb; background:#fff; }
.case-permissions>div>span { position:absolute; left:26px; top:27px; width:36px; height:36px; color:#2869e6; }
.case-permissions .new-icon { width:100%; height:100%; }
.case-permissions .case-list { margin-top:16px; }
.case-list li { padding:9px 0; line-height:1.5; }
.case-people { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.case-people p { display:flex; flex-direction:column; gap:7px; }
.case-people strong { color:#173b67; font-size:16px; font-weight:500; }
.case-people span { color:#526b87; font-size:14px; line-height:1.5; }
.case-panel>.case-pipeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; padding:0; margin:0; border:1px solid #aac2df; background:#fff; }
.case-pipeline li { position:relative; display:block; padding:24px; border:0; }
.case-pipeline li+li { border-left:1px solid #c2d3e7; }
.case-pipeline li>b { display:block; font:13px/1 "Geist Mono",monospace; color:#54779e; padding:0; width:auto; margin-bottom:22px; }
.case-pipeline li>span { display:block; width:38px; height:38px; margin-bottom:24px; color:#2869e6; }
.case-pipeline .new-icon { width:100%; height:100%; }
.case-pipeline li::after { content:"→"; position:absolute; top:62px; right:-14px; z-index:1; width:28px; height:28px; display:grid; place-items:center; background:#fff; color:#2869e6; font-size:24px; }
.case-pipeline li:last-child::after { display:none; }
.case-pipeline h3 { font-size:25px; }
.case-pipeline p { font-size:16px; line-height:1.5; margin-top:10px; }
.case-panel>.case-status-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:4px 0 0; border-block:1px solid #9db2ca; background:#e6effa; }
.case-status-row>div { display:flex; flex-direction:column-reverse; justify-content:flex-end; gap:12px; min-width:0; padding:28px; }
.case-status-row>div+div { border-left:1px solid #b0c6e0; }
.case-status-row dt { max-width:19ch; color:#4a6584; font-size:14px; line-height:1.5; }
.case-status-row dd { color:#2869e6; font-size:clamp(42px,4.2vw,62px); font-weight:400; line-height:.95; letter-spacing:-.055em; }
.case-next__contact h2 { max-width:17ch; margin-bottom:14px; color:#173b67; font-size:clamp(24px,2.3vw,34px); }
.case-interlude { position:relative; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); margin:0; background:#173d66; color:#fff; }
.case-interlude img { display:block; width:100%; height:auto; object-fit:contain; align-self:center; }
.case-interlude figcaption { display:flex; flex-direction:column; justify-content:center; gap:22px; padding:clamp(26px,4vw,56px); }
.case-interlude strong { font-size:clamp(30px,3.5vw,48px); line-height:1.12; font-weight:400; letter-spacing:-.045em; }
.case-interlude figcaption span { color:#c8daf1; font-size:14px; line-height:1.5; }
.case-delivery-table { width:100%; border-collapse:collapse; text-align:left; background:#fff; border:1px solid #bfd0e5; }
.case-delivery-table thead { color:#fff; background:#183f70; }
.case-delivery-table th,.case-delivery-table td { padding:22px 26px; font-size:16px; line-height:1.55; font-weight:400; }
.case-delivery-table thead th { font-size:14px; }
.case-delivery-table tbody th { width:36%; color:#183f70; }
.case-delivery-table tbody td { color:#49647f; }
.case-delivery-table tbody tr+tr { border-top:1px solid #c7d6e8; }
.case-delivery-table tbody th>span { display:inline-block; width:26px; height:26px; margin-right:14px; vertical-align:middle; color:#2869e6; }
.case-delivery-table .new-icon { width:100%; height:100%; }
.case-product-context { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:22px 0 0; }
.case-product-context p { max-width:61ch; margin:0; color:#49647f; font-size:15px; line-height:1.6; }
.case-product-context .work-link { flex-shrink:0; margin:0; font-size:14px; }
@media(max-width:1100px) {
 .case-brief--soygen .case-brief__layout { grid-template-columns:minmax(0,1fr); }
 .case-panel>.case-panel__layout { gap:32px; }
 .case-detail__body--context { grid-template-columns:minmax(0,1fr); }
 .case-context-summary { max-width:70ch; }
 .case-network-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .case-network-list li:first-child { grid-column:1/-1; }
 .case-timeline { padding:24px; gap:20px; }
 .case-timeline b { font-size:54px; }
}
@media(max-width:760px) {
 .case-delivery-table th,.case-delivery-table td { padding:16px; }
 .case-delivery-table tbody th { width:40%; }
 .case-delivery-table tbody th>span { display:block; margin:0 0 10px; }
 .case-product-context { align-items:flex-start; flex-direction:column; gap:12px; }
 .case-network-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .case-panel { padding-block:46px; gap:26px; }
 .case-panel>.case-panel__layout { grid-template-columns:minmax(0,1fr); gap:28px; }
 .case-panel .case-panel__heading { font-size:23px; }
 .case-panel .case-panel__story-title { font-size:clamp(32px,7vw,45px); max-width:26ch; }
 .case-panel__copy>p { font-size:16px; max-width:65ch; }
 .case-figure { max-width:none; }
 .case-panel>.case-detail { margin-top:8px; }
 .case-detail-grid,.case-detail__body--results>.case-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .case-process,.case-delivery,.case-panel>.case-pipeline { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .case-process li:nth-child(3),.case-delivery li:nth-child(3),.case-pipeline li:nth-child(3) { border-left:1px solid #c2d3e7; }
 .case-process li:nth-child(n+3),.case-delivery li:nth-child(n+3),.case-pipeline li:nth-child(n+3) { border-top:1px solid #c2d3e7; }
 .case-process li:nth-child(2)::after,.case-delivery li:nth-child(2)::after,.case-pipeline li:nth-child(2)::after { display:none; }
 .case-credentials { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .case-permissions { grid-template-columns:minmax(0,1fr); }
 .case-client-voice { grid-template-columns:64px minmax(0,1fr); gap:20px 26px; }
 .case-client-voice>img { width:64px; height:64px; }
 .case-interlude { grid-template-columns:minmax(0,1fr); }
 .case-interlude figcaption { gap:14px; padding:28px; }
 .case-interlude strong { max-width:none; font-size:32px; }
 .case-panel>.case-status-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .case-status-row>div:nth-child(3) { border-left:0; border-top:1px solid #b0c6e0; }
 .case-status-row>div:nth-child(4) { border-top:1px solid #b0c6e0; }
}
@media(max-width:480px) {
 .case-brief__metrics { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
 .case-brief__metrics dd { font-size:36px; }
 .case-brief__metrics dt { font-size:12px; }
 .case-detail .domain-map { padding:20px 14px; }
 .case-detail .domain-map__intro { display:block; }
 .case-detail .domain-map__intro p { margin-top:10px; max-width:none; }
 .case-detail .domain-card dt { display:flex; align-items:center; gap:12px; }
 .case-detail .domain-card dt>span { margin-bottom:0; }
 .case-detail .domain-card dd { margin-left:37px; }
 .case-detail-grid,.case-detail__body--results>.case-detail-grid { grid-template-columns:minmax(0,1fr); }
 .case-detail-grid>div { padding:22px; }
 .case-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); padding:22px; gap:18px; }
 .case-timeline b { font-size:48px; }
 .case-timeline b span { display:block; margin:8px 0 0; font-size:14px; }
 .case-timeline h3 { font-size:21px; }
 .case-network { grid-template-columns:minmax(0,1fr); }
 .case-network__members { padding:22px; border-top:1px solid #b0c6e0; border-left:0; }
 .case-network__members b { display:flex; gap:18px; align-items:center; }
 .case-network__members b span { margin-top:0; }
 .case-network-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .case-network-list li { flex-direction:column; align-items:flex-start; padding:12px; }
 .case-network-list li:first-child { flex-direction:row; align-items:center; }
 .case-permissions>div { padding:22px; }
 .case-permissions>div>span { position:static; display:block; margin-bottom:16px; }
 .case-people { grid-template-columns:minmax(0,1fr); gap:18px; }
 .case-process,.case-delivery,.case-panel>.case-pipeline { grid-template-columns:minmax(0,1fr); }
 .case-process li,.case-process li+li,.case-delivery li,.case-delivery li+li { padding:22px; border:1px solid #c2d3e7; }
 .case-process li+li,.case-delivery li+li { border-top:0; }
 .case-process li:not(:last-child)::after,.case-delivery li:not(:last-child)::after { display:none; }
 .case-pipeline li { display:grid; grid-template-columns:36px minmax(0,1fr); gap:8px 18px; padding:22px; border-left:0; }
 .case-pipeline li+li { border-top:1px solid #c2d3e7; border-left:0; }
 .case-pipeline li>b { grid-column:1; grid-row:1; margin:0; }
 .case-pipeline li>span { grid-column:1; grid-row:2; margin:0; width:30px; height:30px; }
 .case-pipeline li>div { grid-column:2; grid-row:1/3; }
 .case-pipeline li::after { display:none; }
 .case-client-voice { grid-template-columns:minmax(0,1fr); gap:20px; }
 .case-client-voice>img,.case-client-voice figcaption { grid-column:1; grid-row:auto; }
 .case-status-row>div { padding:23px 18px; }
 .case-status-row dd { font-size:42px; }
}
@media print {
 .case-panel { display:block; }
 .case-panel__heading { margin-bottom:20px!important; }
 .case-panel>.case-detail { margin-top:24px; }
 .case-client-voice,.case-interlude,.case-timeline,.case-status-row,.case-permissions>div { break-inside:avoid; }
}

/* Client logo lockup above the case study cover headline. */
.case-hero__client { margin:0 0 22px; }
.case-hero__client img { display:block; width:auto; height:56px; max-width:230px; object-fit:contain; opacity:.95; filter:brightness(0); }
html[data-theme="dark"] .case-hero__client img { filter:brightness(0) invert(1); }
@media (max-width:700px) { .case-hero__client img { height:42px; } }
