#root{min-height:100svh}:root{--bg:#fbfcfe;--ink:#07111f;--muted:#53606f;--line:#dbe3ec;--soft:#eef7fb;--panel:#fff;--cyan:#00a7d8;--green:#29b36a;--yellow:#e1a80c;--coral:#f06449;--shadow:0 22px 70px #07111f1c;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:linear-gradient(90deg, #dbe3ec61 1px, transparent 1px), linear-gradient(#dbe3ec57 1px, transparent 1px), var(--bg);font-family:var(--sans);background-size:76px 76px;margin:0}a{color:inherit}.site-shell{width:min(1180px,100% - 32px);margin:0 auto}.topbar{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbfcfedb;border-bottom:1px solid #dbe3eccc;justify-content:space-between;align-items:center;min-height:76px;padding:14px 0;display:flex;position:sticky;top:0}.brand,.nav-links,.hero-actions,.contact-links a,.contact-links span,footer,.footer-check,.footer-icon,.availability,.panel-top,.pipeline,.skill-title{align-items:center;display:flex}.brand{gap:12px;font-weight:800;text-decoration:none}.brand-mark{color:#fff;background:linear-gradient(135deg, var(--cyan), var(--green));border-radius:8px;place-items:center;width:42px;height:42px;animation:4.2s ease-in-out infinite markPulse;display:grid;box-shadow:0 14px 34px #00a7d847}.nav-links{color:var(--muted);gap:26px;font-size:.94rem;font-weight:700}.nav-links a{text-decoration:none}.nav-links a:hover{color:var(--ink)}.hero-section{grid-template-columns:minmax(0,1.04fr) minmax(380px,.96fr);align-items:center;gap:48px;min-height:760px;padding:46px 0 50px;display:grid}.hero-copy{animation:.68s both fadeUp}.availability{color:var(--green);gap:9px;font-weight:800;animation:.72s 90ms both fadeUp}h1,h2,h3,p{margin:0}h1{letter-spacing:0;max-width:760px;margin-top:26px;font-size:clamp(4.5rem,10vw,8.4rem);line-height:.88}.hero-role{color:var(--cyan);margin-top:24px;font-size:clamp(1.45rem,3vw,2.2rem);font-weight:850;line-height:1.05}.hero-text{max-width:660px;color:var(--muted);margin-top:24px;font-size:1.13rem;line-height:1.75}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:34px}.button{border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:0 20px;font-weight:800;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button.primary{color:#fff;background:var(--ink);box-shadow:0 18px 40px #07111f3b}.button.secondary{border:1px solid var(--line);background:#fff}.button.secondary:hover{border-color:var(--cyan);box-shadow:0 14px 32px #00a7d824}.hero-visual{border:1px solid var(--line);min-height:560px;box-shadow:var(--shadow);background:radial-gradient(circle at 18% 18%,#00a7d833,#0000 30%),radial-gradient(circle at 84% 78%,#29b36a33,#0000 32%),#fff;border-radius:8px;grid-template-columns:.72fr 1.28fr;align-items:stretch;gap:18px;padding:24px;animation:.76s .16s both fadeUp,7s ease-in-out .9s infinite floatPanel;display:grid;position:relative;overflow:hidden}.hero-visual:before{content:"";border:1px dashed #53606f3d;border-radius:8px;position:absolute;inset:18px}.profile-card,.code-panel,.pipeline,.portrait-frame,.profile-stack{z-index:1;position:relative}.portrait-frame{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;justify-content:flex-end;min-height:100%;margin:0;display:flex;overflow:hidden;box-shadow:0 20px 46px #07111f21}.portrait-frame img{object-fit:cover;object-position:center 25%;filter:saturate(1.04)contrast(1.02);width:100%;min-height:420px;transition:transform .36s;display:block;transform:scale(1.01)}.portrait-frame:hover img{transform:scale(1.045)}.portrait-frame figcaption{background:#fff;gap:6px;padding:16px;display:grid}.portrait-frame figcaption span{color:var(--cyan);text-transform:uppercase;font-size:.8rem;font-weight:850}.portrait-frame figcaption strong{line-height:1.2}.profile-stack{flex-direction:column;justify-content:center;min-width:0;display:flex}.profile-card{border:1px solid var(--line);background:#ffffffdb;border-radius:8px;align-items:center;gap:16px;padding:14px;display:flex;box-shadow:0 14px 36px #07111f14}.profile-card img{object-fit:cover;border-radius:8px;width:76px;height:76px}.profile-card span{display:block}.profile-name{font-weight:850}.profile-sub{color:var(--muted);margin-top:6px;font-size:.9rem}.code-panel{color:#e9fbff;background:#07111f;border-radius:8px;margin-top:34px;transition:transform .22s,box-shadow .22s;overflow:hidden;box-shadow:0 28px 60px #07111f47}.code-panel:hover{transform:translateY(-4px);box-shadow:0 34px 70px #07111f57}.panel-top{color:#8ce4ff;font-family:var(--mono);border-bottom:1px solid #ffffff1c;gap:10px;padding:15px 18px;font-size:.86rem}pre{white-space:pre-wrap;margin:0;padding:22px}code{font-family:var(--mono);font-size:clamp(.78rem,1.6vw,1rem);line-height:1.8}.code-panel code{font-size:clamp(.74rem,1vw,.92rem)}.pipeline{justify-content:space-between;gap:10px;margin-top:34px}.pipeline span{min-width:0;color:var(--ink);background:var(--soft);text-align:center;font-family:var(--mono);border-radius:8px;flex:1;padding:14px 8px;font-size:.78rem;font-weight:800;animation:4s ease-in-out infinite softBlink}.pipeline span:nth-child(2){animation-delay:.18s}.pipeline span:nth-child(3){animation-delay:.36s}.pipeline span:nth-child(4){animation-delay:.54s}.pipeline span:nth-child(5){animation-delay:.72s}.stats-row{border:1px solid var(--line);background:var(--line);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.stat{background:#fff;padding:24px;animation:.56s both fadeUp}.stat:nth-child(2){animation-delay:80ms}.stat:nth-child(3){animation-delay:.16s}.stat strong{font-size:clamp(1.6rem,3vw,2.5rem);line-height:1;display:block}.stat span{color:var(--muted);margin-top:10px;font-weight:700;display:block}.section-block{padding:104px 0 0}.section-heading{max-width:700px;margin-bottom:34px}.section-heading h2,.contact-band h2{letter-spacing:0;font-size:clamp(2.3rem,5vw,4.3rem);line-height:.98}.section-heading p,.contact-band p{color:var(--muted);margin-top:18px;font-size:1.04rem;line-height:1.7}.project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.project-card{border:1px solid var(--line);border-top:7px solid var(--cyan);background:#fff;border-radius:8px;flex-direction:column;justify-content:space-between;min-height:310px;padding:22px;transition:transform .22s,box-shadow .22s,border-color .22s;display:flex;box-shadow:0 16px 42px #07111f0f}.project-card:hover{transform:translateY(-8px);box-shadow:0 24px 60px #07111f21}.project-card.green{border-top-color:var(--green)}.project-card.yellow{border-top-color:var(--yellow)}.project-card.coral{border-top-color:var(--coral)}.project-card span{color:var(--muted);text-transform:uppercase;font-size:.82rem;font-weight:850}.project-card h3{margin-top:16px;font-size:1.35rem;line-height:1.1}.project-card p{color:var(--muted);margin-top:14px;line-height:1.65}.project-card a{width:fit-content;color:var(--ink);align-items:center;gap:8px;margin-top:26px;font-weight:850;text-decoration:none;display:inline-flex}.split-section{grid-template-columns:.8fr 1.2fr;align-items:start;gap:48px;display:grid}.sticky-heading{position:sticky;top:104px}.skills-list{gap:14px;display:grid}.skill-group{border:1px solid var(--line);background:#ffffffe0;border-radius:8px;padding:20px;transition:transform .2s,border-color .2s,background .2s}.skill-group:hover{background:#fff;border-color:#00a7d86b;transform:translate(6px)}.skill-title{gap:12px}.skill-title svg{color:var(--cyan)}.skill-title h3{font-size:1.12rem}.chips{flex-wrap:wrap;gap:9px;margin-top:16px;display:flex}.chips span{color:#2b3541;background:#fff;border:1px solid #53606f29;border-radius:999px;padding:8px 11px;font-size:.88rem;font-weight:750}.experience-section{padding-bottom:104px}.timeline{border-top:1px solid var(--line)}.timeline-item{border-bottom:1px solid var(--line);grid-template-columns:220px minmax(0,1fr);gap:30px;padding:26px 0;transition:transform .2s,background .2s;display:grid}.timeline-item:hover{background:#eef7fb8c;transform:translate(8px)}.timeline-item time{color:var(--cyan);font-weight:850}.timeline-item h3{font-size:1.28rem}.timeline-item strong{margin-top:6px;display:block}.timeline-item p{color:var(--muted);margin-top:10px;line-height:1.65}.contact-band{color:#fff;background:linear-gradient(135deg,#00a7d857,#0000 45%),linear-gradient(315deg,#29b36a52,#0000 42%),#07111f;border-radius:8px;grid-template-columns:minmax(0,1fr) 360px;align-items:center;gap:40px;margin-bottom:28px;padding:42px;animation:.64s both fadeUp;display:grid}.contact-band p{color:#c8d3dd}.contact-links{gap:10px;display:grid}.contact-links a,.contact-links span{color:#fff;background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;gap:10px;min-height:44px;padding:0 14px;font-weight:750;text-decoration:none}footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:18px;padding:26px 0 44px;font-size:.92rem;font-weight:750}.footer-check,.footer-icon{gap:8px}@keyframes fadeUp{0%{opacity:1;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes floatPanel{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes markPulse{0%,to{box-shadow:0 14px 34px #00a7d847}50%{box-shadow:0 18px 44px #29b36a61}}@keyframes softBlink{0%,to{background:var(--soft)}50%{background:#29b36a21}}@media (width<=980px){.site-shell{width:min(100% - 24px,760px)}.topbar{flex-direction:column;align-items:flex-start;gap:14px}.nav-links{justify-content:space-between;gap:10px;width:100%;font-size:.86rem}.hero-section,.split-section,.contact-band{grid-template-columns:1fr}.hero-section{gap:32px;min-height:auto;padding:44px 0 38px}.hero-visual{grid-template-columns:1fr;min-height:0}.portrait-frame img{min-height:360px;max-height:460px}.stats-row,.project-grid{grid-template-columns:1fr}.project-card{min-height:240px}.sticky-heading{position:static}.timeline-item{grid-template-columns:1fr;gap:10px}.contact-band{padding:28px}}@media (width<=560px){h1{font-size:3.7rem}.hero-actions,.pipeline{flex-direction:column;align-items:stretch}.button,.pipeline span{width:100%}.profile-card{flex-direction:column;align-items:flex-start}.portrait-frame img{min-height:320px}.contact-links a,.contact-links span{overflow-wrap:anywhere;min-width:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
