/* Project experience: open editorial rows within the established navy/crimson palette. */
.case-wrap { width:min(1120px,calc(100% - 112px));margin-inline:auto; }
.case-section { padding-block:80px;color:#001a33; }
.case-section--light { background:#f4f6f8; }
.case-section h1 { font-size:clamp(2.1rem,4vw,3.7rem);font-weight:500;line-height:1.15;letter-spacing:-.035em; }
.case-section h2 { font-size:clamp(1.75rem,2.6vw,2.5rem);line-height:1.23;letter-spacing:-.025em;font-weight:500;margin:0 0 24px; }
.case-section h3 { font-size:clamp(1.25rem,1.8vw,1.7rem);font-weight:500;line-height:1.35;margin:0 0 16px; }
.case-section p { font-size:1rem;line-height:1.75;color:#354d68;margin:0 0 22px; }
.case-section .case-kicker { color:var(--brand-crimson);font-size:.875rem;line-height:1.5;letter-spacing:.06em;font-weight:600;margin:0 0 16px; }
.case-intro { max-width:740px; }
.case-entry { display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:52px;align-items:center;border-top:1px solid #bdc8d3;padding-block:38px; }
.case-entry:last-of-type { border-bottom:1px solid #bdc8d3;margin-bottom:26px; }
.case-entry-image picture,.case-entry-image img { display:block;width:100%; }
.case-entry-image img { height:auto;aspect-ratio:1.6;object-fit:cover; }
.case-entry h3 a { color:#001a33;text-decoration:none; }
.case-entry h3 a:hover { color:var(--brand-crimson-dark);text-decoration:underline;text-underline-offset:5px; }
.case-section .case-entry-role { font-size:.925rem;margin-bottom:14px; }
.case-link { display:inline-block;padding-block:8px;color:var(--brand-crimson);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;font-size:1rem;line-height:1.6; }
.case-link:hover { color:#001a33; }
.case-link:focus-visible,.case-entry a:focus-visible { outline:3px solid var(--brand-crimson);outline-offset:4px; }
.case-overview { display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:76px; }
.case-overview h2:not(:first-of-type) { margin-top:38px; }
.case-facts { margin:0 0 26px;padding:0;border-top:2px solid var(--brand-crimson); }
.case-facts>div { padding:18px 0;border-bottom:1px solid #bdc8d3; }
.case-facts dt { color:#526278;font-size:.875rem;line-height:1.5;margin-bottom:8px; }
.case-facts dd { margin:0;color:#001a33;font-size:1rem;line-height:1.6; }
.case-section .case-note { font-size:.875rem;line-height:1.7;color:#526278;max-width:850px; }
.case-split { display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:76px; }
.case-work,.case-outputs,.case-related { margin:0;padding:0;list-style:none; }
.case-work li { border-top:1px solid #bdc8d3;padding:24px 0; }
.case-work li:first-child { padding-top:0;border-top:0; }
.case-work li:last-child { padding-bottom:0; }
.case-work p { margin:0; }
.case-outputs li { padding:18px 0;border-top:1px solid #bdc8d3;font-size:1.05rem;line-height:1.65; }
.case-outputs li:last-child { border-bottom:1px solid #bdc8d3; }
.case-takeaway { border-left:2px solid var(--brand-crimson);padding-left:24px;margin:32px 0; }
.case-takeaway p { margin-bottom:0; }
.case-related { margin-bottom:24px; }
.case-related li { padding:12px 0;border-bottom:1px solid #bdc8d3; }
.case-retired { padding-top:calc(var(--header-height,80px) + 64px); }
.case-overview>*,.case-split>*,.case-entry>* { min-width:0; }
.case-section h1,.case-section h2,.case-section h3,.case-section dd,.case-section a { overflow-wrap:break-word;hyphens:auto; }
.case-proof-links { display:flex;flex-wrap:wrap;gap:8px 30px;margin-top:24px; }
/* Case stories: a photographic opening, readable chapters and explicit evidence. */
.case-cover { position:relative;isolation:isolate;background:#001a33;color:#fff; }
.case-cover-art { position:absolute;inset:0;z-index:-2; }
.case-cover-art picture,.case-cover-art img { display:block;width:100%;height:100%; }
.case-cover-art img { object-fit:cover;object-position:center; }
.case-cover::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,26,51,.96),rgba(0,26,51,.86) 62%,rgba(0,26,51,.6));z-index:-1; }
.case-cover-inner { padding-block:32px 68px; }
.case-breadcrumb { display:flex;flex-wrap:wrap;gap:12px;margin-bottom:56px;font-size:.875rem;line-height:1.6;color:#d4e0eb; }
.case-breadcrumb a { color:#fff;text-decoration:underline;text-underline-offset:4px; }
.case-cover-kicker { margin:0 0 24px;max-width:850px;font-size:.875rem;line-height:1.6;letter-spacing:.08em; }
.case-cover-kicker::before { content:"";display:block;width:48px;height:4px;background:var(--brand-crimson);margin-bottom:24px; }
.case-cover h1 { max-width:960px;margin:0 0 28px;color:#fff;font-size:clamp(2.25rem,4.6vw,4.125rem);line-height:1.1;letter-spacing:-.035em;font-weight:500;text-wrap:balance;overflow-wrap:break-word;hyphens:auto; }
.case-cover-summary { max-width:720px;margin:0 0 26px;color:#fff;font-size:clamp(1.0625rem,1.5vw,1.2rem);line-height:1.65; }
.case-cover-link { display:inline-block;min-height:44px;padding:8px 0;color:#fff;font-size:1rem;line-height:1.75;text-decoration:underline;text-decoration-color:var(--brand-crimson);text-underline-offset:7px; }
.case-cover a:hover { color:#fff;text-decoration-color:var(--brand-crimson);text-decoration-thickness:2px; }
.case-cover a:focus-visible { outline:3px solid #fcd600;outline-offset:5px; }
.case-brief { padding-block:30px 22px; }
.case-brief .case-facts { display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);gap:28px;margin:0;border:0; }
.case-brief .case-facts>div { border:0;padding:0;min-width:0; }
.case-brief .case-facts dt { color:var(--brand-crimson); }
.case-brief .case-facts dd { font-size:.9375rem;overflow-wrap:break-word;hyphens:auto; }
.case-note { font-size:.875rem;line-height:1.7;color:#526278; }
.case-brief .case-note { margin:24px 0 0;padding-top:18px;border-top:1px solid #d7dee5; }
.case-chapters { border-block:1px solid #d7dee5;background:#f4f6f8; }
.case-chapters>.case-wrap { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px; }
.case-chapters a { display:flex;gap:12px;align-items:baseline;padding-block:20px;color:#001a33;font-size:.9375rem;line-height:1.5;text-decoration:none; }
.case-chapters a span { color:var(--brand-crimson);font-size:.875rem; }
.case-chapters a:hover { color:var(--brand-crimson-dark);text-decoration:underline;text-underline-offset:5px; }
.case-chapters a:focus-visible { outline:3px solid var(--brand-crimson);outline-offset:3px; }
.case-chapter-grid { display:grid;grid-template-columns:minmax(0,.38fr) minmax(0,1fr);gap:76px; }
.case-chapter-grid>* { min-width:0; }
.case-chapter-label>span { display:block;font-size:3.5rem;line-height:1;color:var(--brand-crimson);font-weight:400;margin-bottom:18px;letter-spacing:-.05em; }
.case-prose { max-width:760px; }
.case-prose h2 { font-size:clamp(1.875rem,3vw,2.875rem);line-height:1.2; }
.case-section .case-lead { font-size:1.125rem;line-height:1.75;color:#203d58; }
.case-work { margin-top:38px; }
.case-work li { display:grid;grid-template-columns:38px minmax(0,1fr);gap:18px;padding-block:28px; }
.case-work li:first-child { padding-top:28px;border-top:1px solid #bdc8d3; }
.case-step { font-size:.9375rem;color:var(--brand-crimson);line-height:1.8;padding-top:2px; }
.case-focus { background:#001a33;color:#fff; }
.case-focus-head { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:80px;align-items:end;padding-bottom:30px; }
.case-focus-head>* { min-width:0; }
.case-focus-head--secondary { margin-top:56px; }
.case-focus h2 { color:#fff;font-size:clamp(1.875rem,3.3vw,3rem); }
.case-focus p { color:#d4e0eb; }
.case-focus .case-kicker { color:#fff; }
.case-focus-list { margin:0;padding:0;list-style:none; }
.case-focus-list li { display:grid;grid-template-columns:64px minmax(0,1fr);gap:28px;padding:26px 0;border-top:1px solid #49637a; }
.case-focus-list li>span { font-size:1.25rem;color:#fff;line-height:1.5;border-top:2px solid var(--brand-crimson);padding-top:6px; }
.case-focus-list li>div { display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px; }
.case-focus-list h3 { margin:0;color:#fff;font-size:1.3rem; }
.case-focus-list p { margin:0; }
.case-result-heading { max-width:740px;margin-bottom:48px; }
.case-results-grid { display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:80px;align-items:start; }
.case-results-grid>* { min-width:0; }
.case-signal { border-top:3px solid var(--brand-crimson);padding-top:22px; }
.case-signal .case-signal-value { font-size:clamp(4.75rem,8vw,7.75rem);font-weight:400;line-height:1.05;letter-spacing:-.05em;color:var(--brand-crimson);margin:0 0 20px; }
.case-signal .case-signal-value--word { font-size:clamp(2.3rem,4vw,3.8rem);line-height:1.15;overflow-wrap:break-word; }
.case-signal .case-signal-label { font-size:1.35rem;line-height:1.4;color:#001a33;max-width:320px; }
.case-boundary { margin-top:30px; }
.case-boundary h3 { font-size:1rem;margin-bottom:8px; }
.case-boundary .case-note { margin-bottom:0; }
.case-reflection { padding-block:56px;background:#f4f6f8;border-top:1px solid #d7dee5; }
.case-reflection h2 { font-size:1rem;color:var(--brand-crimson);line-height:1.5; }
.case-reflection p { font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.5;letter-spacing:-.02em;color:#001a33;margin:0; }
.case-next-grid { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:center; }
.case-next-grid>* { min-width:0; }
.case-next-image picture,.case-next-image img { display:block;width:100%;height:auto; }
.case-next-image img { aspect-ratio:1.15;object-fit:cover; }
.case-next h2 a { color:#001a33;text-decoration:none; }
.case-next h2 a:hover { color:var(--brand-crimson-dark);text-decoration:underline;text-underline-offset:5px; }
.case-next a:focus-visible { outline:3px solid var(--brand-crimson);outline-offset:4px; }
.case-expertise { border-top:1px solid #bdc8d3;margin-top:56px;padding-top:32px; }
.case-expertise h2 { font-size:1.25rem; }
.case-expertise .case-related { display:flex;flex-wrap:wrap;gap:4px 30px;margin:0 0 16px; }
.case-expertise .case-related li { padding:0;border:0; }
@media(max-width:1100px) {
 .case-chapter-grid { gap:42px;grid-template-columns:minmax(0,.3fr) minmax(0,1fr); }
 .case-focus-head,.case-results-grid { gap:44px; }
 .case-focus-list li>div { gap:32px; }
 .case-brief .case-facts { grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 36px; }
}
@media(max-width:768px) {
 .case-cover-inner { padding-block:24px 44px; }
 .case-breadcrumb { margin-bottom:36px; }
 .case-cover::after { background:rgba(0,26,51,.87); }
 .case-chapter-grid { grid-template-columns:1fr;gap:18px; }
 .case-chapter-label { display:flex;gap:18px;align-items:center; }
 .case-chapter-label>span { font-size:2rem;margin:0; }
 .case-chapter-label .case-kicker { margin:0; }
 .case-chapters>.case-wrap { grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px; }
 .case-chapters a { padding-block:14px; }
 .case-focus-head,.case-results-grid { grid-template-columns:1fr;gap:24px; }
 .case-focus-head { padding-bottom:16px; }
 .case-focus-head h2 { max-width:620px; }
 .case-focus-list li { gap:18px;grid-template-columns:36px minmax(0,1fr); }
 .case-focus-list li>div { grid-template-columns:1fr;gap:10px; }
 .case-signal .case-signal-label { max-width:500px; }
 .case-result-heading { margin-bottom:32px; }
 .case-next-grid { grid-template-columns:1fr;gap:28px; }
 .case-next-image img { aspect-ratio:1.8; }
}
@media(max-width:480px) {
 .case-cover h1 { font-size:2.25rem; }
 .case-brief .case-facts { grid-template-columns:1fr;gap:18px; }
 .case-chapters>.case-wrap { gap:0 18px; }
 .case-chapters a { font-size:.875rem;gap:8px; }
 .case-chapters a span { display:none; }
 .case-work li { grid-template-columns:26px minmax(0,1fr);gap:12px; }
 .case-expertise .case-related { display:block; }
}
@media print {
 .case-cover-art,.case-cover::after,.case-chapters { display:none; }
 .case-cover,.case-focus { background:#fff;color:#001a33; }
 .case-cover h1,.case-cover p,.case-cover a,.case-cover span,.case-focus h2,.case-focus h3,.case-focus p { color:#001a33; }
 .case-cover-inner { padding-block:20px; }
 .case-section { padding-block:30px; }
}
@media(max-width:1100px) { .case-wrap { width:calc(100% - 64px); } .case-overview,.case-split { gap:40px; } .case-entry { gap:36px; } }
@media(max-width:768px) { .case-wrap { width:calc(100% - 48px); } .case-section { padding-block:56px; } .case-overview,.case-split { grid-template-columns:1fr;gap:24px; } .case-entry { gap:28px; } .case-retired { padding-top:calc(var(--header-height,80px) + 48px); } }
@media(max-width:600px) { .case-wrap { width:calc(100% - 40px); } .case-entry { grid-template-columns:1fr;padding-block:28px; } .case-entry-image img { aspect-ratio:1.8; } .case-proof-links { display:block; } .case-proof-links a { display:block; } }
