.nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:998;opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}.nav-overlay.open{opacity:1;pointer-events:all}.nav-drawer{position:fixed;top:0;right:0;width:min(400px,85vw);height:100vh;background:var(--bg-secondary);z-index:999;transform:translate(100%);transition:transform .5s var(--ease);display:flex;flex-direction:column;padding:80px 48px 48px;border-left:1px solid var(--border)}.nav-drawer.open{transform:translate(0)}.nav-drawer a{font-family:var(--font-display);font-size:2rem;color:var(--text-secondary);text-decoration:none;padding:16px 0;border-bottom:1px solid var(--border);transition:all .3s var(--ease);cursor:pointer;display:flex;align-items:center;gap:12px}.nav-drawer a:hover,.nav-drawer a.active{color:var(--accent);padding-left:12px}.nav-drawer .nav-num{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted)}.nav-cv-btn{margin-top:auto;display:flex;align-items:center;gap:10px;font-family:var(--font-body)!important;font-size:.9rem!important;font-weight:500;color:var(--accent)!important;border-bottom:none!important;letter-spacing:.08em;text-transform:uppercase}@media (max-width: 768px){.nav-drawer{padding:80px 28px 28px}.nav-drawer a{font-size:1.5rem}}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;padding:24px 40px;display:flex;justify-content:space-between;align-items:center;transition:background .3s,backdrop-filter .3s}.site-header.scrolled{background:#0a0a0fd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.logo{width:48px;height:48px;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease)}.logo:hover{border-color:var(--accent);color:var(--accent)}.menu-btn{width:48px;height:48px;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease);z-index:1000}.menu-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}@media (max-width: 768px){.site-header{padding:16px 20px}}.site-footer{padding:60px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px}.footer-name{font-family:var(--font-display);font-size:1.1rem}.footer-copy{font-size:.8rem;color:var(--text-muted);margin-top:4px}.footer-socials{display:flex;gap:12px}.footer-socials a{width:40px;height:40px;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .3s var(--ease)}.footer-socials a:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}@media (max-width: 768px){.site-footer{padding:40px 24px}}.intro-section{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:80px;padding:120px 60px 80px;position:relative}.intro-content{max-width:640px}.intro-label{font-family:var(--font-mono);font-size:.8rem;color:var(--accent);letter-spacing:.15em;text-transform:uppercase;margin-bottom:20px;display:flex;align-items:center;gap:12px}.intro-label:before{content:"";width:40px;height:1px;background:var(--accent)}.intro-name{font-family:var(--font-display);font-size:clamp(3rem,7vw,5.5rem);font-weight:700;line-height:1.05;margin-bottom:24px;letter-spacing:-.02em}.intro-name .accent{color:var(--accent);font-style:italic}.intro-bio{font-size:1.1rem;color:var(--text-secondary);line-height:1.7;max-width:520px;margin-bottom:48px}.intro-scroll-cue{display:flex;align-items:center;gap:12px}.intro-scroll-cue span{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase}.scroll-line{width:40px;height:1px;background:var(--text-muted);position:relative;overflow:hidden}.scroll-line-fill{position:absolute;left:-100%;top:0;width:100%;height:100%;background:var(--accent);animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%,to{left:-100%}50%{left:100%}}.intro-constellation{position:relative;width:500px;height:500px;flex-shrink:0;border:1px solid var(--border);border-radius:12px;overflow:visible;touch-action:none}.constellation-label{position:absolute;top:-9px;left:16px;font-family:var(--font-mono);font-size:.65rem;color:var(--text-muted);background:var(--bg-primary);padding:0 8px;letter-spacing:.1em;text-transform:uppercase;z-index:5;pointer-events:none}.constellation-node{position:absolute;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:grab;-webkit-user-select:none;user-select:none;will-change:transform;transition:box-shadow .2s;font-family:var(--font-mono);font-weight:500}.constellation-node:active{cursor:grabbing}.constellation-node:hover{z-index:10}.constellation-node-label{position:absolute;bottom:-18px;left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:9px;color:var(--text-muted);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s}.constellation-node:hover .constellation-node-label{opacity:1}.constellation-lines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}@media (max-width: 768px){.intro-constellation{display:none}}.carousel-wrapper{position:relative}.carousel-section{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center}.carousel-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.carousel-bg-layer{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:0;transition:opacity .8s ease}.carousel-bg-layer.active{opacity:1}.carousel-bg-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#0e0e18,#1a1a2e,#111118)}.carousel-bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,#0a0a0f4d,#0a0a0fbf);z-index:1}.carousel-center{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;gap:28px}.carousel-number{font-family:var(--font-display);font-size:clamp(4rem,8vw,7rem);font-weight:700;color:transparent;-webkit-text-stroke:1px var(--border-light);line-height:1;-webkit-user-select:none;user-select:none;animation:numFade .6s ease both}@keyframes numFade{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.block-container{position:relative;width:clamp(240px,32vw,380px);height:clamp(240px,32vw,380px)}.block-frame{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid var(--accent-dim);border-radius:16px;transition:transform .9s cubic-bezier(.34,1.56,.64,1);will-change:transform}.block-frame:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:1px solid var(--accent-glow);border-radius:17px;opacity:.5}.block-image-area{position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:12px;overflow:hidden}.block-slide{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .6s ease}.block-slide.active{opacity:1}.block-slide img{width:100%;height:100%;object-fit:cover;object-position:center 20%}.block-slide-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--bg-secondary),var(--bg-card));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;position:relative}.block-slide-placeholder:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px dashed var(--border-light);border-radius:12px;margin:16px;opacity:.5}.bsp-icon{color:var(--accent-dim);opacity:.6}.bsp-label{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase}.carousel-bg-grid{width:100%;height:100%;display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:2px}.bg-grid-cell{overflow:hidden}.bg-grid-cell img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.4);transition:filter .6s ease}.carousel-bg-layer.active .bg-grid-cell img{filter:brightness(.35)}.block-terminal{width:100%;height:100%;background:linear-gradient(135deg,var(--bg-secondary),var(--bg-card));display:flex;flex-direction:column;padding:16px;overflow:hidden}.term-header{display:flex;align-items:center;gap:6px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border)}.term-dot{width:8px;height:8px;border-radius:50%}.term-title{font-family:var(--font-mono);font-size:.6rem;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;margin-left:auto}.term-body{flex:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:5px;overflow:hidden}.term-line{font-family:var(--font-mono);font-size:.68rem;line-height:1.6;color:var(--text-secondary);white-space:nowrap;overflow:hidden}.term-prompt{color:var(--accent)}.term-active .term-cmd{color:var(--text-primary)}.term-success{color:#47a248}.term-cursor{display:inline-block;width:7px;height:13px;background:var(--accent);vertical-align:middle;margin-left:2px;animation:termBlink 1s step-end infinite}@keyframes termBlink{0%,to{opacity:1}50%{opacity:0}}.carousel-info{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 28px;border-radius:12px;background:#0a0a0f8c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.04)}.carousel-name{font-family:var(--font-display);font-size:1.6rem;font-weight:700;animation:labelUp .5s ease both;text-shadow:0 2px 8px rgba(0,0,0,.5)}.carousel-subtitle{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary);letter-spacing:.06em;animation:labelUp .5s ease .05s both;text-shadow:0 2px 8px rgba(0,0,0,.5)}.carousel-skill{font-family:var(--font-display);font-size:1.1rem;font-style:italic;color:var(--text-secondary);animation:labelUp .5s ease .05s both}@keyframes labelUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.carousel-dots{display:flex;align-items:center;gap:10px;margin-top:4px}.cdot{width:28px;height:3px;border:none;border-radius:2px;background:var(--border);cursor:pointer;padding:0;transition:all .4s ease}.cdot.active{width:44px;background:var(--accent)}.cdot:hover:not(.active){background:var(--accent-dim)}.cdot-counter{font-family:var(--font-mono);font-size:.78rem;color:var(--text-muted);margin-left:6px}.home-cta{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:80px 60px;text-align:center}.cta-text{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.5rem);font-style:italic;color:var(--text-secondary);line-height:1.5}.cta-text span{color:var(--accent)}@media (max-width: 768px){.intro-section{padding:120px 24px 60px}.block-container{width:220px;height:220px}.carousel-number{font-size:3.5rem}.home-cta{padding:60px 24px;min-height:40vh}}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.skill-bar-group{display:flex;flex-direction:column;gap:32px}.skill-item label{display:flex;justify-content:space-between;font-family:var(--font-body);font-weight:500;font-size:.95rem;margin-bottom:10px;color:var(--text-primary)}.skill-item label span{font-family:var(--font-mono);font-size:.8rem;color:var(--accent)}.skill-track{height:4px;background:var(--border);border-radius:2px;overflow:hidden}.skill-fill{height:100%;background:linear-gradient(90deg,var(--accent-dim),var(--accent));border-radius:2px;transition:width 1.2s var(--ease)}.skills-about{padding:40px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card)}.skills-about h3{font-family:var(--font-display);font-size:1.5rem;margin-bottom:16px}.skills-about p{color:var(--text-secondary);line-height:1.7}@media (max-width: 768px){.skills-grid{grid-template-columns:1fr}}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.filter-pill{padding:8px 20px;border-radius:24px;background:transparent;border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-body);font-size:.82rem;font-weight:500;cursor:pointer;transition:all .25s var(--ease);letter-spacing:.02em}.filter-pill:hover{border-color:var(--accent-dim);color:var(--text-primary)}.filter-pill.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.project-count{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);margin-bottom:28px;letter-spacing:.05em}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px}.portfolio-card{position:relative;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--bg-card);cursor:pointer;transition:all .4s var(--ease)}.portfolio-card:hover{border-color:var(--accent-dim);transform:translateY(-5px);box-shadow:0 20px 60px #00000059}.card-image{width:100%;height:200px;position:relative;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.portfolio-card:hover .card-image img{transform:scale(1.05)}.card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:transform .6s var(--ease)}.portfolio-card:hover .card-image-placeholder{transform:scale(1.05)}.placeholder-diamond{width:40px;height:40px;border:1.5px solid var(--project-color, var(--accent-dim));opacity:.35;border-radius:10px;transform:rotate(45deg);transition:all .5s cubic-bezier(.34,1.56,.64,1)}.portfolio-card:hover .placeholder-diamond{transform:rotate(90deg);opacity:.6}.card-tags{position:absolute;top:12px;left:12px;display:flex;gap:6px;flex-wrap:wrap}.card-tag{font-family:var(--font-mono);font-size:.55rem;color:var(--project-color, var(--accent));background:#0a0a0fd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:3px 10px;border-radius:20px;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(255,255,255,.06)}.card-hover-hint{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;opacity:0;transition:opacity .3s ease;display:flex;align-items:center;justify-content:center}.portfolio-card:hover .card-hover-hint{opacity:1}.card-hover-hint span{font-family:var(--font-mono);font-size:.75rem;color:var(--project-color, var(--accent));letter-spacing:.12em;text-transform:uppercase;padding:8px 20px;border:1px solid var(--project-color, var(--accent));border-radius:6px;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.card-body{padding:20px 22px 16px}.card-body-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.card-body h3{font-family:var(--font-display);font-size:1.15rem;transition:color .3s}.portfolio-card:hover .card-body h3{color:var(--project-color, var(--accent))}.card-period{font-family:var(--font-mono);font-size:.6rem;color:var(--text-muted);flex-shrink:0;margin-left:8px}.card-body p{font-size:.82rem;color:var(--text-secondary);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-tech-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.card-tech-mini{font-size:.58rem;font-family:var(--font-mono);color:var(--text-muted);background:#ffffff08;padding:2px 7px;border-radius:4px;border:1px solid rgba(255,255,255,.04)}.card-tech-more{font-size:.58rem;font-family:var(--font-mono)}.card-expand{max-height:0;overflow:hidden;transition:max-height .4s var(--ease),padding .4s var(--ease);padding:0 22px;border-top:0px solid transparent}.portfolio-card:hover .card-expand{max-height:120px;padding:14px 22px 18px;border-top:1px solid var(--border)}.card-expand-metrics{display:flex;gap:16px;margin-bottom:10px}.card-expand-metric{display:flex;flex-direction:column;align-items:center}.cem-value{font-family:var(--font-display);font-size:1.1rem;font-weight:700;line-height:1}.cem-label{font-family:var(--font-mono);font-size:.5rem;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:3px}.card-expand-cta{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.68rem;color:var(--project-color, var(--accent));letter-spacing:.04em;opacity:.85}.card-accent-line{height:2px;background:linear-gradient(90deg,transparent,var(--project-color, var(--accent)),transparent);opacity:0;transition:opacity .4s}.portfolio-card:hover .card-accent-line{opacity:.5}.projects-empty{text-align:center;padding:80px 20px;color:var(--text-muted);font-family:var(--font-mono);font-size:.85rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0000;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);transition:all .3s ease;display:flex;align-items:center;justify-content:center;padding:24px;cursor:pointer;pointer-events:none}.modal-overlay.open{background:#000000c7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:all}.modal-panel{width:100%;max-width:800px;max-height:88vh;overflow-y:auto;background:var(--bg-secondary);border-radius:20px;border:1px solid rgba(255,255,255,.06);box-shadow:0 40px 100px #0009;transform:translateY(30px) scale(.96);opacity:0;transition:all .35s cubic-bezier(.25,.1,.25,1);cursor:default;position:relative}.modal-panel.open{transform:translateY(0) scale(1);opacity:1}.modal-accent{height:3px;background:linear-gradient(90deg,transparent,var(--project-color, var(--accent)),transparent);border-radius:20px 20px 0 0}.modal-close{position:sticky;top:16px;float:right;margin-right:20px;width:36px;height:36px;border-radius:50%;background:#16161fe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:10}.modal-close:hover{color:var(--text-primary);border-color:#ffffff4d}.modal-inner{padding:32px 40px 36px}.modal-tags-row{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.modal-tag{font-family:var(--font-mono);font-size:.6rem;padding:3px 10px;border-radius:20px;letter-spacing:.08em;text-transform:uppercase;border:1px solid}.modal-period{font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted)}.modal-title{font-family:var(--font-display);font-size:2.1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;line-height:1.15;margin-bottom:10px}.modal-desc{font-size:.92rem;color:var(--text-secondary);line-height:1.7;max-width:620px}.modal-metrics{display:flex;gap:10px;margin:24px 0;flex-wrap:wrap}.metric-block{display:flex;flex-direction:column;align-items:center;padding:14px 18px;background:#ffffff05;border-radius:12px;border:1px solid rgba(255,255,255,.05);min-width:85px;flex:1}.metric-value{font-family:var(--font-display);font-size:1.4rem;font-weight:700;line-height:1}.metric-label{font-family:var(--font-mono);font-size:.55rem;color:var(--text-secondary);letter-spacing:.1em;text-transform:uppercase;margin-top:5px}.modal-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);margin:24px 0}.modal-section{margin-bottom:28px}.modal-section-title{font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted);letter-spacing:.15em;text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:10px}.section-line{width:20px;height:1px;display:inline-block}.modal-bullets{display:flex;flex-direction:column;gap:12px}.modal-bullet{display:flex;gap:12px;opacity:0;transform:translate(-10px);transition:all .35s ease}.modal-bullet.visible{opacity:1;transform:translate(0)}.bullet-marker{font-family:var(--font-mono);font-size:.68rem;margin-top:4px;flex-shrink:0;opacity:.7}.modal-bullet p{font-size:.86rem;color:#c0c0cc;line-height:1.6}.modal-tech{display:flex;flex-wrap:wrap;gap:8px}.tech-pill{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.72rem;font-family:var(--font-mono);letter-spacing:.04em;border:1px solid;white-space:nowrap}.modal-actions{display:flex;gap:12px;flex-wrap:wrap}.modal-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:10px;font-family:var(--font-body);font-size:.85rem;font-weight:500;text-decoration:none;letter-spacing:.03em;transition:all .25s ease;cursor:pointer}.modal-btn-outline{background:transparent;border:1px solid}.modal-btn-outline:hover{background:#ffffff0a}.modal-btn-solid{border:none;color:var(--bg-primary);font-weight:600}.modal-btn-solid:hover{opacity:.9;transform:translateY(-1px)}@media (max-width: 768px){.portfolio-grid{grid-template-columns:1fr}.modal-inner{padding:24px 24px 28px}.modal-title{font-size:1.6rem}.modal-metrics{gap:8px}.metric-block{min-width:70px;padding:10px 12px}.card-expand-metrics{gap:10px}}.exp-journey{position:relative;padding:3rem 0 4rem}.exp-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.exp-path-mist{fill:none;stroke:var(--accent);stroke-width:36;opacity:.015}.exp-path-bg{fill:none;stroke:var(--border);stroke-width:1;stroke-dasharray:6 8;opacity:.2}.exp-path-glow{fill:none;stroke:var(--accent);stroke-width:12;opacity:.04}.exp-path-rail{fill:none;stroke:var(--accent-dim);stroke-width:.5;opacity:.15}.exp-path-rail-l{stroke-dasharray:3 12;stroke-dashoffset:0}.exp-path-rail-r{stroke-dasharray:3 12;stroke-dashoffset:6}.exp-path-draw{fill:none;stroke:var(--accent);stroke-width:1.5;opacity:.55}.exp-traveler{fill:var(--accent);opacity:0;transition:opacity .3s}.exp-traveler-glow{fill:var(--accent);opacity:0;transition:opacity .3s;animation:exp-orb-pulse 2s ease-in-out infinite}@keyframes exp-orb-pulse{0%,to{opacity:.1}50%{opacity:.25}}.exp-stop{position:relative;z-index:2;display:flex;align-items:flex-start;margin-bottom:10rem}.exp-stop:last-child{margin-bottom:0}.exp-stop-left{justify-content:flex-start;padding-left:6%;padding-right:calc(50% + 32px)}.exp-stop-right{justify-content:flex-end;padding-right:6%;padding-left:calc(50% + 32px)}.exp-marker{position:absolute;width:22px;height:22px;border-radius:50%;border:2.5px solid var(--border);background:var(--bg-primary);z-index:3;transition:all .5s var(--ease)}.exp-marker-inner{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;background:transparent;transition:all .5s var(--ease)}.exp-stop-left .exp-marker{right:calc(50% - 60px);top:24px}.exp-stop-right .exp-marker{left:calc(50% - 60px);top:24px}.exp-revealed .exp-marker{border-color:var(--accent);box-shadow:0 0 20px var(--accent-glow),0 0 40px var(--accent-glow);animation:exp-marker-pop .5s var(--ease)}.exp-revealed .exp-marker-inner{background:var(--accent-dim)}@keyframes exp-marker-pop{0%{transform:scale(1)}50%{transform:scale(1.6)}to{transform:scale(1)}}.exp-arm{position:absolute;top:34px;height:1px;z-index:2;transform:scaleX(0);transition:transform .6s var(--ease) .15s}.exp-stop-left .exp-arm{right:calc(50% - 38px);width:calc(44% - 38px);background:linear-gradient(270deg,var(--accent-dim) 0%,transparent 100%);transform-origin:right center}.exp-stop-right .exp-arm{left:calc(50% - 38px);width:calc(44% - 38px);background:linear-gradient(90deg,var(--accent-dim) 0%,transparent 100%);transform-origin:left center}.exp-revealed .exp-arm{transform:scaleX(1)}.exp-card{position:relative;flex:1;opacity:0;transform:translateY(32px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.exp-revealed .exp-card{opacity:1;transform:translateY(0)}.exp-card:hover{transform:translateY(-4px);transition:transform .3s var(--ease)}.exp-seq{font-family:var(--font-display);font-size:6rem;font-weight:700;color:var(--accent);opacity:0;position:absolute;line-height:1;pointer-events:none;letter-spacing:-.04em;transition:opacity .8s var(--ease) .15s;z-index:1}.exp-stop-left .exp-seq,.exp-stop-right .exp-seq{right:-10px;top:-24px}.exp-revealed .exp-seq{opacity:.08}.exp-status{display:inline-block;font-family:var(--font-mono);font-size:.65rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:3px 14px;border-radius:99px;margin-bottom:10px}.exp-status-upcoming{border:1px solid var(--accent-dim);color:var(--accent)}.exp-status-current{background:var(--accent-glow);color:var(--accent);border:1px solid rgba(201,169,110,.25)}.exp-company{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;line-height:1.15;margin-bottom:4px}.exp-role{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}.exp-period{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);margin-bottom:14px}.exp-divider{width:40px;height:1px;background:linear-gradient(90deg,var(--accent-dim),transparent);margin-bottom:14px;opacity:0;transform:scaleX(0);transform-origin:left;transition:all .5s var(--ease) .25s}.exp-revealed .exp-divider{opacity:1;transform:scaleX(1)}.exp-bullets{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.exp-bullets li{font-family:var(--font-body);font-size:.84rem;color:var(--text-secondary);line-height:1.65;display:flex;gap:10px;align-items:flex-start;opacity:0;transform:translate(-10px);transition:opacity .45s var(--ease),transform .45s var(--ease)}.exp-revealed .exp-bullets li{opacity:1;transform:translate(0)}.exp-bullets li:before{content:"▹";color:var(--accent-dim);font-size:.9rem;flex-shrink:0;line-height:1.65}.exp-tags{display:flex;flex-wrap:wrap;gap:6px;opacity:0;transition:opacity .5s var(--ease) .7s}.exp-revealed .exp-tags{opacity:1}.exp-tag{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.06em;padding:3px 12px;border-radius:99px;border:1px solid var(--border);color:var(--text-muted);transition:all .3s var(--ease)}.exp-stop:hover .exp-tag{border-color:var(--accent-dim);color:var(--text-secondary)}@media (max-width: 768px){.exp-journey{padding:2rem 0}.exp-svg{display:none}.exp-stop-left,.exp-stop-right{padding-left:48px;padding-right:0;justify-content:stretch}.exp-journey:before{content:"";position:absolute;left:16px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,transparent,var(--accent-dim) 10%,var(--accent-dim) 90%,transparent)}.exp-stop-left .exp-marker{right:-48px;top:24px}.exp-stop-right .exp-marker{left:-48px;top:24px}.exp-stop-left .exp-arm{right:-46px;width:46px;background:linear-gradient(90deg,transparent 0%,var(--accent-dim) 100%);transform-origin:left center}.exp-stop-right .exp-arm{left:-46px;width:46px;background:linear-gradient(270deg,transparent 0%,var(--accent-dim) 100%);transform-origin:right center}.exp-arm{display:none}.exp-stop-left .exp-seq,.exp-stop-right .exp-seq{right:-10px;left:auto;top:-24px}.exp-company{font-size:1.4rem}.exp-stop{margin-bottom:4rem}.exp-card{opacity:0;transform:translateY(20px)}.exp-revealed .exp-card{opacity:1;transform:translateY(0)}}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.contact-info{display:flex;flex-direction:column;gap:24px}.contact-info-item{display:flex;align-items:center;gap:16px;color:var(--text-secondary);font-size:1rem;text-decoration:none;transition:color .3s}.contact-info-item:hover{color:var(--accent)}.icon-wrap{width:44px;height:44px;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s var(--ease)}.contact-info-item:hover .icon-wrap{border-color:var(--accent);background:var(--accent-glow)}.contact-cta{font-family:var(--font-display);font-size:2rem;font-style:italic;color:var(--text-secondary);margin-top:32px;line-height:1.3}.contact-form{display:flex;flex-direction:column;gap:20px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}.form-field input,.form-field textarea{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:14px 16px;color:var(--text-primary);font-family:var(--font-body);font-size:.95rem;transition:border-color .3s;outline:none;resize:vertical}.form-field input:focus,.form-field textarea:focus{border-color:var(--accent)}.form-field textarea{min-height:140px}.submit-btn{align-self:flex-start;padding:14px 36px;background:transparent;border:1px solid var(--accent);border-radius:8px;color:var(--accent);font-family:var(--font-body);font-weight:500;font-size:.95rem;cursor:pointer;display:flex;align-items:center;gap:10px;letter-spacing:.04em;transition:all .3s var(--ease)}.submit-btn:hover{background:var(--accent);color:var(--bg-primary)}@media (max-width: 768px){.contact-grid{grid-template-columns:1fr}.contact-cta{font-size:1.5rem}}:root{--bg-primary: #0a0a0f;--bg-secondary: #111118;--bg-card: #16161f;--bg-card-hover: #1e1e2a;--text-primary: #f0ede6;--text-secondary: #8a8a9a;--text-muted: #555566;--accent: #c9a96e;--accent-dim: #8a7344;--accent-glow: rgba(201, 169, 110, .15);--border: #222233;--border-light: #2a2a3d;--font-display: "Playfair Display", Georgia, serif;--font-body: "DM Sans", sans-serif;--font-mono: "JetBrains Mono", monospace;--ease: cubic-bezier(.25, .1, .25, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;min-height:100vh;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);overflow-x:clip;-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--bg-primary)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--accent-dim);border-radius:3px}a{color:inherit;text-decoration:none}.page-enter{animation:pageIn .6s var(--ease) both}@keyframes pageIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-up{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.fade-up.visible{opacity:1;transform:translateY(0)}.section{padding:120px 60px 80px;min-height:100vh}.section-header{margin-bottom:64px}.section-header .label{font-family:var(--font-mono);font-size:.75rem;color:var(--accent);letter-spacing:.15em;text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:12px}.section-header .label:before{content:"";width:40px;height:1px;background:var(--accent)}.section-header h2{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4rem);font-weight:700;letter-spacing:-.02em}.section-header p{margin-top:16px;color:var(--text-secondary);max-width:560px;line-height:1.7}@media (max-width: 768px){.section{padding:100px 24px 60px}}
