.hero{display:flex;flex-direction:column;padding-block:clamp(4.5rem,12vh,8rem) var(--space-10)}.hero-eyebrow{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6)}.hero-eyebrow:before{content:"";width:2.5rem;height:1px;background:var(--line-strong)}.hero-title{font-family:var(--font-display);font-weight:400;font-size:clamp(3.25rem,11vw,9.5rem);line-height:.98;letter-spacing:-.025em;color:var(--ink);max-width:20ch}.hero-lede{margin-top:var(--space-8);font-size:var(--text-lg);line-height:1.5;color:var(--muted);max-width:46ch}.capabilities{position:relative}.capabilities-grid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.capability{display:flex;flex-direction:column;gap:var(--space-4);background:var(--paper);padding:var(--space-7) var(--space-6)}.capability-index{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.14em;color:var(--accent)}.capability-title{font-family:var(--font-display);font-weight:400;font-size:var(--display-3);line-height:1.1;letter-spacing:-.01em}.showcase{position:relative}.showcase-head{margin-bottom:var(--space-8);max-width:var(--measure)}.showcase-kicker{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.showcase-kicker:before{content:"";width:2.25rem;height:1px;background:var(--line-strong)}.showcase-title{font-family:var(--font-display);font-weight:400;font-size:var(--display-2);line-height:1.08;letter-spacing:-.01em;color:var(--ink);max-width:22ch}.showcase .system-visual{aspect-ratio:16 / 9}.about{position:relative}.about-inner{display:grid;grid-template-columns:3fr 2fr;gap:var(--space-8);align-items:start}.about-title{font-family:var(--font-display);font-weight:400;font-size:var(--display-1);line-height:1.05;letter-spacing:-.015em;max-width:16ch}.about-copy{display:flex;flex-direction:column;gap:var(--space-4)}.about-text{font-size:var(--text-lg);color:var(--muted);max-width:40ch}.about .arrow-link{margin-top:var(--space-2)}.featured{position:relative}.featured-list{display:flex;flex-direction:column}.featured-project{display:flex;flex-direction:column;padding-block:var(--space-9);border-bottom:1px solid var(--line);color:var(--ink)}.featured-project:first-child{border-top:1px solid var(--line)}.featured-project:hover{color:var(--ink)}.featured-project-visual{margin-bottom:var(--space-6)}.featured-project .system-visual{aspect-ratio:16 / 9}.featured-project:nth-child(2n) .featured-project-visual{margin-left:8%}.featured-project-caption{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-5)}.featured-project-meta{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}.featured-private{border:1px solid var(--line-strong);padding:.25rem .5rem;color:var(--accent)}.featured-project-title{font-family:var(--font-display);font-weight:400;font-size:clamp(1.75rem,3.5vw,2.75rem);line-height:1.05;letter-spacing:-.01em;max-width:24ch}.featured-project-summary{color:var(--muted);max-width:40ch}.featured-project .arrow-link{margin-bottom:.25rem}.thinking{position:relative}.thinking-head{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-8);align-items:end;margin-bottom:var(--space-8)}.thinking-title{font-family:var(--font-display);font-weight:400;font-size:var(--display-2);line-height:1.08;letter-spacing:-.01em;max-width:20ch}.thinking-lede{font-size:var(--text-lg);color:var(--muted);max-width:38ch}.process-steps{list-style:none;border-top:1px solid var(--line)}.process-step{display:grid;grid-template-columns:4.5rem minmax(0,1fr) minmax(0,1.2fr);gap:var(--space-6);align-items:baseline;padding-block:var(--space-5);border-bottom:1px solid var(--line)}.process-step-index{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;color:var(--accent)}.process-step-title{font-family:var(--font-display);font-weight:400;font-size:var(--display-3);line-height:1.1;letter-spacing:-.01em}.process-step-text{color:var(--muted);max-width:44ch}.build-grid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.build-cell{background:var(--paper);padding:var(--space-7) var(--space-6)}.build-cell-title{font-family:var(--font-display);font-weight:400;font-size:var(--display-3);line-height:1.1;letter-spacing:-.01em;margin-bottom:var(--space-4)}.build-cell-items{font-size:var(--text-sm);line-height:1.9;color:var(--muted);max-width:24ch}.cta{background:var(--ink);color:var(--paper);border-top:1px solid var(--ink);padding-block:var(--section-space)}.cta-inner{display:flex;flex-direction:column;align-items:flex-start}.cta-title{font-family:var(--font-display);font-weight:400;font-size:var(--display-1);line-height:1.05;letter-spacing:-.02em;color:var(--paper);max-width:18ch}.cta-lede{margin-top:var(--space-5);font-size:var(--text-lg);color:var(--paper);opacity:.75;max-width:40ch}.cta-actions{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-8)}.cta .btn-primary{background:var(--paper);color:var(--ink)}.cta .btn-primary:hover{background:var(--accent);color:var(--paper)}.cta .btn-outline{border-color:#f6f3ec66;color:var(--paper)}.cta .btn-outline:hover{border-color:var(--paper);color:var(--paper)}.system-visual{position:relative;aspect-ratio:4 / 3;background:var(--paper-deep);border:1px solid var(--line);overflow:hidden;display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.system-visual-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,var(--line) 1px,transparent 1px);background-size:calc(100% / 6) 100%;opacity:.5}.system-visual-flow{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-4)}.system-visual-step{display:flex;align-items:center;gap:var(--space-4)}.system-visual-node{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:var(--paper);border:1px solid var(--line-strong);padding:.5rem .75rem;white-space:nowrap}.system-visual-edge{font-family:var(--font-mono);color:var(--accent);font-size:var(--text-sm)}.system-visual-step:last-child .system-visual-node{background:var(--ink);border-color:var(--ink);color:var(--paper)}@keyframes hero-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.hero-eyebrow,.hero-title,.hero-lede,.capabilities{animation:hero-rise var(--dur-slow) var(--ease-out) both}.hero-title{animation-delay:60ms}.hero-lede{animation-delay:.12s}.capabilities{animation-delay:.18s}@media (max-width: 820px){.hero-title{max-width:none}.capabilities-grid{grid-template-columns:repeat(2,1fr)}.about-inner{grid-template-columns:1fr;gap:var(--space-5)}.featured-project:nth-child(2n) .featured-project-visual{margin-left:0}.featured-project{padding-block:var(--space-7)}.thinking-head{grid-template-columns:1fr;gap:var(--space-4);align-items:start}.process-step{grid-template-columns:4rem minmax(0,1fr);gap:var(--space-4)}.process-step-text{grid-column:2}.build-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.capability,.build-cell{padding:var(--space-6) var(--space-4)}}@media (max-width: 480px){.capabilities-grid,.build-grid{grid-template-columns:1fr}.process-step{grid-template-columns:1fr;gap:var(--space-2)}.process-step-text{grid-column:1}.featured-project-caption{flex-direction:column;align-items:flex-start;gap:var(--space-4)}}:root{--paper: #f6f3ec;--paper-deep: #eee9de;--ink: #18231d;--ink-soft: #2b3a32;--muted: #6d756f;--line: rgba(24, 35, 29, .14);--line-strong: rgba(24, 35, 29, .32);--accent: #1e4d3a;--accent-hover: #163c2d;--accent-ink: #f6f3ec;--selection: rgba(30, 77, 58, .16);--font-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1.0625rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 1.875rem;--display-3: clamp(1.5rem, 3vw, 2.25rem);--display-2: clamp(2rem, 5vw, 3.5rem);--display-1: clamp(2.75rem, 8vw, 6rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--space-10: 8rem;--section-space: clamp(5rem, 10vw, 9rem);--container-max: 1200px;--container-pad: clamp(1.25rem, 4vw, 2.5rem);--measure: 62ch;--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-fast: .15s;--dur-slow: .45s;--bp-xs: 480px;--bp-sm: 640px;--bp-md: 820px;--bp-lg: 1100px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.65;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--selection)}img,svg{display:block;max-width:100%}.app{min-height:100vh;display:flex;flex-direction:column}.main{flex:1;width:100%}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding-inline:var(--container-pad)}.section{padding-block:var(--section-space);border-top:1px solid var(--line)}.page{padding-block:var(--space-10) var(--section-space)}.section-head{margin-bottom:var(--space-8);max-width:var(--measure)}.section-kicker{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.section-kicker:before{content:"";width:2.25rem;height:1px;background:var(--line-strong)}.section-title{font-family:var(--font-display);font-size:var(--display-2);font-weight:400;line-height:1.08;letter-spacing:-.01em;color:var(--ink)}.section-lede{margin-top:var(--space-5);font-size:var(--text-lg);color:var(--muted);max-width:var(--measure)}h1,h2,h3,h4{font-weight:500;line-height:1.15}.display-title{font-family:var(--font-display);font-weight:400;font-size:var(--display-1);line-height:1.02;letter-spacing:-.015em}.page-title{font-family:var(--font-display);font-weight:400;font-size:var(--display-2);line-height:1.05;letter-spacing:-.01em;margin-bottom:var(--space-5)}.page-lede{font-size:var(--text-lg);line-height:1.5;color:var(--muted);max-width:var(--measure)}.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.meta{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}a{color:var(--ink);text-decoration:none;transition:color var(--dur-fast) ease}a:hover{color:var(--accent)}.u-link{border-bottom:1px solid var(--line-strong);padding-bottom:2px;transition:color var(--dur-fast) ease,border-color var(--dur-fast) ease}.u-link:hover{color:var(--accent);border-color:var(--accent)}.arrow-link{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}.arrow-link .arrow{display:inline-block;transition:transform var(--dur-slow) var(--ease-out)}.arrow-link:hover .arrow{transform:translate(6px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.625rem;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;padding:.95rem 1.75rem;border:1px solid transparent;border-radius:2px;cursor:pointer;text-decoration:none;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease,border-color var(--dur-fast) ease}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--accent);color:var(--paper)}.btn-outline{background:transparent;border-color:var(--line-strong);color:var(--ink)}.btn-outline:hover{border-color:var(--ink);color:var(--ink)}.rule{height:1px;background:var(--line);border:0}.rule-strong{height:1px;background:var(--line-strong);border:0}.grid-lines{background-image:linear-gradient(to right,var(--line) 1px,transparent 1px);background-size:calc(var(--container-max) / 4) 100%;background-position:center top}.nav{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:20}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding-block:var(--space-5)}.nav-brand{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.01em;color:var(--ink)}.nav-links{display:flex;gap:var(--space-6)}.nav-links a{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-bottom:2px;border-bottom:1px solid transparent;transition:color var(--dur-fast) ease,border-color var(--dur-fast) ease}.nav-links a:hover{color:var(--ink)}.nav-links a.active{color:var(--ink);border-bottom-color:var(--ink)}.footer{border-top:1px solid var(--line);margin-top:auto}.footer-inner{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding-block:var(--space-7)}.footer-brand{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink)}.footer-meta{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.project-list{list-style:none}.project-list li{border-bottom:1px solid var(--line)}.project-list li:first-child{border-top:1px solid var(--line)}.project-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:var(--space-5);padding-block:var(--space-6);color:var(--ink)}.project-list a:hover{color:var(--accent)}.project-list h2{font-family:var(--font-display);font-weight:400;font-size:clamp(1.5rem,3.5vw,2.5rem);line-height:1.1;letter-spacing:-.01em}.project-list .project-meta{display:flex;gap:var(--space-5);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.chip{display:inline-block;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;border:1px solid var(--line-strong);border-radius:0;padding:.375rem .75rem;margin:0 .5rem .5rem 0;color:var(--muted)}.project-stack{margin:var(--space-6) 0}.back-link{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-7)}.back-link:hover{color:var(--ink)}.error-page{padding-block:var(--section-space);max-width:var(--measure)}.error-page h1{font-family:var(--font-display);font-weight:400;font-size:var(--display-2);margin-bottom:var(--space-4)}@media (max-width: 820px){.project-list a{grid-template-columns:1fr;gap:var(--space-3)}}@media (max-width: 640px){.nav-inner{flex-direction:column;align-items:flex-start;gap:var(--space-3);padding-block:var(--space-4)}.nav-links{gap:var(--space-5)}.footer-inner{flex-direction:column;gap:var(--space-2)}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
