:root{--bg: #07080f;--bg-soft: #0c0e1a;--surface: rgba(255, 255, 255, .04);--surface-hover: rgba(255, 255, 255, .07);--border: rgba(255, 255, 255, .09);--text: #eef0ff;--text-dim: #a3a8c3;--text-faint: #6b7091;--accent: #22d3ee;--accent-2: #a78bfa;--accent-3: #f472b6;--go: #00add8;--gradient: linear-gradient(120deg, var(--accent), var(--accent-2) 55%, var(--accent-3));--font-display: "Unbounded", sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--radius: 18px;--nav-h: 72px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:auto}html.custom-cursor,html.custom-cursor *{cursor:none!important}body{background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}::selection{background:#a78bfa66}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}.cursor-dot{position:fixed;top:-4px;left:-4px;width:8px;height:8px;border-radius:50%;background:var(--accent);z-index:10001;pointer-events:none}.cursor-ring{position:fixed;top:-18px;left:-18px;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--accent-2);z-index:10000;pointer-events:none}.cursor-glow{position:fixed;top:0;left:0;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.07) 0%,rgba(167,139,250,.05) 40%,transparent 70%);z-index:0;pointer-events:none}.nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .35s ease,backdrop-filter .35s ease,border-color .35s ease;border-bottom:1px solid transparent}.nav--scrolled{background:#07080fb8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom-color:var(--border)}.nav__progress{position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient);transform-origin:0 50%}.nav__inner{max-width:1200px;margin:0 auto;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 28px}.nav__logo{display:flex;align-items:baseline;gap:2px;font-family:var(--font-display);font-weight:800;font-size:22px;letter-spacing:.04em}.nav__logo-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}.nav__links{display:flex;gap:4px}.nav__link{padding:8px 14px;border-radius:999px;font-size:14px;font-weight:500;color:var(--text-dim);transition:color .25s,background .25s}.nav__link:hover{color:var(--text)}.nav__link--active{color:var(--text);background:var(--surface-hover)}.nav__lang{display:flex;border:1px solid var(--border);border-radius:999px;overflow:hidden}.nav__lang-btn{padding:6px 13px;font-family:var(--font-mono);font-size:12px;color:var(--text-faint);transition:color .25s,background .25s}.nav__lang-btn--active{color:var(--bg);background:var(--gradient);font-weight:600}.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.hero__bg{position:absolute;inset:0;z-index:-1}.hero__blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;animation:drift 18s ease-in-out infinite alternate}.hero__blob--1{width:520px;height:520px;background:#22d3ee29;top:-120px;left:-100px}.hero__blob--2{width:460px;height:460px;background:#a78bfa29;bottom:-140px;right:-60px;animation-delay:-6s}.hero__blob--3{width:340px;height:340px;background:#f472b61a;top:40%;left:55%;animation-delay:-12s}@keyframes drift{0%{transform:translate(0) scale(1)}to{transform:translate(60px,-50px) scale(1.15)}}.hero__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,black,transparent);mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,black,transparent)}.hero__inner{max-width:1200px;margin:0 auto;padding:calc(var(--nav-h) + 40px) 28px 60px;display:grid;grid-template-columns:1.35fr 1fr;gap:48px;align-items:center;width:100%}.hero__badge{display:inline-flex;align-items:center;gap:9px;padding:7px 16px;border:1px solid rgba(34,211,238,.35);border-radius:999px;background:#22d3ee12;font-family:var(--font-mono);font-size:12.5px;color:var(--accent);margin-bottom:28px}.hero__badge-pulse{width:8px;height:8px;border-radius:50%;background:#4ade80;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 #4ade8099}50%{box-shadow:0 0 0 7px #4ade8000}}.hero__hello{font-family:var(--font-mono);color:var(--text-dim);font-size:17px;margin-bottom:6px}.hero__name{font-family:var(--font-display);font-size:clamp(38px,5.4vw,68px);font-weight:800;line-height:1.08;margin-bottom:20px}.hero__name-gradient{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 200%;animation:gradient-shift 7s ease infinite}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.hero__role{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:clamp(17px,2.2vw,24px);min-height:36px;margin-bottom:24px}.hero__role-prefix{color:var(--accent)}.hero__role-text{color:var(--text);font-weight:600}.hero__tagline{color:var(--text-dim);font-size:16.5px;max-width:580px;margin-bottom:36px}.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:36px}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border-radius:999px;font-weight:600;font-size:15px;transition:transform .25s,box-shadow .25s,background .25s,border-color .25s}.btn--primary{background:var(--gradient);color:#05060c;box-shadow:0 8px 32px #22d3ee40}.btn--primary:hover{transform:translateY(-3px);box-shadow:0 14px 40px #a78bfa66}.btn--ghost{border:1px solid var(--border);color:var(--text);background:var(--surface)}.btn--ghost:hover{border-color:var(--accent-2);background:var(--surface-hover);transform:translateY(-3px)}.btn:disabled{opacity:.6;transform:none}.hero__socials{display:flex;gap:10px}.hero__social{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;border:1px solid var(--border);color:var(--text-dim);background:var(--surface);transition:color .25s,border-color .25s,transform .25s,background .25s}.hero__social:hover{color:var(--accent);border-color:#22d3ee80;transform:translateY(-4px)}.hero__photo{display:flex;justify-content:center}.photo-frame{position:relative;width:min(340px,70vw);aspect-ratio:4 / 5;border-radius:28px}.photo-frame__ring{position:absolute;inset:-3px;border-radius:30px;background:conic-gradient(from var(--ring-angle, 0deg),var(--accent),var(--accent-2),var(--accent-3),var(--accent));animation:ring-spin 6s linear infinite}@property --ring-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes ring-spin{to{--ring-angle: 360deg}}.photo-frame__inner{position:absolute;inset:0;border-radius:28px;overflow:hidden;background:var(--bg-soft)}.photo-frame__img{width:100%;height:100%;object-fit:cover;object-position:70% 20%;opacity:0;transition:opacity .6s ease}.photo-frame__img--visible{opacity:1}.photo-frame__placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(circle at 30% 25%,rgba(34,211,238,.12),transparent 55%),radial-gradient(circle at 75% 80%,rgba(167,139,250,.14),transparent 55%),var(--bg-soft)}.photo-frame__initials{font-family:var(--font-display);font-size:74px;font-weight:800;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.photo-frame__soon{font-family:var(--font-mono);font-size:12.5px;color:var(--text-faint)}.hero__scroll{position:absolute;bottom:28px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.hero__scroll-line{width:1px;height:42px;background:linear-gradient(var(--accent),transparent);animation:scroll-hint 1.8s ease-in-out infinite}@keyframes scroll-hint{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.section{position:relative;padding:110px 0}.section__inner{max-width:1200px;margin:0 auto;padding:0 28px}.section__kicker{font-family:var(--font-mono);font-size:13.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.section__title{font-family:var(--font-display);font-size:clamp(28px,3.6vw,44px);font-weight:600;line-height:1.18;margin-bottom:18px}.section__subtitle{color:var(--text-dim);max-width:620px;margin-bottom:14px}.about{background:linear-gradient(180deg,transparent,rgba(167,139,250,.035) 50%,transparent)}.about__grid{display:grid;grid-template-columns:1.4fr 1fr;gap:56px;margin-top:36px;align-items:start}.about__paragraph{color:var(--text-dim);font-size:17px;margin-bottom:22px}.about__paragraph:first-of-type:first-letter{font-family:var(--font-display);font-size:2.1em;line-height:1;float:left;margin:4px 10px 0 0;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.about__stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stat-card{padding:26px 22px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;gap:8px;transition:border-color .3s,background .3s}.stat-card:hover{border-color:#22d3ee66;background:var(--surface-hover)}.stat-card__value{font-family:var(--font-display);font-size:34px;font-weight:800;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.stat-card__label{font-size:13.5px;color:var(--text-dim)}.timeline{margin-top:48px;display:flex;flex-direction:column;gap:44px}.timeline__item{display:grid;grid-template-columns:40px 1fr;gap:20px}.timeline__marker{position:relative;display:flex;justify-content:center}.timeline__dot{width:16px;height:16px;border-radius:50%;background:var(--accent, #22d3ee);background:var(--accent);box-shadow:0 0 18px var(--accent);margin-top:34px;z-index:1}.timeline__line{position:absolute;top:56px;bottom:-50px;width:1.5px;background:linear-gradient(var(--accent),transparent);opacity:.35}.timeline__item:last-child .timeline__line{display:none}.job-card{border:1px solid var(--border);border-radius:22px;background:var(--surface);padding:32px 34px;transition:border-color .3s,box-shadow .3s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.job-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent);box-shadow:0 20px 60px -30px color-mix(in srgb,var(--accent) 35%,transparent)}.job-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:14px}.job-card__brand{display:flex;align-items:center;gap:16px}.job-card__logo{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;border:1px solid var(--border);background:#ffffff0d;flex-shrink:0;transition:border-color .25s,transform .25s,box-shadow .25s}.job-card__logo:hover{border-color:color-mix(in srgb,var(--accent) 55%,transparent);transform:translateY(-3px);box-shadow:0 8px 24px -8px color-mix(in srgb,var(--accent) 50%,transparent)}.job-card__logo img{width:30px;height:30px;object-fit:contain;border-radius:7px}.job-card__company{font-family:var(--font-display);font-size:26px;font-weight:600;color:var(--accent)}.job-card__company a{display:inline-flex;align-items:center;gap:8px;transition:opacity .25s}.job-card__company a:hover{opacity:.8}.job-card__ext{opacity:0;transform:translate(-3px,3px);transition:opacity .25s,transform .25s}.job-card__company a:hover .job-card__ext{opacity:1;transform:translate(0)}.job-card__role{font-size:15.5px;color:var(--text);font-weight:600;margin-top:2px}.job-card__period{font-family:var(--font-mono);font-size:13px;color:var(--text-faint);padding:6px 14px;border:1px solid var(--border);border-radius:999px;white-space:nowrap}.job-card__summary{color:var(--text-dim);margin-bottom:18px}.job-card__steps{margin-bottom:18px;border:1px dashed var(--border);border-radius:12px;padding:10px 16px}.job-card__steps summary{font-family:var(--font-mono);font-size:13px;color:var(--accent);cursor:pointer}.job-card__steps ul{list-style:none;margin-top:10px;display:flex;flex-direction:column;gap:6px}.job-card__steps li{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--text-dim)}.job-card__step-period{font-family:var(--font-mono);font-size:12.5px;color:var(--text-faint);white-space:nowrap}.job-card__highlights{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:22px}.job-card__highlights li{position:relative;padding-left:22px;color:var(--text-dim);font-size:15px}.job-card__highlights li:before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:2px;background:var(--accent);transform:rotate(45deg);opacity:.8}.job-card__highlight--backend{color:var(--text)}.backend-badge{display:inline-block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#05060c;background:linear-gradient(120deg,var(--go),#6ee7b7);border-radius:5px;padding:2px 7px;margin-right:8px;vertical-align:2px}.job-card__tags{display:flex;flex-wrap:wrap;gap:8px}.tag{font-family:var(--font-mono);font-size:12.5px;padding:6px 13px;border-radius:999px;border:1px solid var(--border);color:var(--text-dim);background:#ffffff05;transition:color .25s,border-color .25s,transform .25s}.tag:hover{color:var(--accent);border-color:#22d3ee73;transform:translateY(-2px)}.tag--big{font-size:14px;padding:10px 20px}.media-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:22px}.media-gallery--empty{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px dashed var(--border);border-radius:14px;color:var(--text-faint);font-size:13.5px;font-family:var(--font-mono)}.media-gallery__icon{display:grid;place-items:center;color:var(--accent);opacity:.7;flex-shrink:0}.media-gallery__item{display:block;width:100%;text-align:left;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:var(--bg-soft);padding:0;transition:border-color .3s ease,transform .3s ease}.media-gallery__item:hover,.media-gallery__item:focus-visible{border-color:#22d3ee73;transform:translateY(-2px)}.media-gallery__item:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.media-gallery__thumb{position:relative;display:block;overflow:hidden}.media-gallery__thumb img,.media-gallery__thumb video{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block;transition:transform .45s ease;pointer-events:none}.media-gallery__item:hover .media-gallery__thumb img,.media-gallery__item:hover .media-gallery__thumb video{transform:scale(1.06)}.media-gallery__play{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at center,#07080f59,#07080f8c);color:#fff}.media-gallery__play svg{width:44px;height:44px;padding:12px 10px 12px 14px;border-radius:999px;background:#ffffff24;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.22);box-shadow:0 10px 30px #00000059;transition:transform .3s ease,background .3s ease}.media-gallery__item:hover .media-gallery__play svg{transform:scale(1.08);background:#22d3ee47}.media-gallery__caption{display:block;padding:8px 12px;font-size:12.5px;color:var(--text-faint)}.lightbox{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:max(20px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom))}.lightbox__backdrop{position:absolute;inset:0;background:#04050cc7;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:0;padding:0}.lightbox__chrome{position:absolute;top:max(18px,env(safe-area-inset-top));left:20px;right:20px;z-index:2;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.lightbox__counter{pointer-events:none;font-family:var(--font-mono);font-size:13px;letter-spacing:.06em;color:var(--text-dim);padding:8px 12px;border-radius:999px;background:#ffffff0f;border:1px solid var(--border)}.lightbox__close{pointer-events:auto;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:var(--text);background:#ffffff14;border:1px solid var(--border);transition:background .25s ease,border-color .25s ease,transform .25s ease}.lightbox__close:hover,.lightbox__close:focus-visible{background:#ffffff24;border-color:#ffffff38;transform:rotate(90deg)}.lightbox__nav{position:absolute;top:50%;z-index:2;translate:0 -50%;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;color:var(--text);background:#ffffff14;border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .25s ease,border-color .25s ease,transform .25s ease}.lightbox__nav:hover,.lightbox__nav:focus-visible{background:#22d3ee2e;border-color:#22d3ee66;transform:scale(1.06)}.lightbox__nav--prev{left:max(12px,env(safe-area-inset-left))}.lightbox__nav--next{right:max(12px,env(safe-area-inset-right))}.lightbox__stage{position:relative;z-index:1;width:min(1120px,calc(100vw - 120px));max-height:min(82vh,900px);display:grid;place-items:center}.lightbox__figure{margin:0;width:100%;display:flex;flex-direction:column;align-items:center;gap:14px;touch-action:pan-y;cursor:grab}.lightbox__figure:active{cursor:grabbing}.lightbox__media{display:block;max-width:100%;max-height:min(72vh,820px);width:auto;height:auto;object-fit:contain;border-radius:16px;border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 80px #0000008c,0 0 0 1px #ffffff0a;background:#05060c;-webkit-user-select:none;user-select:none}.lightbox__media[controls]{width:min(100%,1120px);aspect-ratio:16 / 9;object-fit:contain;background:#000}.lightbox__caption{max-width:42rem;text-align:center;font-size:14px;color:var(--text-dim);padding:0 12px}.lightbox__dots{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:50%;translate:-50% 0;z-index:2;display:flex;gap:8px;padding:8px 10px;border-radius:999px;background:#ffffff0f;border:1px solid var(--border)}.lightbox__dot{width:8px;height:8px;border-radius:999px;padding:0;background:#ffffff47;transition:width .25s ease,background .25s ease}.lightbox__dot.is-active{width:22px;background:var(--accent)}@media(max-width:720px){.lightbox__stage{width:calc(100vw - 28px)}.lightbox__nav{display:none}.lightbox__media{max-height:min(68vh,720px);border-radius:12px}}.skills{background:linear-gradient(180deg,transparent,rgba(34,211,238,.03) 50%,transparent)}.skills__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-top:44px;margin-bottom:56px}.skill-card{border:1px solid var(--border);border-radius:22px;background:var(--surface);padding:28px;transition:border-color .3s}.skill-card:hover{border-color:#a78bfa66}.skill-card--featured{position:relative;border-color:#22d3ee4d;background:radial-gradient(circle at 0% 0%,rgba(34,211,238,.07),transparent 60%),var(--surface)}.skill-card--featured:before{content:"★ focus";position:absolute;top:16px;right:20px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);opacity:.85}.skill-card__title{font-family:var(--font-display);font-size:19px;font-weight:600;margin-bottom:6px}.skill-card__subtitle{font-size:13.5px;color:var(--text-faint);margin-bottom:18px}.skill-card__list{list-style:none;display:flex;flex-direction:column;gap:15px;margin-top:14px}.skill-row__top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}.skill-row__name{font-size:14.5px;font-weight:500}.skill-row__note{font-family:var(--font-mono);font-size:11.5px;color:var(--accent);opacity:.85;text-align:right}.skill-row__bar{height:5px;border-radius:999px;background:#ffffff0f;overflow:hidden}.skill-row__fill{display:block;height:100%;border-radius:999px;background:var(--gradient)}.skills__soft-title{font-family:var(--font-display);font-size:20px;font-weight:600;margin-bottom:20px}.skills__soft{display:flex;flex-wrap:wrap;gap:12px}.teaching__period{font-family:var(--font-mono);font-size:13.5px;color:var(--text-faint)}.teaching__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:40px;margin-bottom:32px}.teaching-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:26px;color:var(--text-dim);font-size:15px;transition:border-color .3s,transform .3s}.teaching-card:hover{border-color:#f472b666;transform:translateY(-4px)}.teaching-card__num{display:block;font-family:var(--font-display);font-size:30px;font-weight:800;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:12px}.teaching__tags{display:flex;flex-wrap:wrap;gap:10px}.education__grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin-top:40px}.education-card{border:1px solid var(--border);border-radius:22px;background:var(--surface);padding:30px}.education-card h3{font-size:19px;font-weight:700;margin-bottom:8px}.education-card__period{display:inline-block;font-family:var(--font-mono);font-size:12.5px;color:var(--accent);border:1px solid rgba(34,211,238,.3);border-radius:999px;padding:4px 13px;margin-bottom:16px}.education-card__degree{color:var(--text);font-weight:500;margin-bottom:4px}.education-card__faculty{color:var(--text-faint);font-size:14px}.education-card__langs{list-style:none;display:flex;flex-direction:column;gap:14px;margin-top:18px}.education-card__langs li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:12px;border-bottom:1px dashed var(--border)}.education-card__lang-level{font-family:var(--font-mono);font-size:13px;color:var(--accent-2)}.contact{background:linear-gradient(180deg,transparent,rgba(244,114,182,.03) 60%,transparent)}.contact__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;margin-top:44px;align-items:start}.contact-form{display:flex;flex-direction:column;gap:20px;border:1px solid var(--border);border-radius:24px;background:var(--surface);padding:34px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.contact-form__field{display:flex;flex-direction:column;gap:8px}.contact-form__field span{font-size:13.5px;font-weight:600;color:var(--text-dim)}.contact-form__field input,.contact-form__field textarea{font:inherit;color:var(--text);background:#ffffff08;border:1px solid var(--border);border-radius:13px;padding:13px 16px;outline:none;transition:border-color .25s,box-shadow .25s;resize:vertical}.contact-form__field input:focus,.contact-form__field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #22d3ee26}.contact-form__field input::placeholder,.contact-form__field textarea::placeholder{color:var(--text-faint)}.contact-form__submit{align-self:flex-start}.contact-form__status{font-size:14px;font-weight:500}.contact-form__status--ok{color:#4ade80}.contact-form__status--err{color:#fbbf24}.contact__or{font-family:var(--font-mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-bottom:20px}.contact__list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:28px}.contact__list a,.contact__location{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:13px;color:var(--text-dim);font-size:15px;transition:background .25s,color .25s}.contact__list a:hover{background:var(--surface-hover);color:var(--text)}.contact__list a svg,.contact__location svg{color:var(--accent);flex-shrink:0}.contact__location{color:var(--text-faint)}.contact__relocation{color:var(--text-dim)}.contact__relocation svg{color:var(--accent-3)}.footer{border-top:1px solid var(--border);padding:34px 28px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;max-width:1200px;margin:0 auto;color:var(--text-faint);font-size:14px}.footer__updated{font-family:var(--font-mono);font-size:12.5px}@media(max-width:960px){.hero__inner{grid-template-columns:1fr;text-align:left}.hero__photo{order:-1;justify-content:flex-start}.photo-frame{width:min(240px,60vw)}.about__grid,.contact__grid,.education__grid{grid-template-columns:1fr}.nav__links{display:none}}@media(max-width:640px){.section{padding:72px 0}.timeline__item{grid-template-columns:1fr}.timeline__marker{display:none}.job-card{padding:24px 20px}.about__stats{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
