@font-face{font-family:Bodoni;src:url('/assets/fonts/bodoni-moda.woff2') format('woff2');font-display:swap}@font-face{font-family:Mono;src:url('/assets/fonts/jetbrains-mono.woff2') format('woff2');font-display:swap}
:root{--paper:#f4f4f1;--ink:#0d0d0d}*{box-sizing:border-box}html{background:var(--ink);scroll-behavior:smooth}body{margin:0;color:var(--paper);font:12px/1.6 Mono,monospace}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid currentColor;outline-offset:6px}button,select{font:inherit;color:inherit;background:none;border:0;min-height:44px}button,a,select{-webkit-tap-highlight-color:transparent}.case-nav{position:absolute;inset:0 0 auto;z-index:4;display:flex;justify-content:space-between;align-items:center;padding:24px 4vw;background:linear-gradient(#0d0d0dbb,transparent)}.case-nav a{min-height:44px;display:flex;align-items:center}.case-mark{font-family:Georgia,serif;font-size:28px;letter-spacing:-2px}.case-nav-tools{display:flex;gap:30px;align-items:center}.case-nav select option{color:#0d0d0d}.case-cover{position:relative;height:100svh;min-height:640px;display:grid;place-items:center;background:#0d0d0d;overflow:hidden}.case-cover-image{height:80%;width:80%;object-fit:contain;align-self:center}.case-cover::after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#0d0d0d);pointer-events:none}.case-heading{position:absolute;bottom:5vh;left:5vw;right:5vw;z-index:2}.case-label{font:10px/1.6 Mono;letter-spacing:.14em;text-transform:uppercase}.case-heading h1{font:400 clamp(64px,10vw,160px)/.95 Bodoni,Georgia;letter-spacing:-.05em;margin:16px 0 0;max-width:1000px}.case-sequence{background:var(--paper);color:var(--ink);padding:clamp(48px,5.5vw,80px) 5vw clamp(56px,6vw,92px)}.case-sequence-heading{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #c9c7bf;padding-top:18px;margin-bottom:clamp(36px,4vw,56px)}.case-sequence-heading h2{font:400 32px/1.2 Bodoni,Georgia;margin:0}.case-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(32px,4vw,56px) 24px}.case-figure{margin:0;grid-column:2/12}.case-figure:nth-child(3n+2){grid-column:1/7;margin-top:0}.case-figure:nth-child(3n+3){grid-column:7/13;margin-top:0}.case-figure img{width:100%;height:auto;display:block;border-radius:2px;transition:transform .3s ease;cursor:zoom-in}.case-figure:hover img{transform:translateY(-2px)}.case-figure figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:12px;padding-top:8px;border-top:1px solid rgba(13,13,13,0.12);font:9px/1.5 Mono;color:#52524e}.case-figure figcaption span:last-child{text-align:right;max-width:80%}.case-next{display:block;padding:clamp(60px,7vw,100px) 5vw 48px;position:relative;overflow:hidden}.case-next-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.case-next h2{font:400 clamp(44px,6vw,96px)/1 Bodoni,Georgia;letter-spacing:-.04em;margin:20px 0}.case-next img{width:22vw;max-height:300px;object-fit:contain;transition:transform .8s}.case-next:hover img{transform:translateY(-8px)}.case-footer{padding:22px 5vw;display:flex;justify-content:space-between;border-top:1px solid #343430}.case-footer a{padding:8px 0}.case-nojs{padding:0 5vw 40px}.case-skip{position:fixed;top:-100px;left:20px;z-index:30;padding:14px;background:#f4f4f1;color:#0d0d0d}.case-skip:focus{top:10px}
.case-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(12,12,10,0.96);backdrop-filter:blur(16px);color:#f4f1e9;z-index:30000;overflow:hidden}
.case-lightbox[open]{display:grid;grid-template-rows:56px minmax(0,1fr)}
.case-lb-bar{display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid rgba(255,255,255,0.12);font:10px Mono,monospace}
.case-lb-title{max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.case-lb-close{background:none;border:0;color:#f4f1e9;font-size:28px;cursor:pointer;padding:4px}
.case-lb-stage{position:relative;display:flex;align-items:center;justify-content:space-between;padding:16px 2vw}
.case-lb-wrap{flex:1;height:100%;display:flex;align-items:center;justify-content:center}
.case-lb-img{max-width:90vw;max-height:82vh;width:auto;height:auto;object-fit:contain;box-shadow:0 24px 60px rgba(0,0,0,0.7);border-radius:2px}
.case-lb-prev,.case-lb-next{width:44px;height:44px;display:grid;place-items:center;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);color:#f4f1e9;border-radius:50%;font:24px Georgia,serif;cursor:pointer}
@media(max-width:700px){.case-nav{padding:14px 5vw}.case-nav-tools{gap:16px;font-size:10px}.case-cover{min-height:600px;height:92svh}.case-cover-image{width:90%;height:66%;align-self:start;margin-top:85px}.case-heading{bottom:36px}.case-heading h1{font-size:17vw}.case-sequence{padding:64px 5vw}.case-sequence-heading{margin-bottom:50px;gap:24px}.case-sequence-heading h2{font-size:27px}.case-sequence-heading .case-label{font-size:8px;text-align:right}.case-gallery{display:block}.case-figure,.case-figure:nth-child(3n+3){margin:0 0 64px}.case-figure:last-child{margin-bottom:0}.case-next{padding:64px 5vw}.case-next-inner{display:block}.case-next img{width:45vw;max-height:240px}.case-next h2{font-size:13vw}.case-footer{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.case-heading>.case-label{font:italic 400 26px/1.2 Bodoni,Georgia;letter-spacing:-.02em;text-transform:none}.case-heading h1{font-size:clamp(56px,8.5vw,130px);max-width:1100px;text-wrap:balance}.case-next h2{text-wrap:balance}@media(max-width:700px){.case-heading h1{font-size:13vw}.case-heading>.case-label{font-size:21px}}

/* Compact Contact Sheet Override for Static Case Pages */
.case-gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px 20px !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}
.case-figure, .case-figure:nth-child(3n+2), .case-figure:nth-child(3n+3) {
  margin: 0 !important;
  grid-column: auto !important;
  display: flex !important;
  flex-direction: column !important;
  background: rgba(0, 0, 0, 0.03) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 4px !important;
  padding: 8px !important;
}
.case-figure img {
  width: 100% !important;
  height: 260px !important;
  object-fit: contain !important;
  display: block !important;
  cursor: zoom-in !important;
}
@media (max-width: 768px) {
  .case-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 14px !important;
  }
  .case-figure img {
    height: 180px !important;
  }
}
