.tier-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:6px;font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.06em;line-height:1}.tier-badge.a{background:var(--cy-ochre-200);color:var(--cy-ochre-700);border:1px solid var(--cy-ochre-300)}.tier-badge.b{background:var(--cy-forest-100);color:var(--cy-forest-800);border:1px solid var(--cy-forest-300)}.tier-badge.c{background:var(--cy-stone-100);color:var(--cy-stone-700);border:1px solid var(--cy-stone-300)}.cases-filterbar{position:sticky;top:0;z-index:30;background:color-mix(in oklab,var(--cy-cream-100) 94%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);padding:10px clamp(14px,3vw,48px)}.cases-filterbar-inner{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:8px}.cases-filter-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.cases-filter-row.dimension-row{flex-wrap:wrap}.preset-row-compact{flex-wrap:nowrap!important;overflow-x:auto;padding-bottom:4px;margin-right:-8px;scrollbar-width:none}.preset-row-compact::-webkit-scrollbar{display:none}.area-row{flex-wrap:nowrap!important;overflow-x:auto;padding-bottom:4px;margin-right:-8px;scrollbar-width:none}.area-row::-webkit-scrollbar{display:none}.area-pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:12.5px;font-weight:500;color:var(--fg2);background:var(--cy-cream-50);border:1px solid var(--border);border-radius:9999px;padding:5px 11px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .14s,color .14s,border-color .14s}.area-pill:hover{background:var(--cy-cream-200);color:var(--fg1);border-color:var(--cy-stone-300)}.area-pill.active{background:var(--cy-forest-700);color:var(--cy-cream-50);border-color:var(--cy-forest-700);font-weight:600}.area-pill.active .accent-dot{box-shadow:0 0 0 1.5px var(--cy-cream-50)}.area-pill .count{font-size:11px;color:inherit;opacity:.65;font-variant-numeric:tabular-nums}.cases-filter-row.scroll-x{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;margin-right:-16px}.cases-filter-row.scroll-x::-webkit-scrollbar{height:4px}.cases-filter-row.scroll-x::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}.filter-pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--fg2);background:var(--cy-cream-50);border:1px solid var(--border);border-radius:9999px;padding:7px 14px;cursor:pointer;white-space:nowrap;transition:background .16s var(--ease-standard),color .16s var(--ease-standard),border-color .16s var(--ease-standard)}.filter-pill:hover{background:var(--cy-cream-200);color:var(--fg1)}.filter-pill.active{background:var(--cy-forest-700);color:var(--cy-cream-50);border-color:var(--cy-forest-700)}.filter-pill .count{color:inherit;opacity:.65;font-variant-numeric:tabular-nums;font-size:11px}.filter-label{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--fg3);margin-right:6px}.cases-search{flex:1 1 200px;min-width:160px;display:flex;align-items:center;gap:8px;background:var(--cy-cream-50);border:1px solid var(--border);border-radius:9999px;padding:8px 14px;color:var(--fg2)}.cases-search input{flex:1;background:transparent;border:none;outline:none;font-family:var(--font-body);font-size:14px;color:var(--fg1)}.cases-search input::placeholder{color:var(--fg3)}.cases-search:focus-within{border-color:var(--cy-forest-600);box-shadow:0 0 0 3px rgba(47,94,58,.12)}.cases-count{font-family:var(--font-body);font-size:12px;color:var(--fg3);letter-spacing:.04em;font-variant-numeric:tabular-nums}.cases-clear{font-family:var(--font-body);font-size:12px;color:var(--cy-forest-700);background:none;border:none;cursor:pointer;text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--cy-forest-700) 30%,transparent);text-underline-offset:3px;padding:4px 6px}.cases-clear:hover{color:var(--cy-forest-900)}.cases-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;max-width:1280px;margin:0 auto;padding:32px clamp(16px,3vw,48px) 96px}.case-card{background:var(--cy-cream-50);border:1px solid var(--border);border-radius:14px;padding:22px 22px 20px;display:flex;flex-direction:column;gap:14px;text-decoration:none;color:inherit;transition:transform .18s var(--ease-standard),box-shadow .18s var(--ease-standard),border-color .18s var(--ease-standard);position:relative;overflow:hidden}.case-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--cy-forest-300)}.case-card-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.case-card-category{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cy-forest-700)}.case-card-title{font-family:var(--font-display);font-size:19px;font-weight:500;line-height:1.25;color:var(--fg1);letter-spacing:-.005em;margin:0;text-wrap:balance}.case-card-preview{font-family:var(--font-body);font-size:13.5px;line-height:1.55;color:var(--fg2);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.case-card-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:6px;font-family:var(--font-body);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg3)}.case-card-foot .demo,.case-card-foot .effort{display:inline-flex;align-items:center;gap:4px}.case-card-foot .demo .stars{color:var(--cy-ochre-600);letter-spacing:0}.cases-hero{max-width:1280px;margin:0 auto;padding:clamp(48px,6vw,88px) clamp(16px,3vw,48px) clamp(24px,3vw,36px)}.cases-hero h1{font-family:var(--font-display);font-weight:500;font-size:clamp(40px,5.6vw,72px);line-height:1.05;letter-spacing:-.022em;color:var(--fg1);margin:16px 0 18px;text-wrap:balance;max-width:22ch}.cases-hero h1 em{font-style:italic;color:var(--accent)}.cases-hero p{font-family:var(--font-body);font-size:clamp(15px,1.1vw,17px);line-height:1.65;color:var(--fg2);max-width:60ch;margin:0}.cases-nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(16px,3vw,48px);background:color-mix(in oklab,var(--cy-cream-100) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .18s}.cases-nav.scrolled{border-bottom-color:var(--border)}.cases-nav .wordmark{font-family:var(--font-display);font-weight:500;font-size:24px;color:var(--fg1);letter-spacing:-.018em;text-decoration:none}.cases-nav .wordmark .dot{color:var(--cy-ochre-500)}.cases-nav .back-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:13px;color:var(--fg2);text-decoration:none;padding:8px 12px;border-radius:9999px;transition:background .16s}.cases-nav .back-link:hover{background:var(--cy-cream-200);color:var(--fg1)}.case-detail{max-width:760px;margin:0 auto;padding:clamp(32px,4vw,56px) clamp(20px,4vw,48px) 96px}.case-detail .case-eyebrow{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cy-forest-700)}.case-detail h1{font-family:var(--font-display);font-weight:500;font-size:clamp(28px,3.4vw,44px);line-height:1.15;letter-spacing:-.018em;color:var(--fg1);margin:18px 0 24px;text-wrap:balance}.case-detail .case-meta-row{display:flex;flex-wrap:wrap;gap:18px;align-items:center;padding:16px 0 24px;border-bottom:1px solid var(--border);margin-bottom:32px;font-family:var(--font-body);font-size:12.5px;color:var(--fg2)}.case-detail .case-meta-row>div{display:inline-flex;align-items:center;gap:8px}.case-detail .case-meta-row .k{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--fg3)}.case-detail .case-section{margin-bottom:36px}.case-detail .case-section h2{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cy-forest-700);margin:0 0 12px}.case-detail .case-md{font-family:var(--font-body);font-size:16px;line-height:1.75;color:var(--fg1)}.case-detail .case-md>*+*{margin-top:.85em}.case-detail .case-md strong{font-weight:600;color:var(--fg1)}.case-detail .case-md em{font-style:italic}.case-detail .case-md a{color:var(--cy-forest-700);text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--cy-forest-700) 35%,transparent);text-underline-offset:3px}.case-detail .case-md a:hover{color:var(--cy-forest-900)}.case-detail .case-md code{font-family:var(--font-mono);font-size:.9em;background:var(--cy-forest-100);color:var(--cy-forest-800);padding:.08em .4em;border-radius:4px}.case-detail .case-md pre{background:var(--cy-stone-900);color:var(--cy-cream-100);border-radius:8px;padding:16px 18px;overflow-x:auto;font-family:var(--font-mono);font-size:13px;line-height:1.55}.case-detail .case-md pre code{background:transparent;color:inherit;padding:0}.case-detail .case-md ol,.case-detail .case-md ul{margin-left:1.4em}.case-detail .case-md li+li{margin-top:.4em}.case-detail .case-md h3{font-family:var(--font-display);font-weight:500;font-size:20px;color:var(--fg1);margin-top:1.5em}.case-detail-foot{margin-top:56px;padding-top:28px;border-top:1px solid var(--border);display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px}.case-tools{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.case-tools li{font-family:var(--font-mono);font-size:11.5px;color:var(--cy-forest-800);background:var(--cy-forest-100);padding:5px 10px;border-radius:6px}.case-empty{grid-column:1/-1;text-align:center;padding:80px 20px;color:var(--fg3);font-family:var(--font-body)}.preset-group{display:grid;grid-template-columns:max-content 1fr;align-items:start;column-gap:14px;row-gap:4px;padding-bottom:6px}.preset-group+.preset-group{border-top:1px dashed var(--border);padding-top:8px}.preset-group.roadmap{border-bottom:1px solid var(--border);margin-bottom:4px}.preset-group-label{grid-column:1;align-self:center;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--fg3);padding-top:2px}.preset-group-label,.preset-pill{font-family:var(--font-body);white-space:nowrap}.preset-pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--fg1);background:var(--cy-cream-50);border:1px solid var(--border);border-radius:9999px;padding:6px 12px;cursor:pointer;flex-shrink:0;transition:background .16s var(--ease-standard),color .16s var(--ease-standard),border-color .16s var(--ease-standard),box-shadow .18s var(--ease-standard)}.preset-pill:hover{background:var(--cy-cream-200);border-color:var(--cy-stone-300)}.preset-pill.active{background:var(--cy-ochre-500);color:var(--cy-stone-900);border-color:var(--cy-ochre-600);box-shadow:0 2px 8px rgba(230,180,76,.28)}.preset-pill .count{font-size:11px;font-weight:500;color:inherit;opacity:.65;font-variant-numeric:tabular-nums;margin-left:2px}.preset-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0}.preset-icon.glyph{font-size:13px}.preset-icon.svg{color:currentColor;width:13px;height:13px}.filter-dd{position:relative;display:inline-block;flex-shrink:0}.filter-dd-button{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--fg2);background:var(--cy-cream-50);border:1px solid var(--border);border-radius:8px;padding:7px 12px;cursor:pointer;white-space:nowrap;transition:background .14s,border-color .14s,color .14s}.filter-dd-button:hover{background:var(--cy-cream-200);border-color:var(--cy-stone-300);color:var(--fg1)}.filter-dd-button.has-selection{background:var(--cy-forest-700);color:var(--cy-cream-50);border-color:var(--cy-forest-700)}.filter-dd-button.has-selection:hover{background:var(--cy-forest-800);border-color:var(--cy-forest-800)}.filter-dd-button.is-open{border-color:var(--cy-forest-600);box-shadow:0 0 0 3px rgba(47,94,58,.12)}.filter-dd-caret{color:currentColor;opacity:.7;transition:transform .14s}.filter-dd-caret.flipped{transform:rotate(180deg)}.filter-dd-popover{position:absolute;top:calc(100% + 6px);left:0;min-width:180px;max-width:min(320px,calc(100vw - 28px));background:var(--cy-cream-50);border:1px solid var(--border-strong);border-radius:10px;box-shadow:var(--shadow-lg);padding:6px;display:flex;flex-direction:column;gap:1px;z-index:40;animation:filter-dd-pop .12s var(--ease-emphasized)}@keyframes filter-dd-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.filter-dd-popover.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1px 4px;min-width:280px}.filter-dd-option{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;font-family:var(--font-body);font-size:13px;color:var(--fg1);background:transparent;border:none;border-radius:6px;padding:7px 10px;cursor:pointer;text-align:left;white-space:nowrap}.filter-dd-option:hover{background:var(--cy-cream-200)}.filter-dd-option.selected{background:color-mix(in oklab,var(--cy-forest-700) 8%,transparent);color:var(--cy-forest-800);font-weight:600}.filter-dd-option-label{overflow:hidden;text-overflow:ellipsis}.filter-dd-option-count{color:var(--fg3);font-size:11px;font-variant-numeric:tabular-nums}.filter-dd-check{color:var(--cy-forest-700)}.filter-dd-option:not(:has(.accent-dot)){grid-template-columns:1fr auto auto}.filter-dd-footer-clear{grid-column:1/-1;margin-top:4px;padding:6px 10px;background:transparent;border:none;border-top:1px solid var(--border);color:var(--fg2);font-family:var(--font-body);font-size:12px;text-align:left;cursor:pointer;border-radius:0 0 8px 8px}.filter-dd-footer-clear:hover{background:var(--cy-cream-200);color:var(--fg1)}.active-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-top:2px}.active-chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:12px;font-weight:500;color:var(--cy-forest-800);background:var(--cy-forest-100);border:1px solid color-mix(in oklab,var(--cy-forest-700) 18%,transparent);border-radius:9999px;padding:4px 8px 4px 10px;cursor:pointer;transition:background .14s,color .14s}.active-chip:hover{background:color-mix(in oklab,var(--cy-forest-700) 14%,var(--cy-cream-50));color:var(--cy-forest-900)}.active-chip svg{opacity:.65;flex-shrink:0}.active-chip:hover svg{opacity:1}.active-chips-clear{background:transparent;border:none;color:var(--cy-forest-700);font-family:var(--font-body);font-size:12px;font-weight:600;cursor:pointer;padding:4px 8px;text-decoration:underline;text-underline-offset:2px;text-decoration-color:color-mix(in oklab,var(--cy-forest-700) 35%,transparent)}.active-chips-clear:hover{color:var(--cy-forest-900)}.accent-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-right:2px}.case-card-category .accent-dot{margin-right:6px}.kind-chip{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:10.5px;font-weight:500;color:var(--fg2);background:var(--cy-stone-100);border-radius:4px;padding:2px 7px;letter-spacing:.02em;text-transform:lowercase}.foundation-mark{font-size:13px;line-height:1}.foundation-mark.inline{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--cy-ochre-700);margin-left:4px}.case-card-foot .case-id{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;color:var(--fg3);text-transform:uppercase}.case-subtitle{font-family:var(--font-display);font-size:clamp(17px,1.6vw,22px);font-style:italic;font-weight:400;line-height:1.45;color:var(--fg2);margin:-12px 0 8px;text-wrap:balance;max-width:56ch}.case-detail .case-eyebrow{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px}.case-eyebrow-sep{color:var(--fg3);font-weight:400}.case-fine{font-family:var(--font-body);font-size:12px;color:var(--fg3);margin-top:12px}.case-fine .k{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--fg3);margin-right:6px}.cases-foot{max-width:1280px;margin:0 auto;padding:8px clamp(16px,3vw,48px) 64px;font-family:var(--font-body);font-size:13px;color:var(--fg3);text-align:center}.cases-foot a{color:var(--cy-forest-700);text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--cy-forest-700) 35%,transparent);text-underline-offset:3px}.cases-foot a:hover{color:var(--cy-forest-900)}@media (max-width:720px){.cases-grid{grid-template-columns:1fr;padding:24px 16px 64px;gap:14px}.cases-filterbar{padding:12px 16px}.cases-filter-row{gap:8px}.filter-pill{font-size:12.5px;padding:6px 12px}.cases-hero{padding:32px 16px 16px}.cases-hero h1{font-size:clamp(32px,9vw,44px)}.case-detail{padding:24px 16px 64px}.case-detail h1{font-size:clamp(26px,7vw,34px)}.case-detail .case-meta-row{gap:12px 18px}.case-detail .case-md{font-size:15px}.case-detail .case-md pre{font-size:12px;padding:12px 14px}}