:root{--bg: #0F1420;--surface: #161C2C;--surface-2: #1D2438;--text: #E8EAF0;--muted: #8892A6;--accent: #E8B54D;--border: #262E44}:root[data-theme=light]{--bg: #F7F6F2;--surface: #FFFFFF;--surface-2: #EFEEE9;--text: #191B22;--muted: #5C6270;--accent: #B9791F;--border: #E2E0D8}html{scroll-padding-top:72px;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,.brand{font-family:Space Grotesk,sans-serif}.mono{font-family:JetBrains Mono,monospace}a{color:inherit}.wrap{max-width:1040px;margin:0 auto;padding:0 24px}nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.navrow{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{font-weight:700;font-size:1.1rem;text-decoration:none}.navlinks{display:flex;gap:28px;list-style:none;margin:0;padding:0}.navlinks a{text-decoration:none;color:var(--muted);font-size:.94rem;transition:color .15s}.navlinks a:hover,.navlinks a:focus-visible{color:var(--text)}.navright{display:flex;align-items:center;gap:14px}.themebtn{background:none;border:1px solid var(--border);color:var(--text);width:34px;height:34px;border-radius:6px;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center}.themebtn:hover{border-color:var(--accent)}.burger{display:none;background:none;border:none;color:var(--text);font-size:22px;cursor:pointer}.mobilemenu{display:none;flex-direction:column;gap:4px;padding:8px 0 16px}.mobilemenu a{padding:10px 0;text-decoration:none;color:var(--muted);border-bottom:1px solid var(--border)}@media (max-width: 720px){.navlinks{display:none}.burger{display:block}.mobilemenu.open{display:flex}}.cvMenu{position:relative}.cvBtn{padding:8px 16px;font-size:.88rem;display:flex;align-items:center;gap:6px}.chevron{font-size:.6rem}.cvDropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;min-width:160px;box-shadow:0 12px 28px -8px #0006;z-index:60}.cvOption{display:block;padding:11px 16px;font-size:.9rem;color:var(--text);text-decoration:none;border-bottom:1px solid var(--border);transition:background .15s}.cvOption:last-child{border-bottom:none}.cvOption:hover{background:var(--surface-2);color:var(--accent)}.cvMobileRow{display:flex;gap:20px;padding:14px 0 4px}.cvMobileRow a{color:var(--accent);text-decoration:none;font-size:.92rem}.cvMobileRow a:hover{text-decoration:underline}section{padding:88px 0;border-bottom:1px solid var(--border)}section:last-of-type{border-bottom:none}.sectionHead{margin-bottom:40px}.sectionHead .num{color:var(--accent);font-size:.8rem;margin:0 0 8px}.sectionHead h2{font-size:1.7rem;margin:0;font-weight:700}.heroEditorial{position:relative;padding-top:34px;padding-bottom:0;overflow:hidden;border-bottom:1px solid var(--border)}.heroEditorialWrap{max-width:1320px}.heroTop{position:relative;min-height:145px;display:flex;align-items:flex-start;justify-content:space-between;z-index:5}.heroGreeting{display:flex;align-items:baseline;gap:14px;font-family:Space Grotesk,sans-serif;font-size:clamp(4rem,9vw,8.5rem);line-height:.8;letter-spacing:-.07em;color:var(--text)}.heroGreetingThin{font-weight:300}.heroGreetingStrong{font-weight:700}.heroAvailability{margin-top:20px;display:flex;align-items:center;gap:9px;padding:9px 15px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.76rem;letter-spacing:.01em;transition:border-color .25s ease,transform .25s ease,color .25s ease}.heroAvailability:hover{border-color:var(--accent);color:var(--text);transform:translateY(-2px)}.availabilityDot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent);animation:availabilityPulse 2s infinite}@keyframes availabilityPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.65}}.heroEditorialStage{position:relative;min-height:500px;display:grid;grid-template-columns:1fr minmax(320px,460px) 1fr;align-items:end;margin-top:-25px}.heroInfo{position:relative;z-index:4;align-self:end;max-width:320px;padding-bottom:72px}.heroKicker{display:inline-block;margin-bottom:15px;color:var(--accent);font-size:.75rem;font-weight:600;letter-spacing:.12em}.heroIntro{margin:0;max-width:31ch;color:var(--muted);font-size:.94rem;line-height:1.65}.heroActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.heroButton{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:43px;padding:10px 17px;border-radius:6px;font-size:.84rem;font-weight:600;text-decoration:none;transition:transform .25s ease,background .25s ease,border-color .25s ease,color .25s ease}.heroButtonPrimary{background:var(--accent);color:#14171c}.heroButtonPrimary:hover{transform:translateY(-3px);filter:brightness(1.08)}.heroButtonSecondary{border:1px solid var(--border);background:transparent;color:var(--text)}.heroButtonSecondary:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-3px)}.heroPortraitWrap{position:relative;z-index:3;width:100%;display:flex;justify-content:center;align-items:flex-end;align-self:stretch}.heroPortraitGlow{position:absolute;width:82%;height:72%;bottom:0;border-radius:50% 50% 0 0;background:color-mix(in srgb,var(--accent) 11%,transparent);filter:blur(40px);pointer-events:none}.heroPortrait{--mouse-x: 0px;--mouse-y: 0px;position:relative;z-index:2;width:min(100%,460px);max-height:590px;object-fit:contain;object-position:center bottom;display:block;transform:translate3d(var(--mouse-x),var(--mouse-y),0);transition:transform .45s cubic-bezier(.22,1,.36,1),filter .35s ease;filter:saturate(.92)}.heroPortrait:hover{filter:saturate(1)}.heroRole{position:relative;z-index:4;align-self:center;max-width:260px;margin-left:auto;padding-bottom:45px}.heroRoleNumber{display:block;margin-bottom:13px;color:var(--accent);font-family:JetBrains Mono,monospace;font-size:.7rem}.heroRoleLine{width:42px;height:1px;margin-bottom:18px;background:var(--accent)}.heroRole h2{margin:0;font-size:clamp(1.55rem,2.7vw,2.5rem);line-height:.94;letter-spacing:-.05em;font-weight:700}.heroRole h2 span{color:var(--muted)}.heroRole p{margin:17px 0 0;color:var(--muted);font-size:.76rem;line-height:1.5}.heroNameWrapper{position:relative;z-index:6;margin-top:-4px;pointer-events:none}.heroNameLabel{margin:0 0 -8px 4px;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:.68rem;letter-spacing:.16em}.heroNameEditorial{margin:0;display:flex;align-items:baseline;justify-content:space-between;gap:20px;font-family:Space Grotesk,sans-serif;font-size:clamp(4rem,10.8vw,10rem);line-height:.78;letter-spacing:-.075em;font-weight:700;text-transform:uppercase;white-space:nowrap;color:var(--text)}.heroNameOutline{color:transparent;-webkit-text-stroke:clamp(1px,.16vw,2px) var(--text);transition:color .35s ease,-webkit-text-stroke-color .35s ease}.heroNameWrapper:hover .heroNameOutline{color:var(--accent);-webkit-text-stroke-color:var(--accent)}.heroBottom{min-height:78px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-top:1px solid var(--border);margin-top:34px}.heroMeta{display:flex;flex-direction:column;gap:4px;color:var(--text);font-size:.7rem;font-weight:600;letter-spacing:.08em}.heroMetaLabel{color:var(--muted);font-family:JetBrains Mono,monospace;font-size:.6rem}.heroMetaRight{text-align:right}.heroScroll{display:flex;align-items:center;gap:9px;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:.58rem;letter-spacing:.08em;transition:color .2s ease}.heroScroll:hover{color:var(--accent)}.scrollArrow{color:var(--accent);font-size:1rem;animation:scrollBounce 1.8s ease-in-out infinite}@keyframes scrollBounce{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.heroReveal{opacity:0;transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}.revealDown{transform:translateY(-45px)}.revealUp{transform:translateY(45px)}.revealLeft{transform:translate(-55px)}.revealRight{transform:translate(55px)}.revealPortrait{transform:translateY(70px) scale(.96)}.heroReveal.is-visible{opacity:1;transform:translate(0) scale(1)}.heroTop .heroGreeting{transition-delay:.05s}.heroTop .heroAvailability,.heroInfo{transition-delay:.18s}.heroPortraitWrap{transition-delay:.08s}.heroRole{transition-delay:.28s}.heroNameWrapper{transition-delay:.18s}.heroBottom{transition-delay:.3s}@media (max-width: 1000px){.heroEditorialStage{grid-template-columns:.85fr minmax(280px,390px) .85fr;min-height:470px}.heroInfo{max-width:250px;padding-bottom:55px}.heroRole{max-width:210px}.heroRole h2{font-size:1.65rem}.heroIntro{font-size:.86rem}.heroNameEditorial{font-size:clamp(3.7rem,10vw,7.5rem)}}@media (max-width: 720px){.heroEditorial{padding-top:28px}.heroTop{min-height:auto;flex-direction:column;gap:24px}.heroGreeting{font-size:clamp(3.5rem,17vw,5.8rem);line-height:.82}.heroAvailability{margin-top:0;align-self:flex-start}.heroEditorialStage{min-height:auto;display:flex;flex-direction:column;align-items:center;margin-top:28px}.heroPortraitWrap{order:1;width:100%;min-height:350px;align-items:flex-end;margin-top:-5px}.heroPortrait{width:min(86%,360px)}.heroInfo{order:2;width:100%;max-width:470px;padding-bottom:0;text-align:center;margin-top:8px}.heroKicker{margin-bottom:12px}.heroIntro{max-width:40ch;margin-left:auto;margin-right:auto;font-size:.9rem}.heroActions{justify-content:center}.heroRole{order:3;width:100%;max-width:none;margin:34px 0 0;padding:0;text-align:center}.heroRoleNumber{margin-bottom:8px}.heroRoleLine{margin-left:auto;margin-right:auto;margin-bottom:13px}.heroRole h2{font-size:clamp(1.8rem,8vw,2.4rem);line-height:.95}.heroRole p{margin-top:12px}.heroNameWrapper{margin-top:42px;text-align:center}.heroNameLabel{margin-left:0;margin-bottom:8px}.heroNameEditorial{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:clamp(3.5rem,16vw,6rem);line-height:.78;white-space:normal}.heroBottom{grid-template-columns:1fr 1fr;margin-top:30px}.heroScroll{display:none}.heroMetaRight{text-align:right}}@media (max-width: 420px){.heroGreeting{font-size:3.3rem}.heroAvailability{font-size:.68rem}.heroPortraitWrap{min-height:310px}.heroIntro{font-size:.84rem}.heroButton{min-height:41px;padding:9px 14px;font-size:.78rem}.heroNameEditorial{font-size:3.4rem}.heroMeta{font-size:.62rem}}@media (prefers-reduced-motion: reduce){.heroReveal{opacity:1;transform:none;transition:none}.availabilityDot,.scrollArrow{animation:none}.heroPortrait{transform:none!important;transition:none}}.about p{color:var(--muted);line-height:1.75;font-size:1.02rem;max-width:62ch;margin:0 0 16px}.skillsGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.skillCard{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:16px 18px}.skillCard .name{font-weight:600;font-size:.95rem;margin-bottom:10px}.bar{height:4px;background:var(--surface-2);border-radius:2px;overflow:hidden}.bar-fill{height:100%;background:var(--accent);border-radius:2px}.projectsGrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 720px){.projectsGrid{grid-template-columns:1fr}}.project{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:24px;display:flex;flex-direction:column}.project:nth-child(2n){margin-top:28px}@media (max-width: 720px){.project:nth-child(2n){margin-top:0}}.project h3{margin:0 0 8px;font-size:1.15rem}.project p{color:var(--muted);font-size:.92rem;line-height:1.6;margin:0 0 16px;flex-grow:1}.tagRow{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.tag{font-size:.72rem;padding:3px 8px;border:1px solid var(--border);border-radius:4px;color:var(--muted)}.projectLinks{display:flex;gap:16px;font-size:.88rem}.projectLinks a{text-decoration:none;color:var(--accent)}.projectLinks a:hover{text-decoration:underline}.contactGrid{display:grid;grid-template-columns:1fr 1.3fr;gap:48px}@media (max-width: 720px){.contactGrid{grid-template-columns:1fr}}.contactGrid p{color:var(--muted);line-height:1.7}.field{margin-bottom:18px}.field label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:6px}.field input,.field textarea{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:11px 13px;color:var(--text);font-family:inherit;font-size:.95rem}.field input:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}.field textarea{resize:vertical;min-height:110px}.errText{color:#e5766b;font-size:.8rem;margin-top:5px}.successBox{background:var(--surface);border:1px solid var(--accent);border-radius:8px;padding:22px}.successBox h3{margin:0 0 6px}.successBox p{color:var(--muted);margin:0}footer{padding:40px 0}.footRow{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.socials{display:flex;gap:18px}.socials a{color:var(--muted);text-decoration:none;font-size:.9rem}.socials a:hover{color:var(--accent)}.copy{color:var(--muted);font-size:.85rem}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:6px;font-size:.88rem;font-weight:600;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease;white-space:nowrap}.btn-primary{background:var(--accent);color:#14171c}.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.08)}.btn-outline{border-color:var(--border);background:transparent;color:var(--text)}.btn-outline:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.btn-sm{height:36px;padding:0 14px;font-size:.82rem}.scrollReveal{opacity:0;transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}.scrollReveal.is-visible{opacity:1;transform:translate(0) scale(1)}.revealUp{transform:translateY(35px)}.revealLeft{transform:translate(-40px)}.revealRight{transform:translate(40px)}.aboutGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}@media (max-width: 860px){.aboutGrid{grid-template-columns:1fr;gap:32px}}.experienceTimeline{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:28px}.timelineTitle{font-size:1.1rem;margin-top:0;margin-bottom:20px}.timelineItem{position:relative;padding-left:24px;margin-bottom:24px;border-left:2px solid var(--border)}.timelineItem:last-child{margin-bottom:0}.timelineDot{position:absolute;left:-5px;top:4px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.timelineDate{font-size:.75rem;color:var(--accent);display:block;margin-bottom:4px}.timelineItem h4{margin:0 0 2px;font-size:1rem}.timelineCompany{font-size:.85rem;color:var(--muted);margin:0 0 8px}.timelineDesc{font-size:.88rem;color:var(--muted);margin:0;line-height:1.5}.skillCategory{margin-bottom:36px}.skillCategoryTitle{font-size:1.05rem;margin-bottom:16px;color:var(--text)}.skillCard{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:16px 18px;transition:border-color .2s ease,transform .2s ease}.skillCard:hover{border-color:var(--accent);transform:translateY(-2px)}.bar-fill{transition:width 1s cubic-bezier(.22,1,.36,1)}.project{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:24px;display:flex;flex-direction:column;transition:transform .25s ease,border-color .25s ease}.project:hover{transform:translateY(-4px);border-color:var(--accent)}.projectLinks{display:flex;gap:12px;margin-top:16px}.contactDirectInfo{margin-top:28px}.contactDirectInfo{margin-top:24px;margin-bottom:24px}.contactEmailLink{color:var(--accent);text-decoration:none;font-weight:500;font-size:.95rem}.contactEmailLink:hover{text-decoration:underline}.contactSocialsBox{margin-top:24px}.contactSocialButtons{display:flex;gap:12px;flex-wrap:wrap}.socialIconButton{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.85rem;font-weight:500;text-decoration:none;transition:border-color .2s ease,transform .2s ease,color .2s ease}.socialIconButton:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.footRight{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.backToTop{font-size:.78rem;color:var(--muted);text-decoration:none;transition:color .2s ease}.backToTop:hover{color:var(--accent)}@media (max-width: 600px){.footRight{align-items:flex-start}}
