:root{color-scheme:light;font-family:Inter Tight,Inter,system-ui,sans-serif;font-synthesis:none;--max: 1320px;--serif: "Instrument Serif", Georgia, serif;--mono: "JetBrains Mono", ui-monospace, monospace;--bg: #e9e9e4;--surface: rgba(243, 243, 239, .95);--surface-solid: #f3f3ef;--nav-bg: rgba(233, 233, 228, .72);--text-hi: #0d0e11;--text-1: #15161a;--text-2: #3b3d44;--text-3: #575a62;--text-4: #6d7078;--invert: #f3f3ef;--line: rgba(13, 14, 17, .14);--line-strong: rgba(13, 14, 17, .32);--tint: rgba(13, 14, 17, .045);--accent: #2b38ff;--accent-ink: #ffffff;--accent-soft: rgba(43, 56, 255, .12);--shadow: rgba(13, 14, 17, .12);--noise-opacity: .035}:root[data-theme=dark]{color-scheme:dark;--bg: #07080a;--surface: rgba(14, 15, 18, .93);--surface-solid: #101114;--nav-bg: rgba(7, 8, 10, .66);--text-hi: #f4f5ef;--text-1: #e8e9e3;--text-2: #c2c4bd;--text-3: #9fa29a;--text-4: #858880;--invert: #07080a;--line: rgba(232, 233, 227, .13);--line-strong: rgba(232, 233, 227, .3);--tint: rgba(232, 233, 227, .05);--accent: #d2ff3c;--accent-ink: #07080a;--accent-soft: rgba(210, 255, 60, .12);--shadow: rgba(0, 0, 0, .5);--noise-opacity: .05}*{box-sizing:border-box}html{background:var(--bg);scroll-padding-top:96px}body{margin:0;color:var(--text-1);overflow-x:clip;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:20px;z-index:1000;padding:12px 18px;color:var(--invert);background:var(--text-hi)}.skip-link:focus{top:20px}.noise{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:var(--noise-opacity);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}.scene{position:fixed;inset:0;z-index:-2;pointer-events:none}.scene canvas{display:block}.section-pad{width:min(calc(100% - 64px),var(--max));margin-inline:auto}.progress-rail{position:fixed;top:50%;right:22px;z-index:120;width:1px;height:34vh;transform:translateY(-50%);background:var(--line)}.progress-rail i{position:absolute;inset:0;display:block;transform-origin:top;background:var(--accent)}.intro{position:fixed;inset:0;z-index:300;pointer-events:none}.intro-sheet{position:absolute;inset:0;background:var(--text-hi)}.intro-mark{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:18px;color:var(--invert)}.intro-mark span{font:italic 400 76px/1 var(--serif)}.intro-mark svg{width:160px;height:24px;overflow:visible}.intro-mark path{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linejoin:round}.nav-shell{position:fixed;z-index:100;top:0;left:0;right:0;height:76px;padding:0 clamp(20px,3.4vw,48px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid transparent;transition:background .4s,border-color .4s,height .4s}.nav-shell.scrolled{height:64px;background:var(--nav-bg);border-color:var(--line);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}.brand{display:inline-flex;align-items:flex-end;gap:4px;color:var(--text-hi)}.brand span{font:italic 400 34px/.8 var(--serif);letter-spacing:-.02em}.brand i{width:7px;height:7px;margin-bottom:1px;background:var(--accent)}.desktop-nav{display:flex;gap:clamp(22px,3vw,44px);font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}.desktop-nav a{display:block;overflow:hidden;height:1.2em}.roll{display:grid;transition:transform .55s cubic-bezier(.16,1,.3,1)}.roll>span{display:block;height:1.2em;line-height:1.2em}.roll>span+span{color:var(--accent)}.desktop-nav a:hover .roll{transform:translateY(-1.2em)}.nav-actions{display:flex;align-items:center;gap:10px}.theme-toggle{width:40px;height:40px;padding:0;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;color:var(--text-hi);background:transparent;cursor:pointer;transition:background .25s,color .25s,border-color .25s}.theme-toggle:hover{background:var(--text-hi);color:var(--invert);border-color:var(--text-hi)}.theme-toggle span{display:grid;place-items:center}.nav-cta{height:40px;padding:0 18px;display:inline-flex;align-items:center;gap:8px;border-radius:999px;color:var(--accent-ink);background:var(--accent);font-size:13px;font-weight:600;transition:transform .3s cubic-bezier(.16,1,.3,1)}.nav-cta:hover{transform:translateY(-2px)}.menu-button{display:none;width:44px;height:44px;padding:0;border:0;color:var(--text-hi);background:none}.mobile-nav{display:none}.hero{position:relative;min-height:100svh;display:flex;flex-direction:column}.hero-inner{flex:1;position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:4vh;padding:112px 0 clamp(96px,16vh,170px)}.hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 40px;padding-bottom:18px;border-bottom:1px solid var(--line);font:500 11px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.hero-identity{display:flex;align-items:baseline;gap:12px}.hero-identity strong{color:var(--text-hi);font:600 13px/1 Inter Tight,sans-serif;letter-spacing:-.01em;text-transform:none}.hero-identity i{font-style:normal}.availability{display:flex;align-items:center;gap:10px}.availability i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 var(--accent);animation:ping 2.4s cubic-bezier(.16,1,.3,1) infinite}@keyframes ping{0%{box-shadow:0 0 0 0 var(--accent-soft)}70%,to{box-shadow:0 0 0 10px transparent}}.hero-side-note{margin-left:auto}.hero h1{align-self:center;margin:0;color:var(--text-hi);font-size:clamp(64px,11.2vw,190px);font-weight:700;line-height:.9;letter-spacing:-.065em;word-spacing:.1em}.hline{display:block;white-space:nowrap;will-change:transform}.hline-b{padding-left:.9em}.hword{display:inline-block;overflow:clip;padding:.06em .08em .14em;margin:-.06em -.08em -.14em;vertical-align:top}.hchar{display:inline-block;transform-origin:0% 100%}.hero h1 .accent{display:inline-block;transform-origin:0% 100%;color:var(--accent);font:italic 400 1.08em/.83 var(--serif);letter-spacing:-.02em}.hero-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}.hero-foot p,.contact-body p{text-shadow:0 0 14px var(--bg),0 0 6px var(--bg),0 0 2px var(--bg)}.hero-foot p{max-width:520px;margin:0;color:var(--text-2);font-size:clamp(16px,1.3vw,19px);line-height:1.6}.hero-actions{display:flex;gap:12px;flex:none}.button{min-height:56px;padding:0 26px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:999px;border:1px solid var(--text-hi);font-size:15px;font-weight:600;letter-spacing:-.01em;cursor:pointer;position:relative;overflow:hidden;isolation:isolate;transition:color .45s cubic-bezier(.16,1,.3,1),border-color .45s}.button:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--accent);transform:translateY(101%);border-radius:inherit;transition:transform .55s cubic-bezier(.16,1,.3,1)}.button.primary{color:var(--invert);background:var(--text-hi)}.button.primary:hover{color:var(--accent-ink);border-color:var(--accent)}.button:hover:before{transform:translateY(0)}.button.big{min-height:68px;padding:0 34px;font-size:17px}.scroll-cue{position:absolute;left:50%;bottom:28px;transform:translate(-50%);display:grid;justify-items:center;gap:12px;font:500 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}.scroll-cue i{width:34px;height:52px;display:grid;place-items:start center;padding-top:8px;border:1px solid var(--line-strong);border-radius:999px;font-style:normal;color:var(--text-hi)}.scroll-cue i svg{animation:drop 1.8s cubic-bezier(.65,0,.35,1) infinite}@keyframes drop{0%{transform:translateY(-4px);opacity:0}30%{opacity:1}to{transform:translateY(18px);opacity:0}}.section-number{display:inline-flex;align-items:center;gap:12px;color:var(--text-3);font:500 11px/1 var(--mono);letter-spacing:.14em}.section-number:before{content:"";width:28px;height:1px;background:var(--accent)}.section-heading h2{margin:22px 0 0;color:var(--text-hi);font-size:clamp(46px,6.4vw,104px);font-weight:700;line-height:.95;letter-spacing:-.055em}.section-heading h2 em,.contact h2 em{font:italic 400 1.06em/.95 var(--serif);letter-spacing:-.02em;color:var(--text-3)}.scrub .word{display:inline-block;overflow:clip;padding:.04em .06em .16em;margin:-.04em -.06em -.16em;vertical-align:top}.scrub .char{display:inline-block;transform-origin:0% 100%}.service-card{position:relative;height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:40px;padding:clamp(26px,2.6vw,40px);border:1px solid var(--line-strong);background:var(--surface);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow:hidden}.service-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(420px circle at var(--mx, 80%) var(--my, 0%),var(--accent-soft),transparent 60%);opacity:0;transition:opacity .4s}.tilt-card:hover .service-card:after{opacity:1}.service-num{color:transparent;-webkit-text-stroke:1px var(--line-strong);font:700 clamp(110px,12vw,200px)/.8 "Inter Tight",sans-serif;letter-spacing:-.07em;transition:-webkit-text-stroke-color .4s,color .4s}.tilt-card:hover .service-num{-webkit-text-stroke-color:var(--accent)}.service-card h3{margin:0 0 14px;color:var(--text-hi);font-size:clamp(24px,2.1vw,34px);font-weight:600;letter-spacing:-.035em}.service-card p{margin:0;color:var(--text-2);font-size:16px;line-height:1.65}.tilt-card{height:100%;perspective:1000px}.tilt-card>*{transform:rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .5s cubic-bezier(.16,1,.3,1)}.about.rail{position:relative;height:340vh}.rail-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center;perspective:1400px}.rail-track{display:flex;align-items:center;gap:4vw;padding:64px 30vw 0 max(32px,calc((100vw - var(--max)) / 2));transform-style:preserve-3d;will-change:transform}.rail-head{flex:none;width:min(46vw,640px)}.rail-card{flex:none;width:min(36vw,520px);height:min(66vh,620px);transform-style:preserve-3d}.about.stacked{padding:120px 0 60px}.about.stacked .service-grid{display:grid;gap:22px;margin-top:56px}.unfold{perspective:1200px}.unfold>div{transform-origin:50% 0%}.skills-section{position:relative;height:380vh}.skills-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column}.skills-sticky .section-heading{padding-top:104px;position:relative;z-index:2}.depth{position:relative;flex:1;perspective:900px;perspective-origin:50% 40%;transform-style:preserve-3d}.plane{position:absolute;left:50%;top:52%;width:min(1100px,88vw);display:grid;justify-items:center;gap:26px;text-align:center;will-change:transform,opacity}.plane-label{display:inline-flex;align-items:center;gap:12px;padding:8px 14px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--text-2);font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}.plane-label b{color:var(--accent);font-weight:500}.plane ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.1em .5em;color:var(--text-hi);font-size:clamp(40px,6.6vw,112px);font-weight:700;line-height:1;letter-spacing:-.055em}.plane li{position:relative}.plane li:nth-child(2n){font:italic 400 1.06em/1 var(--serif);letter-spacing:-.02em;color:var(--text-3)}.plane li:not(:last-child):after{content:"";display:inline-block;width:.14em;height:.14em;margin-left:.25em;vertical-align:.12em;border-radius:50%;background:var(--accent)}.skills-section.flat{height:auto;padding:120px 0}.skills-section.flat .skills-sticky{position:static;height:auto;overflow:visible}.skills-section.flat .depth{display:grid;gap:80px;margin-top:60px;perspective:none}.skills-section.flat .plane{position:static;width:auto;transform:none;margin:auto}.contact{position:relative;padding:22vh 0 120px;text-align:center}.contact-intro{transform-origin:50% 100%}.contact .section-number{justify-content:center}.contact h2{margin:26px 0 0;color:var(--text-hi);font-size:clamp(50px,8.4vw,150px);font-weight:700;line-height:.92;letter-spacing:-.06em}.contact h2 em{color:var(--accent)}.contact-body{display:grid;justify-items:center}.contact-body p{max-width:560px;margin:40px auto 0;color:var(--text-2);font-size:clamp(16px,1.3vw,19px);line-height:1.65}.contact-actions{margin-top:44px}.social-links{display:flex;justify-content:center;gap:28px;margin-top:34px}.social-links a{display:inline-flex;align-items:center;gap:9px;padding-bottom:4px;color:var(--text-2);font-size:14px;font-weight:500;background:linear-gradient(var(--accent),var(--accent)) left bottom / 0% 1px no-repeat;transition:background-size .5s cubic-bezier(.16,1,.3,1),color .3s}.social-links a:hover{color:var(--text-hi);background-size:100% 1px}footer{width:min(calc(100% - 64px),var(--max));margin:0 auto;padding:28px 0 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);color:var(--text-3);font:500 11px/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase}footer p{margin:0}footer p a{color:var(--text-hi);border-bottom:1px solid var(--accent)}footer>a:last-child{display:inline-flex;align-items:center;gap:6px;color:var(--text-hi)}footer .brand span{font-size:28px}.cursor{position:fixed;inset:0;z-index:400;pointer-events:none;mix-blend-mode:difference}.cursor-disc{position:absolute;top:0;left:0;opacity:0;transition:opacity .3s}.cursor-disc i{display:block;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#fff;transition:transform .45s cubic-bezier(.16,1,.3,1)}.has-cursor .cursor-disc{opacity:1}.cursor-disc.hot i{transform:scale(4.4)}.cursor-disc.press i{transform:scale(.7)}.cursor-disc.hot.press i{transform:scale(3.6)}@media(max-width:980px){.desktop-nav,.nav-actions{display:none}.menu-button{display:grid;place-items:center}.mobile-nav{position:fixed;inset:0 0 auto;z-index:-1;display:grid;gap:4px;padding:96px 24px 36px;background:var(--bg);border-bottom:1px solid var(--line)}.mobile-nav a{display:flex;align-items:baseline;gap:16px;padding:10px 0;color:var(--text-hi);font-size:44px;font-weight:700;letter-spacing:-.05em}.mobile-nav span{color:var(--accent);font:500 12px/1 var(--mono);letter-spacing:.1em}.mobile-nav:after{content:"";display:block}.progress-rail{right:10px}}@media(max-width:720px){.section-pad,footer{width:calc(100% - 40px)}.hero-inner{padding-top:96px;gap:28px}.hero-meta{gap:10px 22px;font-size:10px}.hero-side-note{margin-left:0}.hero h1{font-size:clamp(54px,16.5vw,96px);letter-spacing:-.06em}.hline{white-space:normal}.hline-b{padding-left:0}.hero-foot{flex-direction:column;align-items:flex-start}.scroll-cue{display:none}.service-num{font-size:96px}.skills-sticky .section-heading{padding-top:88px}.plane ul{font-size:clamp(34px,10.5vw,60px)}.contact{padding-top:16vh}.button.big{min-height:60px;padding:0 24px;font-size:15px}footer{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}.hline,.rail-track,.plane{will-change:auto}}
