@import"https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:ital,wght@0,200;0,300;0,400;0,500;1,300&display=swap";.splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity .75s var(--ease),transform .75s var(--ease)}.splash--leaving{opacity:0;transform:scale(1.03);pointer-events:none}.splash__board-bg{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);transform:rotate(0)}.splash__sq{opacity:0;animation:sqReveal .5s ease forwards}.splash__sq--light{background:#c9d8e81f}.splash__sq--dark{background:#2d4a6e40}@keyframes sqReveal{0%{opacity:0}to{opacity:1}}.splash__vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 65% at 50% 50%,rgba(10,13,19,.92) 0%,rgba(10,13,19,.55) 65%,transparent 100%);pointer-events:none}.splash__content{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;animation:splashContentIn .9s var(--ease) .3s both}@keyframes splashContentIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.splash__eyebrow{font-family:var(--font-body);font-size:.6rem;font-weight:500;letter-spacing:.55em;text-transform:uppercase;color:var(--blue-bright);margin-bottom:20px}.splash__king-icon{font-size:3rem;line-height:1;margin-bottom:20px;color:var(--blue-bright);filter:drop-shadow(0 0 12px rgba(96,165,250,.5));animation:iconFloat 3s ease-in-out infinite}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.splash__name{font-family:var(--font-display);font-size:clamp(3.8rem,10vw,8rem);font-weight:400;line-height:.92;letter-spacing:.04em;color:var(--white);margin-bottom:28px}.splash__name-accent{color:var(--blue-bright)}.splash__divider{display:flex;align-items:center;gap:14px;margin-bottom:18px}.splash__divider-line{display:block;width:56px;height:1px;background:var(--slate-light)}.splash__divider-diamond{display:block;width:7px;height:7px;background:var(--blue);transform:rotate(45deg);flex-shrink:0}.splash__subtitle{font-family:var(--font-body);font-size:.75rem;font-weight:300;letter-spacing:.22em;color:var(--grey-light);text-transform:uppercase;margin-bottom:44px}.splash__btn{display:inline-flex;align-items:center;gap:10px;background:var(--blue);color:var(--ink);border:none;cursor:pointer;padding:14px 40px;font-family:var(--font-body);font-size:.72rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;transition:background .25s ease,transform .25s ease;margin-bottom:14px}.splash__btn:hover{background:var(--blue-bright);transform:translateY(-2px)}.splash__btn svg{transition:transform .25s ease}.splash__btn:hover svg{transform:translate(4px)}.splash__hint{font-size:.58rem;font-weight:300;letter-spacing:.28em;text-transform:uppercase;color:#8a94a673}.splash__corner{position:absolute;width:100px;height:100px;pointer-events:none}.splash__corner--tl{top:28px;left:28px;border-top:1px solid rgba(59,130,246,.3);border-left:1px solid rgba(59,130,246,.3)}.splash__corner--br{bottom:28px;right:28px;border-bottom:1px solid rgba(59,130,246,.3);border-right:1px solid rgba(59,130,246,.3)}@media (max-width: 480px){.splash__corner{width:50px;height:50px}}.checkmate-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;animation:checkmateIn .5s var(--ease) both}@keyframes checkmateIn{0%{opacity:0}to{opacity:1}}.checkmate-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0d13eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.checkmate-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.checkmate-content{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;gap:0;animation:checkmateContentIn .7s var(--ease) .2s both}@keyframes checkmateContentIn{0%{opacity:0;transform:scale(.85) translateY(20px)}to{opacity:1;transform:none}}.checkmate-symbol{font-size:5rem;line-height:1;margin-bottom:16px;animation:kingFall .8s var(--ease) .3s both}@keyframes kingFall{0%{transform:rotate(-30deg) scale(.5);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}.checkmate-word{font-family:var(--font-display);font-size:clamp(3rem,8vw,6rem);letter-spacing:.12em;color:var(--white);margin-bottom:16px;line-height:1}.checkmate-line{width:80px;height:2px;background:linear-gradient(90deg,transparent,var(--blue-bright),transparent);margin-bottom:20px}.checkmate-msg{font-size:.88rem;font-weight:300;line-height:1.85;color:var(--grey-light);margin-bottom:36px;max-width:300px}.checkmate-btn{background:var(--blue);color:var(--ink);border:none;cursor:pointer;padding:14px 36px;font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;transition:background .25s ease,transform .25s ease}.checkmate-btn:hover{background:var(--blue-bright);transform:translateY(-2px)}.chess-home{display:grid;grid-template-columns:280px 1fr 220px;min-height:100vh;background:var(--ink);overflow:hidden}.chess-home__panel{display:flex;flex-direction:column;padding:48px 32px;position:relative}.chess-home__panel--left{border-right:1px solid var(--slate-light);justify-content:space-between}.chess-home__panel--right{border-left:1px solid var(--slate-light);justify-content:flex-end;gap:32px}.chess-home__brand{display:flex;align-items:flex-start;gap:14px;margin-bottom:8px}.chess-home__brand-vz{font-family:var(--font-display);font-size:2.8rem;line-height:1;letter-spacing:.05em;color:var(--blue-bright);border:2px solid var(--blue);padding:4px 10px;flex-shrink:0}.chess-home__brand-name{font-family:var(--font-display);font-size:1.15rem;line-height:1.2;letter-spacing:.08em;color:var(--white)}.chess-home__tagline{font-size:.75rem;font-weight:300;line-height:1.9;color:var(--grey);letter-spacing:.06em}.chess-home__tagline p:last-child{color:var(--blue-bright)}.chess-home__hint{display:flex;align-items:center;gap:10px;font-size:.65rem;font-weight:400;letter-spacing:.28em;text-transform:uppercase;color:var(--grey)}.chess-home__hint-diamond{display:block;width:7px;height:7px;background:var(--blue);transform:rotate(45deg);flex-shrink:0;animation:diamondPulse 2s ease-in-out infinite}@keyframes diamondPulse{0%,to{opacity:1;transform:rotate(45deg) scale(1)}50%{opacity:.5;transform:rotate(45deg) scale(.7)}}.chess-home__legend{display:flex;flex-direction:column;gap:10px;padding-top:24px;border-top:1px solid var(--slate-light)}.chess-home__legend-item{display:flex;align-items:center;gap:10px;font-size:.7rem;font-weight:400;color:var(--grey-light);cursor:default}.chess-home__legend-item--secret{color:#8a94a666;font-style:italic}.chess-home__legend-color{display:block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.chess-home__legend-color--white{background:var(--white)}.chess-home__legend-color--black{background:var(--blue-bright)}.chess-home__legend-piece{font-size:1.1rem;line-height:1}.chess-home__legend-name{letter-spacing:.08em}.chess-home__move-hint{background:var(--slate-mid);border:1px solid var(--slate-light);padding:20px}.chess-home__move-hint-title{font-family:var(--font-display);font-size:1rem;letter-spacing:.12em;color:var(--blue-bright);margin-bottom:10px}.chess-home__move-hint-body{font-size:.72rem;font-weight:300;line-height:1.7;color:var(--grey-light)}.chess-home__coords{display:flex;flex-direction:column;gap:12px}.chess-home__coord-group{display:flex;flex-direction:column;gap:4px}.chess-home__coord-label{font-size:.55rem;font-weight:500;letter-spacing:.35em;text-transform:uppercase;color:var(--grey)}.chess-home__coord-val{font-size:.7rem;font-weight:300;color:var(--grey-light);letter-spacing:.05em}.chess-home__board-wrap{display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;padding:40px;background:radial-gradient(ellipse 80% 80% at 50% 50%,rgba(27,40,65,.5) 0%,transparent 100%)}.chess-home__board{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);width:min(72vw,68vh,580px);height:min(72vw,68vh,580px);border:2px solid var(--slate-light);position:relative;box-shadow:0 0 0 1px #3b82f61a,0 32px 80px #0009,inset 0 0 40px #0000004d;cursor:default;-webkit-user-select:none;user-select:none}.chess-sq{position:relative;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.chess-sq--light{background:var(--sq-light)}.chess-sq--dark{background:var(--sq-dark)}.chess-sq--nav{cursor:pointer}.chess-sq--nav.chess-sq--light{background:#c9d8e8}.chess-sq--nav.chess-sq--dark{background:#2d4a6e}.chess-sq--hovered.chess-sq--nav{background:var(--sq-hover)!important}.chess-sq--selected{background:#f59e0b80!important}.chess-sq--target{cursor:pointer}.chess-sq--target.chess-sq--light:hover{background:#60a5fa66}.chess-sq--target.chess-sq--dark:hover{background:#60a5fa59}.chess-sq__dot{width:28%;height:28%;border-radius:50%;background:#3b82f680;pointer-events:none}.chess-sq__rank,.chess-sq__file{position:absolute;font-family:var(--font-body);font-size:clamp(.48rem,1vw,.65rem);font-weight:500;line-height:1;pointer-events:none;z-index:1}.chess-sq__rank{top:3px;left:3px}.chess-sq__file{bottom:3px;right:4px}.chess-sq--light .chess-sq__rank,.chess-sq--light .chess-sq__file{color:var(--sq-dark);opacity:.7}.chess-sq--dark .chess-sq__rank,.chess-sq--dark .chess-sq__file{color:var(--sq-light);opacity:.6}.chess-piece{width:78%;height:78%;position:relative;z-index:2;transition:transform .2s var(--ease),filter .2s ease;pointer-events:none}.chess-piece--nav{filter:drop-shadow(0 2px 6px rgba(59,130,246,.4))}.chess-sq--nav:hover .chess-piece{transform:translateY(-6%) scale(1.08);filter:drop-shadow(0 6px 14px rgba(59,130,246,.6))}.chess-piece--selected{transform:translateY(-8%) scale(1.1);filter:drop-shadow(0 6px 16px rgba(245,158,11,.7))!important}.chess-piece__glow{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.15) 0%,transparent 70%);pointer-events:none;animation:glowPulse 3s ease-in-out infinite}@keyframes glowPulse{0%,to{opacity:.6}50%{opacity:1}}.chess-piece--pulse:after{content:"";position:absolute;top:-18%;right:-18%;bottom:-18%;left:-18%;border-radius:50%;border:1.5px solid rgba(245,158,11,.5);animation:queenPulse 2.2s ease-in-out infinite;pointer-events:none}@keyframes queenPulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.15);opacity:0}}.chess-tooltip{position:absolute;transform:translate(-50%,-100%);background:var(--ink);color:var(--white);border:1px solid var(--blue);font-family:var(--font-body);font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;padding:6px 14px;pointer-events:none;z-index:100;white-space:nowrap;box-shadow:0 4px 16px #3b82f64d}.chess-tooltip:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%) rotate(45deg);width:8px;height:8px;background:var(--ink);border-right:1px solid var(--blue);border-bottom:1px solid var(--blue)}.chess-home__headshot-wrap{width:100%;padding:4px 0 8px}.chess-home__headshot{width:100%;aspect-ratio:1 / 1;object-fit:cover;object-position:center top;display:block;filter:grayscale(20%);border:1px solid var(--slate-light)}.chess-home__board-hint{display:flex;align-items:center;justify-content:center;gap:12px;font-family:var(--font-body);font-size:.65rem;font-weight:500;letter-spacing:.35em;text-transform:uppercase;color:var(--grey-light);margin-bottom:16px}.chess-home__hint-diamond{display:block;width:6px;height:6px;background:var(--blue);transform:rotate(45deg);flex-shrink:0;animation:diamondPulse 2s ease-in-out infinite}@media (max-width: 900px){.chess-home{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.chess-home__panel--left{flex-direction:row;flex-wrap:wrap;align-items:center;gap:16px;padding:20px 24px;border-right:none;border-bottom:1px solid var(--slate-light)}.chess-home__panel--right{border-left:none;border-top:1px solid var(--slate-light);padding:20px 24px;flex-direction:row;flex-wrap:wrap}.chess-home__legend{flex-direction:row;flex-wrap:wrap;gap:12px 20px;padding-top:0;border-top:none}.chess-home__tagline,.chess-home__hint{display:none}.chess-home__board-wrap{padding:24px 16px}.chess-home__board{width:min(90vw,90vw);height:min(90vw,90vw)}}.back-btn{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid var(--slate-light);color:var(--grey);cursor:pointer;padding:8px 18px;font-family:var(--font-body);font-size:.65rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;transition:border-color .25s ease,color .25s ease;position:fixed;top:24px;left:24px;z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0d13b3}.back-btn:hover{border-color:var(--blue-bright);color:var(--white)}.back-btn svg{transition:transform .25s ease}.back-btn:hover svg{transform:translate(-3px)}.about{min-height:100vh;background:var(--ink);display:flex;flex-direction:column}.about__hero{display:grid;grid-template-columns:1fr 1fr;min-height:60vh}.about__hero-text{padding:120px 64px 80px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--slate-light);background:var(--slate-dark)}.about__piece-label{font-family:var(--font-body);font-size:.62rem;font-weight:500;letter-spacing:.45em;text-transform:uppercase;color:var(--blue-bright);margin-bottom:24px}.about__heading{font-family:var(--font-display);font-size:clamp(5rem,12vw,10rem);line-height:.88;letter-spacing:.02em;margin-bottom:32px;display:flex;flex-direction:column}.about__heading-line{color:var(--white)}.about__heading-line--accent{color:var(--blue-bright)}.about__rule{width:64px;height:3px;background:var(--blue);margin-bottom:24px}.about__tagline{font-size:.85rem;font-weight:300;line-height:1.85;color:var(--grey-light);letter-spacing:.06em}.about__hero-photo{position:relative;overflow:hidden;background:var(--slate-mid)}.about__photo-frame{position:absolute;top:0;right:0;bottom:0;left:0}.about__photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(20%) contrast(1.05)}.about__photo-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,rgba(22,28,39,.6) 0%,transparent 60%),linear-gradient(to top,rgba(10,13,19,.8) 0%,transparent 50%)}.about__photo-name{position:absolute;bottom:32px;left:32px;display:flex;flex-direction:column;font-family:var(--font-display);font-size:1.8rem;letter-spacing:.1em;line-height:1.1;color:var(--white);z-index:2}.about__bio{display:grid;grid-template-columns:1.4fr 1fr;border-top:1px solid var(--slate-light);flex:1}.about__bio-col{padding:64px}.about__bio-col--main{border-right:1px solid var(--slate-light)}.about__sub{font-family:var(--font-display);font-size:1.2rem;letter-spacing:.1em;color:var(--blue-bright);margin-bottom:16px;margin-top:40px}.about__sub:first-child{margin-top:0}.about__body{font-size:.88rem;font-weight:300;line-height:1.9;color:var(--grey-light);margin-bottom:16px;max-width:540px}.about__body strong{color:var(--white);font-weight:400}.about__skill-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.about__skill-tag{font-family:var(--font-body);font-size:.72rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-bright);border:1px solid rgba(96,165,250,.35);background:#3b82f612;padding:8px 16px;transition:background .2s ease,border-color .2s ease,color .2s ease}.about__skill-tag:hover{background:#3b82f62e;border-color:var(--blue-bright);color:var(--white)}@media (max-width: 900px){.about__hero,.about__bio{grid-template-columns:1fr}.about__hero-text{padding:80px 32px 48px;border-right:none;border-bottom:1px solid var(--slate-light)}.about__hero-photo{min-height:50vw}.about__bio-col{padding:40px 32px;border-right:none!important;border-bottom:1px solid var(--slate-light)}}.port-page{min-height:100vh;background:var(--ink)}.port-page__banner{position:relative;padding:100px 80px 60px;background:var(--slate-dark);border-bottom:1px solid var(--slate-light);overflow:hidden;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:32px}.port-page__banner-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(45deg,transparent,transparent 40px,rgba(59,130,246,.03) 40px,rgba(59,130,246,.03) 41px);pointer-events:none}.port-page__banner-content{position:relative;z-index:1}.port-page__piece-label{font-size:.62rem;font-weight:500;letter-spacing:.45em;text-transform:uppercase;color:var(--blue-bright);margin-bottom:20px}.port-page__heading{font-family:var(--font-display);font-size:clamp(4rem,10vw,9rem);line-height:.88;letter-spacing:.04em;color:var(--white)}.port-page__banner-sub{position:relative;z-index:1;font-size:.88rem;font-weight:300;color:var(--grey-light);line-height:1.8;max-width:360px;align-self:end}.port-page__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--slate-light)}.port-card{background:var(--ink);padding:48px;display:flex;flex-direction:column;gap:0;position:relative;overflow:hidden;transition:background .3s ease}.port-card:hover{background:var(--slate-dark)}.port-card__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.port-card__num{font-family:var(--font-display);font-size:3.5rem;line-height:1;color:#3b82f626;letter-spacing:.04em}.port-card__piece{font-size:2.2rem;line-height:1;filter:grayscale(1);opacity:.5;transition:filter .3s ease,opacity .3s ease,transform .3s ease}.port-card:hover .port-card__piece{filter:grayscale(0);opacity:1;transform:scale(1.1) translateY(-4px)}.port-card__status{font-size:.58rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;margin-bottom:10px}.port-card__title{font-family:var(--font-display);font-size:1.8rem;letter-spacing:.04em;color:var(--white);margin-bottom:14px;line-height:1.1}.port-card__desc{font-size:.84rem;font-weight:300;line-height:1.8;color:var(--grey-light);margin-bottom:24px;flex:1}.port-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px}.port-card__tag{font-size:.6rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--blue-bright);border:1px solid rgba(59,130,246,.25);background:#3b82f60f;padding:3px 9px}.port-card__links{display:flex;gap:20px;padding-top:20px;border-top:1px solid var(--slate-light)}.port-card__link{font-size:.68rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--grey);text-decoration:none;transition:color .25s ease}.port-card__link:hover{color:var(--white)}.port-card__link--live{color:var(--blue-bright)}.port-card__link--live:hover{color:var(--white)}@media (max-width: 768px){.port-page__banner{grid-template-columns:1fr;padding:80px 28px 48px}.port-page__grid{grid-template-columns:1fr}.port-card{padding:36px 28px}}.exp-page{min-height:100vh;background:var(--ink)}.exp-page__banner{position:relative;padding:100px 80px 72px;overflow:hidden;border-bottom:1px solid var(--slate-light);background:var(--slate-dark)}.exp-page__banner-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(45deg,transparent,transparent 40px,rgba(59,130,246,.03) 40px,rgba(59,130,246,.03) 41px);pointer-events:none}.exp-page__banner-content{position:relative;z-index:1;max-width:700px}.exp-page__piece-label{font-size:.62rem;font-weight:500;letter-spacing:.45em;text-transform:uppercase;color:var(--blue-bright);margin-bottom:20px}.exp-page__heading{font-family:var(--font-display);font-size:clamp(4rem,10vw,8rem);letter-spacing:.04em;color:var(--white);line-height:.9;margin-bottom:24px}.exp-page__rule{width:56px;height:3px;background:var(--blue);margin-bottom:20px}.exp-page__banner-sub{font-size:.88rem;font-weight:300;color:var(--grey-light);letter-spacing:.08em}.exp-page__body{display:grid;grid-template-columns:1fr 300px;gap:0}.exp-page__timeline{padding:64px 64px 64px 80px;position:relative;border-right:1px solid var(--slate-light)}.exp-page__timeline-rail{position:absolute;top:80px;bottom:40px;left:40px;width:1px;background:linear-gradient(to bottom,transparent,var(--slate-light) 8%,var(--slate-light) 92%,transparent)}.exp-card{display:grid;grid-template-columns:180px 1fr;gap:32px;padding-bottom:52px;position:relative}.exp-card__marker{display:flex;flex-direction:column;align-items:flex-end;padding-top:4px;gap:8px}.exp-card__dot{width:11px;height:11px;background:var(--slate-mid);border:1px solid var(--slate-light);transform:rotate(45deg);flex-shrink:0;position:relative;right:-20px}.exp-card--current .exp-card__dot{background:var(--blue);border-color:var(--blue-bright);box-shadow:0 0 10px #3b82f680}.exp-card__period{font-size:.65rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-bright);text-align:right;line-height:1.5}.exp-card__body{padding-top:0}.exp-card__company{font-family:var(--font-display);font-size:1.3rem;letter-spacing:.06em;color:var(--white);margin-bottom:4px}.exp-card__role{font-size:.78rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--silver);margin-bottom:10px}.exp-card__badge{display:inline-block;font-size:.55rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--ink);background:var(--blue-bright);padding:3px 8px;margin-bottom:12px}.exp-card__bullets{list-style:none;display:flex;flex-direction:column;gap:9px}.exp-card__bullets li{font-size:.83rem;font-weight:300;line-height:1.8;color:var(--grey-light);padding-left:14px;position:relative}.exp-card__bullets li:before{content:"";position:absolute;left:0;top:10px;width:5px;height:1px;background:var(--blue);opacity:.7}.exp-page__sidebar{padding:64px 40px;position:sticky;top:0;align-self:start}.exp-page__sidebar-title{font-family:var(--font-display);font-size:.95rem;letter-spacing:.15em;color:var(--blue-bright);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--slate-light)}.edu-card{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid rgba(44,58,82,.5)}.edu-card:last-child{border-bottom:none}.edu-card__year{font-family:var(--font-display);font-size:.75rem;color:var(--blue-bright);min-width:44px;padding-top:2px}.edu-card__title{font-size:.8rem;font-weight:400;color:var(--white);margin-bottom:2px}.edu-card__org{font-size:.7rem;font-weight:300;color:var(--grey-light);margin-bottom:2px}.edu-card__note{font-size:.62rem;font-style:italic;color:var(--grey)}.extra-card{padding:14px 0;border-bottom:1px solid rgba(44,58,82,.5)}.extra-card:last-child{border-bottom:none}.extra-card__title{font-size:.82rem;font-weight:400;color:var(--white);margin-bottom:2px}.extra-card__role{font-size:.68rem;color:var(--blue-bright);letter-spacing:.05em;margin-bottom:6px}.extra-card__body{font-size:.75rem;font-weight:300;line-height:1.7;color:var(--grey-light)}@media (max-width: 900px){.exp-page__banner{padding:80px 28px 48px}.exp-page__body{grid-template-columns:1fr}.exp-page__timeline{padding:48px 28px 48px 56px;border-right:none}.exp-page__timeline-rail{left:12px}.exp-card{grid-template-columns:1fr;gap:8px}.exp-card__marker{flex-direction:row;align-items:center}.exp-card__dot{right:0}.exp-page__sidebar{padding:40px 28px;position:static}}.int-page{min-height:100vh;background:var(--ink)}.int-page__banner{position:relative;padding:100px 80px 60px;background:var(--slate-dark);border-bottom:1px solid var(--slate-light);overflow:hidden}.int-page__banner-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(45deg,transparent,transparent 40px,rgba(59,130,246,.03) 40px,rgba(59,130,246,.03) 41px);pointer-events:none}.int-page__piece-label{position:relative;z-index:1;font-size:.62rem;font-weight:500;letter-spacing:.45em;text-transform:uppercase;color:var(--blue-bright);margin-bottom:20px}.int-page__heading{position:relative;z-index:1;font-family:var(--font-display);font-size:clamp(4rem,10vw,9rem);line-height:.88;letter-spacing:.04em;color:var(--white);margin-bottom:28px}.int-page__sub{position:relative;z-index:1;font-size:.88rem;font-weight:300;color:var(--grey-light);letter-spacing:.06em;max-width:480px}.int-page__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--slate-light)}.int-card{background:var(--ink);padding:44px 40px;position:relative;overflow:hidden;transition:background .3s ease}.int-card:hover{background:var(--slate-dark)}.int-card__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.int-card__num{font-family:var(--font-display);font-size:2.8rem;line-height:1;color:#3b82f61f;letter-spacing:.04em}.int-card__piece{font-size:2rem;line-height:1;filter:grayscale(1);opacity:.45;transition:filter .3s ease,opacity .3s ease,transform .3s ease}.int-card:hover .int-card__piece{filter:grayscale(0);opacity:1;transform:translateY(-4px) scale(1.08)}.int-card__title{font-family:var(--font-display);font-size:1.5rem;letter-spacing:.05em;color:var(--white);margin-bottom:12px}.int-card__body{font-size:.83rem;font-weight:300;line-height:1.85;color:var(--grey-light);margin-bottom:20px}.int-card__tags{display:flex;flex-wrap:wrap;gap:6px}.int-card__tag{font-size:.58rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--blue-bright);border:1px solid rgba(59,130,246,.22);background:#3b82f60d;padding:3px 8px}.int-card__link{display:inline-block;margin-top:16px;font-size:.68rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-bright);text-decoration:none;border-bottom:1px solid rgba(96,165,250,.35);padding-bottom:2px;transition:color .2s ease,border-color .2s ease}.int-card__link:hover{color:var(--white);border-color:var(--white)}@media (max-width: 1024px){.int-page__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.int-page__banner{padding:80px 28px 48px}.int-page__grid{grid-template-columns:1fr}.int-card{padding:36px 28px}}.con-page{min-height:100vh;background:var(--ink);display:flex;flex-direction:column}.con-page__split{display:grid;grid-template-columns:1fr 1.6fr;flex:1;min-height:100vh}.con-page__left{padding:120px 64px 80px;background:var(--slate-dark);border-right:1px solid var(--slate-light);position:relative;overflow:hidden;display:flex;flex-direction:column}.con-page__piece-label{font-size:.62rem;font-weight:500;letter-spacing:.45em;text-transform:uppercase;color:var(--blue-bright);margin-bottom:24px}.con-page__heading{font-family:var(--font-display);font-size:clamp(4.5rem,9vw,8rem);line-height:.88;letter-spacing:.03em;color:var(--white);margin-bottom:32px}.con-page__heading-me{color:var(--blue-bright)}.con-page__rule{width:56px;height:3px;background:var(--blue);margin-bottom:40px}.con-page__details{display:flex;flex-direction:column;gap:0;margin-bottom:36px}.con-page__detail{display:flex;flex-direction:column;gap:4px;padding:16px 0;border-bottom:1px solid var(--slate-light)}.con-page__detail:first-child{border-top:1px solid var(--slate-light)}.con-page__detail-label{font-size:.55rem;font-weight:500;letter-spacing:.35em;text-transform:uppercase;color:var(--grey)}.con-page__detail-val{font-size:.9rem;font-weight:300;color:var(--grey-light);text-decoration:none;transition:color .25s ease}.con-page__detail-val--link:hover,a.con-page__detail-val:hover{color:var(--blue-bright)}.con-page__availability{display:flex;align-items:center;gap:10px;font-size:.72rem;font-weight:400;letter-spacing:.12em;color:var(--grey-light)}.con-page__avail-dot{width:8px;height:8px;border-radius:50%;background:#34d399;flex-shrink:0;box-shadow:0 0 8px #34d39999;animation:availPulse 2s ease-in-out infinite}@keyframes availPulse{0%,to{opacity:1}50%{opacity:.4}}.con-page__deco{position:absolute;bottom:-20px;right:-10px;font-size:18rem;line-height:1;color:#3b82f60a;pointer-events:none;-webkit-user-select:none;user-select:none}.con-page__right{padding:120px 64px 80px;display:flex;flex-direction:column}.con-page__form-intro{font-size:.9rem;font-weight:300;line-height:1.85;color:var(--grey-light);margin-bottom:48px;max-width:440px}.con-page__form{display:flex;flex-direction:column;gap:22px}.con-page__row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.con-page__field{display:flex;flex-direction:column;gap:8px}.con-page__label{font-size:.58rem;font-weight:500;letter-spacing:.35em;text-transform:uppercase;color:var(--grey)}.con-page__input{background:var(--slate-mid);border:1px solid var(--slate-light);border-top:none;border-left:none;border-right:none;border-bottom:1px solid var(--slate-light);color:var(--white);font-family:var(--font-body);font-size:.9rem;font-weight:300;padding:14px 0;outline:none;width:100%;background:transparent;transition:border-color .25s ease}.con-page__input::placeholder{color:#8a94a680}.con-page__input:focus{border-bottom-color:var(--blue-bright)}.con-page__textarea{resize:vertical;min-height:140px;font-family:var(--font-body)}.con-page__submit{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;background:var(--blue);color:var(--ink);border:none;cursor:pointer;padding:15px 40px;font-family:var(--font-body);font-size:.72rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;transition:background .25s ease,transform .25s ease}.con-page__submit:hover{background:var(--blue-bright);transform:translateY(-2px)}.con-page__submit svg{transition:transform .25s ease}.con-page__submit:hover svg{transform:translate(4px)}.con-page__submit--sending{opacity:.75;cursor:not-allowed}.con-page__spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(10,13,19,.3);border-top-color:var(--ink);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.con-page__feedback{font-size:.75rem;letter-spacing:.1em;padding:12px 16px}.con-page__feedback--sent{color:#34d399;background:#34d39912;border:1px solid rgba(52,211,153,.2)}.con-page__feedback--error{color:#f87171;background:#f8717112;border:1px solid rgba(248,113,113,.2)}@media (max-width: 900px){.con-page__split{grid-template-columns:1fr}.con-page__left{padding:80px 28px 48px;border-right:none;border-bottom:1px solid var(--slate-light)}.con-page__right{padding:48px 28px 64px}.con-page__deco{font-size:10rem}.con-page__row{grid-template-columns:1fr}}:root{--ink: #0a0d13;--slate-dark: #111520;--slate-mid: #1a2035;--slate-light: #263050;--grey: #8a94a6;--grey-light: #b8c2d0;--white: #eef1f6;--blue: #3b82f6;--blue-bright: #60a5fa;--blue-dim: #1e3a8a;--silver: #94a3b8;--gold: #f59e0b;--sq-light: #c9d8e8;--sq-dark: #2d4a6e;--sq-hover: rgba(96, 165, 250, .35);--sq-nav: rgba(245, 158, 11, .25);--font-display: "Bebas Neue", sans-serif;--font-body: "DM Sans", sans-serif;--ease: cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{background:var(--ink);color:var(--white);font-family:var(--font-body);font-weight:300;overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::selection{background:var(--blue);color:var(--ink)}
