:root{--bg:#08080a;--bg-elev:#111114;--surface:#16161a9e;--surface-hover:#1e1e24bf;--border:#ffffff14;--border-strong:#ff7a1a73;--text:#f5f1ec;--muted:#a8a19a;--faint:#6f6a65;--accent:#ff7a1a;--accent-2:#ffb46b;--accent-glow:#ff7a1a59;--danger:#ff6b6b;--radius:18px;--container:1160px;--font-display:"Space Grotesk", system-ui, sans-serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:88px}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:17px;line-height:1.65;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;margin:0;line-height:1.1}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}::selection{background:var(--accent);color:#000}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--accent);color:#000;border-radius:10px;padding:10px 16px;font-weight:600;transition:top .2s;position:fixed;top:-100px;left:16px}.skip-link:focus{top:16px}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px}.bg-canvas{z-index:0;pointer-events:none;background:radial-gradient(ellipse 80% 60% at 70% 0%, #ff7a1a1f, transparent 60%), radial-gradient(ellipse 60% 50% at 0% 100%, #ff7a1a12, transparent 60%), var(--bg);position:fixed;inset:0}.bg-canvas canvas{display:block}.spotlight{pointer-events:none;z-index:1;opacity:0;background:radial-gradient(circle,#ff7a1a21,#0000 65%);border-radius:50%;width:560px;height:560px;margin:-280px 0 0 -280px;transition:opacity .6s;position:fixed;top:0;left:0}.grain{z-index:2;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}main,.footer,.nav{z-index:3;position:relative}.btn{transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s, border-color .3s;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 26px;font-size:15px;font-weight:600;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:disabled{opacity:.6;cursor:progress;transform:none}.btn--primary{background:linear-gradient(135deg, var(--accent), #ff5a00);color:#0b0b0b;box-shadow:0 10px 30px -10px var(--accent-glow)}.btn--primary:hover{box-shadow:0 16px 40px -10px #ff7a1a99}.btn--ghost{border-color:var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff08}.btn--ghost:hover{border-color:var(--border-strong);background:#ff7a1a14}.btn--block{width:100%}.link-btn{color:var(--accent);background:0 0;border:none;margin-top:12px;padding:0;font-size:14px;font-weight:600}.link-btn:hover{text-decoration:underline}.tags{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.tag{color:var(--accent-2);background:#ff7a1a14;border:1px solid #ff7a1a33;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:500}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);transition:border-color .4s, background .4s, transform .4s var(--ease)}.card:hover{background:var(--surface-hover);border-color:#ff7a1a4d}.nav{z-index:50;padding:22px max(24px, calc((100vw - var(--container)) / 2 + 24px));transition:padding .4s var(--ease), background .4s, border-color .4s;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.nav--scrolled{-webkit-backdrop-filter:blur(16px);border-bottom-color:var(--border);background:#08080ab8;padding-top:14px;padding-bottom:14px}.nav__logo{font-family:var(--font-display);letter-spacing:-.04em;align-items:flex-end;gap:3px;font-size:22px;font-weight:700;display:flex}.nav__logo-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 12px var(--accent);border-radius:50%;margin-bottom:6px}.nav__menu ul{gap:6px;display:flex}.nav__menu a{color:var(--muted);border-radius:999px;padding:8px 14px;font-size:14.5px;font-weight:500;transition:color .3s,background .3s;display:block;position:relative}.nav__menu a:hover{color:var(--text)}.nav__menu a.is-active{color:var(--text);background:#ff7a1a1f}.nav__menu a.is-active:after{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:2px;left:50%}.nav__toggle{z-index:60;border:1px solid var(--border);background:#ffffff0a;border-radius:50%;width:44px;height:44px;display:none;position:relative}.nav__toggle span{background:var(--text);width:18px;height:2px;transition:transform .4s var(--ease);border-radius:2px;position:absolute;left:13px}.nav__toggle span:first-child{top:17px}.nav__toggle span:last-child{top:25px}.nav__toggle.is-open span:first-child{transform:translateY(4px)rotate(45deg)}.nav__toggle.is-open span:last-child{transform:translateY(-4px)rotate(-45deg)}@media (width<=860px){.nav__toggle{display:block}.nav__menu{z-index:55;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:0;visibility:hidden;transition:opacity .4s var(--ease), visibility .4s;background:#08080af7;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.nav__menu.is-open{opacity:1;visibility:visible}.nav__menu ul{flex-direction:column;align-items:center;gap:8px}.nav__menu li{opacity:0;transition:opacity .5s var(--ease), transform .5s var(--ease);transition-delay:calc(var(--i) * 50ms);transform:translateY(20px)}.nav__menu.is-open li{opacity:1;transform:none}.nav__menu a{font-family:var(--font-display);padding:8px 24px;font-size:32px;font-weight:600}.nav__menu a.is-active:after{display:none}}.hero{align-items:center;min-height:100svh;padding:120px 0 80px;display:flex;position:relative}.hero__inner{grid-template-columns:1.25fr 1fr;align-items:center;gap:48px;display:grid}.hero__eyebrow{border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--muted);background:#ffffff08;border-radius:999px;align-items:center;gap:10px;padding:7px 16px 7px 12px;font-size:14px;font-weight:500;display:inline-flex}.pulse{background:var(--accent);border-radius:50%;width:8px;height:8px;position:relative}.pulse:after{content:"";background:var(--accent);animation:pulse 2s var(--ease) infinite;border-radius:50%;position:absolute;inset:0}@keyframes pulse{to{opacity:0;transform:scale(3)}}.hero__name{letter-spacing:-.05em;margin:28px 0 24px;font-size:clamp(56px,9.5vw,128px);font-weight:700;line-height:.95}.hero__name-line{padding-bottom:.06em;display:block;overflow:hidden}.hero__name-line>span{display:inline-block}.hero__name-line--accent>span{background:linear-gradient(100deg, var(--accent) 10%, var(--accent-2) 60%, var(--accent) 90%);color:#0000;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:6s linear infinite shimmer}@keyframes shimmer{to{background-position:-200%}}.hero__tagline{max-width:520px;color:var(--muted);font-size:clamp(17px,1.6vw,20px)}.hero__actions{flex-wrap:wrap;gap:14px;margin-top:36px;display:flex}.hero__photo-wrap{perspective:900px;justify-content:center;display:flex}.hero__photo{aspect-ratio:1;width:min(420px,80vw);transform-style:preserve-3d;position:relative}.hero__photo img{object-fit:cover;filter:contrast(1.05)saturate(.95);border:3px solid #ff7a1a99;border-radius:50%;width:100%;height:100%;position:relative;box-shadow:0 0 0 10px #ff7a1a0f,0 30px 80px -20px #ff7a1a73}.hero__photo-ring{border:1.5px dashed #ff7a1a59;border-radius:50%;animation:40s linear infinite spin;position:absolute;inset:-22px;transform:translateZ(-40px)}.hero__photo-ring:before{content:"";background:var(--accent);width:14px;height:14px;box-shadow:0 0 20px 4px var(--accent-glow);border-radius:50%;position:absolute;top:12%;right:6%}@keyframes spin{to{rotate:360deg}}.hero__scroll{border:2px solid var(--border);border-radius:999px;width:26px;height:42px;margin-left:-13px;position:absolute;bottom:32px;left:50%}.hero__scroll span{background:var(--accent);width:4px;height:8px;animation:scroll 1.8s var(--ease) infinite;border-radius:2px;margin-left:-2px;position:absolute;top:8px;left:50%}@keyframes scroll{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(14px)}}@media (width<=860px){.hero{padding-top:110px}.hero__inner{text-align:center;grid-template-columns:1fr;gap:56px}.hero__photo-wrap{order:-1}.hero__photo{width:min(240px,60vw)}.hero__tagline{margin:0 auto}.hero__actions{justify-content:center}.hero__scroll{display:none}}.section{padding:120px 0;position:relative}.section-heading{margin-bottom:56px}.section-heading__eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);align-items:center;gap:12px;font-size:13px;font-weight:600;display:inline-flex}.section-heading__index{font-family:var(--font-display);color:var(--faint)}.section-heading__index:after{content:"";vertical-align:middle;background:var(--accent);width:32px;height:1px;margin-left:12px;display:inline-block}.section-heading__title{max-width:760px;margin-top:16px;font-size:clamp(34px,5vw,58px);font-weight:700}.sub-heading{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 18px;font-size:14px;font-weight:600}.sub-heading:not(:first-child){margin-top:40px}@media (width<=640px){.section{padding:84px 0}.section-heading{margin-bottom:40px}}.about{grid-template-columns:1.4fr 1fr;align-items:start;gap:56px;display:grid}.about__text{color:var(--muted);gap:20px;font-size:18px;display:grid}.about__text p:first-child{color:var(--text);font-size:21px;line-height:1.55}.about__stats{grid-template-columns:1fr 1fr;gap:16px;margin:0;display:grid}.stat{flex-direction:column-reverse;padding:26px 22px;display:flex}.stat__value{font-family:var(--font-display);color:var(--accent);letter-spacing:-.04em;margin:0;font-size:46px;font-weight:700;line-height:1}.stat__label{color:var(--muted);margin-top:10px;font-size:14px}@media (width<=860px){.about{grid-template-columns:1fr;gap:40px}}.timeline{gap:28px;padding-left:44px;display:grid;position:relative}.timeline__track{background:var(--border);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:11px}.timeline__progress{background:linear-gradient(var(--accent), var(--accent-2));transform-origin:top;box-shadow:0 0 12px var(--accent-glow);position:absolute;inset:0}.timeline__item{position:relative}.timeline__dot{background:var(--bg);border:3px solid var(--accent);border-radius:50%;width:16px;height:16px;position:absolute;top:34px;left:-40px;box-shadow:0 0 0 6px #ff7a1a1f}.job{padding:30px 32px}.job__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.job__title{font-size:24px}.job__company{color:var(--accent);margin-top:4px;font-weight:600}.job__client{color:var(--muted);font-weight:500}.job__date{border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;padding:6px 14px;font-size:13.5px;font-weight:500}.job__highlights{color:var(--muted);gap:10px;font-size:15.5px;display:grid}.job__highlights li{padding-left:22px;position:relative}.job__highlights li:before{content:"";background:var(--accent);width:8px;height:2px;position:absolute;top:.7em;left:2px}@media (width<=640px){.timeline{padding-left:30px}.timeline__track{left:6px}.timeline__dot{width:14px;height:14px;left:-30px}.job{padding:24px 20px}.job__title{font-size:21px}}.projects__note{color:var(--faint);margin:-32px 0 32px;font-size:14.5px}.projects{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.project{--mx:50%;--my:50%;--rx:0deg;--ry:0deg;transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry));flex-direction:column;padding:30px 28px;transition:border-color .4s,background .4s,transform .25s ease-out;display:flex;position:relative;overflow:hidden}.project:before{content:"";background:radial-gradient(400px circle at var(--mx) var(--my), #ff7a1a24, transparent 45%);opacity:0;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.project:hover:before{opacity:1}.project__num{font-family:var(--font-display);color:#ffffff0d;font-size:46px;font-weight:700;transition:color .4s;position:absolute;top:18px;right:24px}.project:hover .project__num{color:#ff7a1a40}.project__context{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:12.5px;font-weight:600}.project__title{margin:12px 0;padding-right:40px;font-size:22px}.project__desc{color:var(--muted);flex:1;font-size:15.5px}@media (width<=1000px){.projects{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.projects{grid-template-columns:1fr}}.filters{flex-wrap:wrap;gap:8px;margin-bottom:32px;display:flex}.filter{border:1px solid var(--border);color:var(--muted);transition:all .3s var(--ease);background:#ffffff08;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:500}.filter:hover{color:var(--text);border-color:var(--border-strong)}.filter.is-active{color:#0b0b0b;background:var(--accent);border-color:var(--accent)}.skills{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;display:grid}.skill-group{animation:pop-in .6s var(--ease) both;padding:26px 24px}@keyframes pop-in{0%{opacity:0;transform:translateY(16px)scale(.98)}}.skill-group__title{align-items:center;gap:10px;margin-bottom:18px;font-size:18px;display:flex}.skill-group__title:before{content:"";background:var(--accent);width:10px;height:10px;box-shadow:0 0 10px var(--accent-glow);border-radius:3px}.skill-group__list{flex-wrap:wrap;gap:8px;display:flex}.skill-group__list li{border:1px solid var(--border);transition:border-color .3s, color .3s, transform .3s var(--ease);background:#ffffff0a;border-radius:10px;padding:6px 12px;font-size:14px}.skill-group__list li:hover{border-color:var(--border-strong);color:var(--accent-2);transform:translateY(-2px)}.edu-grid{grid-template-columns:1fr 1fr;gap:40px;display:grid}.edu-col{flex-direction:column;gap:16px;display:flex}.edu-col>.sub-heading{margin-bottom:2px}.edu-col>.sub-heading:not(:first-child){margin-top:24px}.edu{gap:18px;padding:24px;display:grid}.edu__item+.edu__item{border-top:1px solid var(--border);padding-top:18px}.edu__degree{font-size:17px}.edu__school{color:var(--muted);margin-top:4px;font-size:14.5px}.cert{gap:16px;padding:22px 24px;display:flex}.cert__badge{width:44px;height:44px;color:var(--accent);background:#ff7a1a1a;border:1px solid #ff7a1a40;border-radius:12px;flex:none;place-items:center;display:grid}.cert__name{font-size:18px}.cert__meta{color:var(--muted);margin-top:4px;font-size:14px}.cert__link{color:var(--accent);margin-top:8px;font-size:14px;font-weight:600;display:inline-block}.cert__link:hover{text-decoration:underline}.langs{gap:18px;padding:24px;display:grid}.lang__row{justify-content:space-between;margin-bottom:8px;font-size:15px;display:flex}.lang__name{font-weight:600}.lang__level{color:var(--muted)}.lang__bar{background:#ffffff12;border-radius:4px;height:4px;display:block;overflow:hidden}.lang__bar span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-2));height:100%;display:block}@media (width<=860px){.edu-grid{grid-template-columns:1fr}}.contact{grid-template-columns:1fr 1.2fr;align-items:start;gap:48px;display:grid}.contact__lead{color:var(--muted);margin-bottom:32px;font-size:18px}.contact__item{border-bottom:1px solid var(--border);word-break:break-word;align-items:center;gap:16px;padding:16px 0;transition:color .3s;display:flex}.contact__item:hover{color:var(--accent)}.contact__icon{width:48px;height:48px;color:var(--accent);background:#ff7a1a1a;border:1px solid #ff7a1a40;border-radius:14px;flex:none;place-items:center;display:grid}.contact__label{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-size:12.5px;font-weight:600;display:block}.form{gap:18px;padding:32px;display:grid}.form__row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.field{position:relative}.field input,.field textarea{border:1px solid var(--border);width:100%;color:var(--text);font:inherit;resize:vertical;background:#00000059;border-radius:12px;padding:24px 16px 10px;font-size:16px;transition:border-color .3s,box-shadow .3s}.field textarea{min-height:140px}.field input:focus,.field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 4px #ff7a1a26}.field label{color:var(--faint);pointer-events:none;transform-origin:0 0;transition:transform .25s var(--ease), color .25s;font-size:16px;position:absolute;top:17px;left:17px}.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{color:var(--accent);transform:translateY(-9px)scale(.75)}.field--error input,.field--error textarea{border-color:var(--danger)}.field__error{color:var(--danger);margin-top:6px;font-size:13.5px;display:block}.form__trap{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.form__error{color:var(--danger);font-size:14.5px}.form__error a{text-decoration:underline}.form__success{text-align:center;justify-items:center;gap:12px;padding:32px 0;display:grid}.form__success-icon{color:#0b0b0b;background:var(--accent);width:64px;height:64px;box-shadow:0 0 40px var(--accent-glow);animation:pop-in .6s var(--ease) both;border-radius:50%;place-items:center;font-size:28px;font-weight:700;display:grid}.form__success h3{font-size:24px}.form__success p{color:var(--muted);margin-bottom:8px}@media (width<=860px){.contact{grid-template-columns:1fr}}@media (width<=560px){.form{padding:22px 18px}.form__row{grid-template-columns:1fr}}.footer{border-top:1px solid var(--border);color:var(--faint);padding:32px 0;font-size:14px}.footer__inner{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.footer__top:hover{color:var(--accent)}@media (hover:none){.spotlight{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
