.case-section .section-heading{margin-bottom:22px}.case-intro{margin-top:10px;font-size:16px;color:#567493;font-weight:400}.case-strip{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:3px 2px 12px;overscroll-behavior-x:contain}.case-strip::-webkit-scrollbar{display:none}.photo-card{display:block;flex:0 0 calc((100% - 36px)/3);min-width:0;border:1px solid #e1e8f0;border-radius:16px;background:white;overflow:hidden;padding:0;text-align:left;cursor:pointer;color:#06245f;box-shadow:0 5px 15px #06245f06;scroll-snap-align:start;font:inherit}.photo-card img{width:100%;aspect-ratio:4/3;display:block;object-fit:cover;background:#eef3f7;transition:transform .25s}.photo-card:hover img{transform:scale(1.025)}.photo-card .photo-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 16px;font-size:16px;font-weight:650;line-height:1.5}.photo-open{color:#637c99;font-size:20px;flex-shrink:0}.case-controls{display:flex;align-items:center;justify-content:space-between;margin-top:8px;color:#60768f;font-size:14px;font-variant-numeric:tabular-nums;letter-spacing:2px}.case-controls>div{display:flex;gap:8px}.case-controls button{width:44px;height:44px;border:1px solid #d7e3ee;border-radius:50%;background:white;color:#06245f;font-size:28px;line-height:1;cursor:pointer}.case-controls button:disabled{opacity:.3;cursor:default}.case-more{text-align:center;margin-top:22px}.case-more a{font-size:16px;font-weight:700;display:inline-flex;align-items:center;gap:14px;padding:12px 6px;border-bottom:1px solid #adc5dd}.case-gallery-page{max-width:1160px;margin:auto;padding:35px 30px 64px}.gallery-heading{padding:35px 0}.gallery-eyebrow{display:block;font-size:14px;letter-spacing:2px;color:#567493;margin-bottom:12px}.gallery-heading h1{font-size:clamp(28px,4vw,44px);line-height:1.3;margin:0 0 14px}.gallery-heading p{font-size:17px;color:#567493}.gallery-heading #photo-total{display:block;margin-top:20px;color:#6c7e92;font-size:14px}.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-bottom{padding-top:48px;display:flex;align-items:center;justify-content:center;gap:25px;flex-wrap:wrap}.case-lightbox{position:fixed;inset:0;margin:auto;width:min(1100px,96vw);max-width:96vw;height:min(900px,94dvh);max-height:94dvh;border:0;border-radius:14px;padding:0;background:#101b2a;color:#fff;overflow:hidden}.case-lightbox::backdrop{background:#051020e8}.case-lightbox[open]{display:flex;flex-direction:column}.lightbox-top{display:flex;justify-content:space-between;align-items:center;padding:10px 18px;font-size:14px;flex-shrink:0}.case-lightbox button{width:44px;height:44px;background:#ffffff16;border:1px solid #ffffff30;border-radius:50%;color:white;font-size:28px;cursor:pointer}.lightbox-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 18px}.lightbox-stage img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;flex-shrink:0}.lightbox-copy{flex:1;text-align:center}.lightbox-copy p{margin:0;font-size:16px}.lightbox-copy small{display:block;font-size:13px;color:#b5c4d5;margin-top:4px}.case-lightbox button:focus-visible,.photo-card:focus-visible,.case-controls button:focus-visible{outline:3px solid #57aaff;outline-offset:-4px}body.gallery-open{overflow:hidden}
@media(max-width:719px){.photo-card{flex-basis:85%}.case-strip{gap:14px;margin-right:-26px;padding-right:26px}.case-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.case-gallery-page{padding:25px 18px 45px}.case-grid .photo-caption{font-size:14px;padding:12px 10px;gap:4px}.case-grid .photo-open{font-size:16px}.gallery-heading{padding:28px 0}.gallery-heading p{font-size:16px}.case-lightbox{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.lightbox-stage{padding:0 8px}.lightbox-bottom{padding:16px 12px max(18px,env(safe-area-inset-bottom))}.case-intro{max-width:300px}.case-section h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.photo-card img{transition:none}}
