*{margin:0;padding:0;box-sizing:border-box}:root{--black: #0a0a0a;--white: #fafafa;--gray: #666;--gray-light: #999;--gray-border: #e0e0e0;--display-font: "Clash Display", sans-serif}html{scroll-behavior:smooth}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--white);color:var(--black);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::selection{background:var(--black);color:var(--white)}a{color:inherit;text-decoration:none}nav{position:fixed;top:0;left:0;right:0;padding:24px 48px;display:flex;justify-content:space-between;align-items:center;z-index:100;mix-blend-mode:difference}nav .logo{font-weight:600;font-size:14px;letter-spacing:.05em;color:var(--white)}nav .nav-links{display:flex;gap:32px}nav .nav-links a{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--white);transition:opacity .3s ease}nav .nav-links a:hover{opacity:.5}section{min-height:100vh;padding:120px 48px;display:flex;flex-direction:column;justify-content:center}.section-header{margin-bottom:80px}.section-title{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);margin-bottom:16px}.section-heading{font-family:var(--display-font);font-size:clamp(32px,5vw,56px);font-weight:500;letter-spacing:-.02em;line-height:1.1;max-width:600px}.hero{padding-top:0;padding-bottom:0}.hero-content{max-width:1200px}.hero h1{font-family:var(--display-font);font-size:clamp(48px,12vw,140px);font-weight:500;letter-spacing:-.04em;line-height:.92;margin-bottom:48px}.hero h1 span{display:block}.hero-subtitle{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:32px}.hero-role{font-size:13px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--black)}.hero-location{font-size:13px;letter-spacing:.1em;color:var(--gray)}.hero-divider{width:40px;height:2px;background:var(--black)}.scroll-indicator{display:none;position:fixed;bottom:32px;left:50%;transform:translate(-50%);z-index:30;color:var(--gray);animation:scroll-bounce 2s ease-in-out infinite;transition:opacity .3s ease}.scroll-indicator svg{width:28px;height:28px}@keyframes scroll-bounce{0%,to{transform:translate(-50%) translateY(0);opacity:.6}50%{transform:translate(-50%) translateY(8px);opacity:1}}@media(max-width:1024px){.scroll-indicator{display:block}}.scroll-indicator.hidden{opacity:0;pointer-events:none}.about{background:var(--black);color:var(--white)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1200px}.about-text p{font-size:20px;line-height:1.7;font-weight:300;margin-bottom:24px}.about-text p:last-child{margin-bottom:0}.about-stats{display:flex;flex-direction:column;justify-content:center}.stat{padding:32px 0;border-bottom:1px solid rgba(255,255,255,.15)}.stat:first-child{border-top:1px solid rgba(255,255,255,.15)}.stat-number{font-family:var(--display-font);font-size:48px;font-weight:600;letter-spacing:-.02em;margin-bottom:8px}.stat-label{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--gray-light)}.journey-sidebar{position:fixed;left:0;top:0;bottom:0;width:140px;display:flex;align-items:center;z-index:50;pointer-events:none;opacity:0;transition:opacity .4s ease}.journey-sidebar.visible{opacity:1}.journey-progress{position:absolute;left:32px;top:20%;bottom:20%;width:2px;background:#00000014}.journey-progress-fill{position:absolute;top:0;left:0;width:100%;height:0%;background:var(--black)}.journey-markers{position:absolute;left:32px;top:20%;bottom:20%;display:flex;flex-direction:column;justify-content:space-between;pointer-events:auto}.journey-marker{display:flex;flex-direction:column;padding-left:16px;opacity:.25;transition:opacity .3s ease;cursor:pointer}.journey-marker:hover{opacity:.6}.journey-marker.active{opacity:1}.journey-marker-past{opacity:.15;cursor:default}.journey-marker-past:hover{opacity:.15}.marker-year{font-size:10px;letter-spacing:.1em;color:var(--gray)}.marker-city{font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--black)}.experience{padding-top:160px;padding-bottom:160px;min-height:auto;padding-left:160px}.experience-timeline{max-width:1000px}@media(max-width:1024px){.experience{padding-left:48px}}@media(max-width:768px){.experience{padding-left:24px}}.city-block{margin-bottom:80px}.city-block:last-child{margin-bottom:0}.city-header{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:24px;border-bottom:1px solid var(--gray-border);margin-bottom:32px}.city-name{font-family:var(--display-font);font-size:clamp(28px,4vw,40px);font-weight:500;letter-spacing:-.02em}.city-period{font-size:13px;color:var(--gray);letter-spacing:.05em}.city-content{padding-left:0}.work-item{display:grid;grid-template-columns:1fr 2fr 1fr;gap:40px;padding:32px 0;border-bottom:1px solid var(--gray-border);align-items:start;transition:opacity .3s ease}.city-content:hover .work-item{opacity:.4}.city-content:hover .work-item:hover{opacity:1}.work-header{display:flex;flex-direction:column}.work-company{font-family:var(--display-font);font-size:22px;font-weight:500;letter-spacing:-.01em}.work-location{font-size:13px;color:var(--gray-light);margin-top:4px}.work-description{font-size:15px;color:var(--gray);line-height:1.7}.work-meta{text-align:right;display:flex;flex-direction:column;gap:4px}.work-role{font-size:13px}.work-period{font-size:12px;color:var(--gray-light)}.milestone{display:flex;align-items:center;gap:12px;padding:20px 0;border-bottom:1px solid var(--gray-border)}.milestone-icon{font-size:6px;color:var(--gray)}.milestone-text{font-size:14px;font-style:italic;color:var(--gray);flex:1}.milestone-date{font-size:12px;color:var(--gray-light)}.skills{background:var(--black);color:var(--white);padding-top:160px;padding-bottom:160px;min-height:auto}.skills-content{max-width:1200px}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:48px}.skill-group h3{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray-light);margin-bottom:24px;font-weight:400}.skill-group ul{list-style:none}.skill-group li{font-size:15px;font-weight:300;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}.beyond{padding-top:160px;padding-bottom:160px;min-height:auto;position:relative;overflow:hidden}.beyond-content{max-width:800px;position:relative;z-index:2}.beyond-text{font-size:clamp(24px,4vw,36px);font-weight:400;line-height:1.5;letter-spacing:-.01em;color:var(--black)}.beyond-photos{position:absolute;inset:0;pointer-events:none;z-index:1}.beyond-photo{position:absolute;border-radius:8px;box-shadow:0 20px 60px #00000026;object-fit:cover;opacity:.9;transition:transform .4s ease,opacity .4s ease}.beyond-photo:hover{transform:scale(1.02) rotate(0)!important;opacity:1;pointer-events:auto}.beyond-photo-1{width:200px;height:260px;top:10%;right:5%;transform:rotate(4deg);z-index:4}.beyond-photo-2{width:180px;height:220px;top:45%;right:3%;transform:rotate(-3deg);z-index:2}.beyond-photo-3{width:240px;height:180px;top:15%;right:18%;transform:rotate(-5deg);z-index:1}.beyond-photo-4{width:265px;height:198px;top:45%;right:20%;transform:rotate(3deg);z-index:3}@media(max-width:1200px){.beyond-photo-1{width:160px;height:210px;right:3%}.beyond-photo-2{width:140px;height:175px;right:1%}.beyond-photo-3{width:160px;height:120px;right:12%}.beyond-photo-4{width:180px;height:135px;right:8%}}@media(max-width:768px){.beyond-photos{position:relative;display:flex;gap:16px;margin-top:48px;overflow-x:auto;padding:16px 0}.beyond-photo{position:relative;inset:auto!important;transform:none!important;flex-shrink:0;width:200px;height:150px}}.contact{background:var(--black);color:var(--white);min-height:60vh}.contact-content{max-width:1200px;width:100%}.contact-heading{font-family:var(--display-font);font-size:clamp(36px,8vw,80px);font-weight:600;letter-spacing:-.03em;margin-bottom:64px}.contact-links{display:flex;gap:64px;flex-wrap:wrap}.contact-link{display:block}.contact-label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray-light);margin-bottom:8px}.contact-value{font-size:18px;font-weight:400;position:relative}.contact-value:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--white);transition:width .3s ease}.contact-link:hover .contact-value:after{width:100%}footer{background:var(--black);color:var(--gray-light);padding:48px;display:flex;justify-content:space-between;font-size:12px;border-top:1px solid rgba(255,255,255,.1)}@media(max-width:1024px){.about-grid{grid-template-columns:1fr;gap:64px}.skills-grid{grid-template-columns:repeat(2,1fr)}.work-item{grid-template-columns:1fr 1fr}.work-meta{text-align:left;grid-column:1 / -1;order:-1;display:flex;flex-direction:row;gap:16px}.journey-sidebar{display:none}}@media(max-width:768px){nav{padding:20px 24px}nav .nav-links{display:none}section{padding:80px 24px}.hero h1{margin-bottom:32px}.hero-subtitle{flex-direction:column;align-items:flex-start;gap:12px}.hero-divider{display:none}.city-block{margin-bottom:60px}.city-header{flex-direction:column;gap:8px}.city-name{font-size:28px}.work-item{grid-template-columns:1fr;gap:16px}.work-meta{flex-direction:column;gap:4px}.milestone{flex-wrap:wrap}.milestone-date{width:100%;margin-left:18px;margin-top:4px}.skills-grid{grid-template-columns:1fr;gap:40px}.contact-links{flex-direction:column;gap:32px}footer{flex-direction:column;gap:16px;padding:32px 24px}}.code-to-app{position:absolute;right:5%;top:50%;transform:translateY(-50%);z-index:40;pointer-events:none;display:flex;align-items:center;justify-content:flex-end;gap:0}.code-display{background:linear-gradient(145deg,#1e1e2e,#181825);border-radius:16px;overflow:hidden;min-width:420px;max-width:480px;box-shadow:0 25px 50px -12px #0006,0 0 0 1px #ffffff0d;transform:translate(60px)}.code-header{display:flex;align-items:center;gap:8px;padding:14px 18px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.05)}.code-dot{width:12px;height:12px;border-radius:50%}.code-dot.red{background:#ff5f57}.code-dot.yellow{background:#febc2e}.code-dot.green{background:#28c840}.code-filename{margin-left:auto;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:12px;color:#fff6;letter-spacing:.02em}.code-content{padding:24px;margin:0;background:transparent}.code-text{font-family:SF Mono,Fira Code,JetBrains Mono,Consolas,monospace;font-size:14px;line-height:1.7;color:#cdd6f4;white-space:pre;display:block;letter-spacing:.01em}.code-text .keyword{color:#cba6f7}.code-text .string{color:#a6e3a1}.code-text .function{color:#89b4fa}.code-text .component{color:#f9e2af}.code-text .property{color:#fab387}.code-text .comment{color:#6c7086}.code-text .bracket{color:#bac2de}.code-text .punctuation{color:#9399b2}.code-text .tag{color:#89b4fa}.code-text .attr{color:#89dceb}.code-text .number{color:#fab387}.code-text .type{color:#f9e2af}.code-text .cursor{display:inline-block;width:2px;height:1.2em;background:#f5e0dc;margin-left:2px;vertical-align:text-bottom;animation:cursor-blink 1s step-end infinite}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.iphone-frame{width:280px;height:607px;position:relative;opacity:0;flex-shrink:0;transform:translate(-60px)}.wireframe-svg{width:100%;height:100%;filter:drop-shadow(0 20px 40px rgba(0,0,0,.15))}.wire{stroke:#2d37484d;fill:none;stroke-dasharray:3000;stroke-dashoffset:3000;stroke-linecap:round;stroke-linejoin:round}.wire-phone{stroke:#2d374880;stroke-width:2}.wire-island{stroke:#2d3748b3;stroke-width:2;fill:#2d374814}.wire-status-time,.wire-status-signal,.wire-status-wifi,.wire-status-battery{stroke:#2d374859;stroke-width:1.5}.wire-search{stroke:#2d374840;stroke-width:1.5;fill:#2d374808}.wire-search-icon{stroke:#2d374866;stroke-width:1.5}.wire-search-text{stroke:#2d374840;stroke-width:2}.wire-card-1,.wire-card-2,.wire-card-3{stroke:#2d374833;stroke-width:1.5;fill:#2d374805}.wire-card-1-img,.wire-card-2-img,.wire-card-3-img{stroke:#2d374840;stroke-width:1.5;fill:#2d37480d}.wire-card-1-title,.wire-card-2-title,.wire-card-3-title{stroke:#2d374880;stroke-width:2}.wire-card-1-sub,.wire-card-2-sub,.wire-card-3-sub{stroke:#2d37484d;stroke-width:1.5}.wire-card-1-desc,.wire-card-2-meta,.wire-card-3-meta{stroke:#2d374833;stroke-width:1}.wire-card-1-btn{stroke:#6366f180;stroke-width:1.5;fill:#6366f114}.wire-card-2-action,.wire-card-3-action{stroke:#6366f166;stroke-width:1.5}.wire-mini-1,.wire-mini-2,.wire-mini-3{stroke:#2d37482e;stroke-width:1.5;fill:#2d374805}.wire-fab{stroke:#6366f199;stroke-width:2;fill:#6366f11a}.wire-fab-plus-h,.wire-fab-plus-v{stroke:#6366f199;stroke-width:2}.wire-tabbar-border{stroke:#2d374826;stroke-width:1}.wire-tab-1,.wire-tab-2,.wire-tab-3,.wire-tab-4,.wire-tab-5{stroke:#2d37484d;stroke-width:1.5}.wire-tab-1{stroke:#6366f180;fill:#6366f11a}.wire-tab-1-label,.wire-tab-2-label,.wire-tab-3-label,.wire-tab-4-label,.wire-tab-5-label{stroke:#2d374833;stroke-width:1.5}.wire-tab-1-label{stroke:#6366f166}.wire-section-title{stroke:#2d374866;stroke-width:2}.wire-home-indicator{stroke:#2d374880;stroke-width:2;fill:#2d374826}@media(max-width:1400px){.code-display{min-width:360px;max-width:400px}.code-text{font-size:12px}.iphone-frame{width:240px;height:522px}}@media(max-width:1024px){.code-to-app{position:fixed!important;right:auto!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:320px;height:500px}.code-display{min-width:280px!important;max-width:320px!important;position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important}.code-text{font-size:10px}.iphone-frame{width:200px!important;height:434px!important;position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important}}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.hero-name{display:block;perspective:1000px}.hero-name .char,.section-heading .char{display:inline-block;will-change:transform,opacity}.beyond-text .word{display:inline-block;will-change:color;color:var(--gray-light)}.hero-divider{transform-origin:left center}.work-item{will-change:transform,opacity}.stat-number{font-variant-numeric:tabular-nums}.skill-group li,.contact-link{will-change:transform,opacity}@media(prefers-reduced-motion:reduce){.hero-name .char,.section-heading .char{opacity:1!important;transform:none!important}.beyond-text .word{color:var(--black)!important}}
