@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;700&display=swap";:root{color-scheme:dark;font-family:Inter,Avenir Next,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#edf4f7;background:radial-gradient(circle at 12% 18%,rgba(72,201,176,.28),transparent 30%),radial-gradient(circle at 88% 14%,rgba(126,87,255,.18),transparent 24%),radial-gradient(circle at 75% 82%,rgba(50,173,255,.14),transparent 26%),linear-gradient(180deg,#071116 0%,#08151c 48%,#050a0d 100%);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #071116;--bg-soft: rgba(12, 22, 29, .74);--panel: rgba(10, 19, 25, .78);--panel-strong: rgba(14, 26, 34, .92);--line: rgba(160, 208, 224, .12);--line-strong: rgba(160, 208, 224, .2);--text: #edf4f7;--muted: rgba(226, 238, 243, .72);--muted-strong: rgba(226, 238, 243, .86);--accent: #6ef2d1;--accent-2: #64b6ff;--accent-3: #b69cff;--shadow: 0 28px 100px rgba(0, 0, 0, .42);--radius-xl: 32px;--radius-lg: 24px;--radius-md: 18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:36px 36px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.35),transparent 84%);mask-image:linear-gradient(180deg,rgba(0,0,0,.35),transparent 84%);opacity:.35}::selection{background:rgba(110,242,209,.25);color:#fff}a{color:inherit;text-decoration:none}button,a,input,textarea{font:inherit}button,.button{cursor:pointer}img,video,iframe{max-width:100%}#root{min-height:100vh}.linkedin-banner-page{min-height:100vh;padding:28px;display:grid;align-content:start;gap:18px}.linkedin-banner-toolbar{width:min(1200px,100%);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:12px}.linkedin-banner-toolbar p{margin:0;color:var(--muted)}.linkedin-banner-preview{width:min(1200px,100%);aspect-ratio:4 / 1;margin:0 auto;border-radius:26px;padding:clamp(24px,3.2vw,40px);border:1px solid var(--line-strong);box-shadow:var(--shadow);background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),radial-gradient(circle at 14% 16%,rgba(110,242,209,.22),transparent 29%),radial-gradient(circle at 88% 18%,rgba(100,182,255,.2),transparent 27%),linear-gradient(180deg,#071116 0%,#08151c 50%,#050a0d 100%);background-size:42px 42px,42px 42px,cover,cover,cover;text-align:right}.linkedin-banner-name{margin:0 0 8px;font-family:Space Grotesk,Inter,sans-serif;font-size:clamp(1.8rem,4.3vw,4rem);font-weight:700;letter-spacing:-.03em;color:#edf4f7}.linkedin-banner-role,.linkedin-banner-tagline,.linkedin-banner-site{margin:0}.linkedin-banner-role{color:#e2eef3e6;font-size:clamp(.85rem,2vw,2rem);font-weight:500}.linkedin-banner-tagline{margin-top:clamp(8px,1.1vw,14px);color:#6ef2d1;font-size:clamp(.8rem,1.65vw,1.65rem);font-weight:600}.linkedin-banner-site{margin-top:clamp(8px,1.1vw,14px);color:#e2eef3c2;font-size:clamp(.72rem,1.25vw,1.2rem)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Space Grotesk,Inter,sans-serif;letter-spacing:-.04em}.layout{width:min(1400px,calc(100% - 28px));margin:0 auto;padding:24px 0 48px;display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px}.sidebar,.section,.card,.contact-section,.modal{border:1px solid var(--line);background:linear-gradient(180deg,rgba(13,23,29,.88),rgba(8,16,21,.92));-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:var(--shadow)}.sidebar{position:sticky;top:24px;align-self:start;border-radius:var(--radius-xl);padding:24px;display:grid;gap:20px}.sidebar-head{display:grid;gap:14px}.brand{display:grid;gap:10px;padding-bottom:18px;border-bottom:1px solid var(--line)}.brand strong{font-size:2rem;line-height:.95;color:#fff}.brand-copy{margin-bottom:0;max-width:22ch;color:var(--muted)}.mobile-menu-toggle{display:none;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:0 16px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--text);cursor:pointer}.mobile-menu-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:rgba(110,242,209,.12);color:var(--accent);font-size:1.2rem;line-height:1}.sidebar-menu{display:grid;gap:20px}.nav{display:grid;gap:8px}.nav-link{display:block;padding:14px 16px;border-radius:16px;color:var(--muted-strong);border:1px solid transparent;background:rgba(255,255,255,.03);transition:transform .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease}.nav-link:hover{transform:translate(3px);border-color:#6ef2d13d;background:rgba(110,242,209,.08);color:#fff}.sidebar-actions,.hero-actions,.stage-actions{display:flex;flex-wrap:wrap;gap:12px}.content{display:grid;gap:20px}.section{position:relative;overflow:hidden;border-radius:var(--radius-xl);padding:26px 30px 30px}.section:before,.card:before,.contact-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(135deg,rgba(110,242,209,.08),transparent 28%),linear-gradient(315deg,rgba(100,182,255,.05),transparent 34%);opacity:.55}.hero-section{min-height:clamp(420px,56vh,680px);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);gap:20px;align-items:center}.hero-copy,.hero-panel{position:relative;z-index:1}.hero-copy{display:grid;gap:18px;align-content:end;max-width:760px}.eyebrow{margin-top:-6px;margin-bottom:12px;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;color:var(--accent)}h1{margin-bottom:0;font-size:clamp(2.6rem,6.8vw,5.8rem);line-height:.92;max-width:10ch;color:#fff}.hero-intro{max-width:56ch;font-size:clamp(1rem,1.5vw,1.18rem);color:var(--muted-strong)}.typing-line{display:inline-flex;align-items:center;gap:10px;width:fit-content;min-height:2.4rem;padding:11px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:var(--text);box-shadow:inset 0 1px #ffffff0a}.typing-prefix{color:var(--muted)}.typing-word{color:var(--accent);font-weight:700}.typing-line .TypeAnimation__Cursor{color:var(--accent)}.hero-panel,.hero-panel-grid,.hero-stat,.card,.contact-link,.contact-address,.stack-item,.nav-link,.button,.project-card{border-radius:20px}.hero-panel{display:grid;align-self:stretch}.hero-panel-grid{display:grid;grid-template-columns:1fr;gap:12px;align-content:start}.hero-stat{padding:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);display:grid;grid-template-columns:minmax(92px,auto) minmax(0,1fr);gap:10px 16px;align-items:center}.hero-stat span{color:var(--muted);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}.hero-stat strong{font-size:.98rem;line-height:1.35;text-align:left}.card{position:relative;overflow:hidden;padding:22px}.about-grid{display:grid;grid-template-columns:minmax(260px,.88fr) minmax(0,1.12fr);gap:18px}.about-image-card{padding:0;overflow:hidden}.profile-image{display:block;width:100%;height:100%;min-height:360px;object-fit:cover;object-position:center top;border-radius:inherit}.about-copy{display:grid;align-content:start;gap:8px}.cv-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.cv-header h2{margin-bottom:8px}.cv-header p{max-width:64ch;color:var(--muted-strong)}.cv-grid,.split-card,.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{display:grid;gap:14px;width:100%;text-align:left;cursor:pointer;font:inherit;background:linear-gradient(180deg,rgba(14,22,29,.96),rgba(8,15,20,.94)),radial-gradient(circle at top right,rgba(110,242,209,.16),transparent 36%);border:1px solid rgba(255,255,255,.08);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.project-card:hover{transform:translateY(-4px);border-color:#6ef2d13d;box-shadow:0 34px 90px #00000061}.project-card h2,.cv-grid h2,.contact-section h2,.split-card h2,.modal h2{font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.02;margin-bottom:0;color:#fff}.project-year{margin:0;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.project-vak{margin-bottom:0;font-size:.88rem;font-weight:700;color:var(--muted-strong)}.project-link{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-weight:700}.project-link:after{content:"→"}.cv-title{font-weight:600;margin-bottom:4px;color:#fff}.cv-meta{margin-bottom:12px;color:var(--muted)}.cv-link{display:inline-block;margin-bottom:12px;color:var(--accent);font-weight:600}.cv-link:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border:1px solid transparent;font-weight:700;letter-spacing:.01em;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.6;transform:none}.button-primary{background:linear-gradient(135deg,#6ef2d1,#64b6ff);color:#061116;box-shadow:0 18px 36px #64b6ff2e}.button-secondary{border-color:#ffffff1a;background:rgba(255,255,255,.04);color:var(--text)}.button-secondary:hover{border-color:#6ef2d138;background:rgba(110,242,209,.08)}.stage-card{display:grid;gap:20px}.stage-logo{width:100%;height:260px;object-fit:cover;object-position:center;border-radius:18px;border:1px solid rgba(255,255,255,.08)}.stage-copy{display:grid;gap:14px;color:var(--muted-strong)}.contact-section{margin-top:0;padding:30px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px}.contact-intro{margin-bottom:0;color:var(--muted-strong);max-width:52ch}.contact-details{display:grid;gap:10px;align-content:start}.contact-link,.contact-address{display:block;padding:14px 16px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.04);color:var(--text)}.contact-link{font-weight:600}.contact-link:hover{border-color:#6ef2d138;background:rgba(110,242,209,.08)}.card p,.project-card p,.split-card p,.stage-copy p{color:var(--muted)}.site-footer{padding:10px 6px 0;color:var(--muted);font-size:.92rem}.site-footer p{margin-bottom:8px}.site-footer-note{font-size:.78rem;opacity:.8}.cv-pdf-shell{position:fixed;left:-10000px;top:0;width:210mm;min-height:285mm;pointer-events:none;overflow:hidden}.cv-pdf-document{width:210mm;min-height:285mm;padding:4mm 8mm 4mm 4mm;color:#edf4f7;background:radial-gradient(circle at 12% 16%,rgba(110,242,209,.18),transparent 24%),radial-gradient(circle at 84% 10%,rgba(100,182,255,.1),transparent 20%),linear-gradient(180deg,#071116 0%,#08151c 100%);border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow)}.cv-pdf-header{display:grid;grid-template-columns:minmax(0,1.35fr) 240px;gap:12px;align-items:start;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08)}.cv-pdf-eyebrow{margin:0 0 10px;color:var(--accent);font-size:.72rem;text-transform:uppercase;letter-spacing:.22em}.cv-pdf-header h1{margin-bottom:6px;font-size:28px;max-width:none}.cv-pdf-title{margin-bottom:8px;color:var(--muted-strong);font-weight:600}.cv-pdf-summary{margin-bottom:0;color:var(--muted)}.cv-pdf-contact{display:grid;gap:10px;justify-items:end}.cv-pdf-photo{width:88px;height:88px;border-radius:16px;background-size:cover;background-position:center top;background-repeat:no-repeat;background-color:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.cv-pdf-contact-list{display:grid;gap:6px;text-align:right}.cv-pdf-contact-list p,.cv-pdf-contact-list a{margin-bottom:0;color:var(--muted-strong);font-size:.88rem}.cv-pdf-grid{display:grid;grid-template-columns:78mm minmax(0,1fr);gap:8px}.cv-pdf-sidebar,.cv-pdf-main{display:grid;gap:8px}.cv-pdf-block{padding:8px 10px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04)}.cv-pdf-block h2{margin-bottom:6px;font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--accent)}.cv-pdf-list{margin:0;padding-left:16px;color:var(--muted-strong)}.cv-pdf-list li+li{margin-top:3px}.cv-pdf-timeline{display:grid;gap:6px}.cv-pdf-entry{padding-top:6px;border-top:1px solid rgba(255,255,255,.08)}.cv-pdf-entry:first-child{padding-top:0;border-top:0}.cv-pdf-entry-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:4px}.cv-pdf-entry-head h3{margin-bottom:2px;font-size:.96rem;color:#fff}.cv-pdf-entry-head p,.cv-pdf-entry p{margin-bottom:0;color:var(--muted)}.cv-pdf-entry-head span{white-space:nowrap;color:var(--accent);font-size:.78rem;font-weight:700}.cv-pdf-entry>p{margin-bottom:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:20px;background:rgba(3,8,11,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.modal{position:relative;width:min(900px,100%);max-height:min(84vh,860px);overflow:hidden;border-radius:28px;padding:28px 0 28px 28px;background:linear-gradient(180deg,rgba(13,22,29,.98),rgba(7,13,18,.98)),radial-gradient(circle at top right,rgba(110,242,209,.12),transparent 32%)}.modal-body{max-height:calc(min(84vh,860px) - 56px);overflow-y:auto;padding-right:28px;scrollbar-width:thin;scrollbar-color:rgba(110,242,209,.55) rgba(255,255,255,.08)}.modal-body .eyebrow{margin-top:2px;line-height:1.2}.modal h2{margin-bottom:12px;font-size:clamp(2rem,4vw,3rem)}.modal-summary{font-size:1.06rem;color:var(--muted-strong);margin-bottom:20px}.modal-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.modal-meta>div{display:grid;align-content:start;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}.modal-label{display:block;margin-bottom:6px;font-size:.74rem;text-transform:uppercase;letter-spacing:.16em;color:var(--accent)}.modal-meta p{margin-bottom:0;color:#fff;font-weight:600}.modal-year{text-align:left}.stack-list{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}.stack-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.04)}.stack-icon{display:inline-flex;align-items:center;justify-content:center}.stack-icon-image{width:22px;height:22px;object-fit:contain}.stack-icon-image-simple{filter:brightness(0) invert(1)}.stack-name{font-weight:600;color:#fff}.modal-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 16px;margin-top:18px;border-radius:999px;background:linear-gradient(135deg,#6ef2d1,#64b6ff);color:#061116;font-weight:800;box-shadow:0 18px 36px #64b6ff2e}.modal-link:hover{transform:translateY(-1px)}.modal-details{margin-bottom:0;color:var(--muted-strong)}.pdf-page-layout{min-height:100vh;padding:22px;display:grid;align-content:start;gap:14px}.pdf-page-header{width:min(1240px,100%);margin:0 auto;display:grid;gap:10px}.pdf-page-header h1{margin:0}.pdf-toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}.pdf-toolbar-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pdf-page-indicator{margin:0;color:var(--muted-strong);min-width:48px;text-align:left;font-weight:600}.pdf-scroll-list{width:min(1240px,100%);margin:0 auto;display:grid;gap:16px;padding:14px;height:min(78vh,920px);overflow-y:auto;overflow-x:hidden;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(7,17,22,.8)}.pdf-canvas{display:block;max-width:100%;border-radius:12px;box-shadow:0 24px 65px #0006;background:#ffffff}.pdf-scroll-canvas{margin:0 auto}.pdf-state{margin:0;padding:10px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:rgba(4,10,14,.86);color:#edf4f7;font-weight:600}.pdf-state-static{width:min(1240px,100%);margin:0 auto}.modal-media{display:block;width:100%;margin-top:22px;border-radius:20px;border:1px solid rgba(255,255,255,.08);object-fit:cover}video.modal-media,.modal-video,.modal-embed{background:#071116}.modal-video{display:block;width:100%;height:auto;margin-top:22px;border-radius:20px;border:1px solid rgba(255,255,255,.08);object-fit:contain}.modal-embed{margin-top:22px;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.08);aspect-ratio:16 / 9}.modal-embed iframe{display:block;width:100%;height:100%;border:0}.modal-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}.modal-gallery-image{display:block;width:100%;aspect-ratio:9 / 16;object-fit:cover;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04)}.modal-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border:0;border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:1.4rem;cursor:pointer}.modal-close:hover{background:rgba(110,242,209,.16)}.modal-body::-webkit-scrollbar{width:7px}.modal-body::-webkit-scrollbar-track{background:rgba(255,255,255,.08);border-radius:999px}.modal-body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(110,242,209,.7),rgba(100,182,255,.7));border-radius:999px;border:1px solid rgba(255,255,255,.75)}.modal-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,rgba(110,242,209,.95),rgba(100,182,255,.95))}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes float-soft{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.hero-copy,.hero-panel,.sidebar,.section,.card,.contact-section{animation:rise .6s ease both}.hero-panel{animation-delay:80ms}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (max-width: 1180px){.layout{grid-template-columns:1fr}.sidebar{position:relative;top:0}.cv-grid,.project-grid,.about-grid,.contact-section,.hero-panel-grid{grid-template-columns:1fr}.cv-header{display:grid}}@media (max-width: 820px){.hero-section{grid-template-columns:1fr}}@media (max-width: 720px){.layout{width:min(100% - 16px,1400px);gap:16px;padding-top:16px}.sidebar,.hero-section,.section,.contact-section{border-radius:24px}.sidebar{padding:20px}.mobile-menu-toggle{display:inline-flex}.sidebar-menu{display:none}.sidebar-menu.is-open{display:grid}.section{padding:20px}.hero-section{min-height:auto;padding:22px}h1{max-width:100%}.hero-stat{grid-template-columns:1fr;align-items:start}.profile-image{min-height:280px}.stage-logo{height:210px}.modal{padding:22px;border-radius:24px}.modal-meta{grid-template-columns:1fr}.modal-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 540px){.hero-actions,.sidebar-actions,.stage-actions{flex-direction:column}.button{width:100%}.modal-gallery{grid-template-columns:1fr}}
