:root{color-scheme:dark;--bg: #050505;--bg-soft: rgba(17, 17, 17, .78);--panel: rgba(24, 24, 24, .72);--panel-strong: rgba(33, 33, 33, .9);--text: #f7f7f2;--muted: #b9b9b1;--faint: rgba(255, 255, 255, .08);--line: rgba(255, 255, 255, .15);--accent: #d9ff5f;--accent-soft: rgba(217, 255, 95, .16);--ice: #89e7ff;--shadow: 0 24px 80px rgba(0, 0, 0, .38);--radius: 8px;--max-width: 1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}p{font-size:.92rem;line-height:1.6}button,a{font:inherit}a{color:inherit;text-decoration:none}img,video{max-width:100%}.site-shell{position:relative;min-height:100vh;overflow-x:clip}.background-video{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-3;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.38);transform:scaleX(-1)}.background-shade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background:linear-gradient(90deg,#000000f5,#000000b8 48%,#0000006b),radial-gradient(circle at 18% 24%,rgba(217,255,95,.1),transparent 30%),radial-gradient(circle at 80% 8%,rgba(137,231,255,.08),transparent 24%)}.section-frame{width:min(var(--max-width),calc(100% - 48px));margin:0 auto}.site-header{position:sticky;top:0;z-index:100;width:100%;border-bottom:1px solid var(--line);background:#000000c2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;width:min(var(--max-width),calc(100% - 48px));margin:0 auto}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font-family:Doto,Inter,sans-serif;font-size:1.05rem;font-weight:900;letter-spacing:0}.site-nav{display:flex;align-items:center;gap:4px}.site-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:var(--radius);color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:background .18s ease,color .18s ease}.site-nav a:hover,.site-nav a:focus-visible{background:var(--faint);color:var(--text)}.menu-toggle{display:none;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--line);border-radius:var(--radius);background:transparent;color:var(--text);cursor:pointer}.hero-section{position:relative;display:grid;grid-template-columns:minmax(0,780px) minmax(280px,420px);gap:clamp(32px,6vw,86px);align-items:center;min-height:calc(100vh - 76px);padding:clamp(72px,10vw,132px) 0 96px}.hero-copy{max-width:780px}.eyebrow,.card-kicker{margin:0 0 14px;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.hero-copy h1{margin:0;font-family:Doto,Inter,sans-serif;font-size:5.4rem;font-weight:900;line-height:.92;letter-spacing:0;text-transform:uppercase}.hero-copy h1 span{display:block}.role-line{min-height:44px;margin:24px 0 0;font-size:clamp(1.2rem,2.6vw,1.2rem);color:var(--muted)}.role-line span{color:var(--text);font-weight:800}.role-line span:after{content:"|";display:inline-block;margin-left:3px;color:var(--accent);animation:blink .72s infinite}.hero-summary{width:min(100%,690px);margin:24px 0 0;color:#deded8;font-size:.92rem}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 22px;border:1px solid transparent;border-radius:var(--radius);font-weight:800;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.button:hover,.button:focus-visible{transform:translateY(-2px)}.button-primary{background:var(--text);color:#050505}.button-primary:hover,.button-primary:focus-visible{background:var(--accent);color:#050505}.button-secondary{border-color:var(--line);background:#ffffff0a;color:var(--text)}.button-secondary:hover,.button-secondary:focus-visible{border-color:#d9ff5f7a;background:var(--panel-strong);color:var(--accent)}.hero-photo{position:relative;align-self:center;width:min(100%,390px);margin:0 0 0 auto;padding:10px;overflow:visible;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);isolation:isolate}.hero-photo:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;z-index:3;border:1px solid rgba(217,255,95,.32);border-radius:calc(var(--radius) - 2px);pointer-events:none}.hero-photo:after{content:"";position:absolute;right:-42px;bottom:70px;z-index:4;width:128px;height:128px;border:1px solid rgba(217,255,95,.36);border-radius:999px;pointer-events:none}.hero-photo img{position:relative;z-index:2;display:block;width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:48% 52%;border-radius:calc(var(--radius) - 2px)}.hero-photo figcaption{position:absolute;right:18px;bottom:18px;left:18px;z-index:4;display:grid;gap:2px;padding:10px 12px;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);background:#000000b8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero-photo figcaption span{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.hero-photo figcaption strong{color:var(--text);font-size:.92rem}.profile-panel,.profile-fact,.experience-card,.project-card,.skill-card,.panel-column,.contact-link{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.profile-panel,.profile-fact,.experience-card,.project-card,.skill-card,.panel-column,.contact-link{transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.profile-panel:hover,.profile-fact:hover,.experience-card:hover,.project-card:hover,.skill-card:hover,.panel-column:hover,.contact-link:hover,.contact-link:focus-visible,.contact-link:focus-within{border-color:#d9ff5f75;background:var(--panel-strong)}.profile-panel{padding:24px}.profile-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;align-items:stretch;padding:0 0 100px}.profile-panel h2{margin:0;font-family:Doto,Inter,sans-serif;font-size:1.55rem;font-weight:900;line-height:1.08;letter-spacing:0;text-transform:uppercase}.profile-panel p:not(.eyebrow){margin:14px 0 0;color:var(--muted);font-size:.9rem}.profile-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.profile-tags span{display:inline-flex;align-items:center;min-height:30px;padding:4px 10px;border:1px solid rgba(217,255,95,.32);border-radius:999px;background:var(--accent-soft);color:var(--text);font-size:.76rem;font-weight:800}.profile-facts{display:grid;gap:12px}.profile-section .profile-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-fact{min-height:0;padding:18px}.profile-fact span{display:block;margin-bottom:8px;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.profile-fact strong{display:block;color:var(--text);font-size:1.02rem;line-height:1.28}.profile-fact p{margin:0;color:var(--muted);font-size:.84rem}.content-section{padding:104px 0 0}.profile-section+.content-section{padding-top:0}.section-intro{width:min(100%,760px);margin-bottom:34px}.section-intro h2,.contact-copy h2{margin:0;font-family:Doto,Inter,sans-serif;font-size:2.85rem;font-weight:900;line-height:1.04;letter-spacing:0;text-transform:uppercase}.section-intro>p:last-child,.contact-copy>p:last-child{margin:18px 0 0;color:var(--muted);font-size:.9rem}.experience-grid{display:grid;gap:18px}.experience-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;padding:clamp(20px,4vw,32px)}.card-icon,.skill-heading svg,.mini-heading svg{color:var(--accent)}.card-icon{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border:1px solid var(--line);border-radius:var(--radius);background:var(--accent-soft)}.experience-card h3,.project-card h3,.skill-card h3,.timeline-item h3,.language-panel h3{margin:0;color:var(--text);font-size:1.16rem;line-height:1.25}.company{margin:4px 0 16px;color:var(--muted)}.experience-card ul,.certificate-list{margin:0;padding:0;list-style:none}.experience-card li,.certificate-list li{position:relative;padding-left:22px;color:#d7d7d0}.experience-card li+li,.certificate-list li+li{margin-top:10px}.experience-card li:before,.certificate-list li:before{content:"";position:absolute;top:.72em;left:0;width:8px;height:1px;background:var(--accent)}.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}.section-heading-row .section-intro{margin-bottom:0}.github-link-btn,.project-card a{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-weight:800;transition:color .18s ease,transform .18s ease}.github-link-btn{flex:0 0 auto;min-height:42px;padding:0 16px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffff0a;color:var(--text);font-size:.85rem;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.github-link-btn:hover,.github-link-btn:focus-visible{border-color:#d9ff5f7a;background:var(--panel-strong);color:var(--accent);transform:translateY(-2px)}.project-card a:hover,.project-card a:focus-visible{color:var(--text)}.project-card a svg,.github-link-btn svg{transition:transform .18s ease}.project-card a:hover svg,.project-card a:focus-visible svg,.github-link-btn:hover svg,.github-link-btn:focus-visible svg{transform:translate(2px,-2px)}.carousel-controls-group{display:flex;align-items:center;gap:16px;flex:0 0 auto}.carousel-nav-btns{display:flex;align-items:center;gap:8px}.carousel-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffff0a;color:var(--text);cursor:pointer;transition:border-color .18s ease,background-color .18s ease,color .18s ease,transform .18s ease}.carousel-btn:hover,.carousel-btn:focus-visible{border-color:#d9ff5f7a;background:var(--panel-strong);color:var(--accent);transform:translateY(-2px)}.carousel-btn:active{transform:translateY(0) scale(.95)}.projects-carousel-container{position:relative;width:100%}.projects-carousel-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 0 24px;margin:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.projects-carousel-track::-webkit-scrollbar{display:none}.projects-carousel-track .project-card{flex:0 0 calc((100% - 40px) / 3);min-width:300px;scroll-snap-align:start}.project-action{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.5rem}.project-card{position:relative;display:flex;min-height:310px;flex-direction:column;overflow:hidden}.project-card:after{content:"";position:absolute;right:-44px;bottom:-54px;width:140px;height:140px;border:1px solid rgba(217,255,95,.28);border-radius:999px}.project-card.has-image:after{display:none}.project-card img{width:100%;aspect-ratio:16 / 9;object-fit:cover;object-position:center top;border-bottom:1px solid var(--line)}.project-card-body{display:flex;flex:1;flex-direction:column;padding:24px}.project-index{margin-bottom:26px;color:#ffffff3d;font-family:Doto,Inter,sans-serif;font-size:2.4rem;font-weight:900;line-height:.8}.project-card p:not(.card-kicker){color:var(--muted);font-size:.88rem}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:18px}.tag-list span{display:inline-flex;align-items:center;min-height:30px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:#ffffff0a;color:#eeeeea;font-size:.76rem;font-weight:700;transition:border-color .18s ease,background .18s ease,color .18s ease}.project-card:hover .tag-list span,.skill-card:hover .tag-list span,.profile-panel:hover .profile-tags span{border-color:#d9ff5f5c;background:var(--accent-soft)}.skills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.skill-card{padding:22px}.skill-heading{display:flex;align-items:center;gap:12px}.split-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding-top:104px}.panel-column{padding:clamp(22px,4vw,32px)}.mini-heading{display:flex;align-items:center;gap:12px;margin-bottom:28px}.mini-heading h2{margin:0;font-family:Doto,Inter,sans-serif;font-size:1.95rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.timeline-list{position:relative;display:grid;gap:18px}.timeline-list:before{content:"";position:absolute;top:4px;bottom:4px;left:6px;width:1px;background:var(--line)}.timeline-item{position:relative;padding-left:30px}.timeline-item:before{content:"";position:absolute;top:9px;left:0;width:13px;height:13px;border-radius:999px;background:var(--text)}.timeline-item span{display:block;margin-bottom:6px;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.timeline-item p,.timeline-item strong{margin:6px 0 0;color:var(--muted)}.language-panel{margin-top:34px;padding-top:28px;border-top:1px solid var(--line)}.language-panel p{display:flex;justify-content:space-between;gap:18px;margin:12px 0 0;color:var(--muted)}.language-panel strong{color:var(--text)}.contact-section{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,1fr);gap:clamp(28px,5vw,70px);align-items:start;padding:118px 0 88px}.contact-grid{display:grid;gap:12px}.contact-link{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;min-height:78px;padding:18px}a.contact-link{cursor:pointer}.contact-link svg{grid-row:span 2;color:var(--accent);transition:color .18s ease,transform .18s ease}.contact-link:hover svg,.contact-link:focus-visible svg,.contact-link:focus-within svg{color:var(--text);transform:translate(2px,-2px) scale(1.05)}.contact-link span{color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:color .18s ease}.contact-link strong{min-width:0;overflow-wrap:anywhere;color:var(--text);font-size:1rem;transition:color .18s ease}.contact-link:hover span,.contact-link:focus-visible span,.contact-link:focus-within span{color:var(--accent)}.contact-link:hover strong,.contact-link:focus-visible strong,.contact-link:focus-within strong{color:var(--text)}[data-reveal]{opacity:0;transform:translateY(28px) scale(.98);transition:opacity .75s cubic-bezier(.16,1,.3,1) var(--reveal-delay, 0ms),transform .75s cubic-bezier(.16,1,.3,1) var(--reveal-delay, 0ms);will-change:opacity,transform}[data-reveal].is-visible{opacity:1;transform:translateY(0) scale(1)}.hero-photo-wrapper{position:relative;align-self:center;width:min(100%,390px);margin:0 0 0 auto}.hero-photo-glow{position:absolute;top:-15px;right:-15px;bottom:-15px;left:-15px;border-radius:24px;background:radial-gradient(circle,rgba(217,255,95,.28) 0%,rgba(137,231,255,.16) 45%,transparent 70%);filter:blur(28px);z-index:0;animation:aura-pulse 5s ease-in-out infinite alternate;pointer-events:none}@keyframes aura-pulse{0%{opacity:.5;transform:scale(.96)}to{opacity:.95;transform:scale(1.04)}}.profile-panel,.profile-fact,.experience-card,.skill-card,.panel-column,.contact-link{transition:transform .32s cubic-bezier(.16,1,.3,1),border-color .32s ease,box-shadow .32s ease,background-color .32s ease}.profile-panel:hover,.profile-fact:hover,.experience-card:hover,.skill-card:hover,.panel-column:hover{border-color:#d9ff5f59;box-shadow:0 12px 30px #00000059}.project-card{transition:border-color .35s ease,box-shadow .35s ease}.project-card:hover{border-color:#d9ff5f73;box-shadow:0 14px 35px #0006}.project-image-wrapper{overflow:hidden;border-radius:calc(var(--radius) - 2px) calc(var(--radius) - 2px) 0 0}.project-card img{transition:filter .35s ease}.project-card:hover img{filter:brightness(1.05)}.tag-list span,.profile-tags span{display:inline-block;transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease}.tag-list span:hover,.profile-tags span:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.button{position:relative;overflow:hidden}.button-primary:after{content:"";position:absolute;top:-50%;left:-60%;width:40%;height:200%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);transform:rotate(25deg);transition:transform .65s ease;pointer-events:none}.button-primary:hover:after{transform:translate(350%) rotate(25deg)}.button:active{transform:translateY(0) scale(.96)}.scroll-indicator{grid-column:1 / -1;order:3;display:inline-flex;align-items:center;gap:8px;margin-top:34px;color:var(--muted);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:color .2s ease;width:fit-content}.scroll-indicator:hover{color:var(--accent)}.scroll-arrow{animation:bounce-down 1.8s ease-in-out infinite}@keyframes bounce-down{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.back-to-top{position:fixed;right:28px;bottom:28px;z-index:99;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid rgba(217,255,95,.35);border-radius:50%;background:#111111e0;color:var(--accent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 10px 30px #00000080,0 0 18px #d9ff5f26;cursor:pointer;opacity:0;transform:translateY(20px) scale(.85);pointer-events:none;transition:opacity .3s ease,transform .3s ease,background-color .2s ease,border-color .2s ease}.back-to-top.is-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.back-to-top:hover{background:var(--accent);color:#050505;border-color:var(--accent);transform:translateY(-3px) scale(1.08);box-shadow:0 14px 35px #d9ff5f59}@keyframes blink{0%,48%{opacity:1}49%,to{opacity:0}}@keyframes wave-left{0%{transform:rotate(100deg)}10%{transform:rotate(120deg)}30%{transform:rotate(150deg)}50%{transform:rotate(120deg)}70%{transform:rotate(150deg)}90%{transform:rotate(120deg)}to{transform:rotate(100deg)}}@media (max-width: 1040px){.hero-section,.profile-section,.contact-section,.split-section{grid-template-columns:1fr}.hero-photo-wrapper{width:min(100%,380px);margin:32px auto 0}.hero-photo{width:100%;margin:0 auto}.scroll-indicator{order:3;margin:32px auto 0;justify-content:center}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-carousel-track .project-card{flex:0 0 calc((100% - 20px)/2);min-width:280px}.profile-section .profile-facts{grid-template-columns:1fr}}@media (max-width: 760px){body{font-size:.95rem}.section-frame{width:min(100% - 32px,var(--max-width))}.site-header-inner{display:grid;grid-template-columns:auto auto;align-items:center;min-height:72px;width:min(100% - 32px,var(--max-width));margin:0 auto;padding:10px 0;gap:0}.brand-mark{width:46px;height:46px;font-size:.95rem}.menu-toggle{display:inline-flex;justify-self:end}.site-nav{position:static;grid-column:1 / -1;width:100%;z-index:200;display:grid;gap:6px;max-height:0;margin:0;padding:0 12px;overflow:hidden;border:1px solid transparent;border-radius:var(--radius);background:#040404;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:1;pointer-events:none;transform:none;visibility:hidden;transition:max-height .22s ease,margin .22s ease,padding .22s ease,border-color .22s ease,visibility .22s ease}.site-nav.is-open{max-height:330px;margin-top:12px;margin-bottom:4px;padding:12px;border-color:var(--line);pointer-events:auto;visibility:visible}.site-nav a{justify-content:center;min-height:48px;font-size:.72rem}.hero-section{min-height:auto;padding:62px 0 48px}.hero-photo-wrapper{order:2;width:min(100%,340px);margin:24px auto 0}.hero-photo{width:100%;margin:0 auto}.hero-photo img{aspect-ratio:4 / 4.8}.scroll-indicator{order:3;margin:28px auto 0;justify-content:center}.profile-section{padding-bottom:78px}.eyebrow,.card-kicker{font-size:.72rem}.hero-copy h1{font-size:3.35rem;line-height:.96}.role-line{font-size:1rem}.hero-summary,.section-intro>p:last-child,.contact-copy>p:last-child{font-size:.94rem}.section-intro h2,.contact-copy h2{font-size:2.45rem}.hero-actions,.section-heading-row,.language-panel p{align-items:stretch;flex-direction:column}.section-heading-row{gap:18px}.carousel-controls-group{width:100%;justify-content:space-between}.button{width:100%}.skills-grid{grid-template-columns:1fr}.projects-carousel-track .project-card{flex:0 0 100%;min-width:100%}.profile-panel h2{font-size:1.24rem}.profile-fact strong{font-size:.96rem}.profile-fact p{font-size:.86rem}.content-section,.split-section{padding-top:78px}.experience-card{grid-template-columns:1fr}.project-card{min-height:280px}.project-index{margin-bottom:28px;font-size:2.05rem}.experience-card h3,.project-card h3,.skill-card h3,.timeline-item h3,.language-panel h3{font-size:1.06rem}.tag-list span,.profile-tags span{font-size:.72rem}.mini-heading h2{font-size:1.72rem}.contact-link strong{font-size:.94rem}.contact-section{padding:86px 0 64px}}@media (max-width: 430px){.section-frame,.site-header-inner{width:min(100% - 24px,var(--max-width))}.hero-copy h1{font-size:3.5rem}.hero-photo{width:100%}.section-intro h2,.contact-copy h2{font-size:1.78rem;line-height:1.08}.profile-panel,.profile-fact,.experience-card,.project-card-body,.skill-card,.panel-column,.contact-link{padding:18px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
