.case-studies-hero{background:linear-gradient(135deg, var(--bg-primary,#0f1a15) 0%, var(--bg-secondary,#1a3d2e) 100%);padding:var(--spacing-2xl,4rem) 0 var(--spacing-xl,3rem);text-align:center}.case-studies-hero h1{margin-bottom:var(--spacing-sm,1rem);color:var(--text-primary,#f4f1ea);font-size:clamp(2rem,5vw,3.5rem)}.case-studies-hero .hero-subtitle{max-width:700px;color:var(--text-secondary,#b8c5a8);margin:0 auto;font-size:1.15rem;line-height:1.6}.cs-portfolio{padding:var(--spacing-xl,3rem) 0 var(--spacing-lg,2.5rem)}.cs-controls{margin-bottom:var(--spacing-lg,2rem)}.cs-controls-row{align-items:center;gap:var(--spacing-sm,1rem);margin-bottom:var(--spacing-sm,1rem);flex-wrap:wrap;display:flex}.cs-search-wrapper{flex:280px;min-width:220px}.cs-search{background:var(--bg-card,#1e2f25);border:1px solid var(--border-light,#2d5a47);width:100%;color:var(--text-primary,#f4f1ea);border-radius:var(--radius-full,999px);padding:.7rem 1rem;font-size:.95rem}.cs-search::placeholder{color:var(--text-secondary,#b8c5a8);opacity:.8}.cs-search:focus-visible{outline:2px solid var(--forest-green-accent,#7ec99b);outline-offset:2px;border-color:var(--forest-green-accent,#7ec99b)}.cs-result-count{color:var(--text-secondary,#b8c5a8);white-space:nowrap;margin:0;font-size:.85rem}.cs-clear{border:1px solid var(--border-light,#2d5a47);color:var(--text-secondary,#b8c5a8);border-radius:var(--radius-full,999px);cursor:pointer;background:0 0;padding:.45rem 1rem;font-size:.8rem;transition:all .2s}.cs-clear:hover{border-color:var(--accent-color,#d4a574);color:var(--accent-color,#d4a574)}.cs-clear:focus-visible{outline:2px solid var(--accent-color,#d4a574);outline-offset:2px}.cs-filters{flex-wrap:wrap;gap:.5rem;display:flex}.cs-chip{border:1px solid var(--border-light,#2d5a47);color:var(--text-secondary,#b8c5a8);border-radius:var(--radius-full,999px);cursor:pointer;background:0 0;align-items:center;gap:.4rem;padding:.4rem .9rem;font-size:.85rem;transition:all .2s;display:inline-flex}.cs-chip:hover{border-color:var(--primary-color,#3d7a5f);color:var(--text-primary,#f4f1ea)}.cs-chip.active{background:var(--primary-color,#3d7a5f);border-color:var(--primary-color,#3d7a5f);color:var(--warm-white,#f4f1ea)}.cs-chip:focus-visible{outline:2px solid var(--forest-green-accent,#7ec99b);outline-offset:2px}@media (pointer:coarse){.cs-chip{min-height:44px}.cs-clear{justify-content:center;align-items:center;min-height:44px;display:inline-flex}}.cs-chip-count{color:var(--forest-green-accent,#7ec99b);border-radius:var(--radius-full,999px);text-align:center;background:#7ec99b1f;min-width:1.2rem;padding:.05rem .4rem;font-size:.7rem;font-weight:700}.cs-chip.active .cs-chip-count{color:var(--warm-white,#f4f1ea);background:#fff3}.cs-grid{gap:var(--spacing-md,1.5rem);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));display:grid}.cs-card{--cat:var(--forest-green-accent,#7ec99b);background:var(--bg-card,#1e2f25);border:1px solid var(--border-light,#2d5a47);border-left:3px solid var(--cat);border-radius:var(--radius-lg,12px);padding:var(--spacing-md,1.5rem);color:inherit;flex-direction:column;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.cs-card:hover{border-color:var(--cat);transform:translateY(-3px);box-shadow:0 10px 28px #00000047}.cs-card:focus-visible{outline:2px solid var(--cat);outline-offset:2px}.cs-card-top{align-items:center;gap:.6rem;margin-bottom:.75rem;display:flex}.cs-card-num{letter-spacing:.12em;color:var(--text-secondary,#b8c5a8);opacity:1;font-size:.7rem;font-weight:700}.cs-card-cat{text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary,#b8c5a8);align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;display:inline-flex}.cs-card-cat:before{content:"";background:var(--cat);border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem}.cs-card-status{text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius-full,999px);border:1px solid;margin-left:auto;padding:.15rem .5rem;font-size:.65rem;font-weight:700}.cs-card-status.status-live{color:var(--forest-green-accent,#7ec99b)}.cs-card-status.status-open-source{color:var(--accent-color,#d4a574)}.cs-card-title{color:var(--text-primary,#f4f1ea);margin:0 0 .5rem;font-size:1.2rem;line-height:1.3}.cs-card-tagline{color:var(--text-secondary,#b8c5a8);flex:auto;margin:0 0 1rem;font-size:.9rem;line-height:1.55}.cs-card-stat{border-top:1px solid var(--border-light,#2d5a4766);border-bottom:1px solid var(--border-light,#2d5a4766);align-items:baseline;gap:.4rem;margin-bottom:.85rem;padding:.6rem 0;display:flex}.cs-card-stat-value{color:var(--cat);white-space:nowrap;font-size:1.05rem;font-weight:800}.cs-card-stat-label{color:var(--text-secondary,#b8c5a8);font-size:.78rem}.cs-card-tech{flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem;display:flex}.cs-card .tech-badge{border-radius:var(--radius-full,999px);border:1px solid var(--border-light,#2d5a47);color:var(--text-secondary,#b8c5a8);background:#b8c5a814;padding:.2rem .55rem;font-size:.7rem}.cs-card .tech-badge.core{color:var(--forest-green-accent,#7ec99b);background:#7ec99b1f;border-color:#7ec99b4d;font-weight:600}.cs-card-more{color:var(--cat);opacity:.9;margin-top:auto;font-size:.82rem;font-weight:600}.cs-card.cat-web{--cat:#7ec99b}.cs-card.cat-ai{--cat:#8ea2f0}.cs-card.cat-security{--cat:#e58a8a}.cs-card.cat-veteran{--cat:#d4a574}.cs-card.cat-compliance{--cat:#6fc3c0}.cs-card.cat-finance{--cat:#c9ad6f}.cs-card.cat-music{--cat:#c98bd4}.cs-card.cat-game{--cat:#79a6e6}[data-theme=light] .cs-card,[data-theme=light] .cs-card.cat-web{--cat:#157f43}[data-theme=light] .cs-card.cat-ai{--cat:#3949ab}[data-theme=light] .cs-card.cat-security{--cat:#c0271f}[data-theme=light] .cs-card.cat-veteran{--cat:#8a5a00}[data-theme=light] .cs-card.cat-compliance{--cat:#0f6e6a}[data-theme=light] .cs-card.cat-finance{--cat:#7a5c12}[data-theme=light] .cs-card.cat-music{--cat:#8e3aac}[data-theme=light] .cs-card.cat-game{--cat:#1d62cf}[data-theme=light] .cs-card-more{opacity:1}.cs-empty{text-align:center;color:var(--text-secondary,#b8c5a8);padding:var(--spacing-lg,2.5rem) 0}.cs-grid-caption{text-align:center;color:var(--text-secondary,#b8c5a8);opacity:.7;margin-top:var(--spacing-md,1.5rem);font-size:.8rem}.cs-noscript{text-align:center;color:var(--accent-color,#d4a574);padding:var(--spacing-sm,1rem) 0}.cs-progress{top:var(--navbar-height,72px);background:linear-gradient(90deg, var(--primary-color,#3d7a5f), var(--forest-green-accent,#7ec99b));z-index:90;pointer-events:none;width:0;height:3px;transition:width .1s linear;position:fixed;left:0}.cs-to-portfolio{z-index:95;color:var(--forest-green-accent,#7ec99b);background:var(--bg-card,#1e2f25);border:1px solid var(--border-light,#2d5a47);visibility:hidden;opacity:0;border-radius:999px;align-items:center;gap:.4rem;padding:.6rem 1rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:opacity .2s,transform .2s,visibility .2s;display:inline-flex;position:fixed;bottom:1.5rem;left:1.5rem;transform:translateY(8px);box-shadow:0 4px 14px #0000004d}.cs-to-portfolio.visible{visibility:visible;opacity:1;transform:translateY(0)}.cs-to-portfolio:hover,.cs-to-portfolio:focus-visible{background:var(--primary-color,#3d7a5f);color:var(--warm-white,#f4f1ea)}@media (width<=480px){.cs-to-portfolio{bottom:1rem;left:1rem}}@media (prefers-reduced-motion:reduce){.cs-card,.cs-chip,.cs-clear,.cs-progress,.cs-to-portfolio,.case-study .stat-card{transition:none}.cs-card:hover,.case-study .stat-card:hover{transform:none}}.case-study{padding:var(--spacing-2xl,4rem) 0;border-bottom:1px solid var(--border-light,#2d5a4733);scroll-margin-top:calc(var(--navbar-height,72px) + 16px)}.case-study:nth-child(2n){background:var(--bg-secondary,#1a3d2e4d)}.case-study:last-child{border-bottom:none}.case-study-header{margin-bottom:var(--spacing-lg,2.5rem)}.case-study-number{text-transform:uppercase;letter-spacing:.15em;color:var(--forest-green-accent,#7ec99b);margin-bottom:var(--spacing-xs,.5rem);font-size:.75rem;font-weight:700;display:inline-block}.case-study-title{margin-bottom:var(--spacing-xs,.75rem);color:var(--text-primary,#f4f1ea);font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.2}.case-study-tagline{color:var(--text-secondary,#b8c5a8);max-width:700px;font-size:1.1rem;line-height:1.6}.tech-badges{margin-top:var(--spacing-sm,1rem);flex-wrap:wrap;gap:.5rem;display:flex}.case-study .tech-badge{color:var(--forest-green-accent,#7ec99b);border-radius:var(--radius-full,999px);background:#7ec99b1a;border:1px solid #7ec99b40;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.8rem;font-weight:500;display:inline-flex}.cs-section{margin-bottom:var(--spacing-lg,2.5rem)}.cs-section-label{text-transform:uppercase;letter-spacing:.2em;color:var(--forest-green-accent,#7ec99b);margin-bottom:var(--spacing-xs,.5rem);font-size:.7rem;font-weight:700}.cs-section h3{margin-bottom:var(--spacing-xs,.75rem);color:var(--text-primary,#f4f1ea);font-size:1.35rem}.cs-section p,.cs-section li{color:var(--text-secondary,#b8c5a8);line-height:1.7}.case-study .stats-grid{gap:var(--spacing-sm,1rem);margin:var(--spacing-md,1.5rem) 0;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.case-study .stat-card{background:var(--bg-card,#1e2f25);border:1px solid var(--border-light,#2d5a47);border-radius:var(--radius-lg,12px);padding:var(--spacing-sm,1.25rem);text-align:center;transition:transform .2s,border-color .2s}.case-study .stat-card:hover{border-color:var(--primary-color,#3d7a5f);transform:translateY(-2px)}.case-study .stat-value{color:var(--forest-green-accent,#7ec99b);font-size:clamp(1.5rem,3vw,2rem);font-weight:800;line-height:1.1}.case-study .stat-label{color:var(--text-secondary,#b8c5a8);margin-top:.35rem;font-size:.8rem;line-height:1.3}.features-list{justify-content:center;gap:var(--spacing-sm,1rem);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.features-list>*{flex:280px;max-width:364px}.features-list li{color:var(--text-secondary,#b8c5a8);padding-left:1.75rem;position:relative}.features-list li:before{content:"✓";color:var(--forest-green-accent,#7ec99b);font-weight:700;position:absolute;left:0}.results-highlight{border-radius:var(--radius-lg,12px);padding:var(--spacing-md,1.5rem) var(--spacing-lg,2rem);margin:var(--spacing-md,1.5rem) 0;background:linear-gradient(135deg,#3d7a5f14 0%,#7ec99b0f 100%);border:1px solid #3d7a5f33}.results-highlight .result-item{align-items:baseline;gap:var(--spacing-xs,.75rem);margin-bottom:var(--spacing-xs,.75rem);display:flex}.results-highlight .result-item:last-child{margin-bottom:0}.result-metric{color:var(--forest-green-accent,#7ec99b);white-space:nowrap;font-size:1.25rem;font-weight:800}.result-desc{color:var(--text-secondary,#b8c5a8);font-size:.95rem}.differentiator{border-left:3px solid var(--accent-color,#d4a574);padding:var(--spacing-sm,1rem) var(--spacing-md,1.5rem);border-radius:0 var(--radius-md,8px) var(--radius-md,8px) 0;margin-top:var(--spacing-sm,1rem);background:#d4a5740f}.differentiator-label{text-transform:uppercase;letter-spacing:.15em;color:var(--accent-color,#d4a574);margin-bottom:.35rem;font-size:.7rem;font-weight:700}.differentiator p{color:var(--text-secondary,#b8c5a8);margin:0;line-height:1.6}.arch-stack{margin-top:var(--spacing-xs,.75rem);flex-wrap:wrap;gap:.5rem;display:flex}.arch-layer{background:var(--bg-card,#1e2f25);border:1px solid var(--border-light,#2d5a47);border-radius:var(--radius-md,8px);color:var(--text-secondary,#b8c5a8);padding:.5rem 1rem;font-size:.85rem}.case-studies-cta{text-align:center;padding:var(--spacing-2xl,4rem) 0}@media (width<=768px){.case-study{padding:var(--spacing-lg,2.5rem) 0}.case-study .stats-grid{grid-template-columns:repeat(2,1fr)}.features-list{grid-template-columns:1fr}.results-highlight .result-item{flex-direction:column;gap:.25rem}}@media (width<=480px){.case-study .stats-grid{grid-template-columns:1fr 1fr;gap:.75rem}.case-study .stat-card{padding:var(--spacing-xs,.75rem)}}@media (width<=360px){.case-study .stats-grid{grid-template-columns:1fr}}@media print{.case-studies-cta,.navbar,.site-nav,.site-footer,.footer,.skip-link{display:none!important}.case-study{page-break-inside:avoid;border-bottom:1px solid #ccc;padding:1.5rem 0}.case-study:nth-child(2n){background:0 0}body{color:#000;background:#fff}.case-studies-hero,.case-study,.stat-card,.results-highlight,.differentiator{color:#1a1a1a!important;background:#fff!important}.case-study-title,.case-study-number,.cs-section h3,.cs-section-label,.stat-value,.result-metric{color:#000!important}.case-study-tagline,.cs-section p,.cs-section li,.result-desc,.differentiator p,.stat-label,.features-list li{color:#333!important}.stat-card,.results-highlight,.differentiator{border-color:#ccc}.case-study .tech-badge{color:#333;background:#eee;border-color:#ccc}}
