@property --bg{syntax: "<color>"; inherits: true; initial-value: #070c10;}@property --bg-2{syntax: "<color>"; inherits: true; initial-value: #060a0e;}@property --surface{syntax: "<color>"; inherits: true; initial-value: rgba(255,255,255,.03);}@property --surface-2{syntax: "<color>"; inherits: true; initial-value: rgba(255,255,255,.05);}@property --surface-light{syntax: "<color>"; inherits: true; initial-value: rgba(0,0,0,.2);}@property --surface-light-2{syntax: "<color>"; inherits: true; initial-value: rgba(0,0,0,.3);}@property --text{syntax: "<color>"; inherits: true; initial-value: rgba(255,255,255,.92);}@property --muted{syntax: "<color>"; inherits: true; initial-value: rgba(255,255,255,.6);}@property --muted-2{syntax: "<color>"; inherits: true; initial-value: rgba(255,255,255,.45);}@property --border{syntax: "<color>"; inherits: true; initial-value: rgba(255,255,255,.08);}@property --border-2{syntax: "<color>"; inherits: true; initial-value: rgba(255,255,255,.12);}@property --accent{syntax: "<color>"; inherits: true; initial-value: #54e0cf;}@property --accent-2{syntax: "<color>"; inherits: true; initial-value: #9feee4;}@property --shadow{syntax: "<color>"; inherits: true; initial-value: rgba(0,0,0,.35);}@property --opacity-dark{syntax: "<number>"; inherits: true; initial-value: 1;}@property --opacity-light{syntax: "<number>"; inherits: true; initial-value: 0;}html{--bg: #070c10;--bg-2: #060a0e;--surface: rgba(255, 255, 255, .03);--surface-2: rgba(255, 255, 255, .05);--surface-light: rgba(0, 0, 0, .2);--surface-light-2: rgba(0, 0, 0, .3);--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .6);--muted-2: rgba(255, 255, 255, .45);--border: rgba(255, 255, 255, .08);--border-2: rgba(255, 255, 255, .12);--accent: #54e0cf;--accent-2: #9feee4;--shadow: rgba(0, 0, 0, .35);--container: 1100px;--radius: 14px;--font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";--img-dark: block;--img-light: none;--opacity-dark: 1;--opacity-light: 0;--theme-dur: .5s;--theme-ease: cubic-bezier(.2, .8, .2, 1);transition:--bg var(--theme-dur) var(--theme-ease),--bg-2 var(--theme-dur) var(--theme-ease),--surface var(--theme-dur) var(--theme-ease),--surface-2 var(--theme-dur) var(--theme-ease),--surface-light var(--theme-dur) var(--theme-ease),--surface-light-2 var(--theme-dur) var(--theme-ease),--text var(--theme-dur) var(--theme-ease),--muted var(--theme-dur) var(--theme-ease),--muted-2 var(--theme-dur) var(--theme-ease),--border var(--theme-dur) var(--theme-ease),--border-2 var(--theme-dur) var(--theme-ease),--accent var(--theme-dur) var(--theme-ease),--accent-2 var(--theme-dur) var(--theme-ease),--shadow var(--theme-dur) var(--theme-ease),--opacity-dark var(--theme-dur) var(--theme-ease),--opacity-light var(--theme-dur) var(--theme-ease)}@media (prefers-reduced-motion: reduce){html{transition:none!important;scroll-behavior:auto!important}}html:has(input#theme-toggle:checked){--bg: #f7fbff;--bg-2: #eef6ff;--surface: rgba(0, 0, 0, .03);--surface-2: rgba(0, 0, 0, .05);--surface-light: rgba(255, 255, 255, .2);--surface-light-2: rgba(255, 255, 255, .3);--text: rgba(0, 0, 0, .86);--muted: rgba(0, 0, 0, .6);--muted-2: rgba(0, 0, 0, .45);--border: rgba(0, 0, 0, .1);--border-2: rgba(0, 0, 0, .14);--accent: #2d978b;--accent-2: #38776f;--shadow: rgba(0, 0, 0, .12);--img-dark: none;--img-light: block;--opacity-dark: 0;--opacity-light: 1}@media (prefers-color-scheme: light){html{--bg: #f7fbff;--bg-2: #eef6ff;--surface: rgba(0, 0, 0, .03);--surface-2: rgba(0, 0, 0, .05);--surface-light: rgba(255, 255, 255, .2);--surface-light-2: rgba(255, 255, 255, .3);--text: rgba(0, 0, 0, .86);--muted: rgba(0, 0, 0, .6);--muted-2: rgba(0, 0, 0, .45);--border: rgba(0, 0, 0, .1);--border-2: rgba(0, 0, 0, .14);--accent: #2d978b;--accent-2: #38776f;--shadow: rgba(0, 0, 0, .12);--img-dark: none;--img-light: block;--opacity-dark: 1;--opacity-light: 0}html:has(input#theme-toggle:checked){--bg: #070c10;--bg-2: #060a0e;--surface: rgba(255, 255, 255, .03);--surface-2: rgba(255, 255, 255, .05);--surface-light: rgba(0, 0, 0, .2);--surface-light-2: rgba(0, 0, 0, .3);--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .6);--muted-2: rgba(255, 255, 255, .45);--border: rgba(255, 255, 255, .08);--border-2: rgba(255, 255, 255, .12);--accent: #54e0cf;--accent-2: #9feee4;--shadow: rgba(0, 0, 0, .35);--img-dark: block;--img-light: none;--opacity-dark: 1;--opacity-light: 0}}*,*:before,*:after{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}@property --body-gradient-1-y{syntax: "<percentage>"; inherits: true; initial-value: 10%;}@property --body-gradient-2-y{syntax: "<percentage>"; inherits: true; initial-value: 0%;}@keyframes bgYScroll{0%{--body-gradient-1-y: 10%;--body-gradient-2-y: 20%}to{--body-gradient-1-y: 30%;--body-gradient-2-y: 25%}}body{--body-gradient-1-y: 0%;margin:0;font-family:var(--font);color:var(--text);background:radial-gradient(1100px 500px at 30% var(--body-gradient-1-y),rgba(84,224,207,.12),transparent 60%),radial-gradient(900px 1500px at 70% var(--body-gradient-2-y),rgba(84,224,207,.06),transparent 55%),linear-gradient(180deg,var(--bg),var(--bg-2));letter-spacing:.2px;background-repeat:no-repeat;background-position:bottom;background-attachment:fixed;background-size:cover;animation:bgYScroll linear;animation-fill-mode:both;animation-timeline:scroll();animation-range:0% 100%}a{color:inherit;text-decoration:none}p{margin:0 0 14px;line-height:1.65;color:var(--muted)}strong{color:var(--text);font-weight:700}.muted{color:var(--muted)}.dot{color:var(--accent)}::selection{background:#54e0cf40}.container{max-width:var(--container);margin:0 auto;padding:0 22px}main#top{scroll-margin-top:70px}.section{padding:70px 0;scroll-margin-top:70px}.section__inner{position:relative}.section__title{margin:0 0 28px;font-size:clamp(34px,4vw,52px);letter-spacing:-.6px;font-weight:800;color:var(--text)}.section__subtitle{margin-top:-10px;margin-bottom:26px;color:var(--muted);text-align:center;font-size:13px}.lead{color:var(--text);margin-bottom:12px}.footer{margin-top:34px;padding:26px 0 6px;text-align:center;color:var(--muted-2);border-top:1px solid var(--border)}@media (max-width: 640px){.section{padding:54px 0}}.site-header{position:sticky;top:0;z-index:10;backdrop-filter:blur(13px);background:linear-gradient(180deg,var(--surface-light-2),var(--surface-light));border-bottom:1px solid var(--border)}.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;gap:6px;font-weight:800;letter-spacing:.3px;align-items:center}.brand__logo{width:24px;height:24px;background-size:cover;background-position:center;background-repeat:no-repeat;position:relative}.brand__logo img{display:block;width:100%;height:100%;position:absolute;top:0;left:0}.brand__logo img.brand__logo-dark{display:var(--img-dark)}.brand__logo img.brand__logo-light{display:var(--img-light)}.brand__name{font-size:18px}.brand__slash{color:var(--accent);font-size:18px;transform:translateY(-1px)}.nav{display:flex;gap:16px;align-items:center}.nav #menu-toggle+label{display:none}.nav .drop-down{display:contents;display:flex;gap:16px;align-items:center}.nav__link{font-size:12px;color:var(--muted);padding:6px 0;position:relative}.nav__link:after{content:"";position:absolute;left:50%;bottom:-10px;width:0px;height:2px;transform:translate(-50%);background:var(--accent);border-radius:999px;transition:width .16s ease}.nav__link:hover{color:var(--text)}.nav__link:hover:after{width:26px}@media (max-width: 640px){.nav{gap:14px}.nav #menu-toggle+label{display:inline-flex}.nav .drop-down{flex-direction:column;position:fixed;z-index:9999;left:8px;right:8px;padding:16px;transform:translateY(-100%);top:-80px}.nav .drop-down:after{content:"";position:absolute;top:0;left:0;right:0;height:100%;z-index:-1;background:var(--bg);padding:16px;border-radius:12px;border:1px solid var(--border);box-shadow:var(--shadow)}.nav .drop-down:before{content:"";display:none;position:fixed;top:-72px;left:-8px;width:100vw;height:100vh;background:#00000080;z-index:-1;pointer-events:all}.nav input#menu-toggle:checked+label~.drop-down{transform:translateY(0);top:72px}.nav input#menu-toggle:checked+label~.drop-down:before{display:block}}.hero{padding:56px 0 18px}.hero__inner{display:grid;grid-template-columns:360px 1fr;align-items:center;gap:42px;min-height:260px}.hero__graphic{position:relative;width:320px;height:320px;box-shadow:0 0 0 1px #54e0cf1f;border-radius:3px;border:1px solid var(--border)}.hero__graphic img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.hero__img-dark{opacity:var(--opacity-dark)}.hero__frame{position:absolute;inset:10px 90px 30px 10px;border:2px solid rgba(84,224,207,.85);border-right:none;border-radius:3px 0 0 3px}.hero__frame:after{content:"";position:absolute;top:-2px;right:-50px;bottom:36px;width:50px;border:2px solid rgba(84,224,207,.85);border-left:none;border-bottom:none;border-top-right-radius:3px}.hero__code{position:absolute;right:14px;bottom:10px;font-weight:900;font-size:44px;color:#54e0cfe6;letter-spacing:-1px;text-shadow:0 0 24px rgba(84,224,207,.15)}.hero__title{margin:0;font-size:clamp(38px,4.3vw,58px);font-weight:900;letter-spacing:-.9px}.hero__title-accent{color:var(--text)}.hero__subtitle{margin:6px 0 16px;font-size:clamp(24px,3vw,40px);font-weight:900;opacity:.35;letter-spacing:-.6px}.hero__tech{display:flex;gap:10px;align-items:center}.tech-icon{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;position:relative;color:var(--muted)}.tech-icon:after{content:var(--skill-name);position:absolute;margin-top:4px;top:100%;left:50%;transform:translate(-50%);display:block;font-weight:900;font-size:11px;background:var(--bg);z-index:100;padding:2px 6px;border-radius:3px;opacity:0;transition:opacity .2s ease-in-out;border:1px solid var(--border);pointer-events:none;white-space:nowrap;font-family:var(--font)}.tech-icon:hover:after{opacity:1}.skills-strip{margin-top:12px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#0000001f}.skills-strip__inner{height:48px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;color:var(--muted);letter-spacing:.8px;font-size:11px;align-content:center}.skills-strip__item{opacity:.62;font-weight:700}.skills-strip__sep{opacity:.18;font-weight:700}@media (max-width: 640px){.skills-strip__inner{height:64px}}@media (max-width: 900px){.hero__inner{grid-template-columns:1fr;justify-items:center;text-align:center}.hero__graphic{width:280px;height:280px}.hero__tech{justify-content:center}}.section--about .section__title,.section--experience .section__title,.section--formation .section__title,.section--projects .section__title,.section--contact .section__title{text-align:center}.about{margin-top:8px;display:flex;justify-content:center;align-items:start}.about__text{max-width:680px}.timeline{margin-top:10px;display:grid;gap:28px}.timeline__item{display:grid;grid-template-columns:170px 1fr;gap:28px;align-items:start}.timeline__when{color:var(--accent-2);font-size:11px;font-weight:700;letter-spacing:.4px;padding-top:6px}.timeline__title{margin:0 0 10px;font-size:18px;font-weight:800;color:var(--text);display:inline-flex;gap:10px;align-items:center}.timeline__arrow{color:#54e0cfcc;font-size:16px;transform:translateY(-1px)}.timeline__desc{margin:0;color:var(--muted);font-size:13px}.timeline__badges{margin:10px 0;color:var(--muted);font-size:13px;display:flex;gap:4px;flex-wrap:wrap}.timeline__badges .badge{--skill-name: "";position:relative}.timeline__badges .badge:after{content:var(--skill-name);position:absolute;margin-top:4px;top:100%;left:50%;transform:translate(-50%);display:block;font-weight:900;font-size:11px;background:var(--bg);z-index:100;padding:2px 6px;border-radius:3px;opacity:0;transition:opacity .2s ease-in-out;border:1px solid var(--border);pointer-events:none;white-space:nowrap;font-family:var(--font)}.timeline__badges .badge:hover:after{opacity:1}.list{margin-top:18px;border-top:1px solid var(--border)}.list__row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 6px;border-bottom:1px solid var(--border)}.list__left{display:flex;align-items:center;gap:14px;min-width:0}.list__title{font-weight:800;color:var(--text);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:58vw}.list__right{display:inline-flex;gap:4px;align-items:center;color:var(--muted);font-size:11px;white-space:nowrap}.list__provider{opacity:.9}.list__hours{opacity:.75}.badge{width:26px;height:26px;border-radius:3px;border:1px solid var(--border);background:var(--surface);box-shadow:0 5px 15px var(--shadow);position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:22px}@media (max-width: 900px){.about{grid-template-columns:1fr;justify-items:center;text-align:left}.about__block{height:180px}.timeline__item{grid-template-columns:1fr;gap:10px}.timeline__when{padding-top:0}}.contact-grid{margin-top:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:780px;margin-left:auto;margin-right:auto}.contact-card{height:44px;border-radius:10px;background:#ffffff05;border:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 14px;box-shadow:0 18px 50px #00000026;transition:transform .16s ease,border-color .16s ease,background .16s ease}.contact-card:hover{transform:translateY(-1px);border-color:#54e0cf59;background:#54e0cf0a}.contact-card__left{display:inline-flex;gap:10px;align-items:center;min-width:0}.contact-card__icon{width:24px;height:24px;display:grid;place-items:center;color:var(--text)}.contact-card__label{font-size:12px;color:var(--text);font-weight:700}.contact-card__arrow{color:#54e0cfb3;font-weight:900}@media (max-width: 720px){.contact-grid{grid-template-columns:1fr}}input#theme-toggle+label{cursor:pointer;transition:opacity .16s ease;background:var(--surface);width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border);box-shadow:0 18px 50px #00000026}input#theme-toggle+label:hover{opacity:.8}input#theme-toggle+label .light{display:none;color:#bc9419;width:24px;height:24px}input#theme-toggle+label .dark{color:#d3a71d;display:block;width:24px;height:24px}input#theme-toggle:checked+label .light{display:block}input#theme-toggle:checked+label .dark{display:none}@media (prefers-color-scheme: light){input#theme-toggle+label .light{display:block}input#theme-toggle+label .dark{display:none}input#theme-toggle:checked+label .light{display:none}input#theme-toggle:checked+label .dark{display:block}}input#menu-toggle+label{cursor:pointer;transition:opacity .16s ease;background:var(--surface);width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border);box-shadow:0 18px 50px #00000026}input#menu-toggle+label:hover{opacity:.8}input#menu-toggle+label .close{display:none}input#menu-toggle+label .open{display:inline-flex}input#menu-toggle:checked+label .close{display:inline-flex}input#menu-toggle:checked+label .open{display:none}
