#detail-dialog.case-dialog{width:min(960px,calc(100vw - 24px));padding:48px;max-height:92dvh;border:1px solid #c7a26450;scrollbar-width:thin;scrollbar-color:#bca379 transparent}
.case-dialog #detail-label{margin:0 40px 18px 0;color:#967039;font-size:10px;letter-spacing:.15em}
.case-dialog #detail-title{max-width:720px;font-size:clamp(34px,4.3vw,54px);line-height:1.05;letter-spacing:-.035em;margin:0}
.case-dialog .close{position:sticky;float:right;top:0;margin:-25px -25px 0 0;z-index:2;background:#f3eee5;box-shadow:0 3px 16px #07172518;min-width:40px;min-height:40px}
.case-story .case-lead{max-width:660px;font-size:18px;line-height:1.6;margin:20px 0 28px}
.case-visual{margin:0;border-radius:20px;overflow:hidden;background:#0b202b;height:260px;border:1px solid #10273b15}
.case-image{display:block;width:100%;height:100%;object-fit:contain}
[data-case=voyage] .case-image{object-fit:cover;object-position:50% 25%}
[data-case=clearlab] .case-visual{background:radial-gradient(ellipse,#fff6e2,#ece2d9)}
[data-case=clearlab] .case-image{padding:35px}
.case-metrics{display:grid;grid-template-columns:repeat(3,1fr);padding:25px 0;border-bottom:1px solid #bca37940;gap:16px}
.case-metric{display:flex;flex-direction:column;gap:6px;padding-left:20px;border-left:1px solid #bca37940}
.case-metric:first-child{padding-left:0;border:0}
.case-metric strong{font-family:var(--serif);font-size:30px;font-weight:500;color:#946e36;line-height:1.2}
.case-metric span{font-size:12px;color:#52616e}
.case-story .case-kicker{font-size:10px;letter-spacing:.15em;font-weight:600;color:#946e36;margin:0 0 14px;line-height:1.5}
.case-challenge{padding:30px 0;max-width:710px}
.case-challenge>p:last-child{margin:0;font-size:16px;line-height:1.8}
.case-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.case-step{position:relative;padding:24px 20px;border:1px solid #c6bba54a;border-radius:16px;background:linear-gradient(145deg,#fffdf8,#efeee8);box-shadow:0 9px 22px -16px #0a233850}
.case-step-number{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid #bca37980;border-radius:50%;font-family:var(--serif);font-size:17px;color:#946e36}
.case-story .case-step-verb{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#946e36;margin:17px 0 9px}
.case-step h3{font-family:var(--serif);font-size:24px;line-height:1.15;font-weight:500;margin:0 0 14px}
.case-step p:last-child{font-size:13px;line-height:1.75;margin:0}
.case-focus{position:relative;overflow:hidden;padding:32px;margin:28px 0;border-radius:18px;background:radial-gradient(ellipse at 100% 0,#42647650,transparent 65%),#0a2031;color:#f5f0e7;box-shadow:0 14px 25px -20px #07172580}
.case-focus .case-kicker{color:#e4bd7e}
.case-focus h3{font-family:var(--serif);font-weight:500;font-size:32px;line-height:1.15;margin:0 0 16px;color:#f5f0e7}
.case-focus p:last-child{color:#c4d0d7;font-size:15px;line-height:1.8;max-width:680px;margin:0}
.case-role{padding:0 0 20px}.case-role p:last-child{font-size:14px;line-height:1.8;margin:0}
.case-note{border-top:1px solid #bca37940;border-bottom:1px solid #bca37940;padding:15px 0}
.case-note summary{font-family:var(--sans);font-size:12px;color:#596571;display:list-item;cursor:pointer;list-style:disclosure-closed}
.case-note[open] summary{list-style:disclosure-open}.case-note p{font-size:12px;line-height:1.8;margin:12px 0 0}
.case-story .case-bridge{font-family:var(--serif);font-size:23px;line-height:1.4;color:#10273b;margin:28px 0 0;max-width:680px}
.case-dialog #detail-contact{margin-top:20px}
.case-proof{display:block;width:100%;text-align:left;padding:18px 22px;margin:0 0 22px;border:1px solid #bca37970;border-radius:12px;background:#e9e3d6;color:#10273b;font-size:14px;line-height:1.6;transition:background .2s}.case-proof:hover{background:#ded3ba}.case-proof:focus-visible{outline:2px solid #946e36;outline-offset:3px}
@media(prefers-reduced-motion:no-preference){.case-dialog[open] .case-steps{animation:case-enter .65s .1s both}.case-dialog[open] .case-visual{animation:case-enter .55s both}@keyframes case-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}
.motion-paused .case-dialog *{animation:none!important}
@media(max-width:640px){#detail-dialog.case-dialog{padding:34px 22px 28px;border-radius:20px}.case-dialog .close{margin:-20px -10px 0 0}.case-dialog #detail-title{font-size:36px}.case-story .case-lead{font-size:16px}.case-visual{height:195px}.case-metrics{gap:9px;padding:20px 0}.case-metric{padding-left:9px}.case-metric strong{font-size:23px}.case-metric span{font-size:10px}.case-steps{grid-template-columns:1fr}.case-step{padding:20px}.case-step-number{float:right}.case-story .case-step-verb{margin:0 0 12px}.case-step h3{font-size:25px;max-width:85%}.case-step p:last-child{font-size:14px}.case-focus{padding:24px}.case-focus h3{font-size:29px}.case-story .case-bridge{font-size:22px}}
