:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f9fc;--surface:#fff;--surface-strong:#e8f0f8;--text:#142033;--muted:#526174;--border:#d8e2ef;--accent:#0f6fff;--accent-strong:#0b4db3;--accent-soft:#dcecff;--teal:#087f8c;--gold:#a86c00;--shadow:0 18px 50px #1420331f;--radius:8px;--max:1160px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07111f;--surface:#0c1828;--surface-strong:#12243a;--text:#edf5ff;--muted:#aab9cb;--border:#243b57;--accent:#4da3ff;--accent-strong:#85c2ff;--accent-soft:#102a46;--teal:#4fd1c5;--gold:#f0b84a;--shadow:0 22px 60px #00000057}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(180deg, color-mix(in srgb, var(--accent-soft) 44%, transparent), transparent 520px), var(--bg);min-width:320px;color:var(--text);margin:0;font-size:16px;line-height:1.65;transition:background-color .22s,color .22s}body:before{z-index:-1;pointer-events:none;content:"";background-image:linear-gradient(color-mix(in srgb, var(--border) 34%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--border) 34%, transparent) 1px, transparent 1px);background-size:72px 72px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 78%);mask-image:linear-gradient(#000,#0000 78%)}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 55%, white);outline-offset:3px}.skip-link{z-index:30;border-radius:var(--radius);background:var(--text);color:var(--bg);padding:10px 14px;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-140%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:20;border-bottom:1px solid color-mix(in srgb, var(--border) 82%, transparent);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:sticky;top:0}.nav{width:min(100% - 32px, var(--max));justify-content:space-between;align-items:center;min-height:68px;margin:0 auto;display:flex}.brand{letter-spacing:0;font-weight:800;text-decoration:none}.nav-toggle{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:44px;height:44px;color:var(--text);place-items:center;display:inline-grid}.nav-toggle__bar{background:currentColor;width:18px;height:2px}.nav-menu{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);gap:18px;padding:16px;display:none;position:absolute;top:68px;left:16px;right:16px}.nav-menu.is-open{display:grid}.nav-links,.nav-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nav-links a{border-radius:var(--radius);color:var(--muted);padding:9px 10px;font-size:.95rem;font-weight:700;text-decoration:none}.nav-links a:hover{background:var(--accent-soft);color:var(--text)}.icon-button,.language-option{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-strong);min-width:76px;height:40px;color:var(--text);cursor:pointer;padding:0 14px;font-weight:800}.language-switcher{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);display:inline-flex;overflow:hidden}.language-option{min-width:46px;color:var(--muted);background:0 0;border:0;border-radius:0}.language-option+.language-option{border-left:1px solid var(--border)}.language-option.is-active{background:var(--accent);color:#fff}.section{width:min(100% - 32px, var(--max));margin:0 auto;padding:72px 0}.section--band{width:100%;max-width:none;padding-right:max(16px, calc((100vw - var(--max)) / 2));padding-left:max(16px, calc((100vw - var(--max)) / 2));background:color-mix(in srgb, var(--surface-strong) 66%, transparent)}.section--compact{padding-top:52px;padding-bottom:52px}.section:not(.section--hero){content-visibility:auto;contain-intrinsic-size:1px 720px}.section-heading{max-width:760px;margin-bottom:28px}.eyebrow{color:var(--accent-strong);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:900}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{line-height:1.12}h1{max-width:820px;margin-bottom:12px;font-size:clamp(2.45rem,8vw,5.8rem)}h2{margin-bottom:12px;font-size:clamp(2rem,5vw,3.3rem)}h3{margin-bottom:10px;font-size:1.18rem}.section-intro,.hero__tagline,.hero__role{color:var(--muted);font-size:1.06rem}.section--hero{align-items:center;gap:34px;min-height:calc(100svh - 68px);padding-top:54px;padding-bottom:48px;display:grid}.hero__role{color:var(--accent-strong);margin-bottom:18px;font-size:clamp(1.2rem,3vw,1.65rem);font-weight:800}.hero__tagline{max-width:720px;margin-bottom:28px}.hero__actions,.link-row,.contact-links,.cv-links{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button,.text-link{border-radius:var(--radius);justify-content:center;align-items:center;min-height:44px;font-weight:850;text-decoration:none;display:inline-flex}.button{border:1px solid #0000;padding:10px 16px}.button--primary{background:var(--accent);color:#fff}.button:disabled{cursor:not-allowed;opacity:.55}.button--ghost{border-color:var(--border);background:color-mix(in srgb, var(--surface) 86%, transparent);color:var(--text)}.text-link{min-height:36px;color:var(--accent-strong);cursor:pointer;background:0 0;border:0;padding:0}.hero__metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:720px;margin:34px 0 0;display:grid}.metric{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 86%, transparent);min-height:108px;padding:16px}.metric dt{color:var(--accent-strong);font-size:1.5rem;font-weight:900}.metric dd{color:var(--muted);margin:4px 0 0;font-size:.92rem}.hero__visual{align-self:stretch}.system-map{border:1px solid var(--border);border-radius:var(--radius);background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 38%), linear-gradient(135deg, color-mix(in srgb, var(--surface) 88%, transparent), color-mix(in srgb, var(--surface-strong) 72%, transparent));height:100%;min-height:360px;box-shadow:var(--shadow);align-content:center;gap:22px;padding:22px;display:grid}.system-map__core{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border));border-radius:var(--radius);background:var(--surface);width:min(220px,70%);min-height:112px;color:var(--accent-strong);text-align:center;place-items:center;margin:0 auto;font-size:1.1rem;font-weight:900;display:grid}.system-map__nodes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.system-map__nodes span,.tag,.uses-list li{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-weight:750}.system-map__nodes span{text-align:center;min-height:52px;padding:13px 10px}.prose-grid,.project-grid,.principle-grid,.skill-grid,.featured-grid{gap:16px;display:grid}.prose-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.prose-grid p{border-left:4px solid var(--accent);background:var(--surface);min-height:220px;margin:0;padding:22px}.timeline{gap:18px;display:grid;position:relative}.timeline:before{content:"";background:var(--border);width:2px;position:absolute;top:12px;bottom:12px;left:15px}.timeline-item{grid-template-columns:32px minmax(0,1fr);gap:16px;display:grid;position:relative}.timeline-item__marker{z-index:1;border:6px solid var(--bg);background:var(--accent);border-radius:50%;width:32px;height:32px}.timeline-item__body,.project-card,.principle-card,.skill-card,.featured-card,.education-item,.contact-panel{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 93%, transparent);box-shadow:0 10px 28px #1420330d}.timeline-item__body{padding:22px}.timeline-item__meta{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.timeline-item__meta span{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;padding:4px 9px;font-size:.82rem;font-weight:850}.timeline-item__company{color:var(--muted);font-weight:800}.timeline-item ul,.decision-list{color:var(--muted);padding-left:18px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.project-card,.principle-card,.skill-card,.featured-card,.education-item{padding:22px}.project-card{grid-template-rows:auto auto minmax(92px,1fr) auto;gap:14px;height:100%;display:grid}.project-card>.button{align-self:end;width:100%}.project-card__media{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-strong);place-items:center;width:100%;display:grid;overflow:hidden}.project-card__media>img{object-fit:cover;width:100%;height:100%}.project-card__icon{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:86px;height:86px;color:var(--accent-strong);place-items:center;font-weight:900;display:grid}.project-card__icon img{max-width:58px;max-height:58px}.project-card__problem,.principle-card p,.featured-card p{color:var(--muted)}.tag-list,.skill-list,.uses-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tag{color:var(--accent-strong);padding:5px 9px;font-size:.82rem}.principle-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.principle-card{border-top:4px solid var(--teal)}.skill-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.skill-card__header{align-items:center;gap:10px;margin-bottom:16px;display:flex}.skill-card__icon{border-radius:var(--radius);background:var(--accent-soft);width:42px;height:42px;color:var(--accent-strong);place-items:center;font-size:.8rem;font-weight:900;display:grid}.skill-card__icon img{max-width:30px;max-height:30px}.skill-list{display:grid}.skill-list li{border-bottom:1px solid var(--border);color:var(--muted);padding:8px 0}.skill-list li:last-child{border-bottom:0}.education-list{gap:16px;display:grid}.education-item{gap:6px;display:grid}.education-item p,.education-item span{color:var(--muted);margin:0}.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-card{align-content:start;gap:12px;display:grid}.featured-card__icon{object-fit:contain;width:46px;height:46px}.project-modal{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(920px,100vw - 28px);color:var(--text);box-shadow:var(--shadow);padding:0}.project-modal::backdrop{background:#07111fb8}.project-modal__content{gap:20px;padding:22px;display:grid}.project-modal__copy{gap:14px;display:grid}.project-modal__copy p{color:var(--muted);margin:0}.project-modal__image,.project-modal__placeholder{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-strong);width:100%}.project-modal__image{object-fit:cover}.project-modal__placeholder{place-items:center;display:grid}.project-modal__placeholder img{max-width:92px;max-height:92px}.project-modal__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.uses-list li{padding:10px 12px}.contact-panel{gap:18px;padding:24px;display:grid}.site-footer{width:min(100% - 32px, var(--max));border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:34px 0;display:flex}.site-footer p{margin:0}.footer-links{flex-wrap:wrap;gap:12px;display:flex}.footer-links a{color:var(--text);font-weight:750;text-decoration:none}@media (width>=820px){.nav-toggle{display:none}.nav-menu{box-shadow:none;background:0 0;border:0;align-items:center;padding:0;display:flex;position:static}.section--hero{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)}.project-modal__content{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr)}}@media (width<=980px){.prose-grid,.project-grid,.principle-grid,.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){body{font-size:15px}.section{width:min(100% - 24px, var(--max));padding:54px 0}.section--band{width:100%;padding-left:12px;padding-right:12px}.hero__metrics,.prose-grid,.project-grid,.principle-grid,.skill-grid,.featured-grid{grid-template-columns:1fr}.prose-grid p,.metric{min-height:auto}.system-map{min-height:300px}.system-map__nodes{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
