.logo,.nav{display:flex}.mono,.stat-row div{text-transform:uppercase}.display,.hero h1,.hero-card h3,.logo,.stat-row div b{font-weight:600}.hero-card::after,.stack-card .blob{position:absolute;border-radius:50%}.contact .info a,.cta,.logo,.nav-links a{text-decoration:none}*,::after,::before{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding:0;font-family:'Space Grotesk',Inter,system-ui,-apple-system,sans-serif;color:#26281f;background:#efe9dd;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;display:block}a{color:inherit}:root{--bg:#efe9dd;--bg-2:#e4dcca;--ink:#26281f;--ink-2:#4b4d42;--mute:#8a8a7a;--olive:#4a5a2d;--olive-2:#6b7d46;--ocre:#c97a3a;--line:rgba(38, 40, 31, .12)}.container{max-width:1440px;margin:0 auto;overflow-x:hidden}.mono{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.1em;color:var(--mute)}.about .lede,.display{letter-spacing:-.03em}.display{font-family:Syne,'Space Grotesk',sans-serif}.about .lede,.hero h1,.stat-row div b,.strip{font-family:Syne,sans-serif}.nav{justify-content:space-between;align-items:center;padding:24px 56px;position:sticky;top:0;z-index:10;background:rgba(239,233,221,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.logo{align-items:center;gap:10px;font-size:16px;color:inherit}.logo-dot{width:14px;height:14px;border-radius:50%;background:var(--olive);display:inline-block}.cta,.nav-links,.nav-links a{border-radius:100px}.nav-links{display:flex;gap:8px;align-items:center;background:var(--bg-2);padding:6px}.cta,.strip .dot{display:inline-block}.cta,.hero-card{background:var(--olive);color:var(--bg)}.nav-links a{padding:8px 16px;font-size:13px;color:var(--ink-2);transition:background .2s,color .2s}.nav-links a.active,.nav-links a:hover,.proj.dark,.stack-card.dark{background:var(--ink);color:var(--bg)}.cta:hover,.hero-card::after{background:var(--olive-2)}.cta{padding:10px 20px;font-size:13px;transition:background .2s}.proj,.stack-card,.svc-card{transition:transform .3s;position:relative;overflow:hidden}.hero-grid,.hero-sub{display:grid;gap:40px}.hero{padding:40px 56px 80px;position:relative}.hero-grid{grid-template-columns:1fr 420px;align-items:start}.about,.hero-sub{grid-template-columns:1fr 1fr}.hero h1{font-size:140px;line-height:.92;letter-spacing:-.045em;margin:40px 0 0;color:var(--ink)}.about .lede span,.hero h1 .olive{color:var(--olive)}.hero h1 .ocre,.par h2 em,.stack-head h2 em{color:var(--ocre);font-style:italic}.about .body p,.hero-sub p,.stack-head p,.svc-card p,.tl-item p{color:var(--ink-2)}.hero-sub{margin-top:36px;max-width:720px}.hero-sub p{font-size:17px;line-height:1.55;margin:0}.hero-card{border-radius:28px;padding:28px;position:relative;overflow:hidden}.hero-card::after{content:"";right:-80px;bottom:-80px;width:240px;height:240px}.hero-card-inner{position:relative;z-index:1}.avatar{width:100%;aspect-ratio:1;border-radius:20px;overflow:hidden;background:var(--bg-2);margin-bottom:20px}.avatar img{width:100%;height:100%;object-fit:cover}.hero-card h3{margin:0 0 4px;font-size:22px}.hero-card>div>p{margin:0;font-size:13px;opacity:.8}.stat-row{display:flex;justify-content:space-between;margin-top:20px;padding-top:16px;border-top:1px solid rgba(239,233,221,.2)}.stat-row div{font-size:11px;opacity:.75;letter-spacing:.08em}.stat-row div b{display:block;font-size:26px;margin-top:4px;opacity:1}.strip{padding:20px 56px;background:var(--ink);color:var(--bg);display:flex;gap:48px;align-items:center;overflow:hidden;white-space:nowrap;font-size:28px;font-weight:500}.badge,.par .schools span,.proj,.stack-card,.svc-card{background:var(--bg-2)}.strip .dot{width:10px;height:10px;border-radius:50%;background:var(--ocre);margin:0 24px;flex-shrink:0}.section{padding:120px 56px;position:relative}.section.tight{padding-top:40px}.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:100px;font-size:12px;letter-spacing:.05em;margin-bottom:32px}.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--olive)}.about{display:grid;gap:60px;align-items:start}.about .lede{font-weight:500;font-size:52px;line-height:1.05}.proj .yr,.tl-item .when{letter-spacing:.08em;font-family:'JetBrains Mono',monospace;text-transform:uppercase}.about .body{padding-top:12px}.about .body p{font-size:17px;line-height:1.65;margin:0 0 16px}.about .body p:last-child{margin:0}.stack-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px;gap:40px}.proj-head h2,.stack-head h2,.svc-head h2{font-family:Syne,sans-serif;font-weight:600;font-size:88px;line-height:.95;letter-spacing:-.035em;margin:12px 0 0}.proj h3,.stack-card h3{letter-spacing:-.02em;font-family:Syne,sans-serif;font-weight:600}.stack-head p{max-width:320px;font-size:15px;line-height:1.5;margin:0}.stack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stack-card{padding:24px;border-radius:22px;min-height:200px;display:flex;flex-direction:column;justify-content:space-between}.contact .info a,.proj-head{justify-content:space-between}.proj:hover,.stack-card:hover,.svc-card:hover{transform:translateY(-4px)}.proj.olive,.stack-card.primary{background:var(--olive);color:var(--bg)}.proj.ocre,.stack-card.accent{background:var(--ocre);color:var(--bg)}.stack-card .num{font-family:'JetBrains Mono',monospace;font-size:11px;opacity:.6}.stack-card h3{margin:40px 0 0;font-size:32px}.stack-card p{margin:8px 0 0;font-size:13px;opacity:.75;line-height:1.4}.stack-card .blob{right:-30px;bottom:-30px;width:100px;height:100px;opacity:.15;background:#fff}.proj-head{display:flex;align-items:end;margin-bottom:40px;gap:40px}.proj-head h2 em,.svc-head h2 em{font-style:italic;color:var(--olive)}.proj-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.proj{border-radius:24px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;min-height:320px}.proj.span-3{grid-column:span 3}.proj.span-2{grid-column:span 2}.proj .yr{font-size:11px;opacity:.6}.proj h3{font-size:34px;margin:8px 0 12px;line-height:1.05}.proj p{font-size:14px;line-height:1.5;opacity:.8;margin:0}.proj .stacks{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}.proj .stacks span{padding:4px 10px;border:1px solid currentColor;border-radius:100px;font-size:11px;opacity:.8}.proj .viz,.tl-item::before{border-radius:50%;position:absolute}.proj .viz{right:-20px;bottom:-20px;width:140px;height:140px;opacity:.25;background:#fff}.proj.ocre .viz{opacity:.3}.par{display:grid;grid-template-columns:380px 1fr;gap:60px;align-items:start}.par h2{font-family:Syne,sans-serif;font-weight:600;font-size:72px;line-height:.98;letter-spacing:-.03em;margin:0}.par .schools{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}.par .schools span{padding:8px 14px;border-radius:100px;font-size:13px}.timeline{position:relative;padding-left:20px;border-left:2px dashed var(--line)}.tl-item{position:relative;padding:0 0 44px 36px}.tl-item::before{content:"";left:-27px;top:2px;width:14px;height:14px;background:var(--olive);border:3px solid var(--bg)}.tl-item:last-child{padding-bottom:0}.tl-item .when{font-size:12px;color:var(--olive);margin-bottom:6px}.tl-item h3{font-family:Syne,sans-serif;font-size:26px;font-weight:600;letter-spacing:-.015em;margin:0 0 6px}.tl-item p{margin:0;font-size:15px;line-height:1.5}.tl-item .where{font-size:13px;color:var(--mute);margin-top:4px}.svc-head{text-align:center;margin-bottom:48px}.svc-head .badge{margin:0 auto 12px}.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.svc-card{border-radius:28px;padding:36px 28px;min-height:280px;display:flex;flex-direction:column}.svc-card .glyph{width:56px;height:56px;border-radius:50%;background:var(--olive);margin-bottom:24px}.svc-card.b .glyph{background:var(--ocre);border-radius:12px}.svc-card.c .glyph{background:var(--ink);transform:rotate(45deg);border-radius:8px}.svc-card h3{font-family:Syne,sans-serif;font-size:26px;font-weight:600;letter-spacing:-.02em;margin:0 0 12px}.svc-card p{font-size:14px;line-height:1.55;margin:0}.svc-card .price{margin-top:auto;padding-top:20px;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--mute);letter-spacing:.05em}.foot-legal-btn:hover,.modal-header h2{color:var(--ink)}.contact{background:var(--olive);color:var(--bg);border-radius:40px;margin:0 56px 56px;padding:100px 80px;position:relative;overflow:hidden}.foot,.foot-legal-btn,.modal-close{color:var(--mute)}.contact::before{content:"";position:absolute;right:-120px;top:-120px;width:400px;height:400px;border-radius:50%;background:var(--olive-2)}.contact::after{content:"";position:absolute;left:-80px;bottom:-80px;width:260px;height:260px;border-radius:50%;background:var(--ocre);opacity:.8}.contact-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 400px;gap:60px;align-items:end}.contact h2{font-family:Syne,sans-serif;font-weight:600;font-size:120px;line-height:.9;letter-spacing:-.04em;margin:0}.contact h2 em{font-style:italic;opacity:.85}.contact .info{display:flex;flex-direction:column;gap:16px}.contact .info a{background:rgba(239,233,221,.15);border:1px solid rgba(239,233,221,.2);border-radius:16px;padding:18px 22px;display:flex;align-items:center;color:var(--bg);transition:background .2s,transform .2s}.contact .info a:hover{background:rgba(239,233,221,.25);transform:translateX(4px)}.contact .info a small{font-size:11px;opacity:.7;text-transform:uppercase;letter-spacing:.1em;display:block;margin-bottom:4px}.contact .info a span.label{font-size:17px;font-weight:500}.contact .info a .arr{font-size:20px}.foot{padding:24px 56px 32px;display:flex;justify-content:space-between;font-size:12px}.foot-legal-btn{background:0 0;border:none;padding:0;font:inherit;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color .2s}.modal-overlay{position:fixed;inset:0;background:rgba(38,40,31,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:9000;opacity:0;pointer-events:none;transition:opacity .25s}.modal-overlay[hidden]{display:none!important}.modal-overlay.is-open{opacity:1;pointer-events:auto}.modal-box{background:var(--bg);border:1px solid var(--line);border-radius:20px;width:100%;max-width:680px;max-height:80vh;display:flex;flex-direction:column;transform:translateY(20px) scale(.97);transition:transform .3s cubic-bezier(.22,1,.36,1);overflow:hidden}.modal-overlay.is-open .modal-box{transform:translateY(0) scale(1)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px 20px;border-bottom:1px solid var(--line);flex-shrink:0}.modal-header h2{margin:0;font-size:22px;font-weight:600}.modal-close{background:0 0;border:none;padding:4px 8px;font-size:24px;line-height:1;cursor:pointer;border-radius:8px;transition:color .2s,background .2s}.modal-close:hover{color:var(--ink);background:var(--bg-2)}.modal-body{padding:28px 32px 36px;overflow-y:auto;font-size:14px;line-height:1.75;color:var(--ink-2)}@media (max-width:600px){.modal-box{border-radius:16px}.modal-header{padding:20px 20px 16px}.modal-body{padding:20px 20px 28px}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.reveal.in{opacity:1;transform:translateY(0)}@media (max-width:1200px){.hero h1{font-size:100px}.proj-head h2,.stack-head h2,.svc-head h2{font-size:68px}.contact h2{font-size:88px}}@media (max-width:960px){.nav{padding:18px 24px;flex-wrap:wrap;gap:12px}.nav-links{order:3;width:100%;justify-content:center;flex-wrap:wrap}.hero{padding:24px}.about,.contact-inner,.hero-grid,.par{grid-template-columns:1fr;gap:32px}.hero h1{font-size:64px}.hero-sub{grid-template-columns:1fr;max-width:100%;gap:16px}.section{padding:64px 24px}.strip{padding:16px 24px;gap:16px;font-size:20px}.strip .dot{margin:0 8px}.about .lede{font-size:32px}.par h2{font-size:48px}.proj-head,.stack-head{flex-direction:column;align-items:flex-start;gap:16px}.proj-head h2,.stack-head h2,.svc-head h2{font-size:44px}.stack-grid{grid-template-columns:repeat(2,1fr)}.proj-grid,.svc-grid{grid-template-columns:1fr}.proj.span-2,.proj.span-3{grid-column:span 1}.contact{margin:0 16px 24px;padding:48px 28px;border-radius:24px}.contact h2{font-size:56px}.foot{padding:16px 24px;flex-direction:column;gap:8px;text-align:center}}@media (max-width:520px){.hero h1{font-size:48px}.nav-links{font-size:12px}}