:root{--background:#fff;--foreground:#121317;--muted:#60646d;--surface:#f7f8fa;--line:#e5e7eb;--container:1240px;--accent:#245edb;--accent-hover:#194cbd;--teal:#087f8c;--coral:#df735f;--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-in-out:cubic-bezier(0.45,0,0.55,1);--ease-spring:cubic-bezier(0.16,1,0.3,1)}@theme inline{--color-background:var(--background);--color-foreground:var(--foreground);--font-sans:var(--font-google-sans),Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-google-sans),Arial,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}img{display:block;max-width:100%}h1,h2,h3,p{margin:0;letter-spacing:0}h1,h2,h3{font-weight:400}h1{font-size:76px;line-height:1.08}h2{font-size:46px;line-height:1.12}h3{font-size:27px;line-height:1.2}p{color:var(--muted)}::selection{background:#dbe6ff}:focus-visible{outline:2px solid #4285f4;outline-offset:5px}.container{width:min(var(--container),calc(100% - 112px));margin-inline:auto}.section{padding-block:110px}.process-section{padding-top:77px}.eyebrow{color:var(--muted);font-size:14px;font-weight:500;margin-bottom:25px}.button{display:inline-flex;gap:10px;align-items:center;justify-content:center;padding:14px 24px;min-height:48px;border:1px solid transparent;border-radius:999px;font-size:15px;font-weight:500;line-height:1.2;white-space:nowrap;transition:background .35s var(--ease-out),transform .45s var(--ease-spring),box-shadow .45s var(--ease-out),color .35s var(--ease-out),border-color .35s var(--ease-out)}.button:hover:not(:disabled){transform:translateY(-1.5px);box-shadow:0 8px 20px rgba(18,19,23,.08)}.button:active:not(:disabled){transform:translateY(0);box-shadow:none}.button-primary{background:var(--accent);color:white}.button-primary:hover{background:var(--accent-hover)}.button-secondary{background:#f0f2f6;color:var(--foreground)}.button-secondary:hover:not(:disabled){background:#e7eaf0}.button:disabled{color:#767b84;background:#f6f7f9}.text-link{display:inline-flex;align-items:center;gap:10px;font-size:15px;border-bottom:1px solid #bfc3ca;padding-bottom:4px}.skip-link{position:fixed;left:20px;top:-70px;padding:12px 20px;background:#121317;color:#fff;z-index:100}.skip-link:focus{top:15px}.site-header{position:sticky;top:0;z-index:20;background:rgb(255 255 255/.95);border-bottom:1px solid rgb(229 231 235/.65);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav-container{width:min(1360px,calc(100% - 80px));margin:auto;display:flex;align-items:center;justify-content:space-between;height:82px;gap:30px}.wordmark{font-size:29px;font-weight:500;line-height:1}.wordmark span{color:#7c8494}.desktop-nav{display:flex;gap:38px;align-items:center}.desktop-nav a,.mobile-nav a{color:#62666f;font-size:15px}.desktop-nav a:hover,.desktop-nav a[aria-current],.mobile-nav a[aria-current]{color:var(--foreground)}.desktop-nav a[aria-current]{box-shadow:0 2px var(--accent);padding-block:8px}.nav-actions{display:flex;gap:12px;align-items:center}.resume{padding:11px 20px;min-height:42px}.soon{font-size:10px;font-weight:400;padding-left:3px}.menu-toggle{display:none;background:transparent;border:0;width:42px;height:42px;align-items:center;justify-content:center}.mobile-nav{display:none}.hero{padding:72px 0 64px;overflow-x:clip;overflow-y:visible;background:var(--background)}.hero-with-portrait{padding:64px 0 72px}.hero-content{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:48px 40px;min-width:0}.hero-with-portrait .hero-content{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px 64px;align-items:center}.hero-copy{min-width:0;max-width:560px}.hero-with-portrait .hero-copy{max-width:34rem}.hero-eyebrow{margin:0;color:#8a909b;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.hero-with-portrait .hero-eyebrow{letter-spacing:.1em}.hero-statement{margin:18px 0 0;color:var(--foreground);font-size:58px;font-weight:400;line-height:1.1;letter-spacing:-.025em}.hero-with-portrait .hero-statement{margin-top:16px;font-size:52px;line-height:1.08;letter-spacing:-.03em}.hero-statement-accent{background:linear-gradient(105deg,var(--accent) 0,var(--teal) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-description{max-width:460px;margin:22px 0 0;color:#6b717d;font-size:17px;line-height:1.65}.hero-with-portrait .hero-description{max-width:28rem;margin-top:20px;font-size:16.5px;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px;margin-top:28px}.hero-with-portrait .hero-actions{margin-top:26px}.hero-actions .button{min-height:48px}.hero .availability{justify-content:flex-start;margin-top:20px;color:#737985;font-size:13px}.hero-with-portrait .availability{margin-top:18px}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,auto));justify-content:start;gap:0;margin:36px 0 0;padding:0}.hero-with-portrait .hero-stats{margin-top:32px}.hero-stats>div{display:grid;gap:6px;padding-inline:22px;border-left:1px solid var(--line)}.hero-stats>div:first-child{padding-left:0;border-left:0}.hero-with-portrait .hero-stats>div{padding-inline:18px;gap:5px}.hero-with-portrait .hero-stats>div:first-child{padding-left:0}.hero-stats dt{order:2;font-size:12px;color:#8a909b;line-height:1.35}.hero-stats dd{order:1;margin:0;display:flex;align-items:baseline;gap:4px;color:var(--foreground);font-size:34px;font-weight:500;letter-spacing:-.03em;line-height:1}.hero-with-portrait .hero-stats dd{font-size:28px}.hero-stats dd>span{color:var(--accent);font-size:22px;font-weight:500}.hero-with-portrait .hero-stats dd>span{font-size:18px}.hero-visual{position:relative;justify-self:end;width:min(100%,520px);min-width:0;min-height:540px;display:grid;place-items:center}.hero-visual-portrait{justify-self:end;align-self:center;width:min(100%,520px);min-height:0;place-items:center end}.hero-portrait{margin:0;width:100%;max-width:520px;position:relative;z-index:1;background:#fff}.hero-portrait img{width:100%;height:auto;display:block;background:#fff}.hero-orbit{position:absolute;inset:-2% -8% 0;border-radius:50%;background:radial-gradient(circle at 50% 48%,rgba(90,150,255,.34) 0,rgba(66,133,244,.18) 26%,rgba(36,94,219,.08) 46%,transparent 70%);pointer-events:none}.hero-orbit:after,.hero-orbit:before{content:"";position:absolute;inset:2%;border-radius:50%;border:1.5px solid rgba(100,160,255,.35);transform:rotate(-26deg) scaleX(1.14) scaleY(.9)}.hero-orbit:after{inset:13%;border-color:rgba(66,133,244,.22);transform:rotate(32deg) scaleX(1.2) scaleY(.86)}.hero-phones{position:relative;z-index:1;width:100%;min-height:520px;perspective:1600px;perspective-origin:50% 42%}.hero-device,.hero-phones{transform-style:preserve-3d}.hero-device{position:absolute;width:220px}.hero-device-back{left:4%;top:2%;z-index:1;transform:rotateY(20deg) rotateX(9deg) rotate(-8deg) scale(.92);animation:hero-device-float-back 6s ease-in-out infinite}.hero-device-front{right:4%;bottom:0;z-index:2;transform:rotateY(-18deg) rotateX(7deg) rotate(7deg) scale(1.04);animation:hero-device-float-front 6.6s ease-in-out .35s infinite}.hero-device-shadow{position:absolute;left:4%;right:4%;bottom:-8%;height:48px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(18,19,23,.42) 0,rgba(18,19,23,.16) 40%,transparent 72%);filter:blur(12px);transform:translateZ(-40px) rotateX(80deg);pointer-events:none}.hero-device-shell{position:relative;padding:4.2%;border-radius:18.5%/8.5%;background:linear-gradient(150deg,#6b707a,#3a3e48 12%,#1c1e24 38%,#0b0c0f 62%,#1a1c22 86%,#4a4e58);box-shadow:0 34px 60px rgba(18,19,23,.32),0 12px 24px rgba(18,19,23,.18),inset 0 1px 0 rgba(255,255,255,.45),inset 0 -2px 4px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.18)}.hero-device-shell:before{content:"";position:absolute;inset:1.4%;border-radius:17.5%/8%;background:linear-gradient(165deg,#22252c,#0e0f12 55%,#050607);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);pointer-events:none}.hero-device-screen{position:relative;z-index:1;overflow:hidden;border-radius:15%/7%;background:#000;line-height:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 0 0 1px rgba(0,0,0,.45)}.hero-device-screen img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:458/1024;object-fit:cover;object-position:top center}.hero-device-island{position:absolute;top:11px;left:50%;z-index:4;width:31%;max-width:82px;height:17px;border-radius:999px;background:#050505;transform:translateX(-50%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 0 0 1.5px rgba(0,0,0,.55);pointer-events:none}.hero-device-island:after{content:"";position:absolute;top:50%;right:11px;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#35506a,#06090d 70%);transform:translateY(-50%);box-shadow:inset 0 0 0 1px rgba(140,180,220,.18)}.hero-device-glass{inset:0;z-index:3;background:linear-gradient(118deg,rgba(255,255,255,.28),rgba(255,255,255,.08) 14%,transparent 32%),linear-gradient(90deg,transparent 0,rgba(255,255,255,.04) 48%,transparent 56%);mix-blend-mode:soft-light}.hero-device-btn,.hero-device-glass{position:absolute;pointer-events:none}.hero-device-btn{z-index:2;background:linear-gradient(180deg,#5a5f6a,#24262c 40%,#101114);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(0,0,0,.55)}.hero-device-btn-silent{left:-2.5px;top:13%;width:3.5px;height:4.2%;border-radius:2px 0 0 2px}.hero-device-btn-vol-up{top:20.5%}.hero-device-btn-vol-down,.hero-device-btn-vol-up{left:-2.5px;width:3.5px;height:7.2%;border-radius:2px 0 0 2px}.hero-device-btn-vol-down{top:29.5%}.hero-device-btn-power{right:-2.5px;top:24%;width:3.5px;height:10.5%;border-radius:0 2px 2px 0}.hero-note{position:absolute;right:4%;top:10%;z-index:3;margin:0;color:#7a8290;font-size:15px;font-style:italic;font-weight:500;line-height:1.25;letter-spacing:-.01em;transform:rotate(6deg);pointer-events:none}.hero-note:before{content:"";position:absolute;left:-30px;top:16px;width:24px;height:24px;border-left:1.5px solid #a8b0bc;border-bottom:1.5px solid #a8b0bc;border-radius:0 0 0 16px;transform:rotate(-18deg)}.hero-badge{position:absolute;right:4%;bottom:4%;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:11px 15px;border-radius:999px;background:#fff;border:1px solid #e8ebf0;box-shadow:0 16px 36px rgba(18,19,23,.12),0 2px 6px rgba(18,19,23,.05);color:#3f4652;font-size:12px;font-weight:500;white-space:nowrap;animation:hero-badge-in .8s ease .2s both}.hero-badge img{width:18px;height:18px}@keyframes hero-device-float-back{0%,to{transform:rotateY(20deg) rotateX(9deg) rotate(-8deg) scale(.92) translateY(0)}50%{transform:rotateY(20deg) rotateX(9deg) rotate(-8deg) scale(.92) translateY(-10px)}}@keyframes hero-device-float-front{0%,to{transform:rotateY(-18deg) rotateX(7deg) rotate(7deg) scale(1.04) translateY(0)}50%{transform:rotateY(-18deg) rotateX(7deg) rotate(7deg) scale(1.04) translateY(-12px)}}@keyframes hero-badge-in{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@media (prefers-reduced-motion:reduce){.hero-badge,.hero-device{animation:none}}.hero+#work{border-top:1px solid var(--line);padding-top:55px}.about-photo{margin:0;max-width:360px}.about-photo img{width:100%;height:auto;object-fit:contain;border-radius:0}.about-photo figcaption{margin-top:14px;font-size:12px;color:#7f7b78}.plans-heading{margin-bottom:42px;max-width:40rem}.plans-heading .eyebrow{color:var(--accent);margin-bottom:15px}.plans-heading h2{font-size:40px}.plans-heading>p:not(.eyebrow):not(.plans-note){font-size:18px;margin-top:16px}.plans-note{margin-top:12px;font-size:15px;line-height:1.55;color:#7a808c}.plan-badge-row{display:flex;align-items:center;min-height:28px;margin-bottom:12px}.plan-badge-spacer{display:block;height:28px}.plan-badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;line-height:20px;background:#eaf0ff;color:var(--accent)}.plan-pricing{margin-top:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}.plan-fit{margin:0 0 6px;font-size:13px;font-weight:500;color:var(--accent);letter-spacing:.01em}.plan-quote{margin:0;font-size:16px;font-weight:500;line-height:1.4;color:var(--foreground)}.plan-included{margin-top:16px;margin-bottom:0;font-size:13px;font-weight:500;color:#5c6370}.plan-check{width:22px;height:22px;border-radius:50%;background:#edf2ff;color:var(--accent);display:grid;place-items:center;flex-shrink:0}.plan .button{margin-top:24px;width:100%;border-radius:8px;font-size:14px;padding-inline:12px}.plan-button-outline{background:white;border-color:#a6aebd;color:var(--foreground)}.plan-button-outline:hover{background:#f4f6fb;border-color:var(--accent)}.project-visual-label{font-weight:400}.availability{display:flex;gap:9px;align-items:center;font-size:13px}.availability>span{width:7px;height:7px;flex-shrink:0;background:#25b567;border-radius:50%;box-shadow:0 0 0 4px #eaf7ef}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:90px;margin-bottom:48px}.section-heading>p{max-width:370px;font-size:17px;line-height:1.7;margin-bottom:5px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.projects-more{width:100%;margin-top:72px;padding-top:8px;display:flex;justify-content:center;align-items:center;text-align:center}.projects-more .button{margin-inline:auto;min-width:220px;min-height:52px;font-size:15px;font-weight:500;box-shadow:0 1px 2px rgba(18,19,23,.06)}.projects-more .button:hover{background:#e1e5ec}.project-visual{position:relative;display:flex;justify-content:center;align-items:center;height:440px;border-radius:8px;overflow:hidden;padding:35px 30px 48px;transition:transform .5s var(--ease-spring),box-shadow .5s var(--ease-out)}.project-visual:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(18,19,23,.08)}.blue{background:#e3efff}.pink{background:#ffe8ed}.violet{background:#ece8ff}.coral{background:#ffe8e2}.project-visual-shot{padding:28px 24px 44px}.project-visual-pair{padding:36px 28px 52px}.project-phones{position:relative;display:grid;place-items:center;width:min(100%,280px);height:100%;margin-inline:auto}.phone-frame.project-phone{width:min(100%,176px);max-width:176px;transition:transform .55s var(--ease-spring)}.phone-frame.project-phone-back{position:absolute;left:4%;top:8%;width:148px;max-width:148px;z-index:1;transform:rotate(-11deg) translateY(6px);opacity:.92;filter:drop-shadow(0 16px 28px rgba(18,19,23,.16))}.phone-frame.project-phone-front{position:relative;z-index:2;margin-left:18%;transform:rotate(6deg);filter:drop-shadow(0 22px 34px rgba(18,19,23,.2))}.project-visual:hover .project-phone-back{transform:rotate(-12deg) translateY(-4px);opacity:1}.project-visual:hover .project-phone-front{transform:rotate(7deg) translateY(-10px) scale(1.02)}.project-visual:hover .project-phone:not(.project-phone-back):not(.project-phone-front){transform:translateY(-8px) scale(1.015)}.mint{background:#e4f5ef}.amber{background:#fff1df}.slate{background:#e8ecf2}.project-visual>img{width:auto;height:100%;max-width:100%;object-fit:contain;transition:transform .55s var(--ease-spring)}.project-visual:hover>img{transform:translateY(-8px) scale(1.015)}.project-visual-label{position:absolute;left:25px;bottom:20px;font-size:12px;color:#747985}.project-open{position:absolute;right:22px;bottom:16px;height:36px;width:36px;background:white;border-radius:50%;display:grid;place-items:center}.project-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:25px 0 10px}.project-title span{font-size:12px;color:#888c94}.project>p{max-width:470px;min-height:54px;line-height:1.65}.project .text-link{margin-top:16px}.about-section{background:#fdf7f2}.about-grid{display:grid;grid-template-columns:360px 1fr;align-items:center;gap:90px}.about-copy{max-width:640px}.about-copy h2{font-size:40px}.about-copy>p:not(.eyebrow){font-size:17px;line-height:1.75;margin-top:25px}.about-social{display:flex;flex-direction:row;align-items:center;gap:16px;margin-top:22px}.about-social a{display:inline-flex;line-height:0;opacity:.9;transition:opacity .2s ease}.about-social a:hover{opacity:1}.about-social img{width:20px;height:20px;display:block}.about-copy .button{margin-top:30px;background:#fff}.technologies{margin-top:55px;border-top:1px solid #e1e4e9;padding-top:35px}.tech-list{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:16px 10px;width:100%;align-items:start}.tech-list>div{display:flex;flex-direction:column;gap:12px;align-items:center;font-size:13px;line-height:1.35;color:#686e78;text-align:center;padding-block:4px}.tech-list>div>span:last-child{min-height:2.7em;max-width:10ch}.tech-mark{width:58px;height:58px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:white}.tech-mark img{width:36px;height:36px;object-fit:contain}.process-step:first-child .process-icon{background:#e8f0fe;color:#3467d3}.process-step:nth-child(2) .process-icon{background:#ffede1;color:#c47833}.process-step:nth-child(3) .process-icon{background:#e1f3ec;color:#218761}.process-step:nth-child(4) .process-icon{background:#efe9fb;color:#7655b7}.center-heading{text-align:center;max-width:750px;margin:0 auto 55px}.center-heading>p:last-child{max-width:520px;margin:25px auto 0;font-size:17px}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:32px;row-gap:0}.process-step{position:relative;display:grid;grid-row:span 4;grid-template-rows:subgrid;min-width:0}.process-top{display:flex;gap:15px;align-items:center;margin-bottom:25px;position:relative}.process-icon{background:#f4f5f8;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:#555d6d}.step-number{color:#b5bac4;font-size:13px}.process-connector{position:absolute;right:8px;color:#c5c9d1}.process-step h3{font-size:23px;margin-bottom:15px}.process-step>p{font-size:15px;line-height:1.75}.deliverable{display:block;font-size:12px;color:#8b919e;margin-top:23px;padding-top:18px;border-top:1px solid var(--line)}.plans-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}.plan{padding:22px 22px 24px;background:white;border:1px solid #dce1eb;border-radius:8px;display:flex;flex-direction:column;height:100%}.plan-featured{border-color:var(--accent)}.plan h3{font-size:24px;margin-bottom:8px}.plan-description{font-size:15px;line-height:1.5;min-height:0}.plan ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px;flex:1 1}.plan li{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.45;color:#656c77}.plan li svg{margin:0}.plans-section{background:#f7f6fc;padding-block:96px}.experience-section{background:#f4f6fb;border-top:1px solid var(--line)}.experience-section .center-heading{margin-bottom:40px}.experience-timeline{list-style:none;margin:0 auto;padding:0;max-width:760px}.experience-item{position:relative;display:grid;grid-template-columns:18px 1fr;gap:18px;padding-bottom:32px}.experience-item:last-child{padding-bottom:0}.experience-item:not(:last-child):before{content:"";position:absolute;left:8px;top:18px;bottom:0;width:1px;background:var(--line)}.experience-marker{width:17px;height:17px;margin-top:4px;border-radius:50%;border:2px solid var(--accent);background:#fff;box-shadow:0 0 0 4px #eaf0ff}.experience-period{margin:0 0 6px;font-size:13px;color:#8a909b}.experience-body h3{margin:0 0 6px;font-size:22px}.experience-company{margin:0;font-size:15px;color:#5c6370}.experience-highlights{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:10px}.experience-highlights li{position:relative;padding-left:16px;font-size:15px;line-height:1.65;color:#5c6370}.experience-highlights li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:#c5cad3}.faq-section{background:#f7f8fa;padding-block:96px}.faq-section .center-heading{margin-bottom:40px}.faq-list{display:grid;gap:0;max-width:720px;margin:0 auto;padding:8px 28px;background:#fff;border:1px solid #e8ebf0;border-radius:14px}.faq-item{border-bottom:1px solid var(--line);padding:0}.faq-item:last-child{border-bottom:0}.faq-item summary{list-style:none;cursor:pointer;padding:18px 32px 18px 0;font-size:16px;font-weight:500;color:var(--foreground);position:relative;transition:color .35s var(--ease-out)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"";position:absolute;right:2px;top:50%;width:9px;height:9px;border-right:1.5px solid #8a909b;border-bottom:1.5px solid #8a909b;transform:translateY(-65%) rotate(45deg);transition:transform .35s var(--ease-spring)}.faq-item[open] summary:after{transform:translateY(-20%) rotate(225deg)}.faq-item summary:hover{color:var(--accent)}.faq-item p{margin:0;padding:0 4px 18px 0;max-width:54ch;font-size:15px;line-height:1.65;color:#5c6370}.contact-cta{background:#fff;border-top:1px solid var(--line);text-align:center;padding-block:88px 96px}.contact-cta h2{font-size:58px}.contact-cta>p:not(.eyebrow){margin-top:25px;font-size:18px}.contact-cta .button{margin-top:30px}.site-footer{border-top:1px solid var(--line);padding-top:55px;padding-bottom:28px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:start}.footer-top>p{font-size:23px;line-height:1.3;color:#8b9099;margin:0}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:14px;justify-self:end;width:min(100%,220px)}.footer-top nav a{display:flex;gap:5px;align-items:center}.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.footer-brand .wordmark{line-height:1}.footer-social{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:14px}.footer-social a{display:inline-flex;line-height:0;opacity:.9;transition:opacity .2s ease}.footer-social a:hover{opacity:1}.footer-social img{width:18px;height:18px;display:block}.footer-bottom{margin-top:70px;display:flex;justify-content:flex-end;font-size:12px;color:#8a909b}.page-intro{padding-block:110px 100px;text-align:center}.about-page-intro,.contact-page-intro,.work-page-intro{padding-block:88px 36px}.about-page-intro+.about-section,.contact-page-intro+.contact-layout,.work-page-intro+.projects-page-section{padding-top:36px}.page-intro h1{font-size:68px}.page-intro>p:last-child{margin-top:30px;font-size:19px}.about-page-intro>p:last-child,.contact-page-intro>p:last-child,.work-page-intro>p:last-child{margin-top:24px}.projects-page-section{padding-top:0}.projects-page-section .section-heading{display:none}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;padding-bottom:140px}.contact-details h2{font-size:32px;margin-top:35px}.contact-details>p:not(.availability){margin-top:20px;max-width:370px}.contact-email{display:inline-flex;align-items:center;gap:10px;width:fit-content;max-width:100%;margin-top:32px;font-size:15px;overflow-wrap:anywhere}.contact-email img,.contact-email svg{flex-shrink:0}.contact-social{display:flex;flex-direction:row;align-items:center;gap:16px;margin-top:22px}.contact-social a{display:inline-flex;line-height:0;opacity:.9;transition:opacity .2s ease}.contact-social a:hover{opacity:1}.contact-social img{width:20px;height:20px;display:block}.contact-form{padding:32px;background:var(--surface);border-radius:8px}.contact-form label{display:flex;flex-direction:column;gap:9px;font-size:14px;margin-bottom:23px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form input,.contact-form select,.contact-form textarea{border:1px solid #dfe3e9;border-radius:5px;padding:12px 14px;background:#fff;width:100%;min-width:0;color:var(--foreground);font-size:15px}.contact-form input.field-invalid,.contact-form textarea.field-invalid{border-color:#e5a3a0;background:#fff8f7}.contact-form textarea{resize:vertical}.contact-form .button{width:100%}.form-note{font-size:12px;margin-top:16px;line-height:1.6}.form-field-error{display:block;margin-top:6px;font-size:13px;color:#b42318}.contact-form.form-success{background:#fff;border:1px solid #e8eaef;border-radius:24px;padding:56px 40px;min-height:460px;display:grid;place-items:center;text-align:center}.form-success-content{display:flex;flex-direction:column;align-items:center;max-width:26rem}.form-success-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#e7f6ee;color:#1b7a4a;margin-bottom:24px}.form-success h3{font-size:34px;font-weight:500;line-height:1.15;color:var(--foreground);margin-bottom:14px}.form-success p{font-size:16px;line-height:1.55;color:#6b7280;margin-bottom:28px}.contact-form.form-success .button{width:auto;min-width:0;padding-inline:28px;margin-bottom:22px}.form-success-reset{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:transparent;color:#6b7280;font-size:14px;font-weight:500;line-height:1.4}.form-success-reset:hover{color:var(--foreground)}.case-intro{padding-block:65px 55px}.case-intro>.eyebrow{margin-top:55px}.case-intro h1{font-size:86px}.case-intro>p:last-of-type{font-size:25px;margin-top:20px}.case-meta{gap:28px;margin-top:28px;flex-wrap:wrap;font-size:13px;color:#8a909b}.case-meta,.case-meta>span{display:flex;align-items:center}.case-meta>span{gap:8px}.case-meta img{width:16px;height:16px;display:block;flex-shrink:0}.case-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:36px}.case-actions-split{justify-content:space-between;width:100%}.case-store-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.store-button{display:inline-flex;align-items:center;gap:12px;min-height:54px;padding:9px 20px 9px 14px;border-radius:12px;color:#fff;background:#111214;line-height:1.1;transition:transform .45s var(--ease-spring),background .35s var(--ease-out),box-shadow .45s var(--ease-out)}.store-button:hover{transform:translateY(-2px);background:#1c1e24;box-shadow:0 10px 24px rgba(18,19,23,.18)}.store-button img{width:22px;height:22px;flex-shrink:0}.store-button span{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:15px;font-weight:600;letter-spacing:.01em}.store-button small{font-size:10px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;opacity:.78}.store-button-apple img{filter:brightness(0) invert(1)}.case-website-link{display:inline-flex;align-items:center;gap:8px;margin-left:auto;font-size:14px;font-weight:500;color:#5c6370;border-bottom:1px solid #c8ccd4;padding-bottom:3px;transition:color .2s ease,border-color .2s ease}.case-website-link:hover{color:var(--foreground);border-color:#8a909b}.case-cover{height:640px;display:flex;align-items:center;justify-content:center;border-radius:8px;padding:35px}.case-cover>img{height:100%;width:auto;object-fit:contain}.case-cover.case-cover-shots{height:auto;min-height:0;gap:22px;padding:48px 32px 56px;overflow-x:auto;align-items:flex-end;justify-content:center;flex-wrap:wrap}.case-row-screens{grid-template-columns:1fr;gap:18px}.case-row-screens>.eyebrow{margin:0}.screenshot-gallery{display:flex;flex-wrap:wrap;gap:24px 20px;margin-top:28px;align-items:flex-start}.screenshot-gallery figure{margin:0;width:160px;flex:0 0 160px}.screenshot-gallery figcaption{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:13px;color:#6b6b6b}.screenshot-gallery figcaption span{color:#9a9a9a;font-size:12px}.phone-frame{display:block;width:100%;max-width:100%;box-sizing:border-box;filter:drop-shadow(0 22px 36px rgba(18,19,23,.22))}.phone-frame.case-cover-phone{width:200px;max-width:200px;flex:0 0 200px;margin:0}.phone-frame.gallery-phone{width:160px;max-width:160px;transition:transform .5s var(--ease-spring)}.screenshot-gallery figure:hover .gallery-phone{transform:translateY(-6px)}.phone-frame-body{position:relative;box-sizing:border-box;padding:3px;border-radius:22px;background:#111214;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),inset 0 1px 0 rgba(255,255,255,.1)}.phone-frame-screen{position:relative;overflow:hidden;width:100%;border-radius:19px;background:#000;line-height:0}.phone-frame-screen img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;aspect-ratio:458/1024;object-fit:cover;object-position:top center;position:static!important}.phone-frame.gallery-phone .phone-frame-body{border-radius:18px}.phone-frame.gallery-phone .phone-frame-screen{border-radius:15px}.case-body{max-width:1040px;padding-top:35px}.case-notice{font-size:12px;color:#9096a1}.case-row{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding-block:75px;border-bottom:1px solid var(--line)}.case-row h2{font-size:36px}.case-row>div>p{margin-top:25px;font-size:18px;line-height:1.8}.case-features{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:14px;max-width:42rem}.case-features li{display:flex;gap:12px;align-items:flex-start;margin:0;font-size:16px;line-height:1.55;color:#5a616d}.case-feature-check{display:grid;place-items:center;flex-shrink:0;width:22px;height:22px;margin-top:1px;border-radius:999px;background:#e8eefc;color:var(--accent)}.screenshot-placeholders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:30px}.screenshot-placeholders>div{aspect-ratio:9/16;border:1px dashed #cdd2dc;border-radius:8px;background:#fafbfc;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;color:#a0a6b1;padding:12px;text-align:center;font-size:12px}.screenshot-placeholders span{font-size:11px}.next-project{display:flex;align-items:center;justify-content:space-between;padding-top:60px}.next-project span{color:var(--muted);font-size:14px}.next-project strong{display:block;color:var(--foreground);font-size:40px;margin-top:10px;font-weight:400}@media (max-width:1200px){.hero{padding-block:56px 48px}.hero-with-portrait{padding-block:48px 56px}.hero-content{grid-template-columns:1fr;gap:40px}.hero-with-portrait .hero-content{grid-template-columns:1fr;gap:36px}.hero-copy{max-width:640px}.hero-with-portrait .hero-copy{max-width:38rem}.hero-statement{font-size:46px}.hero-with-portrait .hero-statement{font-size:44px;max-width:none}.hero-visual{justify-self:center;width:min(100%,400px);min-height:460px}.hero-visual-portrait{justify-self:center;width:min(100%,420px);place-items:center}.hero-phones{min-height:440px}.hero-device{width:168px}.hero-device-back{left:8%;top:4%;transform:rotateY(12deg) rotateX(5deg) rotate(-5deg) scale(.94);animation:none}.hero-device-front{right:8%;bottom:2%;transform:rotateY(-10deg) rotateX(4deg) rotate(5deg) scale(1.02);animation:none}.hero-note{display:none}.hero-badge{right:auto;left:50%;bottom:0;translate:-50% 0;font-size:11px;padding:9px 12px}}@media (max-width:1100px){.tech-list{grid-template-columns:repeat(4,minmax(0,1fr))}.container{width:calc(100% - 80px)}h1{font-size:64px}h2{font-size:38px}.about-grid,.section-heading{gap:50px}.project-visual{height:370px}.plans-grid{gap:16px}.plan{padding:22px}}@media (max-width:960px){.hero-statement{font-size:42px}.hero-with-portrait .hero-statement{font-size:40px}.hero-visual{width:min(100%,360px);min-height:430px}.hero-visual-portrait{width:min(100%,380px);min-height:0}.hero-phones{min-height:410px}.hero-device{width:152px}.plan h3{font-size:24px}.faq-section,.plans-section{padding-block:80px}.experience-body h3{font-size:20px}.faq-list{padding-inline:20px}.process-grid{column-gap:22px}.contact-layout{gap:40px}}@media (max-width:760px){.container{width:calc(100% - 40px)}.section{padding-block:75px}.process-section{padding-top:53px}.hero+#work{padding-top:37.5px}.nav-container{width:calc(100% - 40px);height:72px;gap:15px}.desktop-nav{display:none}.menu-toggle{display:flex}.mobile-nav{display:grid;padding:10px 25px 24px;gap:3px;border-top:1px solid var(--line)}.mobile-nav a{padding:12px 0}.resume{padding:9px 14px;font-size:13px;min-height:37px}.wordmark{font-size:26px}h1{font-size:44px;line-height:1.1}h2{font-size:34px}.hero{padding-block:48px 40px}.hero-with-portrait{padding-block:40px 48px}.hero-statement{font-size:38px;margin-top:14px;letter-spacing:-.02em}.hero-with-portrait .hero-statement{font-size:34px;max-width:none}.hero-description{font-size:16px;max-width:450px}.hero-with-portrait .hero-description{font-size:15.5px}.hero-actions{margin-top:24px;gap:10px}.hero-actions .button{font-size:14px;padding-inline:19px}.hero-stats{margin-top:28px;width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.hero-stats>div{padding-inline:12px}.hero-stats dd{font-size:28px}.hero-with-portrait .hero-stats dd{font-size:24px}.hero-visual{width:min(100%,300px);min-height:380px}.hero-visual-portrait{width:min(92%,320px);min-height:0}.hero-phones{min-height:360px;perspective:1000px}.hero-device{width:132px}.hero-device-back{left:6%;top:2%;transform:rotateY(10deg) rotateX(4deg) rotate(-4deg) scale(.95)}.hero-device-front{right:6%;bottom:0;transform:rotateY(-8deg) rotateX(3deg) rotate(4deg) scale(1.02)}.hero-badge{animation:none}.eyebrow{margin-bottom:20px}.section-heading{grid-template-columns:1fr;gap:23px;margin-bottom:32px}.section-heading>p{max-width:450px}.project-grid{grid-template-columns:1fr;gap:46px}.project-visual{height:420px}.project-visual-pair{padding:30px 18px 48px}.phone-frame.project-phone{width:150px;max-width:150px}.phone-frame.project-phone-back{width:128px;max-width:128px}.project-phones{width:min(100%,240px)}.project>p{min-height:0}.about-grid{grid-template-columns:1fr;gap:45px}.about-copy h2 br{display:none}.about-copy>p:not(.eyebrow){font-size:16px}.technologies{margin-top:45px}.tech-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 10px}.tech-list>div{font-size:12px}.tech-list>div>span:last-child{max-width:none}.about-copy h2{font-size:34px}.center-heading{margin-bottom:40px}.center-heading>p:last-child{font-size:16px}.process-grid{grid-template-columns:1fr 1fr;column-gap:25px;row-gap:0}.process-step{margin-bottom:35px}.process-connector{display:none}.process-step h3{font-size:22px}.plans-grid{grid-template-columns:1fr;gap:20px}.faq-section,.plans-section{padding-block:72px}.experience-body h3{font-size:20px}.faq-list{padding-inline:18px}.plan{padding:24px;display:flex;flex-direction:column;grid-row:auto}.plan h3{font-size:27px}.plan-description{min-height:0}.plans-heading h2{font-size:32px}.plans-heading>p:not(.eyebrow):not(.plans-note){font-size:16px}.plan-badge-row:empty{display:none}.contact-cta{padding-block:56px 64px}.contact-cta h2{font-size:42px}.footer-top{grid-template-columns:1fr 1fr;gap:28px 32px}.footer-top>.footer-brand{grid-column:1}.footer-top>p{grid-column:1;font-size:20px}.footer-top>nav{grid-column:2;grid-row:1/span 2;justify-self:stretch;width:auto}.footer-bottom{margin-top:45px;justify-content:flex-start}.page-intro{padding-block:75px 65px}.about-page-intro,.contact-page-intro,.work-page-intro{padding-block:64px 24px}.about-page-intro+.about-section,.contact-page-intro+.contact-layout,.work-page-intro+.projects-page-section{padding-top:24px}.page-intro h1{font-size:44px}.page-intro>p:last-child{font-size:17px}.desktop-break{display:none}.contact-layout{grid-template-columns:1fr;gap:40px;padding-bottom:75px}.contact-form{padding:24px}.contact-form.form-success{padding:40px 24px;min-height:380px;border-radius:20px}.form-success h3{font-size:28px}.form-row{grid-template-columns:1fr;gap:0}.case-intro{padding-top:35px}.case-intro h1{font-size:58px}.case-intro>p:last-of-type{font-size:21px}.case-meta{gap:20px}.case-actions-split{justify-content:flex-start;gap:18px}.case-cover{height:440px;padding:25px 15px}.case-cover-shots{height:auto;min-height:0;justify-content:flex-start;padding:28px 16px;gap:14px}.phone-frame.case-cover-phone{width:148px;max-width:148px;flex-basis:148px}.screenshot-gallery{gap:18px 14px}.phone-frame.gallery-phone,.screenshot-gallery figure{width:132px;max-width:132px;flex-basis:132px}.phone-frame.gallery-phone .phone-frame-body{border-radius:15px}.phone-frame.gallery-phone .phone-frame-screen{border-radius:12px}.case-row{grid-template-columns:1fr;gap:5px;padding-block:45px}.case-row h2{font-size:30px}.case-row>div>p{font-size:16px}.screenshot-placeholders{gap:8px}}@media (max-width:400px){.hero-statement{font-size:34px}.page-intro h1,h1{font-size:38px}h2{font-size:30px}.project-visual{height:350px;padding-inline:15px}.contact-email{font-size:14px}.process-grid{grid-template-columns:1fr}.process-step{border-bottom:1px solid var(--line);padding-bottom:22px}.deliverable{border:0;padding-top:0}.contact-cta h2{font-size:36px}}.motion-ready [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-spring);will-change:opacity,transform}.motion-ready [data-reveal][data-visible]{opacity:1;transform:translateY(0)}.motion-ready [data-reveal=fade]{transform:none}.motion-ready [data-reveal=up]{transform:translateY(22px)}.motion-ready [data-reveal=scale]{transform:translateY(14px) scale(.985)}.motion-ready [data-reveal=scale][data-visible]{transform:translateY(0) scale(1)}.motion-ready [data-reveal-stagger]>*{opacity:0;transform:translateY(16px);transition:opacity .65s var(--ease-out),transform .65s var(--ease-spring);will-change:opacity,transform}.motion-ready [data-reveal-stagger][data-visible]>*{opacity:1;transform:translateY(0)}.motion-ready [data-reveal-stagger][data-visible]>:first-child{transition-delay:0s}.motion-ready [data-reveal-stagger][data-visible]>:nth-child(2){transition-delay:55ms}.motion-ready [data-reveal-stagger][data-visible]>:nth-child(3){transition-delay:.11s}.motion-ready [data-reveal-stagger][data-visible]>:nth-child(4){transition-delay:165ms}.motion-ready [data-reveal-stagger][data-visible]>:nth-child(5){transition-delay:.22s}.motion-ready [data-reveal-stagger][data-visible]>:nth-child(6){transition-delay:275ms}.motion-ready [data-reveal-stagger][data-visible]>:nth-child(7){transition-delay:.33s}.motion-ready [data-reveal-stagger][data-visible]>:nth-child(8){transition-delay:385ms}.motion-ready [data-reveal][data-delay="1"]{transition-delay:80ms}.motion-ready [data-reveal][data-delay="2"]{transition-delay:.16s}.motion-ready [data-reveal][data-delay="3"]{transition-delay:.24s}.motion-ready [data-reveal][data-delay="4"]{transition-delay:.32s}.motion-ready [data-reveal][data-delay="5"]{transition-delay:.4s}.motion-ready .hero-copy>*,.motion-ready .hero-visual{opacity:0;transform:translateY(16px);animation:hero-rise .85s var(--ease-spring) both}.motion-ready .hero-eyebrow{animation-delay:40ms}.motion-ready .hero-statement{animation-delay:.12s}.motion-ready .hero-description{animation-delay:.2s}.motion-ready .hero-actions{animation-delay:.28s}.motion-ready .hero .availability{animation-delay:.34s}.motion-ready .hero-stats{animation-delay:.4s}.motion-ready .hero-visual{animation-delay:.18s}@keyframes hero-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.about-social a,.contact-channel,.contact-social a,.desktop-nav a,.footer-social a,.nav-container a,.text-link{transition:color .35s var(--ease-out),opacity .35s var(--ease-out),border-color .35s var(--ease-out),transform .45s var(--ease-spring)}.tech-item{transition:transform .45s var(--ease-spring),opacity .35s var(--ease-out)}.tech-item:hover{transform:translateY(-3px)}.plan{transition:transform .5s var(--ease-spring),box-shadow .5s var(--ease-out),border-color .4s var(--ease-out)}.plan:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(18,19,23,.07)}.process-step{transition:transform .5s var(--ease-spring)}.process-step:hover{transform:translateY(-2px)}.process-icon{transition:transform .45s var(--ease-spring)}.process-step:hover .process-icon{transform:scale(1.06)}.site-header{transition:background .4s var(--ease-out),-webkit-backdrop-filter .4s var(--ease-out);transition:backdrop-filter .4s var(--ease-out),background .4s var(--ease-out);transition:backdrop-filter .4s var(--ease-out),background .4s var(--ease-out),-webkit-backdrop-filter .4s var(--ease-out)}.about-social a:hover,.contact-social a:hover,.footer-social a:hover{transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;transition:none!important}.hero-copy>*,.hero-visual,.motion-ready [data-reveal-stagger]>*,.motion-ready [data-reveal]{opacity:1!important;transform:none!important}}