:root{--bg-primary:#fefefe;--bg-secondary:#f8f9fa;--bg-card:#fff;--text-primary:#1a1a1a;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--accent-gradient-start:#6366f1;--accent-gradient-end:#ec4899;--accent-primary:#6366f1;--accent-teal:#14b8a6;--accent-cyan:#06b6d4;--accent-warm:#f59e0b;--border-subtle:#e5e7eb;--border-card:#e5e7eb;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 12px 24px #0000001f;--font-serif:"Fraunces", Georgia, serif;--font-sans:"Inter", system-ui, sans-serif}[data-theme=dark]{--bg-primary:#0a0b0d;--bg-secondary:#131417;--bg-card:#1a1b1f;--text-primary:#f9fafb;--text-secondary:#d1d5db;--text-tertiary:#6b7280;--accent-gradient-start:#818cf8;--accent-gradient-end:#f472b6;--accent-primary:#818cf8;--accent-teal:#14b8a6;--accent-cyan:#22d3ee;--border-subtle:#1f2937;--border-card:#2d3340}*{box-sizing:border-box;margin:0;padding:0}img,svg,video,canvas{max-width:100%;height:auto}p,a,li,blockquote{overflow-wrap:anywhere}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.7;transition:background-color .4s}h1,h2,h3,h4{font-family:var(--font-serif);letter-spacing:-.02em;line-height:1.2}h1{margin-bottom:1rem;font-size:clamp(2.5rem,5vw,4rem);font-weight:400}h2{margin-bottom:1.5rem;font-size:clamp(2rem,4vw,3rem);font-weight:400}h3{margin-bottom:1rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:600}h4{text-transform:uppercase;letter-spacing:.05em;color:var(--accent-primary);margin-bottom:1rem;font-size:1rem;font-weight:600}p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.0625rem;line-height:1.8}strong{color:var(--text-primary);font-weight:600}a{color:var(--accent-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-teal)}.container{max-width:1200px;margin:0 auto;padding:0 3rem}.narrow{max-width:900px;margin:0 auto}.header{background:var(--bg-card);border-bottom:1px solid var(--border-subtle);z-index:100;backdrop-filter:blur(10px);padding:1.5rem 0;position:sticky;top:0}.header-content{justify-content:space-between;align-items:center;display:flex}.back-link{align-items:center;gap:.5rem;font-size:.95rem;font-weight:500;display:inline-flex}.theme-toggle{background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;border-radius:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.theme-toggle:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.case-hero{background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);padding:6rem 0 4rem}.case-hero h1{max-width:900px}.case-subtitle{color:var(--text-tertiary);max-width:700px;margin-bottom:3rem;font-size:1.5rem;font-style:italic}.case-meta{flex-wrap:wrap;gap:2rem;margin-bottom:2rem;display:flex}.meta-item{flex-direction:column;gap:.25rem;display:flex}.meta-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);font-size:.75rem;font-weight:600}.meta-value{color:var(--text-primary);font-size:1.125rem;font-weight:600}.impact-badges{flex-wrap:wrap;gap:1rem;display:flex}.impact-badge{background:linear-gradient(135deg, var(--accent-teal), var(--accent-cyan));color:#fff;border-radius:.75rem;padding:.75rem 1.5rem;font-size:1.125rem;font-weight:600}.content{padding:4rem 0}.section{margin-bottom:4rem}.section-content{background:var(--bg-card);border:1px solid var(--border-card);border-radius:1.25rem;padding:3rem}.visual-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:1.25rem;margin-bottom:3rem;padding:3rem}.visual-card h4{margin-bottom:1rem}.visual-card p{color:var(--text-secondary);margin-bottom:2rem}.outcomes-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem;display:grid}.outcome-card{background:var(--bg-secondary);border-left:4px solid var(--accent-teal);text-align:center;border-radius:1rem;padding:2rem}.outcome-value{font-family:var(--font-serif);background:linear-gradient(135deg, var(--accent-teal), var(--accent-cyan));-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.75rem;font-size:2.5rem;font-weight:600;display:block}.outcome-label{color:var(--text-secondary);font-size:.9375rem;font-weight:500}.stats-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem;display:grid}.stat-card{text-align:center;background:linear-gradient(135deg,#14b8a61a,#06b6d41a);border:1px solid #14b8a64d;border-radius:1rem;padding:2rem}.stat-value{color:var(--accent-teal);margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.stat-label{color:var(--text-secondary);font-size:.875rem;font-weight:600}.principles-grid{grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:2rem;display:grid}.principle-card{border:2px solid var(--border-card);border-radius:1rem;padding:2.5rem;transition:all .3s}.principle-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.principle-light{background:linear-gradient(135deg,#fff,#f9fafb)}.principle-dark{color:#fff;background:linear-gradient(135deg,#0f766e,#0d5d56)}.principle-header{align-items:start;gap:1rem;margin-bottom:1.5rem;display:flex}.principle-number{border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:1.25rem;font-weight:700;display:flex}.principle-number-light{background:linear-gradient(135deg, var(--accent-teal), var(--accent-cyan));color:#fff}.principle-number-dark{color:#fff;background:#fff3}.principle-title{font-size:1.75rem;font-family:var(--font-serif);margin-top:.25rem;font-weight:600}.principle-text{margin-bottom:1rem;font-size:1rem;line-height:1.7}.principle-text:last-child{margin-bottom:0}.principle-light .principle-text{color:var(--text-secondary)}.principle-dark .principle-text{color:#ffffffe6}.callout{border-left:4px solid var(--accent-warm);background:#f59e0b1a;border-radius:0 1rem 1rem 0;margin:3rem 0;padding:2rem 2.5rem}.callout h4{color:var(--accent-warm)}.callout p{margin:0}.case-nav{background:var(--bg-secondary);border-top:1px solid var(--border-subtle);margin-top:4rem;padding:3rem 0}.case-nav-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;display:flex}.nav-link{background:var(--bg-card);border:1px solid var(--border-card);border-radius:.75rem;align-items:center;gap:1rem;padding:1rem 1.5rem;transition:all .2s;display:flex}.nav-link:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.nav-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);font-size:.75rem;font-weight:600}.nav-title{color:var(--text-primary);font-size:1.125rem;font-weight:600}.checklist-preview{box-shadow:var(--shadow-md);cursor:pointer;border-radius:.75rem;transition:transform .2s;display:block;position:relative;overflow:hidden}.checklist-preview:hover{transform:scale(1.02)}.checklist-preview img{object-fit:cover;object-position:top;width:100%;max-height:400px}.checklist-overlay{color:#fff;background:linear-gradient(#0000,#000c);padding:2rem;position:absolute;bottom:0;left:0;right:0}.checklist-overlay p{color:#fff;margin:0;font-weight:600}@media (width<=968px){.outcomes-grid,.stats-grid,.principles-grid{grid-template-columns:1fr}}@media (width<=640px){.container{padding:0 1.5rem}.case-hero{padding:4rem 0 3rem}.section-content,.visual-card{padding:2rem}}details{background:var(--bg-card);border:1px solid var(--border-card);border-radius:1rem;margin-bottom:1rem;transition:all .3s;overflow:hidden}details:hover{border-color:var(--accent-teal);box-shadow:var(--shadow-sm)}details[open]{border-color:var(--accent-teal)}summary{cursor:pointer;background:var(--bg-secondary);color:var(--text-primary);justify-content:space-between;align-items:center;padding:1.5rem 2rem;font-size:1.125rem;font-weight:600;list-style:none;transition:all .2s;display:flex}summary:hover{background:var(--bg-card)}summary::-webkit-details-marker{display:none}summary:after{content:"▼";color:var(--accent-teal);font-size:1.25rem;transition:transform .3s}details[open] summary:after{transform:rotate(180deg)}.accordion-subtitle{color:var(--text-tertiary);margin-top:.25rem;font-size:.875rem;font-weight:400}.accordion-content{padding:2rem}
