.case-page .case-hero{padding:28px 0 52px;max-width:1200px}
.case-page .case-hero h1{max-width:850px;margin-bottom:20px}
.case-page .case-hero>p:not(.eyebrow){max-width:760px;color:#3b4337;font-size:18px;line-height:1.75}
.case-service-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:24px}
.case-service-links a{color:var(--olive);font-size:14px;font-weight:650}
.case-list{display:grid;gap:24px;padding-bottom:76px}
.case-card{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:36px;align-items:center;padding:30px;border:1px solid var(--line);border-radius:10px;background:#fff;scroll-margin-top:24px}
.case-card:nth-child(even){background:#f7f8f4}
.case-card-copy .eyebrow{margin-bottom:14px}
.case-card h2{font-size:clamp(24px,2.7vw,34px);margin-bottom:14px}
.case-card-copy>p:not(.eyebrow){max-width:470px;font-size:15px;line-height:1.75;color:#46513f}
.case-card .text-link{margin-top:22px}
.case-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.case-photos figure{display:flex;min-width:0;margin:0;flex-direction:column}
.case-photo-link{display:grid;height:clamp(220px,25vw,340px);min-width:0;place-items:center;overflow:hidden;border-radius:8px;background:#f1f3ed;cursor:zoom-in}
.case-photo-link:focus-visible{outline:3px solid var(--copper);outline-offset:3px}
.case-photos img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.case-photos figcaption{min-height:30px}
.case-photos figcaption{margin-top:auto;padding-top:8px;font-size:12px;line-height:1.5;color:var(--muted)}
.case-photos-three{grid-template-columns:repeat(2,minmax(0,1fr))}
.case-cta{background:var(--soft);padding:64px 0}
.case-cta h2{font-size:clamp(29px,3.3vw,42px);margin-bottom:16px}
.case-cta>div>p:not(.eyebrow){max-width:720px;color:#46513f;line-height:1.75}
.case-cta .actions{margin-top:25px}
@media(max-width:900px){.case-card{grid-template-columns:1fr;gap:24px}}
@media(max-width:600px){.case-page .case-hero{padding-top:20px;padding-bottom:38px}.case-page .case-hero>p:not(.eyebrow){font-size:16px}.case-card{padding:22px;gap:20px}.case-photos{gap:9px}.case-photo-link{height:clamp(170px,46vw,280px)}.case-cta{padding:48px 0}}
@media(max-width:390px){.case-photos,.case-photos-three{grid-template-columns:1fr}.case-photo-link{height:clamp(240px,72vw,380px)}}
.case-lightbox{position:fixed;inset:0;width:min(94vw,1200px);max-width:none;max-height:94dvh;margin:auto;padding:18px;border:1px solid rgba(255,255,255,.25);border-radius:14px;background:#172211;color:#fff;box-shadow:0 24px 80px rgba(0,0,0,.42)}
.case-lightbox::backdrop{background:rgba(15,22,12,.82);backdrop-filter:blur(3px)}
.case-lightbox img{display:block;width:100%;height:min(82dvh,1000px);object-fit:contain;border-radius:8px}
.case-lightbox p{margin:10px 0 0;padding-right:120px;color:#fff;font-size:14px;line-height:1.5}
.case-lightbox-close{position:absolute;top:24px;right:24px;display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 14px;border:1px solid rgba(255,255,255,.75);border-radius:999px;background:#fff;color:var(--olive);font:inherit;font-weight:700;cursor:pointer}
.case-lightbox-close span{font-size:24px;line-height:1}
@media(max-width:600px){.case-lightbox{width:100%;max-width:none;max-height:100dvh;padding:12px;border:0;border-radius:0}.case-lightbox img{height:calc(100dvh - 88px);max-height:calc(100dvh - 88px)}.case-lightbox-close{top:14px;right:14px}.case-lightbox p{padding-right:100px}}
