:root{--bg: #09090b;--bg-subtle: #0c0c0f;--surface: #111114;--surface-raised: #16161a;--surface-hover: #1a1a1f;--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .12);--text: #ededec;--text-muted: #8e8e93;--text-dim: #5c5c62;--accent: #9aabbf;--accent-muted: rgba(154, 171, 191, .12);--accent-line: rgba(154, 171, 191, .35);--font-sans: "DM Sans", system-ui, -apple-system, sans-serif;--max-width: 1080px;--section-pad: clamp(5.5rem, 11vw, 8rem);--radius: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .45);--shadow-md: 0 8px 32px rgba(0, 0, 0, .4)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);font-size:1rem;line-height:1.65;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:600;letter-spacing:-.02em}#root{min-height:100vh}.page{position:relative;min-height:100vh;background-color:var(--bg);background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:72px 72px;background-position:center top}.page:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse 90% 60% at 50% -10%,rgba(154,171,191,.06),transparent 55%);z-index:0}.page>*{position:relative;z-index:1}main{display:block}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 clamp(1.5rem,4vw,2.5rem)}.section{padding:var(--section-pad) 0}.section-header{max-width:40rem;margin-bottom:clamp(2.5rem,5vw,3.5rem)}.section-label{display:inline-flex;align-items:center;gap:.5rem;font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:1.125rem}.section-label:before{content:"";width:1.25rem;height:1px;background:var(--accent-line)}.section-title{font-size:clamp(1.95rem,3.8vw,2.6rem);font-weight:600;line-height:1.12;letter-spacing:-.035em;margin:0 0 1.25rem;color:var(--text)}.section-lead{font-size:1.0625rem;color:var(--text-muted);max-width:42rem;margin:0;line-height:1.75}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.35rem;font-family:var(--font-sans);font-size:.875rem;font-weight:500;letter-spacing:-.01em;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.btn-primary{background:var(--text);color:var(--bg);border-color:var(--text);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:#f4f4f5}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--surface-hover);border-color:#ffffff2e}.pill,.tag,.badge,.stack-badge,.stack-group-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:6px 10px;border-radius:999px;line-height:1;font-size:.74rem;font-weight:500;letter-spacing:.02em;border:1px solid rgba(148,163,184,.18);background:#0f172a73;color:var(--text-muted);white-space:nowrap}.stack-group-badge{font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);min-height:22px;padding:5px 9px}.pill-direction,.stack-badge-direction,.stack-group-badge-direction{border-style:dashed;background:transparent;color:var(--text-dim)}.stack-badges li:hover .stack-badge:not(.stack-badge-direction){color:var(--text);border-color:#94a3b852}@media(max-width:640px){.hero-cta .btn{width:100%}}.site-header{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--border)}.site-header-inner{display:flex;align-items:center;justify-content:space-between;padding:1.125rem 0}.site-logo{display:flex;align-items:center;gap:.75rem;font-weight:600;font-size:.875rem;letter-spacing:-.02em}.site-logo-mark{display:inline-flex;align-items:center;justify-content:center;width:2.125rem;height:2.125rem;border-radius:7px;background:var(--surface);border:1px solid var(--border-strong);font-size:.7rem;font-weight:700;letter-spacing:.06em;color:var(--text)}.site-logo-text{color:var(--text-muted)}.site-nav{display:flex;align-items:center;gap:.25rem;font-size:.8125rem}.site-nav a{color:var(--text-muted);padding:.45rem .75rem;border-radius:6px;transition:color .18s ease,background .18s ease}.site-nav a:hover{color:var(--text);background:var(--surface)}.site-nav-cta{margin-left:.5rem;color:var(--text)!important;border:1px solid var(--border-strong);background:var(--surface)}.site-nav-cta:hover{background:var(--surface-hover)!important}@media(max-width:720px){.site-nav a:not(.site-nav-cta){display:none}.site-nav-cta{margin-left:0}}.hero{position:relative;padding-top:clamp(6rem,14vw,10rem);padding-bottom:clamp(5rem,10vw,7rem);overflow:hidden}.hero-glow{position:absolute;top:-20%;left:50%;transform:translate(-50%);width:min(900px,100%);height:480px;background:radial-gradient(ellipse at center,rgba(154,171,191,.09) 0%,transparent 68%);pointer-events:none}.hero-inner{position:relative;max-width:52rem}.hero-eyebrow{font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 1.5rem}.hero-title{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(2.5rem,7vw,3.75rem);font-weight:700;line-height:1;margin:0 0 1.75rem;letter-spacing:normal;color:var(--text);font-synthesis:none;font-variant-ligatures:none;font-feature-settings:normal;text-shadow:none;transform:none}.hero-roles{list-style:none;padding:0;margin:0 0 2.25rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.hero-claim{font-size:clamp(1.2rem,2.4vw,1.5rem);font-weight:500;line-height:1.45;letter-spacing:-.025em;color:var(--text);max-width:38rem;margin:0 0 1.5rem}.hero-support{font-size:1.0625rem;color:var(--text-muted);max-width:40rem;margin:0 0 2.75rem;line-height:1.8}.hero-cta{display:flex;flex-wrap:wrap;gap:.75rem}.about{border-top:1px solid var(--border);background:linear-gradient(180deg,var(--bg-subtle) 0%,var(--bg) 100%)}.about-lead{margin-bottom:0}.about-grid{display:grid;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.about-card{background:var(--surface);padding:1.75rem 1.875rem;transition:background .18s ease}.about-card:hover{background:var(--surface-hover)}@media(min-width:640px){.about-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:960px){.about-grid{grid-template-columns:repeat(3,1fr)}.about-card:last-child{grid-column:span 1}}.about-card-title{font-size:.9375rem;font-weight:600;letter-spacing:-.02em;margin:0 0 .5rem;color:var(--text)}.about-card-text{font-size:.875rem;color:var(--text-muted);margin:0;line-height:1.65}.projects{border-top:1px solid var(--border)}.projects-grid{display:grid;gap:1.25rem;grid-template-columns:1fr}@media(min-width:768px){.projects-grid{grid-template-columns:repeat(3,1fr);gap:1rem}}.project-card{position:relative;display:flex;flex-direction:column;height:100%;padding:1.875rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.project-card:before{content:"";position:absolute;top:0;left:1.875rem;right:1.875rem;height:1px;background:linear-gradient(90deg,transparent,var(--accent-line) 20%,var(--accent-line) 80%,transparent);opacity:0;transition:opacity .2s ease}.project-card:hover{background:var(--surface-hover);border-color:var(--border-strong);box-shadow:var(--shadow-md)}.project-card:hover:before{opacity:1}.project-card-top{display:flex;align-items:baseline;gap:.875rem;margin-bottom:.75rem}.project-index{font-size:.6875rem;font-weight:600;letter-spacing:.08em;color:var(--text-dim);font-variant-numeric:tabular-nums}.project-name{font-size:1.1875rem;font-weight:600;letter-spacing:-.03em;margin:0;color:var(--text)}.project-subtitle{font-size:.8125rem;font-weight:500;color:var(--accent);margin:0 0 1.125rem;line-height:1.55}.project-description{font-size:.875rem;color:var(--text-muted);margin:0 0 1.75rem;flex:1;line-height:1.7}.project-tags{list-style:none;padding:1.25rem 0 0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem;border-top:1px solid var(--border)}.project-tags li{display:flex;align-items:center}a.project-card-interactive{position:relative;z-index:2;pointer-events:auto;text-decoration:none;color:inherit;cursor:pointer}.debug-case-study{min-height:100vh;padding:4rem 1.5rem;background:var(--bg);color:var(--text)}.debug-case-study h1{max-width:var(--max-width);margin:0 auto;font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.1}.project-case-cta{display:inline-flex;align-self:flex-start;margin-top:1.25rem;padding:.55rem .95rem;font-size:.8125rem;font-weight:500;color:var(--accent);border:1px solid rgba(154,171,191,.25);border-radius:6px;background:var(--accent-muted);transition:color .18s ease,border-color .18s ease,background .18s ease}.project-card-interactive:hover .project-case-cta,.project-card-interactive:focus-visible .project-case-cta{color:var(--text);border-color:var(--border-strong);background:var(--surface-hover)}.project-card-interactive:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px}.systems{border-top:1px solid var(--border);background:linear-gradient(180deg,var(--bg) 0%,var(--bg-subtle) 50%,var(--bg) 100%)}.systems-panel{display:grid;gap:2rem;align-items:start}@media(min-width:900px){.systems-panel{grid-template-columns:280px 1fr;gap:3rem}}.flow-visual{padding:1.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.flow-label{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin:0 0 1.25rem}.flow-list{list-style:none;padding:0;margin:0}.flow-item{display:flex;align-items:center;gap:.875rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.flow-item:last-child{border-bottom:none;padding-bottom:0}.flow-step-num{font-size:.6875rem;font-weight:600;color:var(--text-dim);font-variant-numeric:tabular-nums;min-width:1.5rem}.flow-step-name{font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text)}.systems-lead{margin-bottom:2rem}.principles-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:640px){.principles-grid{grid-template-columns:repeat(2,1fr)}}.principle-card{padding:1.5rem 1.625rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .18s ease,background .18s ease}.principle-card:hover{background:var(--surface-hover);border-color:var(--border-strong)}.principle-index{display:block;font-size:.6875rem;font-weight:600;letter-spacing:.08em;color:var(--text-dim);margin-bottom:.75rem}.principle-title{font-size:.9375rem;font-weight:600;letter-spacing:-.02em;margin:0 0 .5rem;color:var(--text)}.principle-text{font-size:.875rem;color:var(--text-muted);margin:0;line-height:1.65}.text-rows{margin:0;padding:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.text-row{list-style:none;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);color:var(--text-muted);font-size:.9375rem;line-height:1.65;transition:background .18s ease}.text-row::marker{content:none}.text-row:last-child{border-bottom:none}.text-row:hover{background:var(--surface-hover)}.text-row:before,.text-row:after{content:none;display:none}.relevance{border-top:1px solid var(--border)}.relevance-inner{max-width:48rem}.stack{border-top:1px solid var(--border);background:linear-gradient(180deg,var(--bg-subtle) 0%,var(--bg) 100%)}.stack-lead{margin-bottom:0}.stack-groups{display:grid;gap:1.25rem}@media(min-width:800px){.stack-groups{grid-template-columns:1fr 1fr;gap:1rem}}.stack-group{padding:2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color .18s ease}.stack-group:hover{border-color:var(--border-strong)}.stack-group-active{border-color:#9aabbf33}.stack-group-enterprise{background:var(--bg-subtle)}.stack-group-head{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.stack-group-title{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em;margin:0;color:var(--text)}.stack-group-desc{font-size:.875rem;color:var(--text-muted);margin:0 0 1.5rem;line-height:1.65}.stack-direction-note{font-size:.8125rem;color:var(--text-dim);margin:1.5rem 0 0;padding-top:1.5rem;border-top:1px solid var(--border);line-height:1.7}.stack-badges{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}.stack-badges li{display:flex;align-items:center}.contact{border-top:1px solid var(--border)}.contact-inner{max-width:40rem}.contact-lead{margin-bottom:0}.contact-card{margin-top:0;padding:2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.contact-details{font-style:normal;margin:0 0 1.75rem;color:var(--text-muted);font-size:.9375rem;line-height:1.85}.contact-name{font-size:1.125rem;font-weight:600;letter-spacing:-.02em;color:var(--text);margin:0 0 .35rem}.contact-details a{color:var(--accent);transition:color .18s ease}.contact-details a:hover{color:var(--text)}.contact-btn{display:inline-flex}.site-footer{padding:2.5rem 0 3rem;border-top:1px solid var(--border)}.site-footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;font-size:.78rem;color:var(--text-dim);letter-spacing:.01em}.site-footer-domain{margin:0;color:var(--text-muted)}.case-study-hero{padding-top:clamp(5rem,12vw,8rem);padding-bottom:clamp(3rem,8vw,5rem);border-bottom:1px solid var(--border)}.case-study-hero-inner{max-width:48rem}.case-study-index{font-size:.6875rem;font-weight:600;letter-spacing:.08em;color:var(--text-dim);margin:0 0 1rem;font-variant-numeric:tabular-nums}.case-study-eyebrow{font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 1.25rem}.case-study-title{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(2.25rem,6vw,3.25rem);font-weight:700;line-height:1.02;letter-spacing:normal;margin:0 0 1rem;color:var(--text)}.case-study-subtitle{font-size:1.125rem;font-weight:500;color:var(--accent);margin:0 0 1.5rem;line-height:1.55}.case-study-mission{font-size:1.0625rem;color:var(--text-muted);margin:0;line-height:1.75;max-width:42rem}.case-study-section{border-top:1px solid var(--border)}.case-study-section-alt{background:linear-gradient(180deg,var(--bg-subtle) 0%,var(--bg) 100%)}.case-study-section-inner{max-width:52rem}.case-study-section-header{max-width:40rem;margin-bottom:clamp(2rem,4vw,2.75rem)}.case-study-section-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:600;line-height:1.15;letter-spacing:-.03em;margin:0 0 1.25rem;color:var(--text)}.case-study-status-card .text-row{padding:.875rem 1rem;font-size:.875rem}.case-study-arch-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:640px){.case-study-arch-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:960px){.case-study-arch-grid{grid-template-columns:repeat(3,1fr)}}.case-study-arch-card{padding:1.5rem 1.625rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:border-color .18s ease,background .18s ease}.case-study-arch-card:hover{background:var(--surface-hover);border-color:var(--border-strong)}.case-study-arch-index{display:block;font-size:.6875rem;font-weight:600;letter-spacing:.08em;color:var(--text-dim);margin-bottom:.75rem;font-variant-numeric:tabular-nums}.case-study-arch-name{font-size:.9375rem;font-weight:600;letter-spacing:-.02em;margin:0 0 .5rem;color:var(--text)}.case-study-arch-text{font-size:.875rem;color:var(--text-muted);margin:0;line-height:1.65}.case-study-maturity{display:inline-flex;align-items:center;gap:.75rem;margin:0;font-size:.9375rem;font-weight:600;color:var(--text)}.case-study-maturity-label{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.case-study-status-grid{display:grid;gap:1rem}@media(min-width:768px){.case-study-status-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}}.case-study-status-card{padding:1.75rem 1.875rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.case-study-status-title{font-size:.9375rem;font-weight:600;letter-spacing:-.02em;margin:0 0 1.125rem;color:var(--text)}.case-study-learnings-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:640px){.case-study-learnings-grid{grid-template-columns:repeat(2,1fr)}}.case-study-learning-card{padding:1.5rem 1.625rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .18s ease,background .18s ease}.case-study-learning-card:hover{background:var(--surface-hover);border-color:var(--border-strong)}.case-study-learning-index{display:block;font-size:.6875rem;font-weight:600;letter-spacing:.08em;color:var(--text-dim);margin-bottom:.75rem;font-variant-numeric:tabular-nums}.case-study-learning-title{font-size:.9375rem;font-weight:600;letter-spacing:-.02em;margin:0 0 .5rem;color:var(--text)}.case-study-learning-text{font-size:.875rem;color:var(--text-muted);margin:0;line-height:1.65}.case-study-screenshots-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:768px){.case-study-screenshots-grid{grid-template-columns:repeat(3,1fr)}}.case-study-screenshot-card{padding:1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.case-study-screenshot-frame{display:flex;align-items:center;justify-content:center;aspect-ratio:16 / 10;margin-bottom:1rem;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--bg-subtle)}.case-study-screenshot-placeholder-icon{width:2.5rem;height:2.5rem;border:1px solid var(--border-strong);border-radius:6px;background:linear-gradient(135deg,var(--surface-hover) 0%,var(--surface) 100%);opacity:.7}.case-study-screenshot-label{font-size:.875rem;font-weight:600;color:var(--text);margin:0 0 .35rem}.case-study-screenshot-caption{font-size:.8125rem;color:var(--text-dim);margin:0}.case-study-footer-nav{border-top:1px solid var(--border);padding-top:0;padding-bottom:clamp(4rem,8vw,6rem)}.case-study-footer-nav-inner{display:flex;justify-content:flex-start}.case-study-back{text-decoration:none}@media(max-width:640px){.hero-title{font-size:clamp(2.25rem,9.5vw,2.875rem);line-height:1.02;font-weight:700}.about-card,.project-card,.principle-card,.stack-group,.contact-card,.flow-visual{padding:1.5rem}.project-card:before{left:1.5rem;right:1.5rem}.text-row,.case-study-status-card,.case-study-arch-card,.case-study-learning-card,.case-study-screenshot-card{padding:1.25rem}}
