.svc-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.svc-case-card{min-width:0;background:#fff;border:1px solid #dce7ee;border-radius:12px;overflow:hidden;box-shadow:0 6px 24px #183f6408;transition:transform .25s,box-shadow .25s,border-color .25s}
.svc-case-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px #183f6414;border-color:#a1c3da}
.svc-case-open{width:100%;height:100%;padding:0;display:flex;flex-direction:column;text-align:left;border:0;background:transparent;color:var(--ink);font:inherit;cursor:pointer;border-radius:12px}
.svc-case-open:focus-visible{outline:3px solid #64a7d6;outline-offset:-4px}
.svc-case-heading{padding:21px 24px;display:flex;align-items:center;justify-content:center;text-align:center;min-height:82px;width:100%}
.svc-case-title{display:block;font-size:18px;font-weight:650;line-height:1.5;color:#174d72}
.svc-case-cover{display:block;position:relative;overflow:hidden;background:#f2f7fa;width:100%;aspect-ratio:3/2;border-block:1px solid #e8eff4}
.svc-case-cover img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.svc-case-cover-contain img{object-fit:contain}
.svc-case-cover-cropped{border:0;background:#fff}
.svc-case-cover-cropped::after{content:"";position:absolute;inset:0;border-block:1px solid #e8eff4;pointer-events:none}
.svc-case-preview{position:absolute;left:50%;top:50%;width:var(--svc-preview-width);height:var(--svc-preview-height);overflow:hidden;transform:translate(-50%,-50%)}
.svc-case-preview img{inset:auto;left:var(--svc-preview-image-left);top:var(--svc-preview-image-top);width:var(--svc-preview-image-width);height:var(--svc-preview-image-height);max-width:none;object-fit:fill}
.svc-case-preview-mask{position:absolute;left:0;top:0;background:#fff;pointer-events:none}
.svc-case-copy{display:flex;flex-direction:column;padding:22px 24px 20px;width:100%;flex:1;font-size:13px;color:#657c8d;line-height:1.85}
.svc-case-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis;max-height:3.7em;min-height:3.7em}
.svc-case-is-open{overflow:hidden}
.svc-case-dialog{padding:0;border:1px solid #cadde9;border-radius:16px;width:min(1040px,calc(100vw - 48px));max-width:calc(100vw - 48px);max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;color:var(--ink);box-shadow:0 28px 100px #0a263b5c;background:#fff}
.svc-case-dialog::backdrop{background:#0c243778;backdrop-filter:blur(5px)}
.svc-case-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 26px;border-bottom:1px solid #e3ecf2}
.svc-case-dialog-heading>p{font-size:12px;font-weight:600;letter-spacing:.12em;color:#658397;margin:0}
.svc-case-close{flex-shrink:0;padding:0;display:grid;place-items:center;width:32px;height:32px;border:1px solid #d7e5ee;border-radius:50%;background:#f8fbfd;color:#5b7689;font-size:25px;line-height:1;cursor:pointer}
.svc-case-close:hover{background:#edf5fa;color:#1268a5;border-color:#99bfda}
.svc-case-close:focus-visible,.svc-case-navigation button:focus-visible{outline:2px solid #64a7d6;outline-offset:3px}
.svc-case-detail-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:38px;padding:30px}
.svc-case-detail-image{position:relative;min-width:0;margin:0;overflow:hidden;border:1px solid #e0eaf1;border-radius:9px;background:#f2f7fa}
.svc-case-detail-image img{display:block;width:100%;height:auto}
.svc-case-image-status{position:absolute;inset:auto 12px 12px;text-align:center;font-size:12px;color:#657c8d;background:#ffffffeb;padding:8px;margin:0}
.svc-case-detail-copy{min-width:0;padding:8px 5px 8px 0}
.svc-case-dialog-kicker{font-size:9px;letter-spacing:.15em;line-height:1.7;color:#79a1bb;font-weight:600;margin:0 0 14px}
.svc-case-detail-copy h2{font-size:26px;font-weight:650;line-height:1.5;letter-spacing:-.02em;color:#174d72;margin:0;overflow-wrap:anywhere}
.svc-case-detail-rule{width:36px;height:2px;background:#2383bb;margin:22px 0}
#svc-case-dialog-description{font-size:14px;line-height:2;color:#5f7789;margin:0;overflow-wrap:anywhere}
.svc-case-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 30px;border-top:1px solid #e1ebf2;background:#fbfdfe}
.svc-case-navigation{display:flex;align-items:center;gap:17px}
.svc-case-navigation button{display:grid;place-items:center;width:33px;height:33px;padding:0;border:1px solid #d3e3ee;border-radius:50%;background:#fff;color:#2674a5;font-size:19px;line-height:1;cursor:pointer}
.svc-case-navigation button:hover:enabled{background:#eaf4fb;border-color:#8db9d7}
.svc-case-navigation button:disabled{opacity:.3;cursor:default}
.svc-case-status{min-width:47px;text-align:center;font-size:11px;letter-spacing:.06em;color:#7891a2;font-variant-numeric:tabular-nums}
.svc-case-dialog-footer .button{font-size:12px;min-height:38px;padding:8px 16px;flex-shrink:0}
@media(max-width:1100px){.svc-case-grid{gap:20px}.svc-case-heading{padding:19px 20px}.svc-case-title{font-size:16px}.svc-case-copy{padding:20px;font-size:12px}.svc-case-detail-layout{gap:26px;padding:26px}.svc-case-detail-copy h2{font-size:23px}}
@media(max-width:900px){.svc-case-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.svc-case-heading{min-height:76px}.svc-case-dialog{width:calc(100vw - 32px);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px)}.svc-case-detail-layout{gap:23px;padding:23px}.svc-case-detail-copy h2{font-size:21px}#svc-case-dialog-description{font-size:13px}.svc-case-dialog-footer{padding:15px 23px}}
@media(max-width:680px){.svc-case-dialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:12px}.svc-case-dialog-heading{padding:14px 18px}.svc-case-detail-layout{grid-template-columns:1fr;gap:23px;padding:20px}.svc-case-detail-copy{padding:0 2px 3px}.svc-case-dialog-kicker{font-size:8px;margin-bottom:9px}.svc-case-detail-copy h2{font-size:21px}.svc-case-detail-rule{margin:16px 0}#svc-case-dialog-description{font-size:13px;line-height:1.95}.svc-case-dialog-footer{padding:13px 18px;gap:12px}.svc-case-navigation{gap:11px}.svc-case-dialog-footer .button{font-size:11px;padding:8px 12px;gap:12px}}
@media(max-width:540px){.svc-case-grid{grid-template-columns:1fr;gap:22px}.svc-case-heading{padding:20px 22px;min-height:0}.svc-case-title{font-size:18px}.svc-case-copy{padding:20px 22px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.svc-case-card{transition:none}.svc-case-card:hover{transform:none}}
