@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700;800;900&display=swap');
body:has(dialog[open]) .pointer-cursor{visibility:hidden}body.custom-cursor:has(dialog[open]),body.custom-cursor:has(dialog[open]) button{cursor:auto}
dialog .section-kicker{display:block}
.tile-front{animation:tile-hover 8s ease-in-out infinite}.glass-sphere{animation:sphere-hover 7s ease-in-out infinite}
@keyframes tile-hover{0%,100%{margin-top:0}50%{margin-top:-12px}}@keyframes sphere-hover{0%,100%{margin-bottom:0}50%{margin-bottom:12px}}
/* Reference-aligned layout and motion. Keep the abstract hero composition. */
body{font-family:'Geist','DM Sans',sans-serif}h1,h2,h3{font-family:'Geist','Manrope',sans-serif}.wrap{max-width:1280px;width:calc(100% - 48px)}.topbar{position:fixed;top:24px;left:max(16px,calc((100vw - 1280px)/2));right:max(16px,calc((100vw - 1280px)/2));height:74px;border-radius:32px;padding:0 24px;transition:box-shadow .3s,background .3s}.topbar.scrolled{box-shadow:0 10px 40px #1818280c;background:color-mix(in srgb,var(--card) 92%,transparent)}.topbar nav a{position:relative}.topbar nav a:after{content:'';position:absolute;bottom:-9px;left:50%;height:2px;width:0;background:var(--purple);box-shadow:0 0 10px #9146ff80;transition:width .25s;transform:translateX(-50%)}.topbar nav a:hover:after{width:20px}.hero{padding-top:125px;min-height:100svh;display:flex;flex-direction:column}.hero-inner{width:calc(100% - 48px);grid-template-columns:1.15fr 1fr;gap:80px;flex:1;min-height:620px;padding:45px 0 55px}.hero-copy>p{font-size:20px;line-height:1.6;max-width:550px}h1{font-size:72px;letter-spacing:-3.6px;line-height:1.12;margin:24px 0}.hero h1 .gradient{font-size:1.12em;background-size:200% auto;animation:gradient-drift 9s ease-in-out infinite}.dot-grid{background-image:radial-gradient(color-mix(in srgb,var(--muted) 48%,transparent) 1px,transparent 1px);background-size:16px 16px}.hero:before{content:'';pointer-events:none;position:absolute;inset:0;background:radial-gradient(ellipse at 50% 48%,transparent 25%,var(--bg) 100%)}.hero-inner,.tech-strip{position:relative}.hero-actions{margin-top:34px}.hero-socials{margin-top:32px}.art{height:490px;perspective:900px;--rx:0deg;--ry:0deg;--px:0px;--py:0px}.tile-front{transform:rotate(-9deg) rotateX(var(--rx)) rotateY(var(--ry));translate:var(--px) var(--py);transition:transform .25s ease-out,translate .35s ease-out;transform-style:preserve-3d;width:285px;height:340px;padding:30px}.tile-word{font-size:52px}.tile-back{width:285px;height:340px;transform:rotate(19deg) translate(35px,-4px) rotateY(var(--ry));transition:transform .3s}.glass-sphere{translate:calc(var(--px) * -1.5) calc(var(--py) * -1.5);transition:translate .5s ease-out;bottom:60px;right:0}.tile-bottom{margin-top:25px}.tech-strip{margin-top:auto}.tech-track{gap:24px}.tech-track span{padding:12px 24px;font-size:14px}.tech-strip:hover .tech-track{animation-play-state:paused}.section{padding-block:96px}h2{font-size:48px;letter-spacing:-1.8px}.section-kicker{display:none}.section-heading{display:block;margin-bottom:60px}.section-heading>p{font-size:18px;line-height:1.6;max-width:680px;margin-top:16px}.section-heading h2 .muted,.about-layout h2 .muted,.education-layout h2 .muted{background:linear-gradient(100deg,#a678f5,#29aee5);background-clip:text;-webkit-text-fill-color:transparent}.about-layout{grid-template-columns:1.15fr 1fr;gap:65px;align-items:center}.about-layout h2{line-height:1.12}.large-copy{font-size:18px;line-height:1.8}.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:24px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:30px;text-align:center}.stat-card b{font-size:38px;display:block;letter-spacing:-2px}.stat-card span{display:block;color:var(--muted);font-size:12px;margin-top:10px}.stat-card small{display:block;font-size:9px;color:var(--muted);margin-top:6px}.services-heading{text-align:center;margin:110px 0 55px}.services-heading p{font-size:18px;color:var(--muted);margin:18px auto 0;max-width:650px;line-height:1.6}.services{grid-template-columns:1fr 1fr;border:0;gap:24px;padding:0;margin-top:0}.services article{border:1px solid var(--line);border-radius:25px;background:var(--card);padding:32px;box-shadow:var(--shadow);position:relative;overflow:hidden;transition:transform .3s,border-color .3s}.services article:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--purple) 40%,var(--line))}.service-icon{width:48px;height:48px;border:1px solid var(--line);border-radius:14px;display:grid;place-items:center;background:var(--surface)}.services h3{font-size:23px;margin:23px 0 13px}.services p{max-width:100%;font-size:16px;line-height:1.7}.project-section{background:var(--bg);border:0}.project-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}.project-card{grid-column:span 7}.project-card:nth-child(2),.project-card:nth-child(3){grid-column:span 5}.project-open{position:relative;height:420px;border-radius:36px;overflow:hidden;box-shadow:0 14px 26px #16162212;border:1px solid var(--line)}.project-card:nth-child(n+3) .project-open{height:360px}.project-art{height:100%;border-radius:0;border:0;transition:transform .7s,filter .7s}.project-open:hover .project-art{transform:scale(1.05)}.project-open:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 24%,#13102030 50%,#101018ed 100%);pointer-events:none}.project-info{position:absolute;inset:auto 32px 30px;z-index:1;padding:0;color:white;transition:translate .3s;translate:0 7px}.project-open:hover .project-info{translate:0 0}.project-category{color:#ffffffb3;font-size:9px}.project-title{margin-top:9px;gap:15px}.project-title h3{font-size:29px;letter-spacing:-.8px;font-weight:800}.project-title>span{width:48px;height:48px;flex-shrink:0;border-radius:50%;border:1px solid #ffffff55;background:#ffffff25;display:grid;place-items:center;transform:rotate(45deg);transition:transform .3s,background .3s,color .3s;backdrop-filter:blur(8px)}.project-open:hover .project-title>span{transform:rotate(0);background:#fff;color:#111}.project-info p{color:#ffffffc9;font-size:14px;line-height:1.6;max-width:90%;margin-top:4px}.mini-app{width:83%;height:280px;transform:rotate(-9deg) translateY(-20px)}.mini-main h4{font-size:21px}.mini-lines{margin-top:35px}.mini-lines>div{height:155px}.mini-lines i{height:29px}.mini-side{font-size:10px}.studio-poster{height:340px;width:82%;transform:rotate(8deg) translateY(-5px)}.studio-poster strong{font-size:68px}.analytics-panel{height:290px;width:85%;transform:rotate(-7deg) translateY(-15px)}.analytics-panel .chart{height:155px}.notes-poster{height:310px;transform:rotate(8deg) translateY(-10px)}.note-landscape{height:170px}.career-section .section-heading{text-align:center}.career-section .section-heading>p{margin:18px auto 0}.timeline{position:relative;padding:12px 0 0;--progress:0%}.timeline:before,.timeline:after{content:'';position:absolute;width:3px;left:50%;top:0;bottom:0;background:#9146ff22;border-radius:10px}.timeline:after{bottom:auto;height:var(--progress);background:linear-gradient(#22d3ee,#6366f1,#a855f7);box-shadow:0 0 15px #9146ff70}.timeline-glow{position:absolute;left:50%;top:var(--progress);width:16px;height:16px;border-radius:50%;background:#b37bf8;box-shadow:0 0 16px 5px #a855f77a,0 0 40px 12px #6366f14d;transform:translate(-40%,-50%);z-index:2}.timeline article{width:calc(50% - 40px);border:1px solid var(--line);border-radius:13px;padding:26px;margin-bottom:95px;display:flex;flex-direction:column;gap:12px;background:var(--card);box-shadow:0 6px 12px #1515240b}.timeline article:nth-of-type(even){margin-left:calc(50% + 40px)}.timeline article:before{left:auto;right:-50px;top:50%;width:16px;height:16px;border:4px solid var(--bg);box-shadow:0 0 0 2px var(--line);z-index:3}.timeline article:nth-of-type(even):before{right:auto;left:-50px}.timeline article.is-past:before{box-shadow:0 0 0 2px var(--purple),0 0 20px #9146ff50}.timeline time{font-size:13px;color:var(--text);font-weight:700}.timeline h3{font-size:21px}.timeline h4{color:var(--muted);font-size:15px}.timeline p{font-size:15px;line-height:1.7}.education-section{background:var(--bg);border:0}.education-layout{display:block}.education-layout>div>h2 br{display:none}.education-layout>div>h2{margin-bottom:45px}.education-item{border:1px solid var(--line);border-radius:25px;padding:30px;margin-top:24px;box-shadow:var(--shadow)}.education-item h3{font-size:24px}.education-item p{font-size:16px}.skills-panel{margin-top:65px;display:grid;grid-template-columns:1fr 1fr;gap:20px 45px;padding:36px;border-radius:28px}.skills-panel .small-label{grid-column:1/-1;margin:0}.skills-panel h3{margin:0;font-size:32px}.skills-panel p{align-self:center;font-size:16px}.skill-tags{margin:0;align-content:start}.skill-tags span{font-size:13px}.learning-note{margin:0;align-self:end;font-size:14px}.contact-section{width:calc(100% - 48px);border:1px solid var(--line);border-radius:48px;background:radial-gradient(ellipse at 95% 0%,#a571ed12,transparent 55%),var(--surface);text-align:left;padding:60px;display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-block:80px 90px}.contact-section h2{font-size:56px;margin:25px 0;letter-spacing:-2px}.contact-section .availability{font-size:8px}.contact-copy>p{line-height:1.7;color:var(--muted);font-size:16px}.contact-form{display:flex;flex-direction:column;gap:18px}.contact-form label{font-size:13px;font-weight:600;display:grid;gap:8px}.contact-form input,.contact-form textarea{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:14px;font:inherit;outline-offset:4px}.contact-form textarea{resize:vertical;min-height:115px}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--purple)}.contact-form .button{border:0}.contact-form .form-note{font-size:11px;line-height:1.6;color:var(--muted)}.footer-marquee{overflow:hidden;border-block:1px solid var(--line);padding:35px 0;margin-bottom:32px;user-select:none}.footer-marquee-track{width:max-content;display:flex;gap:60px;font-size:clamp(40px,6vw,90px);letter-spacing:-3px;font-weight:800;animation:marquee 35s linear infinite;color:var(--text)}.footer-marquee-track em{font-style:normal;color:transparent;-webkit-text-stroke:1px var(--muted)}.dock{gap:12px;padding:10px;bottom:20px;align-items:flex-end}.dock a{width:46px;height:46px;transform-origin:bottom;transition:scale .18s,translate .18s,background .2s;scale:var(--dock-scale,1);translate:0 var(--dock-rise,0px)}.dock a:hover{transform:none}.reveal{transition:opacity .7s ease,translate .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay,0ms)}.motion-ready .reveal:not(.in-view){opacity:0;translate:0 30px}.hero-copy>*{animation:hero-enter .75s both}.hero-copy>*:nth-child(2){animation-delay:.1s}.hero-copy>*:nth-child(3){animation-delay:.2s}.hero-copy>*:nth-child(4){animation-delay:.3s}.hero-copy>*:nth-child(5){animation-delay:.4s}.pointer-cursor{position:fixed;left:0;top:0;width:28px;height:31px;pointer-events:none;z-index:10000;opacity:0;filter:drop-shadow(0 0 4px #8b5cf62b);will-change:transform;transition:opacity .2s}.pointer-cursor svg{height:100%;width:100%;fill:var(--text);stroke:var(--bg);stroke-width:1.4;overflow:visible}.pointer-cursor.is-link svg{fill:var(--purple)}.cursor-ripple{position:fixed;left:0;top:0;width:28px;height:28px;border:1px solid #a678f5;pointer-events:none;z-index:9998;border-radius:50%;animation:cursor-ripple .6s ease-out forwards}.card-shine{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(220px circle at var(--shine-x,50%) var(--shine-y,50%),#a980ff18,transparent);opacity:0;pointer-events:none;transition:opacity .3s}.services article:hover .card-shine{opacity:1}@media(pointer:fine) and (prefers-reduced-motion:no-preference){body.custom-cursor,body.custom-cursor a,body.custom-cursor button{cursor:none}}@keyframes hero-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes gradient-drift{0%,100%{background-position:0% center}50%{background-position:100% center}}@keyframes cursor-ripple{from{opacity:.6;transform:translate(-50%,-50%) scale(.4)}to{opacity:0;transform:translate(-50%,-50%) scale(2.2)}}@media(max-width:1000px){.hero-inner{gap:35px;min-height:600px}.art{transform:scale(.85)}h1{font-size:61px}.hero-copy>p{font-size:18px}.project-title h3{font-size:24px}.about-layout{gap:35px}.stat-card{padding:25px 15px}.contact-section{padding:35px;gap:35px}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.topbar{top:15px;height:65px;padding:0 15px}.hero{padding-top:105px}.hero-inner{width:calc(100% - 40px);grid-template-columns:1fr;gap:15px;padding:25px 0 35px}.hero-copy>p{font-size:16px}.hero h1{font-size:57px;letter-spacing:-3px}.hero h1 .gradient{font-size:1.08em}.art{height:400px;transform:scale(.82)}.section{padding-block:65px}.section-heading{margin-bottom:35px}.section-heading>p,.services-heading p{font-size:16px}.about-layout{grid-template-columns:1fr}.about-stats{gap:14px}.stat-card{padding:25px 15px}.stat-card b{font-size:30px}.services-heading{margin:65px 0 30px}.services{grid-template-columns:1fr}.services article{padding:25px;display:block}.services h3{font-size:21px}.services p{font-size:15px}.project-grid{grid-template-columns:1fr}.project-card,.project-card:nth-child(n){grid-column:auto}.project-open,.project-card:nth-child(n+3) .project-open{height:360px;border-radius:28px}.project-info{inset:auto 24px 25px}.project-title h3{font-size:24px}.project-info p{font-size:13px;max-width:100%}.project-title>span{width:40px;height:40px}.timeline{padding-left:28px}.timeline:before,.timeline:after{left:8px}.timeline-glow{left:8px}.timeline article,.timeline article:nth-of-type(even){width:100%;margin-left:0;padding:23px;margin-bottom:40px}.timeline article:before,.timeline article:nth-of-type(even):before{left:-29px;right:auto}.timeline h3{font-size:19px}.timeline p{font-size:14px}.education-item{padding:25px}.education-item h3{font-size:21px}.skills-panel{display:block;padding:25px;margin-top:40px}.skills-panel h3{margin:18px 0}.skills-panel .skill-tags{margin-top:23px}.learning-note{margin-top:25px}.contact-section{display:block;width:calc(100% - 40px);padding:28px;border-radius:30px;margin-block:35px 65px}.contact-section h2{font-size:46px}.contact-form{margin-top:35px}.contact-section .availability{font-size:7px;letter-spacing:0}.dock{gap:7px;padding:8px;bottom:15px}.dock a{width:40px;height:40px}.pointer-cursor{display:none}.footer-marquee-track{letter-spacing:-1.5px}}@media(prefers-reduced-motion:reduce){.motion-ready .reveal:not(.in-view){opacity:1;translate:none}.pointer-cursor{display:none}.cursor-ripple{display:none}}
