.case-hero{padding-block:var(--space-6) var(--space-5)}.case-hero h1{font-size:clamp(2.5rem,6vw,4rem);letter-spacing:-.035em;line-height:1;margin-block:var(--space-3) var(--space-3)}.case-hero .tagline{font-size:clamp(1.125rem,2vw,1.375rem);color:var(--ink);line-height:1.4;max-width:32ch}.case-hero .summary{color:var(--ink-soft);line-height:1.68;max-width:var(--measure);margin-top:var(--space-4)}.kind-tag{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ember-strong);padding:5px 10px;border-radius:999px;border:1px solid var(--ember-soft);background:color-mix(in srgb,var(--ember) 8%,transparent)}.kind-tag .dot{width:5px;height:5px;border-radius:50%;background:var(--ember);flex:none}.case-meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--rule)}.case-meta div{display:flex;flex-direction:column;gap:2px}.case-meta dt,.case-meta .k{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.11em;text-transform:uppercase;color:var(--slate-strong)}.case-meta dd,.case-meta .v{margin:0;font-size:.9375rem;color:var(--ink)}.case-meta a{color:var(--ember-strong);text-decoration:none}.case-meta a:hover{color:var(--ember-hover)}.shots{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.shot{display:flex;flex-direction:column;gap:var(--space-3)}.shot figcaption{font-size:.8125rem;color:var(--ink-soft);line-height:1.55}.device{border-radius:24px;padding:7px;background:var(--paper-raised);border:1px solid var(--rule);box-shadow:0 18px 44px color-mix(in srgb,var(--paper) 62%,transparent)}.device img{width:100%;border-radius:18px;display:block}.approach{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(310px,1fr))}.approach>li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);align-items:start}.approach .n{font-family:var(--font-mono);font-size:.6875rem;font-weight:700;letter-spacing:.08em;color:var(--ember-strong);padding-top:.28em}.approach h3{font-size:1.0625rem;letter-spacing:-.005em;margin-bottom:var(--space-2)}.approach p{font-size:.9375rem;color:var(--ink-soft);line-height:1.65}.stack-groups{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stack-group .eyebrow{margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--rule)}.stack-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.stack-group li{font-size:.9375rem;color:var(--ink-soft)}.work-list{display:flex;flex-direction:column;gap:var(--space-4)}.work-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:var(--space-5);align-items:center;padding:var(--space-4);border-radius:12px;border:1px solid var(--rule);background:var(--paper-raised);text-decoration:none;color:var(--ink);transition:border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.work-row:hover,.work-row:focus-visible{border-color:var(--ember);transform:translateY(-2px)}.work-row .device{border-radius:16px;padding:5px}.work-row .device img{border-radius:12px}.work-row h2{font-size:clamp(1.375rem,2.4vw,1.875rem);letter-spacing:-.02em;margin-block:var(--space-2) var(--space-2)}.work-row .r-tag{font-size:.9375rem;color:var(--ink-soft);line-height:1.55;max-width:52ch}.work-row .go{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;color:var(--ember-strong);white-space:nowrap}.work-row .row-metrics{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-top:var(--space-3)}.work-row .row-metrics span{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.05em;color:var(--slate-strong)}@media(max-width:720px){.work-row{grid-template-columns:88px minmax(0,1fr);gap:var(--space-4)}.work-row .go{display:none}.shots{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3)}}.short-list-note{margin-top:var(--space-5);padding:var(--space-4);border:1px dashed var(--rule);border-radius:var(--radius);font-size:.9375rem;color:var(--ink-soft);line-height:1.65;max-width:var(--measure)}
