:root{--ink:#090909;--muted:#8d8d8d;--line:#e7e7e5;--surface:#fbfbfa;--green:#42dd74;--framer-sans:"Switzer",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--surface);font-family:var(--framer-sans);letter-spacing:-.02em;margin:0;font-weight:500}button{font:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.page-shell{--content-inset:max(44px, calc((100% - 1080px) / 2 + 44px));border-right:1px solid var(--line);border-left:1px solid var(--line);background:var(--surface);width:min(100%,1200px);margin:0 auto}.site-header{z-index:30;height:64px;padding:0 var(--content-inset);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fbfbfadb;justify-content:space-between;align-items:center;gap:14px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.04em;align-items:center;gap:8px;font-size:10px;font-weight:800;display:flex}.brand img{object-fit:cover;border-radius:50%;width:19px;height:19px}.nav-pill{border:1px solid #0000;border-radius:999px;margin-left:auto;padding:5px;transition:border-color .6s cubic-bezier(.4,0,.2,1),background-color .6s cubic-bezier(.4,0,.2,1),box-shadow .6s cubic-bezier(.4,0,.2,1)}.nav-pill.is-expanded{border-color:var(--line);background:#ffffffa6;box-shadow:0 7px 15px #0000000a}.site-nav{align-items:center;gap:4px;display:flex}.site-nav button,.mobile-nav button{cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 8px;font-size:9px;font-weight:700;transition:background-color .2s,transform .2s}.site-nav button:hover{background:#eee;transform:translateY(-1px)}.header-contact{border:1px solid var(--line);border-radius:999px;padding:8px 13px;font-size:9px;font-weight:700;transition:transform .2s;box-shadow:0 3px 8px #0000000f}.header-contact:hover{transform:translateY(-2px)}.menu-button,.mobile-nav{display:none}.hero{min-height:620px;padding:144px var(--content-inset) 96px;border-bottom:1px solid var(--line);align-items:flex-start;display:flex;position:relative;overflow:hidden}.hero-copy{width:min(100%,540px)}.availability,.section-intro>p,.service-list>p,.tech-wrap>p,.experience-list>p,.foundation-grid p{color:#393939;text-transform:uppercase;letter-spacing:.02em;margin:0;font:500 10px/1.2 DM Mono,monospace}.availability{text-transform:none;align-items:center;gap:8px;margin-bottom:24px;font-family:Manrope,Arial,sans-serif;font-weight:700;display:flex}.availability i{background:var(--green);border:2px solid #bfffd0;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 3px #42dd7424}.hero-heading{letter-spacing:-.095em;max-width:540px;margin:0 0 24px;font-size:82px;line-height:.88}.hero-word{opacity:0;filter:blur(5px);transition:opacity .8s cubic-bezier(.4,0,.2,1) calc(.25s + var(--word-delay)), transform .8s cubic-bezier(.4,0,.2,1) calc(.25s + var(--word-delay)), filter .8s cubic-bezier(.4,0,.2,1) calc(.25s + var(--word-delay));display:inline-block;transform:translateY(10px)}.is-ready .hero-word{opacity:1;filter:blur();transform:translateY(0)}.hero-word-muted,.section-intro h2 span,.services-title h2 span,.faq-title h2 span,.site-footer h2 span{color:#969696}.hero p{letter-spacing:-.045em;width:min(100%,390px);margin:0 0 30px;font-size:14px;font-weight:800;line-height:1.45}.dark-button{color:#fff;background:#080808;border-radius:999px;align-items:center;gap:8px;min-height:39px;padding:5px 13px 5px 6px;font-size:10px;font-weight:800;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 7px 14px #00000024}.dark-button:hover{transform:translateY(-2px);box-shadow:0 10px 20px #00000038}.dark-button b{color:#000;background:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:9px;line-height:1;display:grid;overflow:hidden}.avatar-mini img{object-fit:cover;border-radius:50%;width:27px;height:27px}.section{padding:128px var(--content-inset);border-bottom:1px solid var(--line)}.section-intro{grid-template-columns:1fr 1fr;align-items:start;gap:24px;margin-bottom:64px;display:grid}.section-intro>p{padding-top:10px}.section-intro h2{letter-spacing:-.09em;grid-column:1/-1;margin:0;font-size:64px;line-height:.9}.compact-intro{display:block}.compact-intro h2{max-width:760px;margin-top:16px}.projects{z-index:2;position:relative}.project-grid{opacity:0;grid-template-columns:1fr 1fr;gap:24px;transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1);display:grid;transform:translateY(200px)scale(.8)}.is-ready .project-grid{opacity:1;transform:translateY(0)scale(1)}.project-reveal{justify-content:center;min-width:0;display:flex;position:relative}.project-flight{z-index:3}.project-reveal:nth-child(3){z-index:1}.project-reveal:nth-child(4){z-index:2}.project-motion{width:400px;max-width:100%;transform:translate3d(var(--flight-x,0),var(--flight-y,0),0) rotate(var(--flight-rotate,0)) scale(var(--flight-scale,1));transform-origin:50%;will-change:transform;transition:transform .95s cubic-bezier(.22,1,.36,1)}.project-card{cursor:pointer;text-align:left;background:0 0;border:0;width:100%;padding:0;display:block}.project-card>img{border:1px solid var(--line);object-fit:cover;border-radius:8px;width:100%;height:300px;transition:transform .5s cubic-bezier(.2,.8,.2,1),filter .4s,box-shadow .4s}.project-card:hover>img{filter:brightness(.88);transform:translateY(-4px)scale(1.025);box-shadow:0 15px 25px #0000001c}.project-card>span{color:#080808;grid-template-columns:1fr auto;column-gap:18px;margin-top:12px;padding:0;transition:transform .32s;display:grid;position:relative}.project-card:hover>span{transform:translate(3px)}.project-card b{letter-spacing:-.055em;font-size:14px}.project-card small{color:#7d7d7d;grid-column:1;margin-top:2px;font-size:10px;font-weight:600}.project-card em{color:#111;opacity:.3;grid-area:1/2/span 2;align-self:center;font-size:10px;font-style:normal;font-weight:800;transition:opacity .2s,transform .2s;transform:translate(-4px)}.project-note{color:#777;text-align:center;max-width:520px;margin:40px auto 0;font-size:12px;line-height:1.6}.services{grid-template-columns:1fr 1fr;gap:47px 30px;min-height:500px;display:grid}.services-title h2{letter-spacing:-.09em;margin:0;font-size:37px;line-height:.92}.service-list{align-self:start;padding-top:9px}.service-list>p{margin-bottom:15px}.service-list div{letter-spacing:-.05em;align-items:center;gap:10px;min-height:34px;font-size:10px;font-weight:800;display:flex}.service-list i{color:#fff;letter-spacing:0;background:#090909;border-radius:50%;place-items:center;width:20px;height:20px;font:500 6px DM Mono,monospace;display:grid;box-shadow:0 3px 7px #0000002e}.tech-wrap{grid-column:1/-1;width:100%}.tech-wrap>p{margin-bottom:12px}.tech-window{overflow:hidden}.tech-track{align-items:center;gap:8px;width:max-content;animation:22s linear infinite tech-scroll;display:flex}.tech-track span{border:1px solid var(--line);background:#fff;border-radius:8px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 3px 7px #0000000d}.tech-track img{width:21px;height:21px}.tech-icon{opacity:0;transform:translateX(var(--icon-x))}.tech-wrap.is-visible .tech-icon{animation:tech-icon-in .6s cubic-bezier(.4,0,.2,1) var(--icon-delay) forwards}@keyframes tech-icon-in{to{opacity:1;transform:translate(0)}}@keyframes tech-scroll{0%{transform:translate(0)}to{transform:translate(calc(-50% - 10px))}}.about{padding-bottom:80px}.about-grid{grid-template-columns:185px 1fr;align-items:start;gap:32px;display:grid}.portrait>img{object-fit:cover;width:100%;height:245px}.portrait>div{background:var(--surface);padding:9px 2px 2px}.portrait b,.portrait small{display:block}.portrait b{letter-spacing:-.04em;font-size:9px}.portrait small{color:#777;margin-top:2px;font-size:7px}.about-copy{padding-top:3px}.about-copy p{letter-spacing:-.045em;margin-bottom:21px;font-size:10px;font-weight:800;line-height:1.48}.about-copy strong{transform-origin:0;margin-top:18px;font-family:cursive;font-size:31px;font-weight:400;display:block;transform:rotate(-13deg)}.experience-list{width:54%;margin-top:45px}.experience-list>p{margin-bottom:12px}.experience-list article{border:1px solid var(--line);background:#fff;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;min-height:47px;margin-bottom:7px;padding:9px 10px;transition:transform .25s,box-shadow .25s;display:flex;box-shadow:0 4px 10px #0000000a}.experience-list article:hover{transform:translate(4px);box-shadow:0 9px 18px #00000014}.experience-list b,.experience-list small{display:block}.experience-list b{letter-spacing:-.04em;font-size:8px}.experience-list small,.experience-list time{color:#757575;font-size:6px}.experience-list time{white-space:nowrap;font-family:DM Mono,monospace}.foundation-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:45px;display:grid}.foundation-grid article{border:1px solid var(--line);background:#fff;border-radius:7px;min-height:168px;padding:18px}.foundation-grid p{margin-bottom:18px}.foundation-grid h3{letter-spacing:-.065em;margin:0 0 17px;font-size:16px;line-height:1.04}.foundation-grid span,.foundation-grid article>b{color:#737373;font-size:8px;line-height:1.55;display:block}.foundation-grid article>b{color:#111;margin-top:7px;font-weight:800}.foundation-grid ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.foundation-grid li{font-size:8px;font-weight:700;line-height:1.25}.foundation-grid li:before{content:"+";color:#aaa;margin-right:6px}.foundation-grid a{text-underline-offset:2px;text-decoration:underline}.client-bar{border-bottom:1px solid var(--line);color:#999;white-space:nowrap;align-items:center;gap:21px;min-height:68px;padding:0 31px;display:flex;overflow:hidden}.client-bar span{color:#222;text-transform:uppercase;font:500 7px DM Mono,monospace}.client-bar b{letter-spacing:-.045em;opacity:.74;font-size:9px}.faq{grid-template-columns:1.1fr .9fr;gap:36px;display:grid}.faq-title h2{letter-spacing:-.09em;margin:0 0 33px;font-size:37px;line-height:.93}.faq-items{border-top:1px solid var(--line)}.faq-items article{border-bottom:1px solid var(--line);overflow:hidden}.faq-items button{cursor:pointer;text-align:left;letter-spacing:-.05em;background:0 0;border:0;grid-template-columns:25px 1fr 18px;align-items:center;width:100%;min-height:39px;padding:0;font-size:8px;font-weight:800;display:grid}.faq-items button span{color:#8b8b8b;font:500 7px DM Mono,monospace}.faq-items button b{justify-self:end;font-size:12px;font-weight:400}.faq-items p{color:#666;opacity:0;max-width:260px;max-height:0;margin:0;font-size:8px;line-height:1.5;transition:max-height .35s,margin .35s,opacity .25s,transform .25s;overflow:hidden;transform:translateY(-5px)}.faq-items article.is-open p{opacity:1;max-height:90px;margin:0 0 13px;transform:translateY(0)}.contact-card{border:1px solid var(--line);background:#fff;border-radius:7px;align-self:start;min-height:263px;padding:17px;box-shadow:0 8px 16px #0000000f}.contact-card>img{object-fit:cover;border-radius:50%;width:23px;height:23px;margin-bottom:21px}.contact-card p{color:#888;letter-spacing:-.06em;margin:0;font-size:15px;line-height:1}.contact-card h3{letter-spacing:-.075em;margin:2px 0 18px;font-size:17px;line-height:.95}.contact-card>span{color:#666;margin-bottom:20px;font-size:7px;line-height:1.5;display:block}.contact-card .dark-button{font-size:7px}.site-footer{color:#fff;background:#050505;overflow:hidden}.site-footer>div{border-left:1px solid #262626;border-right:1px solid #262626;width:min(100%,720px);min-height:430px;margin:0 auto;padding:60px 52px 0;position:relative}.site-footer h2{z-index:1;letter-spacing:-.09em;margin:0 0 42px;font-size:40px;line-height:.89;position:relative}.footer-contact{z-index:1;grid-template-columns:1.25fr 1fr;gap:30px;display:grid;position:relative}.footer-contact p{color:#777;text-transform:uppercase;flex-direction:column;gap:6px;margin:0;font:500 7px DM Mono,monospace;display:flex}.footer-contact a{color:#fff;text-transform:none;font-family:Manrope,Arial,sans-serif;font-size:8px;font-weight:700}.footer-bottom{z-index:1;color:#aaa;border-top:1px solid #313131;justify-content:space-between;gap:15px;margin-top:46px;padding-top:13px;font:500 6px DM Mono,monospace;display:flex;position:relative}.site-footer strong{color:#fff;letter-spacing:-.13em;font-size:118px;line-height:.8;position:absolute;bottom:-33px;left:42px}.project-dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#04040480;place-items:center;padding:18px;animation:.24s both backdrop-in;display:grid;position:fixed;inset:0}.project-dialog{background:#fff;border-radius:10px;grid-template-columns:.9fr 1fr;width:min(680px,100%);animation:.45s cubic-bezier(.2,.9,.2,1) both dialog-in;display:grid;position:relative;overflow:hidden;box-shadow:0 25px 70px #00000059}.project-dialog>img{object-fit:cover;width:100%;height:100%;min-height:330px}.project-dialog>div{padding:35px}.project-dialog p{color:#7b7b7b;text-transform:uppercase;margin:0 0 12px;font:500 8px DM Mono,monospace}.project-dialog h2{letter-spacing:-.08em;margin:0 0 15px;font-size:32px;line-height:.95}.project-dialog strong,.project-dialog span{letter-spacing:-.04em;font-size:10px;line-height:1.45;display:block}.project-dialog span{color:#676767;margin:18px 0 23px;font-weight:600}.dialog-close{z-index:2;cursor:pointer;background:#fff;border:0;border-radius:50%;place-items:center;width:24px;height:24px;font-size:13px;display:grid;position:absolute;top:11px;right:11px;box-shadow:0 3px 7px #00000021}.dialog-close:hover{background:#eee}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(22px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}body{font-family:Switzer,Manrope,Arial,sans-serif}@media (min-width:601px){.brand{gap:10px;font-size:14px}.brand img{width:24px;height:24px}.site-nav{gap:8px}.site-nav button{padding:10px 12px;font-size:12px}.header-contact{padding:11px 17px;font-size:12px}.availability{font-size:14px}.hero-heading{letter-spacing:-.03em;font-size:72px;font-weight:500;line-height:.95}.hero p{letter-spacing:-.02em;font-size:18px;font-weight:600}.dark-button{min-height:44px;padding:6px 15px 6px 7px;font-size:12px}.dark-button b{width:25px;height:25px;font-size:10px}.avatar-mini img{width:30px;height:30px}.availability,.section-intro>p,.service-list>p,.tech-wrap>p,.experience-list>p,.foundation-grid p{font-size:12px}.project-card b{letter-spacing:-.02em;font-size:18px;font-weight:500}.project-card small,.project-card em{font-size:12px}.project-note{font-size:14px}.services{gap:72px;min-height:570px}.services-title h2,.faq-title h2{letter-spacing:-.03em;font-size:64px;font-weight:500;line-height:1}.service-list{padding-top:12px}.service-list>p{margin-bottom:22px}.service-list div{letter-spacing:-.02em;gap:14px;min-height:47px;font-size:16px}.service-list i{width:28px;height:28px;font-size:8px}.about-grid{grid-template-columns:300px 1fr;gap:64px}.portrait>img{height:380px}.portrait b{font-size:14px}.portrait small{font-size:12px}.about-copy{max-width:500px}.about-copy p{letter-spacing:-.02em;font-size:18px;line-height:1.4}.experience-list{width:58%;margin-top:64px}.experience-list article{min-height:67px;margin-bottom:10px;padding:13px 16px}.experience-list b{font-size:14px}.experience-list small,.experience-list time{font-size:11px}.foundation-grid{gap:24px;margin-top:64px}.foundation-grid article{min-height:220px;padding:28px}.foundation-grid h3{font-size:28px}.foundation-grid span,.foundation-grid article>b,.foundation-grid li{font-size:12px}.client-bar{min-height:96px;padding:0 var(--content-inset);gap:32px}.client-bar span{font-size:10px}.client-bar b{font-size:14px}.faq{gap:72px}.faq-title h2{margin-bottom:54px}.faq-items button{grid-template-columns:34px 1fr 24px;min-height:58px;font-size:14px}.faq-items button span{font-size:11px}.faq-items button b{font-size:18px}.faq-items p{max-width:420px;font-size:14px}.faq-items article.is-open p{max-height:120px;margin-bottom:20px}.contact-card{min-height:350px;padding:28px}.contact-card>img{width:34px;height:34px;margin-bottom:38px}.contact-card p{font-size:22px}.contact-card h3{margin:4px 0 28px;font-size:32px}.contact-card>span{margin-bottom:28px;font-size:12px}.contact-card .dark-button{font-size:12px}.site-footer>div{width:min(100%,1200px);min-height:590px;padding:96px var(--content-inset) 0}.site-footer h2{letter-spacing:-.03em;font-size:72px;line-height:.95}.footer-contact p{font-size:11px}.footer-contact a{font-size:14px}.footer-bottom{font-size:10px}.site-footer strong{bottom:-43px;left:var(--content-inset);font-size:180px}.project-flight{z-index:auto}.project-reveal:first-child{z-index:3}.project-reveal:nth-child(3){z-index:1}.project-reveal:nth-child(4){z-index:2}}[data-reveal]{opacity:0;transition:opacity .6s cubic-bezier(.4,0,.2,1) var(--delay,0s), transform .6s cubic-bezier(.4,0,.2,1) var(--delay,0s);transform:translateY(26px)}.hero [data-reveal]{transform:translateY(10px)}.hero .availability,.hero .hero-cta{transition-delay:.4s;transform:none}.hero h1{transition-delay:.1s}.hero p{filter:blur(5px);transition-delay:.55s}.is-ready [data-reveal].is-visible,.is-ready .hero [data-reveal]{opacity:1;transform:translateY(0)}.is-ready .hero p[data-reveal]{filter:blur();transition:opacity .8s cubic-bezier(.4,0,.2,1) .55s,transform .8s cubic-bezier(.4,0,.2,1) .55s,filter .8s cubic-bezier(.4,0,.2,1) .55s}@media (max-width:600px){.page-shell{border:0}.site-header{padding:0 18px}.nav-pill,.header-contact{display:none}.menu-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;margin-left:auto;padding:7px 10px;font-size:9px;font-weight:700;display:block}.mobile-nav{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;width:150px;padding:7px;display:none;position:absolute;top:56px;right:14px;box-shadow:0 10px 25px #00000017}.mobile-nav.is-open{animation:.35s cubic-bezier(.2,.8,.2,1) menu-in;display:flex}.mobile-nav button{text-align:left;padding:9px}@keyframes menu-in{0%{opacity:0;transform:translateY(-8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.hero,.section{padding-left:26px;padding-right:26px}.hero{min-height:545px;padding-top:70px}.hero h1{max-width:290px;font-size:42px}.hero-project{width:155px;bottom:49px;right:24px}.section{padding-top:68px;padding-bottom:68px}.section-intro h2,.services-title h2,.faq-title h2{font-size:33px}.project-grid{grid-template-columns:1fr}.project-card,.project-card>img{height:220px;min-height:220px}.services{grid-template-columns:1fr;gap:40px}.service-list{padding-top:0}.tech-wrap{grid-column:auto}.about-grid{grid-template-columns:1fr}.portrait{width:185px}.about-copy{max-width:340px}.experience-list{width:100%}.foundation-grid{grid-template-columns:1fr}.client-bar{gap:15px;padding:0 26px}.client-bar b:nth-of-type(n+5){display:none}.faq{grid-template-columns:1fr;gap:32px}.site-footer>div{border:0;min-height:390px;padding:53px 26px 0}.site-footer h2{font-size:37px}.site-footer strong{font-size:88px;bottom:-20px;left:23px}.footer-bottom{flex-direction:column;gap:9px}.footer-contact{grid-template-columns:1fr 1fr}.project-dialog{grid-template-columns:1fr;max-height:90vh;overflow:auto}.project-dialog>img{min-height:190px;max-height:240px}.project-dialog>div{padding:25px}.project-dialog h2{font-size:28px}.project-card{height:auto;min-height:0}.project-card>img{height:260px;min-height:0}.project-motion{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tech-track{animation-play-state:paused}[data-reveal],.hero [data-reveal],.hero-word,.tech-icon{opacity:1;filter:none;transition:none;animation:none;transform:none}.project-card,.project-card>img,.project-motion,.dark-button,.experience-list article{transition:none}}.page-shell{--content-inset:clamp(24px, 8vw, 160px);width:100%;max-width:none}.site-footer>div{width:100%;max-width:none}@media (min-width:768px){.hero{min-height:clamp(560px,48vw,720px);padding-top:clamp(96px,10vw,144px);padding-bottom:clamp(72px,8vw,96px)}.hero-copy{width:min(48vw,540px)}.hero-heading{font-size:clamp(54px,5vw,72px)}.hero p{font-size:clamp(16px,1.25vw,18px)}.section{padding-top:clamp(96px,9vw,128px);padding-bottom:clamp(96px,9vw,128px)}.section-intro h2,.services-title h2,.faq-title h2{font-size:clamp(46px,4.45vw,64px)}.project-grid{gap:clamp(18px,2vw,32px)}.project-motion{width:clamp(320px,31vw,480px)}.project-card>img{height:clamp(240px,23.5vw,360px)}.about-grid{grid-template-columns:clamp(240px,23vw,330px) minmax(0,1fr);gap:clamp(40px,5vw,72px)}.portrait>img{height:clamp(300px,30vw,430px)}.services{column-gap:clamp(40px,6vw,88px)}}@media (max-width:1023px){.page-shell{--content-inset:clamp(24px, 5vw, 52px)}.site-header{padding:0 var(--content-inset)}.hero{min-height:560px;padding-top:104px}.hero-copy{width:min(100%,520px)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-motion{width:100%}.project-card>img{height:clamp(250px,34vw,320px)}.services{column-gap:40px}.about-grid{grid-template-columns:250px minmax(0,1fr);gap:40px}.portrait>img{height:320px}.experience-list{width:75%}}@media (max-width:767px){.page-shell{--content-inset:24px;border:0}.site-header{height:60px;padding:0 24px}.nav-pill,.header-contact{display:none}.menu-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;margin-left:auto;padding:8px 12px;font-size:12px;font-weight:600;display:block}.mobile-nav{width:170px;top:54px;right:18px}.hero{min-height:520px;padding:88px var(--content-inset) 64px}.availability{font-size:12px}.hero-heading{max-width:390px;font-size:clamp(44px,12vw,62px)}.hero p{max-width:370px;font-size:16px}.dark-button{min-height:42px;font-size:12px}.section{padding:80px var(--content-inset)}.section-intro{margin-bottom:48px}.section-intro h2,.services-title h2,.faq-title h2{letter-spacing:-.04em;font-size:clamp(38px,10vw,52px)}.project-grid{grid-template-columns:1fr;gap:32px}.project-motion{width:min(100%,480px);margin:0 auto}.project-card>img{height:clamp(250px,75vw,340px)}.services{grid-template-columns:1fr;gap:48px}.services-title h2{font-size:clamp(42px,11vw,56px)}.service-list div{min-height:42px;font-size:15px}.tech-wrap{grid-column:auto}.about-grid{grid-template-columns:1fr;gap:34px}.portrait{width:min(100%,300px)}.portrait>img{height:370px}.about-copy p{font-size:16px}.experience-list{width:100%}.foundation-grid{grid-template-columns:1fr}.client-bar{min-height:82px;padding:0 var(--content-inset)}.client-bar b:nth-of-type(n+5){display:none}.faq{grid-template-columns:1fr;gap:42px}.contact-card{min-height:300px}.site-footer>div{min-height:440px;padding:72px var(--content-inset) 0}.site-footer h2{font-size:clamp(48px,12vw,64px)}.site-footer strong{left:var(--content-inset);font-size:clamp(100px,28vw,150px)}}.site-header{z-index:50;border:1px solid var(--line);height:auto;min-height:0;box-shadow:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff80;border-radius:0;justify-content:flex-start;align-items:center;margin:0;padding:8px 10px;transition:width .6s cubic-bezier(.22,1,.36,1),gap .6s cubic-bezier(.22,1,.36,1),height .6s cubic-bezier(.22,1,.36,1),background-color .6s;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%)}.site-header.is-open{gap:64px;width:min(512px,100vw - 48px)}.site-header.is-closed{gap:32px;width:220px}.brand{z-index:2;letter-spacing:-.02em;white-space:nowrap;flex:none;gap:8px;font-size:14px;font-weight:600;position:relative}.brand img{width:28px;height:28px}.desktop-nav-panel{flex:auto;min-width:0;height:36px;position:relative}.site-nav{justify-content:flex-end;align-items:center;gap:16px;width:max-content;height:36px;transition:opacity .3s,transform .5s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;top:0;right:0}.site-nav button{min-height:36px;color:var(--ink);cursor:pointer;letter-spacing:-.02em;opacity:1;transition:opacity .35s ease var(--nav-delay), transform .5s cubic-bezier(.22,1,.36,1) var(--nav-delay), color .2s ease;background:0 0;border:0;border-radius:0;align-items:center;padding:0;font-size:14px;font-weight:600;display:inline-flex;transform:translateY(0)}.site-nav button:hover{color:#777;background:0 0;transform:translateY(-1px)}.site-nav .nav-contact{border:1px solid var(--line);background:#ffffffc7;border-radius:999px;gap:4px;height:36px;padding:0 11px}.nav-contact span{place-items:center;width:18px;height:24px;font-size:16px;line-height:1;display:grid}.dots-control,.mobile-dots-control{cursor:pointer;background:0 0;border:0;place-items:center;width:24px;height:24px;padding:0;display:grid;position:absolute}.dots-control{opacity:0;pointer-events:none;transition:opacity .25s,transform .45s cubic-bezier(.22,1,.36,1);top:6px;right:0;transform:scale(.82)}.dots-control i,.mobile-dots-control i{background:var(--ink);border-radius:50%;width:6px;height:6px;transition:top .45s cubic-bezier(.22,1,.36,1),left .45s cubic-bezier(.22,1,.36,1),width .45s cubic-bezier(.22,1,.36,1),height .45s cubic-bezier(.22,1,.36,1),opacity .25s,transform .45s cubic-bezier(.22,1,.36,1);position:absolute;top:9px}.dots-control i:first-child,.mobile-dots-control i:first-child{left:1px}.dots-control i:nth-child(2),.mobile-dots-control i:nth-child(2){left:9px}.dots-control i:nth-child(3),.mobile-dots-control i:nth-child(3){left:17px}.site-header.is-closed .site-nav{opacity:0;pointer-events:none;transform:translate(12px)}.site-header.is-closed .site-nav button{opacity:0;transform:translateY(7px)}.site-header.is-closed .dots-control{opacity:1;pointer-events:auto;transform:scale(1)}.site-header.is-open .dots-control{opacity:0;pointer-events:none;transform:scale(.82)}.mobile-dots-control,.mobile-nav{display:none}@media (max-width:767px){.site-header,.site-header.is-open,.site-header.is-closed{border-radius:0;gap:32px;width:auto;min-width:0;max-width:calc(100vw - 48px);height:auto;padding:12px;top:24px}.site-header.is-mobile-open{flex-direction:column;align-items:stretch;gap:16px;width:184px}.desktop-nav-panel{display:none}.brand{font-size:14px}.brand img{width:32px;height:32px}.mobile-dots-control{flex:none;display:block;position:relative}.site-header.is-mobile-open .mobile-dots-control i:first-child,.site-header.is-mobile-open .mobile-dots-control i:nth-child(3){border-radius:0;width:2px;height:20px;top:2px;left:11px}.site-header.is-mobile-open .mobile-dots-control i:first-child{transform:rotate(45deg)}.site-header.is-mobile-open .mobile-dots-control i:nth-child(2){opacity:0}.site-header.is-mobile-open .mobile-dots-control i:nth-child(3){transform:rotate(-45deg)}.mobile-nav{opacity:0;pointer-events:none;flex-direction:column;gap:16px;width:83px;max-height:0;transition:max-height .6s cubic-bezier(.22,1,.36,1),opacity .3s,transform .6s cubic-bezier(.22,1,.36,1);display:flex;overflow:hidden;transform:translateY(-8px)}.site-header.is-mobile-open .mobile-nav{opacity:1;pointer-events:auto;max-height:220px;transform:translateY(0)}.mobile-nav button{width:83px;color:var(--ink);cursor:pointer;letter-spacing:-.03em;text-align:left;opacity:0;transition:opacity .45s ease var(--nav-delay), transform .55s cubic-bezier(.22,1,.36,1) var(--nav-delay);background:0 0;border:0;padding:0;font-size:22px;font-weight:500;line-height:1.4;transform:translateY(8px)}.site-header.is-mobile-open .mobile-nav button{opacity:1;transform:translateY(0)}}.site-header{border-radius:999px;transition-timing-function:cubic-bezier(.34,1.35,.64,1)}.dots-control i{background:#9a9a9a}.site-header.is-closed .dots-control i{animation:1.15s cubic-bezier(.4,0,.2,1) infinite framer-dot-cycle}.site-header.is-closed .dots-control i:nth-child(2){animation-delay:.13s}.site-header.is-closed .dots-control i:nth-child(3){animation-delay:.26s}.site-header.is-closed .dots-control:hover i{animation-duration:.72s}@keyframes framer-dot-cycle{0%,58%,to{background:#9a9a9a;transform:translateY(0)scale(1)}20%{background:var(--ink);transform:translateY(-3px)scale(1.04)}36%{background:#9a9a9a;transform:translateY(0)scale(1)}}@media (max-width:767px){.site-header,.site-header.is-open,.site-header.is-closed{border-radius:999px}.site-header.is-mobile-open{border-radius:24px}}.services-title[data-reveal]{opacity:1;transition:none;transform:none}.services-title[data-reveal] h2{opacity:0;filter:blur(5px);transition:opacity .8s cubic-bezier(.4,0,.2,1),filter .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1);transform:translateY(10px)}.services-title[data-reveal].is-visible h2{opacity:1;filter:blur();transform:translateY(0)}.tech-track{animation-duration:28s}.tech-track span{border-radius:10px;width:52px;height:52px}.tech-track img{filter:grayscale()saturate(0)brightness(.2);width:27px;height:27px;transition:filter .28s,transform .28s cubic-bezier(.22,1,.36,1)}.tech-icon:hover img{filter:none;transform:scale(1.15)}@media (min-width:768px){.services{grid-template-columns:minmax(0,1.5fr) minmax(360px,1fr);align-items:start;gap:64px clamp(56px,7vw,112px);width:100%;max-width:1440px;min-height:640px;margin:0 auto}.services-title h2{max-width:760px}.service-list{flex-direction:column;gap:24px;padding-top:4px;display:flex}.service-list>p{margin:0 0 4px}.service-list div{letter-spacing:-.025em;gap:12px;min-height:40px;font-size:22px;font-weight:600}.service-list i{width:40px;height:40px;font-size:10px}.service-list div:hover{transform:translate(8px)}.tech-wrap{margin-top:8px}.dark-button{min-height:48px;padding:6px 17px 6px 7px;font-size:14px}.dark-button b{width:29px;height:29px;font-size:13px}.avatar-mini img{width:34px;height:34px}.project-card b{font-size:20px}.project-card small,.project-card em{font-size:13px}.project-note{font-size:15px}}@media (max-width:767px){.tech-track span{width:46px;height:46px}.tech-track img{width:24px;height:24px}.service-list{flex-direction:column;gap:18px;display:flex}.service-list>p{margin-bottom:4px}.service-list i{width:34px;height:34px}}.tech-track>.tech-icon{width:52px;height:52px;box-shadow:none;background:0 0;border:0;border-radius:0;display:grid;position:relative;overflow:visible}.tech-icon:hover{z-index:5}.tech-icon .tech-dock{border:1px solid var(--line);cursor:pointer;width:100%;height:100%;transform:translateY(var(--dock-lift,0px)) scale(var(--dock-scale,1));background:#fff;border-radius:10px;place-items:center;transition:transform .34s cubic-bezier(.22,1,.36,1),box-shadow .28s,border-color .28s;display:grid;position:relative;overflow:visible;box-shadow:0 3px 7px #0000000d}.tech-icon .tech-dock:hover{border-color:#c8c8c8;box-shadow:0 14px 22px #00000024}.tech-icon .tech-dock img{filter:grayscale()saturate(0)brightness(.2);width:27px;height:27px;transition:filter .28s,transform .28s cubic-bezier(.22,1,.36,1);transform:none}.tech-icon:hover .tech-dock img{filter:none;transform:scale(1.04)}.tech-icon .tech-tooltip{z-index:2;width:max-content;height:auto;box-shadow:none;color:#fff;opacity:0;pointer-events:none;background:#120f17;border:1px solid #222;border-radius:6px;padding:4px 7px;font:600 10px/1 Switzer,sans-serif;transition:opacity .18s,transform .22s cubic-bezier(.22,1,.36,1);display:block;position:absolute;top:-32px;left:50%;transform:translate(-50%,5px)}@media (max-width:767px){.tech-track>.tech-icon{width:46px;height:46px}.tech-icon .tech-dock img{width:24px;height:24px}.tech-icon .tech-tooltip{display:none}}.tech-window{border-bottom:1px solid var(--line);min-height:100px;padding:16px 0;overflow:hidden}.tech-track{width:max-content;animation:none}.tech-track.is-looping{animation:28s linear infinite tech-scroll}.tech-icon .tech-dock{transform:scale(var(--dock-scale,1))}.tech-icon .tech-tooltip{display:none}@media (min-width:1101px){.services{grid-template-columns:minmax(0,1.5fr) minmax(360px,1fr);align-items:start;row-gap:0;min-height:940px}.services-sticky{flex-direction:column;align-self:start;gap:64px;min-width:0;display:flex;position:sticky;top:112px}.services-sticky .tech-wrap{width:100%;margin:0}.services-sticky .tech-wrap>p{color:var(--ink);letter-spacing:-.02em;text-transform:none;margin:0 0 18px;font:600 20px/1.2 Switzer,sans-serif}.service-list{gap:clamp(54px,5.4vw,82px);padding:44px 0 110px}.service-list div{min-height:40px;font-size:22px}.service-list i{display:none}}@media (max-width:1100px){.services{grid-template-columns:1fr;gap:64px;min-height:0}.services-sticky{flex-direction:column;gap:52px;display:flex}.services-sticky .tech-wrap{margin:0}.services-sticky .tech-wrap>p{color:var(--ink);letter-spacing:-.02em;text-transform:none;font:600 18px/1.2 Switzer,sans-serif}.service-list{gap:28px}.service-list i{display:none}}.tech-track{gap:20px}.service-list div{gap:16px}.service-list i,.service-list i svg{display:block}.service-list i{width:34px;height:34px;color:var(--ink);box-shadow:none;background:0 0;border:0;border-radius:0;flex:none;place-items:center;margin:0;padding:0;font-style:normal;display:grid!important}.service-list i svg{width:31px;height:31px}@media (min-width:1101px){.service-list{gap:clamp(36px,3.4vw,52px)}}@media (max-width:1100px){.service-list{gap:22px}.service-list i{width:29px;height:29px;display:grid!important}.service-list i svg{width:27px;height:27px}}.tech-window{min-height:124px;padding:12px 0 48px;overflow:hidden}.tech-track,.tech-track.is-looping{align-items:flex-start;animation:42s linear infinite tech-scroll}.tech-track:has(.tech-icon:hover){animation-play-state:paused}.tech-track>.tech-icon{flex:none}.tech-icon .tech-dock{transform:scale(var(--dock-scale,1));transform-origin:top}.tech-icon .tech-dock img{opacity:.72;filter:grayscale()saturate(0)contrast(1.12)brightness(.38);transition:filter .35s,opacity .35s,transform .35s cubic-bezier(.22,1,.36,1)}.tech-icon:hover .tech-dock img{opacity:1;filter:none;transform:scale(1.05)}.tech-icon .tech-tooltip{box-shadow:none;color:var(--ink);letter-spacing:-.01em;opacity:0;white-space:nowrap;background:0 0;border:0;border-radius:0;padding:0;font:600 11px/1.1 Switzer,sans-serif;transition:opacity .18s,transform .24s cubic-bezier(.22,1,.36,1);display:block;top:calc(100% + 10px);bottom:auto;transform:translate(-50%,-4px)}.tech-icon:hover .tech-tooltip{opacity:1;transform:translate(-50%)}@media (max-width:767px){.tech-window{min-height:112px;padding-bottom:42px}.tech-icon .tech-tooltip{font-size:10px;display:block}}.tech-window:hover .tech-track{animation-play-state:running}.tech-window .tech-track:has(.tech-icon:hover){animation-play-state:paused}@media (min-width:1024px){.project-grid{gap:clamp(18px,1.5vw,28px)}.project-reveal{justify-content:stretch}.project-motion{width:100%;max-width:none}}.project-reveal.project-fly-in[data-reveal]{opacity:0;transform:none}.project-fly-in .project-motion{--entry-x:clamp(280px, 44vw, 760px);--entry-rotate:9deg;--entry-origin:top right;transform:translate3d(var(--entry-x), clamp(-680px, -48vw, -320px), 0) rotate(var(--entry-rotate)) scale(.88);transform-origin:var(--entry-origin)}.project-fly-in.project-from-left .project-motion{--entry-x:clamp(-760px, -44vw, -280px);--entry-rotate:-9deg;--entry-origin:top left}.is-ready .project-reveal.project-fly-in[data-reveal].is-visible{opacity:1;transform:none}.is-ready .project-reveal.project-fly-in.is-visible .project-motion{animation:project-card-top-right-in 1.05s cubic-bezier(.22,1,.36,1) var(--delay,0s) both}@keyframes project-card-top-right-in{0%{opacity:0;transform:translate3d(var(--entry-x), clamp(-680px, -48vw, -320px), 0) rotate(var(--entry-rotate)) scale(.88)}to{opacity:1;transform:translate(0,0)rotate(0)scale(1)}}.project-card>.tilted-card{perspective:1000px;width:100%;height:300px;margin:0;display:block;position:relative}.tilted-card-inner{width:100%;height:100%;transform-style:preserve-3d;will-change:transform;position:relative}.tilted-card-media{border:1px solid var(--line);background:#fff;border-radius:8px;position:absolute;inset:0;overflow:hidden;transform:translateZ(0)}.tilted-card-image{object-fit:cover;width:100%;height:100%;display:block}.tilted-card-overlay{z-index:2;pointer-events:none;transform-style:preserve-3d;position:absolute;inset:0}.project-company-logo{object-fit:contain;filter:drop-shadow(0 10px 12px #00000040);width:clamp(30px,4vw,54px);height:clamp(30px,4vw,54px);position:absolute;top:18px;left:18px;transform:translateZ(52px)}.project-card:hover>span:not(.tilted-card){transform:none}.project-card:hover em{opacity:.3;transform:translate(-4px)}@media (min-width:768px){.project-card>.tilted-card{height:clamp(240px,23.5vw,360px)}}@media (max-width:1023px){.project-card>.tilted-card{height:clamp(250px,34vw,320px)}}@media (max-width:767px){.project-card>.tilted-card{height:clamp(250px,75vw,340px)}}@media (max-width:600px){.project-card>.tilted-card{height:260px}}.quick-contact{z-index:45;border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffc7;border-radius:999px;align-items:center;gap:7px;min-height:52px;padding:7px 8px 7px 22px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0000001a}.quick-contact-copy{white-space:nowrap;flex-direction:column;min-width:166px;padding-right:5px;display:flex}.quick-contact-copy b{color:var(--ink);letter-spacing:-.045em;font-size:15px;font-weight:700;line-height:1.1}.quick-contact-copy span{color:#767676;letter-spacing:-.035em;margin-top:3px;font-size:11px;font-weight:600;line-height:1.1}.quick-contact-action{border:1px solid var(--line);color:#fff;background:#080808;border-radius:50%;place-items:center;width:38px;height:38px;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,background .25s;display:grid;box-shadow:0 5px 10px #00000029}.quick-contact-action:hover{transform:translateY(-3px)scale(1.05);box-shadow:0 9px 18px #0003}.quick-contact-action svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.whatsapp-action{color:#0b9c58;background:#fff}.whatsapp-action svg{stroke-width:1.5px}@media (max-width:767px){.quick-contact{gap:6px;min-height:50px;padding:6px 7px 6px 18px;bottom:16px}.quick-contact-copy{min-width:136px;padding-right:2px}.quick-contact-copy b{font-size:13px}.quick-contact-copy span{font-size:10px}.quick-contact-action{width:38px;height:38px}.quick-contact-action svg{width:19px;height:19px}}.portrait{background:0 0;border-radius:0;overflow:visible}.portrait-media{background:#141414;border-radius:22px;position:relative;overflow:hidden}.portrait-media>img{object-fit:cover;width:100%;height:clamp(300px,30vw,430px);display:block}.portrait-socials{align-items:center;gap:7px;margin:0;padding:0;display:flex;position:absolute;bottom:14px;right:14px}.portrait-socials a{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#140d0abf;border:1px solid #ffffff3b;border-radius:50%;place-items:center;width:38px;height:38px;transition:transform .22s cubic-bezier(.22,1,.36,1),background .22s;display:grid;box-shadow:0 6px 14px #00000040}.portrait-socials a:hover{background:#080808;transform:translateY(-3px)}.portrait-socials svg{fill:currentColor;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.portrait-socials a:nth-child(3) svg,.portrait-socials a:nth-child(4) svg{fill:none}.portrait>.portrait-meta{background:0 0;padding:15px 2px 2px}.portrait-meta b{letter-spacing:-.05em;font-size:20px;font-weight:600}.portrait-meta small{margin-top:5px;font-size:13px;font-weight:600}.experience-trail{height:1180px;margin-top:clamp(80px,10vw,150px);position:relative}.experience-trail-sticky{grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);gap:clamp(44px,7vw,110px);min-height:650px;display:grid;position:sticky;top:105px;overflow:hidden}.experience-trail-heading{align-self:start;padding-top:36px}.experience-trail-heading p{color:#393939;letter-spacing:.02em;text-transform:uppercase;margin:0 0 18px;font:500 11px/1.2 DM Mono,monospace}.experience-trail-heading h3{color:var(--ink);letter-spacing:-.075em;margin:0;font-size:clamp(40px,4.4vw,66px);font-weight:500;line-height:.9}.experience-trail-heading h3 span{color:#969696}.experience-window{border-left:1px solid var(--line);height:560px;position:relative;overflow:hidden}.experience-path{fill:none;stroke:#bdbdbd;stroke-width:2px;stroke-dasharray:6 12;width:100%;height:1100px;transform:translateY(calc(var(--trail-progress) * -420px));transition:transform 80ms linear;position:absolute;top:0;left:0;overflow:visible}.experience-track{width:100%;height:1100px;transform:translateY(calc(var(--trail-progress) * -420px));transition:transform 80ms linear;position:absolute;top:0;left:0}.experience-track article{border:1px solid var(--line);opacity:.42;background:#ffffffeb;border-radius:16px;flex-direction:column;gap:9px;width:min(280px,42%);padding:18px;transition:opacity .45s,transform .5s cubic-bezier(.22,1,.36,1),box-shadow .35s;display:flex;position:absolute;transform:translateY(14px)scale(.94);box-shadow:0 12px 25px #00000014}.experience-track article:first-child{top:52px;left:52%}.experience-track article:nth-child(2){top:295px;left:7%}.experience-track article:nth-child(3){top:535px;left:52%}.experience-track article:nth-child(4){top:775px;left:7%}.experience-track article:before{content:"";background:#9b9b9b;border:5px solid #fff;border-radius:50%;width:18px;height:18px;position:absolute;top:25px;left:-31px;box-shadow:0 0 0 1px #9b9b9b}.experience-track article:nth-child(2n):before{left:auto;right:-31px}.experience-track article.is-reached{opacity:1;transform:translateY(0)scale(1);box-shadow:0 17px 32px #00000021}.experience-track article.is-reached:before{background:#080808;box-shadow:0 0 0 1px #080808,0 0 0 7px #00000014}.experience-track article>span{color:#8d8d8d;font:500 10px/1 DM Mono,monospace}.experience-track article b,.experience-track article small{display:block}.experience-track article b{letter-spacing:-.045em;font-size:18px;font-weight:600}.experience-track article small{color:#727272;letter-spacing:-.025em;margin-top:4px;font-size:12px;font-weight:600}.experience-track article time{color:#4f4f4f;font:500 11px/1 DM Mono,monospace}.experience-scroll-note{color:#777;text-transform:uppercase;letter-spacing:.02em;align-items:center;gap:9px;margin:0;font:500 11px/1 DM Mono,monospace;display:flex;position:absolute;bottom:44px;left:0}.experience-scroll-note i{border:1px solid var(--line);color:#111;border-radius:50%;place-items:center;width:21px;height:21px;font-style:normal;display:grid}@media (max-width:767px){.portrait-media>img{height:360px}.portrait-socials a{width:36px;height:36px}.portrait-meta b{font-size:18px}.portrait-meta small{font-size:12px}.experience-trail{height:auto;margin-top:78px}.experience-trail-sticky{min-height:0;display:block;position:static;overflow:visible}.experience-trail-heading{padding-top:0}.experience-trail-heading h3{text-align:left;font-size:42px}.experience-window{border-left:1px solid var(--line);height:auto;margin-top:34px;overflow:visible}.experience-path{display:none}.experience-track{gap:14px;width:100%;height:auto;padding:22px 0 0 20px;display:grid;position:relative;transform:none}.experience-track article,.experience-track article:nth-child(n){opacity:1;width:100%;position:relative;top:auto;left:auto;transform:none}.experience-track article:before,.experience-track article:nth-child(2n):before{display:block;top:26px;left:-31px;right:auto}.experience-scroll-note{display:none}}body,.availability,.footer-contact a{font-family:var(--framer-sans)}.availability,.brand,.site-nav button,.header-contact,.dark-button,.quick-contact-copy b,.quick-contact-copy span{font-weight:600}.hero-heading,.section-intro h2,.services-title h2,.faq-title h2,.site-footer h2,.experience-trail-heading h3,.project-dialog h2{font-family:var(--framer-sans);letter-spacing:-.03em;font-weight:500}.hero-heading{line-height:.95}.section-intro h2,.services-title h2,.faq-title h2{line-height:1}.hero p,.about-copy p,.project-card b,.project-card small,.project-card em,.experience-track article b,.experience-track article small{font-family:var(--framer-sans)}@media (min-width:1200px){.hero-heading{font-size:72px}.section-intro h2,.services-title h2,.faq-title h2{font-size:64px}}@media (min-width:992px) and (max-width:1199px){.hero-heading{font-size:64px}.section-intro h2,.services-title h2,.faq-title h2{font-size:54px}}@media (min-width:768px) and (max-width:991px){.hero-heading{font-size:48px}.section-intro h2,.services-title h2,.faq-title h2{font-size:46px}}@media (max-width:767px){.hero-heading{font-size:42px}.section-intro h2,.services-title h2,.faq-title h2{font-size:36px}}.experience-window{isolation:isolate;border-left:1px solid var(--line);background:linear-gradient(90deg,#ffffffb8,#ffffff3d)}.experience-rules{z-index:0;pointer-events:none;opacity:.07;background-image:repeating-linear-gradient(#111 0 1px,#0000 1px 32px);position:absolute;inset:0}.experience-path{z-index:1;stroke:#8f8f8f;stroke-width:2px;stroke-dasharray:8 8;animation:3.2s linear infinite experience-dash}.experience-track{z-index:2}.experience-track article{width:min(310px,45%);box-shadow:none;opacity:.28;background:0 0;border:0;border-radius:0;padding:0;transform:translateY(18px)scale(.93)}.experience-track article:before{display:none}.experience-track article.is-reached{box-shadow:none;opacity:1;transform:translateY(0)scale(1)}.experience-card-shell{transform:rotate(var(--card-rotate));background:#fff;border:1px solid #e6e6e4;border-radius:25px;padding:3px;transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .4s;box-shadow:0 12px 24px #00000024}.experience-track article.is-reached .experience-card-shell{box-shadow:0 18px 34px #00000029}.experience-track article:hover .experience-card-shell{transform:rotate(0)translateY(-6px)scale(1.03)}.experience-pin{color:#232323;place-items:center;width:30px;height:30px;margin:12px auto 8px;font-style:normal;display:grid}.experience-pin svg{fill:currentColor;stroke:#fff;stroke-width:1.4px;stroke-linejoin:round;width:28px;height:28px}.experience-card-surface{background:#f4faf5;border:1px solid #dbe4dc;border-radius:18px;flex-direction:column;min-height:174px;padding:15px;display:flex}.experience-card-surface>span{color:#388457;letter-spacing:-.08em;margin-bottom:11px;font:500 25px/.9 DM Mono,monospace}.experience-track article b{color:var(--ink);letter-spacing:-.04em;margin:0;font-size:20px;font-weight:600;line-height:1}.experience-track article small{color:#525252;letter-spacing:-.02em;margin-top:6px;font-size:12px;font-weight:600;line-height:1.2}.experience-track article p{color:#5e675f;letter-spacing:-.02em;margin:13px 0 0;font-size:12px;font-weight:500;line-height:1.35}.experience-track article time{color:#4d5c50;margin-top:auto;padding-top:13px;font:500 10px/1 DM Mono,monospace}.experience-track article[data-tone=blue] .experience-card-surface{background:#f1f6fc;border-color:#dce5f1}.experience-track article[data-tone=blue] .experience-card-surface>span,.experience-track article[data-tone=blue] .experience-pin{color:#3874b7}.experience-track article[data-tone=blue] p,.experience-track article[data-tone=blue] time{color:#52677d}.experience-track article[data-tone=purple] .experience-card-surface{background:#f7f3fc;border-color:#e5ddf0}.experience-track article[data-tone=purple] .experience-card-surface>span,.experience-track article[data-tone=purple] .experience-pin{color:#7750a6}.experience-track article[data-tone=purple] p,.experience-track article[data-tone=purple] time{color:#6b5a7e}.experience-track article[data-tone=orange] .experience-card-surface{background:#fff6ef;border-color:#f2dfd0}.experience-track article[data-tone=orange] .experience-card-surface>span,.experience-track article[data-tone=orange] .experience-pin{color:#c66d32}.experience-track article[data-tone=orange] p,.experience-track article[data-tone=orange] time{color:#7e604d}@keyframes experience-dash{to{stroke-dashoffset:-64px}}@media (max-width:767px){.experience-window{background:linear-gradient(90deg,#ffffffb3,#ffffff26)}.experience-rules{display:block}.experience-track article,.experience-track article:nth-child(n){width:100%}.experience-card-shell{max-width:360px}.experience-track article:nth-child(2n) .experience-card-shell{margin-left:auto}.experience-track article p{font-size:13px}}.site-footer{background:#0c0c0b;border-top:1px solid #202020;overflow:visible}.site-footer>.footer-shell{width:100%;min-height:0;padding:48px var(--content-inset) 98px;border:0;margin:0;display:block;position:relative}.site-footer h2{color:#f4f4f1;letter-spacing:-.03em;max-width:520px;margin:0;font-size:clamp(34px,3.4vw,52px);font-weight:500;line-height:.98}.footer-links{border-top:1px solid #2a2a29;min-width:180px;display:grid}.footer-links a{color:#d7d7d3;letter-spacing:-.02em;border-bottom:1px solid #2a2a29;justify-content:space-between;align-items:center;gap:28px;padding:10px 0;font-size:14px;font-weight:500;transition:color .2s,transform .25s cubic-bezier(.22,1,.36,1);display:flex}.footer-bottom{color:#747470;letter-spacing:.01em;border-top:1px solid #252524;justify-content:space-between;align-items:center;gap:20px;margin-top:42px;padding-top:16px;font:500 10px/1 DM Mono,monospace;display:flex}.footer-bottom nav{align-items:center;gap:18px;display:flex}.footer-bottom a{color:#9b9b97;transition:color .2s}.footer-bottom a:hover{color:#fff}@media (max-width:767px){.site-footer>.footer-shell{padding-top:40px;padding-bottom:92px}.footer-main{gap:30px;display:grid}.site-footer h2{max-width:360px;font-size:38px}.footer-links{width:100%;min-width:0}.footer-links a{font-size:14px}.footer-bottom{flex-direction:column-reverse;align-items:flex-start;gap:16px;margin-top:34px}.footer-bottom nav{flex-wrap:wrap;gap:12px 16px}}.experience-timeline{margin-top:clamp(82px,10vw,148px)}.experience-timeline-intro{max-width:620px;margin-bottom:clamp(50px,6vw,84px)}.experience-timeline-intro>p{color:#393939;letter-spacing:.02em;text-transform:uppercase;margin:0 0 17px;font:500 11px/1.2 DM Mono,monospace}.experience-timeline-intro h3{color:var(--ink);font-family:var(--framer-sans);letter-spacing:-.03em;margin:0;font-size:clamp(40px,4.4vw,66px);font-weight:500;line-height:.92}.experience-timeline-intro h3 span{color:#969696}.experience-timeline-intro small{color:#737373;letter-spacing:-.02em;max-width:330px;margin-top:18px;font-size:15px;font-weight:500;line-height:1.4;display:block}.experience-timeline-list{max-width:1120px;position:relative}.experience-timeline-line{background:linear-gradient(#0000 0,#dfdfdc 4% 96%,#0000 100%);width:2px;position:absolute;top:0;bottom:0;left:18px;overflow:hidden}.experience-timeline-line i{width:100%;height:calc(var(--trail-progress) * 100%);background:linear-gradient(#0000 0%,#5f87d0 12%,#7354a7 55%,#252525 100%);border-radius:999px;transition:height .12s linear;position:absolute;top:0;left:0}.experience-timeline-list article{grid-template-columns:minmax(220px,.78fr) minmax(0,1.22fr);gap:clamp(48px,7vw,112px);min-height:300px;padding:0 0 clamp(64px,8vw,116px);display:grid;position:relative}.experience-timeline-sticky{align-self:start;min-height:42px;padding:4px 0 0 68px;position:sticky;top:150px}.experience-timeline-sticky>i{background:var(--surface);border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:0;left:0;box-shadow:0 0 0 1px #e1e1de}.experience-timeline-sticky>i:after{content:"";background:#e0e0dc;border:1px solid #b8b8b4;border-radius:50%;width:13px;height:13px;transition:background .35s,border-color .35s,box-shadow .35s}.experience-timeline-list article.is-reached .experience-timeline-sticky>i:after{background:#111;border-color:#111;box-shadow:0 0 0 5px #14141414}.experience-timeline-sticky h4{color:#8a8a87;font-family:var(--framer-sans);letter-spacing:-.04em;margin:0;font-size:clamp(28px,3vw,46px);font-weight:500;line-height:.95}.experience-timeline-content{min-width:0;padding-top:0}.experience-timeline-card{border:1px solid var(--line);opacity:.38;background:#ffffffbf;border-radius:18px;min-height:180px;padding:24px 26px 25px;transition:opacity .45s,transform .55s cubic-bezier(.22,1,.36,1),box-shadow .35s;position:relative;overflow:hidden;transform:translateY(18px);box-shadow:0 10px 24px #0000000b}.experience-timeline-card:before{content:"";background:#4d8d67;border-radius:999px;width:3px;position:absolute;top:20px;bottom:20px;left:0}.experience-timeline-list article.is-reached .experience-timeline-card{opacity:1;transform:translateY(0);box-shadow:0 16px 30px #00000014}.experience-timeline-card>p{color:#4d8d67;letter-spacing:.01em;text-transform:uppercase;margin:0 0 16px;font:500 10px/1 DM Mono,monospace}.experience-timeline-card h4{color:var(--ink);font-family:var(--framer-sans);letter-spacing:-.035em;margin:0;font-size:28px;font-weight:500;line-height:1}.experience-timeline-card b{color:#4b4b4a;letter-spacing:-.02em;margin-top:7px;font-size:14px;font-weight:600;display:block}.experience-timeline-card span{color:#777774;letter-spacing:-.02em;max-width:430px;margin-top:17px;font-size:14px;font-weight:500;line-height:1.42;display:block}.experience-timeline-list article[data-tone=blue] .experience-timeline-card:before{background:#5e87c7}.experience-timeline-list article[data-tone=blue] .experience-timeline-card>p{color:#527bb7}.experience-timeline-list article[data-tone=purple] .experience-timeline-card:before{background:#8a68b2}.experience-timeline-list article[data-tone=purple] .experience-timeline-card>p{color:#7853a5}.experience-timeline-list article[data-tone=orange] .experience-timeline-card:before{background:#d58a56}.experience-timeline-list article[data-tone=orange] .experience-timeline-card>p{color:#bd713d}@media (max-width:767px){.experience-timeline{margin-top:82px}.experience-timeline-intro{margin-bottom:46px}.experience-timeline-intro h3{font-size:42px}.experience-timeline-list{padding-left:54px}.experience-timeline-line{left:18px}.experience-timeline-list article{min-height:0;padding:0 0 46px;display:block}.experience-timeline-sticky{min-height:32px;padding:4px 0 0;position:static}.experience-timeline-sticky>i{width:37px;height:37px;top:0;left:-54px}.experience-timeline-sticky h4{font-size:27px}.experience-timeline-content{margin-top:17px}.experience-timeline-card{min-height:0;padding:21px 21px 22px}.experience-timeline-card h4{font-size:25px}.experience-timeline-card span{font-size:14px}}.experience-timeline-intro{max-width:560px}.experience-timeline-intro h3{font-size:clamp(36px,3.7vw,54px);line-height:.98}.experience-timeline-intro small{margin-top:14px;font-size:14px}.experience-timeline-list{max-width:1040px}.experience-timeline-line{background:linear-gradient(#0000,#dcdcd8 4% 96%,#0000);width:1px;left:15px}.experience-timeline-line i{background:#161616;width:1px}.experience-timeline-list article{grid-template-columns:minmax(200px,.72fr) minmax(0,1.28fr);gap:clamp(42px,6vw,86px);min-height:245px;padding-bottom:clamp(48px,6vw,80px)}.experience-timeline-sticky{padding-left:54px;top:132px}.experience-timeline-sticky>i{width:31px;height:31px}.experience-timeline-sticky>i:after{background:#dbdbd7;border-color:#bcbcb8;width:9px;height:9px}.experience-timeline-list article.is-reached .experience-timeline-sticky>i:after{box-shadow:0 0 0 4px #14141412}.experience-timeline-sticky h4{color:#969692;letter-spacing:-.03em;font-size:clamp(24px,2.5vw,38px)}.experience-timeline-card{min-height:0;box-shadow:none;opacity:.42;background:#fff;border-radius:9px;padding:20px 22px 21px;transform:translateY(12px)}.experience-timeline-card:before{background:#191919;border-radius:0;width:auto;height:1px;inset:0 0 auto}.experience-timeline-list article.is-reached .experience-timeline-card{box-shadow:0 7px 16px #0000000b}.experience-timeline-card>p,.experience-timeline-list article[data-tone] .experience-timeline-card>p{color:#777774;margin-bottom:13px;font-size:10px}.experience-timeline-card h4{letter-spacing:-.03em;font-size:24px}.experience-timeline-card b{color:#555552;margin-top:5px;font-size:13px}.experience-timeline-card span{color:#777774;margin-top:13px;font-size:13px;line-height:1.45}.experience-timeline-list article[data-tone] .experience-timeline-card:before{background:#191919}@media (max-width:767px){.experience-timeline-list{padding-left:48px}.experience-timeline-line{left:14px}.experience-timeline-list article{padding-bottom:38px}.experience-timeline-sticky>i{width:29px;height:29px;left:-48px}.experience-timeline-card{border-radius:8px;padding:18px 19px 19px}.experience-timeline-card h4{font-size:22px}}.experience-timeline-list article{min-height:0;padding-bottom:clamp(32px,4vw,52px)}.experience-timeline-card{padding:20px 22px}.experience-company-heading{align-items:center;gap:13px;display:flex}.experience-company-logo{border:1px solid var(--line);color:#111;background:#fff;border-radius:7px;flex:none;place-items:center;width:42px;height:42px;overflow:hidden;max-width:none!important;margin:0!important;display:grid!important}.experience-company-logo img{object-fit:contain;width:28px;height:28px}.experience-company-logo em{font-family:var(--framer-sans);letter-spacing:-.06em;font-size:14px;font-style:normal;font-weight:600}.experience-company-heading h4{margin:0}.experience-company-heading b{margin-top:4px}.experience-timeline-card>span{margin-top:15px}@media (max-width:767px){.experience-timeline-list article{padding-bottom:30px}.experience-company-logo{width:39px;height:39px}.experience-company-logo img{width:26px;height:26px}.experience-timeline-card>span{margin-top:13px}}.education-cert{border-top:1px solid var(--line);margin-top:17px;padding-top:14px;display:block}.education-cert strong{color:var(--ink);letter-spacing:-.02em;font-size:12px;font-weight:600;display:block}.education-cert span{color:#737373;margin-top:4px;font-size:11px;line-height:1.35}.education-cert:hover strong{text-underline-offset:3px;text-decoration:underline}.foundation-grid li a{text-underline-offset:3px;-webkit-text-decoration:underline #b8b8b5;text-decoration:underline #b8b8b5;transition:text-decoration-color .2s,color .2s}.foundation-grid li a:hover{color:#555;text-decoration-color:#555}.faq.section{align-items:start;padding-top:clamp(88px,9vw,132px);padding-bottom:clamp(100px,10vw,144px)}.faq{grid-template-columns:minmax(0,1.24fr) minmax(360px,.96fr);gap:clamp(38px,5vw,78px)}.faq-title h2{letter-spacing:-.045em;max-width:680px;margin:0;font-size:clamp(48px,5.55vw,76px);font-weight:500;line-height:.98}.faq-title h2 span{color:#999}.faq-dot{color:#202020;vertical-align:middle;font-size:.72em;font-weight:500;line-height:0;display:inline-block}.faq-items{border:0;margin-top:clamp(58px,6vw,92px)}.faq-items article{background:#fff;border:1px solid #dfdfdc;border-radius:20px;margin:0 0 18px;transition:border-color .25s,box-shadow .25s;overflow:hidden}.faq-items article:hover,.faq-items article.is-open{border-color:#d2d2cf;box-shadow:0 8px 20px #00000009}.faq-items button{letter-spacing:-.025em;grid-template-columns:47px 1fr 24px;min-height:64px;padding:0 18px;font-size:16px;font-weight:600}.faq-items button span{color:#252525;font:500 15px/1 var(--framer-sans);letter-spacing:-.035em}.faq-items button b{color:#111;font-size:23px;font-weight:500;line-height:1}.faq-items p{color:#1f1f1e;letter-spacing:-.025em;max-width:100%;margin:0;padding:0 20px 0 64px;font-size:16px;font-weight:500;line-height:1.6}.faq-items article.is-open p{max-height:180px;margin:0;padding-bottom:22px}.contact-card{background:#fff;border:1px solid #dfdfdc;border-radius:20px;flex-direction:column;min-height:498px;padding:38px;display:flex;box-shadow:0 8px 16px #00000012}.contact-card>img{width:78px;height:78px;margin:0 0 36px}.contact-card p{color:#868686;letter-spacing:-.045em;margin:0;font-size:36px;font-weight:500;line-height:1.05}.contact-card h3{color:#111;letter-spacing:-.045em;max-width:440px;margin:4px 0 26px;font-size:38px;font-weight:500;line-height:1.04}.contact-card>span{color:#1d1d1c;letter-spacing:-.025em;max-width:430px;margin:0;font-size:16px;font-weight:500;line-height:1.55}.contact-actions{align-items:center;gap:24px;margin-top:auto;padding-top:30px;display:flex}.contact-email{color:#fff;letter-spacing:-.025em;background:#080808;border-radius:999px;align-items:center;gap:9px;min-height:52px;padding:0 19px;font-size:15px;font-weight:600;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s;display:inline-flex;box-shadow:0 7px 14px #0000002e}.contact-email:hover{transform:translateY(-3px);box-shadow:0 11px 22px #0000003b}.contact-email svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.contact-calendar{color:#b2b2b0;letter-spacing:-.035em;font-size:17px;font-weight:600}@media (max-width:900px){.faq{grid-template-columns:1fr}.faq-items{margin-top:48px}.contact-card{max-width:640px;min-height:0}.contact-actions{margin-top:32px}}@media (max-width:600px){.faq.section{padding-top:78px;padding-bottom:94px}.faq-title h2{font-size:44px}.faq-items{margin-top:42px}.faq-items article{border-radius:15px;margin-bottom:13px}.faq-items button{grid-template-columns:38px 1fr 20px;min-height:59px;padding:0 14px;font-size:14px}.faq-items button span{font-size:13px}.faq-items p{padding:0 17px 0 52px;font-size:14px}.faq-items article.is-open p{padding-bottom:18px}.contact-card{border-radius:16px;padding:27px}.contact-card>img{width:58px;height:58px;margin-bottom:28px}.contact-card p{font-size:27px}.contact-card h3{margin-bottom:20px;font-size:31px}.contact-card>span{font-size:14px}.contact-actions{gap:18px;padding-top:25px}.contact-email{min-height:47px;padding:0 17px;font-size:14px}.contact-calendar{font-size:15px}}@media (min-width:901px){.contact-card{position:sticky;top:104px}}.projects{overflow-x:clip}.education{background:#f8f8f6}.education-intro{grid-template-columns:minmax(0,1.25fr) minmax(240px,.55fr);align-items:end;gap:clamp(38px,7vw,120px);margin-bottom:clamp(48px,6vw,84px);display:grid}.education-intro p{color:#393939;letter-spacing:.02em;text-transform:uppercase;margin:0 0 17px;font:500 11px/1.2 DM Mono,monospace}.education-intro h2{font-family:var(--framer-sans);letter-spacing:-.04em;margin:0;font-size:clamp(45px,4.7vw,68px);font-weight:500;line-height:.96}.education-intro h2 span{color:#969696}.education-intro>span{color:#666;letter-spacing:-.02em;max-width:360px;font-size:17px;font-weight:500;line-height:1.45}.education-cards{gap:24px;margin-top:0}.education-cards article{min-height:460px;box-shadow:none;background:#fff;border-radius:16px;flex-direction:column;padding:clamp(26px,3.2vw,46px);display:flex}.education-cards article>p{color:#393939;letter-spacing:.02em;text-transform:uppercase;margin:0 0 28px;font:500 11px/1.2 DM Mono,monospace}.education-degree h3{max-width:530px;color:var(--ink);font-family:var(--framer-sans);letter-spacing:-.045em;margin:0 0 24px;font-size:clamp(33px,3vw,46px);font-weight:500;line-height:.98}.education-degree>span{color:#737373;letter-spacing:-.02em;font-size:15px;font-weight:500;line-height:1.4}.education-degree>b{color:#111;letter-spacing:-.02em;margin-top:11px;font-size:15px;font-weight:600}.education-cert{color:#fff;background:#10100f;border:0;border-radius:11px;flex-direction:column;align-items:flex-start;margin-top:auto;padding:22px 24px;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s;display:flex}.education-cert:hover{transform:translateY(-4px);box-shadow:0 14px 25px #0000002e}.education-cert i{color:#999995;letter-spacing:.02em;text-transform:uppercase;margin:0 0 11px;font:500 10px/1 DM Mono,monospace}.education-cert strong{color:#fff;font-family:var(--framer-sans);letter-spacing:-.03em;font-size:22px;font-weight:500;line-height:1.03}.education-cert span{color:#b9b9b4;margin-top:9px;font-size:13px;font-weight:500;line-height:1.25}.education-cert em{color:#fff;letter-spacing:-.02em;margin-top:15px;font-size:13px;font-style:normal;font-weight:600}.education-learning ul{gap:0;margin:0;padding:0;list-style:none;display:grid}.education-learning li{border-top:1px solid var(--line);padding:0;font-size:0;display:block}.education-learning li:last-child{border-bottom:1px solid var(--line)}.education-learning li:before{display:none}.education-learning li a{color:#171716;letter-spacing:-.02em;justify-content:space-between;align-items:center;gap:18px;min-height:44px;padding:8px 0;font-size:14px;font-weight:600;line-height:1.25;text-decoration:none;transition:color .2s,transform .25s cubic-bezier(.22,1,.36,1);display:flex}.education-learning li a:hover{color:#777;text-decoration:none;transform:translate(4px)}.education-learning li a b{color:#959591;flex:none;font-size:14px;font-weight:500}@media (max-width:767px){.education-intro{margin-bottom:46px;display:block}.education-intro h2{font-size:44px}.education-intro>span{margin-top:17px;font-size:15px;display:block}.education-cards{grid-template-columns:1fr;gap:16px}.education-cards article{border-radius:12px;min-height:0;padding:25px}.education-cards article>p{margin-bottom:23px}.education-degree h3{font-size:33px}.education-cert{min-height:190px;margin-top:30px;padding:20px}.education-learning li a{min-height:46px;font-size:13px}.education-learning li a b{font-size:13px}}.site-footer{color:var(--ink);border-top:1px solid var(--line);background:var(--surface);overflow:visible}.site-footer>.footer-shell{width:100%;min-height:0;padding:42px var(--content-inset) 98px;background:0 0;border:0}.footer-main{justify-content:space-between;align-items:flex-end;gap:32px;display:flex}.footer-identity{min-width:0}.footer-kicker{color:#777774;letter-spacing:.02em;text-transform:uppercase;margin:0 0 10px;font:500 10px/1.2 DM Mono,monospace}.site-footer h2{max-width:460px;color:var(--ink);font-family:var(--framer-sans);letter-spacing:-.035em;margin:0;font-size:clamp(27px,2.5vw,38px);font-weight:500;line-height:1}.footer-links{border:0;justify-content:flex-end;align-items:center;min-width:0;display:flex}.footer-links a{color:#4d4d4a;font-family:var(--framer-sans);letter-spacing:-.02em;border:0;align-items:center;gap:6px;padding:0;font-size:14px;font-weight:600;transition:color .2s,transform .25s cubic-bezier(.22,1,.36,1);display:inline-flex}.footer-links a+a{margin-left:22px}.footer-links a:hover{color:#111;transform:translateY(-2px)}.footer-links b{color:#999995;font-size:13px;font-weight:500}.footer-bottom{border-top:1px solid var(--line);color:#898986;letter-spacing:.01em;justify-content:space-between;align-items:center;gap:20px;margin-top:31px;padding-top:14px;font:500 10px/1.2 DM Mono,monospace;display:flex}@media (max-width:767px){.site-footer>.footer-shell{padding-top:34px;padding-bottom:92px}.footer-main{display:block}.site-footer h2{max-width:330px;font-size:30px}.footer-links{justify-content:flex-start;margin-top:25px}.footer-links a{font-size:13px}.footer-links a+a{margin-left:18px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:8px;margin-top:28px}}.site-footer>.footer-shell{color:#f4f4f1;background:#0c0c0b;border:1px solid #20201f;border-radius:20px;width:100%;padding:42px clamp(28px,5vw,80px) 98px}.footer-kicker{color:#949490}.site-footer h2{color:#f4f4f1}.site-footer h2 span{color:#8d8d89}.footer-links a{color:#d4d4d0}.footer-links a:hover{color:#fff}.footer-links b{color:#888884}.footer-bottom{color:#7d7d79;border-top-color:#292927}.footer-bottom span:last-child{color:#9a9a96}@media (max-width:767px){.site-footer{padding:0 12px 16px}.site-footer>.footer-shell{border-radius:16px;padding:34px 24px 92px}}@media (min-width:768px){.section{padding-top:clamp(72px,6.5vw,98px);padding-bottom:clamp(72px,6.5vw,98px)}.section-intro{margin-bottom:48px}.experience-timeline{margin-top:clamp(62px,7vw,92px)}.education-intro{margin-bottom:clamp(38px,4.5vw,62px)}.faq.section{padding-top:clamp(76px,7vw,98px);padding-bottom:clamp(82px,7vw,108px)}.faq-items{margin-top:clamp(42px,4.5vw,62px)}}@media (min-width:1101px){.services{min-height:760px}.services-sticky{gap:48px}.service-list{gap:clamp(30px,2.8vw,42px);padding:26px 0 56px}}@media (max-width:767px){.section{padding-top:64px;padding-bottom:64px}.section-intro{margin-bottom:38px}.experience-timeline{margin-top:62px}.education-intro{margin-bottom:38px}.faq.section{padding-top:68px;padding-bottom:76px}.faq-items{margin-top:38px}}.site-footer{background:var(--surface);border:0;padding:0 clamp(16px,2vw,32px) 24px}.site-footer>.footer-shell{color:#fff;background:#050505;border:0;border-radius:0;width:100%;min-height:450px;padding:30px clamp(28px,4vw,64px) 0;position:relative;overflow:hidden}.footer-top{z-index:1;grid-template-columns:1fr 1fr 1fr;gap:30px;display:grid;position:relative}.footer-top a{color:#fff;font-family:var(--framer-sans);letter-spacing:-.025em;font-size:15px;font-weight:600}.footer-socials a{color:#050505;background:#fff;border-radius:50%;place-items:center;width:25px;height:25px;transition:transform .22s cubic-bezier(.22,1,.36,1),background .2s;display:grid}.footer-rule{z-index:1;background:#2a2a28;height:1px;margin:25px 0 16px;position:relative}.footer-meta{z-index:1;color:#d0d0cc;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:30px;font:500 10px/1.45 DM Mono,monospace;display:grid;position:relative}.footer-meta nav{grid-template-columns:max-content max-content;gap:5px 20px;display:grid}.footer-meta a{color:#d0d0cc;font-family:var(--framer-sans);letter-spacing:-.02em;font-size:11px;font-weight:600}.footer-meta div:nth-child(2){flex-direction:column;gap:3px;display:flex}.footer-meta>span{color:#9b9b97;text-align:right;place-self:end}.footer-wordmark{color:#fff;font-family:var(--framer-sans);letter-spacing:-.12em;white-space:nowrap;pointer-events:none;font-size:clamp(150px,22vw,350px);font-weight:600;line-height:.72;position:absolute;bottom:-27px;left:clamp(24px,4vw,64px)}@media (max-width:767px){.site-footer{padding:0 12px 16px}.site-footer>.footer-shell{min-height:390px;padding:26px 22px 0}.footer-top{grid-template-columns:1fr 1fr;gap:24px 18px}.footer-top>div:last-child{grid-column:1/-1}.footer-top a{font-size:13px}.footer-rule{margin:23px 0 15px}.footer-meta{grid-template-columns:1fr 1fr;gap:20px}.footer-meta>span{text-align:left;grid-column:1/-1;justify-self:start}.footer-wordmark{font-size:clamp(108px,29vw,180px);bottom:-16px;left:20px}}.site-footer{background:#050505;padding:0}.site-footer>.footer-shell{min-height:450px;padding:30px var(--content-inset) 0;background:#050505;border:0;border-radius:0}.footer-top p,.footer-meta p{font-family:DM Mono,monospace;font-weight:500}.footer-top a,.footer-meta,.footer-meta a{font-family:var(--framer-sans);letter-spacing:-.02em;font-weight:500}.footer-meta p{letter-spacing:.01em}.footer-wordmark{left:var(--content-inset);font-family:var(--framer-sans);font-weight:500}@media (max-width:767px){.site-footer{padding:0}.site-footer>.footer-shell{padding:26px var(--content-inset) 0}.footer-wordmark{left:var(--content-inset)}}.site-footer{color:#fff;background:#050505;border:0;padding:0;overflow:hidden}.site-footer>.footer-shell{width:100%;min-height:0;padding:64px var(--content-inset) 211px;color:#fff;background:#050505;border:0;border-radius:0;flex-direction:column;gap:24px;margin:0;display:flex;position:relative;overflow:hidden}.footer-top{border-bottom:1px solid #2a2a28;flex-direction:column;gap:48px;padding:0 0 24px;display:flex}.footer-heading{color:#f5f5f2;font-family:var(--framer-sans);letter-spacing:-.03em;flex-direction:column;margin:0;font-size:clamp(44px,5vw,72px);font-weight:500;line-height:.95;display:flex}.footer-heading>div{white-space:nowrap;align-items:flex-start;gap:.1em;display:flex}.footer-heading>span{color:#8d8d8a}.footer-cycle{vertical-align:top;color:#f5f5f2;width:5.4ch;height:.96em;display:inline-block;overflow:hidden}.footer-cycle>span{animation:8.4s cubic-bezier(.65,0,.35,1) infinite footer-text-cycle;display:block}.footer-cycle i{height:.96em;font-style:normal;display:block}@keyframes footer-text-cycle{0%,28%{transform:translateY(0)}33%,61%{transform:translateY(-.96em)}66%,94%{transform:translateY(-1.92em)}to{transform:translateY(0)}}.footer-contact-grid{grid-template-columns:1fr 1fr auto;align-items:start;gap:32px;display:grid}.footer-contact-grid>div{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex}.footer-top p,.footer-meta p{color:#8d8d89;letter-spacing:.01em;margin:0;font:500 10px/1.2 DM Mono,monospace}.footer-top a{overflow-wrap:anywhere;color:#f5f5f2;max-width:100%;font-family:var(--framer-sans);letter-spacing:-.02em;font-size:16px;font-weight:500;line-height:1.2}.footer-socials{align-items:center;gap:8px;display:flex}.footer-socials a{color:#080808;background:#f6f6f2;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;transition:transform .22s cubic-bezier(.22,1,.36,1),background-color .2s;display:grid}.footer-socials a:hover{background:#d6d6d1;transform:translateY(-3px)}.footer-socials svg{fill:currentColor;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.footer-socials a:nth-child(3) svg,.footer-socials a:nth-child(4) svg{fill:none}.footer-rule{display:none}.footer-meta{color:#e5e5e1;font-family:var(--framer-sans);border:0;grid-template-columns:2fr 1fr;align-items:end;gap:24px;margin:0;padding:0;display:grid}.footer-site-links{grid-template-columns:repeat(2,minmax(120px,1fr));gap:24px;display:grid}.footer-site-links>div{flex-direction:column;align-items:flex-start;gap:18px;display:flex}.footer-site-links nav{grid-template-columns:max-content max-content;gap:10px 24px;display:grid}.footer-site-links>div:last-child nav{grid-template-columns:1fr}.footer-meta a{color:#e5e5e1;font-family:var(--framer-sans);letter-spacing:-.02em;font-size:12px;font-weight:500;line-height:1.1;transition:color .2s}.footer-meta a:hover{color:#fff}.footer-meta>span{color:#898985;font:600 12px/1 var(--framer-sans);letter-spacing:-.02em;white-space:nowrap;justify-self:end}.footer-wordmark{z-index:0;bottom:-.5em;left:var(--content-inset);width:calc(100% - (var(--content-inset) * 2));color:#f5f5f2;font-family:var(--framer-sans);letter-spacing:-.075em;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;margin:0;font-size:clamp(108px,23vw,350px);font-weight:500;line-height:.78;position:absolute}@media (max-width:767px){.site-footer>.footer-shell{padding:32px var(--content-inset) 76px;gap:32px}.footer-top{gap:48px}.footer-heading{font-size:clamp(40px,11.5vw,52px);line-height:.98}.footer-heading>div{white-space:normal}.footer-contact-grid{grid-template-columns:1fr;gap:32px}.footer-socials a{width:27px;height:27px}.footer-meta{grid-template-columns:1fr;align-items:start;gap:24px}.footer-site-links{grid-template-columns:1fr 1fr;gap:24px}.footer-site-links nav{grid-template-columns:1fr;gap:10px}.footer-meta>span{justify-self:start}.footer-wordmark{letter-spacing:-.07em;font-size:clamp(92px,25.6vw,132px);bottom:-.4em}}@media (prefers-reduced-motion:reduce){.footer-cycle>span{animation:none}}.contact-card{min-height:0}.contact-form{gap:13px;margin-top:28px;display:grid}.contact-form label{gap:7px;display:grid}.contact-form label>span{color:#555552;letter-spacing:-.02em;gap:5px;margin:0;font-size:12px;font-weight:600;line-height:1.2;display:flex}.contact-form label em{color:#999996;font-style:normal;font-weight:500}.contact-form input,.contact-form textarea{color:#111;width:100%;font:500 14px/1.4 var(--framer-sans);letter-spacing:-.02em;background:#fbfbfa;border:1px solid #dededb;border-radius:10px;outline:none;transition:border-color .2s,box-shadow .2s,background-color .2s}.contact-form input{height:43px;padding:0 13px}.contact-form textarea{resize:vertical;min-height:105px;padding:11px 13px}.contact-form input:focus,.contact-form textarea:focus{background:#fff;border-color:#111;box-shadow:0 0 0 3px #00000012}.contact-honeypot{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.contact-submit{color:#fff;cursor:pointer;width:max-content;min-height:48px;font:600 14px/1 var(--framer-sans);letter-spacing:-.025em;background:#080808;border:0;border-radius:999px;justify-content:center;align-items:center;margin-top:5px;padding:0 19px;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,opacity .2s;display:inline-flex;box-shadow:0 7px 14px #0000002e}.contact-submit:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 11px 22px #0000003b}.contact-submit:disabled{cursor:wait;opacity:.65}.contact-status{letter-spacing:-.02em!important;margin:0!important;font-size:13px!important;font-weight:500!important;line-height:1.45!important}.contact-status.is-success{color:#16733a!important}.contact-status.is-error{color:#a02b25!important}.contact-status a{color:inherit;text-underline-offset:2px;text-decoration:underline}@media (max-width:600px){.contact-form{margin-top:24px}.contact-form label>span{font-size:11px}.contact-form input,.contact-form textarea{font-size:16px}.contact-submit{min-height:47px;font-size:14px}}.project-dialog-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:26px;display:flex}.project-dialog-actions .dark-button{cursor:pointer;font-family:var(--framer-sans);border:0}.project-external-link{color:#777;letter-spacing:-.02em;font-size:13px;font-weight:600;transition:color .2s}.project-external-link:hover{color:#111}.project-dialog.is-previewing{border-radius:16px;flex-direction:column;width:min(1180px,100vw - 36px);height:min(760px,100dvh - 36px);max-height:none;display:flex}.project-dialog.is-previewing>.dialog-close{border:1px solid #e1e1de;width:31px;height:31px;font-size:17px;top:13px;right:13px}.project-preview-bar{background:#fff;border-bottom:1px solid #e7e7e4;justify-content:space-between;align-items:center;gap:24px;min-height:68px;padding:12px 62px 12px 18px;display:flex}.project-preview-bar>div{align-items:center;gap:10px;min-width:0;display:flex}.project-preview-bar>div:first-child img{object-fit:contain;border:1px solid #e2e2df;border-radius:7px;width:28px;height:28px;padding:4px}.project-preview-bar span{color:#111;letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.project-preview-bar small{color:#888;white-space:nowrap;font-size:12px;font-weight:500}.project-preview-bar button,.project-preview-bar a{color:#171717;cursor:pointer;min-height:34px;font:600 12px/1 var(--framer-sans);letter-spacing:-.02em;white-space:nowrap;background:#fff;border:1px solid #dfdfdc;border-radius:999px;padding:0 12px;transition:background-color .2s,transform .2s}.project-preview-bar a{align-items:center;display:inline-flex}.project-preview-bar button:hover,.project-preview-bar a:hover{background:#f1f1ef;transform:translateY(-1px)}.project-preview-frame{background:#f1f1ef;flex:1;min-height:0;position:relative}.project-preview-frame iframe{z-index:1;background:#fff;border:0;width:100%;height:100%;display:block;position:relative}.project-preview-frame p{z-index:0;color:#666;text-align:center;place-items:center;margin:0;padding:30px;font-size:14px;font-weight:500;display:grid;position:absolute;inset:0}.project-preview-frame p a{color:#111;text-underline-offset:3px;text-decoration:underline}@media (max-width:700px){.project-dialog-actions{gap:12px;margin-top:22px}.project-dialog.is-previewing{border-radius:13px;width:calc(100vw - 20px);height:calc(100dvh - 20px)}.project-preview-bar{align-items:flex-start;min-height:0;padding:12px 48px 12px 13px}.project-preview-bar small{display:none}.project-preview-bar>div:last-child{gap:7px}.project-preview-bar button,.project-preview-bar a{min-height:31px;padding:0 9px;font-size:11px}.project-preview-bar button{display:none}}.outcomes{border-top:1px solid var(--line);grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);align-items:start;gap:clamp(34px,7vw,112px);padding-top:clamp(68px,8vw,128px);padding-bottom:clamp(68px,8vw,128px);display:grid}.outcomes-intro{position:sticky;top:118px}.outcomes-intro p{color:#3c3c39;letter-spacing:.02em;text-transform:uppercase;margin:0 0 16px;font:500 10px/1.2 DM Mono,monospace}.outcomes-intro h2{letter-spacing:-.06em;margin:0 0 18px;font-size:clamp(34px,4.1vw,61px);font-weight:500;line-height:.95}.outcomes-intro h2 span{color:#969696}.outcomes-intro>span{color:#686865;letter-spacing:-.025em;max-width:290px;font-size:14px;font-weight:500;line-height:1.45;display:block}.outcomes-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.outcomes-grid article{background:#fbfbfa;border:1px solid #dfdfdc;border-radius:14px;flex-direction:column;align-items:flex-start;min-height:226px;padding:22px 18px;display:flex;box-shadow:0 6px 18px #00000006}.outcomes-grid article>p{color:#8b8b87;margin:0 0 auto;font:500 10px/1 DM Mono,monospace}.outcomes-grid h3{color:#111;letter-spacing:-.045em;margin:30px 0 7px;font-size:18px;font-weight:600;line-height:1}.outcomes-grid b{color:#171717;letter-spacing:-.025em;margin-bottom:9px;font-size:13px;line-height:1.18}.outcomes-grid article>span{color:#646460;letter-spacing:-.015em;font-size:12px;font-weight:500;line-height:1.4}.cf-turnstile{min-height:65px;overflow:hidden}.contact-profile-actions{flex-wrap:wrap;gap:9px;margin-top:21px;display:flex}.contact-profile-actions a{color:#292927;letter-spacing:-.02em;border:1px solid #d9d9d6;border-radius:999px;align-items:center;gap:7px;min-height:34px;padding:0 12px;font-size:12px;font-weight:650;transition:background-color .2s,border-color .2s,transform .2s;display:inline-flex}.contact-profile-actions a:hover{background:#fff;border-color:#aaa;transform:translateY(-2px)}.contact-profile-actions b{font-size:14px;font-weight:500}.project-preview-frame{overflow:hidden}.project-preview-frame .project-preview-notice{z-index:3;color:#151515;text-align:center;background:#fffffdf5;border:1px solid #dededb;border-radius:13px;flex-direction:column;align-items:center;gap:8px;min-width:min(290px,100% - 32px);max-width:380px;padding:17px 20px;font-size:13px;font-weight:500;line-height:1.35;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 34px #0000001c}.project-preview-notice:not(.is-fallback){color:#676763;flex-direction:row;min-width:0}.project-preview-notice i{border:2px solid #d4d4d0;border-top-color:#111;border-radius:50%;width:13px;height:13px;animation:.8s linear infinite preview-spin}.project-preview-notice strong{letter-spacing:-.025em;font-size:15px}.project-preview-notice span{color:#6d6d69}.project-preview-notice a{color:#111;text-underline-offset:3px;margin-top:3px;font-weight:700;text-decoration:underline}.project-preview-frame .project-preview-help{z-index:2;bottom:12px;right:14px;color:#686865;text-align:right;background:#fffffde6;border:1px solid #e2e2df;border-radius:999px;width:max-content;max-width:calc(100% - 28px);margin:0;padding:7px 10px;font-size:11px;font-weight:600;line-height:1.2;display:block;position:absolute;inset:auto 14px 12px auto}.project-preview-frame .project-preview-help a{color:#171717}.project-preview-frame:has(.is-fallback) iframe{opacity:.13;pointer-events:none}@keyframes preview-spin{to{transform:rotate(1turn)}}:where(a,button,input,textarea,iframe):focus-visible{outline-offset:3px;outline:3px solid #2879ff}.project-card:focus-visible{outline-offset:5px}.legal-page{min-height:100vh;padding:clamp(24px, 5vw, 72px) var(--content-inset);background:var(--surface);color:var(--ink)}.legal-back{color:#4f4f4b;letter-spacing:-.025em;margin-bottom:clamp(46px,8vw,110px);font-size:14px;font-weight:650;display:inline-flex}.legal-back:hover{color:#000}.legal-content{width:min(100%,760px)}.legal-kicker{color:#555550;letter-spacing:.03em;text-transform:uppercase;margin:0 0 15px;font:500 10px/1.2 DM Mono,monospace}.legal-content h1{letter-spacing:-.065em;margin:0 0 13px;font-size:clamp(44px,7vw,78px);font-weight:500;line-height:.92}.legal-updated{color:#73736e;margin:0 0 44px;font:500 12px/1.4 DM Mono,monospace}.legal-content>p{color:#30302e;letter-spacing:-.028em;max-width:670px;margin:0 0 44px;font-size:18px;font-weight:500;line-height:1.52}.legal-content section{border-top:1px solid #dededb;padding:23px 0 27px}.legal-content h2{letter-spacing:-.045em;margin:0 0 10px;font-size:21px;font-weight:650}.legal-content section p{color:#555552;letter-spacing:-.018em;max-width:680px;margin:0;font-size:15px;font-weight:500;line-height:1.55}.legal-content section a{color:#121212;text-underline-offset:3px;text-decoration:underline}.cv-page{color:#171717;background:#ececea;min-height:100vh;padding:36px 20px 70px}.cv-actions{justify-content:space-between;width:min(100%,816px);margin:0 auto 16px;display:flex}.cv-actions a{color:#171717;letter-spacing:-.02em;background:#fff;border:1px solid #d0d0cc;border-radius:999px;align-items:center;min-height:38px;padding:0 14px;font-size:13px;font-weight:650;display:inline-flex}.cv-document{background:#fff;width:min(100%,816px);margin:0 auto;padding:56px 60px;font-family:Arial,sans-serif;box-shadow:0 14px 40px #00000017}.cv-header{border-bottom:2px solid #151515;justify-content:space-between;align-items:flex-end;gap:28px;padding-bottom:19px;display:flex}.cv-header h1{letter-spacing:-.06em;margin:0;font-size:36px;line-height:.95}.cv-header p{margin:8px 0 0;font-size:14px;font-weight:600}.cv-header address{color:#444;text-align:right;max-width:338px;font-size:10px;font-style:normal;line-height:1.5}.cv-document a{color:inherit;text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.cv-section{margin-top:23px}.cv-section h2{letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid #1b1b1b;margin:0 0 10px;padding-bottom:4px;font-size:13px;font-weight:800}.cv-section p{margin:0;font-size:11px;line-height:1.43}.cv-role{margin-top:10px}.cv-role>div{justify-content:space-between;gap:16px;font-size:11px;line-height:1.25;display:flex}.cv-role strong{font-size:11.5px}.cv-role em{font-style:italic}.cv-role p{color:#343434;margin:3px 0 0}.cv-project{margin-top:8px}.cv-project a{font-size:11px;font-weight:700}.cv-project p{color:#343434;margin:2px 0 0}.cv-two-column{grid-template-columns:1fr 1fr;gap:32px;display:grid}.cv-two-column .cv-section p+p{margin-top:8px}@media (max-width:800px){.outcomes{grid-template-columns:1fr}.outcomes-intro{position:static}.outcomes-grid{grid-template-columns:1fr}.outcomes-grid article{min-height:0}.outcomes-grid h3{margin-top:36px}.cv-document{padding:35px 27px}.cv-header{display:block}.cv-header address{text-align:left;max-width:none;margin-top:18px}.cv-two-column{grid-template-columns:1fr;gap:0}}@media (max-width:520px){.legal-content>p{font-size:16px}.legal-content section p{font-size:14px}.project-preview-frame .project-preview-help{text-align:center;width:auto;left:10px;right:10px}.cv-page{padding:20px 0 40px}.cv-actions{width:calc(100% - 24px)}.cv-document{padding:30px 22px}.cv-header h1{font-size:31px}.cv-role>div{display:block}.cv-role>div span,.cv-role>div em:last-child{margin-top:2px;display:block}}@media print{.cv-page{background:#fff;padding:0}.cv-actions{display:none}.cv-document{width:100%;box-shadow:none;padding:0}.cv-section,.cv-project{break-inside:avoid}}@media (prefers-reduced-motion:reduce){.project-preview-notice i{animation:none}}
