/* Case pages: real evidence only. Photos keep their full frame; no crops or overlays. */
.case-intro{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:64px;align-items:end;padding:56px 0 44px}
.case-back{margin-bottom:34px}
.case-back .text-link{gap:10px;font-size:13px}
.case-intro .eyebrow{color:var(--accent);margin-bottom:18px}
.case-intro h1{font-size:clamp(30px,3.6vw,48px);line-height:1.35;letter-spacing:-.03em;max-width:17em}
.case-summary{font-size:17px;line-height:1.9;color:var(--muted);margin-top:24px;max-width:36em}
.case-facts{border-top:1px solid var(--ink)}
.case-facts>div{display:grid;grid-template-columns:88px 1fr;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.7}
.case-facts dt{font-size:11px;letter-spacing:.08em;color:var(--muted);padding-top:3px}
.case-lead{margin-top:0;margin-bottom:12px}
.case-lead img{display:block;width:min(100%,960px);height:auto;background:#e3e6e3}
.case-lead figcaption,.case-photos figcaption{font-size:12px;color:var(--muted);padding-top:10px;line-height:1.6}
.case-body{padding-bottom:40px}
.case-section{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:48px;padding:46px 0;border-top:1px solid var(--line)}
.case-section:first-child{border-top:0}
.case-section h2{font-size:24px;line-height:1.4}
.case-section p,.case-section li{font-size:17px;line-height:1.9;max-width:40em}
.case-section p+p{margin-top:18px}
.case-steps{list-style:none;counter-reset:step;display:grid;gap:22px}
.case-steps li{counter-increment:step;display:grid;grid-template-columns:44px 1fr;gap:6px}
.case-steps li::before{content:counter(step,decimal-leading-zero);font-size:12px;letter-spacing:.1em;color:var(--accent);padding-top:6px}
.case-outcomes{list-style:none;display:grid;gap:16px}
.case-outcomes li{padding-left:22px;position:relative}
.case-outcomes li::before{content:"";position:absolute;left:0;top:.8em;width:9px;height:1px;background:var(--accent)}
.case-results{background:#172329;color:#fff;padding:30px 34px;margin:0 0 30px;max-width:720px}
.case-results dt{color:#fff}
.case-results dd,.case-results dt span{color:#c6d1d5}
.case-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.case-photos figure{margin:0}
.case-photos img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#e3e6e3}
.case-photo-note{font-size:14px;color:var(--muted);border-left:3px solid var(--line);padding:4px 0 4px 18px;margin:0 0 30px}
.case-quote{max-width:720px}
.case-cta{background:var(--soft)}
.case-cta-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px}
.case-cta h2{font-size:clamp(26px,2.6vw,36px);line-height:1.4}
.case-cta-grid>div>p:not(.eyebrow){color:var(--muted);margin:18px 0 28px;max-width:30em}
.case-related{display:flex;flex-direction:column}
.case-related .eyebrow{margin-bottom:10px}
.case-related a{display:flex;flex-direction:column;gap:4px;padding:16px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.6}
.case-related a span{font-size:11px;letter-spacing:.06em;color:var(--muted)}
.case-related a:hover strong{color:var(--accent)}
@media(max-width:1000px){.case-intro{grid-template-columns:1fr;gap:36px;align-items:start}.case-section{grid-template-columns:1fr;gap:20px}.case-cta-grid{grid-template-columns:1fr;gap:40px}}
@media(max-width:760px){.case-intro{padding:32px 0 30px}.case-back{margin-bottom:24px}.case-summary{font-size:16px}.case-section{padding:34px 0}.case-section h2{font-size:21px}.case-section p,.case-section li{font-size:16px}.case-photos{grid-template-columns:1fr}.case-results{padding:24px 22px}.case-facts>div{grid-template-columns:72px 1fr}.case-steps li{grid-template-columns:34px 1fr}}
.case-subhead{font-size:13px;letter-spacing:.08em;color:var(--muted);font-weight:500;margin:34px 0 16px}
.case-section div>.case-subhead:first-child{margin-top:0}
.case-run{border-top:1px solid var(--ink);max-width:720px}
.case-run summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none;padding:16px 0;font-size:15px}
.case-run summary::-webkit-details-marker{display:none}
.case-run summary span{font-size:12px;color:var(--muted)}
.case-run summary::after{content:"+";font-size:22px;color:var(--accent)}
.case-run[open] summary::after{content:"−"}
.case-run-list{list-style:none;counter-reset:run;border-top:1px solid var(--line)}
.case-run-list li{counter-increment:run;display:grid;grid-template-columns:44px 1fr;column-gap:6px;padding:16px 0;border-bottom:1px solid var(--line)}
.case-run-list li::before{content:counter(run,decimal-leading-zero);grid-row:span 2;font-size:12px;letter-spacing:.1em;color:var(--accent);padding-top:5px}
.case-run-time{font-size:12px;letter-spacing:.04em;color:var(--muted)}
.case-section .case-run-list p{font-size:16px;line-height:1.8}
.case-voices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px;max-width:960px}
.case-voice{padding:24px}
.case-voice .quote-mark{font-size:56px;height:44px;margin-top:6px}
.case-voice blockquote{font-size:16px;line-height:1.75}
.case-section .case-voice p{font-size:13px}
.case-quote+.case-subhead,.case-voices+.case-subhead{margin-top:40px}
@media(max-width:760px){.case-voices{grid-template-columns:1fr}.case-run-list li{grid-template-columns:34px 1fr}.case-section .case-run-list p{font-size:15px}}

/* Service pages (2026-10-01): hero actions sit under the summary, as on the homepage hero. */
.service-page .hero-actions{margin-top:30px;flex-wrap:wrap;row-gap:18px}
.case-lead.is-portrait img{width:min(100%,440px)}
