:root{--ink: #f3f8ff;--muted: #a8b8ce;--paper: #050914;--surface: #0a1120;--line: rgb(93 159 255 / 24%);--cyan: #19c9ff;--violet: #8955ff;--glow: 0 0 0 1px rgb(81 175 255 / 12%), 0 18px 45px rgb(0 0 0 / 32%), 0 0 35px rgb(25 201 255 / 8%);--max-width: 1120px;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.6}body:before{position:fixed;z-index:-1;inset:0;content:"";pointer-events:none;background-image:linear-gradient(rgb(84 137 219 / 5%) 1px,transparent 1px),linear-gradient(90deg,rgb(84 137 219 / 5%) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent 62%);mask-image:linear-gradient(to bottom,#000 0%,transparent 62%)}a{color:inherit}.container{width:min(calc(100% - 40px),var(--max-width));margin:0 auto}.skip-link{position:fixed;z-index:30;top:-48px;left:12px;padding:8px 12px;background:var(--cyan);color:#00131d}.skip-link:focus{top:12px}.site-header{position:sticky;z-index:10;top:0;border-bottom:1px solid rgb(120 173 255 / 10%);background:#050914c7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav-wrap{display:flex;min-height:68px;align-items:center;justify-content:space-between;gap:24px}.brand{color:var(--ink);font-size:18px;font-weight:850;letter-spacing:-.045em;text-decoration:none;white-space:nowrap}.brand-prefix{color:#9aabc5;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.brand span{color:var(--cyan);text-shadow:0 0 16px rgb(25 201 255 / 70%)}.brand .brand-prefix{text-shadow:none}nav{display:flex;align-items:center;gap:21px}nav a{color:#c6d2e7;font-size:14px;font-weight:650;text-decoration:none;transition:color .18s ease,text-shadow .18s ease}nav a:hover,nav a:focus-visible{color:#fff;text-shadow:0 0 15px rgb(25 201 255 / 72%)}.nav-contact{padding:7px 13px;border:1px solid rgb(25 201 255 / 55%);border-radius:999px;color:#e9fcff}.hero{position:relative;isolation:isolate;min-height:700px;padding:clamp(80px,12vw,148px) 0 clamp(90px,12vw,140px);overflow:hidden;background:radial-gradient(circle at 78% 44%,rgb(104 64 255 / 23%),transparent 31%),radial-gradient(circle at 20% 30%,rgb(0 188 255 / 23%),transparent 31%),linear-gradient(125deg,#07101f,#060b17 52%,#090819)}.hero:before{position:absolute;z-index:-1;inset:0;content:"";opacity:.56;background:linear-gradient(90deg,#050914eb,#0509149e 48%,#0509146b),url(/work/hospicare-m2000.jpg) center / cover;filter:saturate(1.16) contrast(1.1)}.hero:after{position:absolute;z-index:-1;right:-18vw;bottom:-28vw;width:62vw;height:62vw;content:"";border:1px solid rgb(25 201 255 / 20%);border-radius:50%;box-shadow:0 0 80px #19c9ff1f,inset 0 0 80px #8955ff1c;animation:halo-drift 12s ease-in-out infinite alternate}.hero-grid{display:grid;grid-template-columns:1.22fr .78fr;align-items:center;gap:clamp(36px,7vw,100px)}.eyebrow,.section-kicker,.card-label,.period{margin:0;color:var(--cyan);font-size:12px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{max-width:720px;margin:9px 0 19px;font-size:clamp(58px,10vw,122px);letter-spacing:-.075em;line-height:.87;text-shadow:0 12px 40px rgb(0 0 0 / 35%)}h1 em,.section-heading h2{font-style:normal;background:linear-gradient(96deg,var(--cyan),#7b94ff 53%,var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}h2{max-width:760px;margin-bottom:20px;font-size:clamp(34px,4.6vw,56px);letter-spacing:-.05em;line-height:1.05}h3{margin-bottom:8px;font-size:22px;letter-spacing:-.025em;line-height:1.2}.hero-copy{max-width:610px;margin-bottom:29px;color:#c2d1e4;font-size:clamp(18px,2vw,22px);line-height:1.52}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-block;padding:12px 18px;border:1px solid rgb(124 179 255 / 42%);border-radius:7px;font-weight:800;text-decoration:none;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.button-primary{border-color:transparent;background:linear-gradient(100deg,#12c8ee,#5378ff 55%,#8a51f9);box-shadow:0 11px 24px #1174ff45;color:#fff}.button-primary:hover,.button-primary:focus-visible{box-shadow:0 15px 34px #1174ff73,0 0 28px #19c9ff38;transform:translateY(-3px)}.button-secondary{background:#0509148c;color:#f1f6ff}.button-secondary:hover,.button-secondary:focus-visible{border-color:var(--cyan);box-shadow:0 0 24px #19c9ff1f;transform:translateY(-3px)}.hero-aside{display:grid;gap:17px}.hero-card{position:relative;display:flex;flex-direction:column;padding:26px;overflow:hidden;border:1px solid rgb(99 157 255 / 38%);border-radius:16px;background:radial-gradient(circle at 84% 15%,rgb(137 85 255 / 24%),transparent 32%),linear-gradient(145deg,#0d1d35f0,#060d1af5);box-shadow:var(--glow)}.hero-card>*{position:relative;z-index:1}.hero-education{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:15px;border-top:1px solid rgb(196 228 255 / 24%)}.hero-education .card-label{margin-top:0}.hero-university-mark{width:53px;height:53px;flex:0 0 auto;padding:7px;border:1px solid rgb(208 236 255 / 72%);border-radius:12px;background:#fafdfff5;box-shadow:0 8px 23px #0000004d,0 0 22px #19c9ff33;object-fit:contain}.card-label{margin:13px 0 1px;color:#91dfff}.card-label:first-child{margin-top:0}.card-value{margin-bottom:0;color:#eef6ff;font-weight:700;line-height:1.35}.signal-card{position:relative;height:106px;overflow:hidden;border:1px solid rgb(92 164 255 / 27%);border-radius:14px;background:radial-gradient(circle at 50% 50%,rgb(19 201 255 / 18%) 0 12%,transparent 13% 31%,rgb(90 102 255 / 10%) 32% 33%,transparent 34% 49%,rgb(19 201 255 / 9%) 50% 51%,transparent 52%),#050b18b8;box-shadow:var(--glow)}.signal-card:before,.signal-card:after{position:absolute;content:"";border:1px solid rgb(25 201 255 / 28%);border-radius:50%;animation:orbit 12s linear infinite}.signal-card:before{inset:15px 36%}.signal-card:after{inset:26px 45%;animation-direction:reverse;animation-duration:8s}.signal-core{position:absolute;z-index:1;top:50%;left:50%;display:grid;width:40px;height:40px;place-items:center;transform:translate(-50%,-50%);border-radius:50%;background:linear-gradient(145deg,#21d5fc,#7353ff);box-shadow:0 0 0 8px #19c9ff1a;color:#fff;font-size:14px;font-weight:850;letter-spacing:-.06em}.signal-chip{position:absolute;z-index:1;padding:3px 8px;border:1px solid rgb(146 196 255 / 23%);border-radius:999px;background:#0a152ae0;box-shadow:0 5px 16px #0003;color:#d5ecff;font-size:11px;font-weight:800}.chip-one{top:19px;left:16%;animation:float 4s ease-in-out infinite}.chip-two{right:16%;bottom:17px;animation:float 4s ease-in-out 1s infinite}.chip-three{top:22px;right:15%;animation:float 4s ease-in-out 2s infinite}.section{position:relative;padding:clamp(78px,10vw,125px) 0}.section-tint{background:linear-gradient(180deg,#080f1de0,#050a14f5)}.split-section{display:grid;grid-template-columns:.56fr 1.44fr;gap:clamp(30px,7vw,110px)}.lead{color:#e7f1ff!important;font-size:21px;line-height:1.55}.split-section p:not(.section-kicker){max-width:760px;color:var(--muted)}.section-heading{margin-bottom:40px;text-align:center}.section-heading .section-kicker{margin-bottom:10px}#experience .container{position:relative}#experience .container:after{position:absolute;z-index:0;top:174px;bottom:38px;left:50%;width:2px;content:"";background:linear-gradient(var(--cyan),var(--violet),rgb(137 85 255 / 5%));box-shadow:0 0 16px #19c9ff70}.experience-card{position:relative;z-index:1;width:calc(50% - 44px);margin:28px 0;padding:26px;border:1px solid rgb(77 167 255 / 25%);border-radius:13px;background:linear-gradient(145deg,#0f1b33de,#070e1cf0);box-shadow:var(--glow);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.experience-card:nth-of-type(odd){margin-left:auto}.experience-card:nth-of-type(2n){margin-right:auto}.experience-card:before{position:absolute;top:50%;width:11px;height:11px;content:"";border:3px solid #06101e;border-radius:50%;background:var(--cyan);box-shadow:0 0 16px var(--cyan)}.experience-card:nth-of-type(odd):before{left:-51px}.experience-card:nth-of-type(2n):before{right:-51px}.experience-card:hover{border-color:#26cfff9e;box-shadow:0 20px 46px #00000061,0 0 34px #19c9ff29;transform:translateY(-5px)}.experience-meta{display:flex;gap:12px;color:#75daf9;font-size:13px;font-weight:750}.company{margin-bottom:4px;color:#8fc5ff;font-size:13px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.experience-content ul{margin:14px 0 0;padding-left:19px;color:var(--muted)}.experience-content li{margin:6px 0}.experience-logos{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:19px;padding-top:16px;border-top:1px solid rgb(105 178 255 / 16%)}.experience-logos>span{margin-right:2px;color:#7adbf9;font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.experience-logos img{width:auto;height:20px;max-width:96px;object-fit:contain;filter:brightness(0) invert(1) opacity(.86)}.work-section{background:radial-gradient(circle at 15% 10%,rgb(25 201 255 / 11%),transparent 27%),radial-gradient(circle at 85% 78%,rgb(137 85 255 / 10%),transparent 25%)}.work-intro{max-width:720px;margin:-16px auto 35px;color:var(--muted);font-size:18px;text-align:center}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.work-card{min-height:350px;padding:0;overflow:hidden;border:1px solid rgb(85 170 255 / 28%);border-radius:13px;background:var(--surface);box-shadow:var(--glow);color:#fff;cursor:pointer;text-align:left;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.work-card:hover,.work-card:focus-visible{outline:none;border-color:#28d3ffb3;box-shadow:0 22px 46px #00000063,0 0 35px #19c9ff2b;transform:translateY(-8px)}.work-card img{display:block;width:100%;height:235px;object-fit:cover;filter:saturate(1.05) contrast(1.04);transition:transform .45s ease,filter .45s ease}.work-card:hover img,.work-card:focus-visible img{filter:saturate(1.22) contrast(1.08);transform:scale(1.055)}.work-card-visual,.work-dialog-visual{position:relative;display:grid;width:100%;min-height:235px;overflow:hidden;place-content:center;isolation:isolate;background:linear-gradient(135deg,#0c1d32,#102d50 54%,#084e65);color:#fff;text-align:center}.work-card-visual:before,.work-dialog-visual:before{position:absolute;z-index:-1;top:-35%;right:-16%;width:74%;aspect-ratio:1;border:1px solid rgb(255 255 255 / 24%);border-radius:50%;box-shadow:0 0 75px #19c9ff3d,inset 0 0 50px #8955ff33;content:""}.work-card-visual span,.work-dialog-visual span{font-size:clamp(26px,3vw,42px);font-weight:760;letter-spacing:-.055em;line-height:.8}.work-card-visual strong,.work-dialog-visual strong{color:#55e7ff;font-size:clamp(35px,4vw,63px);letter-spacing:-.08em;line-height:.88;text-shadow:0 0 26px rgb(25 201 255 / 55%)}.work-card-visual.worksapp,.work-dialog-visual.worksapp{background:linear-gradient(135deg,#093a3e,#1b7871 56%,#73afa4)}.work-card-visual.agency21,.work-dialog-visual.agency21{background:linear-gradient(135deg,#134928,#4ca366 54%,#a0d8a1)}.work-card-visual.agency21 strong,.work-dialog-visual.agency21 strong{color:#effff0}.work-card-visual.proptech,.work-dialog-visual.proptech{background:linear-gradient(135deg,#24173d,#4c2a79 52%,#0d7191)}.work-card-content{display:grid;gap:3px;padding:16px 17px 19px}.work-card-content strong{font-size:19px;letter-spacing:-.025em}.work-category{margin:0;color:#79dffa;font-size:11px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.work-open{margin-top:5px;color:#c7d8eb;font-size:13px;font-weight:750}.work-dialog-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:24px;background:#00040cc2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.work-dialog{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);width:min(980px,100%);max-height:min(700px,calc(100vh - 48px));overflow:auto;border:1px solid rgb(74 181 255 / 34%);border-radius:15px;background:#081221;box-shadow:0 25px 80px #00000094,0 0 52px #19c9ff21}.work-dialog>img{width:100%;min-height:310px;height:100%;object-fit:cover}.work-dialog-visual{min-height:310px;height:100%}.work-dialog-copy{align-self:center;padding:clamp(28px,5vw,54px)}.work-dialog-copy h2{margin-bottom:16px;font-size:clamp(32px,4vw,48px)}.work-dialog-copy>p:not(.work-category){color:var(--muted)}.work-dialog-close{position:absolute;z-index:1;top:12px;right:12px;display:grid;width:36px;height:36px;place-items:center;border:1px solid rgb(151 205 255 / 31%);border-radius:50%;background:#050e1dde;color:#fff;cursor:pointer;font-size:25px;line-height:1}.work-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.work-tags span{padding:5px 8px;border:1px solid rgb(100 178 255 / 20%);border-radius:999px;background:#19c9ff17;color:#a9ebff;font-size:12px;font-weight:750}.work-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.work-links a{padding:8px 12px;border:1px solid rgb(25 201 255 / 55%);border-radius:999px;background:#19c9ff1a;color:#e7fcff;font-size:13px;font-weight:800;text-decoration:none;transition:background .18s ease,transform .18s ease}.work-links a:hover,.work-links a:focus-visible{background:#19c9ff38;outline:none;transform:translateY(-2px)}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.skill-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:-12px 0 25px}.skill-filter button{padding:7px 13px;border:1px solid rgb(100 178 255 / 28%);border-radius:999px;background:#0d1a31a6;color:#b4c8e2;cursor:pointer;font:inherit;font-size:13px;font-weight:750;transition:transform .18s ease,border-color .18s ease,background .18s ease}.skill-filter button:hover,.skill-filter button.is-active{border-color:transparent;background:linear-gradient(100deg,#15c7ef,#7257fd);box-shadow:0 6px 18px #2e7bff45;color:#fff;transform:translateY(-2px)}.skill-card{min-height:170px;padding:23px;border:1px solid rgb(87 169 255 / 24%);border-radius:12px;background:linear-gradient(145deg,#0d1b32e3,#070e1cf0);box-shadow:var(--glow);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.skill-card:hover,.skill-card:focus{border-color:#26cfff99;outline:none;box-shadow:0 16px 34px #00000057,0 0 30px #19c9ff1f;transform:translateY(-5px)}.skill-card h3{margin-bottom:12px;font-size:18px}.skill-card p{margin-bottom:0;color:var(--muted);font-size:15px;line-height:1.5}.education-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.education-card{padding:28px;border:1px solid rgb(86 169 255 / 24%);border-radius:12px;background:linear-gradient(145deg,#0d1a30d4,#070d1aeb);box-shadow:var(--glow)}.education-card .period{margin-bottom:18px}.education-card h3{font-size:22px}.education-heading{display:flex;align-items:flex-start;gap:13px}.education-heading>img{width:38px;height:38px;flex:0 0 auto;object-fit:contain;filter:brightness(0) invert(1) opacity(.92)}.education-heading h3{margin-bottom:5px}.institution{color:#86dcfa;font-weight:750}.education-card p:not(.period):not(.institution){color:var(--muted)}.thesis{margin-bottom:0}.research-feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,5vw,64px);margin-top:20px;padding:30px;border:1px solid rgb(48 208 255 / 34%);border-radius:13px;background:radial-gradient(circle at 90% 15%,rgb(137 85 255 / 15%),transparent 32%),linear-gradient(145deg,#0c1e39eb,#070e1df5);box-shadow:0 0 0 1px #19c9ff12,0 20px 45px #0000004d,0 0 38px #19c9ff1a}.research-feature .section-kicker{margin-bottom:10px}.research-feature h3{margin-bottom:12px;font-size:clamp(24px,3vw,34px)}.research-feature p:not(.section-kicker),.research-feature li{color:var(--muted)}.research-feature ul{margin:0;padding-left:20px}.research-feature li{margin:9px 0}.research-visual{grid-column:1 / -1;margin:2px 0 0}.research-visual img{display:block;width:100%;border:1px solid rgb(123 181 255 / 30%);border-radius:9px;box-shadow:0 18px 38px #00000057}.research-visual figcaption{margin-top:10px;color:#91a8c6;font-size:12px;line-height:1.5}.contact-section{background:radial-gradient(circle at 50% 0%,rgb(25 201 255 / 15%),transparent 42%),#050a15;color:#fff}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:start}.contact-section .section-kicker{color:#89e7ff}.contact-section h2{margin-bottom:0}.contact-stack{display:grid;gap:18px}.contact-links{display:grid;gap:11px}.contact-links a{padding:13px 15px;border:1px solid rgb(94 182 255 / 23%);border-radius:9px;background:#0d1b3291;color:#f2f8ff;font-size:clamp(17px,2vw,20px);font-weight:700;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.contact-links a:hover{border-color:var(--cyan);box-shadow:0 0 26px #19c9ff21;transform:translate(5px)}.contact-form{display:grid;gap:14px;padding:22px;border:1px solid rgb(60 205 255 / 38%);border-radius:13px;background:linear-gradient(145deg,#0d1d35f0,#060d1af5);box-shadow:0 0 0 1px #19c9ff12,0 18px 42px #0000004d,0 0 32px #19c9ff17}.contact-form label{display:grid;gap:6px;color:#edf6ff;font-size:13px;font-weight:800}.contact-form input:not(.contact-honeypot):not([type=checkbox]),.contact-form textarea{width:100%;border:1px solid rgb(107 174 255 / 25%);border-radius:8px;outline:none;background:#030914a3;color:#f4f9ff;font:inherit;font-weight:500;transition:border-color .18s ease,box-shadow .18s ease}.contact-form input:not(.contact-honeypot):not([type=checkbox]){height:43px;padding:0 12px}.contact-form textarea{min-height:122px;padding:11px 12px;resize:vertical}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#7185a0}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #19c9ff1a}.contact-form .contact-consent{display:flex;align-items:flex-start;gap:9px;color:#a9bcd4;font-size:12px;font-weight:500;line-height:1.45}.contact-consent input{width:16px!important;height:16px!important;flex:0 0 16px!important;margin:2px 0 0;accent-color:var(--cyan)}.contact-consent a{color:#83e1fb;font-weight:750}.contact-form button{min-height:45px;border:0;border-radius:8px;background:linear-gradient(100deg,#13c8ef,#5379ff 55%,#8a51f9);box-shadow:0 10px 24px #1174ff3d;color:#fff;cursor:pointer;font:inherit;font-weight:850;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.contact-form button:hover:not(:disabled){box-shadow:0 14px 30px #1174ff66,0 0 24px #19c9ff33;transform:translateY(-2px)}.contact-form button:disabled{cursor:wait;opacity:.7}.contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.contact-status{margin:0;font-size:13px;font-weight:700}.contact-status.is-success{color:#76f1c6}.contact-status.is-error{color:#ffacbd}.contact-note{margin:-3px 0 0;color:#95a8c1;font-size:12px}.site-footer{padding:20px 0;border-top:1px solid rgb(109 169 255 / 12%);background:#030711;color:#8495ad;font-size:13px}.site-footer .container{display:flex;justify-content:space-between;gap:16px}.portfolio-disclaimer{width:min(calc(100% - 40px),var(--max-width));margin:13px auto 0;color:#71839e;font-size:11px;line-height:1.5;text-align:center}.privacy-link{display:block;width:fit-content;margin:9px auto 0;color:#a9c9e7;font-size:12px;text-underline-offset:3px}.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}.js .reveal.is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:no-preference){.hero .eyebrow,.hero h1,.hero-copy,.hero-actions,.hero-card,.signal-card{opacity:0;animation:rise-in .76s cubic-bezier(.16,1,.3,1) forwards}.hero h1{animation-delay:90ms}.hero-copy{animation-delay:.18s}.hero-actions{animation-delay:.27s}.hero-card{animation-delay:.17s}.signal-card{animation-delay:.28s}.signal-core{animation:core-pulse 3.2s ease-in-out infinite}.js .work-section.is-visible .work-card,.js .section.is-visible .skill-card,.js .section.is-visible .education-card,.js #experience.is-visible .experience-card{animation:card-in .6s cubic-bezier(.16,1,.3,1) both}.js .work-section.is-visible .work-card:nth-child(2),.js .section.is-visible .skill-card:nth-child(2),.js #experience.is-visible .experience-card:nth-of-type(2),.js .section.is-visible .education-card:nth-child(2){animation-delay:80ms}.js .work-section.is-visible .work-card:nth-child(3),.js .section.is-visible .skill-card:nth-child(3),.js #experience.is-visible .experience-card:nth-of-type(3){animation-delay:.16s}.js .work-section.is-visible .work-card:nth-child(4),.js .section.is-visible .skill-card:nth-child(4){animation-delay:.24s}.js .work-section.is-visible .work-card:nth-child(5),.js .section.is-visible .skill-card:nth-child(5){animation-delay:.32s}.js .work-section.is-visible .work-card:nth-child(6),.js .section.is-visible .skill-card:nth-child(6){animation-delay:.4s}.work-dialog-backdrop{animation:fade-in .18s ease both}.work-dialog{animation:dialog-in .3s cubic-bezier(.16,1,.3,1) both}}@keyframes float{50%{transform:translateY(-6px)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes halo-drift{to{transform:translate(-4vw,-2vw) scale(1.08)}}@keyframes rise-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes card-in{0%{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes core-pulse{50%{box-shadow:0 0 0 15px #19c9ff0a,0 0 28px #19c9ff45}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:760px){.container{width:min(calc(100% - 30px),var(--max-width))}.nav-wrap{min-height:58px}nav{gap:12px}nav a:not(.nav-contact){display:none}.hero{min-height:0}.hero-grid,.split-section,.contact-grid{grid-template-columns:1fr}.hero-aside{max-width:440px}#experience .container:after{top:170px;bottom:30px;left:5px}.experience-card,.experience-card:nth-of-type(odd),.experience-card:nth-of-type(2n){width:calc(100% - 27px);margin:20px 0 20px 27px}.experience-card:before,.experience-card:nth-of-type(odd):before,.experience-card:nth-of-type(2n):before{top:30px;left:-34px;right:auto}.experience-meta{flex-direction:row;justify-content:space-between}.work-grid,.skills-grid,.education-grid,.research-feature{grid-template-columns:1fr}.work-card{min-height:0}.work-card img{height:min(61vw,330px)}.work-dialog{grid-template-columns:1fr}.work-dialog>img{min-height:0;height:min(58vw,350px)}.site-footer .container{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.js .reveal{opacity:1;transform:none}}
