@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=DM+Sans:opsz,wght@9..40,400;9..40,500&family=JetBrains+Mono:wght@400;500&display=swap";:root{--p-bg: #090b0a;--p-surface: rgba(226, 228, 220, .03);--p-surface-2: rgba(226, 228, 220, .055);--p-surface-3: rgba(226, 228, 220, .09);--p-text: #e8e7e1;--p-muted: #a3a59e;--p-dim: #6e716b;--p-bone: #cfcbbe;--font-display: "Manrope", sans-serif;--font-body: "DM Sans", sans-serif;--font-mono: "JetBrains Mono", monospace;--ease: cubic-bezier(.16, 1, .3, 1);--sidebar: 320px}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--p-bg);color-scheme:dark}body{min-height:100vh;min-height:100dvh;background:var(--p-bg);color:var(--p-text);font-family:var(--font-body);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum"}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;text-align:left}body{position:relative}.light{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 50% 55% at 95% 0%,rgba(210,214,204,.08),transparent 65%)}.topo{position:absolute;left:0;top:0;width:100%;z-index:0;pointer-events:none;overflow:hidden}.topo canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.topo-dim{-webkit-mask-image:radial-gradient(ellipse 90% 70% at 90% 0%,#000 0%,rgba(0,0,0,.45) 55%,rgba(0,0,0,.25) 100%);mask-image:radial-gradient(ellipse 90% 70% at 90% 0%,#000,#00000073 55%,#00000040)}.topo-lit{opacity:0;transition:opacity .6s var(--ease);-webkit-mask-image:radial-gradient(circle 150px at var(--mx, -999px) var(--my, -999px),rgba(0,0,0,.8),transparent 80%);mask-image:radial-gradient(circle 150px at var(--mx, -999px) var(--my, -999px),rgba(0,0,0,.8),transparent 80%)}.topo-lit.on{opacity:.7}.vignette{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 90% 85% at 60% 35%,transparent 50%,rgba(4,5,5,.55) 100%)}.side{position:fixed;inset:0 auto 0 0;width:var(--sidebar);z-index:2;display:flex;flex-direction:column;padding:44px 36px 32px;overflow-y:auto;scrollbar-width:none}.side-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.menu-btn{display:none}.side-panel{display:contents}.main,.nav,.side-foot{transition:opacity .18s var(--ease)}.leaving .main,.fading .main,.fading .nav,.fading .side-foot{opacity:0}.grid.swap{animation:fade .38s var(--ease) both}@keyframes fade{0%{opacity:0}to{opacity:1}}.brand{display:inline-block;font-family:var(--font-display);font-weight:600;font-size:22px;letter-spacing:-.02em;padding-left:14px}.nav{margin-top:40px;display:flex;flex-direction:column;gap:2px}.group{margin-top:26px;display:flex;flex-direction:column;gap:2px}.group-label{display:flex;align-items:center;gap:10px;margin:0 0 8px 14px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--p-muted)}.group-label:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(226,228,220,.12),transparent)}.nav a{position:relative;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:12px;color:var(--p-muted);font-size:15.5px;transition:color .18s var(--ease),background .18s var(--ease)}.nav a .n{font-family:var(--font-mono);font-size:10.5px;color:var(--p-dim)}.nav a.on{color:var(--p-text);background:var(--p-surface-2)}.nav a.on:before{content:"";position:absolute;left:-2px;top:50%;margin-top:-3px;width:6px;height:6px;border-radius:50%;background:var(--p-bone);box-shadow:0 0 12px #cfcbbebf}.nav a:active{transform:scale(.98)}@media (hover:hover) and (pointer:fine){.nav a:hover{color:var(--p-text)}}.side-foot{margin-top:auto;padding-top:28px;display:flex;flex-direction:column;gap:12px}.cta-side{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-radius:16px;background:var(--p-surface-2);box-shadow:0 0 60px #d6dacd0f;transition:background .25s var(--ease)}.cta-side:hover,.cta-side.on{background:var(--p-surface-3)}.cta-side b{display:block;font-weight:500;font-size:14.5px}.cta-side span.s{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--p-muted);margin-top:2px}.cta-side i{width:6px;height:6px;border-radius:50%;background:#9fb59a;box-shadow:0 0 10px #9fb59ab3}.links{display:flex;flex-direction:column;gap:2px}.links a{display:flex;align-items:center;gap:12px;padding:8px 14px;border-radius:12px;color:var(--p-muted);font-size:14px;transition:background .18s var(--ease),color .18s var(--ease)}.links a:hover{background:var(--p-surface-2);color:var(--p-text)}.links a .h{margin-left:auto;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--p-dim)}.links svg{width:16px;height:16px;flex:none}.seg{display:inline-flex;padding:3px;border-radius:999px;background:var(--p-surface-2)}.seg button{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;padding:6px 12px;border-radius:999px;color:var(--p-muted);transition:color .18s var(--ease),background .18s var(--ease)}.seg button:hover{color:var(--p-text)}.seg button.on{background:var(--p-surface-3);color:var(--p-text)}.main{position:relative;z-index:1;margin-left:var(--sidebar);padding:52px 56px 96px;min-height:100dvh}.wrap{max-width:1240px;margin:0 auto}#view{animation:rise .56s var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--p-dim)}.eyebrow:before{content:"";width:22px;height:1px;background:#e2e4dc40}h1{margin-top:22px;font-family:var(--font-display);font-weight:500;font-size:clamp(40px,3.5vw,56px);line-height:1.06;letter-spacing:-.03em}h1 span,h2 span{color:var(--p-muted)}h2{margin-top:16px;font-family:var(--font-display);font-weight:500;font-size:clamp(28px,2.4vw,38px);line-height:1.12;letter-spacing:-.025em}.name{font-size:clamp(52px,5vw,80px);letter-spacing:-.04em;line-height:1}.role{margin-top:14px;font-family:var(--font-display);font-size:clamp(16px,1.15vw,19px);color:var(--p-muted);letter-spacing:-.01em;white-space:nowrap}.lede{margin-top:20px;max-width:54ch;color:var(--p-muted);font-size:16px;line-height:1.65}.motto{margin-top:24px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--p-bone)}.for{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border-radius:999px;background:var(--p-surface);font-size:13px;color:var(--p-muted)}.for b{font-weight:500;color:var(--p-text)}.btns{margin-top:30px;display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;font-size:14px;background:var(--p-surface);color:var(--p-text);transition:background .25s var(--ease)}.btn.primary{background:var(--p-surface-3);box-shadow:0 0 50px #d6dacd14}.btn:hover{background:var(--p-surface-3)}.btn:active{transform:scale(.97)}.visual{position:relative;border-radius:18px;overflow:hidden;color:#e2e4dc4d;background:radial-gradient(ellipse 85% 75% at 50% 115%,rgba(214,218,205,.13),transparent 70%),var(--p-surface);transition:color .4s var(--ease)}.visual svg{display:block;width:100%;height:100%}.visual .focus{fill:var(--p-bone);stroke:var(--p-bone);filter:drop-shadow(0 0 12px rgba(207,203,190,.5))}.visual .focus-line{stroke:var(--p-bone);filter:drop-shadow(0 0 8px rgba(207,203,190,.45))}.ph{display:grid;place-items:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--p-dim)}.ctx{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--p-dim)}.ctx:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--p-dim)}.ctx.freelance{color:var(--p-bone)}.ctx.freelance:before{background:var(--p-bone);box-shadow:0 0 8px #cfcbbe99}.ctx.pro:before,.ctx.aunel:before{background:var(--p-muted)}.soon{margin-left:8px;padding:2px 8px;border-radius:999px;background:var(--p-surface-2);font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--p-muted)}.home{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:72px;align-items:center;min-height:calc(100dvh - 148px)}.doors{display:flex;flex-direction:column;gap:4px;margin-top:16px}.door{position:relative;isolation:isolate;display:grid;grid-template-columns:124px 1fr auto;gap:22px;align-items:center;width:100%;padding:10px;border-radius:20px;transition:background .4s var(--ease)}.door:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;background:radial-gradient(ellipse 50% 140% at 12% 50%,rgba(214,218,205,.1),transparent 70%);opacity:0;transition:opacity .5s var(--ease)}.door .visual{aspect-ratio:16 / 10;border-radius:13px}.door h3{font-family:var(--font-display);font-weight:600;font-size:18px;letter-spacing:-.01em}.door p{margin-top:2px;color:var(--p-muted);font-size:14px;line-height:1.5}.door .who{margin-top:6px;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--p-dim)}.door .n{font-family:var(--font-mono);font-size:11px;color:var(--p-dim);padding-right:8px;transition:color .4s var(--ease)}@media (hover:hover) and (pointer:fine){.door:hover{background:var(--p-surface)}.door:hover:after{opacity:1}.door:hover .visual{color:#e2e4dc8c}.door:hover .n{color:var(--p-text)}}.page-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:56px;align-items:end}.page-head .side-r{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.filters{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--p-surface)}.filters button{font-size:13px;padding:7px 14px;border-radius:999px;color:var(--p-muted);transition:color .18s var(--ease),background .18s var(--ease)}.filters button .c{font-family:var(--font-mono);font-size:10px;color:var(--p-dim);margin-left:6px}.filters button.on{background:var(--p-surface-3);color:var(--p-text)}.grid{margin-top:40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card{position:relative;isolation:isolate;display:flex;flex-direction:column;padding:12px;border-radius:22px;width:100%;transition:background .4s var(--ease)}.card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;background:radial-gradient(ellipse 70% 60% at 50% 100%,rgba(214,218,205,.1),transparent 70%);opacity:0;transition:opacity .5s var(--ease)}.card .visual{aspect-ratio:16 / 10}.card .body{padding:14px 6px 4px}.card h3{margin-top:8px;font-family:var(--font-display);font-weight:600;font-size:17px;letter-spacing:-.01em;line-height:1.3}.card p{margin-top:4px;color:var(--p-muted);font-size:14px;line-height:1.5}.card.feat{grid-column:span 2;flex-direction:row;gap:24px;align-items:center}.card.feat .visual{flex:1.15}.card.feat .body{flex:1;padding:6px 12px 6px 0}.card.feat h3{font-size:23px;font-weight:500;letter-spacing:-.02em}.card.feat p{font-size:15px}@media (hover:hover) and (pointer:fine){.card:hover{background:var(--p-surface)}.card:hover:after{opacity:1}.card:hover .visual{color:#e2e4dc8c}}.card:active{transform:scale(.995)}.back{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--p-muted);padding:8px 14px 8px 10px;border-radius:999px;background:var(--p-surface)}.back:hover{color:var(--p-text);background:var(--p-surface-2)}.proj-head{margin-top:26px}.proj-head .ctx{font-size:10.5px}.case{margin-top:32px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:start}.media{display:flex;flex-direction:column;gap:12px}.media .main-v{aspect-ratio:4 / 3}.shots{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.shots .visual{aspect-ratio:16 / 10;border-radius:13px}.beat+.beat{margin-top:24px}.beat h4{font-family:var(--font-mono);font-weight:400;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--p-dim);margin-bottom:8px}.beat p{color:var(--p-muted);font-size:15px}.beat ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:9px 22px}.beat li{position:relative;padding-left:14px;color:var(--p-muted);font-size:14px;line-height:1.5}.beat li:before{content:"";position:absolute;left:0;top:.72em;width:6px;height:1px;background:var(--p-dim)}.result{margin-top:26px;padding:18px 22px;border-radius:18px;background:var(--p-surface);font-family:var(--font-display);font-size:19px;line-height:1.35;letter-spacing:-.01em}.result small{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--p-dim);margin-bottom:6px}.tags{margin-top:18px;display:flex;flex-wrap:wrap;gap:6px}.tag{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;padding:5px 11px;border-radius:999px;background:var(--p-surface);color:var(--p-muted)}.hire{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 12px 12px 20px;border-radius:18px;background:var(--p-surface-2)}.hire p{font-size:14.5px}.next{margin-top:72px}.next-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.pn{display:flex;gap:8px}.next .grid{margin-top:16px}.hire-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:72px;align-items:center;min-height:calc(100dvh - 148px)}.steps{margin-top:36px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.step{padding:16px 18px;border-radius:18px;background:var(--p-surface)}.step .k{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--p-dim)}.step b{display:block;margin-top:6px;font-weight:500}.step p{margin-top:4px;font-size:13px;color:var(--p-muted);line-height:1.5}.mail-box{margin-top:32px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.mail{display:inline-flex;align-items:center;padding:16px 26px;border-radius:999px;background:var(--p-surface-2);font-family:var(--font-display);font-size:20px;box-shadow:0 0 80px #d6dacd14;-webkit-user-select:all;-moz-user-select:all;user-select:all}.mail-actions{display:flex;flex-wrap:wrap;gap:8px}.services{display:flex;flex-direction:column;gap:10px;margin-top:16px}.service{padding:20px 22px;border-radius:20px;background:var(--p-surface)}.service-top{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.service h3{font-family:var(--font-display);font-weight:600;font-size:18px}.service .go{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--p-muted);white-space:nowrap}.service .go:hover{color:var(--p-text)}.service p{margin-top:4px;color:var(--p-muted);font-size:14px}.chips{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:12.5px;padding:6px 12px;border-radius:999px;background:var(--p-surface-2);color:var(--p-text);transition:background .2s var(--ease)}a.chip:hover{background:var(--p-surface-3)}.cv{margin-top:44px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:72px}.timeline{display:flex;flex-direction:column;gap:24px}.tl{display:grid;grid-template-columns:150px 1fr;gap:24px}.tl .when{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--p-dim);padding-top:4px}.tl h3{font-family:var(--font-display);font-weight:600;font-size:17px}.tl .r{color:var(--p-bone);font-size:13.5px}.tl p{margin-top:4px;color:var(--p-muted);font-size:14px}.skills{display:flex;flex-direction:column;gap:22px}.skills .k{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--p-dim);margin-bottom:8px}.skills .v{display:flex;flex-wrap:wrap;gap:6px}@media (prefers-reduced-motion: reduce){.side-panel>*{transform:none!important}#view{animation-duration:1ms}*{transition-duration:1ms!important}}@media (max-width: 1180px){:root{--sidebar: 272px}.side{padding:36px 24px 28px}.home,.page-head,.case,.cv,.hire-page{grid-template-columns:1fr;gap:40px;min-height:0}.role{white-space:normal}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.side{position:sticky;top:0;z-index:20;width:auto;padding:14px 16px;overflow:visible;background:#090b0aeb}.side-top .brand{flex:1;padding-left:0}.menu-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:999px;background:var(--p-surface-3);font-size:14px;font-weight:500}.menu-btn:active{transform:scale(.97)}.side-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;display:flex;flex-direction:column;padding:88px 16px 32px;overflow-y:auto;background:var(--p-bg);opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility 0s linear .3s}.side-panel>*{transform:translateY(10px);transition:transform .42s var(--ease)}.side.open .side-panel{opacity:1;visibility:visible;transition:opacity .3s var(--ease)}.side.open .side-panel>*{transform:none}.side-panel .nav{margin-top:0;gap:4px}.side-panel .group{margin-top:22px;gap:4px}.side-panel .nav a{min-height:52px;padding:14px 16px;font-size:18px;background:var(--p-surface)}.side-panel .nav a.on{background:var(--p-surface-3)}.side-panel .nav a.on:before{display:none}.side-panel .side-foot{margin-top:28px;padding-top:0}.side-panel .cta-side{min-height:56px}.side-panel .links a{min-height:48px}.main{margin-left:0;padding:32px 16px 80px}.grid{grid-template-columns:1fr}.card.feat{grid-column:auto;flex-direction:column;align-items:stretch}.card.feat .visual{flex:none}.beat ul,.steps{grid-template-columns:1fr}.tl{grid-template-columns:1fr;gap:4px}.next-head{flex-direction:column;align-items:flex-start}}
