@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700&family=Fira+Code:wght@400;500&display=swap";@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wdth,wght@12..96,75..100,200..800&family=Instrument+Sans:wght@400;500;600&display=swap";:root{--bg:#faf9f6;--bg-secondary:#f4f3ed;--bg-card:#fff;--text:#3f3f46;--text-h:#18181b;--text-muted:#71717a;--border:#e4e4e7;--border-dark:#18181b;--code-bg:#f4f3ed;--accent:#2563eb;--accent-light:#2563eb14;--accent-border:#2563eb66;--social-bg:#f4f3ed99;--shadow:#00000008 0px 2px 8px, #0000000d 0px 8px 24px;--transition:all .25s cubic-bezier(.16, 1, .3, 1);--navbar-bg:#faf9f6e0;--sans:"Inter", system-ui, -apple-system, sans-serif;--heading:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--mono:"Fira Code", monospace;font:16px/1.6 var(--sans);letter-spacing:-.011em;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not(.dark-theme):not(.light-theme){--bg:#09090b;--bg-secondary:#121214;--bg-card:#18181b;--text:#a1a1aa;--text-h:#f4f4f5;--text-muted:#8e8e93;--border:#27272a;--border-dark:#f4f4f5;--code-bg:#18181b;--accent:#60a5fa;--accent-light:#60a5fa14;--accent-border:#60a5fa66;--social-bg:#18181b99;--shadow:#0003 0px 4px 12px, #0006 0px 12px 36px;--navbar-bg:#09090be0;--line:#ffffff0f}}:root.dark-theme{--bg:#09090b;--bg-secondary:#121214;--bg-card:#18181b;--text:#a1a1aa;--text-h:#f4f4f5;--text-muted:#8e8e93;--border:#27272a;--border-dark:#f4f4f5;--code-bg:#18181b;--accent:#60a5fa;--accent-light:#60a5fa14;--accent-border:#60a5fa66;--social-bg:#18181b99;--shadow:#0003 0px 4px 12px, #0006 0px 12px 36px;--navbar-bg:#09090be0;--line:#ffffff0f}:root.light-theme{--bg:#faf9f6;--bg-secondary:#f4f3ed;--bg-card:#fff;--text:#3f3f46;--text-h:#18181b;--text-muted:#71717a;--border:#e4e4e7;--border-dark:#18181b;--code-bg:#f4f3ed;--accent:#2563eb;--accent-light:#2563eb14;--accent-border:#2563eb66;--social-bg:#f4f3ed99;--shadow:#00000008 0px 2px 8px, #0000000d 0px 8px 24px;--navbar-bg:#faf9f6e0;--line:var(--border)}*{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}body{background-color:var(--bg);background-image:repeating-linear-gradient(0deg, var(--line) 0 1px, transparent 1px 26px), repeating-linear-gradient(90deg, var(--line) 0 1px, transparent 1px 26px);box-sizing:border-box;color:var(--text);background-position:0 0;background-size:26px 26px;transition:background-color .3s,color .3s}#root{border-inline:1px solid var(--border);flex-direction:column;width:1300px;max-width:100%;min-height:100vh;margin:0 auto;display:flex;position:relative}h1,h2,h3,h4,h5,h6{font-family:var(--heading);color:var(--text-h);letter-spacing:-.03em;font-weight:700;line-height:1.1}section{border-bottom:1px solid var(--border);text-align:left;box-sizing:border-box;flex-direction:column;width:100%;padding:80px 60px;display:flex}@media (width<=768px){section{padding:60px 24px}}.section-label{font-family:var(--mono);text-transform:uppercase;color:var(--accent);letter-spacing:.1em;align-items:center;gap:8px;margin-bottom:24px;font-size:.8rem;display:flex}.section-label:before{content:"//";font-weight:700}.grid-2{grid-template-columns:repeat(2,1fr);gap:40px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}@media (width<=1024px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.grid-2,.grid-3{grid-template-columns:1fr;gap:32px}}a{color:inherit;transition:var(--transition);text-decoration:none}.btn{font-family:var(--heading);border:1px solid var(--border-dark);cursor:pointer;transition:var(--transition);border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-size:.95rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:var(--text-h);color:var(--bg)}.btn-primary:hover{background:var(--accent);border-color:var(--accent)}.btn-secondary{color:var(--text-h);background:0 0}.btn-secondary:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.badge{background-color:var(--bg-secondary);border:1px solid var(--border);font-family:var(--mono);color:var(--text-h);border-radius:4px;padding:6px 12px;font-size:.8rem;font-weight:500;display:inline-flex}input,textarea{background-color:var(--bg-secondary);border:1px solid var(--border);width:100%;font-family:var(--sans);color:var(--text-h);transition:var(--transition);border-radius:4px;outline:none;padding:12px 16px;font-size:.95rem}input:focus,textarea:focus{border-color:var(--text-h);background-color:var(--bg-card)}.fade-in{opacity:0;animation:.8s forwards fadeIn}@keyframes fadeIn{to{opacity:1}}.navbar-container{border-bottom:1px solid var(--border);background:var(--navbar-bg);-webkit-backdrop-filter:blur(12px);z-index:100;justify-content:space-between;align-items:center;padding:24px 60px;transition:background .3s,border-color .3s;display:flex;position:sticky;top:0}@media (width<=768px){.navbar-container{padding:20px 24px}}.navbar-logo{font-family:var(--heading);letter-spacing:-.02em;color:var(--text-h);align-items:center;gap:4px;font-size:1.1rem;font-weight:800;display:flex}.logo-short{color:var(--accent)}.logo-divider{opacity:.3}.logo-full{letter-spacing:.05em;font-size:.9rem;font-weight:500}.navbar-center{align-items:center;gap:32px;display:flex}@media (width<=900px){.navbar-center{display:none}}.navbar-link{color:var(--text);padding:8px 0;font-size:.95rem;font-weight:500;display:inline-block;position:relative}.navbar-link:after{content:"";background:var(--text-h);width:0;height:1px;transition:var(--transition);position:absolute;bottom:0;left:0}.navbar-link:hover{color:var(--text-h)}.navbar-link:hover:after{width:100%}.navbar-right{align-items:center;gap:20px;display:flex}.theme-toggle{border:1px solid var(--border);color:var(--text-h);cursor:pointer;transition:var(--transition);background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:10px;display:flex}.theme-toggle:hover{background:var(--bg-secondary);border-color:var(--text-h)}.btn-talk{border:1px solid var(--border-dark);font-family:var(--heading);background:var(--text-h);color:var(--bg);border-radius:4px;padding:10px 20px;font-size:.9rem;font-weight:600;display:inline-flex}.btn-talk:hover{background:var(--accent);border-color:var(--accent);color:#fff}@media (width<=600px){.btn-talk{display:none}}.mobile-menu-toggle{color:var(--text-h);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;display:none}@media (width<=900px){.mobile-menu-toggle{display:flex}}.mobile-menu-overlay{background:var(--bg);border-top:1px solid var(--border);z-index:99;padding:40px;animation:.2s ease-out forwards fadeInMobile;position:fixed;inset:77px 0 0}@keyframes fadeInMobile{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mobile-menu-links{flex-direction:column;align-items:flex-start;gap:28px;display:flex}.mobile-navbar-link{font-family:var(--heading);color:var(--text-h);font-size:1.8rem;font-weight:700}.btn-mobile-talk{font-family:var(--heading);color:var(--accent);margin-top:12px;font-size:1.2rem;font-weight:700;text-decoration:underline}.hero-wrapper{flex-direction:column;align-items:flex-start;padding-bottom:80px;display:flex;position:relative}.hero-subtitle{font-family:var(--mono);color:var(--accent);text-transform:uppercase;margin-bottom:20px;font-size:.9rem}.hero-title{letter-spacing:-.04em;text-transform:uppercase;margin-bottom:24px;font-size:4.8rem;font-weight:800;line-height:.95}@media (width<=1024px){.hero-title{font-size:3.8rem}}@media (width<=768px){.hero-title{font-size:2.8rem}}.hero-description{max-width:680px;color:var(--text);margin-bottom:36px;font-size:1.25rem;line-height:1.5}@media (width<=768px){.hero-description{font-size:1.1rem}}.hero-ctas{gap:16px;margin-bottom:56px;display:flex}@media (width<=480px){.hero-ctas{flex-direction:column;width:100%}.hero-ctas .btn{width:100%}}.tech-strip{border-top:1px solid var(--border);flex-direction:column;gap:14px;width:100%;padding-top:32px;display:flex}.tech-strip-label{font-family:var(--mono);text-transform:uppercase;color:var(--text-muted);opacity:.8;font-size:.8rem}.tech-strip-items{flex-wrap:wrap;gap:8px 12px;display:flex}.tech-strip-item{color:var(--text-h);align-items:center;font-size:.9rem;font-weight:500;display:flex}.tech-strip-item:not(:last-child):after{content:"·";color:var(--border);margin-left:12px;font-weight:700}.projects-header{margin-bottom:48px}.projects-title{margin-bottom:16px;font-size:2.5rem}.projects-intro{max-width:600px;font-size:1.1rem}.projects-list{flex-direction:column;gap:48px;display:flex}.project-card{border:1px solid var(--border);background:var(--bg-card);transition:var(--transition);border-radius:4px;grid-template-columns:1.1fr .9fr;display:grid;overflow:hidden}.project-card:hover{border-color:var(--border-dark);box-shadow:var(--shadow)}@media (width<=900px){.project-card{grid-template-columns:1fr}}.project-image-side{background:var(--bg-secondary);border-right:1px solid var(--border);justify-content:center;align-items:center;min-height:280px;padding:30px;display:flex;position:relative;overflow:hidden}@media (width<=900px){.project-image-side{border-right:none;border-bottom:1px solid var(--border)}}.project-screenshot-placeholder{background:var(--bg-card);border:1px solid var(--border);text-align:center;width:100%;height:100%;min-height:220px;box-shadow:var(--shadow);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:relative;overflow:hidden}.project-placeholder-icon{color:var(--accent);margin-bottom:12px}.project-screenshot-placeholder h4{color:var(--text-h);margin-bottom:6px;font-size:1.1rem}.project-screenshot-placeholder p{max-width:250px;font-size:.8rem}.project-info-side{flex-direction:column;justify-content:space-between;padding:32px;display:flex}.project-card-meta{font-family:var(--mono);text-transform:uppercase;color:var(--accent);letter-spacing:.05em;margin-bottom:10px;font-size:.75rem}.project-card-title{margin-bottom:8px;font-size:1.6rem;line-height:1.2}.project-card-tagline{color:var(--text-h);margin-bottom:16px;font-size:.95rem;font-weight:500;line-height:1.45}.project-card-desc{color:var(--text);margin-bottom:20px;font-size:.9rem}.project-card-tech{flex-wrap:wrap;gap:6px;margin-bottom:24px;display:flex}.project-card-tech .badge{padding:3px 6px;font-size:.7rem}.project-card-links{align-items:center;gap:16px;display:flex}.project-link-primary{font-family:var(--heading);color:var(--text-h);border-bottom:2px solid var(--text-h);align-items:center;gap:6px;padding-bottom:2px;font-weight:700;display:flex}.project-link-primary:hover{color:var(--accent);border-color:var(--accent)}.project-link-secondary{color:var(--text);border-bottom:1px dashed var(--border);align-items:center;gap:4px;padding-bottom:1px;font-size:.9rem;display:inline-flex}.project-link-secondary:hover{color:var(--text-h);border-color:var(--text-h)}.tech-cols{grid-template-columns:repeat(2,1fr);gap:24px;margin-top:24px;display:grid}@media (width<=900px){.tech-cols{grid-template-columns:1fr}}.tech-group-card{border:1px solid var(--border);background:var(--bg-card);transition:var(--transition);border-radius:4px;padding:28px}.tech-group-card:hover{border-color:var(--border-dark)}.tech-group-title{margin-bottom:6px;font-size:1.3rem}.tech-group-desc{color:var(--text);margin-bottom:20px;font-size:.9rem;line-height:1.4}.tech-group-items{flex-direction:column;gap:10px;display:flex}.tech-group-item{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.tech-group-item:last-child{border-bottom:none}.tech-name{color:var(--text-h);font-size:.9rem;font-weight:600}.tech-meta{align-items:center;gap:10px;display:flex}.tech-duration{color:var(--text-muted);font-size:.8rem}.tech-level{font-family:var(--mono);background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:.65rem}.training-headline-big{text-transform:uppercase;letter-spacing:-.04em;margin-bottom:20px;font-size:4rem;font-weight:800;line-height:.95}@media (width<=768px){.training-headline-big{font-size:2.8rem}}.training-subtitle{max-width:700px;color:var(--text);margin-bottom:40px;font-size:1.25rem}.training-metrics-row{border-block:1px solid var(--border);grid-template-columns:repeat(4,1fr);gap:20px;width:100%;margin-bottom:48px;padding:32px 0;display:grid}@media (width<=900px){.training-metrics-row{grid-template-columns:repeat(2,1fr);gap:24px}}@media (width<=480px){.training-metrics-row{grid-template-columns:1fr;gap:20px}}.metric-card{flex-direction:column;gap:6px;display:flex}.metric-value{color:var(--text-h);font-size:3rem;font-weight:800;line-height:1}.training-main-grid{grid-template-columns:1.1fr .9fr;gap:40px;width:100%;display:grid}@media (width<=1024px){.training-main-grid{grid-template-columns:1fr;gap:32px}}.training-sessions-list{flex-direction:column;gap:28px;display:flex}.training-session-card{border-left:2px solid var(--text-h);flex-direction:column;gap:10px;padding-left:20px;display:flex;position:relative}.training-session-card:before{content:"";background:var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:0;left:-6px}.training-session-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}@media (width<=600px){.training-session-header{flex-direction:column;gap:4.5px}}.training-session-title{font-size:1.3rem;font-weight:700}.training-session-date-org{font-family:var(--mono);color:var(--text-muted);font-size:.75rem;line-height:1.5}.training-session-meta{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.training-session-meta .badge{padding:2px 6px;font-size:.7rem}.training-session-desc{color:var(--text);font-size:.9rem}.training-session-topics{flex-direction:column;gap:6px;margin-top:6px;display:flex}.training-topic-item{color:var(--text-h);align-items:center;gap:8px;font-size:.85rem;display:flex}.training-topic-item:before{content:"→";color:var(--accent);font-weight:700}.training-proof-side{flex-direction:column;gap:20px;display:flex}.training-gallery-title{margin-bottom:4px;font-size:1.2rem}.training-photo-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.training-photo-box{border:1px solid var(--border);background:var(--bg-secondary);aspect-ratio:4/3;border-radius:4px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.training-photo-box:nth-child(3){aspect-ratio:16/9;grid-column:span 2}.training-photo-box img{object-fit:cover;width:100%;height:100%;transition:var(--transition)}.training-photo-box:hover img{transform:scale(1.03)}.training-fallback-image-content{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;height:100%;padding:16px;font-size:.75rem;display:flex}.journey-timeline{flex-direction:column;gap:32px;margin-top:32px;display:flex;position:relative}.journey-timeline:before{content:"";background:var(--border);width:1px;position:absolute;top:10px;bottom:10px;left:180px}@media (width<=768px){.journey-timeline:before{left:20px}}.journey-node{grid-template-columns:140px 1fr;gap:80px;display:grid;position:relative}@media (width<=768px){.journey-node{grid-template-columns:1fr;gap:12px;padding-left:48px}}.journey-period{font-family:var(--mono);color:var(--accent);text-align:right;padding-top:4px;font-size:.85rem;font-weight:500}@media (width<=768px){.journey-period{text-align:left}}.journey-bullet{background:var(--bg);border:2px solid var(--border-dark);z-index:1;border-radius:50%;width:9px;height:9px;position:absolute;top:6px;left:180px;transform:translate(-4.5px)}@media (width<=768px){.journey-bullet{left:20px}}.journey-node:hover .journey-bullet{background:var(--accent);border-color:var(--accent)}.journey-content{flex-direction:column;gap:8px;display:flex}.journey-title{font-size:1.4rem;line-height:1.25}.journey-role{font-family:var(--sans);color:var(--text-h);font-size:.95rem;font-weight:600}.journey-desc{color:var(--text);max-width:700px;font-size:.9rem}.journey-highlights{flex-direction:column;gap:6px;margin-top:4px;list-style:none;display:flex}.journey-highlight-item{color:var(--text-h);padding-left:14px;font-size:.8rem;position:relative}.journey-highlight-item:before{content:"■";color:var(--text-muted);font-size:.4rem;position:absolute;top:6px;left:0}.contact-headline-big{text-transform:uppercase;letter-spacing:-.04em;margin-bottom:20px;font-size:4.8rem;font-weight:800;line-height:.95}@media (width<=768px){.contact-headline-big{font-size:3.2rem}}.contact-layout{grid-template-columns:1fr 1.1fr;gap:48px;width:100%;margin-top:32px;display:grid}@media (width<=900px){.contact-layout{grid-template-columns:1fr;gap:40px}}.contact-info-side{flex-direction:column;gap:32px;display:flex}.contact-intro-text{color:var(--text);font-size:1.1rem;line-height:1.5}.contact-card-list{flex-direction:column;gap:16px;display:flex}.contact-detail-card{align-items:flex-start;gap:12px;display:flex}.contact-detail-icon{color:var(--accent);padding-top:4px}.contact-detail-label{font-family:var(--mono);text-transform:uppercase;color:var(--text-muted);margin-bottom:2px;font-size:.75rem}.contact-detail-value{color:var(--text-h);font-size:1rem;font-weight:600}.contact-form-side{border:1px solid var(--border);background:var(--bg-card);border-radius:4px;padding:32px}@media (width<=600px){.contact-form-side{padding:20px}}.contact-form{flex-direction:column;gap:20px;display:flex}.form-group-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=600px){.form-group-row{grid-template-columns:1fr}}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{font-family:var(--mono);text-transform:uppercase;color:var(--text-h);font-size:.75rem;font-weight:600}footer{background:var(--bg-secondary);border-top:1px solid var(--border);box-sizing:border-box;width:100%;margin-top:auto;padding:48px 60px}@media (width<=768px){footer{padding:36px 24px}}.footer-content{text-align:left;justify-content:space-between;align-items:flex-start;gap:40px;margin-bottom:32px;display:flex}@media (width<=768px){.footer-content{flex-direction:column;align-items:flex-start;gap:28px}}.footer-info{max-width:320px}.footer-logo{font-family:var(--heading);color:var(--text-h);margin-bottom:8px;font-size:1.15rem;font-weight:800}.footer-desc{color:var(--text-muted);font-size:.85rem;line-height:1.45}.footer-links-group{gap:48px;display:flex}@media (width<=480px){.footer-links-group{flex-direction:column;gap:20px;width:100%}}.footer-links-col{flex-direction:column;gap:10px;display:flex}.footer-col-title{font-family:var(--mono);text-transform:uppercase;color:var(--text-h);letter-spacing:.05em;margin-bottom:2px;font-size:.75rem;font-weight:700}.footer-link{color:var(--text);font-size:.85rem}.footer-link:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--border);color:var(--text-muted);text-align:left;justify-content:space-between;align-items:center;padding-top:24px;font-size:.8rem;display:flex}@media (width<=600px){.footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}}.project-detail-container{text-align:left;width:100%;padding:40px 60px}@media (width<=768px){.project-detail-container{padding:32px 24px}}.project-detail-back{font-family:var(--heading);color:var(--text);align-items:center;gap:6px;margin-bottom:24px;font-size:.95rem;font-weight:600;display:inline-flex}.project-detail-back:hover{color:var(--text-h)}.project-detail-header{border-bottom:1px solid var(--border);text-align:left;flex-direction:column;gap:12px;margin-bottom:40px;padding-bottom:32px;display:flex}.project-detail-title{letter-spacing:-.04em;font-size:3.2rem;font-weight:800}@media (width<=768px){.project-detail-title{font-size:2.2rem}}.project-detail-subtitle{color:var(--text-muted);font-size:1.35rem;font-weight:300}.project-detail-meta-grid{border-block:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px;padding:20px 0;display:grid}@media (width<=768px){.project-detail-meta-grid{grid-template-columns:1fr;gap:12px}}.project-meta-item{flex-direction:column;gap:4px;display:flex}.project-meta-label{font-family:var(--mono);text-transform:uppercase;color:var(--text-muted);font-size:.7rem}.project-meta-value{color:var(--text-h);font-size:.95rem;font-weight:600}.project-detail-hero-box{border-radius:16px;justify-content:center;align-items:center;width:100%;margin:40px 0;display:flex;overflow:hidden}.project-detail-hero-image{object-fit:contain;border-radius:12px;width:100%;height:auto;max-height:650px;display:block}.project-detail-main-grid{text-align:left;grid-template-columns:1.25fr .75fr;gap:48px;display:grid}@media (width<=900px){.project-detail-main-grid{grid-template-columns:1fr;gap:32px}}.detail-section-card{flex-direction:column;gap:12px;margin-bottom:32px;display:flex}.detail-section-title{border-bottom:2px solid var(--text-h);align-self:flex-start;margin-bottom:6px;padding-bottom:4px;font-size:1.4rem;display:inline-block}.detail-section-text{color:var(--text);font-size:.95rem;line-height:1.6}.detail-tech-badge-container{flex-wrap:wrap;gap:8px;display:flex}.detail-tech-badge-container .badge{padding:4px 10px;font-size:.8rem}.detail-feature-list{flex-direction:column;gap:10px;display:flex}.detail-feature-item{color:var(--text);padding-left:20px;font-size:.92rem;position:relative}.detail-feature-item:before{content:"↳";color:var(--accent);font-weight:700;position:absolute;top:0;left:0}.awards-header{margin-bottom:48px}.awards-title{margin-bottom:16px;font-size:2.5rem}.awards-intro{max-width:680px;font-size:1.1rem}.awards-list{flex-direction:column;gap:48px;display:flex}.award-card{border:1px solid var(--border);background:var(--bg-card);transition:var(--transition);border-radius:4px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.award-card-reverse .award-image-side{border-right:none;border-left:1px solid var(--border);order:2}.award-card-reverse .award-info-side{order:1}.award-image-side{background:var(--bg-secondary);border-right:1px solid var(--border);justify-content:center;align-items:center;padding:30px;display:flex}.award-image-placeholder{aspect-ratio:4/3;background:var(--bg-card);border:1px solid var(--border);width:100%;box-shadow:var(--shadow);border-radius:4px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.award-image-placeholder img{object-fit:cover;width:100%;height:100%;transition:var(--transition);display:block}.award-card:hover .award-image-placeholder img{transform:scale(1.03)}.award-placeholder-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;padding:24px;display:flex}.award-placeholder-icon{color:var(--accent);margin-bottom:6px}.award-placeholder-label{color:var(--text-h);font-family:var(--heading);font-size:1rem;font-weight:600}.award-placeholder-hint{color:var(--text-muted);font-family:var(--mono);font-size:.7rem}.award-info-side{flex-direction:column;justify-content:center;padding:40px;display:flex}.award-result{font-family:var(--mono);text-transform:uppercase;color:var(--accent);letter-spacing:.08em;margin-bottom:12px;font-size:.75rem;display:inline-block}.award-title{margin-bottom:10px;font-size:1.8rem;line-height:1.2}.award-meta{color:var(--text-muted);font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:24px;font-size:.75rem;display:flex}.award-meta-divider{color:var(--border-dark)}.award-description{max-width:520px;color:var(--text);font-size:.95rem;line-height:1.6}@media (width<=900px){.award-card{grid-template-columns:1fr}.award-card-reverse .award-image-side{border-left:none;border-right:none;border-bottom:1px solid var(--border);order:1}.award-card-reverse .award-info-side{order:2}.award-image-side{border-right:none;border-bottom:1px solid var(--border)}.award-info-side{padding:32px}}@media (width<=600px){.awards-title{font-size:2rem}.awards-intro{font-size:1rem}.award-image-side{padding:20px}.award-info-side{padding:24px}.award-title{font-size:1.5rem}.awards-list{gap:32px}}.text-accent{color:var(--accent)}.font-mono{font-family:var(--mono)}.text-stroke{-webkit-text-stroke:1px var(--text-h);color:#0000}:root,:root:not(.dark-theme):not(.light-theme),:root.dark-theme{--accent-rgb:0 255 133;--accent-2-rgb:30 144 255;--accent:rgb(var(--accent-rgb));--accent-2:rgb(var(--accent-2-rgb));--accent-light:rgb(var(--accent-rgb) / .1);--accent-border:rgb(var(--accent-rgb) / .45);--on-accent:#0d0d0d;--glow-a:0;--glow-b:0;--spot:.12;--bg:#0d0d0d;--bg-secondary:#141414;--bg-card:#171717;--text:#cfcfcf;--text-h:#f0f0f0;--text-muted:#8a8a8a;--border:#262626;--border-dark:#f0f0f0;--line:transparent;--navbar-bg:#0d0d0dd9;--shadow:0 20px 60px #0000008c;--heading:"Bricolage Grotesque", system-ui, sans-serif;--sans:"Instrument Sans", system-ui, sans-serif}:root.light-theme{--accent-rgb:0 134 74;--accent-2-rgb:21 101 192;--fill:#00ff85;--glow-rgb:0 255 133;--ink:#0d0d0d;--on-accent:#0d0d0d;--glow-a:0;--glow-b:0;--spot:.28;--bg:#f4f4f5;--bg-secondary:#ebebed;--bg-card:#fff;--text:#404040;--text-h:#0a0a0a;--text-muted:#666;--border:#dedee2;--border-dark:#0a0a0a;--line:transparent;--navbar-bg:#ffffffe0;--shadow:0 1px 2px #0000000d, 0 16px 40px #00000012}body{background-image:radial-gradient(60rem 40rem at 85% -10%, rgb(var(--accent-rgb) / .16), transparent 60%), radial-gradient(45rem 35rem at -10% 45%, rgb(var(--accent-2-rgb) / .07), transparent 60%);background-attachment:fixed}#root{border-inline:0;width:1240px}section{border-bottom:0;padding:120px 60px}@media (width<=768px){section{padding:72px 24px}}.section-label{display:none}h1,h2,h3,h4{font-family:var(--heading)}section h2{font-weight:700;text-transform:none!important;margin-bottom:20px!important;font-size:clamp(2.4rem,6vw,4.6rem)!important;line-height:1!important}section h3{text-transform:none!important}.text-muted,.projects-intro,.awards-intro,.training-subtitle{color:var(--text-muted)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.btn{border-radius:999px;padding:14px 30px}.btn-primary{background:var(--accent);border-color:var(--accent);color:#120a18}.btn-primary:hover{background:var(--text-h);border-color:var(--text-h);color:var(--bg)}.btn-secondary{border-color:var(--border)}.badge,.tech-level{border-radius:999px}.navbar-link:after{background:var(--accent);height:2px}.btn-talk{background:var(--accent);border-color:var(--accent);color:#120a18;border-radius:999px}.scroll-progress{background:var(--accent);transform-origin:0;z-index:300;height:3px;position:fixed;top:0;left:0;right:0}.hero-wrapper{justify-content:flex-start;min-height:auto;padding-top:40px;padding-bottom:96px;position:relative;overflow:visible}.hero-wrapper:before{content:"";pointer-events:none;background:radial-gradient(440px circle at var(--mx,72vw) var(--my,240px), rgb(var(--accent-rgb) / var(--spot)), transparent 70%);width:100vw;margin-left:-50vw;position:absolute;top:-120px;bottom:-120px;left:50%}.hero-wrapper>*{position:relative}.hero-subtitle{font-family:var(--sans);text-transform:none;color:var(--accent);font-size:1.1rem;font-weight:600}.hero-title{letter-spacing:-.04em;text-transform:none;font-size:clamp(4.6rem,17vw,13rem);font-weight:300;line-height:.88}.hero-word{display:block}.hero-letter{font-variation-settings:"wght" 300, "wdth" 75;transition:font-variation-settings .15s linear;display:inline-block}.hero-description{color:var(--text-muted);font-size:clamp(1.1rem,2.2vw,1.4rem)}.hero-description b{color:var(--text-h);font-weight:600}.marquee{border-block:1px solid var(--border);padding:1.2rem 0;overflow:hidden}.marquee-track{width:max-content;animation:32s linear infinite slide;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-track span{font:600 clamp(1.3rem, 3vw, 2rem)/1 var(--heading);color:var(--text-h);align-items:center;gap:3rem;padding-right:3rem;display:inline-flex}.marquee-track span:after{content:"";background:var(--accent);border-radius:50%;width:.55rem;height:.55rem}@keyframes slide{to{transform:translate(-50%)}}.projects-list{display:block}.project-card{border-color:var(--border);background:var(--bg-card);min-height:26rem;box-shadow:var(--shadow);border-radius:24px;margin-bottom:14vh;position:sticky;top:96px}.project-card:nth-child(2){top:116px}.project-card:nth-child(3){top:136px}.project-card:nth-child(4){top:156px}.project-card:hover{border-color:var(--accent)}.project-card-meta{font-family:var(--sans);text-transform:none;color:var(--accent);letter-spacing:0;font-size:.9rem;font-weight:600}.project-card-title{font-size:clamp(1.8rem,3.4vw,2.6rem)}.project-link-primary{border-color:var(--accent);color:var(--accent)}@media (width<=900px){.project-card{margin-bottom:40px;position:static}}.training-headline-big{font-size:clamp(2.8rem,8vw,6.5rem);line-height:.95}.training-metrics-row{border:0;gap:16px;padding:0}.metric-card{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:24px}.metric-value{font-family:var(--heading);color:var(--accent);font-size:clamp(2.4rem,5vw,3.6rem)}.metric-label{font-family:var(--sans);text-transform:none;color:var(--text-muted);font-size:.95rem}.training-main-grid{grid-template-columns:1fr;gap:56px}.training-proof-side{order:-1}.training-gallery-title,.training-sessions-list>h3{display:none}.training-photo-grid{scroll-snap-type:x mandatory;scrollbar-width:thin;gap:16px;padding-bottom:16px;display:flex;overflow-x:auto}.training-photo-box,.training-photo-box:nth-child(3){aspect-ratio:4/5;scroll-snap-align:start;border-radius:20px;flex:0 0 min(80vw,26rem);grid-column:auto}.training-sessions-list{grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:20px;display:grid}.training-session-card{border:1px solid var(--border);background:var(--bg-card);border-radius:20px;padding:28px;transition:border-color .25s,transform .25s}.training-session-card:before{display:none}.training-session-card:hover{border-color:var(--accent);transform:translateY(-4px)}.training-session-header{flex-direction:column;gap:6px}.training-session-date-org{font-family:var(--sans);color:var(--accent);font-size:.9rem}.training-topic-item:nth-child(n+4){display:none}.training-topic-item:before{content:"";background:var(--accent);border-radius:50%;width:.4rem;height:.4rem}.awards-list{scroll-snap-type:x mandatory;scrollbar-width:thin;flex-direction:row;gap:20px;padding-bottom:16px;overflow-x:auto}.award-card,.award-card-reverse{scroll-snap-align:start;border-radius:24px;flex:0 0 min(84vw,28rem);grid-template-columns:1fr}.award-card:hover{border-color:var(--accent)}.award-card .award-image-side,.award-card-reverse .award-image-side{border:0;border-bottom:1px solid var(--border);order:0;padding:20px}.award-card .award-info-side,.award-card-reverse .award-info-side{order:1;padding:28px}.award-result{font-family:var(--heading);text-transform:none;color:var(--accent);letter-spacing:0;font-size:1.1rem;font-weight:700}.award-title{font-size:1.4rem}.award-meta{font-family:var(--sans)}.tech-group-desc,.tech-duration,.tech-level,.journey-highlights{display:none}.tech-group-items{flex-flow:wrap;gap:8px}.tech-group-item,.tech-group-item:last-child{border:1px solid var(--border);border-radius:999px;padding:6px 16px}.tech-group-card{border-radius:24px}.journey-period{font-family:var(--sans);color:var(--accent);font-weight:600}.journey-bullet{border-color:var(--accent)}.contact-headline-big{text-transform:none;font-size:clamp(3rem,10vw,8rem);line-height:.92}.contact-form-side{border-radius:24px}input,textarea{border-radius:12px}.form-label{font-family:var(--sans);text-transform:none;font-size:.9rem}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}.hero-letter,.training-session-card{transition:none}}.training-main-grid{grid-template-columns:minmax(0,1fr)}.training-proof-side,.training-sessions-list,.awards-list{min-width:0;max-width:100%}.training-sessions-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr))}html,body{overflow-x:clip}.hero-wrapper{justify-content:flex-start;min-height:auto;padding-top:40px;padding-bottom:96px}.award-result,.training-session-date-org{color:rgb(var(--accent-2-rgb))}.btn-primary,.btn-talk{color:var(--on-accent)}.btn-secondary{border-color:var(--text-muted);color:var(--text-h)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.scroll-progress{background:linear-gradient(90deg, var(--accent), var(--accent-2))}.marquee-track span:nth-child(2n):after{background:var(--accent-2)}.metric-value,.journey-period,.award-result,.training-session-date-org{color:var(--accent-2)}.tech-group-item:hover,.journey-bullet{border-color:var(--accent-2)}body{background-image:none}:root.light-theme .btn-primary{background:var(--fill);border:1.5px solid var(--ink);color:#0d0d0d;box-shadow:3px 3px 0 var(--ink);transition:transform .15s,box-shadow .15s}:root.light-theme .btn-primary:hover{background:var(--fill);color:#0d0d0d;box-shadow:0 0 0 var(--ink);transform:translate(3px,3px)}:root.light-theme .btn-secondary{border:1.5px solid var(--ink);color:var(--ink)}:root.light-theme .btn-secondary:hover{background:var(--ink);color:#fff}:root.light-theme .btn-talk{color:#fff;background:#0d0d0d;border-color:#0d0d0d}:root.light-theme .btn-talk:hover{background:var(--fill);color:#0d0d0d}:root.light-theme .scroll-progress{background:linear-gradient(90deg, var(--fill), var(--accent-2))}:root.light-theme .navbar-container{border-bottom:1px solid var(--border);background:#fff}:root.light-theme .project-card,:root.light-theme .award-card,:root.light-theme .award-card-reverse,:root.light-theme .training-session-card,:root.light-theme .metric-card,:root.light-theme .tech-group-card{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff}:root.light-theme .training-session-card:hover,:root.light-theme .project-card:hover{border-color:var(--ink)}:root.light-theme .tech-group-item{background:#f4f4f5}:root.light-theme .hero-wrapper:before{background:radial-gradient(440px circle at var(--mx,72vw) var(--my,240px), rgb(var(--glow-rgb) / var(--spot)), transparent 70%)}:root.light-theme .hero-description b{background:linear-gradient(#0000 58%,#00ff858c 58%)}:root.light-theme .marquee,:root.light-theme #contact{clip-path:inset(0 -100vmax);background:#0d0d0d;border:0;box-shadow:0 0 0 100vmax #0d0d0d}:root.light-theme .marquee-track span{color:#f0f0f0}:root.light-theme .marquee-track span:after{background:#00ff85}:root.light-theme .marquee-track span:nth-child(2n):after{background:#4da3ff}:root.light-theme #contact{--accent-rgb:0 255 133;--accent-2-rgb:30 144 255;--bg:#0d0d0d;--bg-secondary:#141414;--bg-card:#171717;--text:#cfcfcf;--text-h:#f0f0f0;--text-muted:#8a8a8a;--border:#2a2a2a;--ink:#f0f0f0}.marquee-track{animation:none}#projects{justify-content:center;min-height:100vh}.projects-viewport{scrollbar-width:none;width:100%;min-width:0;padding:8px 4px 16px;overflow-x:auto}.projects-viewport::-webkit-scrollbar{display:none}.projects-list{gap:32px;width:max-content;display:flex}.project-card,.project-card:nth-child(n){flex:0 0 min(86vw,62rem);margin-bottom:0;position:static}.project-image-side{cursor:pointer;padding:0;text-decoration:none;position:relative;overflow:hidden}.project-image{object-fit:cover;width:100%;height:100%;transition:transform .5s}.project-image-side:hover .project-image{transform:scale(1.05)}.project-screenshot-placeholder{box-shadow:none;background:0 0;border:0;border-radius:0}.project-image-side:after{content:"View case study";font:600 .9rem var(--sans);background:var(--fill,var(--accent));color:var(--on-accent);opacity:0;border-radius:999px;padding:8px 16px;transition:opacity .25s,transform .25s;position:absolute;bottom:16px;left:16px;transform:translateY(8px)}.project-image-side:hover:after,.project-image-side:focus-visible:after{opacity:1;transform:none}@media (hover:none){.project-image-side:after{opacity:1;transform:none}}.metric-value{font-variant-numeric:tabular-nums}.project-card,.project-card:nth-child(n){flex:none;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);width:min(86vw,62rem)}.project-image-side,.project-info-side{min-width:0;min-height:0}.project-image-side{background:var(--bg-secondary)}.project-image{object-fit:contain}@media (width>=901px) and (prefers-reduced-motion:no-preference){#projects{justify-content:flex-start;height:100vh;min-height:0;padding:104px 60px 40px}#projects h2{margin-bottom:8px!important;font-size:clamp(2rem,3.6vw,3rem)!important}.projects-header{margin-bottom:20px}.projects-intro{display:none}.projects-viewport{flex:1;min-height:0;padding:0}.projects-list{height:100%}.project-card,.project-card:nth-child(n){height:100%;min-height:0}}@media (height<=760px){.project-card-desc{display:none}}.projects-list{flex-flow:row;align-items:stretch}.navbar-container,:root.light-theme .navbar-container{-webkit-backdrop-filter:none;background:0 0}.navbar-container:before{content:"";z-index:-1;background:var(--navbar-bg);-webkit-backdrop-filter:blur(12px);position:absolute;inset:0}.hero-wrapper:before,:root.light-theme .hero-wrapper:before{content:none}.hero-wrapper>.hero-glow{pointer-events:none;background:radial-gradient(var(--r1,380px) circle at var(--x1,70%) var(--y1,30%), rgb(var(--glow-rgb,var(--accent-rgb)) / var(--spot)), transparent 70%), radial-gradient(var(--r2,340px) circle at var(--x2,30%) var(--y2,60%), rgb(var(--glow-2-rgb,var(--accent-2-rgb)) / calc(var(--spot) * .9)), transparent 70%), radial-gradient(var(--r3,280px) circle at var(--x3,82%) var(--y3,72%), rgb(var(--glow-rgb,var(--accent-rgb)) / calc(var(--spot) * .6)), transparent 70%);width:100vw;margin-left:-50vw;position:absolute;top:-120px;bottom:-120px;left:50%}:root.light-theme{--glow-2-rgb:77 163 255}@media (width<=900px){#projects{justify-content:flex-start;min-height:auto}.projects-viewport{padding:0;overflow:visible}.projects-list{flex-direction:column;gap:24px;width:100%}.project-card,.project-card:nth-child(n){flex:none;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);width:100%;height:auto;min-height:0}.project-image-side{aspect-ratio:16/10;border:0;border-bottom:1px solid var(--border)}.project-info-side{gap:20px;padding:24px}.project-card-desc{display:none}.project-card-links{flex-wrap:wrap;gap:12px 20px}.project-link-primary,.project-link-secondary{white-space:nowrap}}.now-head{margin-bottom:40px}.h2-soft{color:var(--text-muted)}.now-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.ws-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.now-tile,.ws-card{background:var(--bg-card);border:1px solid var(--border);border-radius:24px;flex-direction:column;gap:10px;min-height:13rem;padding:28px;transition:border-color .25s,transform .25s;display:flex}.now-tile:hover,.ws-card:hover{border-color:var(--accent);transform:translateY(-3px)}.now-w2{grid-column:span 2}.now-h2{grid-row:span 2}.now-tag{font-family:var(--sans);color:var(--accent-2);font-size:.85rem;font-weight:600}.now-tile h3,.ws-card h3{font-size:1.5rem;line-height:1.15}.now-tile p,.ws-card p{color:var(--text-muted);font-size:.98rem}.now-big{letter-spacing:-.04em;line-height:1;font-size:clamp(2.2rem,4.6vw,3.4rem)!important}.now-hot{background:rgb(var(--accent-rgb));color:var(--on-accent);border-color:#0000}.now-hot .now-tag,.now-hot h3,.now-hot p{color:var(--on-accent)}.now-hot .now-tag,.now-hot p{opacity:.78}.now-list{gap:10px;margin-top:6px;list-style:none;display:grid}.now-list li{border-top:1px solid var(--border);padding-top:10px;font-size:.95rem;line-height:1.35}.now-soon{opacity:.75;border:1px solid;border-radius:999px;align-self:flex-start;margin-top:auto;padding:2px 10px;font-size:.72rem;font-weight:600}.now-dot{background:var(--accent);width:10px;height:10px;box-shadow:0 0 0 4px rgb(var(--accent-rgb) / .2);border-radius:50%;margin-right:8px;display:inline-block}.now-link{color:var(--accent);align-items:center;gap:4px;margin-top:auto;font-weight:600;display:inline-flex}.ws-btn{align-self:flex-start;margin-top:auto}:root.light-theme .now-tile,:root.light-theme .ws-card{box-shadow:var(--shadow)}:root.light-theme .now-hot{background:var(--fill);border:1.5px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}@media (width<=1000px){.now-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ws-grid{grid-template-columns:1fr}}@media (width<=600px){.now-grid{grid-template-columns:minmax(0,1fr)}.now-w2,.now-h2{grid-area:auto}.now-tile,.ws-card{padding:22px}}@media (prefers-reduced-motion:reduce){.now-tile,.ws-card{transition:none}.now-tile:hover,.ws-card:hover{transform:none}}
