*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--black:#0176d3;--white:#fafafa;--grey:#2e7ec1;--light-grey:#e4e4e4;--lighter-grey:#f3f3f3;--display:"Space Grotesk", "Segoe UI", system-ui, sans-serif;--body:"Inter", "Segoe UI", system-ui, sans-serif}html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden}body{background:var(--white);color:var(--black);font-family:var(--body);font-weight:400;line-height:1.6;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle,#0176d321 1px,#0000 1px);background-size:24px 24px;position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:0;-webkit-mask:radial-gradient(circle 140px at var(--mx,-999px) var(--my,-999px), black 0%, transparent 100%);-webkit-mask:radial-gradient(circle 140px at var(--mx,-999px) var(--my,-999px), black 0%, transparent 100%);mask:radial-gradient(circle 140px at var(--mx,-999px) var(--my,-999px), black 0%, transparent 100%);background-image:radial-gradient(circle,#0176d352 1px,#0000 1px);background-size:24px 24px;position:fixed;inset:0}::selection{background:var(--black);color:var(--white)}.loader{background:var(--white);z-index:9999;flex-direction:column;justify-content:center;align-items:center;gap:20px;transition:opacity .9s cubic-bezier(.65,0,.35,1),visibility .9s;display:flex;position:fixed;inset:0}.loader.hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-name{font-family:var(--display);letter-spacing:.22em;text-transform:uppercase;color:var(--black);opacity:0;filter:blur(12px);font-size:clamp(1rem,2.5vw,1.4rem);font-weight:700;animation:1.3s .1s forwards loaderBlur;display:flex;overflow:hidden}.loader-name span{display:inline-block}@keyframes loaderBlur{0%{opacity:0;filter:blur(12px)}40%{opacity:1}to{opacity:1;filter:blur()}}.cur-dot{background:var(--black);pointer-events:none;z-index:10000;border-radius:50%;width:6px;height:6px;position:fixed;top:-10px;left:-10px}.cur-ring{pointer-events:none;z-index:10000;border:1.5px solid #0176d3;border-radius:50%;width:32px;height:32px;transition:width 80ms cubic-bezier(.16,1,.3,1),height 80ms cubic-bezier(.16,1,.3,1),border-color 80ms,opacity 80ms;position:fixed;top:-20px;left:-20px}.cur-ring.hover{opacity:0;border-color:#0000;width:0;height:0}.cur-text{pointer-events:none;z-index:10000;opacity:0;width:90px;height:90px;transition:opacity .4s cubic-bezier(.16,1,.3,1);position:fixed;top:-45px;left:-45px}.cur-text.hover{opacity:1}.cur-text svg{width:100%;height:100%;animation:5s linear infinite rotateCurText}.cur-text svg text{font-family:var(--display);fill:#0176d3;letter-spacing:3.2px;text-transform:uppercase;font-size:11.5px;font-weight:600}@keyframes rotateCurText{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=768px){.cur-dot,.cur-ring,.cur-text{display:none}}nav{z-index:100;pointer-events:none;justify-content:space-between;align-items:center;padding:28px 48px;display:flex;position:fixed;top:0;left:0;right:0}nav>*{pointer-events:auto}.logo{font-family:var(--display);color:var(--black);letter-spacing:.01em;text-transform:uppercase;opacity:0;font-size:2.16rem;font-weight:700;animation:.7s 1.8s forwards slideDown}.nav-links{gap:32px;list-style:none;display:flex}.nav-links a{color:var(--black);letter-spacing:.1em;text-transform:uppercase;opacity:0;font-size:.7rem;font-weight:500;text-decoration:none;animation:.7s forwards slideDown;position:relative}.nav-links li:first-child a{animation-delay:1.85s}.nav-links li:nth-child(2) a{animation-delay:1.92s}.nav-links li:nth-child(3) a{animation-delay:1.99s}.nav-links li:nth-child(4) a{animation-delay:2.06s}#about{padding:140px 160px 80px 180px;position:relative;overflow:hidden}.section-watermark{font-family:var(--display);letter-spacing:-.06em;color:#0176d30a;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;font-size:clamp(8rem,16vw,18rem);font-weight:700;line-height:1;position:absolute;top:80px;right:60px}.me-intro{z-index:1;grid-template-columns:1.1fr 1fr;align-items:start;gap:0;margin-bottom:0;display:grid;position:relative}.me-heading-wrap{padding-right:80px;position:relative}.me-heading{font-family:var(--display);letter-spacing:-.04em;color:var(--black);font-size:clamp(1.98rem,2.7vw,3.06rem);font-weight:700;line-height:1.14}.me-heading em{opacity:.32;font-style:normal}.me-heading-coord{font-family:var(--body);letter-spacing:.28em;text-transform:uppercase;color:var(--grey);opacity:.35;margin-top:28px;font-size:.56rem;font-weight:400;display:block}.me-social-orbit{pointer-events:none;z-index:3;width:190px;height:190px;position:absolute;top:50%;left:75%;transform:translate(-50%,-50%)}.me-orbit-ring{pointer-events:none;border:1.2px solid #0176d324;border-radius:50%;position:absolute;inset:0}.me-social-orbit:before{content:"";background:#0176d326;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.me-social-link{pointer-events:auto;color:var(--black);will-change:transform;flex-direction:column;align-items:center;gap:6px;text-decoration:none;transition:transform .4s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;transform:translateZ(0)}.me-social-link:hover{transform:scale(1.25)translateZ(0)}.me-social-link--gh{top:-24px;left:71px}.me-social-link--be{top:119px;left:153px}.me-social-link--li{top:119px;left:-11px}.me-social-icon-ring{background:#fafafad9;border:1.2px solid #0176d333;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:border-color .3s cubic-bezier(.16,1,.3,1),background .3s,box-shadow .3s;display:flex}.me-social-link:hover .me-social-icon-ring{background:#fafafaf2;border-color:#0176d359;box-shadow:0 0 0 5px #0176d30d}.me-social-link svg{opacity:.88;flex-shrink:0;width:26px;height:26px;transition:opacity .3s}.me-social-link:hover svg{opacity:1}.me-social-link-label{font-family:var(--display);letter-spacing:.18em;text-transform:uppercase;opacity:.735;white-space:nowrap;font-size:.5rem;font-weight:500;transition:opacity .3s}.me-social-link:hover .me-social-link-label{opacity:.8}.me-intro-right{border-left:1px solid var(--light-grey);flex-direction:column;align-self:center;padding-left:60px;display:flex;position:relative}.me-intro-right:before{content:"";background:#0176d34d;border-radius:50%;width:7px;height:7px;position:absolute;top:8px;left:-3.5px;box-shadow:0 0 0 4px #0176d30f}.me-intro-text{color:var(--grey);margin:0 0 28px;font-size:.93rem;font-weight:300;line-height:1.9}.section-bridge{align-items:center;height:80px;margin:48px 0 56px;display:flex;position:relative}.bridge-line{background:linear-gradient(90deg, transparent 0%, var(--light-grey) 10%, var(--light-grey) 90%, transparent 100%);height:1px;position:absolute;top:50%;left:0;right:0}.bridge-node{background:#0176d333;border-radius:50%;width:9px;height:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 6px #0176d30a}.bridge-node:after{content:"";border:1px solid #0176d314;border-radius:50%;animation:3s ease-in-out infinite bridgePulse;position:absolute;inset:-8px}@keyframes bridgePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:0;transform:scale(1.6)}}.bridge-label{display:none}.me-experience{z-index:1;grid-template-columns:.9fr 1.1fr;align-items:start;gap:0;display:grid;position:relative}.me-timeline{padding-right:56px;position:relative}.me-timeline:before{content:"";background:linear-gradient(180deg, var(--light-grey) 0%, #0176d326 30%, #0176d326 70%, var(--light-grey) 100%);width:1px;position:absolute;top:0;bottom:0;left:0}.tl-item{cursor:pointer;margin-bottom:0;padding-left:40px;position:relative}.tl-item:last-child{margin-bottom:0}.tl-node{border:1.5px solid var(--light-grey);background:var(--white);z-index:2;border-radius:50%;width:11px;height:11px;transition:all .5s cubic-bezier(.16,1,.3,1);position:absolute;top:28px;left:-5px}.tl-node:after{content:"";background:0 0;border-radius:50%;transition:background .4s cubic-bezier(.16,1,.3,1);position:absolute;inset:2px}.tl-item.active .tl-node{border-color:var(--black);transform:scale(1.3);box-shadow:0 0 0 5px #0176d314}.tl-item.active .tl-node:after{background:var(--black)}.tl-item:hover:not(.active) .tl-node{border-color:#0176d380;transform:scale(1.1)}.tl-connector{background:var(--light-grey);pointer-events:none;width:34px;height:1px;transition:background .4s cubic-bezier(.16,1,.3,1);position:absolute;top:34px;left:6px}.tl-item.active .tl-connector{background:#0176d340}.tl-card{border-left:2px solid #0000;padding:20px 24px;transition:all .4s cubic-bezier(.16,1,.3,1);position:relative}.tl-item.active .tl-card{background:#0176d305;border-left-color:#0176d326}.tl-item:hover:not(.active) .tl-card{background:#0176d303}.tl-year{font-family:var(--display);letter-spacing:.18em;color:var(--grey);opacity:.45;font-variant-numeric:tabular-nums;align-items:center;gap:8px;margin-bottom:8px;font-size:.55rem;font-weight:400;transition:opacity .3s;display:inline-flex}.tl-year:before{content:"";background:currentColor;flex-shrink:0;width:12px;height:1px}.tl-item.active .tl-year,.tl-item:hover .tl-year{opacity:.85}.tl-company{font-family:var(--display);letter-spacing:-.03em;color:var(--black);margin-bottom:4px;font-size:1.4rem;font-weight:600;line-height:1.15;transition:transform .4s cubic-bezier(.16,1,.3,1)}.tl-item.active .tl-company{transform:translate(4px)}.tl-role{letter-spacing:.1em;text-transform:uppercase;color:var(--grey);opacity:.55;font-size:.6rem;font-weight:400;transition:opacity .3s}.tl-item.active .tl-role,.tl-item:hover .tl-role{opacity:.8}.tl-divider{background:linear-gradient(90deg, var(--light-grey) 0%, transparent 80%);height:1px;margin-left:40px}@keyframes tlSlideIn{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}.tl-item{opacity:0;animation:.65s cubic-bezier(.16,1,.3,1) forwards tlSlideIn}.tl-item:first-child{animation-delay:50ms}.tl-item:nth-child(3){animation-delay:.13s}.tl-item:nth-child(5){animation-delay:.21s}.tl-item:nth-child(7){animation-delay:.29s}.tl-divider{opacity:0;animation:.5s cubic-bezier(.16,1,.3,1) .1s forwards tlSlideIn}.me-lang-label{letter-spacing:.22em;text-transform:uppercase;color:var(--grey);opacity:.75;align-items:center;gap:10px;margin-bottom:16px;padding-top:14px;font-size:.6rem;font-weight:500;display:flex}.me-lang-label:before{content:"";background:currentColor;flex-shrink:0;width:20px;height:1px}.me-lang-row{grid-template-columns:1fr 1fr 1fr;gap:0;display:grid}.me-lang-item{border-right:1px solid var(--light-grey);cursor:default;flex-direction:column;gap:5px;padding:16px 24px 16px 0;transition:padding-left .3s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.me-lang-item:last-child{border-right:none;padding-left:24px;padding-right:0}.me-lang-item:nth-child(2){padding-left:24px}.me-lang-item:hover{opacity:.75}.me-lang-item-name{font-family:var(--display);letter-spacing:-.025em;color:var(--black);font-size:1rem;font-weight:700;line-height:1}.me-lang-item-level{letter-spacing:.16em;text-transform:uppercase;color:var(--grey);opacity:.85;font-size:.58rem;font-weight:500}.me-lang-item-bar{background:var(--light-grey);height:1.4px;margin-top:4px;position:relative;overflow:hidden}.me-lang-item-bar:after{content:"";background:#0176d3bf;position:absolute;top:0;bottom:0;left:0}.me-lang-item[data-l=native] .me-lang-item-bar:after{width:100%}.me-lang-item[data-l=professional] .me-lang-item-bar:after{width:85%}.me-lang-item[data-l=reading] .me-lang-item-bar:after{width:35%}.me-detail{border-left:1px solid var(--light-grey);padding-left:64px;position:sticky;top:100px}.me-detail-year{font-family:var(--display);letter-spacing:-.06em;color:#0176d30a;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(4rem,7vw,5.5rem);font-weight:700;line-height:1;transition:opacity .6s cubic-bezier(.16,1,.3,1);position:absolute;top:0;right:0}.me-detail-wrap{min-height:360px;position:relative}.me-detail-panel{opacity:0;pointer-events:none;transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:translateY(14px)}.me-detail-panel.active{opacity:1;pointer-events:auto;position:relative;transform:translateY(0)}.me-detail-eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--grey);opacity:.5;align-items:center;gap:10px;margin-bottom:16px;font-size:.55rem;font-weight:400;display:flex}.me-detail-eyebrow:before{content:"";background:currentColor;flex-shrink:0;width:22px;height:1px}.me-detail-desc{color:var(--grey);margin-bottom:28px;font-size:.9rem;font-weight:300;line-height:1.88}.me-detail-kicker{font-family:var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--grey);opacity:.5;margin-bottom:10px;font-size:.55rem;font-weight:600}.me-detail-stack{flex-wrap:wrap;gap:6px;margin-bottom:28px;display:flex}.stack-tag{letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--light-grey);color:var(--grey);cursor:default;padding:5px 11px;font-size:.57rem;font-weight:500;transition:border-color .25s,color .25s,background .25s}.stack-tag:hover{border-color:var(--black);color:var(--black);background:#0176d30d}.me-detail-line{background:var(--light-grey);height:1px;margin-bottom:20px}.me-detail-achievements{flex-direction:column;gap:11px;display:flex}.achievement{color:var(--grey);align-items:baseline;gap:12px;font-size:.82rem;font-weight:300;line-height:1.65;transition:color .25s,transform .25s;display:flex}.achievement:hover{color:var(--black);transform:translate(3px)}.ach-num{font-family:var(--display);letter-spacing:.08em;color:var(--black);opacity:.3;flex-shrink:0;min-width:18px;font-size:.52rem;font-weight:600}@keyframes detailIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.me-detail-panel.active .me-detail-eyebrow{animation:.5s cubic-bezier(.16,1,.3,1) 50ms both detailIn}.me-detail-panel.active .me-detail-desc{animation:.5s cubic-bezier(.16,1,.3,1) .12s both detailIn}.me-detail-panel.active .me-detail-kicker{animation:.5s cubic-bezier(.16,1,.3,1) .18s both detailIn}.me-detail-panel.active .me-detail-stack{animation:.5s cubic-bezier(.16,1,.3,1) .24s both detailIn}.me-detail-panel.active .me-detail-line{animation:.5s cubic-bezier(.16,1,.3,1) .3s both detailIn}.me-detail-panel.active .me-detail-achievements{animation:.5s cubic-bezier(.16,1,.3,1) .36s both detailIn}.nav-links a:after{content:"";background:var(--black);width:0;height:1px;transition:width .5s cubic-bezier(.65,0,.35,1);position:absolute;bottom:-3px;left:0}.nav-links a:hover:after{width:100%}.hero{grid-template-columns:1fr 1.3fr;height:100vh;padding-left:0;padding-right:0;display:grid;position:relative;overflow:visible}.hero-left{z-index:2;flex-direction:column;justify-content:flex-end;padding:240px 56px 120px 180px;display:flex;position:relative}.hero-right{position:relative;overflow:visible}#canvas3d{z-index:0;width:100vw;height:100vh;position:fixed;top:0;left:0}.hero-avail{letter-spacing:.14em;text-transform:uppercase;color:var(--grey);opacity:0;align-items:center;gap:8px;margin-bottom:16px;font-size:.62rem;font-weight:500;animation:.7s 1.85s forwards slideUp;display:inline-flex}.hero-avail-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2.4s ease-in-out infinite pulse-dot;box-shadow:0 0 0 3px #22c55e2e}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 3px #22c55e2e}50%{box-shadow:0 0 0 6px #22c55e14}}.hero-name{font-family:var(--display);letter-spacing:-.045em;margin-bottom:6px;font-size:clamp(2.8rem,5.5vw,5rem);font-weight:700;line-height:1}.hero-name .line{display:block;overflow:hidden}.hero-name .line span{opacity:0;animation:.8s forwards revealLine;display:inline-block;transform:translateY(110%)}.hero-name .line:first-child span{animation-delay:1.95s}.hero-name .line:nth-child(2) span{animation-delay:2.08s}.hero-role{letter-spacing:.1em;text-transform:uppercase;color:var(--grey);opacity:0;margin-bottom:14px;font-size:.8rem;font-weight:500;animation:.6s 2.16s forwards slideUp}.hero-divider{background:var(--light-grey);opacity:0;width:40px;height:1px;margin-bottom:14px;animation:.55s 2.2s forwards slideUp}.hero-desc{color:var(--grey);opacity:0;max-width:360px;font-size:.95rem;font-weight:400;line-height:1.75;animation:.5s 2.25s forwards slideUp}.hero-meta{opacity:0;gap:28px;margin-top:18px;margin-bottom:20px;animation:.48s 2.3s forwards slideUp;display:flex}.hero-meta-item{flex-direction:column;gap:4px;display:flex}.hero-meta-num{font-family:var(--display);letter-spacing:-.04em;color:var(--black);font-size:1.55rem;font-weight:700;line-height:1}.hero-meta-lbl{letter-spacing:.12em;text-transform:uppercase;color:var(--grey);font-size:.6rem;font-weight:500}.hero-meta-sep{background:var(--light-grey);align-self:stretch;width:1px;margin:2px 0}.accent{font-weight:700;display:inline-block;position:relative}.accent:after{content:"";z-index:-1;background:#0176d31f;height:8px;position:absolute;bottom:2px;left:-2px;right:-2px}.hero-name .accent:after{display:none}.hero-name .accent{color:var(--black);opacity:.72;letter-spacing:-.05em;font-weight:700}.hero-cta{opacity:0;align-items:center;gap:32px;margin-top:20px;animation:.45s 2.34s forwards slideUp;display:flex}.hero-cta a{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--black);border:1px solid var(--black);padding:13px 32px;font-size:.72rem;font-weight:600;text-decoration:none;transition:none;position:relative}.hero-cta a:hover{background:var(--black);color:var(--white)}.hero-cta-secondary{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--grey);align-items:center;gap:8px;font-size:.72rem;font-weight:500;text-decoration:none;display:flex}.hero-cta-secondary .arrow{transition:transform .35s cubic-bezier(.16,1,.3,1);display:inline-block}.hero-cta-secondary:hover .arrow{transform:translate(5px)}.hero-cta-line,.hero-cta-arrow{display:none}.scroll-hint{opacity:0;align-items:center;gap:12px;animation:.8s 2.55s forwards fadeIn;display:flex;position:absolute;bottom:36px;left:180px}.scroll-bar{background:var(--light-grey);width:36px;height:1px;position:relative;overflow:hidden}.scroll-bar:after{content:"";background:var(--black);width:100%;height:100%;animation:2.2s ease-in-out infinite scrollPulse;position:absolute;top:0;left:-100%}@keyframes scrollPulse{0%{left:-100%}50%{left:0}to{left:100%}}.scroll-label{letter-spacing:.16em;text-transform:uppercase;color:var(--grey);font-size:.58rem;font-weight:500}.marquee{border-top:1px solid var(--light-grey);border-bottom:1px solid var(--light-grey);z-index:1;background:var(--white);padding:36px 0;display:flex;position:relative;overflow:hidden}.marquee-inner{white-space:nowrap;will-change:transform;flex-shrink:0;gap:0;min-width:100%;animation:60s linear infinite scrollM;display:flex}.marquee-inner span{font-family:var(--display);color:var(--grey);letter-spacing:.16em;text-transform:uppercase;align-items:center;padding:0 32px;font-size:.72rem;font-weight:400;display:flex}.marquee-inner span:after{content:"◆";opacity:.5;padding-left:32px;font-size:.35rem}@keyframes scrollM{0%{transform:translate(0)}to{transform:translate(-100%)}}section{padding:70px 180px}.sec-label{letter-spacing:.2em;text-transform:uppercase;color:var(--grey);opacity:.7;align-items:center;gap:14px;margin-bottom:64px;font-size:.6rem;font-weight:500;display:flex}.sec-label:before{content:"";opacity:.6;background:#2e7ec1;flex-shrink:0;width:28px;height:1px}.work-grid{grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:20px;display:grid}.work-card{aspect-ratio:4/3;background:var(--lighter-grey);cursor:pointer;position:relative;overflow:hidden}.work-card-inner{z-index:2;flex-direction:column;justify-content:flex-end;width:100%;height:100%;padding:32px;display:flex;position:relative}.work-card .shape-bg{opacity:.06;transition:transform .9s cubic-bezier(.16,1,.3,1),opacity .7s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1)}.work-card:hover .shape-bg{opacity:.1;transform:translate(-50%,-50%)scale(1.15)}.work-num{color:var(--grey);letter-spacing:.12em;margin-bottom:6px;font-size:.62rem;font-weight:300}.work-name{font-family:var(--display);letter-spacing:-.02em;font-size:1.35rem;font-weight:600;transition:transform .6s cubic-bezier(.16,1,.3,1)}.work-card:hover .work-name{transform:translate(8px)}.work-cat{color:var(--grey);letter-spacing:.06em;margin-top:4px;font-size:.7rem;font-weight:200;transition:transform .6s cubic-bezier(.16,1,.3,1) 40ms}.work-card:hover .work-cat{transform:translate(8px)}a.work-card{color:inherit;text-decoration:none;display:block}.work-card-photo{position:relative}.work-card-photo:before{content:"";background-image:inherit;filter:saturate(80%);z-index:0;background-position:50%;background-size:cover;transition:filter .5s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scale(1)}.work-card-photo:hover:before{filter:saturate();transform:scale(1.07)}.work-arr{color:var(--grey);opacity:0;font-size:1.1rem;transition:all .5s cubic-bezier(.16,1,.3,1);position:absolute;top:32px;right:32px;transform:translate(-8px,8px)}.work-card:hover .work-arr{opacity:1;transform:translate(0)}.contact{text-align:center;padding:100px 48px 200px}.contact-title{font-family:var(--display);letter-spacing:-.04em;margin-bottom:28px;font-size:clamp(2.2rem,4.5vw,4.5rem);font-weight:700;line-height:1.12}.contact-mail{color:var(--grey);letter-spacing:.05em;font-size:.95rem;font-weight:300;text-decoration:none;display:inline-block;position:relative}.contact-mail:after{content:"";background:var(--grey);transform-origin:100%;width:100%;height:1px;transition:transform .45s cubic-bezier(.65,0,.35,1);position:absolute;bottom:-2px;left:0}.contact-mail:hover:after{transform-origin:0;transform:scaleX(0)}footer{border-top:1px solid var(--light-grey);background:var(--white);position:relative;overflow:hidden}.footer-watermark{font-family:var(--display);letter-spacing:-.05em;color:#0176d30e;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;font-size:clamp(5rem,11vw,10rem);font-weight:700;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.footer-inner{z-index:1;justify-content:space-between;align-items:center;padding:40px 72px;display:flex;position:relative}.footer-tagline{font-family:var(--display);letter-spacing:-.02em;color:var(--black);font-size:1.25rem;font-weight:700;line-height:1.2}.footer-tagline em{opacity:.42;font-style:normal}.footer-social{align-items:center;gap:36px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.footer-social a{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--black);opacity:.75;font-size:.75rem;font-weight:600;text-decoration:none;transition:opacity .25s;position:relative}.footer-social a:after{content:"";background:var(--black);width:0;height:1px;transition:width .4s cubic-bezier(.65,0,.35,1);position:absolute;bottom:-4px;left:0}.footer-social a:hover{opacity:1}.footer-social a:hover:after{width:100%}.footer-bottom{flex-shrink:0;align-items:center;gap:20px;display:flex}.footer-copy{font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--grey);font-size:.7rem;font-weight:400}.footer-avail{font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--black);align-items:center;gap:8px;font-size:.7rem;font-weight:600;display:flex}.footer-avail-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2.4s ease-in-out infinite pulse-dot;box-shadow:0 0 0 3px #22c55e2e}.rv{opacity:0;transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);transform:translateY(36px)}.rv.vis{opacity:1;transform:translateY(0)}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes revealLine{0%{opacity:0;transform:translateY(110%)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{to{opacity:1}}@media (width<=1200px){#about{padding:100px 72px 60px}.me-intro{gap:0}.me-heading{font-size:clamp(1.7rem,2.4vw,2.6rem)}.me-timeline{padding-right:32px}.me-detail{padding-left:40px}.hero-left{padding:200px 48px 100px 72px}section{padding:60px 40px}.work-grid{gap:16px}.footer-inner{padding:36px 48px}.footer-social{gap:24px}.hero-badges{gap:10px;right:24px}.hero-badge-cert div{width:82px!important;height:101px!important}}@media (width<=1024px){#about{padding:80px 40px 60px}.section-watermark{font-size:clamp(6rem,12vw,12rem)}.me-intro{grid-template-columns:1fr;gap:48px}.me-heading-wrap{padding-right:0}.me-social-orbit{display:none}.me-intro-right{border-left:none;border-top:1px solid var(--light-grey);padding-top:40px;padding-left:0}.me-intro-right:before{display:none}.me-experience{grid-template-columns:1fr}.me-timeline{margin-bottom:56px;padding-right:0}.me-detail{border-left:none;padding-left:0;position:static}.me-detail-year,.section-watermark{display:none}.hero{grid-template-columns:1fr 1fr}.hero-left{padding:160px 36px 80px 40px}.hero-desc{max-width:320px;font-size:.88rem}section{padding:60px 32px}.work-grid{grid-template-columns:1fr 1fr}.work-name{font-size:1.15rem}.work-card-inner{padding:24px}.work-arr{top:24px;right:24px}.contact{padding:80px 32px 140px}.footer-inner{flex-wrap:wrap;gap:20px;padding:32px 36px}.footer-social{border-top:1px solid var(--light-grey);order:3;justify-content:center;gap:20px;width:100%;padding-top:16px;position:static;transform:none}.footer-tagline{font-size:1.1rem}.footer-copy,.footer-avail{font-size:.62rem}.hero-badges{gap:8px;right:16px}.hero-badge-cert div{width:72px!important;height:89px!important}.hero-badge-cert div img{width:82%!important}}@media (width<=768px){nav{padding:20px 24px}.logo{display:none}.nav-links{gap:16px}.hero{grid-template-columns:1fr;height:auto;min-height:100vh}.hero-left{padding:110px 24px 60px}.hero-right{opacity:.2;position:absolute;inset:0}.hero-desc{max-width:100%}.hero-meta{flex-wrap:wrap;gap:20px}.hero-meta-num{font-size:1.3rem}.hero-cta{flex-direction:column;gap:12px}.hero-cta a{text-align:center;padding:12px 24px;font-size:.68rem}.hero-cta-secondary{border:1px solid var(--light-grey)!important}.scroll-hint{margin-top:28px;position:static}section,#about{padding:60px 24px}.me-heading{font-size:clamp(1.6rem,5vw,2.2rem);position:static}.me-intro-text{font-size:.88rem}.me-detail-wrap{min-height:auto}.section-bridge{margin:32px 0 40px}.tl-company{font-size:1.15rem}.work-grid{grid-template-columns:1fr 1fr;gap:12px}.work-card{aspect-ratio:4/3}.work-card-photo .work-card-inner,.work-card-photo .work-arr{display:none}.work-card-photo:before{filter:saturate()}.work-card-inner{padding:20px}.work-name{font-size:1rem}.work-cat{font-size:.62rem}.work-arr{font-size:.95rem;top:20px;right:20px}.contact{padding:80px 24px 120px}.contact-title{font-size:clamp(1.8rem,5vw,3rem)}footer{padding:0}.footer-inner{text-align:center;flex-direction:column;align-items:center;gap:20px;padding:32px 24px}.footer-social{border-top:1px solid var(--light-grey);flex-wrap:wrap;order:2;justify-content:center;gap:16px;padding-top:16px;position:static;transform:none}.footer-bottom{flex-direction:column;order:3;gap:10px}.footer-tagline{order:1;font-size:1rem}.footer-watermark{font-size:clamp(3rem,9vw,6rem)}.hero-badges{justify-content:center;gap:6px;left:0!important;right:0!important}.hero-badges .hero-badge-cert div{width:88px!important;height:109px!important}.hero-badges .hero-badge-cert div img{width:84%!important}.me-lang-row{grid-template-columns:1fr}.me-lang-item{border-right:none;border-bottom:1px solid var(--light-grey);padding:16px 0}.me-lang-item:nth-child(2){padding-left:0}.me-lang-item:last-child{border-bottom:none;padding-left:0}body:before,body:after{display:none}.marquee-inner span{padding:0 20px;font-size:.62rem}.sec-label{margin-bottom:40px}}@media (width<=480px){.hero-left{padding:100px 18px 50px}.hero-name{font-size:clamp(2.2rem,10vw,3rem)}.hero-role{letter-spacing:.08em;font-size:.7rem}.hero-desc{font-size:.85rem;line-height:1.65}.hero-meta{gap:16px}.hero-meta-num{font-size:1.15rem}.hero-meta-lbl{font-size:.55rem}.hero-cta{flex-direction:column;align-items:flex-start;gap:12px}.hero-cta a{text-align:center;width:100%}section,#about{padding:50px 18px}.me-heading{font-size:clamp(1.4rem,6vw,1.8rem)}.me-intro{gap:24px}.me-intro-text{font-size:.82rem;line-height:1.75}.tl-company{font-size:.95rem}.tl-role{font-size:.5rem}.me-detail-desc{font-size:.82rem;line-height:1.75}.stack-tag{padding:4px 9px;font-size:.52rem}.achievement{font-size:.76rem}.work-grid{grid-template-columns:1fr;gap:14px}.work-card-inner{padding:18px}.work-name{font-size:.95rem}.work-cat{font-size:.58rem}.work-arr{font-size:.9rem;top:18px;right:18px}.contact{padding:60px 18px 100px}.contact-title{font-size:clamp(1.5rem,7vw,2.2rem)}.contact-mail{font-size:.82rem}.footer-inner{padding:24px 18px}.footer-social a{font-size:.65rem}.footer-copy,.footer-avail{font-size:.58rem}.hero-badges .hero-badge-cert div{width:76px!important;height:94px!important}.hero-badges .hero-badge-cert div img{width:80%!important}.marquee-inner span{padding:0 14px;font-size:.55rem}.sec-label{margin-bottom:32px;font-size:.55rem}}.hero-badges{z-index:99;align-items:flex-start;gap:14px;display:flex;position:fixed;top:0;right:40px}.hero-badge-cert{opacity:0;animation:.41s cubic-bezier(.16,1,.3,1) forwards badgeDrop;transform:translateY(-100%)}.hero-badges>div:first-child{animation-delay:2.5s}.hero-badges>div:nth-child(2){animation-delay:2.62s}.hero-badges>div:nth-child(3){animation-delay:2.74s}.hero-badges>div:nth-child(4){animation-delay:2.86s}@keyframes badgeDrop{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.hero-badge a{clip-path:polygon(0 0,100% 0,100% 85%,50% 100%,0 85%);background:#0176d3;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:68px;padding:18px 0 26px;text-decoration:none;display:flex}.hero-badge svg{display:block}.hero-badge-label{font-family:var(--display);color:#fff;letter-spacing:.08em;text-transform:uppercase;font-size:.48rem;font-weight:700}.hero-badge-cert{cursor:pointer}.hero-badge-cert div{clip-path:polygon(0 0,100% 0,100% 85%,50% 100%,0 85%)!important;background-color:#0176d3!important;justify-content:center!important;align-items:center!important;width:98px!important;height:121px!important;padding:0!important;text-decoration:none!important;display:flex!important}.hero-badge-cert div img{pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important;width:88%!important;height:auto!important;margin-bottom:8px!important;display:block!important}.hero-badge-cert-ranger div img{width:96%!important;margin-top:0!important;margin-bottom:12px!important}.hero-badge-cert-agentblazer div img{width:80%!important}
