@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('./assets/fonts/inter-latin-variable.woff2') format('woff2');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('./assets/fonts/space-grotesk-latin-variable.woff2') format('woff2');
}

:root{--ink:#101918;--mint:#baf2d1;--paper:#f3f5f1;--text:#202c28;--muted:#748079;--line:#dce1da;--font:'Inter',Arial,sans-serif;--display:'Space Grotesk',Arial,sans-serif;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--ink);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #5aaf83;outline-offset:5px}button{border:0}button[hidden],[hidden]{display:none!important}::selection{background:var(--mint);color:var(--ink)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:650}h2{font-size:clamp(32px,3.15vw,48px);line-height:1.2;letter-spacing:-1.9px}p{line-height:1.7}.container{width:min(1240px,calc(100% - 112px));margin-inline:auto}.icon{width:21px;height:21px;stroke:currentColor;stroke-width:1.6;fill:none;flex-shrink:0;stroke-linecap:round;stroke-linejoin:round}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.mint{color:var(--mint)}.muted{color:#879188}.mono,.eyebrow{font:10px/1.6 var(--mono);letter-spacing:1.4px}.eyebrow{display:flex;align-items:center;gap:13px;font-weight:500;margin-bottom:24px;color:#526258}.eyebrow.light{color:#a9b5ad}.section-number{color:#6d7e72;font-size:11px}.section-light{background:var(--paper)}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-180%);z-index:30;padding:12px 20px;background:var(--mint);color:var(--ink)}.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:20;background:rgba(16,25,24,.96);color:#f5f7f3;border-bottom:1px solid #ffffff12;backdrop-filter:blur(16px)}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:12px;font-family:var(--display);font-size:15px;font-weight:650;letter-spacing:-.4px}.brand-mark{display:grid;place-content:center;width:34px;height:36px;font-size:36px;line-height:1;letter-spacing:-4px;font-weight:800;color:var(--mint);padding-bottom:7px;padding-right:4px}.brand-mark span{color:var(--mint)}.navigation{display:flex;align-items:center;gap:34px;font-size:12px;color:#c0c9c3}.navigation>a{transition:color .2s}.navigation>a:hover{color:var(--mint)}.navigation .nav-contact{display:flex;align-items:center;gap:18px;color:var(--mint);margin-left:14px}.navigation .nav-contact .icon{width:16px}.menu-toggle{display:none}
.hero{position:relative;overflow:hidden;color:#f2f5ef;background:radial-gradient(ellipse at 83% 47%,#1c302824,transparent 60%)}.hero-main{display:grid;grid-template-columns:1.04fr 1fr;gap:42px;align-items:center;min-height:675px;padding:75px 0 68px}.hero .eyebrow{font-size:9px;letter-spacing:1.25px;margin-bottom:29px;gap:10px}.status-dot{display:inline-block;height:6px;width:6px;flex-shrink:0;background:var(--mint);border-radius:50%;box-shadow:0 0 0 4px #baf2d10a}h1{font-size:clamp(66px,6.7vw,100px);line-height:.99;font-weight:650;letter-spacing:-6px}.hero-tagline{font-size:23px;line-height:1.45;letter-spacing:-.6px;margin-top:30px;color:#d7e1d9}.hero-description{color:#93a39a;font-size:14px;max-width:415px;margin-top:17px;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:49px;padding:14px 22px;font-size:12px;font-weight:650;border-radius:5px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-mint{background:var(--mint);color:var(--ink)}.button-mint:hover{background:#d0f9df}.download-link{display:inline-flex;gap:12px;align-items:center;font-size:11px;line-height:1.7;color:#d0dad3}.download-link .icon{width:16px;height:16px}.download-link:hover{color:var(--mint)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff13;padding:26px 0 28px}.hero-bottom>.mono{color:#7d9185;font-size:8px;letter-spacing:1.4px}.hero-tech{display:flex;gap:33px;color:#b8c6bc;font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:-.3px}.scroll-link{display:flex;align-items:center;gap:16px;font:8px var(--mono);letter-spacing:1.1px;color:#a6b5aa}.scroll-link span{font:20px var(--font);color:var(--mint)}
.architecture{height:480px;position:relative;max-width:550px;width:100%;justify-self:end;isolation:isolate}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#baf2d108 1px,transparent 1px),linear-gradient(90deg,#baf2d108 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(ellipse,#000 5%,transparent 70%)}.orbit{position:absolute;left:50%;top:48%;border:1px solid #baf2d115;border-radius:50%;transform:translate(-50%,-50%);z-index:-1}.orbit-one{width:355px;height:355px}.orbit-two{width:470px;height:470px;border-style:dashed;border-color:#baf2d110}.art-cross{position:absolute;font:16px var(--mono);color:#6d8e7d}.cross-one{top:37px;left:40px}.cross-two{right:20px;bottom:74px}.connections{position:absolute;inset:0;width:100%;height:100%;stroke:#6b9d80;stroke-width:1;stroke-dasharray:4 5;opacity:.65}.connections circle{stroke-dasharray:none;fill:#baf2d1}.architecture-core{position:absolute;width:232px;top:128px;left:50%;transform:translateX(-50%) rotate(-5deg);border:1px solid #baf2d145;border-radius:12px;background:linear-gradient(145deg,#283b31,#182720);box-shadow:18px 22px 50px #0004;padding:19px 22px}.core-top{display:flex;align-items:center;gap:7px;font:6px var(--mono);letter-spacing:1px;color:#b8d4c1;border-bottom:1px solid #baf2d11c;padding-bottom:14px}.tiny-dot{width:4px;height:4px;background:var(--mint);border-radius:50%}.core-icon{width:38px;height:38px;color:var(--mint);margin:22px 0 14px;stroke-width:1.1}.core-name{display:block;font-family:var(--display);color:#b5c4b9;font-size:23px;letter-spacing:-1px;line-height:1.35}.core-name strong{font-weight:550;color:#e1f3e6}.core-bottom{display:block;border-top:1px solid #baf2d11c;padding-top:15px;margin-top:22px;font:8px var(--mono);color:#769684;letter-spacing:.5px}.art-node{display:flex;gap:12px;align-items:center;position:absolute;background:#1a2520;border:1px solid #baf2d12a;border-radius:8px;padding:14px 19px;box-shadow:0 10px 30px #0002}.art-node div{display:flex;flex-direction:column;gap:6px}.art-node small{font:6px var(--mono);letter-spacing:1.3px;color:#8aa293}.art-node strong{font-size:13px;font-weight:500;color:#e0e8e1}.node-symbol{display:flex;align-items:center;justify-content:center;width:29px;height:29px}.react-symbol{font-size:31px;color:#8ebec7}.spring-symbol{color:var(--mint)}.kafka-symbol{color:#dfbd89}.node-react{top:53px;right:10px;transform:rotate(4deg)}.node-spring{left:-5px;top:301px;transform:rotate(-5deg)}.node-kafka{right:-4px;bottom:78px;transform:rotate(5deg)}.art-caption{position:absolute;bottom:23px;width:100%;display:flex;justify-content:center;align-items:center;gap:10px;font:8px var(--mono);letter-spacing:.2px;color:#96a79b}.art-caption .status-dot{height:4px;width:4px;background:#7ba78d}.art-index{position:absolute;right:0;top:9px;color:#6b8575;font:6px var(--mono);letter-spacing:1px}
.projects{padding:99px 0 35px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:43px}.section-intro{color:#6f7a72;font-size:13px;line-height:1.8;padding-bottom:4px}.project-filters{display:flex;align-items:center;gap:7px;margin-bottom:30px;flex-wrap:wrap}.filter{background:transparent;color:#778279;border:1px solid transparent;border-radius:5px;padding:10px 16px;font-size:11px;transition:background .2s,color .2s}.filter:hover{color:var(--ink);background:#e7ece4}.filter.is-active{background:var(--ink);color:#f1f6ef}.filter span{color:#baf2d1;margin-left:12px;font:9px var(--mono)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.project-card{background:#fff;border:1px solid #e0e5dc;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:box-shadow .25s,transform .25s}.project-card:hover{box-shadow:0 12px 32px #14251c08;transform:translateY(-3px)}.project-featured{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr;min-height:354px}.featured-visual{background:#1a2c24;display:flex;flex-direction:column;padding:30px 28px;color:#bfd4c5;position:relative;overflow:hidden}.featured-visual:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#baf2d11b 1px,transparent 1px);background-size:17px 17px}.visual-top,.visual-bottom{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;font:7px var(--mono);letter-spacing:.6px;color:#9fb5a6}.visual-top>span:first-child{display:flex;align-items:center;gap:8px;font-size:9px;color:#d7e9dd;letter-spacing:1px}.visual-top i,.visual-bottom i{display:inline-block;height:4px;width:4px;background:var(--mint);border-radius:50%}.flow{position:relative;display:flex;align-items:center;justify-content:center;flex:1;gap:10px;padding:40px 0}.flow-node{width:128px;min-height:116px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#22392d;border:1px solid #baf2d132;border-radius:7px}.flow-node>.icon{color:#a1bca8;width:25px;height:25px}.flow-node>span{font-size:10px;color:#dae8df}.flow-node small{font:6px var(--mono);color:#9cb3a3;white-space:nowrap}.flow-node-main{background:var(--mint);border-color:var(--mint);box-shadow:0 0 40px #baf2d10d}.flow-node-main>span,.flow-node-main>.icon{color:#1a3526}.flow-node-main small{color:#4a6d56}.flow-arrow{color:#7fa38b;font-size:18px}.visual-bottom{padding-top:18px;border-top:1px solid #baf2d122;letter-spacing:.1px;font-size:7px}.visual-bottom>span{display:flex;gap:7px;align-items:center}.ai-label .icon{width:12px;height:12px;color:var(--mint)}.featured-content{padding:32px 35px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.project-kicker{font:8px var(--mono);color:#738076;letter-spacing:.7px;width:100%;display:flex;justify-content:space-between;gap:9px}.project-kicker span{font-size:8px;color:#89948b;white-space:nowrap}.featured-content h3{font-size:32px;letter-spacing:-1.4px;margin-top:18px}.project-subtitle{font-size:15px!important;color:#405348!important;margin-top:5px!important;line-height:1.5!important}.featured-content>p:not(.project-kicker):not(.project-subtitle){color:#748077;font-size:12px;margin-top:15px;line-height:1.8}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}.tags span{font-size:8px;line-height:1.5;background:#eff3ed;color:#5c6e5e;padding:5px 8px;border-radius:3px}.text-link{background:none;display:inline-flex;gap:15px;align-items:center;padding:0;font-size:11px;font-weight:650;margin-top:25px;color:#263e2e;line-height:1.6}.text-link:hover{color:#518663}.text-link .icon{height:16px;width:16px}.project-visual{height:210px;position:relative;overflow:hidden;padding:23px 25px}.visual-label{font:7px var(--mono);letter-spacing:1.3px;position:relative;z-index:1}.visual-counter{position:absolute;bottom:16px;right:19px;font:6px var(--mono);letter-spacing:1px;opacity:.6}.visual-learn{background:#e4ecdc;color:#51674a}.service-map{margin:16px auto 0;width:230px;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:7px;position:relative}.service-map span{border:1px solid #95ab8566;border-radius:4px;padding:7px 10px;font:7px var(--mono);background:#edf2e7}.service-map .map-top{background:#55724b;color:#fff;border-color:#55724b;padding:9px 21px;z-index:1}.service-map i{width:1px;height:9px;background:#95ab85;margin:-7px 0}.service-map>div{display:flex;gap:8px}.service-map small{font:5px var(--mono);letter-spacing:1.8px;margin-top:7px}.visual-care{background:#e5ecef;color:#5c7881}.care-art{position:relative;max-width:250px;display:flex;gap:22px;margin:26px auto 0;align-items:center}.medical-cross{font:80px/1 var(--display);font-weight:400;color:#5e8c9a;margin-top:-13px}.care-lines{display:flex;flex-direction:column;gap:7px;flex:1}.care-lines span{font:8px var(--mono);padding:7px 12px;background:#f1f5f6;border:1px solid #a4b9c23d;border-radius:3px}.care-art>svg{position:absolute;width:100%;height:40px;bottom:-38px;left:0;stroke:#7ba0a9;stroke-width:1.2;fill:none}.visual-nutrition{background:#f2e9dc;color:#907350}.nutrition-art{display:flex;align-items:center;gap:15px;justify-content:center;margin-top:29px}.scan-frame{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:75px;height:83px;border:1px dashed #b9a076;border-radius:8px;gap:10px;background:#f8f3ea}.scan-frame>.icon{height:28px;width:28px;stroke-width:1;color:#9d7d4f}.scan-frame span{font:7px var(--mono)}.nutrition-arrow{color:#a58d6a}.nutrition-result{display:flex;flex-direction:column;gap:12px}.nutrition-result>span{font:12px var(--mono);letter-spacing:-.4px}.nutrition-result i{height:3px;width:90px;background:linear-gradient(90deg,#9a8762 70%,#d6cab4 70%);border-radius:4px}.nutrition-result small{font:6px var(--mono)}.card-content{padding:24px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.card-content h3{font-size:22px;letter-spacing:-.8px;margin-top:16px;width:100%;display:flex;justify-content:space-between;align-items:center}.project-title-icon{width:19px;height:19px;color:#a3ada2}.card-content>p:not(.project-kicker){font-size:12px;line-height:1.85;color:#788279;margin-top:13px;flex:1}.card-content .tags{margin-top:20px}.card-content .text-link{margin-top:24px}.projects-footer{border-top:1px solid var(--line);margin-top:38px;padding-top:26px;display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:10px;color:#849083;line-height:1.7}.projects-footer>a{display:flex;gap:14px;align-items:center;color:#324d39}.projects-footer .icon{width:15px;height:15px}
.expertise{background:var(--paper);padding:84px 0 95px}.expertise .section-heading{margin-bottom:42px}.expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}.expertise-item{border-top:1px solid #cfd7cb;padding-top:25px}.expertise-icon{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;color:#45614b}.expertise-icon>.icon{height:27px;width:27px;stroke-width:1.2}.expertise-icon>span{font:9px var(--mono);color:#94a18f}.expertise-item h3{font-size:18px;letter-spacing:-.6px}.expertise-item>p{color:#768071;font-size:12px;line-height:1.85;margin-top:13px;min-height:67px;max-width:330px}.skill-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}.skill-list span{font-size:9px;line-height:1.5;color:#596a55;padding:7px 9px;border:1px solid #d9e0d3;border-radius:3px}
.journey{padding:100px 0;color:#e4eae2;background:linear-gradient(115deg,#14211b,#101918 65%)}.journey-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:95px}.journey h2{font-size:clamp(34px,3.5vw,49px);line-height:1.2}.journey-intro>p:not(.eyebrow){color:#8e9e91;font-size:13px;margin-top:27px;max-width:300px}.journey-intro>.download-link{margin-top:29px;font-size:11px;color:#b6c9b9}.location-note{margin-top:80px;padding-top:24px;border-top:1px solid #ffffff12;display:flex;align-items:center;gap:9px;font-size:10px;max-width:300px;color:#7e9584}.location-note>.icon{width:15px;height:15px}.timeline{border-left:1px solid #baf2d129;padding-left:34px}.timeline-item{position:relative;padding-bottom:33px;margin-bottom:31px;border-bottom:1px solid #ffffff13}.timeline-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.timeline-item:before{content:'';position:absolute;width:7px;height:7px;background:#607c68;border:5px solid var(--ink);box-sizing:content-box;left:-43px;top:-2px;border-radius:50%}.timeline-item:first-child:before{background:var(--mint)}.timeline-date{font:8px var(--mono);letter-spacing:.7px;color:#9aaa9b;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.timeline-date>span{font-size:6px;letter-spacing:.5px;color:#bdd4c1;border:1px solid #baf2d12b;padding:4px 6px;border-radius:3px}.timeline-item h3{font-size:22px;letter-spacing:-.7px;margin-top:14px}.company{font-size:12px;color:#b2c5b5;margin-top:7px}.timeline-item>p:not(.company){font-size:12px;line-height:1.9;color:#91a092;margin-top:13px}.timeline-tags{font:8px var(--mono);color:#91ab97;margin-top:17px;display:flex;gap:11px;flex-wrap:wrap}.timeline-tags span{color:#506a56}
.education{padding:92px 0 81px}.education-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:95px}.education h2{font-size:37px;letter-spacing:-1.7px}.degree{margin-bottom:25px;border-bottom:1px solid var(--line);padding-bottom:25px}.degree:last-child{margin:0}.degree>.mono{font-size:9px;letter-spacing:.7px;color:#7d8d78}.degree h3{font-size:18px;letter-spacing:-.5px;margin-top:11px}.degree p{font-size:12px;color:#7b8876;margin-top:8px}.credentials{display:grid;grid-template-columns:1fr 1.15fr;gap:95px;margin-top:50px;padding-top:35px;border-top:1px solid var(--line)}.credentials .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:22px}.certificate{display:flex;align-items:flex-start;gap:10px;margin-top:18px}.certificate>.icon{width:16px;height:16px;color:#647c59;margin-top:1px}.certificate>div{display:flex;flex-direction:column;gap:7px}.certificate strong{font-size:11px;font-weight:550;line-height:1.6}.certificate span{font-size:10px;color:#8c9888}.languages>div{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}.languages strong{font-weight:500}.languages>div>span{font-size:10px;color:#7e8d78}
.contact{position:relative;padding:75px 0 0;color:#edf3e9;overflow:hidden}.contact-top{display:flex;justify-content:space-between;align-items:center}.contact-top>.eyebrow{margin-bottom:25px}.contact-star{font-size:75px;line-height:1;color:var(--mint);padding-right:20px;font-family:Arial,sans-serif}.contact h2{font-size:clamp(45px,6vw,82px);line-height:1.1;letter-spacing:-3.8px}.contact-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:31px;gap:25px}.contact-bottom>p{color:#94a492;font-size:13px;line-height:1.8}.contact-bottom>.button{padding-inline:27px;min-width:180px}.contact-details{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:31px 0;margin-top:54px;border-top:1px solid #ffffff16;border-bottom:1px solid #ffffff16}.email-link{font-family:var(--display);display:flex;align-items:center;gap:16px;font-size:17px;color:#c7d8c8;letter-spacing:-.3px}.email-link>.icon{width:16px;height:16px}.email-link:hover{color:var(--mint)}.social-links{display:flex;gap:25px}.social-links>a{display:flex;gap:8px;align-items:center;color:#a0b39f;font-size:10px}.social-links .icon{width:13px;height:13px}.social-links>a:hover{color:var(--mint)}.site-footer{padding:27px 0;color:#e2eadc}.site-footer>.container{display:flex;align-items:center;justify-content:space-between;gap:20px}.site-footer .brand{font-size:11px;gap:9px}.site-footer .brand-mark{font-size:26px;width:25px;height:27px;letter-spacing:-3px}.site-footer p,.site-footer>.container>a:last-child{font-size:9px;color:#7b8d77;line-height:1.7}
dialog{width:min(650px,calc(100% - 32px));max-height:calc(100dvh - 48px);border:1px solid #d6dfd1;border-radius:12px;padding:0;background:var(--paper);color:var(--text);box-shadow:0 30px 100px #0005;overscroll-behavior:contain}dialog::backdrop{background:#07110bd6;backdrop-filter:blur(6px)}.dialog-inner{padding:47px;position:relative}.dialog-close{display:grid;place-items:center;position:absolute;right:15px;top:15px;width:34px;height:34px;background:#e3e9df;border-radius:50%}.dialog-close:hover{background:#d6e0d0}.dialog-inner>.eyebrow{font-size:8px;letter-spacing:.8px;margin-bottom:17px;padding-right:20px}.dialog-inner h2{font-size:37px}.dialog-description{font-size:14px;line-height:1.9;color:#61715b;margin-top:18px}.dialog-inner h3{font-size:16px;margin-top:26px;letter-spacing:-.4px}.dialog-inner ul{padding-left:18px;font-size:12px;line-height:1.9;color:#61715b}.dialog-inner li+li{margin-top:10px}.dialog-inner .tags{margin-top:25px}.button-dark{background:var(--ink);color:var(--mint);margin-top:29px;font-size:11px}.dialog-note{font-size:11px;color:#7b8675;margin-top:25px;border-top:1px solid var(--line);padding-top:17px}.dialog-open{overflow:hidden}
.brand-mark{display:inline-flex;align-items:baseline;justify-content:center;white-space:nowrap}
@media(min-width:1500px){.hero-main{min-height:740px}.hero{background:radial-gradient(ellipse at 78% 50%,#24452c26,transparent 55%)}}
@media(max-width:1100px){.container{width:calc(100% - 72px)}.hero-main{gap:10px;grid-template-columns:1.07fr 1fr;min-height:640px}.hero h1{font-size:78px;letter-spacing:-5px}.hero-actions{gap:20px;flex-wrap:wrap}.hero .eyebrow{font-size:8px}.architecture{transform:scale(.88);transform-origin:center right;width:440px;max-width:none;margin-left:-50px}.hero-tech{gap:22px;font-size:12px}.hero-bottom>.mono{display:none}.hero-tagline{font-size:21px}.section-heading h2{font-size:36px}.section-intro{font-size:12px}.project-featured{grid-template-columns:1.05fr 1fr}.featured-visual{padding-inline:20px}.flow{gap:7px}.flow-node{width:110px;min-height:110px}.flow-node small{font-size:5px}.featured-content{padding:27px}.project-grid{gap:17px}.project-visual{padding:21px;height:195px}.card-content{padding:21px}.project-kicker{font-size:7px;letter-spacing:.2px}.project-kicker span{font-size:7px}.card-content h3{font-size:20px}.expertise-grid{gap:26px}.expertise-item h3{font-size:16px}.journey-layout,.education-grid,.credentials{gap:55px}.timeline-date{gap:9px}.journey h2{font-size:37px}.education h2{font-size:33px}.email-link{font-size:15px}.social-links{gap:18px}}
@media(max-width:800px){.container{width:calc(100% - 48px)}.header-inner{height:76px}.navigation{gap:21px}.navigation .nav-contact{margin-left:0;gap:9px}.brand-surname{display:none}.hero-main{padding:60px 0;min-height:590px;grid-template-columns:1.2fr 1fr;gap:0}.hero h1{font-size:67px;letter-spacing:-4px}.hero .eyebrow{max-width:300px;font-size:7px;letter-spacing:.6px}.hero-tagline{font-size:19px}.hero-description{font-size:12px;max-width:300px}.hero-actions{flex-direction:column;align-items:flex-start;gap:20px;margin-top:26px}.architecture{transform:scale(.67);width:420px;margin-left:-150px;transform-origin:center right}.hero-tech{gap:21px}.projects{padding-top:75px}.section-heading{align-items:flex-start;flex-direction:column;gap:23px;margin-bottom:31px}.section-heading h2{font-size:35px}.section-intro br{display:none}.section-intro{max-width:360px}.project-featured{grid-template-columns:1fr 1fr}.flow{flex-direction:column;gap:7px;padding:20px 0}.flow-node{min-height:66px;width:160px;gap:6px;position:relative;align-items:flex-start;padding-left:46px}.flow-node>.icon{position:absolute;left:14px;top:20px;width:20px;height:20px}.flow-node>span{font-size:10px}.flow-node small{font-size:6px}.flow-arrow{transform:rotate(90deg);font-size:14px}.visual-top>span:last-child{display:none}.visual-bottom{flex-direction:column;align-items:flex-start;gap:12px}.project-grid{grid-template-columns:1fr 1fr}.project-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.project-card:last-child>.project-visual{height:100%;min-height:270px;display:flex;flex-direction:column;justify-content:center}.project-card:last-child .nutrition-art{gap:16px}.project-card:last-child .visual-label{position:absolute;top:23px}.project-card:last-child .nutrition-art{margin:0}.project-card:last-child .scan-frame{width:75px;height:90px}.project-card:last-child .nutrition-result>span{font-size:11px}.project-card:last-child .nutrition-result small{font-size:6px}.card-content{padding:24px}.expertise{padding:65px 0 75px}.expertise-grid{gap:25px}.expertise-item h3{line-height:1.5}.expertise-item>p{min-height:110px;font-size:11px}.journey{padding:75px 0}.journey-layout{grid-template-columns:1fr;gap:48px}.journey-intro>p:not(.eyebrow){max-width:430px}.journey-intro .download-link{margin-top:20px}.location-note{display:none}.timeline{margin-left:6px}.timeline-item>p:not(.company){max-width:550px}.education-grid{grid-template-columns:1fr;gap:32px}.education h2{font-size:34px}.education h2 br{display:none}.credentials{grid-template-columns:1.2fr 1fr;gap:40px}.contact-details{align-items:flex-start;flex-direction:column;gap:22px}.email-link{font-size:19px}.social-links{gap:25px}.contact{padding-top:55px}.contact-star{font-size:60px}.contact .eyebrow{font-size:8px}.contact h2{font-size:60px;letter-spacing:-2.5px}.contact-bottom>p{font-size:12px}.contact-bottom>.button{min-width:160px}.site-footer .brand>span:last-child{display:none}}
@media(max-width:560px){html{scroll-padding-top:80px}.container{width:calc(100% - 40px)}.header-inner{height:70px}.brand{font-size:14px}.brand-surname{display:inline}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:40px;height:40px;padding:9px;background:none;border:1px solid #ffffff24;border-radius:5px;color:var(--mint)}.menu-toggle span{width:20px;height:1px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.navigation{display:none;position:absolute;top:70px;left:0;right:0;padding:22px 20px 27px;background:#14211b;border-bottom:1px solid #baf2d12b;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 20px 30px #0003;font-size:14px}.navigation.is-open{display:flex}.navigation>a{padding:14px 7px}.navigation .nav-contact{margin-top:8px;justify-content:space-between;border-top:1px solid #ffffff16}.hero-main{grid-template-columns:1fr;gap:0;padding:44px 0 24px;min-height:0}.hero .eyebrow{font-size:7px;letter-spacing:.7px;margin-bottom:26px;max-width:none}.hero h1{font-size:clamp(60px,15.4vw,86px);letter-spacing:-4px;line-height:1.04}.hero-tagline{font-size:20px;margin-top:24px}.hero-description{font-size:13px;line-height:1.8;margin-top:16px;max-width:360px}.hero-actions{flex-direction:row;align-items:center;gap:19px;margin-top:27px;flex-wrap:wrap}.button{min-height:47px;font-size:11px;padding:13px 17px;gap:21px}.download-link{font-size:10px}.hero-actions>.download-link{gap:8px}.hero-actions .button .icon{height:18px;width:18px}.architecture{width:100%;max-width:440px;height:410px;transform:none;transform-origin:center;margin:22px auto -2px;justify-self:center}.orbit-one{width:270px;height:270px;top:49%}.orbit-two{width:350px;height:350px;top:49%}.architecture-core{width:194px;top:100px;padding:17px 19px}.core-top{font-size:5px;padding-bottom:12px;letter-spacing:.6px}.core-icon{margin:18px 0 11px;width:31px;height:31px}.core-name{font-size:21px}.core-bottom{font-size:6px;padding-top:13px;margin-top:17px}.art-node{padding:11px 13px;gap:9px;border-radius:6px}.art-node strong{font-size:11px}.art-node small{font-size:5px;letter-spacing:.7px}.node-react{top:35px;right:11px}.node-spring{left:0;top:263px}.node-kafka{right:0;bottom:62px}.node-symbol{width:23px;height:23px}.react-symbol{font-size:27px}.node-symbol>.icon{height:19px;width:19px}.art-caption{bottom:10px;font-size:7px}.art-index{top:9px;right:13px;font-size:5px}.cross-one{top:38px;left:23px}.cross-two{bottom:64px;right:24px}.hero-bottom{padding:22px 0;display:block}.hero-tech{display:flex;justify-content:space-between;gap:13px;flex-wrap:wrap;font-size:10px}.scroll-link{display:none}.projects{padding:59px 0 29px}.eyebrow{font-size:8px;letter-spacing:.8px;gap:9px;margin-bottom:21px}.section-number{font-size:9px}.section-heading h2{font-size:30px;letter-spacing:-1.4px;line-height:1.24}.section-heading{gap:21px;margin-bottom:27px}.section-intro{font-size:12px;line-height:1.8;max-width:330px}.project-filters{gap:2px;margin-bottom:22px}.filter{font-size:9px;padding:9px 10px;white-space:nowrap}.filter span{font-size:7px;margin-left:6px}.project-grid{grid-template-columns:1fr;gap:21px}.project-featured{grid-template-columns:1fr}.featured-visual{min-height:245px;padding:23px 20px}.visual-top>span:last-child{display:inline;font-size:5px}.flow{flex-direction:row;gap:7px;padding:32px 0}.flow-node{width:93px;min-height:100px;align-items:center;padding:14px 4px;gap:10px}.flow-node>.icon{position:static;height:23px;width:23px}.flow-node>span{font-size:8px}.flow-node small{font-size:4.5px}.flow-arrow{transform:none;font-size:14px}.visual-bottom{flex-direction:row;align-items:center;font-size:6px;padding-top:15px;gap:8px}.ai-label .icon{width:10px;height:10px}.featured-content{padding:26px 24px 29px}.featured-content h3{font-size:30px;margin-top:20px}.featured-content>p:not(.project-kicker):not(.project-subtitle){font-size:12px}.project-kicker{font-size:7px;letter-spacing:.5px}.project-kicker span{font-size:7px}.project-visual{height:220px;padding:24px}.card-content{padding:25px}.card-content h3{font-size:24px}.card-content>p:not(.project-kicker){font-size:12px}.project-card:last-child{display:flex;grid-column:auto}.project-card:last-child>.project-visual{height:220px;min-height:0;display:block}.project-card:last-child .visual-label{position:static}.project-card:last-child .nutrition-art{margin-top:29px;gap:23px}.project-card:last-child .scan-frame{width:85px;height:88px}.project-card:last-child .nutrition-result>span{font-size:13px}.project-card:last-child .nutrition-result small{font-size:7px}.service-map{margin-top:23px}.service-map span{font-size:8px}.service-map small{font-size:6px}.care-art{margin-top:30px}.projects-footer{margin-top:27px;padding-top:23px;flex-direction:column;align-items:flex-start;gap:12px;font-size:10px}.expertise{padding:42px 0 62px}.expertise .section-heading{margin-bottom:29px}.expertise-grid{grid-template-columns:1fr;gap:33px}.expertise-item{padding-top:22px}.expertise-icon{margin-bottom:20px}.expertise-item h3{font-size:20px;letter-spacing:-.5px}.expertise-item>p{font-size:12px;min-height:0;max-width:none;line-height:1.9;margin-top:12px}.skill-list{margin-top:19px;gap:7px}.skill-list span{font-size:9px;padding:7px 9px}.journey{padding:61px 0}.journey-layout{gap:40px}.journey h2{font-size:36px}.journey-intro>p:not(.eyebrow){font-size:12px;margin-top:21px}.timeline{padding-left:25px;margin-left:3px}.timeline-item:before{left:-34px}.timeline-date{font-size:7px;gap:10px}.timeline-date>span{font-size:5px;padding:4px}.timeline-item h3{font-size:21px;line-height:1.4;margin-top:12px}.company{font-size:11px}.timeline-item>p:not(.company){font-size:11px;line-height:1.9}.timeline-tags{font-size:7px;gap:8px;line-height:1.8}.education{padding:58px 0}.education h2{font-size:31px;line-height:1.3;letter-spacing:-1.3px}.education-grid{gap:30px}.degree h3{font-size:17px;line-height:1.5}.degree p{font-size:11px}.degree>.mono{font-size:8px}.credentials{grid-template-columns:1fr;gap:35px;margin-top:34px;padding-top:29px}.certificate strong{font-size:11px}.credentials .eyebrow{margin-bottom:18px}.languages>div{padding-block:12px}.contact{padding-top:48px}.contact-top>.eyebrow{font-size:7px;letter-spacing:.3px;margin-bottom:22px}.contact-star{font-size:41px;padding-right:0;margin-top:-17px}.contact h2{font-size:46px;letter-spacing:-2.2px;line-height:1.15}.contact-bottom{flex-direction:column;align-items:flex-start;gap:25px;margin-top:23px}.contact-bottom>p{font-size:11px;line-height:1.9}.contact-details{margin-top:35px;padding-block:25px;gap:21px}.email-link{font-size:clamp(12px,3.7vw,17px);gap:10px;letter-spacing:-.5px}.email-link>.icon{width:14px;height:14px}.social-links{gap:28px;font-size:10px}.site-footer{padding:23px 0}.site-footer>.container{gap:8px}.site-footer p,.site-footer>.container>a:last-child{font-size:7px}.site-footer .brand-mark{width:18px;font-size:24px}.dialog-inner{padding:42px 25px 30px}.dialog-inner h2{font-size:31px;letter-spacing:-1px}.dialog-description{font-size:12px}.dialog-inner ul{font-size:11px}.dialog-inner>.eyebrow{font-size:7px}.dialog-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Creative direction and interactive details. */
:root {
  --mint: #d4f58b;
  --lilac: #bda6f5;
  --coral: #f0b097;
}
.reading-progress {
  position: fixed;
  inset: 0 0 auto;
  height: 3px;
  z-index: 50;
  background: linear-gradient(90deg, var(--mint), var(--lilac));
  transform: scaleX(var(--reading-progress, 0));
  transform-origin: left;
  pointer-events: none;
}
.motion-toggle {
  position: fixed;
  right: 20px;
  bottom: 18px;
  z-index: 25;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 14px;
  border: 1px solid #bda6f540;
  border-radius: 30px;
  background: #18221ef2;
  color: #e0e7d9;
  font-size: 10px;
  box-shadow: 0 4px 18px #0002;
  backdrop-filter: blur(12px);
}
.motion-indicator { color: var(--mint); font-size: 12px; }
.motion-toggle:disabled { cursor: default; }
.site-header { transition: background .3s, border-color .3s; }
.site-header.is-scrolled { border-color: #d4f58b30; background: #101918f5; }
.navigation a[aria-current="location"] { color: var(--mint); }
.hero {
  isolation: isolate;
  background: radial-gradient(ellipse at 76% 46%, #bda6f511, transparent 54%), #101918;
}
.hero::before {
  content: '';
  position: absolute;
  width: 450px;
  height: 450px;
  left: -340px;
  top: 120px;
  border: 1px solid #d4f58b17;
  border-radius: 50%;
  pointer-events: none;
}
.hero-main { min-height: 720px; padding: 65px 0 54px; gap: 36px; }
.hero .eyebrow { margin-bottom: 28px; color: #adbaa7; }
.hero-pretitle {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 13px;
  color: #899d8a;
  font: 9px var(--mono);
  letter-spacing: 1.8px;
}
.hero-pretitle > span { color: var(--lilac); letter-spacing: 0; font-size: 11px; }
.hero h1 { font-weight: 750; letter-spacing: -6px; line-height: 1.01; }
.hero-surname {
  color: var(--mint);
  background: linear-gradient(110deg, #e1f9b4 12%, #c8ec8e 52%, #bda6f5 100%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hero-period { color: var(--lilac); }
.hero-tagline { font-size: 25px; margin-top: 27px; line-height: 1.4; }
.hero-tagline > span { color: var(--lilac); }
.hero-description { max-width: 390px; }
.hero-actions { margin-top: 29px; }
.button { position: relative; overflow: hidden; transition: transform .25s, box-shadow .25s, background .25s; }
.button > .icon { transition: transform .25s; }
.button:hover > .icon { transform: translateX(4px); }
.button-mint:hover { background: #e0fba8; box-shadow: 0 8px 35px #d4f58b20; }
.hero-bottom { padding-block: 25px; }
.hero-tech > span { transition: color .2s, transform .2s; }
.hero-tech > span:hover { color: var(--lilac); transform: translateY(-3px); }
.architecture {
  --stage-accent: #d4f58b;
  --stage-tint: #d4f58b10;
  width: 100%;
  height: auto;
  max-width: 510px;
  margin: 0;
  transform: none;
}
.architecture[data-mode="fullstack"] { --stage-accent: #bda6f5; --stage-tint: #bda6f515; }
.architecture[data-mode="ai"] { --stage-accent: #f0b097; --stage-tint: #f0b09714; }
.stage-heading {
  display: flex;
  justify-content: space-between;
  padding: 0 8px;
  font: 8px var(--mono);
  letter-spacing: 1.5px;
  color: #8d9e8b;
}
.stage-label { display: flex; gap: 9px; align-items: center; }
.stage-label::before { content: ''; width: 5px; height: 5px; background: var(--stage-accent); border-radius: 50%; }
.stage-counter { color: var(--stage-accent); }
.architecture-stage {
  position: relative;
  height: 433px;
  isolation: isolate;
  transform: perspective(1000px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));
  transition: transform .25s ease-out;
}
.stage-glow {
  position: absolute;
  width: 80%;
  height: 80%;
  left: 10%;
  top: 10%;
  background: radial-gradient(ellipse, var(--stage-tint), transparent 70%);
  filter: blur(15px);
  transition: background .5s;
  pointer-events: none;
}
.architecture .art-grid { opacity: .8; }
.architecture .orbit { left: 50%; top: 49%; border-color: #d4f58b18; }
.architecture .orbit-one { width: 330px; height: 330px; }
.architecture .orbit-two { width: 420px; height: 420px; border-style: solid; border-color: #bda6f518; }
.orbital-dot {
  position: absolute;
  left: 50%;
  top: 49%;
  width: 330px;
  height: 330px;
  margin: -165px 0 0 -165px;
  border-radius: 50%;
  animation: orbit-turn 26s linear infinite;
  pointer-events: none;
}
.orbital-dot::before { content: ''; position: absolute; top: -3px; left: 50%; width: 7px; height: 7px; border-radius: 50%; background: var(--stage-accent); box-shadow: 0 0 19px var(--stage-accent); }
.architecture .connections { stroke: var(--stage-accent); opacity: .45; animation: signal-flow 3s linear infinite; }
.architecture .connections circle { fill: var(--stage-accent); }
.architecture .architecture-core {
  top: 88px;
  width: 235px;
  border-radius: 18px;
  border-color: #d4f58b3b;
  background: linear-gradient(150deg, #26362c, #1a241f);
  padding: 20px 23px;
  box-shadow: 14px 20px 0 #bda6f507, 25px 35px 65px #0003;
  animation: core-float 7s ease-in-out infinite;
  transition: border-color .4s;
}
.core-top { font-size: 6px; letter-spacing: .6px; }
.core-monogram { display: block; font: 800 93px/.9 var(--display); color: var(--stage-accent); letter-spacing: -10px; padding: 13px 0 17px; transition: color .4s; }
.core-monogram > span { color: #bda6f5; }
.architecture[data-mode="fullstack"] .core-monogram > span { color: var(--mint); }
.architecture .core-name { font-size: 23px; letter-spacing: -.9px; }
.architecture .core-name strong { color: var(--stage-accent); font-weight: 600; transition: color .4s; }
.architecture .core-bottom { color: #8a9f83; margin-top: 17px; }
.architecture .art-node { background: #202b24; border-color: #ffffff1c; padding: 13px 16px; animation: node-float 6s ease-in-out infinite; }
.architecture .art-node strong { font-size: 13px; }
.architecture .node-symbol { color: var(--stage-accent); transition: color .4s; }
.architecture .node-react { top: 40px; right: 3px; }
.architecture .node-spring { top: 278px; left: 0; animation-delay: -2s; }
.architecture .node-kafka { right: 0; bottom: 18px; animation-delay: -4s; }
.stage-coordinate { position: absolute; bottom: 19px; left: 18px; font: 6px var(--mono); letter-spacing: 1.5px; color: #7a8c73; }
.stage-controls { display: flex; justify-content: center; gap: 6px; margin-top: 13px; }
.stage-option { border: 1px solid #ffffff14; border-radius: 6px; padding: 10px 15px; font-size: 11px; color: #a4b29e; background: #ffffff03; transition: color .2s, background .2s, border-color .2s, transform .2s; }
.stage-option > span { margin-right: 9px; font: 7px var(--mono); opacity: .65; }
.stage-option:hover { background: #ffffff08; transform: translateY(-2px); }
.stage-option.is-active { color: var(--stage-accent); border-color: var(--stage-accent); background: var(--stage-tint); }
.stage-caption { min-height: 28px; text-align: center; font-size: 10px; color: #8fa185; margin-top: 15px; line-height: 1.7; }
.creative-ribbon { position: relative; z-index: 1; overflow: hidden; padding: 19px 0; background: var(--mint); color: #23351b; border-top: 1px solid #e2ffb9; border-bottom: 1px solid #b6d879; }
.ribbon-track { display: flex; width: max-content; animation: ribbon-scroll 36s linear infinite; }
.ribbon-track > span { display: flex; align-items: center; gap: 40px; padding-right: 40px; white-space: nowrap; font: 650 18px var(--display); letter-spacing: -.5px; }
.ribbon-track i { font-style: normal; font-size: 28px; line-height: 1; color: #4d6735; }
.projects { padding-top: 90px; }
.section-heading h2 { font-weight: 650; }
.section-heading .muted { color: #87967b; }
.project-card {
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  position: relative;
  transform: perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transition: transform .3s ease-out, box-shadow .3s, border-color .3s;
}
.project-card:hover { transform: perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-5px); border-color: #afc0a1; box-shadow: 0 18px 38px #20311912; }
.featured-visual, .project-visual { position: relative; }
.featured-visual .visual-art { flex: 1; display: flex; flex-direction: column; }
.visual-art { height: 100%; }
.visual-open { position: absolute; inset: 0; z-index: 3; background: transparent; cursor: pointer; }
.visual-open > span {
  position: absolute;
  right: 17px;
  bottom: 17px;
  display: inline-flex;
  align-items: center;
  background: #17231e;
  color: #e9f6da;
  padding: 11px 15px;
  border-radius: 25px;
  font: 8px var(--mono);
  letter-spacing: .8px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .2s, transform .2s;
}
.visual-open:hover > span, .visual-open:focus-visible > span { opacity: 1; transform: translateY(0); }
.visual-open:focus-visible { outline-offset: -5px; border-radius: 8px; }
.visual-learn { background: #e5ddf5; color: #79618e; }
.visual-learn .service-map span { border-color: #ab91c655; background: #f4eefb; color: #79618e; transition: transform .3s; }
.visual-learn .service-map .map-top { background: #80629d; border-color: #80629d; color: white; }
.visual-learn .service-map i { background: #aa8dc6; }
.project-card:hover .service-map > div:nth-of-type(1) span { transform: translateY(-3px); }
.project-card:hover .service-map > div:nth-of-type(2) span { transform: translateY(3px); }
.visual-care { background: #dcebe6; color: #5f8e7e; }
.visual-care .medical-cross { color: #5f9a83; }
.visual-care .care-art > svg { stroke: #6b9f8e; stroke-dasharray: 350; stroke-dashoffset: 0; }
.project-card:hover .care-art > svg { animation: heartbeat-draw 2.4s ease-in-out infinite; }
.visual-nutrition { background: #f3dece; color: #9b7156; }
.scan-frame { overflow: hidden; }
.scan-frame::after { content: ''; position: absolute; top: -2px; left: 0; width: 100%; height: 2px; background: #ba8657; box-shadow: 0 0 15px #ba865755; opacity: 0; }
.project-card:hover .scan-frame::after { opacity: .6; animation: nutrition-scan 2s ease-in-out infinite; }
.project-card .text-link .icon { transition: transform .25s; }
.project-card:hover .text-link .icon { transform: translate(3px, -3px); }
.flow-node { transition: transform .3s, box-shadow .3s; }
.project-featured:hover .flow-node-main { transform: translateY(-6px); box-shadow: 0 12px 25px #d4f58b18; }
.expertise-icon > .icon { transition: transform .35s, color .35s; }
.expertise-item:hover .expertise-icon > .icon { transform: rotate(-12deg) scale(1.12); color: #86709f; }
.expertise-item:hover .expertise-icon > span { color: #86709f; }
.skill-list span { transition: background .2s, border-color .2s, transform .2s; }
.skill-list span:hover { background: #e5ddf5; border-color: #c6b1dc; transform: translateY(-2px); }
.timeline-item::before { transition: box-shadow .3s, background .3s; }
.timeline-item:hover::before { background: var(--lilac); box-shadow: 0 0 0 4px #bda6f515; }
.timeline-item:hover h3 { color: var(--mint); }
.contact { padding-bottom: 45px; background: radial-gradient(ellipse at 90% 70%, #bda6f50d, transparent 60%); }
.contact-star { color: var(--lilac); animation: orbit-turn 24s linear infinite; padding: 0; margin-right: 20px; }
.contact h2 .mint { color: var(--mint); }
.contact-details { position: relative; z-index: 1; }
.contact::after { content: 'LET’S BUILD.'; display: block; margin: 42px auto -80px; text-align: center; font: 800 clamp(70px, 13vw, 190px)/1 var(--display); letter-spacing: -8px; color: transparent; -webkit-text-stroke: 1px #d4f58b18; white-space: nowrap; pointer-events: none; }
.site-footer { position: relative; padding-bottom: 65px; background: #101918; }
.reveal-pending { opacity: 0; translate: 0 24px; }
.is-revealed { opacity: 1; translate: 0 0; transition: opacity .7s ease, translate .7s cubic-bezier(.16,1,.3,1), transform .3s ease-out, box-shadow .3s; }
body[data-motion="reduced"] *, body[data-motion="reduced"] *::before, body[data-motion="reduced"] *::after { animation-play-state: paused !important; scroll-behavior: auto !important; }
body[data-motion="reduced"] .reveal-pending { opacity: 1; translate: none; }
body[data-motion="reduced"] .project-card, body[data-motion="reduced"] .architecture-stage { transform: none !important; }
body[data-motion="reduced"] .is-revealed { transition: none; }
@keyframes orbit-turn { to { transform: rotate(360deg); } }
@keyframes signal-flow { to { stroke-dashoffset: -27; } }
@keyframes core-float { 0%,100% { transform: translateX(-50%) rotate(-5deg); } 50% { transform: translate(-50%, -9px) rotate(-3deg); } }
@keyframes node-float { 0%,100% { translate: 0 0; } 50% { translate: 0 -7px; } }
@keyframes ribbon-scroll { to { transform: translateX(-50%); } }
@keyframes heartbeat-draw { 0% { stroke-dashoffset: 350; } 65%,100% { stroke-dashoffset: 0; } }
@keyframes nutrition-scan { 50%,100% { top: 100%; } }
@media (max-width: 1100px) {
  .hero-main { gap: 25px; min-height: 700px; }
  .hero h1 { font-size: 75px; letter-spacing: -4.6px; }
  .hero-tagline { font-size: 22px; }
  .architecture { width: 100%; max-width: 450px; margin: 0; transform: none; }
  .architecture-stage { height: 405px; }
  .architecture .orbit-two { width: 360px; height: 360px; }
  .architecture .orbit-one, .orbital-dot { width: 290px; height: 290px; }
  .orbital-dot { margin: -145px 0 0 -145px; }
  .architecture .architecture-core { top: 78px; width: 205px; padding: 18px; }
  .architecture .core-name { font-size: 20px; }
  .architecture .art-node { padding: 11px 12px; gap: 8px; }
  .architecture .art-node strong { font-size: 11px; }
  .architecture .node-spring { top: 266px; }
  .stage-option { padding: 9px 12px; font-size: 10px; }
  .stage-option > span { margin-right: 6px; }
  .stage-caption { font-size: 9px; }
}
@media (max-width: 800px) {
  .hero-main { grid-template-columns: 1.1fr 1fr; gap: 20px; min-height: 660px; }
  .hero h1 { font-size: 62px; letter-spacing: -4px; }
  .hero-tagline { font-size: 21px; }
  .architecture-stage { height: 350px; }
  .architecture .architecture-core { width: 180px; top: 68px; padding: 16px; }
  .architecture .core-top { font-size: 5px; letter-spacing: .2px; }
  .core-monogram { font-size: 75px; padding-bottom: 14px; }
  .architecture .core-name { font-size: 18px; }
  .architecture .core-bottom { font-size: 6px; }
  .architecture .art-node { padding: 9px; gap: 6px; }
  .architecture .art-node strong { font-size: 10px; }
  .architecture .art-node small { font-size: 5px; }
  .architecture .node-symbol { width: 20px; height: 20px; }
  .architecture .node-symbol > .icon { width: 18px; height: 18px; }
  .architecture .node-react { top: 27px; right: -7px; }
  .architecture .node-spring { top: 242px; left: -6px; }
  .architecture .node-kafka { right: -3px; bottom: 8px; }
  .architecture .orbit-one, .orbital-dot { width: 240px; height: 240px; }
  .architecture .orbit-two { width: 300px; height: 300px; }
  .orbital-dot { margin: -120px 0 0 -120px; }
  .stage-option { padding: 9px 11px; font-size: 9px; }
  .stage-option > span { display: none; }
  .stage-caption { font-size: 8px; min-height: 30px; }
  .stage-coordinate { font-size: 5px; left: 5px; bottom: 10px; }
  .stage-heading { font-size: 6px; padding-inline: 0; letter-spacing: 1px; }
  .ribbon-track > span { font-size: 15px; gap: 25px; padding-right: 25px; }
  .creative-ribbon { padding-block: 16px; }
  .project-card:last-child > .project-visual > .visual-art { display: flex; flex-direction: column; justify-content: center; }
  .contact::after { margin-bottom: -65px; letter-spacing: -5px; }
}
@media (max-width: 560px) {
  .hero-main { grid-template-columns: minmax(0, 1fr); padding-top: 37px; gap: 48px; }
  .hero .eyebrow { margin-bottom: 27px; }
  .hero-pretitle { font-size: 8px; margin-bottom: 17px; }
  .hero h1 { font-size: clamp(57px, 15.4vw, 84px); letter-spacing: -3.8px; }
  .hero-tagline { font-size: 23px; margin-top: 23px; }
  .hero-description { font-size: 13px; }
  .architecture { max-width: 370px; width: 100%; margin: 0 auto 9px; }
  .architecture-stage { height: 370px; }
  .architecture .architecture-core { width: 200px; top: 67px; padding: 18px 20px; }
  .architecture .core-top { font-size: 5px; letter-spacing: .3px; }
  .core-monogram { font-size: 85px; }
  .architecture .core-name { font-size: 21px; }
  .architecture .node-react { top: 26px; right: 4px; }
  .architecture .node-spring { top: 267px; left: 0; }
  .architecture .node-kafka { right: 0; bottom: 10px; }
  .architecture .art-node { padding: 11px 13px; }
  .architecture .orbit-one, .orbital-dot { width: 270px; height: 270px; }
  .architecture .orbit-two { width: 330px; height: 330px; }
  .orbital-dot { margin: -135px 0 0 -135px; }
  .stage-heading { font-size: 7px; padding-inline: 5px; }
  .stage-coordinate { left: 12px; bottom: 13px; }
  .stage-controls { gap: 7px; margin-top: 12px; }
  .stage-option { padding: 11px 14px; font-size: 10px; }
  .stage-option > span { display: inline; font-size: 6px; margin-right: 5px; }
  .stage-caption { font-size: 9px; margin-top: 14px; min-height: 20px; }
  .hero-bottom { padding-block: 22px; }
  .ribbon-track > span { font-size: 14px; gap: 23px; padding-right: 23px; }
  .ribbon-track i { font-size: 23px; }
  .projects { padding-top: 57px; }
  .visual-open > span { opacity: 1; transform: none; font-size: 7px; padding: 8px 10px; bottom: 12px; right: 12px; }
  .visual-bottom { padding-bottom: 24px; }
  .featured-visual { min-height: 260px; }
  .project-card:last-child > .project-visual > .visual-art { display: block; }
  .motion-toggle { bottom: 12px; right: 12px; padding: 9px 12px; font-size: 9px; gap: 7px; }
  .motion-indicator { font-size: 10px; }
  .contact { padding-bottom: 24px; }
  .contact-star { margin-right: 0; }
  .contact::after { font-size: 15vw; letter-spacing: -3px; margin-top: 33px; margin-bottom: -39px; }
  .site-footer { padding-bottom: 69px; }
}
@media (max-width: 360px) {
  .hero h1 { font-size: 55px; letter-spacing: -3.5px; }
  .architecture .architecture-core { width: 184px; }
  .architecture .core-name { font-size: 19px; }
  .architecture .orbit-two { width: 290px; height: 290px; }
  .stage-option { padding-inline: 11px; }
  .stage-caption { font-size: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .reveal-pending { opacity: 1; translate: none; }
  .architecture-stage, .project-card, .project-card:hover { transform: none; }
}
html[data-motion="reduced"] { scroll-behavior: auto; }
.site-footer > .container > a:not(.brand) { font-size: 10px; color: #a0b39f; }
@media (max-width: 560px) {
  .site-footer > .container { flex-wrap: wrap; }
}

/* Shared type scale: readable copy and headings sized to their available space. */
body { font-size: 1rem; line-height: 1.7; font-optical-sizing: auto; font-synthesis: none; }
button, input, select, textarea { font-family: var(--font); }
h1, h2, h3 { font-weight: 600; text-wrap: balance; }
h2, .section-heading h2, .journey h2, .education h2 {
  font-size: clamp(2rem, 3.5vw, 3.1rem);
  line-height: 1.15;
  letter-spacing: -.04em;
}
.brand { font-size: 1rem; letter-spacing: -.03em; }
.navigation { font-size: .875rem; font-weight: 500; }
.hero-copy { container-type: inline-size; min-width: 0; }
.hero h1 {
  font-size: clamp(2.75rem, 18cqi, 6.25rem);
  font-weight: 700;
  line-height: 1.04;
  letter-spacing: -.055em;
  text-wrap: initial;
}
.hero-tagline { font-size: clamp(1.35rem, 2.1vw, 1.7rem); line-height: 1.45; letter-spacing: -.025em; }
.hero-description { max-width: 42ch; font-size: 1rem; line-height: 1.8; }
.hero-actions { flex-wrap: wrap; gap: 18px; }
.hero-tech { font-family: var(--font); font-size: .875rem; letter-spacing: -.01em; }
.hero-pretitle, .hero-pretitle > span, .hero .eyebrow,
.eyebrow, .section-number, .credentials .eyebrow, .contact-top > .eyebrow,
.project-kicker, .project-kicker span, .timeline-date, .timeline-date > span,
.timeline-tags, .degree > .mono { font-size: .6875rem; line-height: 1.65; letter-spacing: .06em; }
.project-kicker { flex-wrap: wrap; }
.project-kicker span { white-space: normal; }
.button, .filter, .download-link, .journey-intro > .download-link, .text-link {
  font-size: .875rem;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: -.01em;
}
.button { min-height: 50px; }
.filter span { font-size: .6875rem; }
.stage-controls { flex-wrap: wrap; }
.stage-option { font-size: .75rem; line-height: 1.4; padding: 11px; }
.stage-option > span { font-size: .625rem; }
.stage-caption { font-size: .8125rem; line-height: 1.7; min-height: 2.8em; }
.architecture .art-node strong { font-size: .8125rem; }
.architecture .art-node small { font-size: .5rem; letter-spacing: .06em; }
.ribbon-track > span { font-weight: 600; letter-spacing: -.02em; }
.section-intro, .featured-content > p:not(.project-kicker):not(.project-subtitle),
.card-content > p:not(.project-kicker), .expertise-item > p,
.journey-intro > p:not(.eyebrow), .timeline-item > p:not(.company),
.degree p, .contact-bottom > p, .dialog-description, .dialog-inner ul {
  font-size: .9375rem;
  line-height: 1.8;
}
.section-intro { max-width: 42ch; }
.section-intro br { display: none; }
.featured-content h3 { font-size: 2.125rem; font-weight: 600; line-height: 1.2; letter-spacing: -.04em; }
.project-subtitle { font-size: 1.0625rem !important; line-height: 1.6 !important; }
.card-content h3 { font-size: 1.625rem; line-height: 1.25; letter-spacing: -.035em; gap: 12px; }
.project-title-icon { flex-shrink: 0; }
.tags span, .skill-list span { font-size: .6875rem; line-height: 1.5; }
.expertise-item h3, .degree h3 { font-size: 1.25rem; line-height: 1.4; letter-spacing: -.025em; }
.expertise-item > p { min-height: 0; }
.timeline-item h3 { font-size: 1.5rem; line-height: 1.3; letter-spacing: -.03em; }
.company { font-size: .9375rem; line-height: 1.6; }
.certificate strong, .languages > div { font-size: .875rem; line-height: 1.65; }
.certificate span, .languages > div > span, .location-note, .projects-footer,
.social-links > a, .site-footer p, .site-footer > .container > a:not(.brand), .dialog-note { font-size: .75rem; line-height: 1.7; }
.site-footer .brand { font-size: .875rem; }
.contact h2 { font-size: clamp(2.75rem, 6vw, 5.25rem); line-height: 1.12; letter-spacing: -.045em; }
.email-link { font-size: clamp(1rem, 2.3vw, 1.375rem); letter-spacing: -.02em; overflow-wrap: anywhere; }
.dialog-inner h2 { font-size: clamp(1.875rem, 4vw, 2.5rem); letter-spacing: -.035em; }
.dialog-inner > .eyebrow { font-size: .6875rem; }
.motion-toggle { font-size: .75rem; }
@media (max-width: 800px) {
  .hero-tech { gap: 14px; }
  .hero-description { font-size: .9375rem; }
}
@media (max-width: 560px) {
  .hero-main { gap: 36px; }
  .section-heading h2 { font-size: 2rem; }
  .contact .eyebrow { font-size: .6875rem; }
  .hero-tech { font-size: .8125rem; }
  .filter { padding-inline: 11px; font-size: .8125rem; }
  .featured-content, .card-content { padding-inline: 22px; }
  .email-link { max-width: 100%; }
  .site-footer > .container { gap: 14px; }
}
