*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{min-height:100%;margin:0}body{margin:0}a{color:inherit}@layer themis.theme{[data-theme=khalid-portfolio]{--kp-canvas:#f5f4ef;--kp-surface:#fbfaf6;--kp-ink:#151916;--kp-text:#2e3731;--kp-muted:#68716b;--kp-line:#d8d9d2;--kp-line-strong:#bfc3bb;--kp-accent:#315c4d;--kp-accent-soft:#e4ebe6;--kp-dark:#1d2420;--kp-dark-text:#f6f5ef;--th-bg-canvas:var(--kp-canvas);--th-bg-surface:var(--kp-surface);--th-bg-subtle:#efeee8;--th-bg-inverse:var(--kp-dark);--th-text-primary:var(--kp-ink);--th-text-secondary:var(--kp-text);--th-text-muted:var(--kp-muted);--th-text-inverse:var(--kp-dark-text);--th-border-default:var(--kp-line);--th-border-strong:var(--kp-line-strong);--th-accent:var(--kp-accent);--th-accent-hover:#24483c;--th-accent-soft:var(--kp-accent-soft);--th-accent-contrast:#fff;--th-focus:#315c4d}.kp-page{background:var(--kp-canvas);min-height:100vh;color:var(--kp-ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.kp-shell{width:min(100% - 2rem,76rem);margin:0 auto}.kp-nav{border-bottom:1px solid var(--kp-line);justify-content:space-between;align-items:center;gap:1.5rem;min-height:4.6rem;display:flex}.kp-brand{color:var(--kp-ink);align-items:center;gap:.75rem;text-decoration:none;display:inline-flex}.kp-brand-mark{border:1px solid var(--kp-line-strong);letter-spacing:-.02em;border-radius:999px;place-items:center;width:2rem;height:2rem;font-size:.68rem;font-weight:700;display:grid}.kp-brand-copy{gap:.05rem;display:grid}.kp-brand-copy strong{font-size:.78rem;line-height:1.1}.kp-brand-copy span{color:var(--kp-muted);font-size:.63rem;line-height:1.1}.kp-nav-links{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.kp-nav-link{color:var(--kp-muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.72rem;text-decoration:none}.kp-nav-link:hover{color:var(--kp-ink)}.kp-hero{border-bottom:1px solid var(--kp-line);grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);align-items:end;gap:clamp(2rem,6vw,6rem);min-height:38rem;padding:clamp(4.5rem,10vw,8rem) 0 3rem;display:grid}.kp-kicker{color:var(--kp-accent);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:700}.kp-display{letter-spacing:-.075em;max-width:10.8ch;margin:1rem 0 0;font-size:clamp(3.4rem,8vw,7.6rem);font-weight:680;line-height:.9}.kp-lede{max-width:39rem;color:var(--kp-text);margin:1.65rem 0 0;font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.65}.kp-actions{flex-wrap:wrap;gap:.65rem;margin-top:1.5rem;display:flex}.kp-button{border:1px solid var(--kp-ink);background:var(--kp-ink);color:#fff;min-height:2.7rem;font:inherit;cursor:pointer;border-radius:999px;align-items:center;padding:.7rem 1rem;font-size:.74rem;font-weight:650;text-decoration:none;display:inline-flex}.kp-button--secondary{color:var(--kp-ink);border-color:var(--kp-line-strong);background:0 0}.kp-button:focus-visible,.kp-nav-link:focus-visible{outline:3px solid color-mix(in srgb, var(--kp-accent) 32%, transparent);outline-offset:3px}.kp-hero-aside{align-content:end;align-self:stretch;gap:1rem;display:grid}.kp-scope{border-top:1px solid var(--kp-line);padding-top:.8rem}.kp-scope strong{margin-bottom:.3rem;font-size:.72rem;display:block}.kp-scope span{color:var(--kp-muted);font-size:.68rem;line-height:1.5}.kp-section{border-bottom:1px solid var(--kp-line);padding:clamp(4rem,8vw,7rem) 0}.kp-section-head{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);align-items:start;gap:2rem;margin-bottom:clamp(2rem,5vw,4rem);display:grid}.kp-section-index{color:var(--kp-muted);letter-spacing:.08em;text-transform:uppercase;font:650 .65rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.kp-section-title{letter-spacing:-.055em;max-width:15ch;margin:0;font-size:clamp(2.2rem,5vw,4.4rem);line-height:.98}.kp-section-copy{max-width:42rem;color:var(--kp-muted);margin:1rem 0 0;font-size:.92rem;line-height:1.7}.kp-projects{border-top:1px solid var(--kp-line);gap:0;display:grid}.kp-project{border-bottom:1px solid var(--kp-line);grid-template-columns:minmax(11rem,.7fr) minmax(0,1.6fr) minmax(11rem,.7fr);align-items:start;gap:2rem;padding:1.5rem 0;display:grid}.kp-project-number{color:var(--kp-muted);font:650 .65rem/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.kp-project h3{letter-spacing:-.035em;margin:0;font-size:clamp(1.35rem,2.8vw,2.2rem)}.kp-project p{max-width:42rem;color:var(--kp-muted);margin:.55rem 0 0;font-size:.82rem;line-height:1.65}.kp-meta-list{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.kp-tag{border:1px solid var(--kp-line);min-height:1.8rem;color:var(--kp-text);white-space:nowrap;border-radius:999px;align-items:center;padding:.35rem .58rem;font-size:.62rem;display:inline-flex}.kp-domain-strip{border-bottom:1px solid var(--kp-line);padding:1.6rem 0 1.8rem}.kp-domain-label{color:var(--kp-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .7rem;font:650 .62rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.kp-domain-list{max-width:70rem;color:var(--kp-ink);letter-spacing:-.015em;margin:0;font-size:clamp(.92rem,1.8vw,1.15rem);line-height:1.65}.kp-domain-separator{color:var(--kp-line-strong)}.kp-domain-supporting{color:var(--kp-muted);margin:.55rem 0 0;font-size:.68rem;line-height:1.55}.kp-capability-grid{border-top:1px solid var(--kp-line);border-left:1px solid var(--kp-line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.kp-capability{border-right:1px solid var(--kp-line);border-bottom:1px solid var(--kp-line);flex-direction:column;justify-content:space-between;min-height:13rem;padding:1.4rem;display:flex}.kp-capability-index{color:var(--kp-accent);font:650 .62rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.kp-capability h3{letter-spacing:-.03em;margin:2rem 0 0;font-size:1.35rem}.kp-capability p{max-width:34rem;color:var(--kp-muted);margin:.6rem 0 0;font-size:.78rem;line-height:1.65}.kp-dark{background:var(--kp-dark);color:var(--kp-dark-text)}.kp-dark .kp-section{border-color:#ffffff29}.kp-dark .kp-section-copy,.kp-dark .kp-section-index{color:#f6f5ef9e}.kp-beyond{border-top:1px solid #ffffff2e;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.kp-beyond-item{border-right:1px solid #ffffff29;min-height:12rem;padding:1.4rem 1.2rem 1.8rem 0}.kp-beyond-item+.kp-beyond-item{padding-left:1.2rem}.kp-beyond-item:last-child{border-right:0}.kp-beyond-item strong{font-size:.9rem;display:block}.kp-beyond-item p{color:#f6f5ef9e;margin:.65rem 0 0;font-size:.75rem;line-height:1.65}.kp-contact{grid-template-columns:minmax(0,1.4fr) minmax(16rem,.6fr);align-items:end;gap:3rem;display:grid}.kp-contact h2{letter-spacing:-.06em;max-width:12ch;margin:0;font-size:clamp(2.6rem,6vw,5.4rem);line-height:.94}.kp-contact-links{border-top:1px solid var(--kp-line);gap:0;display:grid}.kp-contact-link{border-bottom:1px solid var(--kp-line);color:var(--kp-ink);justify-content:space-between;gap:1rem;padding:.8rem 0;font-size:.75rem;text-decoration:none;display:flex}.kp-case-hero{border-bottom:1px solid var(--kp-line);padding:clamp(4rem,9vw,8rem) 0 3rem}.kp-case-title{letter-spacing:-.075em;max-width:12ch;margin:1rem 0 0;font-size:clamp(3rem,8vw,7rem);line-height:.9}.kp-case-intro{grid-template-columns:minmax(0,1.4fr) minmax(16rem,.6fr);align-items:end;gap:3rem;margin-top:2rem;display:grid}.kp-case-intro p{max-width:47rem;color:var(--kp-text);margin:0;font-size:1rem;line-height:1.7}.kp-facts{gap:.65rem;display:grid}.kp-fact{border-top:1px solid var(--kp-line);grid-template-columns:6.5rem 1fr;gap:.8rem;padding-top:.65rem;font-size:.7rem;display:grid}.kp-fact span:first-child{color:var(--kp-muted)}.kp-case-grid{grid-template-columns:minmax(12rem,.55fr) minmax(0,1.45fr);gap:clamp(2rem,6vw,6rem);display:grid}.kp-case-label{color:var(--kp-muted);text-transform:uppercase;letter-spacing:.08em;font:650 .64rem/1.25 ui-monospace,SFMono-Regular,Menlo,monospace}.kp-case-body h2{letter-spacing:-.045em;margin:0;font-size:clamp(1.8rem,4vw,3.2rem);line-height:1}.kp-case-body p{max-width:48rem;color:var(--kp-muted);margin:1rem 0 0;font-size:.86rem;line-height:1.75}.kp-architecture{border:1px solid var(--kp-line);background:var(--kp-surface);margin-top:2rem;padding:1rem}.kp-architecture-flow{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:.7rem;display:grid}.kp-node{border:1px solid var(--kp-line);background:var(--kp-canvas);min-height:8rem;padding:.9rem}.kp-node span{color:var(--kp-accent);text-transform:uppercase;font:650 .58rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.kp-node strong{margin-top:1.2rem;font-size:.84rem;display:block}.kp-node p{margin:.4rem 0 0;font-size:.68rem;line-height:1.5}.kp-challenges{border-top:1px solid var(--kp-line);gap:0;margin-top:1.5rem;display:grid}.kp-challenge{border-bottom:1px solid var(--kp-line);grid-template-columns:minmax(10rem,.55fr) minmax(0,1.45fr);gap:1.5rem;padding:1rem 0;display:grid}.kp-challenge strong{font-size:.8rem}.kp-challenge p{margin:0;font-size:.76rem}@media (max-width:840px){.kp-nav{align-items:flex-start;padding:1rem 0}.kp-nav-links{justify-content:flex-end;gap:.8rem}.kp-hero,.kp-section-head,.kp-contact,.kp-case-intro,.kp-case-grid{grid-template-columns:1fr}.kp-hero{min-height:auto}.kp-project{grid-template-columns:3rem 1fr}.kp-project .kp-meta-list{grid-column:2;justify-content:flex-start}.kp-beyond{grid-template-columns:repeat(2,minmax(0,1fr))}.kp-beyond-item:nth-child(2){border-right:0}.kp-beyond-item:nth-child(n+3){border-top:1px solid #ffffff29}.kp-architecture-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.kp-shell{width:min(100% - 1.25rem,76rem)}.kp-nav-links{display:none}.kp-display{font-size:clamp(3rem,16vw,4.8rem)}.kp-capability-grid,.kp-beyond,.kp-architecture-flow,.kp-challenge{grid-template-columns:1fr}.kp-capability{min-height:11rem}.kp-beyond-item,.kp-beyond-item+.kp-beyond-item{border-top:1px solid #ffffff29;border-right:0;padding-left:0}.kp-beyond-item:first-child{border-top:0}}.kp-project-link{color:inherit;text-decoration:none}.kp-project-link h3{display:inline}.kp-project-link:hover h3{text-underline-offset:.18em;text-decoration:underline}.kp-project-link:focus-visible,.kp-contact-link:focus-visible{outline:3px solid color-mix(in srgb, var(--kp-accent) 32%, transparent);outline-offset:3px}.kp-project-status{color:var(--kp-accent);text-transform:uppercase;letter-spacing:.06em;margin-top:.75rem;font:650 .62rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.kp-footer{color:var(--kp-muted);flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1rem 0 2rem;font-size:.66rem;display:flex}}
