:root{--bg:#f5f0e8;--surface:#fff;--surface-soft:#eeebe5;--text:#1a1a1a;--muted:#555;--faint:#888;--line:#e0d8ce;--line-strong:#e0d8ce;--accent:#b84b23;--accent-dark:#9f3e1b;--accent-soft:#f5eae6;--serif:var(--font-serif), "Playfair Display", Georgia, serif;--sans:var(--font-sans), "DM Sans", Arial, sans-serif;--mono:"Geist Mono", "SF Mono", "JetBrains Mono", Consolas, monospace;--shell:min(1240px, calc(100vw - 112px));--wide:min(1540px, calc(100vw - 112px));--narrow:min(1180px, calc(100vw - 112px));--ease:cubic-bezier(.16, 1, .3, 1);--projects-grid-cols:55fr 45fr;--projects-hero-gap:48px}*,:before,:after{box-sizing:border-box}html{background:var(--bg);min-width:320px;color:var(--text);scroll-behavior:smooth;text-rendering:geometricprecision}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--sans);letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:17px;line-height:1.58}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;font-family:var(--sans)}img,svg{max-width:100%;display:block}h1,h2,h3{font-family:var(--serif);margin:0;font-weight:400}p{margin:0}ul{margin:0;padding:0}::selection{background:var(--accent-soft);color:var(--accent-dark)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:where(a,button):focus-visible{outline:2px solid var(--accent);outline-offset:4px}.skip-link{z-index:1000;border:1px solid var(--accent);background:var(--surface);color:var(--accent-dark);font-family:var(--sans);transition:transform .18s var(--ease);border-radius:6px;padding:10px 16px;font-size:14px;font-weight:600;line-height:1.2;position:fixed;top:16px;left:24px;transform:translateY(-140%)}.skip-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px;transform:translateY(0);box-shadow:0 8px 24px #1a1a1a24}.main-content-target{scroll-margin-top:96px}.main-content-target:focus{outline:none}.site-header{z-index:100;background:var(--bg);padding:25px 0 10px;position:sticky;top:0}.header-shell{width:var(--wide);justify-content:space-between;align-items:center;gap:40px;margin:0 auto;display:flex}.brand{min-height:40px;color:var(--text);font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;align-items:center;font-size:21px;font-weight:750;line-height:1;display:inline-flex}.primary-nav{font-family:var(--sans);justify-content:flex-end;align-items:center;gap:clamp(24px,3vw,54px);font-size:16px;font-weight:500;display:flex}.nav-link{min-height:44px;color:var(--text);transition:color .18s var(--ease);align-items:center;display:inline-flex;position:relative}.nav-link:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform .22s var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-link:hover,.nav-link.active{color:var(--accent)}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}.contact-button{background:var(--accent);color:#fff;font-family:var(--sans);transition:background-color .18s var(--ease), transform .18s var(--ease);border:none;border-radius:4px;justify-content:center;align-items:center;padding:10px 20px;font-size:15px;font-weight:500;line-height:1.2;display:inline-flex}.contact-button:hover{background:var(--accent-dark)}.contact-button:active{transform:scale(.98)}.primary-button{background:var(--accent);color:#fff;font-family:var(--sans);transition:background-color .18s var(--ease), transform .18s var(--ease);border:none;border-radius:4px;justify-content:center;align-items:center;padding:12px 24px;font-size:15px;font-weight:500;line-height:1.2;display:inline-flex}.contact-button:hover,.primary-button:hover{background:var(--accent-dark)}.contact-button:active,.primary-button:active{transform:scale(.98)}.home-hero{border-bottom:1px solid var(--line);flex-direction:column;align-items:center;min-height:calc(100vh - 80px);padding:clamp(72px,10vh,126px) 0 0;display:flex}.home-hero-grid{width:var(--shell);flex:1;grid-template-columns:3fr 2fr;align-items:center;gap:clamp(48px,6vw,96px);margin:0 auto;display:grid}.hero-copy{max-width:720px}.hero-copy h1,.page-hero h1,.case-copy h1,.about-intro h1{font-family:var(--serif);letter-spacing:-.01em;color:var(--text);font-weight:400;line-height:1.15}.hero-copy h1{letter-spacing:-.5px;color:#111;font-family:Playfair Display,serif;font-size:clamp(38px,4.5vw,56px);font-weight:400;line-height:1.15}.hero-copy h1 em,.hero-copy h1 span.real-problems{font-family:var(--serif);color:var(--accent);font-style:italic;font-weight:400}.accent-rule{background:var(--accent);border:none;width:40px;height:2px;margin:20px 0}.hero-copy p{max-width:380px;color:var(--muted);font-family:var(--sans);font-size:16px;font-weight:400;line-height:1.6}.hero-actions{align-items:center;gap:34px;margin-top:39px;display:flex}.text-link{color:var(--text);font-family:var(--sans);transition:color .18s var(--ease), transform .18s var(--ease);align-items:center;gap:8px;font-weight:400;line-height:1.2;display:inline-flex}.text-link:hover{color:var(--accent)}.accent-link,.large-accent-link,.footer-contact,.back-link{color:var(--accent);font-family:var(--sans);transition:color .18s var(--ease), transform .18s var(--ease);align-items:center;gap:8px;font-weight:500;line-height:1.2;display:inline-flex}.accent-link:hover,.large-accent-link:hover,.footer-contact:hover,.back-link:hover{color:var(--accent-dark)}.text-link span,.accent-link span,.large-accent-link span,.footer-contact span,.back-link span{font-family:var(--sans), sans-serif;transition:transform .18s var(--ease);font-weight:300;display:inline-block}.text-link:hover span,.accent-link:hover span,.large-accent-link:hover span,.footer-contact:hover span{transform:translate(4px)}.back-link:hover span{transform:translate(-4px)}.scroll-indicator{text-align:center;flex-direction:column;align-items:center;gap:10px;width:100%;padding:36px 0 32px;display:flex}.scroll-indicator span:first-child{font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:500}.scroll-arrow{color:var(--faint);animation:bounce-arrow 2s var(--ease) infinite;font-size:18px}@keyframes bounce-arrow{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.expertise-list{gap:0;display:grid}.expertise-item{border-bottom:1px solid var(--line);padding:24px 0}.expertise-item:first-child{border-top:0}.expertise-item span{color:var(--accent);font-family:var(--sans);letter-spacing:.05em;margin-bottom:8px;font-size:13px;font-weight:500;display:block}.expertise-item p{color:var(--text);font-family:var(--sans);font-size:17px;font-weight:400;line-height:1.4}.selected-projects{padding:52px 0}.section-shell,.content-shell,.wide-shell{margin:0 auto}.section-shell{width:var(--shell)}.content-shell{width:var(--narrow)}.content-shell.narrow{max-width:1180px}.writing-shell{max-width:1250px}.resume-shell{max-width:900px}.wide-shell{width:var(--wide)}.section-header{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:28px;display:flex}.section-header h2,.detail-block h2,.writing-page h2,.project-card h2{font-family:var(--serif);letter-spacing:-.025em;font-weight:400;line-height:1.08}.section-header h2{font-size:38px}.section-header p{color:var(--muted);margin-top:4px;font-size:17px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.selected-grid{align-items:stretch}.card-link{height:100%;display:block}.project-card{height:100%;min-height:277px;color:var(--text);background:#faf8f4;border:1px solid #e8e3dd;border-radius:12px;flex-direction:column;align-items:flex-start;padding:28px;transition:all .15s;display:flex}.project-card.compact{min-height:245px;padding:28px}.card-link:hover .project-card,.card-link:active .project-card,.project-card:hover,.project-card:active{cursor:pointer;border:1px solid #b94a1a;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.project-card h2,.project-card.compact h2{font-family:var(--serif);color:#1a1a1a;margin-top:20px;font-size:22px;font-weight:400}.project-card p{color:#777;max-width:315px;font-family:var(--sans);margin-top:8px;font-size:13px;font-weight:400;line-height:1.5}.project-card .project-year{color:#999;font-family:var(--sans);margin-top:auto;padding-top:20px;font-size:13px;font-weight:400}.project-mark{width:48px;height:48px;color:var(--text);background:#e8e4df;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.project-mark-inner{transform-origin:50%;pointer-events:none;width:56px;height:56px;display:block;position:absolute;transform:scale(.857)}.project-mark-inner:before,.project-mark-inner:after,.project-mark-inner span{content:"";border-color:currentColor;display:block;position:absolute}.mark-relay{color:var(--accent)}.mark-relay:before{border:2px solid;border-radius:2px;width:24px;height:27px;transform:rotate(-4deg)}.mark-relay:after{border:2px solid;border-radius:2px;width:24px;height:27px;transform:translate(5px,3px)rotate(4deg)}.mark-relay span:first-child{background:currentColor;width:16px;height:2px;top:19px}.mark-relay span:nth-child(2){background:currentColor;width:16px;height:2px;top:27px}.mark-relay span:nth-child(3){background:currentColor;width:16px;height:2px;top:35px}.mark-cursor:before{border:2px solid;border-radius:3px 11px;width:18px;height:25px;transform:rotate(-32deg)}.mark-cursor:after{border-bottom:2px solid;border-right:2px solid;width:12px;height:10px;transform:translate(6px,8px)rotate(-15deg)}.mark-research:before{border:3px solid;border-radius:50%;width:10px;height:10px;box-shadow:14px 0 0 -1px,7px 12px 0 -1px,-7px 12px 0 -1px,-7px -12px 0 -1px,7px -12px 0 -1px}.mark-calendar:before{border:2px solid;border-radius:3px;width:25px;height:24px}.mark-calendar:after{background:currentColor;width:25px;height:2px;transform:translateY(-7px)}.mark-calendar span:first-child,.mark-calendar span:nth-child(2){background:currentColor;width:3px;height:18px;top:15px;transform:scaleY(.75);box-shadow:8px 0,16px 0}.mark-network:before{width:10px;height:10px;box-shadow:-12px 16px 0 -2px var(--surface-soft), -12px 16px 0 0 currentColor, 12px 16px 0 -2px var(--surface-soft), 12px 16px 0 0 currentColor;border:2px solid;border-radius:50%;transform:translateY(-7px)}.mark-network:after{border-bottom:2px solid;border-left:2px solid;border-right:2px solid;width:32px;height:23px;transform:translateY(6px)}.mark-bolt:before{clip-path:polygon(46% 0,100% 0,66% 42%,100% 42%,28% 100%,42% 55%,0 55%);background:currentColor;border:2px solid;width:15px;height:27px}.tag-row{flex-wrap:wrap;gap:9px;margin-top:auto;padding-top:23px;display:flex}.tag-row span,.stack-grid span{color:#444;font-family:var(--sans);background:#eeebe5;border-radius:999px;justify-content:center;align-items:center;padding:4px 12px;font-size:13px;line-height:1.2;display:inline-flex}.page-main{min-height:65vh}.page-hero{padding:clamp(72px,10vw,129px) 0 48px}.page-hero.standard-page{padding-bottom:0}.standard-page h1{font-family:var(--serif);letter-spacing:-.5px;color:#111;font-size:clamp(56px,7vw,80px);font-weight:400}.standard-page p{color:#888;font-family:var(--sans);margin-top:10px;font-size:15px;font-weight:300;line-height:1.5}.projects-index{padding:32px 0 66px}.category-nav{font-family:var(--sans);color:var(--muted);flex-wrap:wrap;align-items:center;gap:clamp(25px,4vw,56px);margin-bottom:24px;font-size:14px;display:flex}.category-nav button{min-width:24px;min-height:32px;font-family:var(--sans);color:#777;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;padding:0 0 4px;font-size:14px;font-weight:400;transition:all .15s;display:inline-flex;position:relative}.category-nav button:after{display:none}.category-nav button:hover,.category-nav button.active,.category-nav button[aria-pressed=true]{color:#1a1a1a;border-bottom:2px solid #b94a1a;font-weight:500}.category-nav button:focus-visible{color:#1a1a1a;outline:2px solid var(--accent);outline-offset:6px;border-bottom-color:#b94a1a}.index-grid{gap:20px}.coming-soon{text-align:center;color:var(--muted);margin-top:34px;font-size:16px}.case-page{min-height:70vh}.case-hero{padding:clamp(52px,7vw,82px) 0 39px}.back-link{margin-bottom:39px;font-size:16px}.case-hero-grid{grid-template-columns:minmax(420px,.96fr) minmax(520px,1fr);align-items:start;gap:clamp(54px,8vw,110px);display:grid}.case-copy h1{font-size:clamp(64px,5.6vw,88px)}.case-subtitle{max-width:430px;margin-top:22px;font-size:19px;line-height:1.55}.case-meta-block{grid-template-columns:minmax(240px,.82fr) minmax(270px,1fr);gap:48px;margin-top:62px;display:grid}.case-meta{border-right:1px solid var(--line);gap:21px;padding-right:34px;display:grid}.case-meta p{min-width:0;color:var(--text);align-items:center;gap:19px;font-size:16px;line-height:1.42;display:flex}.meta-icon{width:25px;height:25px;color:var(--text);flex:0 0 25px;position:relative}.meta-icon:before,.meta-icon:after{content:"";border-color:currentColor;display:block;position:absolute}.calendar-icon:before{border:1.8px solid;border-radius:2px;inset:4px 2px 2px}.calendar-icon:after{background:currentColor;height:1.8px;top:9px;left:2px;right:2px;box-shadow:5px -6px 0 -.6px,15px -6px 0 -.6px}.person-icon:before{border:1.8px solid;border-radius:50%;width:9px;height:9px;top:3px;left:8px}.person-icon:after{border:1.8px solid;border-radius:10px 10px 2px 2px;height:11px;bottom:2px;left:4px;right:4px}.tag-icon:before{border:1.8px solid;border-radius:3px;width:17px;height:17px;top:4px;left:4px;transform:rotate(45deg)}.tag-icon:after{border:1.5px solid;border-radius:50%;width:4px;height:4px;top:8px;left:8px}.case-intro p{max-width:430px;font-size:16px;line-height:1.62}.case-intro .accent-link{margin-top:35px;font-size:16px}.diagram-card{border:1px solid var(--line);background:#fbf8f2b3;border-radius:7px;min-height:412px;padding:46px 50px;position:relative;overflow:hidden}.diagram-card span{line-height:1.35}.diagram-node,.diagram-box,.queue-shape{color:var(--text);text-align:center;font-size:16px;font-weight:650;position:absolute}.diagram-node.source{width:100px;top:66px;left:62px}.diagram-node.server{width:100px;top:66px;right:57px}.diagram-node>span{display:block}.globe-shape{border:2px solid var(--text);border-radius:50%;width:44px;height:44px;margin:15px auto 0;position:relative}.globe-shape:before,.globe-shape:after{content:"";border-color:var(--text);display:block;position:absolute}.globe-shape:before{border-left:2px solid var(--text);border-right:2px solid var(--text);border-radius:50%;inset:-2px 12px}.globe-shape:after{background:var(--text);height:2px;box-shadow:0 -11px 0 -.6px var(--text), 0 11px 0 -.6px var(--text);top:50%;left:2px;right:2px}.laptop-shape{width:58px;height:40px;margin:16px auto 0;position:relative}.laptop-shape:before{border:2px solid var(--text);content:"";width:44px;height:31px;position:absolute;top:0;left:7px}.laptop-shape:after{border:2px solid var(--text);content:"";border-top:0;height:5px;position:absolute;bottom:3px;left:1px;right:1px}.diagram-box.tunnel{border:1px solid var(--line);background:var(--surface-soft);border-radius:6px;width:166px;min-height:118px;padding:35px 12px;top:88px;left:50%;transform:translate(-50%)}.diagram-box.tunnel span,.queue-shape span{display:block}.diagram-line{background:var(--text);transform-origin:50%;height:1.5px;position:absolute}.diagram-line:after{border-top:1.5px solid var(--text);border-right:1.5px solid var(--text);content:"";width:9px;height:9px;position:absolute;top:50%;right:-1px;transform:translateY(-50%)rotate(45deg)}.source-line{width:70px;top:144px;left:184px}.server-line{width:70px;top:144px;right:181px}.queue-line{border-left:1.5px solid var(--text);background:0 0;width:40px;top:224px;left:50%;transform:translate(-50%)}.queue-line:after{inset:auto auto -36px -5px;transform:rotate(135deg)}.queue-shape{border:2px solid var(--text);background:#fbf8f2e6;border-top-width:1.5px;border-radius:50%/16%;width:80px;min-height:52px;padding:14px 6px 10px;font-size:14px;font-weight:600;top:275px;left:50%;transform:translate(-50%)}.queue-shape:before{border:2px solid var(--text);border-bottom:1px solid var(--text);content:"";background:var(--surface);border-radius:50%;height:16px;position:absolute;top:-2px;left:-2px;right:-2px}.retry-line{border-top:1.5px dashed var(--text);background:0 0;width:133px;top:316px;left:calc(50% + 56px)}.retry-line:before{border-right:1.5px dashed var(--text);content:"";width:1px;height:122px;position:absolute;bottom:0;right:0}.retry-line:after{top:-120px;right:-4px;transform:rotate(-45deg)}.case-details{padding:0 0 70px}.details-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.detail-column{border-right:1px solid var(--line);min-width:0;padding:33px 52px 0}.detail-column:first-child{padding-left:0}.detail-column:last-child{border-right:0;padding-right:0}.detail-block{padding-bottom:31px}.detail-block.bordered{border-top:1px solid var(--line);padding-top:29px}.detail-block h2{margin-bottom:13px;font-size:29px}.detail-block p{color:var(--text);font-size:15px;line-height:1.72}.feature-list{gap:8px;list-style:none;display:grid}.feature-list li{padding-left:16px;font-size:15px;line-height:1.55;position:relative}.feature-list li:before{background:var(--accent);content:"";border-radius:50%;width:4px;height:4px;position:absolute;top:.72em;left:0}.stack-grid{grid-template-columns:repeat(3,minmax(84px,1fr));gap:13px;display:grid}.stack-grid span{min-height:36px;font-size:14px}.metrics-row{grid-template-columns:repeat(3,1fr);gap:0;padding-bottom:0;display:grid}.metric{text-align:center;border-right:1px solid var(--line);min-width:0;padding:0 16px}.metric:first-child{padding-left:0}.metric:last-child{border-right:0;padding-right:0}.metric strong{color:var(--accent);font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(32px,2.8vw,42px);font-weight:500;line-height:1;display:block}.metric span{color:var(--text);margin-top:12px;font-size:13px;line-height:1.25;display:block}.writing-page .page-hero{padding-bottom:43px}.writing-list{padding:18px 0 86px}.post-row{border-bottom:1px solid var(--line);grid-template-columns:170px minmax(0,1fr) 150px;align-items:center;gap:44px;min-height:109px;display:grid}.post-row.first{border-top:1px solid var(--line)}.post-row time{color:var(--muted);font-family:var(--mono);letter-spacing:.06em;font-size:14px;font-weight:800}.post-row h2{font-size:28px}.post-row p{color:var(--muted);margin-top:3px;font-size:16px}.post-row .accent-link{justify-self:end}.writing-status{border:1px solid var(--line);background:var(--surface-soft);min-height:32px;color:var(--muted);font-family:var(--sans);border-radius:999px;justify-self:end;align-items:center;padding:4px 11px;font-size:13px;font-weight:500;line-height:1.2;display:inline-flex}.writing-cta{border-top:1px solid var(--line);text-align:center;padding:38px 24px 52px}.writing-cta p{color:var(--muted);font-size:16px}.writing-cta .writing-cta-note{color:var(--faint);margin-top:8px;font-size:14px}.large-accent-link{margin-top:25px;font-size:25px}.about-page{--about-hero-columns:60fr 40fr;--about-hero-gap:48px;--about-stat-width:240px;--about-strip-direction:row;--about-content-columns:repeat(3, minmax(0, 1fr));--about-content-gap:48px;--hackathon-card-direction:row;--hackathon-card-gap:32px;min-height:72vh}.about-social-links a,.about-availability-actions a,.hackathon-card a{min-height:32px}.about-hero{padding:80px 0 72px}.about-grid{grid-template-columns:340px 1fr 1fr;align-items:start;gap:clamp(40px,5vw,80px);display:grid}.about-intro h1{font-family:var(--serif);white-space:nowrap;letter-spacing:-1px;color:#111;margin-bottom:32px;font-size:72px;font-weight:400}.about-intro p{max-width:340px;font-family:var(--sans);color:#333;font-size:16px;font-weight:400;line-height:1.75}.about-intro p+p{margin-top:20px}.about-column{padding-top:120px}.about-column h2{font-family:var(--sans);color:#111;letter-spacing:0;margin-bottom:16px;font-size:16px;font-weight:600;line-height:1.25}.about-column ul{gap:10px;padding:0;list-style:none;display:grid}.about-column li{font-family:var(--sans);color:#555;font-size:15px;font-weight:400}.looking-for-callout{background:#f0ebe4;border-left:3px solid #b94a1a;border-radius:8px;margin-top:32px;padding:18px 20px}.looking-for-callout h2{font-family:var(--sans);color:#111;margin-bottom:10px;font-size:15px;font-weight:600}.looking-for-callout p{font-family:var(--sans);color:#444;max-width:100%;font-size:15px;font-weight:400;line-height:1.7}.looking-for-callout p strong{color:#b94a1a;font-weight:600}.resume-content{padding:12px 0 90px}.resume-card{border:1px solid var(--line);background:#fbf8f2b3;border-radius:7px;gap:0;margin-bottom:32px;display:grid}.resume-card article{border-bottom:1px solid var(--line);padding:28px 30px}.resume-card article:last-child{border-bottom:0}.resume-card h2{margin-bottom:7px;font-size:21px;line-height:1.25}.resume-card p{color:var(--muted);font-size:16px}.site-footer{border-top:1px solid var(--line);padding:69px 0 45px}.footer-shell{width:var(--wide);margin:0 auto}.footer-top{grid-template-columns:minmax(270px,1.25fr) minmax(130px,.6fr) minmax(145px,.65fr) minmax(250px,.85fr);gap:clamp(46px,8vw,128px);padding-bottom:70px;display:grid}.footer-brand-block .footer-brand{font-family:var(--sans);letter-spacing:1px;text-transform:uppercase;color:#111;font-size:14px;font-weight:700}.footer-brand-block p{color:#666;max-width:330px;font-family:var(--sans);margin-top:25px;font-size:14px;font-weight:400;line-height:1.55}.footer-brand-block .copyright{color:#999;font-family:var(--sans);margin-top:37px;font-size:13px;font-weight:400}.footer-column,.footer-cta{padding-top:2px}.footer-column h2,.footer-cta h2{color:#111;font-family:var(--sans);letter-spacing:.3px;margin-bottom:24px;font-size:13px;font-weight:600;line-height:1.25}.footer-column a{color:#555;width:max-content;font-family:var(--sans);transition:color .18s var(--ease);font-size:14px;font-weight:400;line-height:1.45;display:block}.footer-column a+a{margin-top:13px}.footer-column a:hover{color:var(--accent-dark)}.footer-column a.active{color:#b94a1a}.footer-cta p{color:#555;max-width:280px;font-family:var(--sans);font-size:14px;font-weight:400;line-height:1.55}.footer-contact{font-family:var(--sans);color:#b94a1a;margin-top:29px;font-size:14px;font-weight:500}.footer-bottom{text-align:center;border-top:none;padding-top:40px}.footer-bottom p{color:#999;font-family:var(--sans);font-size:13px;font-weight:400}.reveal{opacity:0;animation:reveal-up .68s var(--ease) forwards;animation-delay:calc(var(--i,0) * 80ms);transform:translateY(12px)}@keyframes reveal-up{to{opacity:1;transform:translateY(0)}}@media (max-width:1180px){:root{--shell:min(100% - 56px, 1040px);--wide:min(100% - 56px, 1120px);--narrow:min(100% - 56px, 980px)}.home-hero-grid,.case-hero-grid,.about-grid{gap:52px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-hero-grid{grid-template-columns:1fr}.diagram-card{min-height:390px}.details-grid{grid-template-columns:1fr}.detail-column,.detail-column:first-child,.detail-column:last-child{border-right:0;border-bottom:1px solid var(--line);padding:30px 0}.detail-column:last-child{border-bottom:0}.footer-top{grid-template-columns:1.2fr .55fr .55fr}.footer-cta{grid-column:1/-1}}@media (max-width:900px){:root{--shell:min(100% - 36px, 720px);--wide:min(100% - 36px, 760px);--narrow:min(100% - 36px, 720px)}body{font-size:16px}.site-header{padding-top:17px}.header-shell{align-items:flex-start;gap:18px}.primary-nav{flex-wrap:wrap;justify-content:flex-end;gap:8px 20px;font-size:14px}.nav-link{min-height:32px}.contact-button{min-height:36px;padding:0 13px;font-size:13px}.home-hero{min-height:auto;padding:58px 0 0}.home-hero-grid{grid-template-columns:1fr}.hero-copy h1{font-size:clamp(46px,12vw,68px)}.hero-copy p{font-size:17px}.expertise-list{margin-top:4px}.section-header{flex-direction:column;align-items:flex-start;margin-bottom:22px}.standard-page h1,.case-copy h1,.about-intro h1{font-size:clamp(54px,14vw,72px)}.page-hero{padding-top:70px}.case-meta-block{grid-template-columns:1fr;gap:28px;margin-top:42px}.case-meta{border-right:0;border-bottom:1px solid var(--line);padding-bottom:28px;padding-right:0}.post-row{grid-template-columns:1fr;align-items:start;gap:10px;padding:25px 0}.post-row .accent-link,.writing-status{justify-self:start}.about-page{--about-hero-columns:1fr;--about-hero-gap:32px;--about-stat-width:100%;--about-strip-direction:column;--about-content-columns:1fr;--about-content-gap:36px;--hackathon-card-direction:column;--hackathon-card-gap:22px}.about-stat-column{align-items:stretch!important}.about-availability-strip{align-items:flex-start!important}.about-availability-actions{width:100%}.about-availability-actions a{justify-content:center;min-height:44px}.about-grid{grid-template-columns:1fr;gap:36px}.about-column{padding-top:0}.about-intro h1{margin-bottom:28px}.about-intro p{max-width:100%;font-size:15px}.about-intro p+p{margin-top:24px}.footer-top{grid-template-columns:1fr 1fr;gap:42px 54px}.footer-brand-block,.footer-cta{grid-column:1/-1}.scroll-indicator{padding:28px 0 22px}}@media (max-width:640px){:root{--shell:min(100% - 28px, 520px);--wide:min(100% - 28px, 520px);--narrow:min(100% - 28px, 520px)}.header-shell{grid-template-columns:1fr;display:grid}.primary-nav{justify-content:flex-start}.brand{font-size:18px}.home-hero{padding-top:46px}.hero-copy h1{font-size:clamp(42px,15vw,56px)}.hero-actions{flex-direction:column;align-items:flex-start;gap:18px}.primary-button{width:100%}.project-grid{grid-template-columns:1fr}.project-card,.project-card.compact{min-height:230px}.category-nav{gap:12px 24px}.category-nav button{min-height:44px}.skip-link{text-align:center;top:10px;left:14px;right:14px}.about-page{--about-hero-gap:28px;--about-content-gap:32px;--hackathon-card-gap:18px}.about-inline-shell{padding:0 14px!important}.about-social-links{gap:12px 16px!important}.about-availability-actions{flex-direction:column;align-items:stretch}.about-availability-actions a{width:100%}.hackathon-card{padding:20px!important}.case-hero{padding-top:40px}.case-hero-grid{gap:36px}.diagram-card{min-height:420px;padding:28px 18px;overflow-x:auto}.diagram-card>*{transform:scale(.82)}.diagram-node.source{left:22px}.diagram-node.server{right:19px}.diagram-box.tunnel,.queue-shape{transform:translate(-50%)scale(.82)}.source-line{width:54px;left:125px}.server-line{width:54px;right:125px}.retry-line{width:78px}.stack-grid,.metrics-row{grid-template-columns:1fr}.metric{border-right:0;border-bottom:1px solid var(--line);padding:18px 0}.metric:first-child{padding-top:0}.metric:last-child{border-bottom:0;padding-bottom:0}.writing-list{padding-bottom:52px}.large-accent-link{font-size:21px}.footer-top{grid-template-columns:1fr;padding-bottom:46px}.footer-bottom{padding-top:42px}.scroll-indicator{padding:20px 0 18px}}@media (max-width:768px){:root{--shell:min(100% - 40px, 728px);--wide:min(100% - 40px, 728px);--narrow:min(100% - 40px, 728px);--projects-grid-cols:1fr;--projects-hero-gap:16px}body{font-size:15px}.header-shell{align-items:center;gap:16px;display:flex}.primary-nav{flex-wrap:nowrap;justify-content:flex-end}.primary-nav .nav-link{display:inline-flex}.primary-nav .nav-link:first-of-type{display:none}.home-hero{min-height:auto;padding-top:48px}.case-hero-grid{grid-template-columns:1fr}.home-hero-grid{flex-direction:column;align-items:stretch;gap:16px;display:flex}.case-hero-grid{gap:24px}.hero-copy{display:contents}.hero-copy h1{order:1;font-size:36px}.hero-copy .accent-rule{order:2}.hero-copy p{order:3;font-size:15px}.expertise-list{order:4;width:100%;margin-top:0}.hero-actions{order:5}.project-grid,.selected-grid,.index-grid{grid-template-columns:1fr;gap:16px}.section-header h2,.detail-block h2{font-size:24px}.project-card h2,.project-card.compact h2{font-size:18px}main:has(.projects-index)>section:first-child>div{width:var(--narrow)!important;flex-direction:column!important;gap:16px!important;display:flex!important}main:has(.projects-index)>section:first-child h1{font-size:40px!important}main:has(.projects-index)>section:first-child p{max-width:100%!important}.category-nav{white-space:nowrap;-ms-overflow-style:none;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:24px;width:100%;overflow:auto hidden}.category-nav::-webkit-scrollbar{display:none}.category-nav button{white-space:nowrap;flex:none}.about-page{--about-hero-columns:1fr;--about-hero-gap:32px;--about-stat-width:100%;--about-strip-direction:column;--about-content-columns:1fr;--about-content-gap:32px;--hackathon-card-direction:column;--hackathon-card-gap:0;padding-top:48px!important;padding-bottom:48px!important}.about-inline-hero{flex-direction:column!important;grid-template-columns:1fr!important;gap:32px!important;display:flex!important}.about-inline-shell{padding:0 20px!important}.about-inline-hero h1{letter-spacing:0!important;font-size:48px!important}.about-inline-hero p{max-width:100%!important;font-size:15px!important}.about-inline-hero>div:first-child>div:not(.about-social-links){flex-wrap:wrap!important;gap:8px!important}.about-social-links{flex-wrap:wrap!important;gap:12px!important}.about-stat-column{width:100%;margin-top:24px;align-items:stretch!important}.about-stat-column>div:first-child{width:100%!important;max-width:100%!important}.about-stat-column>div:nth-child(2){margin-top:12px!important}.about-availability-strip{align-items:flex-start!important;gap:16px!important}.about-availability-actions{width:100%;flex-direction:column!important;align-items:stretch!important;gap:10px!important;margin-top:16px!important}.about-availability-actions a{justify-content:center;width:100%}.about-content-grid{grid-template-columns:1fr!important;gap:32px!important}.about-content-grid>div:first-child>div:nth-of-type(2){flex-wrap:wrap!important;gap:8px!important;display:flex!important}.hackathon-card{flex-direction:column!important;align-items:flex-start!important;gap:0!important;padding:20px!important}.hackathon-certificate{align-self:flex-start;margin-top:16px!important}.case-copy h1{letter-spacing:0;font-size:48px}.case-copy .case-subtitle,.case-intro p,.detail-block p,.feature-list li{font-size:15px}.case-hero-grid>div:has(>img){width:100%!important;height:240px!important;min-height:240px!important;margin-top:24px!important}.case-hero-grid>div:has(>img) img{height:100%!important}.case-meta-block{grid-template-columns:1fr;gap:24px;display:grid!important}.case-meta{border-bottom:1px solid var(--line);order:1;padding-bottom:24px;border-right:0!important;padding-right:0!important}.case-intro{order:2}.details-grid{grid-template-columns:1fr}.detail-column,.detail-column:first-child,.detail-column:last-child{border-top:1px solid #e0dbd4;border-bottom:0;border-right:0;padding:24px 0}.detail-column:first-child{border-top:0}.stack-grid{flex-wrap:wrap;display:flex}.detail-block.bordered>div{flex-wrap:wrap!important;display:flex!important}.footer-top{gap:32px;grid-template-columns:1fr!important}.footer-top>*{grid-column:auto!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(../media/35161b7740c25d33-s.0izitdbyxo4j2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(../media/391e53907fa6d8ec-s.0vmd737txk1h4.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(../media/ae8872c8a32e309c-s.0iqen1t80zg64.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(../media/70e3db2de7f94926-s.p.39pl-v7c3qrze.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(../media/35161b7740c25d33-s.0izitdbyxo4j2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(../media/391e53907fa6d8ec-s.0vmd737txk1h4.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(../media/ae8872c8a32e309c-s.0iqen1t80zg64.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(../media/70e3db2de7f94926-s.p.39pl-v7c3qrze.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(../media/35161b7740c25d33-s.0izitdbyxo4j2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(../media/391e53907fa6d8ec-s.0vmd737txk1h4.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(../media/ae8872c8a32e309c-s.0iqen1t80zg64.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(../media/70e3db2de7f94926-s.p.39pl-v7c3qrze.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(../media/65c558afe41e89d6-s.3jppgd0xzx-0d.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(../media/14e23f9b59180572-s.0t8ljjjn9wtsx.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b49b0d9b851e4899-s.2zyohmvb-ks7f.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2a65768255d6b625-s.p.3u4lli0-axodc.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(../media/65c558afe41e89d6-s.3jppgd0xzx-0d.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(../media/14e23f9b59180572-s.0t8ljjjn9wtsx.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b49b0d9b851e4899-s.2zyohmvb-ks7f.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2a65768255d6b625-s.p.3u4lli0-axodc.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(../media/65c558afe41e89d6-s.3jppgd0xzx-0d.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(../media/14e23f9b59180572-s.0t8ljjjn9wtsx.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b49b0d9b851e4899-s.2zyohmvb-ks7f.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2a65768255d6b625-s.p.3u4lli0-axodc.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display Fallback;src:local(Times New Roman);ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.0%;size-adjust:111.26%}.playfair_display_a17356ac-module__T4rNvq__className{font-family:Playfair Display,Playfair Display Fallback}.playfair_display_a17356ac-module__T4rNvq__variable{--font-serif:"Playfair Display", "Playfair Display Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/c3cb240f9c892514-s.3z_x6eowsw16y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c3cb240f9c892514-s.3z_x6eowsw16y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c3cb240f9c892514-s.3z_x6eowsw16y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_8abc92f6-module__UE7CrG__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_8abc92f6-module__UE7CrG__variable{--font-sans:"DM Sans", "DM Sans Fallback"}
