/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.hidden{display:none}.inline{display:inline}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@font-face{font-family:General Sans;src:url(/fonts/GeneralSans-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/GeneralSans-Medium.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/GeneralSans-Semibold.woff2)format("woff2");font-weight:600 800;font-display:swap}:root{color:#24272d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--paper:#eceff5;--ink:#24272d;--accent:#255ee4;--line:#cbd0db;--muted:#646d7e;--dock:#eceff5f2;--glass-tint:#eceff538;--glass-border:#24272d1f;--glass-edge:#ffffff80;--gloss:#ffffff5c;--gloss-rim:#ffffffe6;--gloss-shade:#24272d0d;--gloss-drop:#24272d40;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#eceff5;font-family:General Sans,Arial,sans-serif;font-weight:400}:root[data-theme=dark]{--accent:#7198f4;--paper:#181a1e;--ink:#e6eaf2;--line:#373b43;--muted:#a6adbb;--dock:#1e2128f2;--glass-tint:#1e2128a6;--glass-border:#ffffff1f;--glass-edge:#ffffff12;--gloss:#ffffff17;--gloss-rim:#ffffff2e;--gloss-shade:#00000040;--gloss-drop:#000000a6;color:var(--ink);background:var(--paper);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{min-width:320px;margin:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button{background:0 0;border:0}::selection{color:#fff;background:#3268e6}h1,h2,h3,h4,p{margin:0}button,a{touch-action:manipulation}img{max-width:100%}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button:disabled{cursor:default}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}html[data-motion=reduced]{scroll-behavior:auto}html{scrollbar-gutter:stable}@media (prefers-reduced-motion:reduce){html[data-motion=full]{scroll-behavior:smooth}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}.portfolio{background:var(--paper);overflow:clip}.accent{color:var(--accent)}.eyebrow{letter-spacing:1.5px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;line-height:1.6}.site-header{z-index:40;justify-content:space-between;align-items:center;height:100px;padding:0 4.5%;display:flex;position:absolute;top:0;left:0;right:0}.brand{letter-spacing:-1px;align-items:center;gap:12px;font-size:25px;font-weight:600;display:flex}.site-header>.brand{z-index:1;border:1px solid var(--line);background:var(--dock);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:50px;order:1;margin:-7px -12px;padding:7px 12px;position:fixed;top:23px;left:4.5%}.site-header>nav{order:2;margin-left:auto}.brand svg{width:45px;height:25px}.site-header nav{align-items:center;gap:36px;font-size:13px;display:flex}.site-header nav a{position:relative}.site-header nav a:after{content:"";background:var(--accent);width:0;height:1px;transition:width .2s;position:absolute;bottom:-7px;left:0}.site-header nav a:hover:after,.site-header nav a.active:after{width:100%}.site-header nav sup{color:var(--accent);padding-left:3px;font-size:9px}.contact-nav{gap:35px;display:flex}.contact-nav span{font-size:21px}.github-nav>span,.cv-nav>span:last-child{margin-left:2px;font-size:15px}.skip-link{background:var(--ink);color:#fff;z-index:100;padding:15px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:15px}.hero-journey{--hero-copy-opacity:1;--portal-opacity:0;--portal-focus:0;--scene-opacity:1;height:225svh}.hero-sticky{--lens-cx:42%;--lens-cy:50%;--lens-w:42vmin;--lens-h:27vmin;--lens-clip:ellipse(21vmin 13.5vmin at var(--lens-cx) var(--lens-cy));--portal-dx:0px;--portal-dy:0px;--portal-scale:.5;isolation:isolate;height:100svh;min-height:660px;position:sticky;top:0}.hero-grid{z-index:-1;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:absolute;inset:100px 4.5% 38px}.hero-grid:before,.hero-grid:after{content:"+";color:#8b93a3;font:14px monospace;position:absolute;bottom:-7px}.hero-grid:before{left:-4px}.hero-grid:after{right:-4px}.hero-copy{opacity:var(--hero-copy-opacity)}@keyframes lens-focus-in{0%{filter:blur(13px);opacity:0;transform:translateY(10px)}to{filter:blur();opacity:1;transform:none}}@keyframes scene-focus-in{0%{filter:blur(22px)saturate(.6)}to{filter:blur()saturate()}}.portfolio{--intro-delay:0s}.hero-eyebrow,.hero-copy h1,.hero-role,.hero-bottom>*,.site-header nav>*{animation:1.1s cubic-bezier(.22,.7,.2,1) backwards lens-focus-in;animation-delay:var(--intro-delay)}.hero-copy h1{animation-duration:1.35s;animation-delay:calc(var(--intro-delay) + .1s)}.hero-role{animation-delay:calc(var(--intro-delay) + .45s)}.hero-bottom>*{animation-delay:calc(var(--intro-delay) + .85s)}.hero-bottom>:nth-child(2){animation-delay:calc(var(--intro-delay) + .95s)}.hero-bottom>:nth-child(3){animation-delay:calc(var(--intro-delay) + 1.05s)}.site-header nav>*{animation-duration:.7s}.site-header nav>:first-child{animation-delay:calc(var(--intro-delay) + .1s)}.site-header nav>:nth-child(2){animation-delay:calc(var(--intro-delay) + .22s)}.site-header nav>:nth-child(3){animation-delay:calc(var(--intro-delay) + .34s)}.site-header nav>:nth-child(4){animation-delay:calc(var(--intro-delay) + .46s)}.site-header nav>:nth-child(5){animation-delay:calc(var(--intro-delay) + .58s)}.brand-word{display:inline-flex}.site-header>.brand{--brand-gap:12px;--brand-lens:10px;--reach:calc(var(--brand-gap) + var(--brand-lens));gap:0}.site-header .brand>svg{z-index:1;position:relative}.site-header>.brand{border-color:var(--glass-border);background:linear-gradient(180deg, var(--gloss) 0%, transparent 55%), linear-gradient(0deg, var(--gloss-shade), transparent 40%), var(--glass-tint);-webkit-backdrop-filter:blur(16px)saturate(170%);backdrop-filter:blur(16px)saturate(170%);box-shadow:inset 0 1px 0 var(--gloss-rim), inset 0 0 0 1px var(--glass-edge), inset 0 -1px 1px var(--gloss-shade), 0 10px 24px -14px var(--gloss-drop)}@property --glass-tint{syntax:"<color>";inherits:true;initial-value:#0000}@property --glass-border{syntax:"<color>";inherits:true;initial-value:#0000}@property --glass-edge{syntax:"<color>";inherits:true;initial-value:#0000}@property --gloss{syntax:"<color>";inherits:true;initial-value:#0000}@property --gloss-rim{syntax:"<color>";inherits:true;initial-value:#0000}@property --gloss-shade{syntax:"<color>";inherits:true;initial-value:#0000}@property --gloss-drop{syntax:"<color>";inherits:true;initial-value:#0000}.site-header>.brand{transition:color .35s,--glass-tint .35s,--glass-border .35s,--glass-edge .35s,--gloss .35s,--gloss-rim .35s,--gloss-shade .35s,--gloss-drop .35s}.site-header>.brand.is-inverse{color:var(--paper);--glass-tint:#1e2128a6;--glass-border:#ffffff1f;--glass-edge:#ffffff12;--gloss:#ffffff17;--gloss-rim:#ffffff2e;--gloss-shade:#00000040;--gloss-drop:#000000a6}:root[data-theme=dark] .site-header>.brand.is-inverse{--glass-tint:#eceff538;--glass-border:#24272d1f;--glass-edge:#ffffff80;--gloss:#ffffff5c;--gloss-rim:#ffffffe6;--gloss-shade:#24272d0d;--gloss-drop:#24272d40}.site-header>.brand:before{content:"";background:linear-gradient(180deg, var(--gloss-rim), transparent);opacity:.45;pointer-events:none;border-radius:50px;height:42%;position:absolute;top:2px;left:14px;right:14px}.site-header .brand-word{margin-left:var(--brand-gap);justify-content:flex-end;margin-block:-8px;padding-block:8px;position:relative;overflow:hidden}.brand-tape{flex:none;display:inline-flex;position:relative}.brand-letter{transform-origin:0 60%;display:inline-block}.brand-letter:first-child{position:relative}.brand-i-dot{background:var(--accent);border-radius:50%;width:.23em;height:.23em;position:absolute;top:.27em;left:50%;transform:translate(-50%)}.site-header .brand-word:before,.site-header .brand-word:after{content:attr(data-text);white-space:nowrap;font-kerning:none;opacity:0;pointer-events:none;position:absolute;top:8px;right:0}.site-header .brand-word:before{color:var(--accent)}.site-header .brand-word:after{color:#19c3d6}.portfolio[data-intro=off]:not(.reduced-motion) .site-header .brand-word{margin-left:calc(-1 * var(--brand-lens));width:calc(var(--word-w) + var(--reach));-webkit-mask-image:linear-gradient(to right, transparent, #000 calc(var(--brand-lens) + 2px));mask-image:linear-gradient(to right, transparent, #000 calc(var(--brand-lens) + 2px));animation:15s linear 1s infinite lens-emerge}.portfolio[data-intro=off]:not(.reduced-motion) .site-header .brand-letter{animation:15s ease-in-out infinite letter-eaten,15s linear infinite letter-squeeze;animation-delay:calc(1s + var(--letter-index) * 45ms), calc(1s + var(--push-at,0s))}.site-header .brand-letter:first-child{--push-at:.81s}.site-header .brand-letter:nth-child(2){--push-at:.725s}.site-header .brand-letter:nth-child(3){--push-at:.635s}.site-header .brand-letter:nth-child(4){--push-at:.535s}.site-header .brand-letter:nth-child(5){--push-at:.425s}.site-header .brand-letter:nth-child(6){--push-at:.3s}.site-header .brand-letter:nth-child(7){--push-at:.16s}.portfolio[data-intro=off]:not(.reduced-motion) .site-header .brand-i-dot{animation:5.6s linear .7s infinite i-dot-bounce}.portfolio[data-intro=off]:not(.reduced-motion) .site-header .brand-tape{animation:15s step-end 1s infinite brand-glitch}.portfolio[data-intro=off]:not(.reduced-motion) .site-header .brand-word:before{animation:15s step-end 1s infinite brand-glitch-a}.portfolio[data-intro=off]:not(.reduced-motion) .site-header .brand-word:after{animation:15s step-end 1s infinite brand-glitch-b}.portfolio[data-intro=off]:not(.reduced-motion) .site-header .brand>svg{animation:15s ease-in-out 1s infinite glasses-cue}.site-header>.brand.is-scrolling,.site-header>.brand.is-scrolling *,.site-header>.brand.is-scrolling :before,.site-header>.brand.is-scrolling :after{animation-play-state:paused!important}@keyframes lens-emerge{0%,42%{width:calc(var(--word-w) + var(--reach));margin-right:0;animation-timing-function:cubic-bezier(.64,0,.78,0)}45.667%,64%{width:0;margin-right:var(--brand-lens);animation-timing-function:cubic-bezier(.2,.9,.3,1.3)}64.933%,65.333%{width:calc(var(--brand-lens) + var(--peek-w) + var(--brand-gap) * .5);margin-right:0;animation-timing-function:cubic-bezier(.5,0,.2,1)}67.467%,69%{width:0;margin-right:var(--brand-lens);animation-timing-function:cubic-bezier(.2,.9,.3,1.3)}69.933%,70.333%{width:calc(var(--brand-lens) + var(--peek-w) + var(--brand-gap) * 1.1);margin-right:0;animation-timing-function:cubic-bezier(.5,0,.2,1)}72.467%,73.667%{width:0;margin-right:var(--brand-lens);animation-timing-function:cubic-bezier(.5,.1,.8,.5)}74.933%{width:calc(var(--brand-lens) + var(--out-1));margin-right:0;animation-timing-function:cubic-bezier(.5,.1,.8,.5)}76%{width:calc(var(--brand-lens) + var(--out-2));margin-right:0;animation-timing-function:cubic-bezier(.5,.1,.8,.5)}76.933%{width:calc(var(--brand-lens) + var(--out-3));margin-right:0;animation-timing-function:cubic-bezier(.5,.1,.8,.5)}77.767%{width:calc(var(--brand-lens) + var(--out-4));margin-right:0;animation-timing-function:cubic-bezier(.5,.1,.8,.5)}78.5%{width:calc(var(--brand-lens) + var(--out-5));margin-right:0;animation-timing-function:cubic-bezier(.5,.1,.8,.5)}79.167%{width:calc(var(--brand-lens) + var(--out-6));margin-right:0;animation-timing-function:cubic-bezier(.5,.1,.8,.5)}79.767%{width:calc(var(--brand-lens) + var(--out-7));margin-right:0;animation-timing-function:cubic-bezier(.5,.1,.8,.5)}80.333%{width:calc(var(--brand-lens) + var(--out-8));margin-right:0;animation-timing-function:cubic-bezier(.15,.75,.3,1)}81.4%{width:calc(var(--word-w) + var(--reach) + 3px);margin-right:0;animation-timing-function:ease-in-out}82.6%{width:calc(var(--word-w) + var(--reach) - .5px);margin-right:0;animation-timing-function:ease-in-out}83.667%,to{width:calc(var(--word-w) + var(--reach));margin-right:0}}@keyframes glasses-cue{0%,42%,46.667%,64%,67.467%,69%,72.467%,73%,83.667%,to{transform:rotate(0)scale(1)}43%{transform:rotate(0)scale(1.06,.93)}44.333%{transform:rotate(0)scale(.97,1.04)}45.333%{transform:rotate(0)scale(1.1,.88)}64.933%{transform:rotate(-5deg)scale(1.05)}66.267%{transform:rotate(1.5deg)scale(.99)}69.933%{transform:rotate(-7deg)scale(1.06)}71.267%{transform:rotate(2deg)scale(.98)}73.667%{transform:rotate(2.5deg)scale(.96)}74.933%{transform:rotate(-5deg)scale(1.05)}75.5%{transform:rotate(-2deg)scale(1.02)}76%{transform:rotate(-4deg)scale(1.04)}76.5%{transform:rotate(-2deg)scale(1.02)}76.933%{transform:rotate(-3.5deg)scale(1.035)}77.35%{transform:rotate(-1.5deg)scale(1.015)}77.767%{transform:rotate(-3.5deg)scale(1.035)}78.133%{transform:rotate(-1.5deg)scale(1.015)}78.5%{transform:rotate(-3deg)scale(1.03)}78.833%{transform:rotate(-1.5deg)scale(1.015)}79.167%{transform:rotate(-3deg)scale(1.03)}79.467%{transform:rotate(-1.5deg)scale(1.015)}79.767%{transform:rotate(-3deg)scale(1.03)}80.05%{transform:rotate(-1deg)scale(1.01)}80.333%{transform:rotate(-9deg)scale(1.08)}81.8%{transform:rotate(2deg)scale(.99)}}@keyframes letter-eaten{0%,42%{filter:blur();scale:1}44%{filter:blur(.5px);scale:1.3 .85}45.667%,47%{filter:blur(2.5px);scale:2.3 .4}48.333%,to{filter:blur();scale:1}}@keyframes letter-squeeze{0%,48.333%{transform:none}50%,74.933%{animation-timing-function:cubic-bezier(.2,.9,.35,1);transform:scale(1.12,.56)}75.4%{animation-timing-function:ease-in-out;transform:scale(.9,1.16)}75.933%{animation-timing-function:ease-in-out;transform:scale(1.04,.96)}76.6%,to{transform:none}}@keyframes i-dot-bounce{0%{animation-timing-function:cubic-bezier(.25,.1,.3,1);translate:0;scale:1}4%{animation-timing-function:cubic-bezier(.65,0,.8,.65);translate:0 -5px;scale:.94 1.08}8%{animation-timing-function:cubic-bezier(.2,.65,.4,1);translate:0;scale:1.12 .88}11%{animation-timing-function:cubic-bezier(.6,0,.8,.7);translate:0 -2px;scale:.98 1.03}15%,to{translate:0;scale:1}}@keyframes brand-glitch{0%{transform:none}23.333%{transform:translate(-2.1px,.4px)skew(-12deg)}23.578%{transform:none}23.908%{transform:translate(2.9px,-1.1px)skew(10deg)}24.238%{transform:translate(-.8px,.1px)skew(-12deg)}24.547%{transform:translate(1.8px,.5px)skew(-7deg)}24.866%{transform:none}25.235%{transform:translate(-.9px)skew(8deg)}25.333%{transform:none}84%{transform:translate(-.3px,.5px)skew(11deg)}84.281%{transform:translate(-.6px,1px)skew(0)}84.632%{transform:translate(1.1px,-.3px)skew(-8deg)}84.913%{transform:none}85.255%{transform:translate(-.3px,.9px)skew(13deg)}85.653%{transform:translate(-2.3px,.2px)skew(-11deg)}85.949%{transform:translate(2.7px,.2px)skew(-1deg)}86.307%{transform:translate(-.1px,.5px)skew(0)}86.703%{transform:translate(1.2px,-.6px)skew(-4deg)}86.8%{transform:none}}@keyframes brand-glitch-a{0%{opacity:0}23.333%{opacity:.75;clip-path:inset(68% 0 19%);transform:translate(-2.3px,-.9px)}23.578%{opacity:.75;clip-path:inset(54% 0 35%);transform:translate(-3.9px,-.8px)}23.908%{opacity:.75;clip-path:inset(37% 0 40%);transform:translate(-1.5px,-.8px)}24.238%{opacity:.75;clip-path:inset(7% 0 64%);transform:translate(-1.7px,.4px)}24.547%{opacity:.75;clip-path:inset(73% 0 8%);transform:translate(-2.8px,.8px)}24.866%{opacity:.75;clip-path:inset(43% 0);transform:translate(-4.3px,-.2px)}25.235%{opacity:.75;clip-path:inset(8% 0 56%);transform:translate(-1.3px,-.5px)}25.333%{opacity:0}84%{opacity:.75;clip-path:inset(44% 0 46%);transform:translate(-4.3px,-.3px)}84.281%{opacity:.75;clip-path:inset(21% 0 55%);transform:translate(-2.4px,-.4px)}84.632%{opacity:.75;clip-path:inset(10% 0 75%);transform:translate(-1.5px,.3px)}84.913%{opacity:.75;clip-path:inset(68% 0 11%);transform:translate(-3.1px,-.4px)}85.255%{opacity:.75;clip-path:inset(71% 0 7%);transform:translate(-2.4px,-.2px)}85.653%{opacity:.75;clip-path:inset(72% 0 14%);transform:translate(-2.9px,.9px)}85.949%{opacity:.75;clip-path:inset(14% 0 49%);transform:translate(-2.7px,1px)}86.307%{opacity:.75;clip-path:inset(26% 0 34%);transform:translate(-4.3px,-.3px)}86.703%{opacity:.75;clip-path:inset(21% 0 58%);transform:translate(-3.7px,.1px)}86.8%{opacity:0}}@keyframes brand-glitch-b{0%{opacity:0}23.333%{opacity:.75;clip-path:inset(64% 0 20%);transform:translate(1.1px,-.1px)}23.578%{opacity:.75;clip-path:inset(28% 0 42%);transform:translate(3.2px,.9px)}23.908%{opacity:.75;clip-path:inset(39% 0 34%);transform:translate(3.9px,-.6px)}24.238%{opacity:.75;clip-path:inset(54% 0 12%);transform:translate(2.1px,.2px)}24.547%{opacity:.75;clip-path:inset(57% 0 24%);transform:translate(3.1px,-.9px)}24.866%{opacity:.75;clip-path:inset(9% 0 57%);transform:translate(3px,.6px)}25.235%{opacity:.75;clip-path:inset(8% 0 81%);transform:translate(3.6px,-.4px)}25.333%{opacity:0}84%{opacity:.75;clip-path:inset(78% 0 9%);transform:translate(2.7px,-.6px)}84.281%{opacity:.75;clip-path:inset(17% 0 47%);transform:translate(2.5px,.1px)}84.632%{opacity:.75;clip-path:inset(1% 0 74%);transform:translate(3.9px,-.6px)}84.913%{opacity:.75;clip-path:inset(16% 0 52%);transform:translate(4px,.9px)}85.255%{opacity:.75;clip-path:inset(61% 0 9%);transform:translate(2.4px,-.6px)}85.653%{opacity:.75;clip-path:inset(78% 0 12%);transform:translate(1.2px,-.6px)}85.949%{opacity:.75;clip-path:inset(61% 0 14%);transform:translate(2.1px,-.7px)}86.307%{opacity:.75;clip-path:inset(69% 0 0%);transform:translate(1.1px,.1px)}86.703%{opacity:.75;clip-path:inset(64% 0 16%);transform:translate(3.2px,.2px)}86.8%{opacity:0}}.portfolio[data-intro=on] .brand-letter{opacity:0}.brand>svg{animation:lens-focus-in .7s var(--intro-delay) cubic-bezier(.22, .7, .2, 1) backwards}.hero-eyebrow{align-items:center;gap:10px;display:flex;position:absolute;top:132px;left:4.5%;right:4.5%}.status-dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.hero-edition{color:#636b7a;margin-left:auto}.hero-copy h1{letter-spacing:-.073em;text-align:center;margin:0;font-size:clamp(66px,8.5vw,142px);font-weight:500;line-height:.99;position:absolute;top:14%;left:10%;right:10%}.hero-copy h1>span{letter-spacing:-.065em;font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:400}.glasses-scene{z-index:2;animation:scene-focus-in 1.5s var(--intro-delay) cubic-bezier(.22, .7, .2, 1) both;pointer-events:none;opacity:var(--scene-opacity);position:absolute;inset:0}.glasses-scene canvas{width:100%;height:100%;display:block}.hero-bottom{z-index:4;justify-content:space-between;align-items:end;display:flex;position:absolute;bottom:70px;left:4.5%;right:4.5%}.hero-bottom p{font-size:14px;line-height:1.65}.scroll-invitation{letter-spacing:1.2px;align-items:center;gap:13px;font:9px/1.6 ui-monospace,monospace;display:flex}.scroll-circle{border:1px solid #a9b0be;border-radius:50%;place-items:center;width:43px;height:43px;font-size:20px;transition:background .2s;display:grid}.scroll-invitation:hover .scroll-circle{background:var(--accent);border-color:var(--accent);color:#fff}.hero-index{text-align:right;font:11px ui-monospace,monospace}.hero-index small{letter-spacing:1px;color:#747b8a;margin-top:12px;font-size:8px;display:block}.portal-copy{background:radial-gradient(120% 90% at var(--lens-cx) var(--lens-cy), #2c313b 0%, var(--ink) 55%, #171b24 100%), var(--ink);color:var(--paper);opacity:var(--portal-opacity);z-index:1;pointer-events:none;contain:paint;clip-path:var(--lens-clip);position:absolute;inset:0}.portal-layer{position:absolute;inset:0}.portal-inner{justify-content:center;align-items:center;gap:calc(38px * var(--portal-scale,1));transform:translate(var(--portal-dx), calc(var(--portal-dy) + 26px));flex-direction:column;display:flex;position:absolute;inset:0}.portal-field{letter-spacing:2px;color:#cdd3e0;opacity:.62;font:11px ui-monospace,monospace;position:absolute;inset:0}.portal-field span{white-space:nowrap;position:absolute}.portal-field span:first-child{top:19%;left:6%}.portal-field span:nth-child(2){top:27%;right:8%}.portal-field span:nth-child(3){bottom:24%;left:9%}.portal-field span:nth-child(4){bottom:18%;right:7%}.portal-field span:nth-child(5){top:11%;left:50%;transform:translate(-50%)}.portal-field span:nth-child(6){bottom:10%;left:50%;transform:translate(-50%)}.portal-soft{filter:blur(18px)brightness(1.3)contrast(.9);opacity:calc(1 - var(--portal-focus))}.portal-sharp{background:radial-gradient(ellipse at var(--lens-cx) var(--lens-cy), #323740 0%, var(--ink) 62%), var(--ink);opacity:var(--portal-focus)}.portal-copy p{font-size:min(clamp(60px, 8vw, 120px), calc(var(--lens-w,100vw) * .16));letter-spacing:-.042em;text-align:center;line-height:1}.portal-copy em{color:#89a3df;font-family:Georgia,serif;font-weight:400}.portal-copy .scroll-invitation{color:inherit;letter-spacing:1.2px;gap:13px;font-size:9px}.portal-copy .scroll-circle{border-color:#616876;width:43px;height:43px;font-size:20px}.portal-open .portal-sharp .scroll-invitation{pointer-events:auto}.scene-loading{text-align:center;color:#636b7a;width:100%;position:absolute;top:64%}.fallback-glasses{width:480px;height:150px;display:none;position:absolute;top:55%;left:50%;transform:translate(-50%,-50%)rotate(-8deg)}[data-fallback=true] .fallback-glasses{gap:30px;display:flex}[data-fallback=true] canvas{display:none}.fallback-glasses i{border:14px solid #23262d;border-radius:40px 40px 55px 55px;width:225px;height:145px;box-shadow:3px 8px #1116,inset 8px 8px 20px #72809c22}.fallback-glasses span{border-top:10px solid #23262d;border-radius:50%;width:43px;position:absolute;top:38px;left:219px}.work-section{--edge-l:4.5;--edge-r:4.5;--bleed-l:calc(-1% * var(--edge-l) / (1 - (var(--edge-l) + var(--edge-r)) / 100));--bleed-r:calc(-1% * var(--edge-r) / (1 - (var(--edge-l) + var(--edge-r)) / 100));padding:100px calc(var(--edge-r) * 1%) 0 calc(var(--edge-l) * 1%);padding-bottom:12vh;position:relative}.work-section:before{content:"";pointer-events:none;opacity:.34;background-image:linear-gradient(to right, transparent 49.96%, var(--line) 50%, transparent 50.04%);position:absolute;inset:0}.section-heading{border-bottom:1px solid var(--line);z-index:1;justify-content:space-between;align-items:start;padding-bottom:45px;display:flex;position:relative}.section-heading p{letter-spacing:-.8px;font-size:25px;line-height:1.4}.section-heading p span{color:#7a818f}.work-range{text-align:right;color:#646c7c}.tags{flex-wrap:wrap;gap:7px;margin-top:25px;display:flex}.tags span{border:1px solid #c0c6d1;border-radius:20px;padding:6px 10px;font-size:9px}.text-link{border-bottom:1px solid #7d8596;align-items:center;gap:38px;margin-top:32px;padding:0 0 11px;font-size:13px;display:inline-flex}.text-link span{font-size:23px;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.phone-composition,.shot-art{height:100%;transform:translateY(var(--lift,0px)) rotateX(var(--tilt,0deg));transform-style:preserve-3d;position:relative}.shot{filter:drop-shadow(0 26px 34px #0000002e)drop-shadow(0 6px 10px #0000001a);height:auto;position:absolute;top:50%;left:50%}.shot-browser .shot{width:84%;transform:translate(-50%,-50%)rotate(-4deg)}.shot-browser .shot-0:not(:last-of-type){z-index:2;width:70%;transform:translate(-60%,-38%)rotate(-5deg)}.shot-browser .shot-1{z-index:1;width:64%;transform:translate(-34%,-68%)rotate(3deg)}.shot-phone .shot{width:auto;height:84%;transform:translate(-50%,-50%)rotate(-6deg)}.shot-cutout .shot{filter:drop-shadow(0 18px 22px #0000001f);width:auto;height:76%;transform:translate(-50%,-48%)}.art-orbit{border:1px solid #ffffff65;border-radius:50%;width:530px;height:530px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.art-orbit:after{content:"";border:1px solid #fff5;border-radius:50%;position:absolute;inset:35px}.phone{color:#202736;background:#f6f7fa;border:6px solid #2a2e35;border-radius:32px;width:204px;height:409px;padding:18px 12px;position:absolute;overflow:hidden;box-shadow:14px 25px 26px #3b4f292a}.phone-camera{background:#2a2e35;border-radius:12px;width:58px;height:15px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.phone-time{margin:0 0 21px 3px;font-size:8px;font-weight:600;display:block}.main-phone{top:16%;left:47%;transform:rotate(9deg)}.main-phone>img{object-fit:contain;object-position:left;width:auto;height:27px;margin-bottom:14px}.main-phone>p{font-size:12px;line-height:1.6}.main-phone>p strong{font-weight:500}.balance-preview{background:#e5f0c4;border-radius:10px;margin-top:16px;padding:14px 12px}.balance-preview>span{letter-spacing:1px;font-size:6px;display:block}.balance-preview strong{margin:8px 0;font-size:20px;font-weight:500;display:block}.balance-line{background:linear-gradient(90deg,#739d40 70%,#c9dda7 70%);border-radius:5px;height:4px;margin-bottom:8px}.balance-preview small{font-size:7px}.phone-actions{text-align:center;justify-content:space-around;margin:15px 0;font-size:18px;display:flex}.phone-actions small{font-size:6px;display:block}.phone-banner{background:#dde2ec;border-radius:8px;padding:13px 8px;font-size:10px;position:relative}.phone-banner b{font-weight:500}.phone-banner>span{font-size:24px;position:absolute;top:14px;right:10px}.phone-nav{justify-content:space-around;margin-top:13px;font-size:13px;display:flex}.small-phone{background:#e8ecf3;top:22%;left:19%;transform:rotate(-13deg)scale(.9)}.small-phone h4{letter-spacing:-1px;font-size:25px;line-height:1.1}.package-icon{text-align:center;background:#d7e6b4;border-radius:50%;width:100px;height:100px;margin:20px auto;font-size:65px}.mini-package{border-top:1px solid #c7d0e1;padding:12px 6px;font-size:9px}.mini-package b{margin-top:5px;font-size:7px;font-weight:400;display:block}.floating-note{color:#212837;z-index:3;background:#f1f3f7;padding:13px 17px;font-size:10px;position:absolute;bottom:64px;right:25px;transform:rotate(-7deg);box-shadow:0 4px 16px #0000000b}.about-section{padding:120px 4.5% 100px}.about-top{justify-content:space-between;align-items:center;margin-bottom:60px;display:flex}.about-top svg{width:70px;height:40px}.about-grid{grid-template-columns:55% 45%;gap:0;display:grid}.about-grid h2{letter-spacing:-2.7px;font-size:clamp(38px,4.4vw,70px);font-weight:500;line-height:1.15}.about-grid h2>span{color:#707a8f;font-family:Georgia,serif;font-style:italic;font-weight:400}.about-copy{max-width:500px;padding-left:20px}.about-copy p{color:#687081;margin-bottom:20px;font-size:16px;line-height:1.8}.about-copy em{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:1.08em}.about-copy p:first-child{color:var(--ink);font-size:20px;line-height:1.6}.experience{grid-template-columns:28% 72%;margin-top:65px;display:grid}.experience>.eyebrow{padding-top:15px}.experience-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1.15fr 1fr;align-items:center;gap:12px;padding:20px 0;font-size:11px;display:grid}.experience-row h3{font-size:13px;font-weight:500}.experience-row>span{color:#6b7487}.experience-row>span:last-child{text-align:right;font-family:ui-monospace,monospace;font-size:9px}.contact-section{background:var(--ink);color:var(--paper);isolation:isolate;padding:45px 4.5% 115px;position:relative}.contact-top{color:#9aa3b5;justify-content:space-between;display:flex}.contact-section>p{color:#9aa3b5;margin-top:90px;font-size:16px}.contact-section h2{letter-spacing:-.055em;margin:22px 0 75px;font-size:clamp(65px,9.5vw,160px);font-weight:400;line-height:1.05;position:relative}.contact-section h2 em{color:#829ddc;font-family:Georgia,serif;font-weight:400}.contact-section h2>a{border:1px solid #5a6272;border-radius:50%;place-items:center;width:160px;height:160px;font-size:95px;transition:background .2s;display:grid;position:absolute;top:20%;right:3%}.contact-section h2>a:hover{background:var(--accent)}.contact-bottom{border-top:1px solid #434a59;justify-content:space-between;padding-top:30px;font-size:14px;display:flex}.contact-bottom>a:not(:first-child){color:#a5adbe;font-size:12px}.contact-bottom>span{color:#a5adbe;font-size:11px}dialog{background:var(--paper);width:min(640px,100% - 32px);max-height:85svh;color:var(--ink);border:0;margin:auto;padding:0;position:fixed;inset:0;box-shadow:0 20px 100px #0003}dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1d222bd9}.dialog-content{padding:55px;position:relative}.close-dialog{padding:8px;font-size:32px;line-height:1;position:absolute;top:10px;right:18px}.dialog-content h2{letter-spacing:-2px;margin:20px 0;font-size:45px}.dialog-content>p{color:#616b7f;font-size:15px;line-height:1.7}.dialog-content h3{margin:30px 0 10px;font-size:13px}.dialog-content ul{color:#5a6376;padding-left:18px;font-size:13px;line-height:1.8;list-style:outside}.dialog-content li{margin-bottom:8px;padding-left:5px}.dialog-content .dialog-note{margin-top:35px;font-size:10px}.reduced-motion .hero-journey{height:100svh;min-height:660px}.reduced-motion .hero-sticky{position:relative}.reduced-motion .portal-copy{display:none}.reduced-motion .work-section .showcase{position:relative;top:auto;transform:none}.reduced-motion *{scroll-behavior:auto;transition:none!important;animation:none!important}@media (width>=1600px){.phone-composition{width:800px;max-width:100%;margin:auto}.hero-copy h1{top:14%}.phone{top:24%}.main-phone{left:48%}.small-phone{left:22%}}@media (width<=1000px){.hero-copy h1{font-size:10vw;top:18%}.hero-edition{font-size:8px}.phone-composition{transform:translateY(var(--lift,0px)) scale(.87);transform-origin:50%;width:115%;left:-7.5%}.small-phone{left:9%}.main-phone{left:44%}.floating-note{bottom:55px;right:12px}.experience{grid-template-columns:24% 76%}.experience-row{grid-template-columns:1fr 1fr}.experience-row>span:last-child{text-align:left;grid-column:2}.contact-section h2>a{width:115px;height:115px;font-size:65px}.about-copy p{font-size:14px}.about-copy p:first-child{font-size:17px}.about-grid h2{font-size:42px}.section-heading p{font-size:21px}.work-range{font-size:8px}}@media (width<=640px){.site-header{height:82px;padding:0 6%}.site-header>.brand{--brand-gap:7px;--brand-lens:7.5px;top:18px;left:6%}.brand{gap:7px;font-size:21px}.brand svg{width:35px}.site-header nav{gap:12px;font-size:11px}.contact-nav{gap:8px}.contact-nav span{font-size:17px}.site-header nav sup,.cv-nav-long{display:none}.hero-grid{inset:82px 6% 25px}.hero-eyebrow{letter-spacing:.9px;gap:7px;font-size:7px;top:107px;left:6%}.hero-edition{display:none}.hero-sticky{min-height:660px}.hero-copy h1{letter-spacing:-4px;font-size:14vw;line-height:1.05;top:18%;left:5%;right:5%}.hero-journey{height:195svh}.hero-bottom{align-items:end;bottom:53px;left:6%;right:6%}.hero-bottom p{max-width:200px;font-size:11px;line-height:1.7}.hero-index{display:none}.scroll-invitation{letter-spacing:1px;gap:8px;font-size:6px}.scroll-circle{width:33px;height:33px;font-size:15px}.hero-bottom .desktop-break{display:none}.portal-copy p{font-size:min(64px, calc(var(--lens-w,100vw) * .16))}.fallback-glasses{transform:translate(-50%,-50%)rotate(-8deg)scale(.63)}.work-section{--edge-l:6;--edge-r:6;padding:65px 6% 0}.section-heading{padding-bottom:28px;display:block}.section-heading p{margin-top:22px;font-size:25px}.work-range{display:none}.tags{margin-top:20px}.tags span{padding:5px 9px;font-size:8px}.text-link{gap:35px;margin-top:24px;padding-bottom:7px;font-size:12px}.phone-composition{transform:translateY(var(--lift,0px)) scale(.82);width:122%;top:-4%;left:-11%}.main-phone{top:16%;left:44%}.small-phone{top:20%;left:10%}.floating-note{font-size:9px;bottom:22px;right:22px}.about-section{padding:75px 6% 65px}.about-top{margin-bottom:35px}.about-top svg{width:50px}.about-grid{display:block}.about-grid h2{letter-spacing:-2px;font-size:41px}.about-copy{margin-top:30px;padding:0}.about-copy p:first-child{font-size:18px}.experience{margin-top:40px;display:block}.experience>div{margin-top:15px}.experience-row{grid-template-columns:1fr 1.1fr;gap:8px;padding:18px 0;font-size:10px}.experience-row h3{font-size:12px}.experience-row>span:last-child{font-size:8px}.contact-section{padding:30px 6% 105px}.contact-top{font-size:8px}.contact-top>span:last-child{display:none}.contact-section>p{margin-top:65px;font-size:13px}.contact-section h2{margin-bottom:65px;font-size:16vw}.contact-section h2>a{width:54px;height:54px;font-size:32px;top:29%;right:0}.contact-bottom{flex-wrap:wrap;gap:20px;padding-top:22px;font-size:11px}.contact-bottom>a:not(:first-child){font-size:10px}.contact-bottom>span{order:3;width:100%;font-size:9px}.dialog-content{padding:40px 25px}.dialog-content h2{font-size:37px}.dialog-content>.eyebrow{font-size:8px}.dialog-content>p{font-size:13px}.dialog-content ul{font-size:12px}}@media (width<=480px){.site-header .github-nav{display:none}}@media (width<=390px){.site-header nav a:nth-child(2){display:none}.site-header .brand{--brand-lens:6.3px;font-size:18px}.site-header .brand svg{width:29px}}:root[data-theme=dark] .hero-grid:before,:root[data-theme=dark] .hero-grid:after{color:#818998}:root[data-theme=dark] .hero-edition,:root[data-theme=dark] .scene-loading,:root[data-theme=dark] .hero-index small,:root[data-theme=dark] .section-heading p span,:root[data-theme=dark] .work-range,:root[data-theme=dark] .about-grid h2>span,:root[data-theme=dark] .about-copy p,:root[data-theme=dark] .experience-row>span,:root[data-theme=dark] .contact-bottom>span,:root[data-theme=dark] .dialog-content>p,:root[data-theme=dark] .dialog-content ul{color:var(--muted)}:root[data-theme=dark] .portal-copy,:root[data-theme=dark] .portal-sharp{background:radial-gradient(ellipse at var(--lens-cx) var(--lens-cy), #323740, #111318 75%);color:#eceff5}:root[data-theme=dark] .glasses-scene canvas{filter:invert(.82)hue-rotate(180deg)}:root[data-theme=dark] .fallback-glasses i,:root[data-theme=dark] .fallback-glasses span{border-color:#d8dde7}:root[data-theme=dark] .tags span{border-color:var(--line)}:root[data-theme=dark] .text-link,:root[data-theme=dark] .project-detail-link{border-color:#787f8e}:root[data-theme=dark] .contact-section{color:#20242b;background:#dadfea}:root[data-theme=dark] .contact-top,:root[data-theme=dark] .contact-section>p,:root[data-theme=dark] .contact-bottom>a:not(:first-child){color:#545a67}:root[data-theme=dark] .contact-section h2 em{color:#294ea6}:root[data-theme=dark] .contact-bottom,:root[data-theme=dark] .contact-section h2>a{border-color:#a2a9b6}:root[data-theme=dark] dialog{box-shadow:0 20px 100px #0008}[data-settle]{--settle:0;--settle-reach:1}@media (width<=900px){[data-settle]{--settle-reach:.42}}.section-heading>*,.showcase-details>*,.showcase-details .tags span,.about-grid>*,.about-copy>*,.experience>*,.experience-row,.contact-section>*,.contact-top>*,.contact-bottom>*{transform:translate(calc(var(--sx,0px) * var(--settle,0) * var(--settle-reach,1)), calc(var(--sy,0px) * var(--settle,0) * var(--settle-reach,1)))}.section-heading>:first-child{--sx:-27px;--sy:13px}.section-heading>:nth-child(2){--sx:41px;--sy:-9px}.section-heading>:nth-child(3){--sx:15px;--sy:24px}.about-grid>:first-child{--sx:-31px;--sy:17px}.about-grid>:nth-child(2){--sx:36px;--sy:-11px}.about-copy>:first-child{--sx:23px}.about-copy>:nth-child(2){--sx:-14px;--sy:9px}.about-copy>:nth-child(3){--sx:30px;--sy:-6px}.about-copy>:nth-child(4){--sx:-9px;--sy:14px}.about-copy>:nth-child(5){--sx:26px;--sy:-8px}.experience>:first-child{--sx:-22px;--sy:12px}.experience-row:nth-child(odd){--sx:34px;--sy:-5px}.experience-row:nth-child(2n){--sx:-17px;--sy:9px}.experience-row:nth-child(3n){--sx:46px;--sy:7px}.contact-section>:nth-child(2){--sx:29px;--sy:-12px}.contact-section>:nth-child(3){--sx:-24px;--sy:16px}.contact-top>:first-child{--sx:-18px;--sy:11px}.contact-top>:nth-child(2){--sx:33px;--sy:-8px}.contact-bottom>:first-child{--sx:21px;--sy:9px}.contact-bottom>:nth-child(2){--sx:-27px;--sy:-6px}.reduced-motion [data-settle]{--settle:0;--settle-reach:1}@media (width<=900px){[data-settle]{--settle-reach:.42}}.portrait-journey .hero-sticky{overflow:clip}.portrait-journey{--portrait-width:min(55vw, calc((100svh - 100px) * .701754), 840px);--hero-gap:clamp(40px, 6vw, 120px);--hero-type:clamp(58px, min((91vw - var(--portrait-width) - var(--hero-gap)) / 4.5, 16svh), 180px)}.hero-portrait{width:var(--portrait-width);aspect-ratio:720/1026;z-index:2;pointer-events:none;opacity:var(--scene-opacity);transform-origin:var(--pupil-x,44.5833%) var(--pupil-y,23.0994%);will-change:transform;position:absolute;bottom:0;right:3%}.hero-portrait-figure,.portrait-photo,.portrait-intro{width:100%;height:100%;display:block;position:absolute;inset:0}.portrait-intro[hidden]{display:none}.hero-lede{flex-direction:column;align-items:flex-start;display:flex;position:absolute;top:50%;left:6%;transform:translateY(-50%)}.portrait-journey .hero-copy h1{font-size:var(--hero-type);text-align:left;position:static}.hero-role{max-width:30ch;font-size:clamp(17px, calc(var(--hero-type) * .19), 30px);letter-spacing:-.02em;margin:clamp(22px,2.4vw,36px) 0 0;font-weight:500;line-height:1.3}.hero-role span{color:var(--muted);font-weight:400;display:block}.portrait-journey .hero-bottom{flex-wrap:wrap;gap:24px;left:6%;right:49%}.portrait-journey .hero-index{display:none}.portrait-journey .portal-copy{z-index:3;clip-path:none;--eye-mask:radial-gradient(circle var(--eye-mask-radius,1px) at var(--lens-cx) var(--lens-cy), #000 0%, #000 45%, #000e 58%, #0009 72%, #0003 87%, #0000 100%);-webkit-mask-image:var(--eye-mask);-webkit-mask-image:var(--eye-mask);mask-image:var(--eye-mask)}.portrait-journey .portal-copy,:root[data-theme=dark] .portrait-journey .portal-copy{background:radial-gradient(ellipse at var(--lens-cx) var(--lens-cy), var(--eye-core,#0c0f15), var(--eye-edge,#1b2332) 85%)}.portrait-journey .portal-sharp,:root[data-theme=dark] .portrait-journey .portal-sharp{background:0 0}.portrait-journey .portal-inner{gap:38px;transform:translateY(26px)}.portrait-journey .portal-copy p{font-size:clamp(60px,8vw,120px)}.portrait-journey .portal-soft{opacity:calc((1 - var(--portal-focus)) * var(--eye-copy-opacity,0))}.portrait-journey .portal-sharp{opacity:calc(var(--portal-focus) * var(--eye-copy-opacity,0))}.reduced-motion .hero-portrait{will-change:auto}@media (width<=1000px) and (width>=641px){.portrait-journey{--hero-type:6.8vw}.hero-lede{top:40%}.hero-role{font-size:15px}.portrait-journey .hero-bottom p{font-size:12px}}@media (width<=640px){.hero-portrait{width:min(88vw,max(100svh,660px)/1.425 - 295.438px);margin-left:calc(min(88vw,max(100svh,660px)/1.425 - 295.438px)/-2);bottom:150px;left:50%;right:auto}.hero-lede{display:contents}.portrait-journey .hero-copy h1{text-align:center;letter-spacing:-.065em;font-size:clamp(42px,13vw,75px);line-height:1.02;position:absolute;top:143px;left:5%;right:5%}.hero-role{z-index:3;text-align:center;letter-spacing:-.01em;max-width:none;margin:0;font-size:13px;position:absolute;top:calc(155px + 2.04*clamp(42px,13vw,75px));left:5%;right:5%}.portrait-journey .hero-bottom{flex-wrap:nowrap;gap:12px;bottom:78px;left:6%;right:6%}.portrait-journey .hero-bottom p{max-width:320px}}.intro-curtain{z-index:60;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.intro-backdrop{background:var(--paper);transition:opacity calc(.56s / var(--pace,1)) cubic-bezier(.5, 0, .3, 1) calc(.14s / var(--pace,1));position:absolute;inset:0}.is-flying .intro-backdrop{opacity:0}.intro-stage{place-items:center;display:grid;position:relative}.intro-word{letter-spacing:-.075em;color:var(--ink);align-items:baseline;font-size:clamp(74px,19vw,280px);font-weight:600;line-height:1;display:flex;position:relative}.intro-letter{display:inline-block}.intro-letter,.intro-dot{visibility:hidden}.intro-dot{width:.24em;height:.24em;position:absolute;top:0;left:0}.intro-splat{width:100%;height:100%;fill:var(--accent);display:block;overflow:visible}.project-flow-anchor{height:0;display:block}.showcase{top:calc(76px + var(--stack-index) * 12px);z-index:calc(2 + var(--stack-index));border:1px solid var(--line);background:var(--paper);transform:scale(calc(1 - var(--stack-progress,0) * .045));transform-origin:top;will-change:transform;border-radius:18px;margin:36px 0 18vh;padding:26px 2.5% 30px;scroll-margin-top:90px;position:sticky;box-shadow:0 24px 55px #161b2627}.showcase-top{color:#626b7c;justify-content:space-between;align-items:center;padding-bottom:20px;display:flex}.showcase-top .accent{margin-right:10px}.showcase-cover{isolation:isolate;background:radial-gradient(ellipse at 72% 45%, color-mix(in srgb, var(--project-color), #fff 24%), var(--project-color) 72%);height:clamp(420px,53svh,590px);color:var(--project-ink);border-radius:5px;position:relative;overflow:hidden}.cover-watermark{letter-spacing:-.085em;opacity:.06;pointer-events:none;white-space:nowrap;transform:translateY(calc(var(--art-parallax,0px) * -.55));font-size:clamp(130px,17vw,290px);font-weight:600;line-height:1;position:absolute;bottom:12%;left:-1%}.cover-copy{z-index:4;pointer-events:none;width:38%;position:absolute;top:25%;left:5%}.cover-copy>.eyebrow{letter-spacing:2px;color:inherit;opacity:.7;font-size:9px}.cover-copy h2{letter-spacing:-.065em;margin:23px 0;font-size:clamp(43px,5vw,80px);font-weight:500;line-height:1.07}.cover-copy p{white-space:pre-line;letter-spacing:-.7px;opacity:.88;font:italic 28px/1.28 Georgia,serif}.cover-cta{pointer-events:auto;border-bottom:1px solid;align-items:center;gap:34px;margin-top:35px;padding:0 0 10px;font-size:12px;display:inline-flex}.cover-cta>span:last-child{border:1px solid color-mix(in srgb, currentColor 25%, transparent);border-radius:50%;place-items:center;width:31px;height:31px;font-size:20px;transition:background .2s,color .2s,transform .2s;display:grid}.cover-cta:hover>span:last-child{background:var(--project-ink,var(--ink));color:var(--project-color,var(--paper));transform:rotate(45deg)}.showcase-art{perspective:1200px;width:62%;height:100%;position:absolute;top:0;right:0}.showcase-caption{z-index:5;color:inherit;opacity:.75;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:22px;left:5%;right:4%}.showcase-caption .eyebrow{letter-spacing:1px;font-size:8px}.showcase-details{grid-template-columns:1.3fr 1fr auto;align-items:start;gap:48px;padding-top:28px;display:grid}.showcase-details>p{color:var(--muted);max-width:530px;font-size:14px;line-height:1.75}.showcase-details>div>.eyebrow{color:var(--muted);font-size:8px}.showcase-details .tags{margin-top:11px}.showcase-details .tags span{padding:6px 11px;font-size:10px}.project-detail-link{white-space:nowrap;border-bottom:1px solid #98a1b3;align-items:center;gap:25px;min-height:44px;padding:8px 0;font-size:12px;display:flex}.project-detail-link>span{font-size:20px;transition:transform .2s}.project-detail-link:hover>span{transform:translate(3px,-3px)}.project-art,.project-art>div{width:100%;height:100%;position:relative}.showcase .phone-composition,.showcase .shot-art{width:100%;max-width:none;height:100%;transform:translateY(var(--art-parallax,0px)) rotateX(var(--tilt,0deg));will-change:transform;margin:0;top:0;left:0}.showcase .floating-note{font-size:10px;bottom:14%;right:10%}.showcase .main-phone{top:17%;left:47%;transform:rotate(10deg)scale(1.08)}.showcase .small-phone{top:24%;left:17%;transform:rotate(-15deg)scale(.96)}.showcase .art-orbit{aspect-ratio:1;opacity:.9;width:90%;height:auto}@media (width>=1600px){.showcase .main-phone{top:25%;transform:rotate(10deg)scale(1.25)}.showcase .small-phone{top:29%;transform:rotate(-15deg)scale(1.12)}}@media (width<=1000px){.cover-copy h2{font-size:46px}.cover-copy p{font-size:24px}.cover-copy{width:38%;top:28%;left:4%}.showcase-cover{height:500px}.showcase-art{width:61%}.showcase .main-phone{top:24%;left:46%;transform:rotate(10deg)scale(.88)}.showcase .small-phone{top:25%;left:5%;transform:rotate(-15deg)scale(.8)}.showcase .floating-note{font-size:8px;bottom:13%;right:6%}.showcase-details{grid-template-columns:1.2fr 1fr;gap:25px}.project-detail-link{grid-column:2;justify-self:start;margin-top:-12px}.showcase-details>p{grid-row:span 2}.showcase-caption .eyebrow{font-size:7px}}@media (width<=640px){.showcase{will-change:auto;border-radius:12px;margin:-22px -2% 0;padding:18px 15px 46px;scroll-margin-top:28px;position:relative;top:auto;transform:none}.stack-act>.project-flow-anchor:first-child+.showcase{margin-top:25px}.showcase-top{gap:15px;padding-bottom:14px}.showcase-top .eyebrow{letter-spacing:.8px;font-size:7px}.showcase-top>.eyebrow:last-child{text-align:right;max-width:49%}.showcase-cover{border-radius:4px;flex-direction:column;height:auto;display:flex}.cover-copy{width:auto;padding:30px 7% 0;position:relative;top:auto;left:auto}.cover-copy>.eyebrow{letter-spacing:1.5px;font-size:7px}.cover-copy h2{margin:13px 0;font-size:47px}.cover-copy p{white-space:normal;max-width:255px;font-size:23px;line-height:1.2}.cover-cta{gap:20px;margin-top:18px;padding-bottom:5px;font-size:10px}.cover-cta>span:last-child{width:25px;height:25px;font-size:17px}.showcase-art{width:100%;height:350px;margin-top:8px;position:relative}.showcase .phone-composition,.showcase .shot-art{transform:translateY(calc(var(--art-parallax,0px) * .3)) rotateX(var(--tilt,0deg))}.cover-watermark{font-size:110px;bottom:120px;left:0}.showcase-caption{padding:0 7% 22px;position:relative;bottom:auto;left:auto;right:auto}.showcase-caption>.eyebrow{letter-spacing:.5px;font-size:6px}.showcase-details{flex-wrap:wrap;gap:20px;padding-top:22px;display:flex}.showcase-details>p{width:100%;font-size:13px;line-height:1.7}.showcase-details>div{flex:1}.showcase-details .tags{gap:5px;margin-top:8px}.showcase-details .tags span{padding:5px 8px;font-size:8px}.project-detail-link{align-self:end;gap:12px;margin:0;font-size:10px}.showcase .main-phone{transform-origin:0 0;top:7%;left:47%;transform:rotate(8deg)scale(.7)}.showcase .small-phone{transform-origin:0 0;top:12%;left:12%;transform:rotate(-11deg)scale(.64)}.showcase .floating-note{padding:10px 12px;font-size:8px;bottom:6%;right:6%}.showcase .art-orbit{width:94%}}:root[data-theme=dark] .showcase-top{color:var(--muted)}:root[data-theme=dark] .project-detail-link{border-color:#737c8d}@media (prefers-reduced-motion:reduce){.showcase{will-change:auto;position:relative;top:auto;transform:none}.cover-watermark{transform:none}.cover-cta>span:last-child{transition:none}}.showcase-details>:first-child{--sx:39px;--sy:7px}.showcase-details>:nth-child(2){--sx:-16px;--sy:19px}.showcase-details>:nth-child(3){--sx:27px;--sy:-13px}.showcase-details .tags span:nth-child(odd){--sx:11px;--sy:-5px}.showcase-details .tags span:nth-child(2n){--sx:-8px;--sy:7px}.project-reel{margin-top:6vh;position:relative}.reel-stage{pointer-events:none;justify-content:flex-end;align-items:center;height:100svh;padding:80px 3% 70px 0;display:flex;position:sticky;top:0}.reel-step{z-index:1;align-items:center;width:32%;height:100svh;padding-bottom:20px;display:flex;position:relative}.reel-stage+.reel-step{margin-top:-100svh}.reel-editor{--accent:#7198f4;--editor-bg:#191b1f;--editor-panel:#1e2127;--editor-line:#2d3037;--editor-text:#cad0dd;--editor-dim:#676f7e;border:1px solid var(--editor-line);background:var(--editor-bg);width:63%;height:min(74svh,700px);color:var(--editor-text);pointer-events:auto;border-radius:12px;grid-template-rows:42px 1fr 30px;display:grid;overflow:hidden;box-shadow:0 34px 80px #161b263a}.editor-bar{background:var(--editor-panel);border-bottom:1px solid var(--editor-line);align-items:stretch;gap:18px;padding-left:16px;display:flex}.editor-lights{align-items:center;gap:7px;display:flex}.editor-lights i{background:#3a3e47;border-radius:50%;width:10px;height:10px}.editor-lights i:first-child{background:var(--accent)}.editor-tabs{display:flex}.editor-tabs a{color:var(--editor-dim);border-right:1px solid var(--editor-line);align-items:center;padding:0 18px;font:11px/1 ui-monospace,SFMono-Regular,Consolas,monospace;transition:color .25s,background .25s,box-shadow .25s;display:flex;box-shadow:inset 0 -2px #0000}.editor-tabs a:hover{color:var(--editor-text)}.editor-tabs a.is-active{color:var(--editor-text);background:var(--editor-bg);box-shadow:inset 0 -2px var(--accent)}.editor-body{grid-template-columns:minmax(320px,38%) 1fr;min-height:0;display:grid}.editor-side{border-right:1px solid var(--editor-line);grid-template-rows:1fr auto;min-height:0;font:12px/1.9 ui-monospace,SFMono-Regular,Consolas,monospace;display:grid}.editor-code{gap:14px;padding:22px 16px 22px 0;display:flex;overflow:hidden}.editor-terminal{border-top:1px solid var(--editor-line);background:var(--editor-panel);min-height:132px;padding:12px 18px 16px;font-size:11px;line-height:1.8}.editor-terminal .eyebrow{color:var(--editor-dim);margin-bottom:6px;font-size:8px;display:block}.editor-terminal .is-building{color:var(--accent)}.editor-gutter{text-align:right;color:#464c58;flex:none;width:28px;margin:0;padding:0;list-style:none}.editor-files{min-width:0;display:grid}.reel-code{--typed:0;font:inherit;grid-area:1/1;margin:0}.code-line{white-space:pre;height:1lh;width:calc(clamp(0, var(--typed) - var(--from), var(--chars)) * 1ch);border-right:2px solid rgb(230 90 50/calc(clamp(0, var(--typed) - var(--from), 1) * clamp(0, var(--from) + var(--chars) - var(--typed), 1)));box-sizing:content-box;display:block;overflow:hidden}.tok-comment{color:var(--editor-dim);font-style:italic}.tok-keyword{color:var(--accent)}.tok-key{color:#9fb8e6}.tok-string{color:#b9d47f}.tok-tag{color:#e3a6c8}.tok-fn{color:#e9c47c}.editor-preview{grid-template-rows:34px 1fr;min-width:0;display:grid}.preview-bar{color:var(--editor-dim);border-bottom:1px solid var(--editor-line);justify-content:space-between;align-items:center;padding:0 16px;font-size:9px;display:flex}.preview-stage{isolation:isolate;position:relative;overflow:hidden}.reel-art{color:var(--project-ink);background:radial-gradient(ellipse at 55% 40%, color-mix(in srgb, var(--project-color), #fff 40%), var(--project-color) 75%);position:absolute;inset:0;overflow:hidden}.reel-art+.reel-art{clip-path:inset(0% 0% 100%)}.reel-scan{z-index:2;background:var(--accent);visibility:hidden;height:2px;margin-top:-1px;position:absolute;left:0;right:0;box-shadow:0 0 14px 2px #3268e699}.reel-art .art-orbit{aspect-ratio:1;width:92%;height:auto}.reel-art .floating-note{bottom:9%;right:8%}.reel-art .main-phone{top:9%;left:46%}.reel-art .small-phone{top:14%;left:7%}.editor-status{color:var(--editor-dim);background:var(--editor-panel);border-top:1px solid var(--editor-line);align-items:center;gap:22px;padding:0 16px;font-size:9px;display:flex;position:relative}.status-end{margin-left:auto}.reel-progress{height:1px;position:absolute;top:-1px;left:0;right:0}.reel-progress i{background:var(--accent);transform-origin:0;position:absolute;inset:0}.reel-copy h2{letter-spacing:-.065em;margin:18px 0 14px;font-size:clamp(46px,5.4vw,86px);font-weight:500;line-height:1.02}.reel-title{white-space:pre-line;letter-spacing:-.6px;font:italic 26px/1.28 Georgia,serif}.reel-description{max-width:400px;color:var(--muted);margin-top:22px;font-size:14px;line-height:1.7}.reel-stack{border-top:1px solid var(--line);gap:6px;max-width:260px;margin:24px 0 0;padding:22px 0 0;list-style:none;display:grid}.reel-stack li span{color:var(--accent);margin-right:10px}.reel-copy .cover-cta{margin-top:30px}.pattern-frame{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.pattern-canvas{width:100%;height:calc(100% + 320px);transform:translate3d(0, calc(var(--pattern-shift,0px) * var(--depth,1)), 0);will-change:transform;display:block;position:absolute;top:-160px;left:0}.stack-interlude{z-index:10;height:195svh;margin:3vh var(--bleed-r) 8vh var(--bleed-l);--spread:0;--interlude-reveal:0;background:var(--ink);color:var(--paper);position:relative}.stack-interlude.is-covered{height:calc(195svh + 100vh)}.interlude-sticky{--cover:0;transform:translateY(calc(var(--cover) * -12vh));isolation:isolate;background:radial-gradient(circle at 50% 65%, #4f566548, transparent 45%), var(--ink);height:100svh;min-height:700px;padding:104px 7% 95px;position:sticky;top:0;overflow:hidden}.interlude-sticky:before{content:"";pointer-events:none;border:1px solid #ffffff27;position:absolute;inset:100px 7% 75px}.interlude-sticky:after{content:"";z-index:6;opacity:calc(var(--cover) * .55);pointer-events:none;background:#000;position:absolute;inset:0}.interlude-kicker{z-index:2;color:#c7cedc;position:relative}.interlude-copy{z-index:4;text-align:center;opacity:calc(.3 + .7 * var(--interlude-reveal));transform:translateY(calc((1 - var(--interlude-reveal)) * 34px));margin-top:3vh;position:relative}.interlude-copy>.eyebrow{color:#628ae8}.interlude-copy h2{letter-spacing:-.062em;margin:18px 0 12px;font-size:clamp(52px,6.2vw,102px);font-weight:500;line-height:1.02}.interlude-copy h2 em{color:#90acec;font-family:Georgia,serif;font-weight:400}.interlude-copy p{color:#c0c6d3;font-size:14px}.interlude-fan{perspective:1200px;place-items:center;display:grid;position:absolute;inset:43% 0 11%}.fan-card{background:var(--project-color);width:clamp(250px,28vw,405px);height:clamp(250px,23vw,325px);color:var(--project-ink);isolation:isolate;transform:translate(calc(var(--fan-x) * var(--spread)), calc(var(--fan-y) * var(--spread))) rotate(calc(var(--fan-r) * var(--spread))) rotateY(calc(var(--fan-yaw) * var(--spread)));border-radius:10px;flex-direction:column;padding:24px;transition:box-shadow .3s;display:flex;position:absolute;overflow:hidden;box-shadow:0 32px 70px #0006}.fan-card:after{content:"";aspect-ratio:1;border:1px solid #ffffff9c;border-radius:50%;width:120%;position:absolute;bottom:-70%;right:-55%}.fan-shot{z-index:-2;transform-origin:0 0;filter:drop-shadow(0 16px 26px #0000003d);width:112%;height:auto;position:absolute;top:52px;left:24px;transform:rotate(-3deg)}.fan-phone .fan-shot{width:40%;top:34px;left:auto;right:10%;transform:rotate(6deg)}.fan-cutout .fan-shot{width:72%;top:26px;left:auto;right:-6%;transform:none}.fan-card:before{content:"";z-index:-1;background:linear-gradient(to top, var(--project-color) 24%, color-mix(in srgb, var(--project-color) 72%, transparent) 44%, transparent 66%);position:absolute;inset:0}.fan-card>span:first-of-type{background:color-mix(in srgb, var(--project-color) 88%, transparent);letter-spacing:1px;border-radius:4px;align-self:flex-start;margin:-6px -8px 0;padding:5px 8px;font:9px/1.5 ui-monospace,monospace}.fan-card strong{letter-spacing:-.05em;margin-top:auto;font-size:clamp(27px,2.8vw,42px);font-weight:500}.fan-card em{margin-top:6px;font:italic 22px Georgia,serif}.fan-arrow{font-size:24px;position:absolute;bottom:22px;right:24px}.fan-card:first-child{--fan-x:-29vw;--fan-y:25px;--fan-r:-11deg;--fan-yaw:12deg;z-index:1}.fan-card:nth-child(2){--fan-x:0vw;--fan-y:-28px;--fan-r:2deg;--fan-yaw:0deg;z-index:2}.fan-card:nth-child(3){--fan-x:29vw;--fan-y:20px;--fan-r:10deg;--fan-yaw:-12deg;z-index:3}.interlude-next{z-index:5;align-items:center;gap:25px;display:flex;position:absolute;bottom:85px;right:7%}.interlude-next span{font-size:23px}:root[data-theme=dark] .stack-interlude{color:#20242b;background:#dadfea}:root[data-theme=dark] .interlude-sticky{background:radial-gradient(circle at 50% 65%,#8a9abe48,#0000 45%),#dadfea}:root[data-theme=dark] .interlude-sticky:before{border-color:#20242b35}:root[data-theme=dark] .interlude-kicker,:root[data-theme=dark] .interlude-copy p{color:#545a65}:root[data-theme=dark] .interlude-copy h2 em{color:#294ea6}@media (width<=640px){.stack-interlude{margin:0 var(--bleed-r) 0 var(--bleed-l);height:145svh}.interlude-sticky{min-height:0;padding:76px 7% 68px}.interlude-sticky:before{inset:68px 6% 65px}.interlude-sticky:after{content:"";z-index:6;opacity:calc(var(--cover) * .55);pointer-events:none;background:#000;position:absolute;inset:0}.interlude-kicker{font-size:7px}.interlude-copy{margin-top:6vh}.interlude-copy h2{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.interlude-copy p{margin-top:12px;padding:0 20px;font-size:11px}.interlude-fan{inset:45% 0 16%}.fan-card{width:57vw;height:30vh;min-height:220px;padding:15px}.fan-card>span:first-of-type{font-size:6px}.fan-shot{top:38px;left:15px}.fan-card strong{font-size:20px}.fan-card em{font-size:15px}.fan-card:first-child{--fan-x:-27vw;--fan-y:30px}.fan-card:nth-child(2){--fan-x:0vw;--fan-y:-20px}.fan-card:nth-child(3){--fan-x:27vw;--fan-y:27px}.interlude-next{font-size:7px;bottom:75px}}.reduced-motion .stack-interlude{height:auto}.reduced-motion .interlude-sticky{height:min(900px,100svh);position:relative}.project-lane{z-index:1;margin:0 var(--bleed-r) 0 var(--bleed-l);padding:0 calc(-1 * var(--bleed-r)) 0 calc(-1 * var(--bleed-l));position:relative}.lane-head{align-items:center;gap:28px;padding:40px 0 8px;display:flex}.lane-head>.eyebrow:first-child{color:var(--muted)}.lane-progress{background:var(--line);flex:1;height:1px;position:relative;overflow:hidden}.lane-progress i{background:var(--accent);transform:scaleX(var(--lane-progress,0));transform-origin:0;position:absolute;inset:0}.lane-count{font-variant-numeric:tabular-nums}.lane-count b{color:var(--accent);font-weight:400}.lane-ghost,.lane-when-sideways,.lane-progress,.lane-count{display:none}.is-lane .lane-when-sideways,.is-lane .lane-count{display:inline}.is-lane .lane-progress{display:block}.is-lane .lane-when-column{display:none}.showcase.lane-card{z-index:1;margin:36px 0 0;position:relative;top:auto;transform:none}.lane-end{padding:80px 0 40px}.lane-end p{letter-spacing:-.055em;margin:18px 0 28px;font-size:clamp(38px,4.4vw,70px);font-weight:500;line-height:1.05}.lane-end em{color:var(--muted);font-family:Georgia,serif;font-weight:400}.project-lane.is-lane{height:calc(100vh + var(--lane-distance,0px));z-index:12;margin-top:-100vh;padding:0}.is-lane .lane-sticky{isolation:isolate;background:var(--paper);border-radius:var(--sheet-radius,0px) var(--sheet-radius,0px) 0 0;flex-direction:column;height:100vh;padding:92px 0 86px;display:flex;position:sticky;top:0;overflow:hidden;box-shadow:0 -30px 70px -24px #0008}.is-lane .lane-head{z-index:2;padding:0 4.5% 16px;position:relative}.is-lane .lane-ghost{z-index:0;letter-spacing:-.07em;white-space:nowrap;color:#0000;-webkit-text-stroke:1px var(--line);pointer-events:none;will-change:transform;font-size:clamp(150px,19vw,330px);font-weight:600;line-height:1;display:block;position:absolute;bottom:9%;left:4.5%}.is-lane .lane-track{z-index:1;will-change:transform;flex:1;align-items:stretch;gap:clamp(28px,3vw,56px);width:max-content;min-height:0;padding:0 7vw 0 4.5vw;display:flex;position:relative}.is-lane .showcase.lane-card{will-change:transform;flex-direction:column;flex:none;width:min(76vw,1240px);height:100%;margin:0;padding:20px 2% 22px;display:flex}.is-lane .lane-card .showcase-top{padding-bottom:14px}.is-lane .lane-card .showcase-cover{flex:1;height:auto;min-height:0}.is-lane .lane-card .showcase-details{grid-template-columns:1.4fr 1fr auto;gap:32px;padding-top:18px}.is-lane .lane-card .showcase-details>p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.is-lane .lane-card .showcase-art{will-change:transform}.is-lane .lane-end{flex:none;align-self:center;width:min(34vw,520px);padding:0}@media (width<=1100px){.is-lane .lane-card .showcase-details{grid-template-columns:1.3fr 1fr}.is-lane .lane-card .project-detail-link{display:none}}.is-lane .lane-card .cover-copy{top:13%}.is-lane .lane-card .cover-copy h2{margin:14px 0;font-size:clamp(40px,4.1vw,68px)}.is-lane .lane-card .cover-copy p{font-size:clamp(20px,1.7vw,26px)}.is-lane .lane-card .cover-cta{margin-top:20px}.tool-shelf{border-top:1px solid var(--line);margin-top:110px;padding-top:34px}.tool-shelf-head{grid-template-rows:auto auto;grid-template-columns:28% 1fr auto;align-items:end;gap:26px 0;margin-bottom:70px;display:grid}.tool-shelf-head>.eyebrow:first-child{align-self:start;padding-top:14px}.tool-shelf-head h3{letter-spacing:-.06em;font-size:clamp(44px,5.6vw,96px);font-weight:500;line-height:1.02}.tool-shelf-head h3 em{color:var(--muted);font-family:Georgia,serif;font-weight:400}.tool-shelf-head p{max-width:560px;color:var(--muted);grid-column:2;font-size:16px;line-height:1.75}.tool-shelf-count{color:var(--muted);white-space:nowrap;grid-area:1/3}.tool-group{border-top:1px solid var(--line);grid-template-columns:28% 1fr;padding:26px 0;display:grid}.tool-group-label{padding-right:32px}.tool-group-label h4{letter-spacing:-.03em;margin:12px 0 8px;font-size:22px;font-weight:500}.tool-group-label p{color:var(--muted);max-width:260px;font-size:13px;line-height:1.6}.tool-grid{perspective:900px;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:12px;display:grid}.tool-tile{aspect-ratio:1.08;transform-style:preserve-3d;border-radius:16px;transition:transform .5s cubic-bezier(.22,.8,.25,1);position:relative;transform:none}.tool-tile:hover{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition-duration:.12s}.tool-face{--tone:var(--ink);border-radius:inherit;transform-style:preserve-3d;border:1px solid var(--line);background:radial-gradient(180px circle at var(--mx,-200px) var(--my,-200px), color-mix(in srgb, var(--tone) 14%, transparent), transparent 70%), linear-gradient(160deg, color-mix(in srgb, var(--paper) 88%, #fff), color-mix(in srgb, var(--paper) 96%, var(--ink)));box-shadow:inset 0 1px 0 #ffffff80, 0 1px 0 color-mix(in srgb, var(--ink) 6%, transparent), 0 14px 26px -18px color-mix(in srgb, var(--ink) 45%, transparent);flex-direction:column;justify-content:center;align-items:center;gap:16px;transition:box-shadow .35s,border-color .35s;display:flex;position:absolute;inset:0}.tool-face:before{content:"";border-radius:inherit;background:radial-gradient(130px circle at var(--mx,-200px) var(--my,-200px), var(--tone), transparent 70%);-webkit-mask-composite:xor;opacity:0;pointer-events:none;padding:1px;transition:opacity .3s;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.tool-wall[data-lit=true] .tool-face:before{opacity:.8}.tool-face svg{width:36px;height:36px;color:var(--ink);opacity:.72;transition:color .3s,opacity .3s,transform .45s cubic-bezier(.22,.8,.25,1),filter .3s}.tool-name{letter-spacing:.01em;color:var(--muted);text-align:center;padding:0 8px;font-size:11px;transition:color .3s,transform .45s cubic-bezier(.22,.8,.25,1)}.tool-tile:hover .tool-face{border-color:color-mix(in srgb, var(--tone) 45%, var(--line));box-shadow:inset 0 1px 0 #ffffffa0, 0 1px 0 color-mix(in srgb, var(--ink) 6%, transparent), 0 26px 40px -22px color-mix(in srgb, var(--tone) 70%, transparent)}.tool-tile:hover svg{color:var(--tone);opacity:1;filter:drop-shadow(0 8px 10px color-mix(in srgb, var(--tone) 38%, transparent));transform:translateZ(46px)scale(1.12)}.tool-tile:hover .tool-name{color:var(--ink);transform:translateZ(18px)}:root[data-theme=dark] .tool-face{background:radial-gradient(180px circle at var(--mx,-200px) var(--my,-200px), color-mix(in srgb, var(--tone) 20%, transparent), transparent 70%), linear-gradient(160deg, #24282f, #1b1e24);box-shadow:inset 0 1px #ffffff14,0 14px 26px -18px #000}:root[data-theme=dark] .tool-tile:hover .tool-face{box-shadow:inset 0 1px 0 #ffffff1f, 0 26px 40px -22px color-mix(in srgb, var(--tone) 60%, transparent)}@media (width<=900px){.tool-shelf-head{grid-template-columns:1fr}.tool-shelf-head p,.tool-shelf-count{grid-area:auto/1}.tool-group{grid-template-columns:1fr;gap:18px}.tool-group-label p{max-width:none}}@media (width<=640px){.tool-shelf{margin-top:70px}.tool-shelf-head{margin-bottom:40px}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.tool-face{gap:11px}.tool-face svg{width:28px;height:28px}.tool-name{font-size:10px}}.reduced-motion .tool-tile{transform:none}.prescription-desk{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:6vw;margin:10px 0 100px;display:grid}.prescription-intro>.eyebrow{opacity:.6}.prescription-intro h3{letter-spacing:-.05em;margin:20px 0 34px;font-size:clamp(34px,3.4vw,54px);font-weight:400;line-height:1.08}.prescription-intro h3 em{color:#829ddc;font-family:Georgia,serif}.prescription-steps{counter-reset:step;gap:22px;display:grid}.prescription-steps li{counter-increment:step;opacity:.78;padding-left:54px;font-size:15px;line-height:1.65;position:relative}.prescription-steps li:before{content:counter(step, decimal-leading-zero);letter-spacing:1px;color:#829ddc;font:11px ui-monospace,monospace;position:absolute;top:2px;left:0}.prescription-steps b{opacity:1;margin-bottom:2px;font-weight:500;display:block}.prescription-fineprint{opacity:.55;border-top:1px solid #ffffff26;max-width:440px;margin-top:34px;padding-top:20px;font-size:12px;line-height:1.7}.pad-stage{perspective:1600px;perspective-origin:50% 30%}.pad{--pad-paper:#f5f6f9;--pad-ink:#1d2129;--pad-rule:#c4cddf;--pad-muted:#6b7384;transform-style:preserve-3d;transform:rotateX(calc(4deg + var(--tilt-x,0deg))) rotateY(calc(-5deg + var(--tilt-y,0deg))) rotateZ(-.6deg);color:var(--pad-ink);position:relative}.pad-sheet{background:var(--pad-paper);border-radius:14px}.pad-under{background:#e0e5ef;position:absolute;inset:0;transform:translate3d(8px,9px,-16px)rotate(1.6deg);box-shadow:0 30px 50px -20px #0009}.pad-under-2{background:#d0d7e5;transform:translate3d(-6px,13px,-32px)rotate(-2deg)}.pad-card{transform-style:preserve-3d;transition:transform .9s cubic-bezier(.45,0,.2,1);position:relative}.pad.is-sent .pad-card{transform:rotateY(180deg)}.pad-front,.pad-back{backface-visibility:hidden;transform-style:preserve-3d;box-shadow:0 1px #d2d9e7,0 2px #c3ccdf,0 3px #b6c1d7,0 4px #aab6cf,0 5px #9caac5,0 40px 70px -24px #000c}.pad-front{background:repeating-linear-gradient(transparent 0 31px, #0000000a 31px 32px), var(--pad-paper);gap:22px;padding:30px 34px 28px;display:grid;position:relative}.pad-back{flex-direction:column;justify-content:center;gap:16px;padding:44px;display:flex;position:absolute;inset:0;transform:rotateY(180deg)}.pad-back strong{letter-spacing:-.045em;font-size:clamp(30px,3vw,46px);font-weight:500;transform:translateZ(16px)}.pad-back p{max-width:440px;color:var(--pad-muted);font-size:15px;line-height:1.7}.pad-back .pad-back-note{font-size:12px}.pad-back a{color:var(--pad-ink);text-decoration:underline}.pad-back .text-link{color:var(--pad-ink);border-color:var(--pad-rule);align-self:flex-start}.pad-head{transform-style:preserve-3d;border-bottom:2px solid var(--pad-ink);grid-template-columns:auto 1fr auto;align-items:start;gap:16px;padding-bottom:20px;display:grid;transform:translateZ(12px)}.pad-rx{color:var(--accent);font-family:Georgia,serif;font-size:46px;line-height:.9;transform:translateZ(10px)}.pad-head strong{letter-spacing:-.03em;font-size:22px;font-weight:500;display:block}.pad-head div>span{letter-spacing:.6px;color:var(--pad-muted);margin-top:4px;font:10px/1.5 ui-monospace,monospace;display:block}.pad-chart{text-align:center;letter-spacing:.12em;font-weight:600;line-height:1.05}.pad-chart li:first-child{font-size:22px}.pad-chart li:nth-child(2){font-size:15px}.pad-chart li:nth-child(3){font-size:11px}.pad-chart li:nth-child(4){font-size:9px}.pad-chart li:nth-child(5){font-size:7px}.pad-chart li:nth-child(6){font-size:5.5px}.pad-chart li:nth-child(7){color:var(--accent);font-size:4.5px}.pad-row{transform-style:preserve-3d;grid-template-columns:1fr 1fr;gap:22px;display:grid}.pad-field,.pad-choices{transform:translateZ(6px)}.pad-field{gap:6px;display:grid}.pad-field>span,.pad-choices legend{letter-spacing:1px;text-transform:uppercase;color:var(--pad-muted);font:10px ui-monospace,monospace}.pad-field input,.pad-field textarea{border:0;border-bottom:1px solid var(--pad-rule);width:100%;color:var(--pad-ink);resize:vertical;background:0 0;padding:6px 0 8px;font:17px/1.5 inherit;transition:border-color .2s}.pad-field textarea{min-height:96px;font-size:15px}.pad-field input::placeholder,.pad-field textarea::placeholder{color:#9ea5b4;font-family:Georgia,serif;font-style:italic}.pad-field input:focus,.pad-field textarea:focus{border-bottom-color:var(--accent);outline:none}.pad-choices{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.pad-choices legend{width:100%;margin-bottom:10px}.pad-choices label{cursor:pointer;position:relative}.pad-choices input{opacity:0;cursor:pointer;position:absolute;inset:0}.pad-choices span{border:1px solid var(--pad-rule);box-shadow:0 2px 0 var(--pad-rule);background:#fff8;border-radius:999px;padding:8px 14px;font-size:12px;transition:background .2s,color .2s,transform .2s,box-shadow .2s;display:inline-block}.pad-choices label:hover span{transform:translateY(-1px)}.pad-choices input:checked+span{background:var(--pad-ink);color:var(--pad-paper);border-color:var(--pad-ink);transform:translateY(2px);box-shadow:0 0 #0000}.pad-choices input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.pad-foot{transform-style:preserve-3d;justify-content:space-between;align-items:center;gap:20px;padding-top:6px;display:flex}.pad-sign{color:var(--pad-muted);font-size:13px}.pad-sign em{color:var(--pad-ink);font-family:Georgia,serif;font-size:1.25em}.pad-send{background:var(--pad-ink);color:var(--pad-paper);border-radius:999px;align-items:center;gap:16px;padding:15px 22px 15px 26px;font-size:14px;transition:transform .18s,box-shadow .18s,background .2s;display:inline-flex;transform:translateZ(18px);box-shadow:0 4px #000,0 14px 24px -10px #000a}.pad-send span{font-size:18px;transition:transform .2s}.pad-send:hover{background:var(--accent);box-shadow:0 4px #2047a1,0 18px 28px -10px #3268e699}.pad-send:hover span{transform:rotate(45deg)}.pad-send:active{transform:translateZ(18px)translateY(3px);box-shadow:0 1px #2047a1,0 8px 14px -8px #000a}.pad-send:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.pad-shine{border-radius:inherit;pointer-events:none;background:radial-gradient(60% 50% at var(--shine-x,30%) var(--shine-y,20%), #ffffff80, transparent 70%);mix-blend-mode:soft-light;position:absolute;inset:0;transform:translateZ(1px)}:root[data-theme=dark] .prescription-fineprint{border-color:#20242b26}:root[data-theme=dark] .prescription-intro h3 em,:root[data-theme=dark] .prescription-steps li:before{color:#294ea6}:root[data-theme=dark] .pad-under{box-shadow:0 30px 50px -20px #0005}:root[data-theme=dark] .pad-front,:root[data-theme=dark] .pad-back{box-shadow:0 1px #d2d9e7,0 2px #c3ccdf,0 3px #b6c1d7,0 4px #aab6cf,0 5px #9caac5,0 40px 70px -24px #0007}@media (width<=1000px){.prescription-desk{grid-template-columns:1fr;gap:60px}}@media (width<=640px){.pad{transform:rotateX(4deg)rotate(-1deg)}.pad-front{padding:22px 18px 20px}.pad-head{grid-template-columns:auto 1fr}.pad-chart{display:none}.pad-row{grid-template-columns:1fr}.pad-foot{flex-direction:column;align-items:stretch}.pad-send{justify-content:center}.pad-back{padding:28px}}.reduced-motion .pad{transform:rotateX(5deg)rotateY(-6deg)rotate(-1deg)}.glitch-line{position:relative}.glitch-ghost{padding:inherit;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:0;position:absolute;inset:0}.glitch-ghost,.glitch-ghost *{color:var(--ghost)!important}.glitch-ghost-a{--ghost:var(--accent)}.glitch-ghost-b{--ghost:#19c3d6}.glitch-line.is-glitching{animation:.95s both glitch-main}.glitch-line.is-glitching>.glitch-ghost-a{animation:.95s both glitch-ghost-a}.glitch-line.is-glitching>.glitch-ghost-b{animation:.95s both glitch-ghost-b}@keyframes glitch-main{0%{filter:blur(1.5px);animation-timing-function:step-end;transform:translate(-3px)skew(-9deg)}7%{filter:none;animation-timing-function:step-end;transform:translate(5px,-1px)}14%{filter:blur(2.5px);animation-timing-function:step-end;transform:translate(-2px,1px)skew(7deg)}21%{filter:none;animation-timing-function:step-end;transform:none}28%{filter:blur(1px);animation-timing-function:step-end;transform:translate(6px)skew(-5deg)}35%{filter:none;animation-timing-function:step-end;transform:translate(-5px)}42%{filter:blur(3px);animation-timing-function:step-end;transform:translate(2px,-1px)skew(11deg)}49%{filter:blur(.5px);animation-timing-function:step-end;transform:translate(-1px)}56%{filter:blur(2px);animation-timing-function:cubic-bezier(.2,.7,.2,1);transform:none}to{filter:none;transform:none}}@keyframes glitch-ghost-a{0%{opacity:.9;clip-path:inset(10% 0 55%);animation-timing-function:step-end;transform:translate(-8px)}7%{clip-path:inset(62% 0 12%);animation-timing-function:step-end;transform:translate(10px)}14%{clip-path:inset(30% 0 42%);animation-timing-function:step-end;transform:translate(-5px,1px)}21%{clip-path:inset(0 0 82%);animation-timing-function:step-end;transform:translate(7px)}28%{clip-path:inset(74% 0 4%);animation-timing-function:step-end;transform:translate(-11px)}35%{clip-path:inset(46% 0 30%);animation-timing-function:step-end;transform:translate(4px)}42%{clip-path:inset(16% 0 60%);animation-timing-function:step-end;transform:translate(-7px)}49%{clip-path:inset(52% 0 20%);animation-timing-function:step-end;transform:translate(5px)}56%{opacity:.55;clip-path:inset(0);animation-timing-function:cubic-bezier(.2,.7,.2,1);transform:translate(-3px)}to{opacity:0;clip-path:inset(0);transform:none}}@keyframes glitch-ghost-b{0%{opacity:.9;clip-path:inset(58% 0 18%);animation-timing-function:step-end;transform:translate(9px)}7%{clip-path:inset(8% 0 66%);animation-timing-function:step-end;transform:translate(-7px,1px)}14%{clip-path:inset(40% 0 35%);animation-timing-function:step-end;transform:translate(11px)}21%{clip-path:inset(80% 0 2%);animation-timing-function:step-end;transform:translate(-6px)}28%{clip-path:inset(20% 0 58%);animation-timing-function:step-end;transform:translate(8px,-1px)}35%{clip-path:inset(66% 0 10%);animation-timing-function:step-end;transform:translate(-10px)}42%{clip-path:inset(34% 0 44%);animation-timing-function:step-end;transform:translate(6px)}49%{clip-path:inset(4% 0 74%);animation-timing-function:step-end;transform:translate(-4px)}56%{opacity:.55;clip-path:inset(0);animation-timing-function:cubic-bezier(.2,.7,.2,1);transform:translate(3px)}to{opacity:0;clip-path:inset(0);transform:none}}.journey-dock{z-index:30;background:var(--dock);background:rgb(from var(--dock) r g b / 1);border-top:1px solid var(--line);align-items:center;gap:25px;height:62px;padding:0 4.5%;display:flex;position:fixed;inset:auto 0 0;box-shadow:0 -5px 30px #20252e05}.dock-current{align-items:center;gap:16px;min-width:235px;font-size:11px;display:flex}.dock-count{color:var(--accent);font:9px ui-monospace,monospace}.dock-count>span{color:#5f6778}.dock-label{font-weight:500}.dock-track{flex:1;max-width:580px;height:10px;margin:auto;position:relative}.dock-track progress{appearance:none;width:100%;height:2px;color:var(--accent);background:#c7cdda;border:0;margin-top:4px;display:block}.dock-track progress::-webkit-progress-bar{background:#c7cdda}.dock-track progress::-webkit-progress-value{background:var(--accent)}.dock-track progress::-moz-progress-bar{background:var(--accent)}.dock-ticks{pointer-events:none;justify-content:space-between;display:flex;position:absolute;inset:0}.dock-ticks i{background:#7a869e;width:1px;height:10px}.dock-percent{color:#596274;width:30px;font:10px ui-monospace,monospace}.dock-motion{align-items:center;gap:8px;min-height:44px;font-size:10px;display:flex}.dock-theme{white-space:nowrap;align-items:center;gap:8px;min-height:44px;font-size:10px;display:flex}.dock-theme>span:first-child{color:var(--accent);font-size:18px;line-height:1}.dock-motion>span:first-child{color:var(--accent);font-size:14px}.dock-next{border-left:1px solid #c1c8d6;align-items:center;gap:25px;min-height:44px;padding-left:25px;font-size:10px;display:flex}.dock-next>span:last-child{font-size:19px}.hero-grid{bottom:62px}.hero-bottom{bottom:90px}@media (width>=1100px){.work-section,.about-section{padding-right:8%}.work-section{--edge-r:8}.contact-section,.site-header{padding-right:8%}.hero-grid,.hero-bottom,.hero-eyebrow{right:8%}}@media (width<=1099px){.dock-current{min-width:200px}.journey-dock{gap:18px}.dock-motion{justify-content:center;min-width:32px}.dock-motion>span:last-child{display:none}}@media (width<=640px){.journey-dock{height:calc(57px + env(safe-area-inset-bottom));padding:0 6% env(safe-area-inset-bottom);gap:14px}.dock-current{flex:1;gap:9px;min-width:0;font-size:10px}.dock-count{font-size:8px}.dock-label{white-space:nowrap;text-overflow:ellipsis;max-width:125px;overflow:hidden}.dock-track{max-width:none;height:2px;position:absolute;top:0;left:0;right:0}.dock-track progress{margin:0}.dock-ticks{display:none}.dock-percent{font-size:9px}.dock-next{border-left:0;justify-content:center;gap:0;min-width:32px;padding-left:0;font-size:20px}.dock-theme{justify-content:center;min-width:32px}.dock-motion{min-width:28px}.dock-theme>span:last-child,.dock-next>span:first-child{display:none}.hero-grid{bottom:72px}.hero-bottom{bottom:95px}}:root[data-theme=dark] .dock-count>span,:root[data-theme=dark] .dock-percent{color:var(--muted)}:root[data-theme=dark] .dock-track progress{background:#454b57}:root[data-theme=dark] .dock-track progress::-webkit-progress-bar{background:#454b57}:root[data-theme=dark] .dock-ticks i{background:#7f8796}:root[data-theme=dark] .dock-next{border-color:var(--line)}@media (forced-colors:active){.journey-dock{border-top:2px solid canvastext}}
