:root{--navy:#102c52;--navy-d:#091e39;--navy-l:#eaf1f9;--accent:#347ee7;--sky:#85bcff;--ink:#152842;--muted:#56677e;--soft:#f4f7fb;--line:#dce5ef;--grad:linear-gradient(100deg,#adcfff,#5d9fff)}
body{font-family:Inter,system-ui,sans-serif;line-height:1.7}h2,h3,.heavy{font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:-.035em}h1,.display{font-family:'Space Grotesk',sans-serif;letter-spacing:-.075em;font-weight:700}.logo{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:21px;letter-spacing:-.8px;position:relative;padding-left:19px}.logo:before{content:'';position:absolute;left:0;top:50%;width:8px;height:20px;border:2px solid #83b8ff;transform:translateY(-50%) skew(-12deg);border-radius:2px}.nav-in{height:78px}.links a{font-size:12px;font-weight:500}.links a:after{height:2px;background:#8fbdff}.nav-cv{border-radius:30px;padding:8px 15px;transition:background .25s}.nav-cv:hover{background:#ffffff20}nav.solid{background:#fffffff2}.hero{padding:160px 0 145px;background:linear-gradient(115deg,#091e39 4%,#102e55 60%,#214b7a);isolation:isolate;overflow:hidden}.hero:before,.hero:after{display:none}.hero-network{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.75}.hero-grid{grid-template-columns:1.12fr .88fr;gap:75px}.hero h1{font-size:clamp(70px,8vw,110px);line-height:1.06;margin:0;max-width:650px}.hero h1 .grad{display:block;color:transparent;-webkit-text-stroke:1px #a8cfff;background:none;letter-spacing:-.06em;animation:nameFill 9s ease-in-out infinite}.tag{font-size:11px;margin-bottom:28px;background:#ffffff09;backdrop-filter:blur(8px);border-color:#a8cfff45;letter-spacing:.2px}.role{font-family:'Space Grotesk';font-size:19px;line-height:1.8;margin:25px 0 18px}.role-prefix{color:#a8bfdb;font-weight:400}.role .typed{font-weight:600;color:#e2efff;border-color:#8dbdff}.hero p.lead{font-size:15px;line-height:1.9;color:#c5d5e8;max-width:510px}.hero p.lead b{text-decoration:none;color:white;font-weight:600}.ctas{gap:12px;margin-top:30px}.btn{font-size:12px;border-radius:30px;padding:14px 20px;transition:translate .25s,box-shadow .25s,background .25s;position:relative;overflow:hidden}.btn-w{background:#f5f9ff;color:#14385f;box-shadow:0 5px 25px #0001}.btn-o{border:1px solid #aacaf766;background:#ffffff05}.btn:after{content:'';position:absolute;inset:-100% auto -100% -90px;width:40px;background:linear-gradient(90deg,transparent,#fff5,transparent);transform:rotate(25deg);transition:left .7s}.btn:hover:after{left:120%}.hero-mini{font-size:11px;color:#a9bfd9}.photo{perspective:1000px;transform-style:preserve-3d;transition:transform .35s;will-change:transform}.photo>img{width:340px;aspect-ratio:.91;border-radius:160px 160px 100px 100px;border:5px solid #a0c7ff25;box-shadow:0 25px 65px #0003;background:#dee5ee;object-position:center 35%;transform:rotate(-4deg);animation:portraitIntro 1.2s both}.portrait-orbits{position:absolute;inset:-37px -34px -23px;pointer-events:none}.portrait-orbits i{position:absolute;inset:0;border-radius:50%;border:1px solid #9dc7ff32;transform:rotate(-18deg);animation:orbital 24s linear infinite}.portrait-orbits i:nth-child(2){inset:30px -19px;animation-duration:34s;animation-direction:reverse;border-color:#9dc7ff17}.portrait-orbits i:nth-child(3){inset:-20px 25px;border-style:dashed;border-color:#9dc7ff12;animation-duration:45s}.portrait-orbits i:first-child:before{content:'';position:absolute;top:10%;left:20%;background:#8bc4ff;width:7px;height:7px;border-radius:50%;box-shadow:0 0 15px #8bc4ff}.badge{border-radius:12px;background:#fff;box-shadow:0 15px 40px #00142c40;padding:16px 20px;display:flex;flex-direction:column;align-items:start;gap:8px;transform-style:preserve-3d;font-family:Inter}.badge-logo{width:130px;height:26px;object-fit:contain;object-position:left center}.badge small{font-size:9px;color:#5a6a7c}.b1{left:-60px;top:37px;animation:float 6s ease-in-out infinite}.b2{right:-34px;bottom:10px;gap:5px;animation:float 7s ease-in-out -3s infinite}.badge-label{font-size:8px;letter-spacing:1px;color:#758295;font-weight:600}.b2>div{font-size:11px;font-weight:600}.inline-arrow{display:inline-block;color:#397bd3;margin:0 6px;animation:arrowFlow 2s infinite}.scroll-hint{bottom:55px;font-size:9px;color:#9bb4d5;letter-spacing:2px}.hero-text>*{animation:heroEnter .85s both}.hero-text h1{animation-delay:.12s}.hero-text .role{animation-delay:.22s}.hero-text .lead{animation-delay:.32s}.hero-text .ctas{animation-delay:.42s}.hero-text .hero-mini{animation-delay:.52s}.profile-strip{position:relative;z-index:5;display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:1120px;margin:-40px auto 0;padding:0;background:#fff;box-shadow:0 20px 55px #0e315318;border:1px solid #e2eaf3;border-radius:18px;overflow:hidden}.profile-signal{padding:28px 22px;display:flex;gap:16px;align-items:center;position:relative}.profile-signal+.profile-signal{border-left:1px solid var(--line)}.profile-signal small{font-size:8px;letter-spacing:.9px;font-weight:600;display:block;color:#697b91;margin-bottom:9px}.profile-signal h2{font-size:16px;line-height:1.55;letter-spacing:-.5px;color:var(--ink)}.signal-icon{font-family:Arial,sans-serif;width:36px;height:36px;display:grid;place-items:center;color:#3f7bca;font-size:28px;flex-shrink:0;animation:signalSway 5s ease-in-out infinite}.profile-signal:nth-child(2) .signal-icon{animation-delay:-1.7s}.profile-signal:nth-child(3) .signal-icon{animation-delay:-3.4s}.signal-track{height:2px;position:absolute;bottom:0;left:0;right:0;background:#eff5fc;overflow:hidden}.signal-track i{position:absolute;width:20%;height:100%;background:linear-gradient(90deg,transparent,#4f92e7,transparent);animation:signalRun 5s linear infinite}.companies{padding-top:60px;padding-bottom:5px}.companies>p{font-size:9px;letter-spacing:1.8px;color:#79889a}.company-row{gap:30px;margin-top:25px}.company-row a{width:205px;min-height:110px;background:white;padding:22px 18px 16px;border:1px solid #e2e9f1;border-radius:12px;text-decoration:none;display:flex;align-items:center;flex-direction:column;gap:12px;transition:transform .4s,box-shadow .4s}.company-row a:hover{transform:translateY(-7px);box-shadow:0 16px 25px #173d6314}.company-row img{width:150px;height:42px;object-fit:contain}.company-row a small{font-size:9px;letter-spacing:0;color:#697a8c}.company-path{font-family:Arial,sans-serif;font-size:20px!important;font-weight:400!important;color:#a0b8d4!important;animation:arrowFlow 2.5s infinite}.band{display:flex;align-items:center;gap:18px;background:none!important;color:var(--ink);border:0;padding:0;margin-bottom:24px;border-radius:0;font-family:'Space Grotesk';font-size:34px;line-height:1.3;letter-spacing:-1px}.section-index{font-size:11px;letter-spacing:0;color:#6a8db9;border:1px solid #d8e5f6;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;flex:none;position:relative}.section-index:after{content:'';position:absolute;inset:-5px;border:1px dashed #80ade444;border-radius:50%;animation:orbital 35s linear infinite}.sub{font-size:14px;line-height:1.9;color:#66778d;max-width:650px}.about p{font-size:14px}.facts{border-top:1px solid #dbe5f1;box-shadow:0 10px 35px #193d5d08;border-radius:14px}.fact span:first-child:before{background:#76a6df}.about p strong{color:#245a9b}.tl:before{background:#e1e9f3}.tl-fill{background:linear-gradient(#81b9ff,#326ab2)}.yr{font-family:'Space Grotesk';font-size:19px;font-weight:500;letter-spacing:-1px}.job{--c:#6b98d5}.job:nth-child(2n){--c:#3774c4}.job-card{border-left:1px solid var(--line);border-radius:14px}.job.open .job-card{border-left:1px solid #a8c4e6;box-shadow:0 15px 35px #15375d0d}.job-head{grid-template-columns:95px 1fr auto;gap:25px;padding:26px}.job-company-copy{display:block;position:relative;padding-left:135px;min-height:54px}.job-logo{position:absolute;left:0;top:50%;transform:translateY(-50%);width:112px;height:45px;object-fit:contain;object-position:left center}.job-head h3{font-size:19px;letter-spacing:-.6px}.job-sub{font-size:11px;margin-top:5px}.job-head .meta{font-size:12px}.chev{border:1px solid var(--line);background:white;width:34px;height:34px}.job.open .chev{background:#244f85;border-color:#244f85}.chips .chip{font-size:10px;background:#f1f5fb;color:#38618d}.job-body li{font-size:13px;line-height:1.9}.job-body ul{padding-left:148px}.chips,.job-more{padding-left:148px}.filters button{border-width:1px;font-size:11px}.filters button.on{background:#224d83}.project{border-left:1px solid var(--line);border-radius:14px}.project:nth-child(even){border-left-color:var(--line)}.project summary{min-height:145px;padding:24px}.project-name{font-family:'Space Grotesk';font-size:19px;letter-spacing:-.6px;line-height:1.45;padding-right:25px}.project-plus{top:23px}.project-over{font-size:9px;letter-spacing:.7px;text-transform:uppercase}.participation{font-size:9px;background:#edf3fb;color:#44698e;font-weight:500}.project[open]{border-color:#a6c4e8;box-shadow:0 14px 30px #1238580b}.project-content{padding-left:24px;padding-right:24px}.project-content h4{font-size:10px;font-weight:700}.project-tools{color:#386bad;font-size:10px}.project-content .project-note{font-size:10px;line-height:1.8}.project:hover{transform:translateY(-4px)}.skills .sk{border:1px solid #dde6f0;border-radius:14px;box-shadow:none;position:relative;overflow:hidden}.skills .sk:after{content:'';position:absolute;width:100px;height:100px;right:-40px;top:-45px;border:1px solid #97bdec40;border-radius:50%;transition:scale .45s}.skills .sk:hover:after{scale:1.5}.sk .ico{background:#eaf2fc!important;color:#376cae;box-shadow:none;border:1px solid #dae6f5}.sk h3{font-size:18px}.skill-proof{background:none;padding:12px 0 0;font-size:10px;border-top:1px solid var(--line);margin-top:19px}.edu{grid-template-columns:repeat(3,1fr)}.ed{border:1px solid var(--line)!important;border-radius:14px;padding:27px;position:relative;overflow:hidden;background:white;transition:translate .35s,box-shadow .35s}.ed:hover{translate:0 -6px;box-shadow:0 20px 30px #1335570f}.ed:after{content:'';height:3px;left:0;right:65%;bottom:0;position:absolute;background:#6f9bd5;transition:right .6s}.ed:hover:after{right:0}.ed .k{color:#617c9c!important;font-size:9px;letter-spacing:.4px;min-height:34px}.ed h3{font-size:20px;margin-top:8px}.ed .t{font-size:13px;line-height:1.7;min-height:65px}.ed p{font-size:12px}.box{background:#173a65;border-radius:15px}.box h3{border:0;padding:0;font-size:19px;letter-spacing:-.5px}.personal-art{background:radial-gradient(at 20% 0,#37649c,#163862)}.web-art{background:linear-gradient(135deg,#e5edf7,#c4d8ee)}.collective-art{background:linear-gradient(135deg,#142e4f,#426da5)}.personal-card{border-radius:15px}.personal-title h3{font-size:23px}.contact{background:radial-gradient(ellipse at 80% 30%,#2b527944,transparent 65%),#102c52;isolation:isolate;overflow:hidden}.contact:before{content:'';inset:0;position:absolute;width:auto;height:auto;border-radius:0;border:0;background-image:linear-gradient(#93b8e00b 1px,transparent 1px),linear-gradient(90deg,#93b8e00b 1px,transparent 1px);background-size:60px 60px;mask-image:linear-gradient(120deg,transparent,#000);animation:contactGrid 18s linear infinite;z-index:-1}.contact h2{font-family:'Space Grotesk';font-size:68px;font-weight:600;letter-spacing:-3px;line-height:1.12}.contact .lead{font-size:14px;line-height:1.9;color:#c0d1e5}.cc{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:0!important;min-height:190px;text-decoration:none!important;padding:28px!important;border:1px solid #a5c5ec45!important;border-radius:16px;background:#ffffff08;position:relative;transition:transform .35s,background .35s,box-shadow .35s}.cc:hover{background:#ffffff12;transform:translateY(-6px);box-shadow:0 15px 35px #0002}.cc .k{display:block!important;font-size:10px!important;font-weight:500!important;letter-spacing:1.7px;color:#b4cae4!important;margin:0 0 20px!important;line-height:1.5}.cc .v{display:block!important;font-size:19px!important;line-height:1.5!important;font-weight:600!important;letter-spacing:-.3px!important;color:white!important;margin:0!important;overflow-wrap:anywhere;max-width:100%}.cc .h{display:block!important;margin:22px 0 0!important;font-size:11px!important;color:#d0e1f6!important;line-height:1.7!important;text-decoration:none!important}.contact-arrow{position:absolute;right:23px;top:25px;width:18px;height:18px;fill:none;stroke:#b8d3f3;stroke-width:1.5;transition:transform .3s}.cc:hover .contact-arrow{transform:translate(4px,-4px)}.contact-bottom{font-size:11px}footer{background:#091f3c;border-image:none;border-top:1px solid #afcdf522;color:#b7cce3}.interest{transform-style:preserve-3d}.interest span{filter:drop-shadow(0 7px 8px #0002)}.rv{transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.rv[data-reveal-order="1"]{transition-delay:.08s}.rv[data-reveal-order="2"]{transition-delay:.16s}body:not(.no-motion) .project[open] .project-content{animation:detailIn .45s both}body:not(.no-motion) .personal-card[open] .personal-body{animation:detailIn .45s both}
@keyframes nameFill{0%,100%{color:transparent}45%,70%{color:#a8cfff}}@keyframes heroEnter{from{opacity:0;transform:translateY(23px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}@keyframes portraitIntro{from{opacity:0;transform:translateY(30px) rotate(0)}to{opacity:1;transform:rotate(-4deg)}}@keyframes orbital{to{transform:rotate(342deg)}}@keyframes arrowFlow{50%{translate:4px 0;opacity:.65}}@keyframes signalSway{50%{transform:translateY(-3px) rotate(-8deg)}}@keyframes signalRun{from{left:-20%}to{left:120%}}@keyframes contactGrid{to{background-position:60px 60px}}@keyframes detailIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(max-width:1120px){.profile-strip{margin-left:24px;margin-right:24px}.profile-signal{padding:24px 18px;gap:10px}.profile-signal h2{font-size:14px}.signal-icon{width:26px;font-size:24px}.profile-signal small{font-size:7px}.hero-grid{gap:50px}.photo>img{width:290px}.b1{left:-40px}.b2{right:-20px}.cc .v{font-size:17px!important}.company-row a{width:190px}.job-company-copy{padding-left:120px}.job-logo{width:100px}.hero h1{font-size:90px}}
@media(max-width:760px){html{scroll-padding-top:120px}.logo{font-size:17px;padding-left:16px}.logo:before{width:6px;height:15px}.nav-in{height:66px}.links{top:66px;background:#102c52f5;gap:24px}.links a{font-size:10px}.hero{padding-top:143px;padding-bottom:110px;background:linear-gradient(145deg,#0b203d,#173e6c)}.hero-grid{display:flex;flex-direction:column;gap:35px;align-items:stretch}.photo{order:-1;align-self:center;max-width:250px}.photo>img{width:227px;border-width:4px;border-radius:120px 120px 75px 75px}.portrait-orbits{inset:-18px -20px}.portrait-orbits i:nth-child(2){inset:20px -9px}.badge{padding:11px 13px;gap:5px;border-radius:9px}.badge-logo{width:104px;height:20px}.badge small{font-size:8px}.b1{left:-39px;top:23px}.b2{right:-33px;bottom:6px}.badge-label{font-size:6px}.b2>div{font-size:9px}.inline-arrow{margin:0 3px}.tag{font-size:9px;letter-spacing:0;padding:7px 10px;margin-bottom:20px}.hero h1{font-size:clamp(65px,18vw,87px);line-height:1.06;letter-spacing:-5px}.hero h1 .grad{letter-spacing:-4px}.role{font-size:15px;line-height:1.7;margin:23px 0 15px;min-height:50px}.role-prefix{display:block}.hero p.lead{font-size:13px;line-height:1.9}.hero-text .ctas{display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn{padding:12px 13px;font-size:10px;gap:7px;text-align:center;justify-content:center}.hero-mini{font-size:9px;gap:20px;margin-top:22px}.scroll-hint{bottom:58px;font-size:8px}.profile-strip{margin:-35px 20px 0;display:flex;flex-direction:column;border-radius:15px;max-width:none;padding:0 19px}.profile-signal{padding:19px 0;gap:17px}.profile-signal+.profile-signal{border-left:0;border-top:1px solid var(--line)}.profile-signal h2{font-size:14px;line-height:1.6;letter-spacing:-.4px}.profile-signal h2 br{display:none}.profile-signal small{font-size:7px;letter-spacing:.7px;margin-bottom:4px}.signal-icon{width:29px;font-size:25px}.companies{padding-top:38px}.companies>p{font-size:8px;letter-spacing:1.1px}.company-row{display:grid;grid-template-columns:1fr;gap:0;max-width:300px;margin:20px auto 0}.company-row a{width:100%;min-height:110px;padding:19px 20px;gap:10px;border-radius:12px;flex-direction:row;justify-content:space-between;gap:20px;min-height:90px}.company-row img{width:130px;height:36px;object-position:left center}.company-row a small{font-size:8px;text-align:right;max-width:105px;line-height:1.7}.company-path{transform:rotate(90deg);font-size:17px!important;line-height:2;animation:none}.band{font-size:26px;gap:13px;letter-spacing:-.9px;line-height:1.35;margin-bottom:23px}.section-index{width:27px;height:27px;font-size:9px}.section-index:after{inset:-4px}.sub{font-size:12px;line-height:1.9}.about p{font-size:13px;line-height:1.9}.job-head{grid-template-columns:1fr auto;gap:12px;padding:22px 18px}.yr{font-size:17px}.job-company-copy{padding-left:0;padding-top:49px;min-height:0}.job-logo{top:0;transform:none;width:105px;height:31px;object-position:left center}.job-head h3{font-size:18px}.job-head .meta{font-size:11px}.job-sub{font-size:10px;line-height:1.8}.job-body ul,.chips,.job-more{padding-left:18px}.job-body li{font-size:12px;line-height:1.9}.chev{width:28px;height:28px;align-self:center}.project summary{min-height:140px;padding:23px 19px}.project-name{font-size:18px;line-height:1.4}.project-over{font-size:8px}.project-content{padding-left:19px;padding-right:19px;font-size:12px}.project-content .project-note{font-size:10px}.filters button{font-size:10px;padding:8px 12px}.sk h3{font-size:15px;letter-spacing:-.4px}.sk p{font-size:11px}.edu{grid-template-columns:1fr;gap:14px}.ed{padding:23px}.ed .k{min-height:0;font-size:9px;margin:0 0 13px}.ed h3{font-size:20px}.ed .t{min-height:0;font-size:13px;line-height:1.8}.ed p{font-size:11px}.personal-title h3{font-size:22px}.box h3{font-size:18px;line-height:1.5}.contact h2{font-size:clamp(34px,10.5vw,47px);letter-spacing:-2px;line-height:1.15}.contact .lead{font-size:13px;line-height:1.9;margin:22px 0 30px}.cards{grid-template-columns:1fr;gap:14px}.cc{padding:25px!important;min-height:174px}.cc .k{font-size:10px!important;margin-bottom:15px!important;letter-spacing:1.8px}.cc .v{font-size:20px!important;letter-spacing:-.3px!important}.cc .h{font-size:11px!important;margin-top:20px!important}.contact-arrow{top:25px;right:23px;width:17px;height:17px}.contact-bottom{font-size:10px;line-height:1.9}.footer-inner{font-size:9px;line-height:1.9}.footer-inner button,.footer-inner a{font-size:9px}}
@media(prefers-reduced-motion:reduce){.hero h1 .grad{color:#a8cfff}.hero-network{display:none}.photo>img{transform:rotate(-4deg)}.rv{opacity:1;transform:none}}
.no-motion .hero h1 .grad{color:#a8cfff}.no-motion .hero-network{display:none}
.signal-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.photo img.badge-logo{width:130px;height:26px;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;background:transparent;transform:none;animation:none;object-fit:contain;object-position:left center;display:block}
@media(max-width:760px){.photo img.badge-logo{width:104px;height:20px;border:0;border-radius:0;transform:none}}
