@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600&display=swap";:root{--color-navy: #101820;--color-charcoal: #1b242d;--color-paper: #f0eee8;--color-steel: #d8dde0;--color-graphite: #293139;--color-blue: #4d8dff;--color-white: #ffffff;--color-rule: rgba(41, 49, 57, .14);--color-rule-strong: rgba(41, 49, 57, .22);--shadow-panel: 0 18px 50px rgba(16, 24, 32, .18);--radius-card: 12px;--radius-panel: 16px;--site-width: min(100% - 2rem, 78rem);--font-heading: "Barlow Condensed", "Roboto Condensed", "Arial Narrow", sans-serif;--font-body: "IBM Plex Sans", "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;min-width:320px;background:linear-gradient(90deg,rgba(16,24,32,.035) 0,rgba(16,24,32,.035) 1px,transparent 1px),linear-gradient(rgba(16,24,32,.022) 0,rgba(16,24,32,.022) 1px,transparent 1px),var(--color-paper);background-size:24px 24px;color:var(--color-graphite);font-family:var(--font-body);line-height:1.65;font-size:16px;text-rendering:optimizeLegibility;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.app-shell{min-height:100vh}.skip-link{position:absolute;left:1rem;top:1rem;z-index:50;padding:.75rem 1rem;border-radius:.5rem;background:var(--color-blue);color:var(--color-white);transform:translateY(-180%)}.skip-link:focus-visible{transform:translateY(0)}.site-frame{width:var(--site-width);margin:0 auto}.site-header{position:sticky;top:0;z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#101820ed;border-bottom:1px solid rgba(216,221,224,.16)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;min-height:4.5rem;gap:1rem}.site-brand{display:inline-flex;flex-direction:column;gap:.2rem}.site-brand__name,.site-brand__role,.nav-menu a,.nav-toggle__label,.section-label,.project-kicker,.project-block__label,.stack-card__index,.timeline-card__date,.timeline-card__range,.project-caption,.ledger-tags span,.process-card__index,.contact-form label,.contact-form label span,.hero-annotations span,.site-footer p,.site-footer a{font-family:var(--font-mono);text-transform:uppercase}.site-brand__name{color:var(--color-white);font-family:var(--font-heading);font-size:1rem;letter-spacing:.045em;line-height:1}.site-brand__role{color:#f0eee8cc;font-size:.68rem;letter-spacing:.12em}.site-nav{position:relative}.nav-toggle{display:inline-flex;align-items:center;gap:.65rem;min-height:2.85rem;min-width:3rem;padding:.625rem .75rem;border:1px solid rgba(216,221,224,.18);border-radius:.625rem;background:transparent;color:var(--color-white)}.nav-toggle__bars{display:inline-flex;flex-direction:column;gap:.25rem}.nav-toggle__bars span{width:1.1rem;height:2px;background:currentColor}.nav-toggle__label,.nav-menu a{font-size:.78rem;letter-spacing:.12em}.nav-menu{position:absolute;right:0;top:calc(100% + .75rem);width:min(20rem,calc(100vw - 2rem));display:none;flex-direction:column;padding:.75rem;border:1px solid rgba(216,221,224,.16);border-radius:var(--radius-card);background:#1b242dfa;box-shadow:0 20px 48px #10182047}.nav-menu--open{display:flex}.nav-menu a{display:flex;align-items:center;min-height:3rem;padding:0 .75rem;color:var(--color-paper);border-bottom:1px solid rgba(216,221,224,.1)}.nav-menu a:last-child{border-bottom:0}.section{position:relative;padding:4.4rem 0}.section[id]{scroll-margin-top:5.5rem}.section--dark{background:var(--color-navy);color:var(--color-paper)}.section--hero{padding-top:2.4rem;min-height:min(100dvh,60rem);display:flex;align-items:center}.section-copy{display:grid;gap:1rem}.section-label{margin:0;color:var(--color-blue);font-size:.78rem;letter-spacing:.16em}.section-heading,.hero-heading,.feature-project h3,.ledger-card h3,.stack-card h3,.timeline-card h3,.process-card h3,.contact-card__name,.site-footer__title{margin:0;font-family:var(--font-heading);font-weight:700;line-height:.94;letter-spacing:.02em;text-transform:uppercase}.section-heading{max-width:12ch;font-size:clamp(2.15rem,10vw,3.5rem)}.section-intro,.hero-body,.project-block,.timeline-card>div,.contact-card__details{display:grid;gap:.6rem}.section-intro p,.hero-body p,.stack-card p,.timeline-card p,.feature-project p,.feature-project li,.ledger-card p,.problem-list li,.process-card p,.contact-card p,.contact-form__helper,.site-footer p,.site-footer a{margin:0;font-size:1rem}.split-section,.split-section--dark,.split-section--contact,.hero-layout{display:grid;gap:1.6rem}.hero-layout{align-items:center}.hero-copy{display:grid;gap:1.1rem}.hero-heading{max-width:8.4ch;font-size:clamp(2.8rem,16vw,5rem);text-wrap:balance}.hero-credibility{margin:0;padding-top:.9rem;border-top:1px solid var(--color-rule-strong);font-size:.92rem;letter-spacing:.03em;font-family:var(--font-mono)}.hero-actions{display:grid;gap:.875rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.25rem;padding:0 1.1rem;border:1px solid transparent;border-radius:.5rem;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;text-align:center;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.button--primary{background:var(--color-blue);color:var(--color-white);box-shadow:0 10px 22px #4d8dff38}.button--secondary{border-color:#10182033;background:#ffffff85}.hero-media{margin:0}.hero-media__frame,.contact-photo,.image-frame{position:relative;overflow:hidden;border-radius:var(--radius-panel)}.hero-media__frame{min-height:18.5rem;border:1px solid rgba(41,49,57,.22);background:linear-gradient(180deg,#1b242dfa,#101820eb);box-shadow:var(--shadow-panel)}.trace-grid{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(77,141,255,.15) 0,rgba(77,141,255,.15) 1px,transparent 1px),linear-gradient(rgba(216,221,224,.05) 0,rgba(216,221,224,.05) 1px,transparent 1px);background-size:48px 48px}.hero-media__image,.contact-photo__image,.project-image{width:100%;height:100%;object-fit:cover}.hero-media__image{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.7}.hero-annotations{position:absolute;right:.9rem;bottom:.9rem;display:grid;justify-items:end;gap:.5rem}.hero-annotations span,.ledger-tags span{display:inline-flex;align-items:center;min-height:1.9rem;padding:0 .65rem;border:1px solid rgba(216,221,224,.16);border-radius:.4rem;background:#101820b8;color:var(--color-paper);font-size:.68rem;letter-spacing:.12em}.stack-list,.timeline,.feature-list,.ledger-grid,.problem-list,.process-list{position:relative;display:grid;gap:1rem}.stack-list:before,.timeline:before,.process-list:before{content:"";position:absolute;left:1.35rem;top:.75rem;bottom:.75rem;width:1px;background:linear-gradient(180deg,#4d8dffbf,#29313926)}.stack-card,.timeline-card,.process-card,.contact-form,.ledger-card{border-radius:var(--radius-card)}.stack-card,.timeline-card,.process-card{position:relative;display:grid;grid-template-columns:2.75rem minmax(0,1fr);gap:1rem;padding:1.1rem 1rem 1.1rem 1.05rem;border:1px solid var(--color-rule);background:#ffffffbd}.stack-card__index,.timeline-card__date,.process-card__index{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:999px;background:var(--color-navy);color:var(--color-white);font-size:.76rem;letter-spacing:.08em}.timeline-card{background:#1b242ddb;border-color:#d8dde01f}.timeline-card__range,.timeline-card__company{color:#d8dde0cc}.project-figure{margin:0;display:grid;gap:.5rem}.image-frame{min-height:13rem;border:1px solid rgba(41,49,57,.12);background:#ffffff8c}.project-caption{color:#29313999;font-size:.7rem;letter-spacing:.14em}.section--dark .project-caption{color:#d8dde0a8}.feature-list{margin-top:2rem}.feature-project{display:grid;gap:1.6rem;padding-top:1.9rem;border-top:1px solid rgba(41,49,57,.12)}.feature-project:first-child{padding-top:0;border-top:0}.feature-project__content{display:grid;gap:1rem}.feature-project h3{max-width:14ch;font-size:clamp(1.8rem,8vw,2.5rem);text-wrap:balance}.project-kicker,.project-block__label,.timeline-card__range,.project-caption,.ledger-tags span,.contact-form label{color:var(--color-blue);font-size:.76rem;letter-spacing:.14em}.project-list{display:grid;gap:.45rem;margin:0;padding-left:1.15rem}.image-frame--interface{padding:.8rem;background:linear-gradient(180deg,#1018200a,#ffffffd6)}.image-frame--interface .project-image,.image-frame--product .project-image{object-fit:contain}.image-frame--product{min-height:8.5rem;padding:.75rem;background:#ffffff0f;border-color:#d8dde024}.image-frame--wide,.image-frame--wide-card{min-height:8.25rem}.ledger-grid{margin-top:1.5rem;gap:1px;border:1px solid rgba(216,221,224,.12);background:#d8dde014}.ledger-card{display:grid;gap:1rem;padding:1.25rem;background:#101820fa}.ledger-card__body{display:grid;gap:.85rem}.ledger-card h3{font-size:1.6rem}.ledger-tags{display:flex;flex-wrap:wrap;gap:.5rem}.problem-list,.process-list{margin:0;padding:0;list-style:none}.problem-list{border-top:1px solid rgba(41,49,57,.16)}.problem-list li{padding:.95rem 0;border-bottom:1px solid rgba(41,49,57,.16)}.contact-card{display:grid;gap:1rem}.contact-card__name{font-size:1.55rem}.contact-card__details a,.site-footer a{color:var(--color-blue);width:fit-content}.contact-photo{min-height:14rem;border:1px solid rgba(41,49,57,.15);background:linear-gradient(180deg,#1b242df5,#101820eb)}.contact-form{display:grid;gap:1rem;padding:1.2rem;border:1px solid rgba(41,49,57,.14);background:#ffffffb3}.contact-form__field{display:grid;gap:.5rem}.contact-form label span{color:#293139a8;letter-spacing:.04em}.contact-form input,.contact-form textarea{width:100%;min-height:3.2rem;padding:.9rem 1rem;border:1px solid rgba(41,49,57,.18);border-radius:.5rem;background:var(--color-white);color:var(--color-graphite)}.contact-form textarea{min-height:11rem;resize:vertical}.contact-form__helper{color:#293139bf}.contact-form__status{display:grid;gap:.5rem}.form-state{display:none;padding:.85rem .95rem;border-radius:.5rem;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.02em}.contact-form.is-valid .form-state--success{display:block;background:#4d8dff1f}.contact-form.is-invalid .form-state--error{display:block;background:#10182014}.contact-form.is-touched input[aria-invalid=true],.contact-form.is-touched textarea[aria-invalid=true]{border-color:var(--color-blue)}.button--submit{width:100%}.site-footer{padding:1.75rem 0 2.4rem;border-top:1px solid rgba(41,49,57,.12)}.site-footer__inner{display:grid;gap:1rem}.site-footer__title{font-size:1.55rem}.site-footer__meta{display:grid;gap:.5rem}a:hover,a:focus-visible,button:hover,button:focus-visible{outline:none}.button--primary:hover,.button--primary:focus-visible{background:var(--color-navy);transform:translateY(-1px)}.button--secondary:hover,.button--secondary:focus-visible{border-color:#10182070}.nav-menu a:hover,.nav-menu a:focus-visible,.contact-card__details a:hover,.contact-card__details a:focus-visible,.site-footer a:hover,.site-footer a:focus-visible{color:var(--color-blue)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--color-blue);outline-offset:3px}@media(min-width:768px){.section{padding:5.6rem 0}.site-header__inner{min-height:4.75rem}.site-brand__name{font-size:1.08rem}.site-brand__role{font-size:.74rem}.section-heading{font-size:clamp(2.45rem,6vw,3.5rem)}.section-intro p,.hero-body p,.stack-card p,.timeline-card p,.feature-project p,.feature-project li,.ledger-card p,.problem-list li,.process-card p,.contact-card p,.contact-form__helper,.site-footer p,.site-footer a{font-size:1.03rem}.hero-actions{grid-template-columns:repeat(2,minmax(0,1fr));max-width:33rem}.hero-media__frame{min-height:22rem}.stack-card,.timeline-card,.process-card{grid-template-columns:3rem minmax(0,1fr);gap:1.15rem;padding:1.35rem 1.45rem}.ledger-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer__inner{grid-template-columns:minmax(0,1fr) auto;align-items:end}.site-footer__meta{justify-items:end}}@media(min-width:992px){:root{--site-width: min(100% - 7rem, 80rem)}.section{padding:7.25rem 0}.section--hero{padding-top:4.4rem}.nav-toggle{display:none}.nav-menu{position:static;width:auto;display:flex;flex-direction:row;align-items:center;gap:1.125rem;padding:0;border:0;background:transparent;box-shadow:none}.nav-menu a{min-height:auto;padding:0;border:0;color:#f0eee8d1}.hero-layout{grid-template-columns:minmax(0,4.55fr) minmax(0,6.05fr);gap:5rem}.hero-copy{max-width:34rem}.hero-heading{max-width:7.6ch;font-size:clamp(4.2rem,5.2vw,5.7rem)}.hero-media__frame{min-height:37rem}.split-section,.split-section--dark{grid-template-columns:minmax(0,4.25fr) minmax(0,7.75fr);gap:4.5rem;align-items:start}.split-section--contact{grid-template-columns:minmax(0,4.7fr) minmax(0,7.3fr);gap:4.5rem;align-items:start}.section-sidecar{display:grid;gap:1.5rem}.split-section>.section-copy,.split-section--contact>.section-sidecar{position:sticky;top:7rem;align-self:start}.split-section--dark>.section-sidecar{position:sticky;top:7rem;align-self:start}.feature-project{grid-template-columns:minmax(0,6.7fr) minmax(0,4.8fr);gap:4rem;padding-top:4.5rem}.feature-project--reverse{grid-template-columns:minmax(0,4.8fr) minmax(0,6.7fr)}.feature-project--reverse .feature-project__media{order:2}.feature-project--reverse .feature-project__content{order:1}.feature-project__media{display:grid;gap:1.2rem;align-content:start}.feature-project__content{gap:1.1rem;align-content:start}.feature-project h3{font-size:clamp(2.2rem,2.7vw,2.9rem)}.ledger-grid{margin-top:2.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}.ledger-card{padding:1.55rem}.ledger-card h3{font-size:1.72rem}.problem-list,.process-list,.timeline,.stack-list{margin-top:.35rem}.contact-card{max-width:33rem}.contact-photo{min-height:23rem}.contact-form{padding:2.1rem}}@media(min-width:1280px){.ledger-card:nth-child(1){grid-column:span 2}.ledger-card:nth-child(1) .ledger-card__body,.ledger-card:nth-child(5) .ledger-card__body{max-width:32rem}.ledger-card:nth-child(5){grid-column:span 2}}@media(max-width:991px){.section--dark .split-section,.split-section--contact,.site-footer__inner{gap:2rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.button--primary:hover,.button--primary:focus-visible{transform:none}}
