@font-face{font-family:lufga;src:url(../media/Lufga_Regular-s.p.0rj_e3iz6ac8..woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:lufga;src:url(../media/Lufga_Medium-s.p.0kpff18_zlk51.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:lufga;src:url(../media/Lufga_SemiBold-s.p.04u5juiosrg.z.woff2)format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:lufga;src:url(../media/Lufga_Bold-s.p.0nqfcakouhk4t.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:lufga;src:url(../media/Lufga_ExtraBold-s.p.0mrue7ni0os3t.woff2)format("woff2");font-display:swap;font-weight:800;font-style:normal}@font-face{font-family:lufga;src:url(../media/Lufga_Black-s.p.10sjvmepxxi.j.woff2)format("woff2");font-display:swap;font-weight:900;font-style:normal}@font-face{font-family:lufga Fallback;src:local(Arial);ascent-override:87.82%;descent-override:30.32%;line-gap-override:0.0%;size-adjust:110.48%}.lufga_1b4de717-module__BPD4rG__className{font-family:lufga,lufga Fallback}.lufga_1b4de717-module__BPD4rG__variable{--font-lufga:"lufga", "lufga Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0wkzw~je483f-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.08e28id.o-okb.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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--ink:#101820;--muted:#667078;--line:#dfe4e1;--mint:#6dc393;--mint-deep:#278457;--mint-soft:#eaf6ef;--paper:#fbfcfb;--panel:#f2f5f3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:var(--paper);color:var(--ink);font-family:var(--font-lufga), Arial, sans-serif;margin:0;overflow-x:clip}body::selection{color:#0c2e1c;background:#b9e6cc}button,a{color:inherit;font:inherit}button{cursor:pointer}a{text-decoration:none}.section-shell{width:min(1400px,100% - 9vw);margin-inline:auto}.scroll-progress{z-index:100;background:linear-gradient(90deg,#48b77a,#a4e5c0);height:3px;transition:width 80ms linear;position:fixed;inset:0 auto auto 0;box-shadow:0 0 14px #73c99a}.site-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:30;background:#fbfcfbe0;grid-template-columns:1fr auto 1fr;align-items:center;height:78px;padding:0 4.5vw;display:grid;position:sticky;top:0}.wordmark{letter-spacing:-.055em;width:max-content;font-size:15px;font-weight:950;line-height:.88}.desktop-nav{gap:33px;font-size:13px;font-weight:600;display:flex}.desktop-nav a{padding:29px 0;position:relative}.desktop-nav a:after{content:"";background:var(--mint-deep);height:1px;transition:right .25s;position:absolute;bottom:21px;left:0;right:100%}.desktop-nav a:hover:after{right:0}.header-right{justify-self:end;align-items:center;gap:20px;font-size:12px;font-weight:650;display:flex}.social-link{align-items:center;gap:7px;display:inline-flex}.social-link svg{width:15px;height:15px}.social-link.github:hover{color:#181717}.social-link.linkedin:hover{color:#0a66c2}.language-switcher{border:1px solid var(--line);background:#fff;border-radius:999px;padding:3px;display:flex}.language-switcher button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:6px 8px;font-size:10px;font-weight:800}.language-switcher button.active{background:var(--ink);color:#fff}.menu-toggle,.mobile-menu,.mobile-menu-scrim{display:none}.menu-toggle{border:1px solid var(--line);background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;padding:0}.menu-toggle svg{width:19px;height:19px}.hero{isolation:isolate;grid-template-columns:1fr;place-items:center;min-height:720px;padding-block:76px 82px;display:grid;position:relative;overflow:hidden}.hero:before{--dot-step:23px;content:"";z-index:-2;opacity:.58;pointer-events:none;background-image:radial-gradient(circle,#27845747 1.15px,#0000 1.35px);background-size:var(--dot-step) var(--dot-step);background-position:50%;animation:18s linear infinite dotGridDrift;position:absolute;inset:3% -4.5vw 0;-webkit-mask-image:radial-gradient(76% 72% at 50% 54%,#000 24%,#000000c2 58%,#0000 100%);mask-image:radial-gradient(76% 72% at 50% 54%,#000 24%,#000000c2 58%,#0000 100%)}.hero:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(#6dc3931c,#0000 68%);position:absolute;inset:10% 5% 7%}.hero-copy{z-index:2;text-align:center;flex-direction:column;align-items:center;width:min(1120px,100%);margin-inline:auto;animation:.65s both rise;display:flex;position:relative}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--mint-deep);margin:0;font-size:10px;font-weight:850}.eyebrow{align-items:center;gap:10px;display:flex}.eyebrow span{background:var(--mint);width:7px;height:7px;box-shadow:0 0 0 6px var(--mint-soft);border-radius:50%;animation:2.2s infinite pulse}.hero h1{letter-spacing:-.073em;text-wrap:balance;max-width:1120px;margin:0 0 27px;font-size:clamp(64px,6.2vw,102px);font-weight:900;line-height:.94}.hero h1 em{color:var(--mint);background:linear-gradient(100deg,#78d6a2 0%,#45b982 42%,#168f72 72%,#0f766e 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:normal;font-weight:900;display:inline-block}.hero-intro{letter-spacing:-.018em;width:100%;max-width:610px;margin:0 0 13px;font-size:20px;line-height:1.48}.hero-detail{width:100%;max-width:580px;color:var(--muted);margin:0;font-size:15px;line-height:1.65}.typewriter-text{display:grid}.typewriter-text>span{grid-area:1/1}.typewriter-measure{visibility:hidden}.typewriter-output{position:relative}.typewriter-cursor{vertical-align:-.08em;background:var(--mint-deep);border-radius:2px;width:2px;height:.95em;margin-left:4px;animation:.72s step-end infinite typeCursor;display:inline-block}.typewriter-text.complete .typewriter-cursor{animation:1.2s step-end forwards typeCursorFinish}.hero-actions{justify-content:center;align-items:center;gap:12px;margin-top:28px;display:flex}.primary-button,.secondary-button{border-radius:8px;justify-content:space-between;align-items:center;gap:38px;min-height:50px;padding:0 17px;font-size:13px;font-weight:720;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.primary-button svg,.secondary-button svg{flex:none;width:16px;height:16px}.primary-button{background:var(--ink);color:#fff;box-shadow:0 16px 35px #10182026}.secondary-button{border:1px solid var(--line);background:#fff}.primary-button:hover,.secondary-button:hover{transform:translateY(-2px);box-shadow:0 14px 28px #1018201f}.location-line{color:var(--mint-deep);justify-content:center;align-items:center;gap:11px;margin-top:28px;display:flex}.location-line>span{border:1px solid #bee1cc;border-radius:50%;place-items:center;width:31px;height:31px;display:grid}.location-line>span svg{width:15px;height:15px}.location-line p{color:var(--ink);align-items:baseline;gap:10px;margin:0;display:flex}.location-line b{font-size:12px}.location-line small{color:var(--muted);font-size:11px}.hero-visual{isolation:isolate;place-items:center;min-height:540px;display:grid;position:relative}.hero-grid{z-index:-2;opacity:.42;background-image:linear-gradient(#d9e5de 1px,#0000 1px),linear-gradient(90deg,#d9e5de 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:1% -10%;-webkit-mask-image:radial-gradient(circle,#000 25%,#0000 72%);mask-image:radial-gradient(circle,#000 25%,#0000 72%)}.orb{z-index:-1;border-radius:50%;position:absolute}.orb-one{opacity:.9;background:radial-gradient(circle at 32% 28%,#e8faef 0,#b0e2c5 48%,#75c89a 100%);width:440px;height:440px;box-shadow:inset -30px -30px 70px #1d794926}.orb-two{opacity:.6;filter:blur(32px);background:#e7d9c9;width:230px;height:230px;top:4%;right:1%}.code-window{color:#cbd5df;background:#0d151ff5;border:1px solid #ffffffbf;border-radius:19px;width:min(610px,91%);min-height:350px;position:relative;transform:perspective(1200px)rotateY(-5deg)rotate(-2deg);box-shadow:0 42px 85px #10182047,inset 0 1px #ffffff14}.window-top{border-bottom:1px solid #293442;align-items:center;gap:7px;height:49px;padding:0 18px;display:flex}.window-top i{background:#53606c;border-radius:50%;width:8px;height:8px}.window-top i:first-child{background:#6fc394}.window-top span{color:#8995a0;font:11px var(--font-geist-mono),monospace;margin-left:10px}.window-top small{color:#6fc394;font:9px var(--font-geist-mono),monospace;letter-spacing:.08em;align-items:center;gap:5px;margin-left:auto;display:flex}.window-top small .live-dot{width:6px;height:6px}.code-window pre{font:clamp(14px,1.3vw,18px)/1.83 var(--font-geist-mono),monospace;margin:0;padding:57px 45px}.code-window pre b{color:#c19af4}.code-window pre mark{color:#96e2b5;background:0 0}.code-status{font:10px var(--font-geist-mono),monospace;color:#7e8a95;align-items:center;gap:7px;display:flex;position:absolute;bottom:18px;right:24px}.code-status svg{color:#74d59a;width:13px;height:13px}.floating-card{background:#fffffff0;border:1px solid #fff;border-radius:13px;align-items:center;gap:12px;min-width:205px;padding:17px;display:flex;position:absolute;bottom:44px;right:0;transform:rotate(2deg);box-shadow:0 20px 45px #10182029}.floating-card b{color:var(--mint-deep);font-size:26px}.floating-card span{color:var(--muted);font-size:11px;line-height:1.25}.tech-pill{font:8px var(--font-geist-mono),monospace;letter-spacing:.12em;background:#ffffffd9;border:1px solid #fffc;border-radius:6px;align-items:center;gap:6px;padding:8px 10px;display:flex;position:absolute;box-shadow:0 12px 25px #1018201f}.tech-pill svg{width:12px;height:12px}.pill-one{top:16%;left:4%;transform:rotate(-8deg)}.pill-two{top:21%;right:7%;transform:rotate(7deg)}.work-section{background:var(--paper);border:0;padding:105px 0 120px;overflow:visible}.section-heading{justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:46px;display:flex}.section-heading h2,.about-copy h2,.contact-inner h2{letter-spacing:-.06em;max-width:760px;margin:14px 0 13px;font-size:clamp(38px,4vw,59px);line-height:1.02}.section-heading>div>p:last-child{max-width:650px;color:var(--muted);margin:0;font-size:14px;line-height:1.6}.project-filters{border:1px solid var(--line);background:#fff;border-radius:999px;flex-shrink:0;gap:3px;padding:4px;display:flex}.project-filters button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:8px 13px;font-size:11px;font-weight:700}.project-filters button.active{background:var(--ink);color:#fff}.project-list{gap:clamp(45px,5vw,80px);width:100vw;margin-left:calc(50% - 50vw);display:grid}.project-card{isolation:isolate;perspective:1400px;background:0 0;border:0;grid-template-columns:minmax(0,1.3fr) minmax(340px,.7fr);align-items:center;gap:clamp(34px,5vw,90px);min-height:clamp(460px,36vw,570px);padding-block:clamp(20px,3vw,44px);display:grid;position:relative;overflow:visible}.project-card:nth-child(2n){grid-template-columns:minmax(340px,.7fr) minmax(0,1.3fr)}.project-card:nth-child(2n) .project-visual{order:2}.project-visual{z-index:2;background:0 0;place-items:center;min-height:420px;display:grid;position:relative;overflow:visible}.project-copy{z-index:1;max-width:520px;box-shadow:none;background:0 0;border:0;align-self:center;margin-right:4.5vw;padding-block:clamp(24px,4vw,58px);position:relative}.project-card:nth-child(2n) .project-copy{justify-self:end;margin:0 0 0 4.5vw}.project-copy h3{letter-spacing:-.065em;margin:0 0 5px;font-size:clamp(39px,4.2vw,62px);line-height:.98}.project-copy h4{margin:0;font-size:14px;font-weight:620}.project-copy>p{max-width:570px;color:var(--muted);margin:24px 0;font-size:clamp(14px,1.15vw,17px);line-height:1.7}.role{border-top:1px solid var(--line);gap:6px;padding-top:16px;display:grid}.role small{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:9px}.role span{font-size:11px;font-weight:650}.tags{flex-wrap:wrap;gap:6px;margin-top:18px;display:flex}.tags span{background:var(--panel);color:#38434a;border-radius:6px;padding:7px 9px;font-size:10px}.project-actions{align-items:center;gap:24px;margin-top:28px;display:flex}.project-actions button,.project-actions a{align-items:center;gap:10px;display:inline-flex}.project-actions button{border:0;border-bottom:1px solid var(--ink);background:0 0;padding:0 0 5px;font-size:12px;font-weight:720}.project-actions button svg,.project-actions a svg{width:14px;height:14px}.project-actions a{color:var(--muted);font-size:11px;font-weight:650}.project-actions a:hover{color:var(--ink)}.mockup{width:88%;height:83%;position:relative}.site-preview{--tablet-x:-4%;--tablet-y:0px;--tablet-rotate:-3deg;--tablet-rotate-x:0deg;--tablet-rotate-y:0deg;--tablet-scale:1;--tablet-opacity:1;isolation:isolate;width:min(78%,1100px);height:auto;opacity:var(--tablet-opacity);transform:perspective(1400px) translate3d(var(--tablet-x),var(--tablet-y),0) rotateX(var(--tablet-rotate-x)) rotateY(var(--tablet-rotate-y)) rotateZ(var(--tablet-rotate)) scale(var(--tablet-scale));transform-origin:50%;will-change:transform,opacity;place-items:center;transition:transform .65s cubic-bezier(.2,.8,.2,1),opacity .35s;display:grid}.project-card:nth-child(2n) .site-preview{--tablet-x:4%;--tablet-rotate:3deg}.tablet-scroll-enabled .site-preview{transition:none}.ipad-frame{z-index:1;background:linear-gradient(145deg,#596168 0%,#141a1e 22%,#080c0f 72%,#626b71 100%);border:1px solid #737b80;border-radius:24px;width:100%;height:auto;padding:9px;transition:transform .45s cubic-bezier(.22,.8,.28,1),box-shadow .45s;position:relative;transform:perspective(1200px)rotateX(1deg)rotateY(-2deg)rotate(-.6deg);box-shadow:0 32px 62px #10182038,inset 0 0 0 1px #ffffff3d}.ipad-frame:before{content:"";background:#2b3237;border-radius:4px 4px 1px 1px;width:12%;height:3px;position:absolute;top:-3px;left:9%;box-shadow:inset 0 1px #fff3}.ipad-camera{z-index:3;background:radial-gradient(circle at 35% 35%,#536e80,#080d10 62%);border:1px solid #27343c;border-radius:50%;width:5px;height:5px;position:absolute;top:2px;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #ffffff14}.ipad-button{background:linear-gradient(90deg,#20272b,#70787d);border-radius:0 3px 3px 0;width:3px;height:14%;position:absolute;top:18%;right:-3px}.ipad-screen{aspect-ratio:16/9;background:#fff;border-radius:16px;width:100%;height:auto;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1f}.ipad-screen img{object-fit:cover;object-position:center;transition:transform .7s cubic-bezier(.22,.8,.28,1),filter .4s}.browser{background:#fff;border:8px solid #152028;border-bottom:0;border-radius:15px 15px 0 0;width:87%;height:80%;position:absolute;bottom:1%;left:5%;overflow:hidden;transform:rotate(-3deg);box-shadow:0 26px 50px #10182040}.browser-bar{border-bottom:1px solid #e6e9e8;align-items:center;gap:5px;height:26px;padding-left:9px;display:flex}.browser-bar i{background:#cbd1ce;border-radius:50%;width:5px;height:5px}.browser-bar i:first-child{background:#68c391}.dashboard{grid-template-columns:21% 1fr;height:calc(100% - 26px);display:grid}.dashboard aside{border-right:1px solid #edf0ee;flex-direction:column;align-items:center;gap:14px;padding:17px 8px;display:flex}.dashboard aside b{color:#2e8e59;background:#e4f5eb;border-radius:50%;place-items:center;width:25px;height:25px;font-size:10px;display:grid}.dashboard aside span{background:#dfe5e1;border-radius:4px;width:60%;height:5px}.dash-main{padding:25px 20px}.dash-main strong{font-size:12px}.metric-row,.project-row{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:17px;display:grid}.metric-row i{background:#f1f4f2;border-radius:6px;height:44px}.project-row{grid-template-columns:repeat(2,1fr)}.project-row i{background:linear-gradient(#cfecda 32%,#f0f3f1 32%);border-radius:7px;height:78px}.phone{z-index:3;background:#fff;border:6px solid #131a20;border-radius:21px 21px 0 0;flex-direction:column;gap:8px;width:24%;height:59%;padding:27px 9px 10px;display:flex;position:absolute;bottom:-2%;right:0;transform:rotate(2deg);box-shadow:0 22px 42px #1018204d}.phone-notch{background:#111;border-radius:8px;width:38%;height:8px;position:absolute;top:6px;left:31%}.phone strong{font-size:9px}.phone>i{background:linear-gradient(135deg,#a3d6b8,#e8f6ed);border-radius:5px;height:23%}.verify-float,.review-float{z-index:4;color:#258354;background:#fffffff0;border:1px solid #fff;border-radius:9px;padding:11px 13px;font-size:9px;font-weight:750;position:absolute;bottom:7%;left:0;box-shadow:0 14px 30px #10182029}.verify-float{align-items:center;gap:6px;display:flex}.verify-float svg{width:13px;height:13px}.laboris-word{letter-spacing:-.05em;font-size:14px;font-weight:900;position:absolute;top:3%;left:5%}.laboris-word small{color:#4b67b0;letter-spacing:.15em;margin-top:2px;font-size:5px;display:block}.search-ui{background:linear-gradient(155deg,#f8faff,#edf2ff);border:7px solid #17203a;border-bottom:0;border-radius:15px 15px 0 0;width:85%;height:76%;padding:44px 40px;position:absolute;bottom:2%;left:7%;transform:rotate(2deg);box-shadow:0 26px 50px #1018323d}.search-ui>b{letter-spacing:-.06em;font-size:clamp(19px,2.2vw,31px);line-height:1.02}.search-line{color:#8a94aa;background:#fff;border:1px solid #d9e0f2;border-radius:7px;justify-content:space-between;align-items:center;margin-top:22px;padding:11px 12px;font-size:8px;display:flex}.search-line span{color:#fff;background:#365fc2;border-radius:5px;padding:7px 10px}.company-cards{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px;display:grid}.company-cards i{background:#fff;border:1px solid #e2e7f3;border-radius:7px;height:65px;padding:10px;font-style:normal}.company-cards b,.company-cards small{display:block}.company-cards b{color:#3158b0;font-size:11px}.company-cards small{color:#808aa1;margin-top:10px;font-size:6px}.review-float{color:#dd9c28;bottom:9%;left:auto;right:0}.rating-icons{gap:2px;display:flex}.rating-icons svg{fill:currentColor;width:9px;height:9px}.review-float small{color:#667078;letter-spacing:0;margin-top:5px;display:block}.menu-window{color:#fff;background:#181813;border:7px solid #181713;border-bottom:0;border-radius:15px 15px 0 0;width:88%;height:80%;position:absolute;bottom:0;left:3%;overflow:hidden;transform:rotate(-2deg);box-shadow:0 28px 52px #251c1447}.menu-top{border-bottom:1px solid #38352e;height:37px;padding:13px 17px;font-size:7px;font-weight:750}.menu-top span{float:right;color:#9b968b;font-weight:400}.dish{background:radial-gradient(circle at 22% 65%,#493b2b,#181813 55%);grid-template-columns:54% 46%;align-items:center;height:calc(100% - 37px);padding:28px;display:grid}.plate{aspect-ratio:1;background:radial-gradient(circle,#3e362a 0 36%,#b8966b 37% 39%,#29251f 40% 67%,#71604d 68% 70%,#29251f 71%);border-radius:50%;position:relative;box-shadow:0 10px 22px #000}.plate i{background:#876744;border-radius:50%;width:18%;height:30%;position:absolute;box-shadow:inset 4px 2px #b28d61}.plate i:first-child{top:25%;left:32%;transform:rotate(35deg)}.plate i:nth-child(2){top:32%;right:28%;transform:rotate(-40deg)}.plate i:nth-child(3){bottom:21%;left:38%;transform:rotate(80deg)}.plate i:nth-child(4){bottom:29%;right:18%;transform:rotate(10deg)}.dish>div:last-child{padding-left:19px}.dish small,.dish b{display:block}.dish small{color:#ccac7b;letter-spacing:.1em;font-size:5px}.dish b{margin:6px 0 15px;font-size:clamp(15px,1.7vw,24px);line-height:.98}.dish>div:last-child>span{color:#1b1814;background:#d8b276;border-radius:4px;align-items:center;gap:4px;width:max-content;padding:7px 8px;font-size:6px;font-weight:700;display:flex}.dish>div:last-child>span svg{width:7px;height:7px}.food-phone{z-index:3;background:#f9f5ee;border:6px solid #10100f;border-radius:21px 21px 0 0;width:26%;height:62%;padding:29px 9px 10px;position:absolute;bottom:-2%;right:0;transform:rotate(2deg);box-shadow:0 22px 42px #19140e59}.food-phone>b{font-size:8px}.food-phone>i{border-bottom:1px solid #ded6ca;justify-content:space-between;margin-top:9px;padding:9px 5px;font-size:6px;font-style:normal;display:flex}.food-phone>strong{color:#fff;text-align:center;background:#171713;border-radius:4px;margin-top:13px;padding:8px 5px;font-size:6px;display:block}.about-section{grid-template-columns:minmax(285px,.72fr) minmax(0,1.35fr);align-items:start;gap:clamp(44px,7vw,110px);padding-block:128px;display:grid}.portrait-card{aspect-ratio:.78;isolation:isolate;background:0 0;align-self:end;width:100%;min-height:520px;position:relative;overflow:visible}.portrait-card:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(to bottom,transparent 0%,#fbfcfb9e 55%,var(--paper) 92%);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);height:30%;position:absolute;inset:auto -6% -2px;-webkit-mask-image:linear-gradient(#0000,#000 38%,#000);mask-image:linear-gradient(#0000,#000 38%,#000)}.portrait-card img{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 28px 30px #10182021);transition:transform .65s cubic-bezier(.2,.8,.2,1);-webkit-mask-image:linear-gradient(#000 0% 78%,#000000e0 87%,#0000 100%);mask-image:linear-gradient(#000 0% 78%,#000000e0 87%,#0000 100%)}.portrait-card:hover img{transform:translateY(-5px)scale(1.015)}.about-copy{z-index:3;padding-top:12px;position:relative}.about-copy h2{max-width:790px;margin-bottom:27px}.about-lead{color:#394850;max-width:750px;margin:0;font-size:clamp(16px,1.25vw,18px);line-height:1.72}.about-note{border-left:3px solid var(--mint);background:var(--mint-soft);border-radius:0 11px 11px 0;max-width:750px;margin-top:27px;padding:20px 23px}.about-note p{color:#365848;margin:0;font-size:14px;line-height:1.7}.cv-button{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:8px;align-items:center;gap:11px;width:max-content;min-height:48px;margin-top:26px;padding:0 17px;font-size:12px;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 14px 30px #10182021}.cv-button svg{width:17px;height:17px}.cv-button:hover{background:var(--mint-deep);transform:translateY(-2px);box-shadow:0 18px 34px #27845733}.role-panel{border-top:1px solid var(--line);max-width:750px;margin-top:31px;padding-top:24px}.role-panel>small{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px;font-size:9px;display:block}.role-list{flex-wrap:wrap;gap:8px;display:flex}.role-list span{border:1px solid var(--line);background:#fff;border-radius:7px;padding:10px 12px;font-size:11px;font-weight:650}.process-panel{background:#f1f3f2;border:0;border-radius:28px;grid-column:1/-1;margin-top:5px;padding:clamp(38px,5vw,68px) clamp(26px,4vw,58px) clamp(30px,4vw,52px);overflow:hidden}.process-heading{grid-template-columns:minmax(0,1.15fr) minmax(320px,.75fr);align-items:end;gap:clamp(36px,7vw,110px);margin-bottom:clamp(34px,4vw,55px);display:grid}.process-heading h3{max-width:720px;color:var(--ink);letter-spacing:-.06em;margin:0;font-size:clamp(38px,4.3vw,62px);line-height:.98}.process-heading p{max-width:520px;color:var(--muted);margin:0 0 4px;font-size:clamp(14px,1.25vw,18px);line-height:1.55}.process{scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-columns:calc(33.3333% - 12px);grid-auto-flow:column;gap:18px;margin:-16px -18px -25px;padding:16px 18px 40px;scroll-padding-inline:18px;display:grid;overflow:auto hidden}.process::-webkit-scrollbar{display:none}.process-card{--process-accent:#7961ff;scroll-snap-align:start;background:#fff;border:0;border-radius:30px;grid-template-rows:auto 1fr;gap:48px;min-height:330px;padding:36px;display:grid;position:relative;overflow:hidden}.process-card:nth-child(2){--process-accent:#f05b10}.process-card:nth-child(3){--process-accent:#05a2b2}.process-card:nth-child(4){--process-accent:#278457}.process-card:nth-child(5){--process-accent:#3274dc}.process-card:nth-child(6){--process-accent:#d64f63}.process-card:nth-child(7){--process-accent:#9a58cf}.process-card-top{color:var(--process-accent);align-items:flex-start;display:flex}.process-icon{place-items:center;width:46px;height:46px;display:grid}.process-icon svg{stroke-width:1.5px;width:40px;height:40px}.process-card h4{letter-spacing:-.05em;margin:0 0 12px;font-size:clamp(25px,2.2vw,34px);line-height:1}.process-card p{max-width:330px;color:var(--process-accent);letter-spacing:-.025em;margin:0;font-size:clamp(16px,1.45vw,21px);font-weight:650;line-height:1.27}.process-plus{color:#fff;background:#17191a;border-radius:50%;place-items:center;width:42px;height:42px;transition:transform .32s cubic-bezier(.2,.8,.2,1),background .25s;display:grid;position:absolute;bottom:24px;right:25px}.process-plus svg{stroke-width:2.2px;width:24px;height:24px}.skills-section{isolation:isolate;border-block:1px solid var(--line);color:#fff;background:#10181e;padding:88px 0 96px;position:relative;overflow:hidden}.skills-section:before{--dot-step:22px;content:"";z-index:0;opacity:.24;pointer-events:none;background-image:radial-gradient(circle,#76ca9b9e 1px,#0000 1.25px);background-size:var(--dot-step) var(--dot-step);animation:20s linear infinite dotGridDrift;position:absolute;inset:0;-webkit-mask-image:radial-gradient(92% 84% at 50% 48%,#000 16%,#000000bf 60%,#0000 100%);mask-image:radial-gradient(92% 84% at 50% 48%,#000 16%,#000000bf 60%,#0000 100%)}.skills-section:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(#41a06c14,#0000 67%);position:absolute;inset:-25% 15%}.skills-section>.section-shell{z-index:1;position:relative}.skills-section .section-kicker{color:#76ca9b}.section-heading.compact{max-width:1180px;margin:0 auto 30px}.skills-section .section-heading h2{max-width:640px}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1180px;margin-inline:auto;display:grid}.skill-card,.ai-card{background:#151f25;border:1px solid #2d3b40;border-radius:26px;padding:30px;position:relative;overflow:hidden}.skill-card{--skill-accent:#76ca9b;grid-template-rows:auto auto 1fr;align-content:start;gap:22px;min-height:280px;display:grid}.skill-card:after{content:"";border:1px solid #76ca9b47;border-radius:50%;width:190px;height:190px;position:absolute;bottom:-112px;right:-98px}.skill-1,.skill-2,.skill-3,.skill-4,.skill-5,.skill-6{grid-column:auto}.skill-icon{width:48px;height:48px;color:var(--skill-accent);place-items:center;display:grid}.skill-icon svg{stroke-width:1.45px;width:42px;height:42px}.skill-card h3{letter-spacing:-.045em;margin:0;font-size:clamp(25px,2.1vw,31px);line-height:1}.skill-tags{flex-wrap:wrap;align-content:flex-start;gap:7px;padding-right:54px;display:flex}.skill-tags span{color:#c0cbd0;background:#ffffff04;border:1px solid #35454b;border-radius:7px;padding:8px 10px;font-size:10px}.skill-plus{color:#11191f;background:#f4f7f5;border-radius:50%;place-items:center;width:42px;height:42px;transition:transform .32s cubic-bezier(.2,.8,.2,1),background .25s,color .25s;display:grid;position:absolute;bottom:23px;right:24px}.skill-plus svg{stroke-width:2.2px;width:24px;height:24px}.ai-card{background:radial-gradient(circle at 0 0,#244b39,#151f25 50%);grid-column:1/-1;grid-template-columns:64px 1fr;align-items:start;gap:22px;min-height:150px;display:grid}.ai-orb{color:#8ce0ad;width:62px;height:62px;font:17px var(--font-geist-mono),monospace;border:1px solid #5fac83;border-radius:50%;place-items:center;display:grid;box-shadow:0 0 35px #4ebf7e26}.ai-card h3{margin:2px 0 8px;font-size:22px}.ai-card p{color:#9fadb3;margin:0;font-size:11px;line-height:1.6}.ai-card code{color:#65a981;margin-top:10px;font-size:8.5px;display:block}.credentials{grid-template-columns:1fr 1fr;gap:10vw;padding-block:95px;display:grid}.credentials article{border:1px solid var(--line);border-radius:15px;min-height:260px;padding:38px;position:relative}.credential-icon{color:var(--mint);position:absolute;top:25px;right:28px}.credential-icon svg{width:34px;height:34px}.credentials h3{letter-spacing:-.055em;max-width:450px;margin:55px 0 8px;font-size:clamp(27px,3vw,40px);line-height:1.03}.credentials article>p:last-child{color:var(--muted);font-size:12px}.language-levels{gap:24px;margin-top:45px;display:grid}.language-levels>div{gap:8px;display:grid}.language-levels span{justify-content:space-between;align-items:baseline;display:flex}.language-levels b{font-size:12px}.language-levels small{color:var(--muted);font-size:9px}.language-levels i{background:#e7ebe8;height:2px;position:relative}.language-levels i:after{content:"";width:var(--level);background:var(--mint);position:absolute;inset:0 auto 0 0}.contact-section{background:#dcefe4;position:relative;overflow:hidden}.contact-glow{opacity:.55;background:radial-gradient(circle,#8ad5aa,#0000 67%);border-radius:50%;width:650px;height:650px;position:absolute;top:-270px;right:-190px}.contact-inner{grid-template-columns:1.18fr .82fr;align-items:center;gap:8vw;min-height:470px;padding-block:90px;display:grid;position:relative}.contact-inner h2{max-width:720px}.contact-inner>div>p:last-child{color:#55655c;max-width:570px;font-size:14px;line-height:1.6}.contact-actions{gap:18px;display:grid}.email-button{background:#ffffffa6;border:1px solid #27845740;border-radius:11px;grid-template-columns:35px 1fr;gap:3px 10px;padding:19px;display:grid;box-shadow:0 18px 38px #27845717}.email-button>span{color:#ea4335;background:#fff;border-radius:50%;grid-row:1/3;place-items:center;width:34px;height:34px;display:grid}.email-button>span svg{width:17px;height:17px}.email-button small{color:#5d7165;text-transform:uppercase;letter-spacing:.1em;font-size:9px}.email-button b{font-size:13px}.contact-actions>div{gap:12px;display:flex}.contact-actions>div a{border:1px solid #27845740;border-radius:7px;align-items:center;gap:7px;padding:12px 14px;font-size:10px;font-weight:700;display:inline-flex}.contact-actions>div a svg{width:15px;height:15px}.contact-actions .linkedin svg{color:#0a66c2}footer{min-height:150px;color:var(--muted);grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:40px;font-size:10px;line-height:1.5;display:grid}footer .wordmark{color:var(--ink)}.modal-backdrop{z-index:90;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#050a0ec7;place-items:center;padding:30px;animation:.2s fade;display:grid;position:fixed;inset:0}.modal-dismiss{background:0 0;border:0;position:absolute;inset:0}.case-modal{z-index:1;background:#f9fbfa;border:1px solid #ffffff4d;border-radius:18px;width:min(1180px,100%);max-height:calc(100vh - 60px);animation:.35s modalIn;position:relative;overflow:auto;box-shadow:0 40px 100px #00000073}.modal-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:58px;padding:0 25px;display:flex}.modal-top>span{color:var(--muted);font:9px var(--font-geist-mono),monospace;letter-spacing:.13em}.modal-top button{background:0 0;border:0;align-items:center;gap:7px;font-size:11px;display:inline-flex}.modal-top button svg{width:15px;height:15px}.case-hero{grid-template-columns:.86fr 1.14fr;align-items:center;gap:45px;min-height:510px;padding:55px;display:grid;overflow:hidden}.case-modal.mint .case-hero{background:linear-gradient(135deg,#fff,#e0f3e8)}.case-modal.blue .case-hero{background:linear-gradient(135deg,#fff,#e3e9fb)}.case-modal.amber .case-hero{background:linear-gradient(135deg,#fff,#f1e4d7)}.case-hero h2{letter-spacing:-.075em;margin:0 0 2px;font-size:clamp(48px,6vw,80px);line-height:.92}.case-hero h3{margin:0;font-size:15px}.case-hero>div:first-child>p{color:var(--muted);margin-top:21px;font-size:13px;line-height:1.65}.case-hero .mockup{width:100%;height:370px}.case-section{border-top:1px solid var(--line);padding:65px 55px}.case-section.split{grid-template-columns:.72fr 1.28fr;gap:70px;display:grid}.case-section h3{letter-spacing:-.05em;margin:15px 0 0;font-size:34px}.case-section.split>p{color:var(--muted);margin:0;font-size:14px;line-height:1.75}.flow-list{border-block:1px solid var(--line);grid-template-columns:repeat(7,1fr);margin-top:30px;display:grid}.flow-list>div{border-right:1px solid var(--line);align-content:space-between;min-height:110px;padding:18px 12px;display:grid;position:relative}.flow-list>div:last-child{border-right:0}.flow-list b{color:var(--mint-deep);font:9px var(--font-geist-mono),monospace}.flow-list span{font-size:10px;font-weight:700}.flow-list i{z-index:2;width:12px;height:12px;color:var(--muted);background:#f9fbfa;border-radius:50%;place-items:center;font-size:8px;font-style:normal;display:grid;position:absolute;top:47%;right:-6px}.flow-list i svg{width:9px;height:9px}.case-details{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.case-details article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:250px;padding:45px 55px}.case-details article:nth-child(2n){border-right:0}.case-details article>span{color:#87a694;font:9px var(--font-geist-mono),monospace}.case-details h3{letter-spacing:-.04em;margin:32px 0 12px;font-size:24px}.case-details p{color:var(--muted);font-size:12px;line-height:1.7}.case-footer{justify-content:space-between;align-items:center;min-height:90px;padding:0 55px;display:flex}.case-footer a{border-bottom:1px solid;align-items:center;gap:8px;padding-bottom:5px;font-size:12px;font-weight:750;display:inline-flex}.case-footer a svg{width:15px;height:15px}.case-footer button{color:var(--muted);background:0 0;border:0;font-size:11px}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}}@keyframes modalIn{0%{opacity:0;transform:translateY(22px)scale(.98)}}@keyframes pulse{50%{box-shadow:0 0 0 9px #6dc3931a}}@keyframes statusPulse{50%{opacity:.48;box-shadow:0 0 0 5px}}@keyframes gridTravel{50%{background-position:14px 18px}}@keyframes monogramBreath{50%{box-shadow:0 0 42px #61cf9433,inset 0 0 28px #61cf9414}}@keyframes orbBreath{50%{border-color:#83dca8;box-shadow:0 0 50px #4ebf7e47}}@keyframes iconNudge{50%{transform:translateY(-3px)}}@keyframes glowDrift{50%{transform:translate(-24px,18px)scale(1.05)}}@keyframes microLift{50%{opacity:.72;translate:0 -2px}}@keyframes orbDrift{50%{transform:translate(16px,-12px)scale(1.035)}}@keyframes typeCursor{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes typeCursorFinish{0%,35%{opacity:1}36%,70%{opacity:0}71%,99%{opacity:1}to{opacity:0}}@keyframes dotGridDrift{to{background-position:var(--dot-step) var(--dot-step)}}.hero-visual{--pointer-x:0px;--pointer-y:0px;--pointer-x-reverse:0px;--pointer-y-reverse:0px;--pointer-x-soft:0px;--pointer-y-soft:0px}.hero-visual .code-window{transform:perspective(1200px) rotateY(-5deg) rotateZ(-2deg) translate3d(var(--pointer-x),var(--pointer-y),0);transition:transform .22s ease-out}.hero-visual .floating-card{transform:rotate(2deg) translate3d(var(--pointer-x-reverse),var(--pointer-y-reverse),0);transition:transform .28s ease-out}.hero-visual .pill-one{transform:rotate(-8deg) translate3d(var(--pointer-x-soft),var(--pointer-y-soft),0);transition:transform .3s ease-out}.hero-visual .pill-two{transform:rotate(7deg) translate3d(var(--pointer-x-reverse),var(--pointer-y-reverse),0) scale(.98);transition:transform .3s ease-out}.portrait-grid{animation:9s ease-in-out infinite gridTravel}.monogram{animation:4.5s ease-in-out infinite monogramBreath}.ai-orb{animation:3.8s ease-in-out infinite orbBreath}.contact-glow{animation:8s ease-in-out infinite glowDrift}.orb-one{animation:7s ease-in-out infinite orbDrift}.orb-two{animation:9s ease-in-out -2s infinite reverse orbDrift}.live-dot{animation:2.4s ease-in-out infinite statusPulse}.credential-icon svg,.gmail-icon svg{animation:3s ease-in-out infinite iconNudge}.window-top>i,.browser-bar i,.dashboard aside span,.metric-row i,.project-row i,.phone>i,.company-cards i,.food-phone>i,.rating-icons svg{animation:3.2s ease-in-out infinite microLift}.window-top>i:nth-child(2),.browser-bar i:nth-child(2),.metric-row i:nth-child(2),.company-cards i:nth-child(2),.rating-icons svg:nth-child(2){animation-delay:-.8s}.window-top>i:nth-child(3),.browser-bar i:nth-child(3),.metric-row i:nth-child(3),.company-cards i:nth-child(3),.rating-icons svg:nth-child(3){animation-delay:-1.6s}.motion-enabled .motion-item{opacity:0;translate:0 var(--motion-distance,24px);filter:blur(5px);transition:opacity .62s cubic-bezier(.22,.8,.28,1),translate .72s cubic-bezier(.22,.8,.28,1),scale .72s cubic-bezier(.22,.8,.28,1),filter .62s;transition-delay:var(--motion-delay,0s);will-change:opacity,translate,scale,filter;scale:.985}.motion-enabled .motion-item.motion-visible{opacity:1;filter:blur();translate:0;scale:1}.motion-enabled .project-card.motion-item{opacity:1;filter:none;translate:0;scale:1}.motion-enabled .project-card.motion-item .project-visual,.motion-enabled .project-card.motion-item .project-copy{opacity:0;filter:blur(7px);will-change:transform,opacity,filter;transition:transform .92s cubic-bezier(.18,.82,.2,1),opacity .68s,filter .78s}.motion-enabled .project-card.motion-item .project-visual{transform-origin:100%;transform:translate(-14vw)rotateY(-5deg)}.motion-enabled .project-card.motion-item .project-copy,.motion-enabled .project-card:nth-child(2n).motion-item .project-visual{transform-origin:0;transform:translate(14vw)rotateY(5deg)}.motion-enabled .project-card:nth-child(2n).motion-item .project-copy{transform-origin:100%;transform:translate(-14vw)rotateY(-5deg)}.motion-enabled .project-card.motion-item.motion-visible .project-visual,.motion-enabled .project-card.motion-item.motion-visible .project-copy,.motion-enabled .project-card:nth-child(2n).motion-item.motion-visible .project-visual,.motion-enabled .project-card:nth-child(2n).motion-item.motion-visible .project-copy{opacity:1;filter:blur();transform:translate(0,0)rotateY(0)}.tablet-scroll-enabled.motion-enabled .project-card.motion-item .project-visual,.tablet-scroll-enabled.motion-enabled .project-card:nth-child(2n).motion-item .project-visual{opacity:1;filter:none;transition:none;transform:none}.motion-enabled .language-levels>div i:after{transform-origin:0;transition:transform .9s cubic-bezier(.22,.8,.28,1) .24s;transform:scaleX(0)}.motion-enabled .language-levels>div.motion-visible i:after{transform:scaleX(1)}.wordmark,.desktop-nav a,.social-link,.language-switcher button,.menu-toggle,.project-filters button,.tags span,.role-list span,.skill-tags span,.process-card,.project-actions a,.project-actions button,.contact-actions a,.email-button,.credentials article,.skill-card{transition:color .22s,background .22s,border-color .22s,box-shadow .28s,translate .28s,scale .28s}.primary-button svg,.secondary-button svg,.project-actions svg,.contact-actions svg,.email-button svg,.mobile-menu svg{transition:transform .24s cubic-bezier(.22,.8,.28,1)}@media (hover:hover) and (pointer:fine){.desktop-nav a:hover,.social-link:hover{translate:0 -2px}.wordmark:hover{translate:2px -2px}.social-link:hover svg,.secondary-button:hover svg,.contact-actions a:hover svg{transform:rotate(-8deg)scale(1.14)}.language-switcher button:hover,.project-filters button:hover{translate:0 -2px}.primary-button:hover svg{transform:translateY(4px)}.project-actions a:hover svg,.project-actions button:hover svg{transform:translate(5px)}.tags span:hover,.role-list span:hover,.skill-tags span:hover{border-color:#89caa6;translate:0 -3px;scale:1.025}.project-card:hover{border-color:#c7dbd0;translate:0 -5px;box-shadow:0 28px 70px #1018201a}.project-card:hover .ipad-frame{transform:perspective(1200px)rotateX(0)rotateY(0)rotate(0);box-shadow:0 36px 72px #10182045,inset 0 0 0 1px #ffffff4d}.project-card:hover .ipad-screen img{transform:scale(1.025)}.process-card:hover{translate:0 -4px;box-shadow:0 16px 32px #10182017}.process-card:hover .process-plus{background:var(--process-accent);transform:rotate(90deg)scale(1.06)}.skill-card:hover,.credentials article:hover{border-color:#496258;translate:0 -5px;box-shadow:0 22px 48px #00000026}.skill-card:hover .skill-plus{background:var(--skill-accent);color:#10181e;transform:rotate(90deg)scale(1.06)}.credentials article:hover{border-color:#b7d4c4;box-shadow:0 20px 45px #10182014}.email-button:hover,.contact-actions a:hover{background:#ffffffe6;translate:0 -3px;box-shadow:0 15px 34px #27845721}.email-button:hover svg{transform:rotate(-7deg)scale(1.12)}.mobile-menu>a:hover svg{transform:translate(4px,4px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.motion-item{opacity:1!important;filter:none!important;translate:0!important;scale:1!important}}@media (max-width:1120px){.site-header{grid-template-columns:1fr auto}.desktop-nav{display:none}.hero{grid-template-columns:1fr}.header-right .social-link{display:none}.menu-toggle{display:flex}.mobile-menu-scrim{z-index:27;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;visibility:hidden;pointer-events:none;background:#080e126b;border:0;transition:opacity .28s,visibility .28s;display:block;position:fixed;inset:78px 0 0}.mobile-menu-scrim.open{opacity:1;visibility:visible;pointer-events:auto}.mobile-menu{z-index:28;border-left:1px solid var(--line);visibility:hidden;background:#fbfcfbfa;flex-direction:column;width:min(520px,100%);height:calc(100dvh - 78px);padding:24px 4.5vw 30px;transition:transform .32s cubic-bezier(.22,.8,.28,1),visibility .32s;display:flex;position:fixed;top:78px;right:0;overflow-y:auto;transform:translate(102%);box-shadow:-30px 40px 70px #10182024}.mobile-menu.open{visibility:visible;transform:translate(0)}.mobile-menu>a{border-bottom:1px solid var(--line);grid-template-columns:42px 1fr auto;align-items:center;gap:10px;min-height:82px;display:grid}.mobile-menu>a small{color:var(--mint-deep);font:9px var(--font-geist-mono),monospace}.mobile-menu>a span{letter-spacing:-.055em;font-size:clamp(29px,6vw,42px);font-weight:720;line-height:1}.mobile-menu>a b{place-items:center;font-size:15px;font-weight:400;transition:transform .2s;display:grid}.mobile-menu>a b svg{width:16px;height:16px}.mobile-menu>a:hover b{transform:translate(3px,3px)}.mobile-menu-footer{color:var(--muted);justify-content:space-between;gap:25px;margin-top:auto;padding-top:32px;font-size:10px;line-height:1.5;display:flex}.mobile-menu-footer>div{color:var(--ink);gap:16px;font-weight:700;display:flex}.mobile-menu-footer>div a{align-items:center;gap:6px;display:inline-flex}.mobile-menu-footer>div svg{width:14px;height:14px}.mobile-menu-footer>div a:last-child svg{color:#0a66c2}.project-card{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)}.project-card:nth-child(2n){grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr)}.project-card:nth-child(2n) .project-visual{order:2}.project-copy{padding:32px 0}.about-section{grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr);gap:48px}.process-heading{grid-template-columns:minmax(0,1.1fr) minmax(280px,.8fr);gap:42px}.skill-1,.skill-2,.skill-3,.skill-4,.skill-5,.skill-6{grid-column:auto}.ai-card{grid-column:1/-1}}@media (max-width:820px){.section-shell{width:min(100% - 40px,700px)}.hero{grid-template-columns:1fr;padding-top:58px}.hero-visual{min-height:470px}.hero h1{font-size:clamp(55px,11vw,78px)}.section-heading{flex-direction:column;align-items:flex-start}.project-card,.project-card:nth-child(2n){grid-template-columns:1fr;gap:0}.project-card .project-visual,.project-card:nth-child(2n) .project-visual{order:0;min-height:0;padding-block:20px}.project-copy,.project-card:nth-child(2n) .project-copy{order:1;justify-self:stretch;width:min(620px,100% - 40px);max-width:620px;min-height:0;margin:-6px auto 0;padding:30px 12px 0}.project-card{min-height:auto;padding:30px 0}.site-preview{--tablet-x:-2%;--tablet-rotate:-2.5deg;width:min(92%,760px)}.project-card:nth-child(2n) .site-preview{--tablet-x:2%;--tablet-rotate:2.5deg}.about-section{grid-template-columns:1fr;gap:0}.portrait-card{aspect-ratio:.86;max-width:520px;min-height:470px;margin:0 auto -82px}.about-copy{padding-top:54px}.process-panel{margin-top:36px;padding:38px 24px 27px}.process-heading{grid-template-columns:1fr;gap:20px}.process-heading p{max-width:640px}.process{grid-auto-columns:min(72vw,390px)}.process-card{min-height:300px;padding:31px}.credentials{gap:20px}.contact-inner{grid-template-columns:1fr}.contact-actions{max-width:520px}footer{grid-template-columns:1fr 1fr;padding-block:35px}.case-hero{grid-template-columns:1fr}.case-hero .mockup{height:330px}.case-section.split{grid-template-columns:1fr;gap:25px}.flow-list{grid-template-columns:1fr}.flow-list>div{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:35px 1fr;align-items:center;min-height:58px;display:grid}.flow-list i{display:none}}@media (max-width:560px){.section-shell{width:calc(100% - 32px)}.site-header{height:70px;padding:0 16px}.header-right{gap:7px}.language-switcher button{padding:6px 7px}.mobile-menu-scrim{inset-block-start:70px}.mobile-menu{border-left:0;width:100%;height:calc(100dvh - 70px);padding:20px 18px 24px;top:70px}.mobile-menu>a{grid-template-columns:35px 1fr auto;min-height:74px}.mobile-menu>a span{font-size:34px}.mobile-menu-footer{align-items:flex-end}.mobile-menu-footer>div{flex-direction:column;gap:7px}.hero{min-height:auto;padding-block:48px 54px}.hero:before{--dot-step:18px;opacity:.5;inset-inline:-16px}.hero h1{letter-spacing:-.058em;margin-top:0;font-size:46px;line-height:.98}.hero-intro{font-size:17px}.hero-actions{flex-wrap:wrap;justify-content:center;width:100%}.location-line p{flex-direction:column;align-items:center;gap:3px}.hero-visual{min-height:360px}.orb-one{width:300px;height:300px}.code-window{width:97%;min-height:270px}.code-window pre{padding:42px 22px;font-size:12px}.floating-card{min-width:170px;bottom:19px;right:-3px}.tech-pill{display:none}.work-section,.about-section,.skills-section{padding-block:78px}.section-heading h2,.about-copy h2,.contact-inner h2{font-size:39px}.project-filters{width:100%}.project-filters button{flex:1;padding-inline:7px}.project-card .project-visual,.project-card:nth-child(2n) .project-visual{min-height:0}.project-card{padding-block:22px}.project-copy,.project-card:nth-child(2n) .project-copy{width:calc(100% - 32px);margin:-4px auto 0;padding:24px 8px 0}.project-copy h3{font-size:42px}.project-actions{flex-direction:column;align-items:flex-start;gap:17px}.mockup{width:94%}.site-preview{--tablet-x:-1%;--tablet-rotate:-2deg;width:88%}.project-card:nth-child(2n) .site-preview{--tablet-x:1%;--tablet-rotate:2deg}.search-ui{padding:36px 20px}.phone,.food-phone{width:27%}.verify-float{left:4px}.portrait-card{aspect-ratio:.82;max-width:430px;min-height:440px;margin-bottom:-96px}.portrait-card:after{height:34%;inset-inline:-10%}.about-copy{padding-top:66px}.about-copy h2{margin-bottom:22px}.about-note{padding:18px}.role-panel{margin-top:26px}.process-panel{border-radius:0;margin-inline:-16px;padding:34px 16px 22px}.process-heading{margin-bottom:28px;padding-inline:3px}.process-heading h3{font-size:35px}.process-heading p{font-size:14px}.process{grid-auto-columns:min(84vw,330px);gap:12px;padding-bottom:12px}.process-card{border-radius:24px;gap:34px;min-height:270px;padding:25px}.process-icon{width:39px;height:39px}.process-icon svg{width:34px;height:34px}.process-card h4{font-size:27px}.process-card p{padding-right:20px;font-size:17px}.process-plus{width:38px;height:38px;bottom:18px;right:19px}.skills-section:before{--dot-step:18px;opacity:.2}.skill-card,.ai-card{min-height:0;padding:18px}.skill-card{row-gap:14px}.skill-1,.skill-2,.skill-3,.skill-4,.skill-5,.skill-6{grid-column:auto}.ai-card{grid-column:1/-1;grid-template-columns:48px 1fr;gap:14px}.ai-card p{font-size:10px}.credentials{grid-template-columns:1fr;padding-block:70px}.credentials article{padding:28px}.credentials h3{margin-top:48px}.contact-inner{padding-block:70px}.email-button b{font-size:11px}.contact-actions>div{flex-wrap:wrap}footer{grid-template-columns:1fr;gap:15px}.skills-section{padding-block:50px}.skills-section .section-heading h2{font-size:32px;line-height:1.04}.section-heading.compact{margin-bottom:18px}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.skill-card,.ai-card{border-radius:18px;padding:16px}.skill-card{grid-template-rows:auto auto 1fr;grid-template-columns:1fr;gap:12px;height:auto;min-height:230px}.skill-icon{width:36px;height:36px}.skill-icon svg{width:32px;height:32px}.skill-card h3{font-size:17px;line-height:1.02}.skill-tags{gap:5px;padding-right:0}.skill-tags span{border-radius:5px;padding:5px 7px;font-size:8.5px}.skill-plus{width:34px;height:34px;bottom:14px;right:14px}.skill-plus svg{width:20px;height:20px}.ai-card{grid-column:1/-1;grid-template-columns:42px 1fr;gap:11px;height:auto;min-height:140px}.ai-orb{width:40px;height:40px;font-size:12px}.ai-card h3{font-size:16px}.ai-card code{margin-top:7px;font-size:8px}.modal-backdrop{padding:0}.case-modal{border:0;border-radius:0;width:100%;height:100%;max-height:100vh}.case-hero{padding:40px 22px}.case-hero h2{font-size:55px}.case-hero .mockup{height:280px}.case-section,.case-details article{padding:42px 22px}.case-details{grid-template-columns:1fr}.case-details article{border-right:0}.case-footer{padding:0 22px}}@media (max-width:380px){.site-header .wordmark{font-size:13px}.language-switcher button{padding-inline:6px;font-size:9px}.menu-toggle{width:37px;height:37px}.hero h1{font-size:42px}.mobile-menu>a span{font-size:31px}.skill-card{min-height:245px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:focus-visible{outline:2px solid var(--mint-deep);outline-offset:4px}
