@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;650;700;750;800&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root{color-scheme:dark;--bg:#101312;--surface:#181d1a;--elevated:#202722;--text:#f1f4ed;--muted:#a9b4ab;--line:#343d35;--accent:#c2ef75;--max:1240px;font-family:'DM Sans',sans-serif;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--bg);color:var(--text);line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}.wrap{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.skip{position:fixed;top:-100px;left:24px;background:var(--accent);color:var(--bg);padding:12px;z-index:100}.skip:focus{top:10px}.header{border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:20}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-family:'Manrope',sans-serif;font-weight:750;letter-spacing:-.04em;font-size:1.2rem}.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:var(--accent);color:var(--bg);border-radius:4px;font-family:'IBM Plex Mono',monospace;font-size:1rem;letter-spacing:-.1em}.brand small{font-size:.75rem;color:var(--muted);display:block;line-height:1.3;letter-spacing:.02em;font-weight:500}.nav{display:flex;gap:30px;align-items:center;font-size:.875rem}.nav a{color:var(--muted);transition:color .2s}.nav a:hover,.nav a[aria-current]{color:var(--text)}.nav .contact-nav{color:var(--text);border:1px solid var(--line);padding:9px 17px;border-radius:4px}.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:4px;padding:7px 12px;color:var(--text)}.eyebrow,.mono{font-family:'IBM Plex Mono',monospace}.eyebrow{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);display:flex;gap:12px;align-items:center}.eyebrow:before{content:'';width:24px;height:1px;background:currentColor}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:center;padding:90px 0 74px}.hero h1{font-family:'Manrope',sans-serif;font-size:clamp(3rem,5.25vw,4.65rem);font-weight:650;line-height:1.1;letter-spacing:-.065em;margin:25px 0}.hero h1 em{font-style:normal;color:var(--accent)}.lead{color:var(--muted);font-size:1.0625rem;max-width:570px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border:1px solid var(--line);border-radius:4px;padding:13px 21px;font-size:.875rem;font-weight:700;transition:background .2s,transform .2s}.button:hover{background:var(--elevated);transform:translateY(-2px)}.button.primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.button.primary:hover{background:#d3ff8f}.arrow{font-size:1.25rem;font-weight:400}.architecture{border:1px solid var(--line);border-radius:8px;padding:24px;background:var(--surface)}.architecture-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:24px;color:var(--muted);font-size:.75rem;letter-spacing:.06em}.architecture-label{font-size:.75rem;color:var(--accent)}.layer{display:flex;gap:16px;align-items:center;padding:16px 18px;border:1px solid #46513f;border-radius:4px;background:#1d241d}.layer-icon{color:var(--accent);font-family:'IBM Plex Mono',monospace;font-size:1.2rem;width:32px;flex-shrink:0}.layer strong{display:block;font-size:.9375rem;font-weight:500}.layer small{display:block;font-size:.8125rem;color:var(--muted);margin-top:2px}.connector{height:26px;display:flex;align-items:center;justify-content:center;color:#859279;font-size:1rem}.diagram-note{font-size:.75rem;color:var(--muted);margin:18px 0 0}.hero-foot{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:22px 0;font-size:.75rem;color:var(--muted);letter-spacing:.03em}.hero-foot span:last-child{color:var(--accent)}.section{border-top:1px solid var(--line);padding:80px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:34px}.section-heading h2,.about h2,.contact h2{font-family:'Manrope',sans-serif;font-size:clamp(2rem,3vw,2.7rem);font-weight:500;letter-spacing:-.05em;line-height:1.2;margin:12px 0 0}.section-heading p{font-size:.875rem;color:var(--muted);max-width:315px;margin:0}.project-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column;overflow:hidden;transition:border-color .2s,transform .2s}.project-card:hover{border-color:#819868;transform:translateY(-4px)}.project-top{padding:28px 26px 24px;min-height:140px;display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);background:#1e281f}.project-top.blue{background:#1d252c}.project-top.brown{background:#282720}.project-number{color:var(--muted);font-size:.75rem}.project-metric{font-family:'Manrope',sans-serif;font-size:2.6rem;line-height:1.15;letter-spacing:-.06em;color:var(--accent)}.blue .project-metric{color:#a7c7ed}.brown .project-metric{color:#ded398}.project-metric small{display:block;font-family:'IBM Plex Mono',monospace;font-size:.75rem;letter-spacing:0;color:var(--muted);margin-top:8px}.project-body{padding:26px;display:flex;flex-direction:column;flex:1}.category{font-size:.75rem;color:var(--muted);letter-spacing:.055em;text-transform:uppercase}.project-body h3{font-family:'Manrope',sans-serif;font-size:1.35rem;line-height:1.4;font-weight:600;letter-spacing:-.035em;margin:12px 0}.project-body p{color:var(--muted);font-size:.9375rem;margin:0 0 23px}.tags{display:flex;gap:7px;flex-wrap:wrap;list-style:none;margin:0;padding:0}.tags li{font-size:.75rem;border:1px solid var(--line);padding:3px 8px;border-radius:3px;color:var(--muted)}.card-link{margin-top:auto;padding-top:28px;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:var(--text)}.about{display:grid;grid-template-columns:1fr 1.25fr;gap:90px}.about p{margin-top:0;color:var(--muted)}.about p strong{color:var(--text);font-weight:500}.stack{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:6px;overflow:hidden}.stack-group{padding:26px;border-right:1px solid var(--line)}.stack-group:last-child{border:0}.stack-group h3{font-size:.9375rem;font-weight:500;margin:12px 0 20px}.stack-group .mono{color:var(--accent);font-size:.75rem}.stack-group ul{list-style:none;padding:0;margin:0;color:var(--muted);font-size:.875rem}.stack-group li{margin:9px 0}.philosophy{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.philosophy h2{font-family:'Manrope',sans-serif;font-size:2rem;font-weight:500;letter-spacing:-.04em;margin:12px 0}.principles{display:grid;gap:26px}.principles h3{font-weight:500;font-size:1rem;margin:0 0 7px}.principles p{color:var(--muted);margin:0;font-size:.9375rem}.contact{background:var(--accent);color:var(--bg);padding:52px;border-radius:6px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.contact .eyebrow{color:#31491d}.contact p{color:#334529;font-size:1rem;margin:0}.contact .actions{margin-top:20px}.contact .button{border-color:#698b44;color:var(--bg)}.contact .button:hover{background:#d0fb8e}.footer{display:flex;justify-content:space-between;gap:24px;padding:32px 0;color:var(--muted);font-size:.75rem}.breadcrumb{display:flex;align-items:center;gap:12px;font-size:.8125rem;color:var(--muted);padding-top:40px}.breadcrumb a:hover{color:var(--accent)}.case-hero{padding:40px 0 44px;border-bottom:1px solid var(--line)}.case-hero h1{font-family:'Manrope',sans-serif;font-size:clamp(2.6rem,4.5vw,4.25rem);font-weight:550;line-height:1.12;letter-spacing:-.055em;max-width:960px;margin:22px 0}.case-hero .lead{max-width:780px}.case-meta{display:flex;gap:40px;flex-wrap:wrap;margin-top:28px}.case-meta p{margin:0;font-size:.875rem}.case-meta span{display:block;color:var(--muted);font-family:'IBM Plex Mono',monospace;font-size:.75rem;margin-bottom:3px}.case-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:74px;padding:54px 0 72px}.toc{position:sticky;top:120px;align-self:start}.toc-title{font-size:.75rem;color:var(--muted);letter-spacing:.08em;margin-bottom:20px}.toc ol{list-style:none;counter-reset:toc;padding:0;margin:0;border-left:1px solid var(--line)}.toc li{counter-increment:toc}.toc a{display:block;padding:9px 0 9px 16px;font-size:.8125rem;color:var(--muted);border-left:2px solid transparent;margin-left:-1px}.toc a:before{content:'0' counter(toc);font-family:'IBM Plex Mono',monospace;font-size:.7rem;margin-right:8px}.toc a:hover,.toc a[aria-current]{color:var(--accent);border-color:var(--accent)}.article{min-width:0;max-width:830px}.article-section{padding-bottom:40px;margin-bottom:38px;border-bottom:1px solid var(--line);scroll-margin-top:112px}.article-section:last-child{border:0;margin-bottom:0;padding-bottom:0}.article h2{font-family:'Manrope',sans-serif;font-size:1.8rem;font-weight:500;letter-spacing:-.035em;line-height:1.3;margin:0 0 20px}.article h2 .section-num{font-family:'IBM Plex Mono',monospace;font-size:.875rem;color:var(--accent);margin-right:12px;vertical-align:middle}.article p,.article li{color:var(--muted);font-size:1rem}.article p{margin:0 0 20px}.article p:last-child{margin-bottom:0}.article strong{color:var(--text);font-weight:500}.article h3{font-size:1.125rem;font-weight:500;line-height:1.5;margin:28px 0 12px}.article ul{padding-left:22px}.article li{padding-left:3px;margin:10px 0}.article code{font-family:'IBM Plex Mono',monospace;font-size:.875em;background:var(--elevated);color:var(--accent);padding:2px 5px;border-radius:3px;overflow-wrap:anywhere}.summary{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:4px;padding:26px;margin-top:24px}.summary p{color:var(--text)}.flow{display:flex;gap:12px;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:24px;margin:26px 0}.flow-node{min-width:0;flex:1}.flow-node span{display:block;color:var(--accent);font-size:.75rem;margin-bottom:8px;font-family:'IBM Plex Mono',monospace}.flow-node strong{display:block;font-size:.875rem}.flow-node small{display:block;color:var(--muted);font-size:.8125rem;line-height:1.5;margin-top:5px}.flow-arrow{color:var(--muted)}.figure-caption{font-size:.75rem!important;color:var(--muted);margin-top:-14px!important}.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px}.result{border:1px solid var(--line);border-radius:4px;padding:22px}.result b{font-family:'Manrope',sans-serif;font-size:1.4rem;letter-spacing:-.03em;color:var(--accent);font-weight:500;display:block;margin-bottom:8px}.result p{font-size:.875rem}.case-next{border-top:1px solid var(--line);padding:36px 0;display:flex;justify-content:space-between;align-items:center;gap:24px}.case-next small{display:block;color:var(--muted);font-size:.75rem;margin-bottom:6px}.case-next strong{font-weight:500;font-size:1.125rem}.case-next a:hover{color:var(--accent)}
.layer-icon{white-space:nowrap;font-size:1rem}.project-top{gap:12px;flex-wrap:wrap}
.contact-links{display:grid;gap:12px;margin-top:24px}.contact-link{justify-content:space-between;text-align:left;min-width:0}.contact-link span:first-child{min-width:0}.contact-link strong{display:block;font-size:.875rem}.contact-link small{display:block;font-size:.875rem;font-weight:400;overflow-wrap:anywhere}
@media(min-width:1450px){.hero{padding-top:110px;padding-bottom:92px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.hero{gap:32px;grid-template-columns:1.15fr 1fr}.hero h1{font-size:3.3rem}.nav{gap:18px}.project-list{gap:14px}.project-body,.project-top{padding:22px}.stack{grid-template-columns:repeat(2,1fr)}.stack-group:nth-child(2){border-right:0}.stack-group:nth-child(-n+2){border-bottom:1px solid var(--line)}.about,.philosophy{gap:44px}.case-layout{gap:38px;grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header-inner{height:74px}.brand{font-size:1.05rem}.menu-toggle{display:block}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);padding:20px;flex-direction:column;align-items:stretch;gap:0}.nav.is-open{display:flex}.nav a{padding:12px}.nav .contact-nav{margin-top:8px}.hero{grid-template-columns:1fr;padding:48px 0 36px;gap:40px}.hero h1{font-size:clamp(2.65rem,10vw,4.2rem)}.hero .lead{max-width:100%}.architecture{max-width:100%}.hero-foot{flex-direction:column;gap:6px}.section{padding:52px 0}.section-heading{display:block}.section-heading p{margin-top:18px;max-width:100%}.project-list{grid-template-columns:1fr;gap:24px}.project-top{min-height:120px}.project-body h3{font-size:1.45rem}.project-body{padding:26px}.about,.philosophy{grid-template-columns:1fr;gap:28px}.stack-group{padding:20px}.contact{grid-template-columns:1fr;gap:25px;padding:28px}.footer{flex-direction:column;gap:8px}.case-hero{padding-top:28px}.case-hero h1{font-size:2.6rem}.case-meta{gap:22px}.case-layout{grid-template-columns:1fr;gap:32px;padding-top:28px}.toc{position:static;border-bottom:1px solid var(--line);padding-bottom:24px}.toc ol{display:grid;grid-template-columns:1fr 1fr}.toc a{padding:8px 10px}.article h2{font-size:1.55rem}.flow{gap:16px;padding:20px;flex-direction:column;align-items:stretch}.flow-arrow{transform:rotate(90deg);align-self:center}.flow-node{width:100%}.result-grid{grid-template-columns:1fr}.case-next{align-items:start}.case-next strong{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
