html.paper{color-scheme:light;--paper:#fbf7ea;--paper-2:#f2ecdb;--ink:#23201c;--ink-2:#3a332b;--rust:#7a2f1c;--line:#ddd3bd;--gold:#7a5f28;--gold-hover:#63501f;--bg:var(--paper);--bg-gradient:none;--surface:var(--paper-2);--fg:var(--ink);--fg-muted:var(--ink-2);--gold-border:var(--line);--gold-dim:transparent}@media (prefers-color-scheme:dark){html.paper{color-scheme:dark;--paper:#1d1a16;--paper-2:#26221c;--ink:#f1ead9;--ink-2:#d6ccb6;--rust:#e0977a;--line:#3d362c;--gold:#c7a86d;--gold-hover:#e4c27f}}html.paper .site-header{background:color-mix(in srgb, var(--paper) 90%, transparent)}html.paper .portfolio-nav{background:var(--paper-2);border-color:var(--line)}html.paper .tab-btn:hover{background:color-mix(in srgb, var(--ink) 8%, transparent)}html.paper .tab-btn.active{background:var(--ink);color:var(--paper);box-shadow:none}html.paper .tab-count,html.paper .tab-btn.active .tab-count{background:color-mix(in srgb, var(--ink) 12%, transparent);color:inherit}html.paper .tab-btn.active .tab-count{background:color-mix(in srgb, var(--paper) 20%, transparent)}html.paper .btn-back:hover{color:var(--paper)}html.paper .footer-links a,html.paper .breadcrumb a{color:var(--rust)}.case{--display:"Cormorant Garamond", Garamond, "Times New Roman", serif;--mono:"JetBrains Mono", ui-monospace, Consolas, monospace;width:100%;max-width:1152px;color:var(--ink-2);grid-template-columns:minmax(0,1fr) 280px;gap:28px 48px;margin:0 auto;padding:2.5rem 16px 4.5rem;display:grid}.case>*{min-width:0}.case a{color:var(--rust);text-underline-offset:3px}.case a:focus-visible{outline:2px solid var(--rust);outline-offset:3px;border-radius:2px}.case .breadcrumb{grid-column:1/-1;margin:0}.case h1,.case h2{font-family:var(--display);color:var(--ink);text-wrap:balance;margin:0;line-height:1.1}.case p{margin:0}.eyebrow{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--rust);font-size:.74rem}.case-head{grid-column:1/-1;gap:10px;display:grid}.case-head h1{font-size:clamp(2.6rem,7vw,4.2rem);font-weight:600}.dek{font-family:var(--display);color:var(--ink);font-size:clamp(1.35rem,3vw,1.8rem);font-style:italic}.case figure{gap:8px;margin:0;display:grid}.case figcaption{font-size:.85rem;line-height:1.45}.case img{border:1px solid var(--line);border-radius:6px;width:100%;height:auto;display:block}.case-hero{grid-column:1/-1}.story{align-content:start;gap:22px;max-width:64ch;display:grid}.story h2{letter-spacing:.12em;text-transform:uppercase;margin-bottom:-10px;font-family:Inter,sans-serif;font-size:.8rem;font-weight:600}.story ul{gap:.45em;margin:0;padding-left:1.2em;display:grid}.story strong{color:var(--ink)}.facts{background:var(--paper-2);border:1px solid var(--line);color:var(--ink);border-radius:6px;align-self:start;gap:18px;padding:18px 20px;font-size:.92rem;display:grid}.facts dl{gap:14px;margin:0;display:grid}.facts dt{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;opacity:.8;font-size:.7rem}.facts dd{margin:2px 0 0}.case .live{background:var(--gold);color:var(--paper);border-radius:6px;justify-self:start;padding:10px 16px;font-weight:600;text-decoration:none}.case .live:hover{background:var(--gold-hover)}.figs{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px;display:grid}.figs .tall img{max-width:260px}.doors{border-top:1px solid var(--line);flex-wrap:wrap;grid-column:1/-1;gap:12px 28px;padding-top:24px;font-weight:600;display:flex}.app-cards{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin:0;padding:0;list-style:none;display:grid}.app-card{border-top:1px solid var(--line);align-content:start;gap:14px;padding-top:20px;display:grid}.app-card h2{font-size:2.2rem;font-weight:600}.app-card h2 a{color:var(--ink);text-decoration:none}.app-card h2 a:hover{text-decoration:underline}.app-card{position:relative}.app-card h2 a:after{content:"";position:absolute;inset:0}.app-card-text{gap:8px;display:grid}.app-card img{aspect-ratio:16/10;object-fit:contain;background:var(--paper-2)}@media (width<=820px){.case,.app-cards,.figs{grid-template-columns:1fr}.figs .tall img{max-width:220px}}
