:root{--color-primary: #1e40af;--color-primary-hover: #1e3a8a;--color-accent: #2563eb;--color-text: #1f2937;--color-text-secondary: #4b5563;--color-text-muted: #6b7280;--color-bg: #f8fafc;--color-surface: #ffffff;--color-border: #e5e7eb;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem;--space-3xl: 6rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.75rem}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;width:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:var(--text-base);line-height:1.7;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;min-width:320px;width:100%;margin:0;padding:0}#root{width:100%;min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column;width:100%}.container{width:100%;max-width:72rem;margin-left:auto;margin-right:auto;padding-left:var(--space-lg);padding-right:var(--space-lg);box-sizing:border-box}@media(min-width:640px){.container{padding-left:var(--space-xl);padding-right:var(--space-xl)}}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;background:#fff;box-shadow:0 1px 3px #0000001a}.nav-inner{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-md);padding-bottom:var(--space-md)}.nav-brand a{font-size:var(--text-xl);font-weight:700;color:var(--color-text);text-decoration:none;letter-spacing:-.02em}.nav-links{display:flex;list-style:none;gap:var(--space-lg)}.nav-links a{text-decoration:none;color:var(--color-text-muted);font-weight:500;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;transition:color .2s ease;padding:var(--space-xs) 0;position:relative}.nav-links a:hover{color:var(--color-text)}.nav-links a.active{color:var(--color-primary)}.nav-links a.active:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--color-primary);border-radius:1px}.main-content{flex:1;padding-top:5rem;width:100%}.page{padding-top:var(--space-xl);padding-bottom:var(--space-xl)}.page h1{font-size:var(--text-4xl);font-weight:700;margin-bottom:var(--space-md);color:var(--color-text);letter-spacing:-.03em;line-height:1.2}.page h2{font-size:var(--text-xl);font-weight:600;margin:var(--space-xl) 0 var(--space-sm);color:var(--color-text);letter-spacing:-.01em}.page h3{font-size:var(--text-lg);font-weight:600;color:var(--color-text);margin-bottom:var(--space-xs)}.page p{margin-bottom:var(--space-sm);color:var(--color-text-secondary);max-width:75ch}.page ul,.page ol{margin-left:var(--space-md);margin-bottom:var(--space-sm)}.page li{margin-bottom:var(--space-xs);color:var(--color-text-secondary)}.page li::marker{color:var(--color-accent)}.home{width:100%}.hero{text-align:center;padding:var(--space-2xl) 0 var(--space-xl)}.headshot-wrapper{position:relative;display:inline-block;margin-bottom:var(--space-lg)}.headshot-glow{position:absolute;inset:-16px;background:linear-gradient(135deg,#2563eb4d,#6366f133);border-radius:50%;filter:blur(24px);opacity:.7;z-index:0}.headshot{position:relative;z-index:1;width:160px;height:160px;border-radius:50%;object-fit:cover;object-position:center top;box-shadow:0 8px 24px #0000001f;border:4px solid var(--color-surface)}.hero h1{margin-bottom:var(--space-sm)}.tagline{font-size:var(--text-xl);color:var(--color-text-secondary);max-width:540px;margin:0 auto var(--space-xs);line-height:1.6}.subtitle{color:var(--color-text-muted);font-size:var(--text-base);margin:0 auto var(--space-lg) auto;text-align:center;width:100%;max-width:none;display:block;padding:0}.cta-buttons{display:flex;gap:var(--space-sm);justify-content:center;margin-top:var(--space-md)}.btn{padding:.875rem 1.75rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:var(--text-sm);transition:all .2s ease;display:inline-flex;align-items:center;gap:var(--space-xs)}.btn.primary{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #1e40af4d}.btn.primary:hover{background:var(--color-primary-hover);box-shadow:0 4px 12px #1e40af66;transform:translateY(-1px)}.btn.secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn.secondary:hover{background:var(--color-bg);border-color:var(--color-text-muted)}.differentiator{margin-top:var(--space-2xl);padding:var(--space-xl);background:var(--color-surface);border-radius:16px;border:1px solid var(--color-border);text-align:center;width:100%;max-width:900px;margin-left:auto;margin-right:auto}.differentiator h2{margin-top:0;margin-bottom:var(--space-md);color:var(--color-primary)}.differentiator-text{max-width:680px;margin:0 auto;font-size:var(--text-lg);line-height:1.8;color:var(--color-text-secondary)}.differentiator-text strong{color:var(--color-text)}.positioning-statement{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border);font-size:var(--text-base);color:var(--color-text-secondary)}.positioning-statement strong{color:var(--color-primary)}.focus-areas{margin-top:var(--space-3xl);padding-top:var(--space-xl);border-top:1px solid var(--color-border)}.focus-areas h2{text-align:center;margin-bottom:var(--space-lg)}.focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.focus-card{background:var(--color-surface);padding:var(--space-lg);border-radius:12px;border:1px solid var(--color-border);transition:all .2s ease}.focus-card:hover{border-color:var(--color-accent);box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.focus-card h3{color:var(--color-primary);font-size:var(--text-base);margin-bottom:var(--space-xs)}.focus-card p{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.cta-section{margin-top:var(--space-3xl);padding:var(--space-2xl) var(--space-xl);background:linear-gradient(135deg,var(--color-primary) 0%,#4f46e5 100%);border-radius:20px;text-align:center;color:#fff;position:relative;overflow:hidden}.cta-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 50%,rgba(255,255,255,.1) 0%,transparent 50%);pointer-events:none}.cta-section h2{color:#fff;font-size:var(--text-2xl);margin:0 0 var(--space-sm)}.cta-section p{color:#ffffffe6;font-size:var(--text-lg);max-width:500px;margin:0 auto var(--space-lg);line-height:1.7}.btn.cta-btn{background:#fff;color:var(--color-primary);padding:1rem 2rem;font-size:var(--text-base);box-shadow:0 4px 14px #00000026}.btn.cta-btn:hover{background:#fffffff2;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.about{width:100%}.about .bio{margin-bottom:var(--space-xl)}.about .bio p{font-size:var(--text-lg);line-height:1.8;max-width:100%}.about section{margin-bottom:var(--space-xl);width:100%}.about ul{list-style:none;margin-left:0}.about li{padding:var(--space-xs) 0;padding-left:var(--space-md);position:relative}.about li:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;background:var(--color-accent);border-radius:50%}.case-study{width:100%}.case-study article{width:100%}.case-study header{margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.case-study header h1{margin-bottom:var(--space-xs)}.case-meta{display:inline-flex;gap:var(--space-sm);color:var(--color-accent);font-weight:500;font-size:var(--text-sm)}.case-study section{margin-bottom:var(--space-xl);width:100%}.case-study section:last-child{margin-bottom:0}.case-study p{max-width:100%}.executive-summary{background:linear-gradient(135deg,#2563eb14,#2563eb08);padding:var(--space-lg);border-radius:12px;margin-bottom:var(--space-xl);border:1px solid rgba(37,99,235,.2);width:100%}.executive-summary h2{margin-top:0;margin-bottom:var(--space-md);color:var(--color-primary);font-size:var(--text-lg)}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.summary-item h4{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-xs);font-weight:600}.summary-item p{margin:0;font-size:var(--text-sm);color:var(--color-text);line-height:1.6}@media(max-width:600px){.summary-grid{grid-template-columns:1fr}}.artifact{background:var(--color-bg);padding:var(--space-lg);border-radius:12px;margin:var(--space-lg) 0;text-align:center;border:1px solid var(--color-border)}.artifact h2{margin-top:0;margin-bottom:var(--space-md)}.diagram-image{max-width:100%;height:auto;border-radius:8px;box-shadow:0 4px 16px #0000001a}.image-placeholder{padding:var(--space-xl);border:2px dashed var(--color-border);border-radius:8px;color:var(--color-text-muted)}.summary-grid-5{grid-template-columns:repeat(5,1fr)}.summary-item.highlight{background:linear-gradient(135deg,#22c55e1a,#22c55e0d);border-radius:8px;padding:var(--space-sm);border:1px solid rgba(34,197,94,.3)}.summary-item.highlight h4{color:#16a34a}@media(max-width:900px){.summary-grid-5{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.summary-grid-5{grid-template-columns:1fr}}.hsi-pillars-section{margin-top:var(--space-xl)}.pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm);margin-top:var(--space-lg)}.pillar-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:var(--space-md);text-align:center;transition:all .2s ease}.pillar-card:hover{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.pillar-icon{font-size:1.75rem;display:block;margin-bottom:var(--space-xs)}.pillar-card h4{font-size:var(--text-sm);font-weight:600;color:var(--color-text);margin-bottom:var(--space-xs)}.pillar-card p{font-size:.75rem;color:var(--color-text-muted);margin:0;line-height:1.4}@media(max-width:900px){.pillars-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.pillars-grid{grid-template-columns:repeat(2,1fr)}}.requirements-section{margin-top:var(--space-xl)}.requirements-table{margin-top:var(--space-lg);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.requirements-header{display:grid;grid-template-columns:50px 1fr 120px;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-bg);border-bottom:1px solid var(--color-border);font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.requirement-row{display:grid;grid-template-columns:50px 1fr 120px;gap:var(--space-md);padding:var(--space-md);border-bottom:1px solid var(--color-border);align-items:center;transition:background .2s ease}.requirement-row:last-child{border-bottom:none}.requirement-row:hover{background:#2563eb08}.requirement-row .req-id{font-weight:700;color:var(--color-primary);font-size:var(--text-sm)}.req-content{display:flex;flex-direction:column;gap:2px}.req-content .req-name{font-weight:600;color:var(--color-text);font-size:var(--text-sm)}.req-content .req-desc{font-size:.8rem;color:var(--color-text-muted);line-height:1.4}.req-pillar-tag{font-size:.7rem;padding:4px 10px;background:linear-gradient(135deg,#2563eb1a,#6366f11a);border:1px solid rgba(37,99,235,.2);border-radius:20px;color:var(--color-primary);font-weight:500;text-align:center;white-space:nowrap}@media(max-width:768px){.requirements-header{display:none}.requirement-row{grid-template-columns:1fr;gap:var(--space-xs)}.requirement-row .req-id{font-size:var(--text-base)}.req-pillar-tag{justify-self:start}}.evaluation-section{margin-top:var(--space-xl)}.evaluation-summary{display:flex;gap:var(--space-md);margin:var(--space-lg) 0;justify-content:center}.eval-stat{display:flex;flex-direction:column;align-items:center;padding:var(--space-md) var(--space-lg);border-radius:12px;min-width:120px}.eval-stat.met{background:linear-gradient(135deg,#22c55e1a,#22c55e0d);border:1px solid rgba(34,197,94,.3)}.eval-stat.partial{background:linear-gradient(135deg,#eab3081a,#eab3080d);border:1px solid rgba(234,179,8,.3)}.eval-stat.unmet{background:linear-gradient(135deg,#ef44441a,#ef44440d);border:1px solid rgba(239,68,68,.3)}.eval-count{font-size:var(--text-3xl);font-weight:700}.eval-stat.met .eval-count{color:#16a34a}.eval-stat.partial .eval-count{color:#ca8a04}.eval-stat.unmet .eval-count{color:#dc2626}.eval-label{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:500}.findings-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-top:var(--space-lg)}.finding-card{padding:var(--space-lg);border-radius:12px}.finding-card.positive{background:linear-gradient(135deg,#22c55e14,#22c55e08);border:1px solid rgba(34,197,94,.2)}.finding-card.negative{background:linear-gradient(135deg,#ef444414,#ef444408);border:1px solid rgba(239,68,68,.2)}.finding-card h4{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-sm)}.finding-card.positive h4{color:#16a34a}.finding-card.negative h4{color:#dc2626}.finding-card ul{margin:0;padding-left:var(--space-md)}.finding-card li{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.finding-card.positive li::marker{color:#16a34a}.finding-card.negative li::marker{color:#dc2626}.evaluation-note{margin-top:var(--space-lg);padding:var(--space-sm) var(--space-md);background:var(--color-bg);border-left:3px solid var(--color-border);border-radius:0 8px 8px 0;font-size:var(--text-sm);color:var(--color-text-muted)}@media(max-width:768px){.evaluation-summary{flex-direction:column;align-items:center}.eval-stat{width:100%;flex-direction:row;justify-content:space-between;min-width:auto}.findings-grid{grid-template-columns:1fr}}.recommendations-list{margin-left:var(--space-md)}.recommendations-list li{margin-bottom:var(--space-md);line-height:1.7}.recommendations-list strong{color:var(--color-text)}.design-recommendations-section{margin-top:var(--space-xl)}.recommendations-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-top:var(--space-lg)}.recommendation-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:var(--space-lg);transition:all .2s ease}.recommendation-card:hover{border-color:var(--color-accent);box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.rec-header{display:flex;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-sm)}.rec-number{font-size:var(--text-sm);font-weight:700;color:var(--color-accent);background:linear-gradient(135deg,#2563eb1a,#6366f11a);padding:4px 10px;border-radius:6px;flex-shrink:0}.rec-header h4{font-size:var(--text-base);font-weight:600;color:var(--color-text);margin:0;line-height:1.4}.rec-description{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7;margin:0 0 var(--space-md)}.rec-impact{background:linear-gradient(135deg,#22c55e14,#22c55e08);border:1px solid rgba(34,197,94,.2);border-radius:8px;padding:var(--space-sm)}.impact-label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#16a34a;margin-bottom:var(--space-xs)}.impact-value{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5}.impact-value a{color:#16a34a;text-decoration:none;font-weight:500}.impact-value a:hover{text-decoration:underline}@media(max-width:900px){.recommendations-cards{grid-template-columns:1fr}}.skills-methods-section{margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--color-border)}.method-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-md)}.method-tag{font-size:var(--text-sm);padding:6px 14px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:20px;color:var(--color-text-secondary);font-weight:500;transition:all .2s ease}.method-tag:hover{border-color:var(--color-accent);color:var(--color-text)}.method-tag.primary{background:linear-gradient(135deg,#2563eb1a,#6366f11a);border:1px solid rgba(37,99,235,.3);color:var(--color-primary)}.resume{width:100%}.resume-header{text-align:center;padding-bottom:var(--space-lg);border-bottom:2px solid var(--color-primary);margin-bottom:var(--space-lg)}.resume-header h1{font-size:var(--text-3xl);margin-bottom:var(--space-xs);letter-spacing:-.02em}.resume-title{font-size:var(--text-lg);color:var(--color-primary);font-weight:500;margin:0 auto var(--space-sm) auto;text-align:center;width:100%;max-width:none}.resume-contact{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-xs);font-size:var(--text-sm);color:var(--color-text-secondary)}.resume-contact a{color:var(--color-text-secondary);text-decoration:none;transition:color .2s}.resume-contact a:hover{color:var(--color-primary)}.resume-contact .separator{color:var(--color-border)}.resume-body{width:100%}.resume-section{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border);width:100%}.resume-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.section-title{font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary);margin-bottom:var(--space-md);padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-border)}.summary-text{font-size:var(--text-base);line-height:1.7;color:var(--color-text-secondary);margin:0}.resume-entry{margin-bottom:var(--space-md)}.resume-entry:last-child{margin-bottom:0}.entry-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-sm)}.entry-title{font-size:var(--text-lg);font-weight:600;color:var(--color-text);margin:0 0 var(--space-xs)}.entry-subtitle{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.entry-meta{text-align:right;flex-shrink:0}.entry-meta .location,.entry-meta .date{display:block;font-size:var(--text-sm);color:var(--color-text-muted)}.entry-meta .date{font-weight:500}.entry-details{margin-top:var(--space-sm)}.entry-details p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:var(--space-xs) 0}.entry-bullets{margin:var(--space-sm) 0 0 var(--space-md);padding:0;list-style:disc}.entry-bullets li{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-xs);line-height:1.6}.entry-bullets li::marker{color:var(--color-primary)}.skills-container{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.skill-category-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text);margin-bottom:var(--space-sm)}.skill-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.skill-tag{font-size:.75rem;padding:4px 10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:20px;color:var(--color-text-secondary)}.interest-tags{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.interest-tag{font-size:var(--text-sm);padding:6px 14px;background:linear-gradient(135deg,#2563eb1a,#6366f11a);border:1px solid rgba(37,99,235,.2);border-radius:20px;color:var(--color-primary);font-weight:500}.resume-download{margin-top:var(--space-xl);text-align:center}.contact{width:100%}.contact p{font-size:var(--text-lg);margin-bottom:var(--space-lg)}.contact-info{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin:var(--space-lg) 0;width:100%}.contact-item{background:var(--color-surface);padding:var(--space-lg);border-radius:12px;border:1px solid var(--color-border);transition:all .2s ease}.contact-item:hover{border-color:var(--color-accent)}.contact-item h3{color:var(--color-text-muted);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-xs)}.contact-item a{color:var(--color-primary);text-decoration:none;font-weight:500;font-size:var(--text-lg)}.contact-item a:hover{text-decoration:underline}.contact .response-time{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-lg)}.contact-item.primary{border-color:var(--color-accent);background:linear-gradient(135deg,#2563eb0d,#2563eb05)}.contact-note{margin-top:var(--space-lg);color:var(--color-text-muted);font-size:var(--text-sm)}.footer{width:100%;background:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--space-xl) 0}.footer-content{text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.footer-links{display:flex;justify-content:center;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);flex-wrap:wrap}.footer-links .divider{color:var(--color-border)}.footer .copyright{margin:0;color:var(--color-text-muted)}.footer a{color:var(--color-primary);text-decoration:none;font-weight:500;transition:color .2s ease}.footer a:hover{color:var(--color-primary-hover);text-decoration:underline}.mobile-menu-btn{display:none;background:none;border:none;padding:var(--space-xs);cursor:pointer;color:var(--color-text)}.hamburger-icon{width:24px;height:24px}.mobile-menu{display:none;border-top:1px solid var(--color-border);background:var(--color-surface);max-height:0;overflow:hidden;transition:max-height .3s ease}.mobile-menu.open{max-height:400px}.mobile-nav-links{list-style:none;padding:var(--space-sm) 0;display:flex;flex-direction:column;gap:var(--space-xs)}.mobile-nav-links li a{display:block;padding:var(--space-sm) var(--space-md);color:var(--color-text-secondary);text-decoration:none;font-weight:500;font-size:var(--text-base);border-radius:8px;transition:all .2s ease}.mobile-nav-links li a:hover{background:var(--color-bg);color:var(--color-text)}.mobile-nav-links li a.active{color:var(--color-primary);background:linear-gradient(135deg,#2563eb14,#2563eb0a)}@media(max-width:768px){:root{--text-4xl: 2rem;--text-3xl: 1.75rem}.mobile-menu-btn{display:block}.desktop-nav{display:none}.mobile-menu{display:block}.nav-inner{flex-direction:row}.hero{padding:var(--space-lg) 0}.headshot{width:120px;height:120px}.cta-buttons{flex-direction:column;align-items:center}.btn{width:100%;justify-content:center}.focus-grid,.skills-list,.contact-info{grid-template-columns:1fr}.entry-header{flex-direction:column;gap:var(--space-xs)}.entry-meta{text-align:left}.entry-meta .location,.entry-meta .date{display:inline}.entry-meta .location:after{content:" • "}.skills-container{grid-template-columns:1fr}.cta-section{padding:var(--space-xl) var(--space-md);margin-top:var(--space-2xl)}.cta-section h2{font-size:var(--text-xl)}.cta-section p{font-size:var(--text-base)}}.projects{width:100%}.projects header{margin-bottom:var(--space-xl);text-align:center}.projects-intro{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:600px;margin:0 auto;line-height:1.7}.case-studies-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg);margin-bottom:var(--space-2xl)}.case-study-card{display:block;text-decoration:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:var(--space-xl);transition:all .3s ease;height:100%}.case-study-card:hover{border-color:var(--color-accent);box-shadow:0 8px 30px #00000014;transform:translateY(-4px)}.case-study-content{display:flex;flex-direction:column;height:100%}.case-study-number{font-size:var(--text-sm);font-weight:700;color:var(--color-accent);letter-spacing:.1em;margin-bottom:var(--space-sm)}.case-study-card h2{font-size:var(--text-2xl);font-weight:700;color:var(--color-text);margin:0 0 var(--space-xs);line-height:1.3}.case-study-card h3{font-size:var(--text-base);font-weight:500;color:var(--color-text-muted);margin:0 0 var(--space-md)}.case-study-card p{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7;margin:0 0 var(--space-lg);flex-grow:1}.case-study-metrics{display:flex;gap:var(--space-md);margin-bottom:var(--space-md);padding:var(--space-sm) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.case-study-metrics .metric{text-align:center}.case-study-metrics .metric-value{display:block;font-size:var(--text-xl);font-weight:700;color:var(--color-text)}.case-study-metrics .metric.met .metric-value{color:#16a34a}.case-study-metrics .metric.partial .metric-value{color:#ca8a04}.case-study-metrics .metric.unmet .metric-value{color:#dc2626}.case-study-metrics .metric-label{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.case-study-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-md)}.case-study-tags .tag{font-size:.75rem;padding:4px 10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:20px;color:var(--color-text-muted)}.view-case-study{font-size:var(--text-sm);font-weight:600;color:var(--color-primary);display:inline-flex;align-items:center;gap:var(--space-xs);margin-top:auto}.case-study-card:hover .view-case-study{color:var(--color-primary-hover)}.projects-cta{text-align:center;padding:var(--space-xl);background:var(--color-surface);border-radius:16px;border:1px solid var(--color-border)}.projects-cta h2{margin-top:0;margin-bottom:var(--space-sm)}.projects-cta p{max-width:500px;margin:0 auto var(--space-lg);color:var(--color-text-secondary)}@media(max-width:768px){.case-studies-grid{grid-template-columns:1fr}.case-study-metrics{flex-wrap:wrap}}.back-link{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);text-decoration:none;margin-bottom:var(--space-lg);transition:color .2s ease}.back-link:hover{color:var(--color-primary)}.context-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-top:var(--space-lg)}.context-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:var(--space-lg)}.context-card h4{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-sm)}.context-card p{margin:0;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.7}@media(max-width:768px){.context-grid{grid-template-columns:1fr}}.interface-comparison{margin-top:var(--space-xl)}.interface-screenshots{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg);margin:var(--space-lg) 0}.screenshot-container{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.interface-screenshot{width:100%;height:auto;display:block;cursor:pointer}.screenshot-caption{padding:var(--space-md);margin:0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6;background:var(--color-surface);border-top:1px solid var(--color-border)}.screenshot-caption strong{color:var(--color-text)}@media(max-width:900px){.interface-screenshots{grid-template-columns:1fr}}.comparison-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-top:var(--space-lg)}.comparison-card{padding:var(--space-lg);border-radius:12px}.comparison-card.positive{background:linear-gradient(135deg,#22c55e14,#22c55e08);border:1px solid rgba(34,197,94,.2)}.comparison-card.negative{background:linear-gradient(135deg,#ef444414,#ef444408);border:1px solid rgba(239,68,68,.2)}.comparison-card h4{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-sm)}.comparison-card.positive h4{color:#16a34a}.comparison-card.negative h4{color:#dc2626}.comparison-card ul{margin:0;padding-left:var(--space-md)}.comparison-card li{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}@media(max-width:768px){.comparison-grid{grid-template-columns:1fr}}.problem-list{margin-left:var(--space-md)}.problem-list li{margin-bottom:var(--space-sm);line-height:1.7;color:var(--color-text-secondary)}.requirements-header,.requirement-row{grid-template-columns:50px 1fr 120px 80px}.req-status-tag{font-size:.7rem;padding:4px 10px;border-radius:20px;font-weight:600;text-align:center;text-transform:uppercase;letter-spacing:.03em}.req-status-tag.fail{background:linear-gradient(135deg,#ef44441a,#ef44440d);border:1px solid rgba(239,68,68,.3);color:#dc2626}.req-status-tag.partial{background:linear-gradient(135deg,#eab3081a,#eab3080d);border:1px solid rgba(234,179,8,.3);color:#ca8a04}.req-status-tag.met{background:linear-gradient(135deg,#22c55e1a,#22c55e0d);border:1px solid rgba(34,197,94,.3);color:#16a34a}@media(max-width:768px){.requirements-header,.requirement-row{grid-template-columns:1fr}.req-status-tag{justify-self:start;margin-top:var(--space-xs)}}.tradeoffs-section{margin-top:var(--space-xl)}.tradeoff-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md);margin-top:var(--space-lg)}.tradeoff-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:var(--space-lg);transition:all .2s ease}.tradeoff-card:hover{border-color:var(--color-accent);box-shadow:0 4px 12px #00000014}.tradeoff-card h4{font-size:var(--text-sm);font-weight:600;color:var(--color-primary);margin-bottom:var(--space-sm)}.tradeoff-card p{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6}@media(max-width:900px){.tradeoff-cards{grid-template-columns:1fr}}.case-study-nav{display:flex;justify-content:space-between;align-items:stretch;gap:var(--space-md);margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--color-border)}.case-study-nav .nav-link{display:flex;flex-direction:column;padding:var(--space-md) var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;text-decoration:none;transition:all .2s ease;flex:1}.case-study-nav .nav-link:hover{border-color:var(--color-accent);box-shadow:0 4px 12px #00000014}.case-study-nav .nav-link.prev{align-items:flex-start}.case-study-nav .nav-link.next{align-items:flex-end;text-align:right}.case-study-nav .nav-link.all{align-items:center;max-width:150px;flex:none}.case-study-nav .nav-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-xs)}.case-study-nav .nav-title{font-size:var(--text-sm);font-weight:600;color:var(--color-primary)}@media(max-width:600px){.case-study-nav{flex-direction:column}.case-study-nav .nav-link.all{max-width:none;order:-1}}
