/* V11 project pages are additive and use the same font and thick-border language. */
:root{--accent:#111;--scene:#fff;--font-pixel:'VT323',monospace;--font-bold:'JetBrains Mono',monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;padding:clamp(14px,2.5vw,32px);background:#fff;color:#111;font-family:var(--font-bold);text-transform:uppercase;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
.case-shell{max-width:1600px;margin:auto}
.case-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border:6px solid #111;margin-bottom:18px}
.case-brand{font-size:clamp(18px,2.7vw,31px);font-weight:800;letter-spacing:-.065em;line-height:1;word-break:break-word}
.case-top-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.case-mini-link{font-family:var(--font-pixel);font-size:21px;letter-spacing:.02em;white-space:nowrap;border:3px solid #111;padding:7px 10px;background:#fff;color:#111;display:inline-flex;align-items:center;gap:6px}
.case-mini-link:hover,.case-mini-link:focus-visible{background:#111;color:#fff}
.case-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:18px}
.case-card{border:6px solid #111;padding:clamp(18px,3vw,45px);min-width:0;background:#fff;position:relative}
.case-eyebrow{font:23px var(--font-pixel);letter-spacing:.07em;display:block;margin:0 0 36px}
.case-headline{font-size:clamp(39px,6.5vw,112px);line-height:.87;letter-spacing:-.085em;font-weight:800;overflow-wrap:break-word;margin:0 0 30px}
.case-intro{font-size:clamp(13px,1.2vw,18px);font-weight:400;line-height:1.8;text-transform:none;max-width:57ch}
.case-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:32px;list-style:none;padding:0}
.case-tags li{background:#111;color:#fff;padding:8px 11px;font:21px var(--font-pixel)}
.case-visual{border:6px solid #111;position:relative;overflow:hidden;min-height:400px;background:#111}
.case-visual img{width:100%;height:100%;display:block;object-fit:cover;filter:grayscale(1);transition:filter .5s,transform .8s;min-height:400px}
.case-visual:hover img,.case-visual:focus-within img{filter:grayscale(0);transform:scale(1.04)}
.case-visual:after{position:absolute;content:'';inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(0,0,0,.15),transparent 45%)}
.case-overlay-label{position:absolute;z-index:1;bottom:18px;left:18px;font:22px var(--font-pixel);color:#fff;background:#111;padding:8px 13px}
.case-detail{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.case-detail h2{font-size:clamp(21px,3vw,37px);line-height:1;letter-spacing:-.065em;margin:0 0 18px}
.case-detail p{font-size:14px;font-weight:400;line-height:1.8;text-transform:none;margin:0 0 15px}
.case-detail ul{margin:0;padding-left:24px;font-size:14px;line-height:2}
.case-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.case-action{display:inline-block;padding:14px 17px;border:4px solid #111;color:#111;font:800 14px var(--font-bold);background:#fff}
.case-action.primary{background:#111;color:#fff}.case-action:hover,.case-action:focus-visible{background:var(--accent);border-color:var(--accent);color:#111}
.case-next{border:6px solid #111;margin-top:18px;padding:23px;display:flex;align-items:center;justify-content:space-between;gap:16px;font:26px var(--font-pixel)}
.case-next strong{font-family:var(--font-bold);font-size:clamp(16px,3vw,28px);line-height:1}
.case-next:hover{background:var(--accent);color:#111}
.case-footer{margin:25px 0;font:19px var(--font-pixel);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.case-progress{position:fixed;z-index:1000;left:0;top:0;width:100%;height:3px;background:#111;transform-origin:left;transform:scaleX(0)}
.case-cover{position:fixed;inset:0;background:var(--accent);z-index:5000;transform:translateY(101%);transition:transform .3s;pointer-events:none}.case-cover.is-leaving{transform:translateY(0)}
:focus-visible{outline:3px dashed var(--accent);outline-offset:4px}
@media(max-width:850px){.case-layout,.case-detail{grid-template-columns:1fr}.case-headline{font-size:clamp(34px,10vw,72px)}.case-visual{min-height:320px}.case-visual img{min-height:320px;max-height:600px}.case-top{padding:12px;border-width:4px}.case-card,.case-visual,.case-next{border-width:4px}.case-detail{gap:15px}.case-eyebrow{margin-bottom:20px}.case-mini-link{font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.case-zoom{position:absolute;z-index:2;right:18px;top:18px;border:3px solid #fff;background:#111;color:#fff;padding:11px 13px;cursor:pointer;font:19px var(--font-pixel)}
.case-zoom:hover,.case-zoom:focus-visible{background:var(--accent);color:#111;border-color:var(--accent)}
.case-lightbox{inset:0;margin:auto;padding:clamp(12px,2vw,25px);background:#101010;border:5px solid #fff;max-width:min(94vw,1400px);max-height:94dvh;color:#fff}
.case-lightbox::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(8px)}
.case-lightbox-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:12px;font:22px var(--font-pixel)}
.case-lightbox button{background:#fff;color:#111;font:800 19px var(--font-bold);border:0;cursor:pointer;padding:7px 12px}
.case-lightbox img{display:block;max-height:75dvh;max-width:100%;width:auto;height:auto;object-fit:contain;margin:auto}

.case-cmd-dialog{inset:0;margin:auto;border:5px solid #111;background:#fff;color:#111;width:min(92vw,620px);max-height:80dvh;overflow:auto;padding:20px;box-shadow:10px 10px 0 #111}
.case-cmd-dialog::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(5px)}
.case-cmd-dialog .case-cmd-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;font:800 18px var(--font-bold)}
.case-cmd-dialog input{display:block;width:100%;padding:12px;border:3px solid #111;font:600 14px var(--font-bold);border-radius:0}
.case-cmd-dialog button{cursor:pointer}
.case-cmd-dialog .case-cmd-close{background:#111;color:#fff;padding:7px 12px;border:0}
.case-cmd-results{display:grid;gap:5px;margin-top:14px;max-height:45vh;overflow:auto}
.case-cmd-results a{display:flex;align-items:center;justify-content:space-between;gap:12px;border:2px solid #111;padding:11px 12px;font-size:13px}
.case-cmd-results a:hover,.case-cmd-results a:focus-visible{background:#111;color:#fff}
@media(max-width:540px){.case-cmd-dialog{border-width:4px;padding:15px;box-shadow:5px 5px 0 #111}}
