:root{--paper:#f7f5f0;--ink:#0b0d12;--accent:#7a1f2b;--warm:#6e6a5e;--warm2:#3a3730;--rule:#0b0d122e;--panel:#eeeae0;--onaccent:#f7f5f0;--font:"General Sans", "Helvetica Neue", system-ui, sans-serif;--display:"Archivo Black", "Helvetica Neue", sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--shell:1560px;--gutter:clamp(16px, 3vw, 40px);--nav-h:66px}[data-theme=dark]{--paper:#0b0d12;--ink:#f7f5f0;--accent:#b03a47;--warm:#9b9686;--warm2:#c9c3b4;--rule:#f7f5f033;--panel:#14171e;--onaccent:#f7f5f0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h)}body{background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}a{color:var(--accent);text-decoration:none}img{max-width:100%}ul{list-style:none}button{font:inherit}::selection{background:var(--accent);color:var(--onaccent)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:var(--rule)}::-webkit-scrollbar-thumb:hover{background:var(--warm)}.shell{max-width:var(--shell);padding-left:var(--gutter);padding-right:var(--gutter);margin:0 auto}.mono{font-family:var(--mono);letter-spacing:.16em;color:var(--warm);text-transform:uppercase;font-size:11.5px}.ul-link{position:relative}.ul-link:after{content:"";background:currentColor;width:0;height:1px;transition:width .35s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:-5px;left:0}.ul-link:hover:after{width:100%}.arrow{transition:transform .3s cubic-bezier(.2,.7,.2,1);display:inline-block}.btn-primary:hover .arrow,.btn-ghost:hover .arrow{transform:translate(6px)}.btn-primary,.btn-ghost{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;cursor:pointer;align-items:center;gap:12px;padding:15px 20px;font-size:11.5px;transition:background .25s,color .25s,border-color .25s;display:inline-flex}.btn-primary{background:var(--accent);color:var(--onaccent);border:1px solid var(--accent)}.btn-primary:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn-ghost{color:var(--ink);border:1px solid var(--ink);background:0 0}.btn-ghost:hover{background:var(--ink);color:var(--paper)}.fi{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(22px)}.fi.vis{opacity:1;transform:none}.navbar{z-index:40;background:var(--paper);border-bottom:1px solid var(--ink);position:sticky;top:0}.nav-inner{max-width:var(--shell);padding:0 var(--gutter);height:var(--nav-h);justify-content:space-between;align-items:center;gap:24px;margin:0 auto;display:flex}.nav-logo{font-family:var(--mono);letter-spacing:.06em;color:var(--ink);font-size:16px;font-weight:500}.nav-logo span{color:var(--accent)}.nav-links{align-items:center;gap:28px;display:flex}.nav-links a{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--warm2);font-size:11.5px;transition:color .25s}.nav-links a:hover{color:var(--ink)}.nav-links a.active{color:var(--accent)}.nav-right{align-items:center;gap:10px;display:flex}.icon-btn{border:1px solid var(--ink);width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;place-items:center;padding:0;transition:background .25s,color .25s;display:grid}.icon-btn:hover{background:var(--ink);color:var(--paper)}.menu-btn{display:none}.lang-toggle{border:1px solid var(--ink);font-family:var(--mono);letter-spacing:.1em;font-size:11px;display:flex}.lang-btn{color:var(--ink);cursor:pointer;background:0 0;border:0;padding:8px 11px;transition:background .25s,color .25s}.lang-btn+.lang-btn{border-left:1px solid var(--ink)}.lang-btn.active{background:var(--ink);color:var(--paper)}.nav-cta{background:var(--accent);color:var(--onaccent);border:1px solid var(--accent);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;padding:10px 16px;font-size:11px;transition:background .25s,border-color .25s,color .25s}.nav-cta:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.mobile-menu{border-top:1px solid var(--ink);background:var(--paper);display:none}.mobile-menu.open{display:block}.mobile-menu a{padding:16px var(--gutter);border-bottom:1px solid var(--rule);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-size:13px;display:block}.mobile-menu a:last-child{border-bottom:0}.mobile-menu a.active{color:var(--accent)}.hero{border-bottom:1px solid var(--ink);position:relative;overflow:hidden}.hero-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero-columns{pointer-events:none;background:repeating-linear-gradient(to right, transparent 0, transparent calc(25% - 1px), var(--rule) calc(25% - 1px), var(--rule) 25%);position:absolute;inset:0}.hero-inner{padding-top:clamp(24px,3vw,44px);padding-bottom:clamp(48px,5vw,80px);position:relative}.eyebrow{align-items:center;gap:14px;margin-bottom:clamp(16px,2vw,26px);display:flex}.eyebrow-rule{background:var(--accent);width:44px;height:1px;display:block}.hero-name{font-family:var(--display);letter-spacing:.005em;text-transform:uppercase;color:var(--ink);text-wrap:balance;margin:0;font-size:clamp(46px,10.4vw,152px);line-height:1.02}.hero-meta{flex-wrap:wrap;align-items:center;gap:16px;margin-top:clamp(18px,2.2vw,30px);display:flex}.hero-role{font-family:var(--mono);color:var(--accent);font-size:clamp(13px,1.2vw,16px)}.hero-meta-rule{background:var(--rule);flex:1;min-width:40px;height:1px;display:block}.hero-loc{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--warm);font-size:11.5px}.hero-bio-row{border-top:3px solid var(--ink);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:clamp(24px,4vw,64px);margin-top:clamp(28px,3.4vw,52px);padding-top:26px;display:grid}.hero-bio{color:var(--warm2);text-wrap:pretty;max-width:78ch;margin:0;font-size:clamp(15px,1.15vw,18px);line-height:1.62}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.band{border-bottom:1px solid var(--ink)}.band-panel{background:var(--panel)}.band-inner{padding-top:clamp(36px,4vw,64px);padding-bottom:clamp(36px,4vw,64px)}.band-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:clamp(24px,3vw,40px);display:flex}.band-title{font-family:var(--display);text-transform:uppercase;color:var(--ink);margin:0;font-size:clamp(28px,3.6vw,56px);line-height:1}.stats-label{align-items:center;gap:14px;padding:22px 0;display:flex}.stats{border-top:1px solid var(--ink);grid-template-columns:repeat(3,1fr);display:grid}.stat{border-right:1px solid var(--rule);padding:clamp(26px,3vw,44px) 0}.stat+.stat{padding-left:clamp(16px,2vw,32px)}.stat:last-child{border-right:0}.stat-val{font-family:var(--display);color:var(--ink);font-size:clamp(44px,5vw,80px);line-height:1}.stat:first-child .stat-val{color:var(--accent)}.stat-lbl{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--warm2);margin-top:12px;font-size:11px}.cell-grid{border-top:1px solid var(--ink);border-left:1px solid var(--rule);grid-template-columns:repeat(4,1fr);display:grid}.cell-grid-3{grid-template-columns:repeat(3,1fr)}.cell-grid-2{grid-template-columns:repeat(2,1fr)}.cell{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);align-items:center;gap:14px;padding:22px 20px;transition:background .25s;display:flex}.cell:hover{background:var(--panel)}.cell-name{color:var(--ink);font-size:15.5px;font-weight:500}.cell-num{font-family:var(--mono);letter-spacing:.14em;color:var(--accent);min-width:26px;font-size:10.5px;transition:color .25s}[data-theme=dark] .icon-img{filter:invert()}.icon-img{width:26px;height:26px;display:block}.figures{grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px);display:grid}.figure{border:1px solid var(--ink);background:var(--paper);margin:0}.figure img{border-bottom:1px solid var(--ink);filter:grayscale();width:100%;height:auto;transition:filter .5s;display:block}.figure:hover img{filter:grayscale(.35)}.figure figcaption{padding:18px 20px}.figure-num{font-family:var(--mono);letter-spacing:.16em;color:var(--accent);font-size:10.5px}.figure-text{font-family:var(--display);text-transform:uppercase;color:var(--ink);margin:8px 0 0;font-size:clamp(15px,1.3vw,19px);line-height:1.25}.page-head{border-bottom:1px solid var(--ink);padding-top:clamp(32px,4.5vw,72px);padding-bottom:clamp(28px,3.5vw,52px)}.page-title{font-family:var(--display);text-transform:uppercase;color:var(--ink);text-wrap:balance;margin:10px 0 0;font-size:clamp(38px,7vw,104px);line-height:1.02}.page-sub{color:var(--warm2);text-wrap:pretty;max-width:68ch;margin:clamp(18px,2vw,26px) 0 0;font-size:clamp(15px,1.15vw,18px);line-height:1.62}.exp-list{border-top:1px solid var(--ink)}.exp-item{border-bottom:1px solid var(--rule);grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:clamp(24px,4vw,72px);padding:clamp(28px,3.4vw,52px) 0;display:grid}.exp-index{font-family:var(--mono);letter-spacing:.16em;color:var(--accent);margin-bottom:14px;font-size:11px}.exp-company{font-family:var(--display);text-transform:uppercase;color:var(--ink);font-size:clamp(22px,2.2vw,34px);line-height:1.05}.exp-period{font-family:var(--mono);letter-spacing:.12em;color:var(--warm2);margin-top:12px;font-size:11.5px}.exp-tags{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.exp-type{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--warm);border:1px solid var(--rule);padding:5px 9px;font-size:10.5px;display:inline-block}.exp-current{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--onaccent);background:var(--accent);padding:5px 9px;font-size:10.5px;display:inline-block}.exp-role{color:var(--ink);margin-bottom:20px;font-size:clamp(16px,1.5vw,21px);font-weight:600}.exp-bullets{gap:14px;display:grid}.exp-bullets li{color:var(--warm2);grid-template-columns:22px minmax(0,1fr);font-size:clamp(14.5px,1.05vw,16.5px);line-height:1.6;display:grid}.exp-bullets li:before{content:"—";color:var(--accent);font-family:var(--mono)}.edu-card{border:1px solid var(--ink);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:clamp(20px,3vw,36px);padding:clamp(24px,3vw,40px);transition:background .25s;display:grid}.edu-card:hover{background:var(--panel)}.edu-year{font-family:var(--display);color:var(--accent);font-size:clamp(28px,3vw,44px);line-height:1}.edu-school{font-family:var(--display);text-transform:uppercase;color:var(--ink);font-size:clamp(19px,1.9vw,28px);line-height:1.1;transition:color .25s;display:inline-block}.edu-school:hover{color:var(--accent)}.edu-dept{color:var(--warm2);margin-top:12px;font-size:clamp(14.5px,1.05vw,16.5px)}.edu-years{font-family:var(--mono);letter-spacing:.12em;color:var(--warm);margin-top:10px;font-size:11.5px}.skill-cell{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:14px;padding:20px;transition:background .25s;display:flex}.skill-cell:hover{background:var(--panel)}.skill-cell:hover .cell-num{color:var(--ink)}.lang-cell{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:clamp(22px,2.4vw,32px) 20px;transition:background .25s}.lang-cell:hover{background:var(--panel)}.lang-name{font-family:var(--display);text-transform:uppercase;color:var(--ink);font-size:clamp(20px,2vw,30px);line-height:1}.lang-level{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--warm2);margin-top:12px;font-size:11px}.link-band{color:inherit;border:1px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:clamp(22px,2.6vw,34px) clamp(20px,2.4vw,32px);transition:background .25s;display:flex}.link-band:hover{background:var(--ink)}.link-band:hover .link-band-title,.link-band:hover .link-band-sub,.link-band:hover .link-band-cta{color:var(--paper)}.link-band-title{font-family:var(--display);text-transform:uppercase;color:var(--ink);font-size:clamp(20px,2.2vw,32px);line-height:1;transition:color .25s}.link-band-sub{color:var(--warm2);margin-top:12px;font-size:15px;transition:color .25s}.link-band-cta{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:11.5px;transition:color .25s}.cert-list{border-top:1px solid var(--ink)}.cert-row{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:clamp(24px,4vw,64px);padding:clamp(30px,3.6vw,56px) 0;display:grid}.cert-row.reverse .cert-media{order:2}.cert-media{border:1px solid var(--ink);background:var(--panel)}.cert-media img{filter:grayscale();width:100%;height:auto;transition:filter .5s;display:block}.cert-row:hover .cert-media img{filter:grayscale(0)}.cert-index{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:11px}.cert-issuer{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--warm);margin-top:14px;font-size:11px}.cert-name{font-family:var(--display);text-transform:uppercase;color:var(--ink);margin:12px 0 0;font-size:clamp(18px,1.9vw,27px);line-height:1.16}.cert-meta{font-family:var(--mono);letter-spacing:.1em;color:var(--warm2);margin-top:12px;font-size:11.5px}.cert-desc{color:var(--warm2);text-wrap:pretty;margin-top:18px;font-size:clamp(14.5px,1.05vw,16.5px);line-height:1.62}.cert-verify{margin-top:24px}.soon{border:1px solid var(--ink);text-align:center;padding:clamp(48px,7vw,120px) clamp(24px,4vw,64px)}.soon-badge{background:var(--accent);color:var(--onaccent);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;padding:8px 14px;font-size:11px;display:inline-block}.soon-title{font-family:var(--display);text-transform:uppercase;color:var(--ink);text-wrap:balance;margin:clamp(20px,2.4vw,32px) 0 0;font-size:clamp(26px,4vw,58px);line-height:1.05}.soon-sub{max-width:56ch;color:var(--warm2);margin:20px auto 0;font-size:clamp(14.5px,1.05vw,16.5px);line-height:1.62}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:start;gap:clamp(28px,4vw,72px);display:grid}.contact-heading{font-family:var(--display);text-transform:uppercase;color:var(--ink);text-wrap:balance;font-size:clamp(24px,3vw,44px);line-height:1.05}.contact-sub{color:var(--warm2);max-width:56ch;margin-top:20px;font-size:clamp(15px,1.1vw,17px);line-height:1.62}.contact-rows{border-top:1px solid var(--ink);margin-top:clamp(28px,3vw,44px)}.contact-row{border-bottom:1px solid var(--rule);grid-template-columns:minmax(110px,180px) minmax(0,1fr);align-items:baseline;gap:20px;padding:20px 0;display:grid}.contact-lbl{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--warm);font-size:11px}.contact-val{font-family:var(--mono);color:var(--ink);word-break:break-word;font-size:clamp(13px,1.1vw,15.5px)}.contact-val a{color:var(--ink)}.contact-val a:hover{color:var(--accent)}.mail-box{border:1px solid var(--ink);background:var(--panel);padding:clamp(24px,3vw,40px)}.mail-title{font-family:var(--display);text-transform:uppercase;color:var(--ink);font-size:clamp(18px,1.8vw,26px);line-height:1.1}.mail-sub{color:var(--warm2);margin-top:14px;font-size:15px;line-height:1.6}.mail-buttons{gap:12px;margin-top:clamp(24px,3vw,34px);display:grid}.mail-btn{border:1px solid var(--ink);background:var(--paper);color:var(--ink);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:12px;padding:15px 18px;font-size:11.5px;transition:background .25s,color .25s;display:flex}.mail-btn:hover{background:var(--ink);color:var(--paper)}.mail-btn-primary{background:var(--accent);border-color:var(--accent);color:var(--onaccent)}.mail-btn svg{flex-shrink:0}.mail-btn .arrow{margin-left:auto}.mail-btn:hover .arrow{transform:translate(6px)}.cta-section{padding-top:clamp(48px,6vw,104px);padding-bottom:clamp(48px,6vw,104px)}.cta-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:24px;display:flex}.cta-title{font-family:var(--display);text-transform:uppercase;color:var(--ink);max-width:18ch;margin:0;font-size:clamp(38px,7vw,104px);line-height:1.02}.cta-links{font-family:var(--mono);flex-direction:column;gap:10px;font-size:clamp(13px,1.1vw,15px);display:flex}.cta-links a{color:var(--ink)}.cta-links a:hover{color:var(--accent)}.footer{border-top:1px solid var(--ink)}.footer-inner{max-width:var(--shell);padding:22px var(--gutter);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--warm);flex-wrap:wrap;justify-content:space-between;gap:16px;margin:0 auto;font-size:11px;display:flex}.footer-inner a{color:var(--warm)}.footer-inner a:hover{color:var(--ink)}.footer-back{cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--warm);background:0 0;border:0;padding:0;transition:color .25s}.footer-back:hover{color:var(--ink)}@media (max-width:1100px){.cell-grid{grid-template-columns:repeat(3,1fr)}.contact-grid{grid-template-columns:1fr}}@media (max-width:960px){.nav-links{display:none}.menu-btn{display:grid}.nav-cta,.hero-columns{display:none}.hero-bio-row{grid-template-columns:1fr;gap:26px}.stats{grid-template-columns:repeat(2,1fr)}.stat+.stat{padding-left:0}.figures{grid-template-columns:1fr}.cell-grid,.cell-grid-3{grid-template-columns:repeat(2,1fr)}.exp-item{grid-template-columns:1fr;gap:22px}.cert-row{grid-template-columns:1fr;gap:26px}.cert-row.reverse .cert-media{order:0}}@media (max-width:560px){.stats{grid-template-columns:1fr}.stat{border-right:0}.cell-grid,.cell-grid-3,.cell-grid-2{grid-template-columns:1fr}.contact-row{grid-template-columns:1fr;gap:8px}.nav-inner{gap:12px}.nav-right{gap:7px}.lang-btn{padding:8px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fi{opacity:1;transition:none;transform:none}}
