/* Local, dependency-free corporate 3D portfolio. */
:root{color-scheme:dark;--bg:#0b1423;--panel:#111f32;--text:#f2f6fd;--muted:#aab8cc;--blue:#78b1ff;--line:#26364b;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}a:hover{color:var(--blue)}.wrap{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:27px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;font-size:13px;line-height:1.35;letter-spacing:1.7px;font-weight:bold}.brand small{font-size:11px;color:var(--muted);letter-spacing:2px}.monogram{font-size:40px;line-height:1;letter-spacing:-5px}.monogram span{color:var(--blue)}nav{display:flex;gap:30px;font-size:14px;color:#c1ccdc}.contact-link{font-size:14px}.contact-link span{margin-left:14px;color:var(--blue)}.skip{position:absolute;top:-80px;background:white;color:#111;padding:12px;z-index:99}.skip:focus{top:0}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center;min-height:720px;padding-block:80px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:var(--blue);margin:0 0 26px}.dot{display:inline-block;width:6px;height:6px;background:#80c2ff;border-radius:50%;box-shadow:0 0 15px #78b1ff;margin-right:8px;vertical-align:middle}.intro{color:var(--muted);font-size:17px;margin-bottom:16px}h1,h2,h3,p{overflow-wrap:break-word}h1{font-size:clamp(36px,4.2vw,60px);line-height:1.13;letter-spacing:-2.4px;font-weight:600;margin:0 0 25px}em{font-style:normal;color:var(--blue)}.hero-description{max-width:490px;font-size:18px;color:var(--muted);line-height:1.75}.positioning{font-size:13px;color:#cbd9ed;margin-top:26px}.positioning span{padding:0 8px;color:#526985}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{padding:13px 19px;font-size:14px;font-weight:600;border:1px solid #3a506d;border-radius:5px;display:flex;gap:24px;align-items:center;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.primary{background:#87b8ff;color:#0b1423;border-color:#87b8ff}.primary:hover{background:#b5d3ff;color:#0b1423}.secondary:hover{background:#172942}.hero-foot{font-size:12px;color:#91a3bc;margin-top:30px}
/* The illustration is real CSS 3D geometry; no WebGL or external assets. */
.visual{position:relative;min-width:0;height:500px;isolation:isolate;perspective:1000px}.visual-grid{position:absolute;inset:0;background-image:linear-gradient(#243d592a 1px,transparent 1px),linear-gradient(90deg,#243d592a 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(ellipse,#000 25%,transparent 70%)}.visual:before{content:'';position:absolute;inset:70px 0;background:radial-gradient(ellipse,#246fd932,transparent 65%);filter:blur(20px)}.scene{position:absolute;left:50%;top:48%;width:240px;height:240px;transform-style:preserve-3d;transform:translate(-50%,-50%) rotateX(57deg) rotateZ(-36deg);animation:float 7s ease-in-out infinite}.slab{position:absolute;width:240px;height:240px;border:1px solid #88bdff80;border-radius:22px;box-shadow:-9px 12px 0 #1e3c63,-10px 14px 0 #548dd8, -28px 42px 50px #0005;background:linear-gradient(135deg,#3c6591,#152c47);padding:22px;transform-style:preserve-3d}.slab-bottom{transform:translateZ(-65px);background:linear-gradient(135deg,#264462,#0e2238)}.slab-middle{transform:translateZ(10px);background:linear-gradient(135deg,#387dc6,#183e68)}.slab-top{transform:translateZ(85px);background:linear-gradient(135deg,#93c6ff,#356bb2);box-shadow:-9px 12px 0 #2d598e,-10px 14px 0 #8dbfff,-28px 42px 50px #0005}.slab>span{font-size:13px;font-weight:700;letter-spacing:4px;color:#daecff}.slab i{display:block;height:8px;margin-top:20px;width:70%;background:#9aceff40;border-radius:5px}.core{position:absolute;inset:62px 48px 40px;display:grid;place-content:center;background:linear-gradient(140deg,#d1e9ff,#699ff2);color:#163458;font-size:72px;font-weight:bold;box-shadow:-5px 7px 0 #4c7fb4;border:1px solid #d1e9ff;border-radius:20px}.core span{position:absolute;right:8px;top:0;font-size:32px}.orbit{position:absolute;border:1px solid #3f669642;border-radius:50%;width:440px;height:200px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-30deg);z-index:-1}.orbit-two{transform:translate(-50%,-50%) rotate(40deg);width:340px;height:380px}.visual-note{position:absolute;background:#132337e8;border:1px solid #3e608269;box-shadow:0 20px 40px #0003;backdrop-filter:blur(10px);border-radius:7px}.note-top{right:0;top:26px;font-size:10px;letter-spacing:1.4px;padding:13px 17px}.note-bottom{left:12px;bottom:28px;padding:14px 20px;display:flex;align-items:center;gap:17px;font-size:13px}.note-bottom small{display:block;color:var(--muted);font-size:11px}.mini-chart{color:#83b8ff;font-size:23px}.visual-coordinate{position:absolute;right:0;bottom:0;font-size:10px;letter-spacing:2px;color:#7d91ad}@keyframes float{50%{transform:translate(-50%,-54%) rotateX(54deg) rotateZ(-33deg)}}
.focus-strip{border-block:1px solid var(--line);background:#101c2c}.focus-strip>.wrap{display:flex;gap:30px;align-items:center;justify-content:space-between;padding-block:10px}.focus-strip span{font-size:10px;letter-spacing:1.5px;color:var(--muted)}.focus-strip p{font-size:14px}.focus-strip b{font-weight:400;color:var(--blue);margin-left:16px}.section{padding-block:100px}.section-heading{max-width:690px;margin-bottom:44px}h2{font-size:clamp(30px,3.2vw,44px);font-weight:500;line-height:1.2;letter-spacing:-1.3px;margin:0 0 23px}.section-heading>p:last-child{color:var(--muted);max-width:600px}h3{font-size:18px;font-weight:600;line-height:1.4;margin:0 0 12px}.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.value-grid article{padding:0 26px;border-left:1px solid var(--line)}.value-grid article:first-child{padding-left:0;border:0}.value-grid p{font-size:15px;color:var(--muted);margin-bottom:0}.icon{font-size:30px;color:var(--blue);display:block;margin-bottom:28px}.impact{background:linear-gradient(120deg,#142944,#101d30);border-block:1px solid #2b4161}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.metrics strong{display:block;font-size:76px;font-weight:400;line-height:1.2;letter-spacing:-4px;margin-bottom:20px}.metrics strong span{font-size:36px;color:var(--blue);letter-spacing:0}.metrics p{font-size:15px;color:var(--muted);max-width:290px}.cycle{display:flex;gap:30px;align-items:center;justify-content:space-between;margin-top:45px;padding-top:34px;border-top:1px solid #3e5069}.cycle .eyebrow{margin-bottom:12px}.cycle h3{max-width:440px;font-weight:400}.cycle-numbers{display:flex;gap:30px;align-items:center;font-size:45px;line-height:1.1}.cycle-numbers small{display:block;font-size:12px;color:var(--muted);margin-top:10px;letter-spacing:0}.cycle-numbers s{color:#a8b6cb;text-decoration-thickness:1px}.cycle-numbers b{font-size:30px;font-weight:400;color:#718bb0}.after{color:var(--blue)}.process{display:grid;grid-template-columns:repeat(6,1fr);list-style:none;padding:0;gap:24px}.process li{border-top:1px solid #435a78;padding-top:22px}.process li>span{color:var(--blue);font-size:12px}.process h3{margin-top:21px;font-size:16px}.process p{color:var(--muted);font-size:14px}.experience{border-top:1px solid var(--line)}.timeline article{display:grid;grid-template-columns:260px 1fr;gap:32px;border-top:1px solid var(--line);padding:34px 0}.time{font-size:12px;letter-spacing:1px;color:var(--muted);padding-top:3px}.tag{display:table;margin-top:15px;font-size:10px;color:#9bc9ff;background:#172d49;border:1px solid #345478;padding:4px 9px;border-radius:3px}.timeline h3{font-size:23px;margin-bottom:4px}.company{color:var(--blue);margin-top:0;font-size:14px}.timeline p:not(.company){color:var(--muted);font-size:15px;max-width:790px}.timeline .schedule{border-left:2px solid var(--blue);padding-left:14px;font-size:13px!important}summary{cursor:pointer;color:var(--blue);font-size:14px;display:list-item}details li{color:var(--muted);font-size:15px;margin-block:10px}.projects-section{background:#101d2e;border-block:1px solid var(--line)}.projects{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:24px}.projects article{border:1px solid #2d405a;border-radius:8px;overflow:hidden;background:#0d1929}.project-art{height:190px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 100%,#305d923b,transparent),linear-gradient(130deg,#182f4e,#101e30)}.flow-art{gap:8px}.flow-art span{background:linear-gradient(140deg,#386299,#192f4c);border:1px solid #577da5;box-shadow:-4px 5px 0 #15273e;transform:rotate(-12deg);padding:14px 8px;border-radius:6px;font-size:11px;letter-spacing:1px}.flow-art i{color:var(--blue);font-style:normal}.chart-art{gap:13px;align-items:flex-end;padding-bottom:42px}.chart-art i{height:32px;width:22px;background:linear-gradient(90deg,#5789cc,#a5cfff);transform:skewY(-15deg);box-shadow:5px 4px 0 #294871}.chart-art i:nth-child(2){height:50px}.chart-art i:nth-child(3){height:44px}.chart-art i:nth-child(4){height:77px}.chart-art i:nth-child(5){height:105px}.concept-art span{font-size:64px;line-height:1;background:linear-gradient(130deg,#78a9e9,#315483);padding:0 23px 16px;border-radius:18px 18px 18px 0;transform:rotate(-12deg);box-shadow:-6px 7px #203c5f}.project-content{padding:26px}.project-content .eyebrow{font-size:10px;letter-spacing:1.3px;margin-bottom:14px}.project-content p:not(.eyebrow){font-size:15px;color:var(--muted)}.project-role{font-size:12px!important;border-top:1px solid var(--line);padding-top:15px}.education{display:grid;grid-template-columns:1fr 1fr;gap:70px}.education h3{font-size:17px}.education p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:0;margin-bottom:25px}.credentials{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.credentials span{border:1px solid var(--line);padding:7px 11px;border-radius:4px;font-size:12px;color:#c0cee1}.education .languages{margin-top:22px}.contact{background:linear-gradient(120deg,#1c3b63,#12243c);border-block:1px solid #304664}.contact h2{font-size:clamp(32px,4vw,55px)}.contact h2 span{color:var(--blue)}.contact p:not(.eyebrow){color:#b9cae0}.email{display:inline-block;font-size:clamp(19px,2.5vw,31px);border-bottom:1px solid #6884a7;margin-top:17px;padding-bottom:8px}.contact-bottom{display:flex;gap:38px;margin-top:30px;font-size:14px;color:#d0dff1}footer{display:flex;justify-content:space-between;gap:20px;padding-block:28px;font-size:12px;color:var(--muted)}
@media(min-width:1600px){.hero{min-height:790px}}@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.hero{grid-template-columns:1.1fr .9fr;gap:10px}h1{font-size:44px}.scene{scale:.83}.orbit{width:320px}.note-top{font-size:8px}.note-bottom{left:0;padding:12px}.visual{height:440px}.value-grid{grid-template-columns:repeat(2,1fr);gap:35px}.value-grid article:nth-child(3){border:0;padding-left:0}.process{grid-template-columns:repeat(3,1fr)}.projects{gap:15px}.project-content{padding:20px}.timeline article{grid-template-columns:220px 1fr}.focus-strip>.wrap{gap:15px}.focus-strip b{margin-left:5px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{flex-wrap:wrap;padding-block:20px;gap:20px}.header nav{order:3;width:100%;justify-content:space-between;gap:12px;font-size:13px}.brand{font-size:11px}.hero{grid-template-columns:1fr;padding-top:50px;padding-bottom:35px;min-height:auto}.hero-copy{max-width:560px}h1{font-size:clamp(36px,8.5vw,54px);letter-spacing:-1.6px}.hero-description{font-size:17px}.visual{height:400px;max-width:460px;width:100%;margin:auto}.scene{scale:.83}.note-top{right:5px;top:5px;font-size:9px}.note-bottom{bottom:20px;left:0}.focus-strip>.wrap{flex-wrap:wrap;justify-content:start;padding-block:20px;gap:8px 20px}.focus-strip span{width:100%}.focus-strip p{margin:4px 0;font-size:12px}.section{padding-block:65px}.section-heading{margin-bottom:32px}.metrics{gap:20px}.metrics strong{font-size:53px;letter-spacing:-3px}.metrics strong span{font-size:24px}.metrics h3{font-size:15px}.metrics p{font-size:13px}.cycle{align-items:start;flex-direction:column}.cycle-numbers{font-size:39px}.timeline article{grid-template-columns:1fr;gap:14px}.tag{display:inline-block;margin:0 0 0 10px}.projects{grid-template-columns:1fr}.project-art{height:180px}.education{grid-template-columns:1fr;gap:25px}.contact-bottom{flex-wrap:wrap;gap:16px 30px}.value-grid article{padding-right:0}.process{gap:18px}.eyebrow{font-size:10px;letter-spacing:1.5px}.hero-foot{font-size:11px}.positioning{font-size:12px}}
@media(max-width:400px){.metrics{grid-template-columns:1fr}.metrics article{padding-bottom:15px;border-bottom:1px solid var(--line)}.metrics strong{font-size:65px}.value-grid{grid-template-columns:1fr}.value-grid article{border:0;padding:0}.process{grid-template-columns:repeat(2,1fr)}.button{font-size:13px;padding:12px}.visual{height:350px}.scene{scale:.7}.note-bottom{font-size:11px}.note-top{font-size:8px}.tag{margin:8px 0 0;display:table}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scene{animation:none}.button{transition:none}}
@media print{body{background:white;color:#111}.header,.visual,.focus-strip,.actions,footer,.project-art{display:none}.wrap{width:100%}.hero,.section{padding-block:20px;min-height:0}.hero,.education{display:block}.impact,.contact,.projects-section{background:white}.section{break-inside:avoid}p,.time,.company,.eyebrow{color:#333!important}h1,h2{font-size:28px}.projects{display:block}.projects article{margin-block:15px}.metrics strong{font-size:40px}a{color:#111}}

/* Scroll choreography: native scrolling, subtle depth, and repeatable reveals. */
.scroll-reveal{opacity:0;translate:0 24px;transition:opacity .7s ease,translate .8s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
html[data-scroll-direction="up"] .scroll-reveal:not(.is-visible){translate:0 -20px}
.scroll-reveal.is-visible,.scroll-reveal:focus-within{opacity:1;translate:0 0}
.visual .scene{margin-top:var(--depth-shift,0px)}
.back-top{position:fixed;right:26px;bottom:26px;z-index:20;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#142942ee;box-shadow:0 8px 28px #0005;color:#c8e1ff;backdrop-filter:blur(12px);transition:background .2s,transform .2s}
.back-top[hidden]{display:none}.back-top:hover{background:#234875;transform:translateY(-4px);color:white}.back-top span{font-size:25px;line-height:1}.back-top svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke-width:1.4;transform:rotate(-90deg)}.progress-track{stroke:#3a506d}.progress-ring{stroke:#9ccaff;stroke-dasharray:132;stroke-dashoffset:calc(132 * (1 - var(--progress,0)));stroke-linecap:round}
@media(max-width:760px){.back-top{right:16px;bottom:16px;width:46px;height:46px}}
@media(prefers-reduced-motion:reduce){.scroll-reveal,.scroll-reveal.is-visible,html[data-scroll-direction="up"] .scroll-reveal:not(.is-visible){opacity:1;translate:none;transition:none}.back-top{transition:none}.visual .scene{margin-top:0}}
@media print{.scroll-reveal{opacity:1;translate:none}.back-top{display:none!important}}