@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";body{min-width:320px;margin:0}#root{min-height:100vh}:root{--ink:#101113;--paper:#e9e8e3;--muted:#92918c;--line:#e9e8e329;--acid:#8b7cff;--white:#f4f3ee;--mono:"DM Mono", monospace;--sans:"Manrope", sans-serif;font-family:var(--sans);color:var(--paper);background:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--ink);overflow-x:clip}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}.site-shell{background:var(--ink);min-height:100vh;color:var(--paper);transition:background-color .35s,color .35s;overflow:hidden}.site-shell.light{--ink:#f5f4ef;--paper:#25283a;--muted:#697080;--line:#25283a29;--acid:#3949ab;--white:#171a2b}.site-shell.dark{--ink:#101113;--paper:#e9e8e3;--muted:#92918c;--line:#e9e8e329;--acid:#8b7cff;--white:#f4f3ee}.navbar{border-bottom:1px solid var(--line);z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#101113e0;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(24px,5vw,80px);display:flex;position:sticky;top:0}.brand{color:var(--white);letter-spacing:-2px;background:0 0;border:0;padding:0;font-size:28px;font-weight:800;line-height:1}.brand span,.accent,em{color:var(--acid);font-style:normal}.nav-links{gap:38px;margin-left:10%;display:flex}.nav-links button,.nav-contact,footer button{color:var(--muted);text-transform:uppercase;font:500 10px var(--mono);letter-spacing:1px;background:0 0;border:0;transition:color .25s}.nav-links button span{color:var(--acid);margin-right:7px;font-size:9px}.nav-links button:hover,.nav-contact:hover,footer button:hover{color:var(--white)}.nav-contact{color:var(--white);align-items:center;gap:10px;display:flex}.nav-actions{align-items:center;gap:28px;display:flex}.theme-toggle{border:1px solid var(--line);color:var(--muted);background:0 0;align-items:center;gap:4px;padding:4px;display:inline-flex}.theme-icon{place-items:center;width:27px;height:24px;transition:background-color .25s,color .25s;display:grid}.theme-icon.active{color:var(--ink);background:var(--acid)}.theme-icon svg{width:14px;height:14px}svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.nav-contact svg{color:var(--acid)}.menu-toggle{display:none}.hero-section{isolation:isolate;background:#0b0d0d;grid-template-columns:1.05fr .95fr;align-items:center;max-width:1280px;min-height:min(780px,100vh - 76px);margin:0 auto;padding:110px clamp(24px,7vw,104px) 60px;display:grid;position:relative}.hero-section:before{content:"";z-index:-1;opacity:.22;pointer-events:none;background-image:radial-gradient(#ffffff2e .6px,#0000 .8px);background-size:4px 4px;position:absolute;inset:0}.hero-section:after{content:"";z-index:-1;opacity:.14;filter:blur(22px);pointer-events:none;background:#536b20;border-radius:50% 50% 8% 8%;width:190px;height:470px;position:absolute;top:92px;left:57%;transform:rotate(4deg)}.hero-copy{z-index:1;position:relative}.eyebrow,.section-label,.project-type,.about-meta span,.project-number{color:var(--muted);font:10px var(--mono);letter-spacing:1.2px;text-transform:uppercase}.eyebrow{align-items:center;gap:10px;margin:0 0 45px;display:flex}.status-dot{background:var(--acid);border-radius:50%;width:7px;height:7px;animation:2s infinite pulse;box-shadow:0 0 0 5px #d9ff5414}.hero-kicker{color:var(--muted);margin:0 0 5px;font-size:19px}h1,h2,h3,p{margin-top:0}h1{color:var(--white);letter-spacing:-8px;margin:0 0 24px;font-size:clamp(72px,10vw,142px);font-weight:800;line-height:.88}.hero-role{color:var(--paper);letter-spacing:-.8px;margin-bottom:26px;font-size:clamp(18px,2.1vw,26px)}.hero-role strong{color:var(--acid);font-weight:500}.cursor{color:var(--acid);margin-left:5px;animation:1s step-end infinite blink}.hero-intro,.section-description{max-width:390px;color:var(--muted);font-size:14px;line-height:1.8}.hero-actions{align-items:center;gap:28px;margin-top:37px;display:flex}.button{text-transform:uppercase;font:500 10px var(--mono);letter-spacing:.8px;border:1px solid #0000;align-items:center;gap:26px;padding:15px 19px;transition:transform .25s,background .25s,color .25s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button-primary{color:var(--ink);background:var(--acid)}.button-primary:hover{background:var(--white)}.button svg{stroke:var(--ink)}.text-button{color:var(--white);text-transform:uppercase;font:500 10px var(--mono);letter-spacing:.8px;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:inline-flex}.text-button:hover{color:var(--acid)}.text-button span{color:var(--acid);font-size:18px}.hero-art{place-items:center;height:440px;display:grid;position:relative}.art-ring{border:1px solid #d9ff543d;border-radius:0;animation:28s linear infinite rotate;position:absolute}.ring-one{border-left-color:var(--acid);width:370px;height:370px}.ring-two{border-right-color:#d9ff5480;width:300px;height:300px;animation-duration:21s;animation-direction:reverse}.portrait{background:#242624;border:1px solid #ffffff26;border-radius:32px;width:280px;height:280px;position:relative;overflow:hidden}.portrait-image{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.portrait-glow{background:var(--acid);filter:blur(70px);opacity:.18;width:180px;height:180px;position:absolute;top:22px;right:-30px}.portrait-head{background:#b7b7a3;border-radius:52% 48% 45%;width:108px;height:125px;position:absolute;top:40px;left:55px;transform:rotate(4deg)}.portrait-head:after{content:"";background:#272a27;border-radius:60% 50% 10% 10%;width:120px;height:65px;position:absolute;top:-9px;left:-5px;transform:rotate(-7deg)}.portrait-body{background:#505653;border-radius:50% 50% 0 0;width:220px;height:150px;position:absolute;bottom:-36px;left:0}.portrait-label{font:10px var(--mono);color:var(--acid);position:absolute;bottom:16px;left:20px}.orbit-note{font:9px/1.5 var(--mono);letter-spacing:1px;color:var(--muted);position:absolute}.orbit-note b{color:var(--white);font-weight:400}.note-top{top:15%;right:3%}.note-bottom{text-align:right;bottom:15%;left:3%}.scroll-cue{font:9px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:1px;position:absolute;bottom:26px;left:clamp(24px,7vw,104px)}.scroll-cue span{color:var(--acid);padding-left:13px;font-size:15px}.section{border-top:1px solid var(--line);max-width:1120px;margin:0 auto;padding:100px clamp(24px,7vw,80px)}.section-label{color:var(--acid);margin-bottom:60px}.about-grid,.skills-layout,.contact-grid{grid-template-columns:.7fr 1.3fr;gap:12%;display:grid}.about-mark{border:1px solid var(--line);min-height:300px;padding:25px;position:relative;overflow:hidden}.about-mark span{font:11px var(--mono);color:var(--muted)}.about-mark strong{letter-spacing:-5px;color:var(--white);font-size:clamp(45px,6vw,76px);line-height:.9;display:block;position:absolute;bottom:25px;left:25px}.about-mark i{border:1px solid var(--acid);width:100px;height:100px;position:absolute;top:-33px;right:-33px;transform:rotate(45deg)}.about-content h2,.skills-layout h2,.projects-heading h2,.contact-grid h2{color:var(--white);letter-spacing:-3px;margin:-9px 0 35px;font-size:clamp(36px,4vw,59px);font-weight:700;line-height:1.04}.about-content p{max-width:590px;color:var(--muted);margin-bottom:17px;font-size:14px;line-height:1.9}.about-meta{gap:70px;margin-top:42px;display:flex}.about-meta span{margin-bottom:8px;display:block}.about-meta strong{color:var(--white);font-size:13px;font-weight:500}.about-mark-image{object-fit:cover;opacity:.46;filter:saturate(.72);width:100%;height:100%;position:absolute;inset:0}.about-mark:after{content:"";pointer-events:none;background:linear-gradient(#10111333,#101113c7);position:absolute;inset:0}.about-mark span,.about-mark strong,.about-mark i{z-index:1}.skills-layout{gap:10%}.skills-panel{border-top:1px solid var(--line)}.skill-tabs{border-bottom:1px solid var(--line);gap:30px;padding:16px 0;display:flex}.skill-tabs button{color:var(--muted);text-transform:uppercase;font:10px var(--mono);background:0 0;border:0;padding:0}.skill-tabs button.active{color:var(--acid)}.skill-list{animation:.35s fade-in}.skill-item{border-bottom:1px solid var(--line);opacity:0;animation:.5s forwards rise;animation-delay:var(--delay);grid-template-columns:35px 1fr 20px;align-items:center;padding:21px 0;display:grid}.skill-item span{font:10px var(--mono);color:var(--muted)}.skill-item strong{color:var(--white);font-size:18px;font-weight:500}.skill-item i{color:var(--acid);font-style:normal;transition:transform .25s}.skill-item:hover i{transform:translate(3px,-3px)}.projects-heading{justify-content:space-between;align-items:end;margin-bottom:55px;display:flex}.projects-heading h2{margin:0}.project-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.project-card{min-width:0}.project-visual{height:230px;margin-bottom:23px;position:relative;overflow:hidden}.project-campus{background:#323c31}.project-finance{background:#b6c6af}.project-brief{background:#c1b29b}.project-number{color:#ffffffb3;z-index:2;position:absolute;top:17px;left:17px}.project-visual:before{content:"";border:1px solid #d9ff5480;border-radius:50%;width:190px;height:190px;position:absolute;bottom:-50px;right:-35px}.project-finance:before{border-color:#5b6c5a}.project-brief:before{border-color:#665d4e}.visual-ui{gap:4px;display:flex;position:absolute;top:29px;right:23px}.visual-ui i{background:var(--acid);border-radius:50%;width:5px;height:5px}.visual-title{color:var(--white);letter-spacing:-1.5px;font-size:27px;font-weight:700;position:absolute;bottom:24px;left:20px}.project-finance .visual-title{color:#253025}.project-brief .visual-title{color:#302b23}.project-type{margin-bottom:8px}.project-card h3{color:var(--white);letter-spacing:-.8px;margin:0 0 12px;font-size:20px}.project-card>p:not(.project-type){color:var(--muted);margin:0;font-size:12px;line-height:1.7}.project-footer{justify-content:space-between;align-items:center;margin-top:24px;display:flex}.tags{flex-wrap:wrap;gap:6px;display:flex}.tags span{color:var(--muted);border:1px solid var(--line);font:9px var(--mono);padding:5px 8px}.project-footer>a{color:var(--acid);padding:5px}.project-footer svg{fill:currentColor;stroke:none;width:18px;height:18px}.contact-section{padding-bottom:120px}.contact-grid{grid-template-columns:1fr 1fr;gap:15%}.contact-grid h2{margin-bottom:27px}.email-link{color:var(--acid);font:13px var(--mono);border-bottom:1px solid #d9ff5459;align-items:center;gap:14px;margin-top:33px;padding-bottom:8px;text-decoration:none;display:inline-flex}.email-link svg{width:14px}.socials{gap:11px;margin-top:37px;display:flex}.socials a{border:1px solid var(--line);width:37px;height:37px;color:var(--muted);place-items:center;transition:color .2s,border-color .2s;display:grid}.socials a:hover{color:var(--acid);border-color:var(--acid)}.socials svg{fill:currentColor;stroke:none;width:16px;height:16px}.contact-form{border-top:1px solid var(--line);padding-top:5px}.contact-form label{color:var(--muted);font:10px var(--mono);text-transform:uppercase;letter-spacing:1px;padding:20px 0 0;display:block}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--white);resize:vertical;font:14px var(--sans);background:0 0;outline:none;padding:13px 0 15px;display:block}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--acid)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#5e5e5a}.submit-button{margin-top:31px}.form-success{border-bottom:1px solid var(--line);padding:42px 0}.form-success>span{color:var(--acid);font-size:25px}.form-success h3{color:var(--white);margin:20px 0 8px;font-size:24px}.form-success p{color:var(--muted);margin-bottom:27px;font-size:13px}footer{border-top:1px solid var(--line);max-width:1120px;color:var(--muted);font:9px var(--mono);text-transform:uppercase;letter-spacing:1px;justify-content:space-between;margin:0 auto;padding:25px clamp(24px,7vw,80px);display:flex}.reveal{animation:.8s both rise}.reveal-delay{animation:.8s .2s both rise}.site-shell.light .navbar{background:#f5f4efe6}.site-shell.light .nav-links.open{background:#f5f4ef}.site-shell.light .portrait{background:#d9dce4;border-color:#25283a2e}.site-shell.light .portrait-glow{background:var(--acid)}.site-shell.light .portrait-head{background:#b7b7a3}.site-shell.light .portrait-head:after{background:#474b59}.site-shell.light .portrait-body{background:#777d91}.site-shell.light .project-campus{background:#66758c}.site-shell.light .project-finance{background:#c6d0df}.site-shell.light .project-brief{background:#ddd4c6}.site-shell.light .project-number{color:#171a2ba6}.site-shell.light .project-visual:before{border-color:#3949ab80}.site-shell.light .project-finance:before{border-color:#68799b}.site-shell.light .project-brief:before{border-color:#8f7c68}.site-shell.light .visual-title{color:var(--white)}.site-shell.light .project-finance .visual-title{color:#26304c}.site-shell.light .project-brief .visual-title{color:#3b3028}.site-shell.light .form-success>span{color:var(--acid)}@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pulse{50%{opacity:.35}}@keyframes blink{50%{opacity:0}}@keyframes rotate{to{transform:rotate(360deg)}}@media (width<=760px){.navbar{height:68px}.menu-toggle{background:0 0;border:0;flex-direction:column;gap:5px;margin-left:auto;margin-right:15px;padding:10px;display:flex}.menu-toggle span{background:var(--white);width:20px;height:1px;display:block}.nav-links{border-bottom:1px solid var(--line);background:#171819;flex-direction:column;gap:20px;margin:0;padding:20px 24px 25px;display:none;position:absolute;top:68px;left:0;right:0}.nav-links.open{display:flex}.nav-contact{display:none}.hero-section{min-height:auto;padding-top:75px;display:block}.eyebrow{margin-bottom:43px}.hero-art{height:350px;margin-top:42px}.ring-one{width:290px;height:290px}.ring-two{width:235px;height:235px}.portrait{transform:scale(.82)}.note-top{right:0}.note-bottom{left:0}.scroll-cue{margin-top:12px;position:static}.section{padding-top:72px;padding-bottom:75px}.section-label{margin-bottom:43px}.about-grid,.skills-layout,.contact-grid{grid-template-columns:1fr;gap:45px}.about-mark{min-height:200px}.about-content h2,.skills-layout h2,.projects-heading h2,.contact-grid h2{letter-spacing:-2px}.about-meta{gap:40px;margin-top:30px}.projects-heading{margin-bottom:35px;display:block}.projects-heading .text-button{margin-top:25px}.project-grid{grid-template-columns:1fr;gap:52px}.project-visual{height:250px}.contact-section{padding-bottom:80px}.contact-grid{gap:56px}.contact-form{padding-top:0}footer{flex-wrap:wrap;gap:18px;line-height:1.5}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.project-actions{align-items:center;gap:15px;display:flex}.project-actions a{color:var(--acid);padding:5px}.project-actions .demo-link{font:9px var(--mono);text-transform:uppercase;align-items:center;gap:5px;text-decoration:none;display:inline-flex}.project-actions .demo-link svg{stroke:currentColor;fill:none;width:12px;height:12px}.hero-section,.section,footer{width:100%}.hero-copy,.hero-art,.about-content,.skills-layout>div,.contact-grid>div,.project-card{min-width:0}.skill-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;display:grid}.project-visual{aspect-ratio:4/3;height:auto}@media (width>=1024px){.skill-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px}}@media (width>=761px) and (width<=1023px){.navbar{padding-inline:32px}.nav-links{gap:18px;margin-left:0}.nav-actions{gap:14px}.nav-contact{display:none}.hero-section{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);padding:84px 48px 60px}h1{letter-spacing:-5px;font-size:clamp(64px,11vw,100px)}.hero-art{transform-origin:50%;transform:scale(.85)}.section{padding-inline:48px}.about-grid,.skills-layout{gap:8%}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{gap:9%}}@media (width>=1024px) and (width<=1100px){.navbar{height:68px;padding-inline:32px}.menu-toggle{background:0 0;border:0;flex-direction:column;gap:5px;margin-left:auto;margin-right:15px;padding:10px;display:flex}.menu-toggle span{background:var(--white);width:20px;height:1px;display:block}.nav-links{border-bottom:1px solid var(--line);background:#171819;flex-direction:column;gap:20px;margin:0;padding:20px 32px 25px;display:none;position:absolute;top:68px;left:0;right:0}.nav-links.open{display:flex}.site-shell.light .nav-links.open{background:#f5f4ef}.nav-contact{display:none}.hero-section{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);padding:84px 48px 60px}h1{letter-spacing:-5px;font-size:clamp(64px,11vw,100px)}.hero-art{transform-origin:50%;transform:scale(.85)}.section{padding-inline:48px}.about-grid,.skills-layout{gap:8%}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{gap:9%}}@media (width<=760px){.hero-section{padding-inline:clamp(20px,6vw,32px)}h1{letter-spacing:-5px;overflow-wrap:anywhere;max-width:100%;font-size:clamp(64px,20vw,92px)}.hero-actions{flex-direction:column;align-items:stretch;gap:18px}.hero-actions .button{justify-content:space-between;width:100%;min-height:48px}.hero-actions .text-button{justify-content:center;min-height:44px}.section{padding-inline:clamp(20px,6vw,32px)}.skill-list{gap:0 16px}.skill-item{grid-template-columns:25px minmax(0,1fr) 16px}.skill-item strong{overflow-wrap:anywhere;font-size:15px}.project-visual{aspect-ratio:1.35}.project-footer{align-items:flex-start;gap:12px}.project-actions{flex-shrink:0;gap:8px}.project-actions .demo-link{white-space:nowrap}.contact-form input,.contact-form textarea{min-height:48px}.submit-button{justify-content:space-between;width:100%;min-height:48px}}@media (width>=761px) and (width<=1023px){.navbar{height:68px}.menu-toggle{background:0 0;border:0;flex-direction:column;gap:5px;margin-left:auto;margin-right:15px;padding:10px;display:flex}.menu-toggle span{background:var(--white);width:20px;height:1px;display:block}.nav-links{border-bottom:1px solid var(--line);background:#171819;flex-direction:column;gap:20px;margin:0;padding:20px 32px 25px;display:none;position:absolute;top:68px;left:0;right:0}.nav-links.open{display:flex}.site-shell.light .nav-links.open{background:#f5f4ef}}@media (width>=1280px){.hero-section,.section,footer{max-width:none;padding-inline:clamp(56px,5vw,96px)}.project-grid{gap:clamp(24px,2.5vw,42px)}}@media (width<=350px){.about-mark i{width:58px;height:58px;top:0;right:0;transform:none}}.project-ids{background:#303b31}.project-image{object-fit:cover;object-position:center bottom;width:100%;height:140%;position:absolute;inset:-18% 0 0}.project-ids .project-image{object-fit:cover;object-position:center top;width:100%;height:140%;inset:-25% 0 0}.project-finance:after{content:"";pointer-events:none;background:#0408162e;position:absolute;inset:0}.project-visual .project-number,.project-visual .visual-ui,.project-visual .visual-title{z-index:1}@media (width<=900px){.hero-section{grid-template-columns:minmax(0,1fr) minmax(250px,.8fr);gap:24px;padding-inline:40px}.hero-art{transform-origin:100%;transform:scale(.88)}.about-grid,.skills-layout,.contact-grid{gap:48px}.project-grid{gap:18px}.project-footer{flex-direction:column;align-items:flex-start}.project-actions{justify-content:space-between;width:100%}}@media (width<=760px){.hero-section{padding-inline:clamp(20px,6vw,32px);display:block}.hero-art{transform:none}.project-footer{flex-direction:row}}@media (width<=520px){.navbar{height:64px;min-height:64px;padding:env(safe-area-inset-top) 20px 0}.nav-actions{gap:10px}.theme-toggle{padding:3px}.theme-icon{width:25px;height:23px}.menu-toggle{justify-content:center;align-items:center;width:44px;height:44px;margin-right:3px}.nav-links{padding:16px 20px 20px;top:64px;box-shadow:0 18px 28px #0000002e}.nav-links button{text-align:left;min-height:36px}.hero-section{padding-top:58px}.eyebrow{align-items:flex-start;line-height:1.5}.hero-kicker{font-size:17px}.hero-role{font-size:18px;line-height:1.45}.hero-intro{font-size:13px}.hero-art{height:300px}.ring-one{width:250px;height:250px}.ring-two{width:205px;height:205px}.portrait{transform:scale(.72)}.orbit-note{font-size:8px}.section{padding-top:64px;padding-bottom:68px}.section-label{margin-bottom:34px}.about-content h2,.skills-layout h2,.projects-heading h2,.contact-grid h2{font-size:clamp(32px,10vw,46px)}.about-meta{flex-wrap:wrap;gap:24px 38px}.skill-tabs{gap:20px;overflow-x:auto}.skill-list{grid-template-columns:1fr}.project-grid{gap:44px}.project-visual{aspect-ratio:1.45}.project-footer{flex-direction:column;align-items:flex-start}.contact-section{padding-bottom:70px}.email-link{overflow-wrap:anywhere;max-width:100%}footer{flex-direction:column;align-items:flex-start;gap:14px}}
