:root{--bg:#08111f;--bg2:#0c1728;--card:#101d31;--card2:#0d192a;--text:#f5f8ff;--muted:#91a0b7;--line:hsla(0,0%,100%,.09);--accent:#49d6c8;--accent2:#7ee7dd;--white:#fff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.6}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 85% 10%,rgba(73,214,200,.09),transparent 24%),radial-gradient(circle at 5% 45%,rgba(73,214,200,.05),transparent 20%)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 44px));margin:auto}.site-nav{height:82px;position:-webkit-sticky;position:sticky;top:0;z-index:100;background:rgba(8,17,31,.82);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.navin,.site-nav{display:flex;align-items:center;justify-content:space-between}.navin{width:min(var(--max),calc(100% - 44px));margin:auto}.logo{font-family:Plus Jakarta Sans;font-weight:800;font-size:18px;letter-spacing:-.04em}.logo b{color:var(--accent)}.links{display:flex;gap:30px;color:#b6c1d2;font-size:13px;font-weight:600}.links a{position:relative;padding:8px 0}.links a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--accent);transition:.25s}.links a:hover{color:#fff}.links a:hover:after{width:100%}.navcta{padding:10px 16px;border:1px solid rgba(73,214,200,.45);border-radius:8px;color:var(--accent);font-size:13px;font-weight:700}.hero{min-height:calc(100vh - 82px);display:grid;grid-template-columns:1.08fr .92fr;align-items:center;grid-gap:75px;gap:75px;padding:80px 0}.hello{color:var(--accent);font-weight:700;font-size:14px;margin-bottom:14px}h1,h2,h3{font-family:Plus Jakarta Sans;margin:0}.hero h1{font-size:clamp(54px,6vw,86px);line-height:1.02;letter-spacing:-.06em}.hero h1 span{display:block;color:var(--accent)}.role{font:600 clamp(20px,2vw,28px) Plus Jakarta Sans;margin:24px 0 18px;color:#dbe4f2}.lead{max-width:650px;color:var(--muted);font-size:16px}.actions{display:flex;gap:12px;margin-top:32px}.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 19px;border-radius:8px;font-weight:700;font-size:13px;border:1px solid var(--line);transition:.25s}.btn.primary{background:var(--accent);color:#04110f;border-color:var(--accent)}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 35px rgba(0,0,0,.25)}.social{display:flex;gap:18px;margin-top:32px;color:#8e9cb2;font-size:12px;font-weight:700;letter-spacing:.08em}.visual{height:530px;position:relative;display:grid;place-items:center}.orbit{width:430px;height:430px;border:1px solid rgba(73,214,200,.22);border-radius:50%;position:absolute}.orbit:after,.orbit:before{content:"";position:absolute;border:1px solid hsla(0,0%,100%,.08);border-radius:50%;inset:35px}.orbit:after{inset:80px}.portrait{width:335px;height:410px;border-radius:160px 160px 24px 24px;background:linear-gradient(145deg,rgba(73,214,200,.35),rgba(73,214,200,.04)),#14243a;border:1px solid rgba(126,231,221,.3);position:relative;overflow:hidden;box-shadow:0 35px 90px rgba(0,0,0,.38)}.portrait:before{content:"MR";position:absolute;inset:0;display:grid;place-items:center;font:800 112px Plus Jakarta Sans;letter-spacing:-.09em;color:hsla(0,0%,100%,.09)}.portrait:after{content:"ADD PORTRAIT";position:absolute;bottom:20px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:.2em;color:var(--accent)}.float{position:absolute;background:#101e31;border:1px solid var(--line);box-shadow:0 15px 40px rgba(0,0,0,.3);padding:12px 14px;border-radius:10px;font-size:11px;color:#b8c5d8}.f1{left:0;top:90px}.f2{right:0;bottom:85px}.float b{display:block;color:#fff;font-size:13px;margin-top:2px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:6px}.section{padding:110px 0}.section.alt{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.eyebrow{color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.eyebrow,.title{text-align:center}.title{font-size:clamp(38px,4vw,56px);letter-spacing:-.045em;margin:8px 0 16px}.subtitle{text-align:center;max-width:620px;margin:0 auto 55px;color:var(--muted);font-size:14px}.aboutgrid{display:grid;grid-template-columns:.8fr 1.2fr;grid-gap:65px;gap:65px;align-items:center}.aboutart{height:410px;border-radius:18px;background:linear-gradient(145deg,#13283c,#0c1727);border:1px solid var(--line);padding:28px;position:relative;overflow:hidden}.aboutart .big{font:800 100px/1 Plus Jakarta Sans;color:rgba(73,214,200,.12);position:absolute;bottom:-8px;right:12px}.aboutart h3{font-size:28px;max-width:270px;line-height:1.15}.aboutart p{position:absolute;bottom:28px;left:28px;color:var(--muted);font-size:12px}.aboutcopy h3{font-size:29px;margin-bottom:18px}.aboutcopy p{color:var(--muted);margin:0 0 18px}.stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-top:30px}.stat{padding:18px;border:1px solid var(--line);border-radius:10px;background:hsla(0,0%,100%,.02)}.stat strong{display:block;font:800 25px Plus Jakarta Sans;color:var(--accent)}.stat>span{font-size:11px;color:var(--muted)}.skills{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}.skill{padding:24px 20px;background:var(--card);border:1px solid var(--line);border-radius:12px;transition:.25s}.skill:hover{transform:translateY(-5px);border-color:rgba(73,214,200,.5)}.skill .ico{width:42px;height:42px;border-radius:9px;background:rgba(73,214,200,.1);display:grid;place-items:center;color:var(--accent);font-weight:800;margin-bottom:22px}.skill h3{font-size:15px}.skill p{font-size:12px;color:var(--muted);margin:6px 0 0}.projects{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:24px;gap:24px}.project{background:var(--card2);border:1px solid var(--line);border-radius:15px;overflow:hidden;transition:transform .38s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .38s;cursor:pointer}.project:hover{transform:translateY(-9px);border-color:rgba(73,214,200,.5);box-shadow:0 24px 65px rgba(0,0,0,.34)}.thumb{height:275px;position:relative;overflow:hidden;background:#15263a}.thumb:after{content:"VIEW PROJECT  ↗";position:absolute;inset:0;display:grid;place-items:center;background:rgba(5,14,25,.74);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);font:700 12px Plus Jakarta Sans;letter-spacing:.14em;color:#fff;opacity:0;transform:scale(1.04);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.7,.2,1)}.project:hover .thumb:after{opacity:1;transform:scale(1)}.project:hover .thumb:before{transform:scale(1.08) rotate(.5deg)}.thumb:before{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.project .pbody h3{transition:color .25s,transform .3s}.project:hover .pbody h3{color:var(--accent);transform:translateX(4px)}.thumb:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(73,214,200,.25),transparent 45%),repeating-linear-gradient(90deg,transparent 0 42px,hsla(0,0%,100%,.025) 43px 44px),repeating-linear-gradient(0deg,transparent 0 42px,hsla(0,0%,100%,.025) 43px 44px)}.thumb .num{position:absolute;right:20px;top:14px;font:800 72px Plus Jakarta Sans;color:hsla(0,0%,100%,.07)}.thumb .diagram{position:absolute;left:32px;bottom:28px;width:65%;height:90px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);opacity:.65}.thumb .diagram:after,.thumb .diagram:before{content:"";position:absolute;width:12px;height:12px;background:var(--accent);border-radius:50%}.thumb .diagram:before{left:24%;top:25%}.thumb .diagram:after{right:12%;top:55%}.pbody{padding:25px}.category{font-size:10px;letter-spacing:.13em;color:var(--accent);font-weight:800}.pbody h3{font-size:24px;margin:7px 0 8px}.pbody p{font-size:13px;color:var(--muted);margin:0}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.tags span{font-size:10px;padding:6px 8px;border-radius:5px;background:hsla(0,0%,100%,.045);color:#aebbd0}.awards{display:grid;grid-gap:12px;gap:12px}.award{display:grid;grid-template-columns:70px 1fr 140px 35px;align-items:center;grid-gap:20px;gap:20px;padding:23px;border:1px solid var(--line);border-radius:11px;background:hsla(0,0%,100%,.018);transition:transform .35s cubic-bezier(.2,.7,.2,1),background .3s,border-color .3s;cursor:pointer;position:relative;overflow:visible}.award:hover{background:var(--card);border-color:rgba(73,214,200,.45);transform:translateX(8px)}.award-preview{position:fixed;width:300px;height:190px;border-radius:12px;overflow:hidden;background:linear-gradient(145deg,#16334a,#0b1727);border:1px solid rgba(73,214,200,.35);box-shadow:0 25px 70px rgba(0,0,0,.45);z-index:999;pointer-events:none;opacity:0;transform:translate(18px,-50%) scale(.9) rotate(2deg);transition:opacity .2s ease,transform .28s cubic-bezier(.2,.7,.2,1)}.award-preview.show{opacity:1;transform:translate(18px,-50%) scale(1) rotate(0)}.award-preview:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 25%,rgba(73,214,200,.28),transparent 30%),repeating-linear-gradient(90deg,transparent 0 34px,hsla(0,0%,100%,.025) 35px 36px)}.award-preview .ap-content{position:absolute;inset:0;padding:22px;display:flex;flex-direction:column;justify-content:flex-end}.award-preview small{color:var(--accent);font-weight:800;letter-spacing:.12em}.award-preview strong{font:700 22px Plus Jakarta Sans;line-height:1.05;margin-top:5px}.award-preview span{color:#aebbd0;font-size:11px;margin-top:5px}.award .no{font:700 13px Plus Jakarta Sans;color:var(--accent)}.award h3{font-size:18px}.award p{margin:3px 0 0}.award p,.year{color:var(--muted);font-size:12px}.timeline{max-width:900px;margin:auto;border-left:1px solid rgba(73,214,200,.3)}.job{margin-left:28px;padding:0 0 42px 30px;position:relative}.job:before{content:"";position:absolute;width:10px;height:10px;background:var(--accent);border-radius:50%;left:-34px;top:8px;box-shadow:0 0 0 6px rgba(73,214,200,.08)}.job small{color:var(--accent);font-weight:700}.job h3{font-size:21px;margin:4px 0}.job p{color:var(--muted);font-size:13px;margin:5px 0;max-width:650px}.contactbox{padding:55px;border-radius:18px;background:linear-gradient(135deg,#12273a,#0d1a2c);border:1px solid rgba(73,214,200,.2);text-align:center}.contactbox h2{font-size:clamp(38px,5vw,64px);letter-spacing:-.05em}.contactbox p{color:var(--muted);margin:14px auto 28px;max-width:560px}footer{padding:32px 0;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.foot{display:flex;justify-content:space-between;gap:20px}@media (prefers-reduced-motion:no-preference){html.js .reveal:not(.revealed){transition:opacity .6s var(--ease-out),transform .6s var(--ease-out),border-color .3s ease,background-color .3s ease,box-shadow .38s ease}html.js .reveal:not(.show){opacity:0;transform:translateY(20px)}html.js .hero .reveal:not(.show){animation:reveal-failsafe 1ms 2.5s forwards}@keyframes reveal-failsafe{to{opacity:1;transform:none}}}@media(max-width:900px){.links{display:none}.hero{grid-template-columns:1fr;padding-top:55px}.visual{height:460px}.aboutgrid{grid-template-columns:1fr}.skills{grid-template-columns:1fr 1fr}.projects{grid-template-columns:1fr}.award{grid-template-columns:50px 1fr 30px}.year{display:none}}@media(max-width:560px){.container,.navin{width:calc(100% - 28px)}.site-nav{height:70px}.navcta{display:none}.hero{gap:25px}.hero h1{font-size:14vw}.visual{height:390px}.orbit{width:330px;height:330px}.portrait{width:255px;height:320px}.float{display:none}.section{padding:80px 0}.skills,.stats{grid-template-columns:1fr}.award{padding:18px 14px;gap:10px}.contactbox{padding:38px 20px}.foot{flex-direction:column}}.real-portrait{background:transparent;border:none;overflow:visible;box-shadow:none;width:390px;height:500px;border-radius:0;display:flex;align-items:flex-end;justify-content:center;z-index:3}.real-portrait:after,.real-portrait:before{display:none!important}.real-portrait img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 28px 35px rgba(0,0,0,.42));transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .5s ease}.visual:hover .real-portrait img{transform:translateY(-5px) scale(1.015);filter:drop-shadow(0 34px 42px rgba(0,0,0,.5))}@media(max-width:560px){.real-portrait{width:285px;height:365px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.001ms!important;transition-duration:.001ms!important}}.project{position:relative}.project-link{position:absolute;inset:0;z-index:3;border-radius:15px}.project-link:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.thumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .45s ease}.thumb-img--hover{opacity:0}.project:focus-within .thumb-img--hover,.project:hover .thumb-img--hover{opacity:1}.thumb.has-image .diagram{display:none}.thumb.has-image .num{z-index:1}.award-arrow{color:inherit}.award-arrow:focus-visible,.award-arrow:hover{color:var(--accent)}.award-preview{background-size:cover;background-position:50%}.award-preview.has-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(5,14,25,.88))}.award-preview .ap-content{z-index:1}.section.feed{background:linear-gradient(180deg,var(--bg),#0a1424 50%,var(--bg));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ach-carousel{position:relative;outline:none}.ach-carousel:focus-visible{box-shadow:0 0 0 2px var(--accent);border-radius:18px}.ach-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;gap:0}.ach-track::-webkit-scrollbar{display:none}.ach-slide{flex:0 0 100%;scroll-snap-align:start;padding:2px}.ach-card{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:34px;gap:34px;padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--card2);min-height:420px}.ach-slide--featured .ach-card{border-color:rgba(73,214,200,.55);box-shadow:0 0 0 1px rgba(73,214,200,.18),0 28px 70px rgba(0,0,0,.35);background:linear-gradient(145deg,#12273a,var(--card2))}.ach-media{gap:14px;min-width:0}.ach-gallery,.ach-media{display:flex;flex-direction:column}.ach-gallery{gap:10px}.ach-main-image{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px;background:#15263a}.ach-thumbs{display:flex;gap:8px;overflow-x:auto}.ach-thumbs button{flex:0 0 72px;height:52px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:none;cursor:pointer;opacity:.6;transition:.2s}.ach-thumbs button.is-active,.ach-thumbs button:hover{opacity:1;border-color:var(--accent)}.ach-thumbs img{width:100%;height:100%;object-fit:cover}.ach-video{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;aspect-ratio:16/9;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,#16334a,#0b1727);color:var(--text);font:700 13px Plus Jakarta Sans;letter-spacing:.08em;cursor:pointer;transition:.25s}.ach-video:hover{border-color:rgba(73,214,200,.6);transform:translateY(-2px)}.ach-play{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--accent);color:#04110f}.ach-video-frame{width:100%;aspect-ratio:16/9;border:0;border-radius:12px;background:#000}.ach-text{display:flex;flex-direction:column;gap:12px;min-width:0}.ach-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ach-category{letter-spacing:.13em;color:var(--accent);text-transform:uppercase}.ach-badge,.ach-category{font-size:10px;font-weight:800}.ach-badge{letter-spacing:.1em;padding:4px 8px;border-radius:5px;background:hsla(0,0%,100%,.08);color:#dbe4f2}.ach-badge--new{background:var(--accent);color:#04110f}.ach-text h3{font-size:clamp(24px,3vw,34px);line-height:1.1;letter-spacing:-.03em}.ach-when{font-size:12px;color:var(--muted)}.ach-summary{margin:0;color:#dbe4f2;font-size:15px}.ach-body{color:var(--muted);font-size:13px}.ach-body p{margin:0 0 10px}.ach-body a{color:var(--accent);text-decoration:underline}.ach-text .btn{align-self:flex-start;margin-top:auto}.ach-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px}.ach-arrow{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:18px;cursor:pointer;transition:.25s}.ach-arrow:hover:not(:disabled){border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.ach-arrow:disabled{opacity:.35;cursor:default}.ach-count{min-width:54px;text-align:center;font:700 13px Plus Jakarta Sans;color:var(--muted)}.ach-dots{display:flex;gap:8px}.ach-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:hsla(0,0%,100%,.2);cursor:pointer;transition:.25s}.ach-dots button.is-active{width:26px;border-radius:6px;background:var(--accent)}@media(max-width:900px){.ach-card{grid-template-columns:1fr;gap:20px;padding:18px;min-height:0}.ach-dots{display:none}}@media (prefers-reduced-motion:reduce){.ach-track{scroll-behavior:auto}}.ach-slide{min-width:0}.ach-body,.ach-summary,.ach-text{overflow-wrap:anywhere}.ach-dots button{position:relative}.ach-dots button:before{content:"";position:absolute;inset:-8px -4px}.ach-thumbs{padding:3px}.ach-thumbs button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ach-arrow:focus-visible,.ach-dots button:focus-visible,.ach-video:focus-visible{outline:2px solid var(--accent);outline-offset:3px}:root{--ease-out:cubic-bezier(.22,.8,.2,1)}html{scroll-padding-top:96px}.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;z-index:200;pointer-events:none}.links a.active{color:#fff}.links a.active:after{width:100%}.stat strong{position:relative;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:4ch}.count-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.section>.container>:is(.eyebrow,.title,.subtitle){animation:rise linear both;animation-timeline:view();animation-range:entry 0 entry 55%}}}@media print{.reveal,.section>.container>:is(.eyebrow,.title,.subtitle){opacity:1!important;transform:none!important;animation:none!important;transition:none!important}.scroll-progress{display:none}}