*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--bg: #ECEEEA;--bg-2: #E1E5E0;--text: #1C2321;--text-2: #5E6763;--rule: rgba(28, 35, 33, .14);--signal: #D4145A;--cobalt: #2F4BD8;--violet: #7C3AED;--teal: #0E7C6B;--ember: #C2410C;--moss: #3F7D20;--display: "Unbounded", system-ui, sans-serif;--font: "Manrope", system-ui, sans-serif;--mono: "Geist Mono", ui-monospace, monospace;--t-small: .875rem;--t-body: 1.0625rem;--t-lead: clamp(1.2rem, 1.5vw, 1.4rem);--t-h3: clamp(1.25rem, 1.9vw, 1.6rem);--t-h2: clamp(2rem, 4.4vw, 4rem);--t-state: clamp(1.6rem, 2.8vw, 2.6rem);--t-mega: clamp(2.6rem, 7.4vw, 8.4rem);--gutter: clamp(20px, 4vw, 56px);--max: 1440px;--ease: cubic-bezier(.16, 1, .3, 1)}html{overflow-x:clip}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--t-body);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}::-moz-selection{background:var(--signal);color:#fff}::selection{background:var(--signal);color:#fff}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:1.5px solid var(--signal);outline-offset:4px;border-radius:2px}.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}.section{position:relative;padding:clamp(110px,16vw,220px) 0}.h2{font-family:var(--display);font-size:var(--t-h2);font-weight:600;letter-spacing:-.03em;line-height:1}.h2 .mask{display:block;overflow:hidden;padding-bottom:.08em}.h2 .mask>span{display:block}.muted{color:var(--text-2)}.link{background:linear-gradient(currentColor,currentColor) 0 100% / 0 1px no-repeat;transition:background-size .5s var(--ease),color .3s;padding-bottom:2px}.link:hover{background-size:100% 1px}.cloud-anchor{pointer-events:none}.cloud-anchor.left,.cloud-anchor.right{position:absolute;top:0;bottom:0}.cloud-anchor.left{left:var(--gutter);right:66%}.cloud-anchor.right{left:62%;right:var(--gutter)}.work-anchor{grid-column:1 / 6;grid-row:2;align-self:stretch}.stage{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));-moz-column-gap:clamp(16px,2vw,32px);column-gap:clamp(16px,2vw,32px)}.stage-right{grid-column:6 / -1}.stage-left{grid-column:1 / 8}@media (max-width: 900px){.stage-right,.stage-left{grid-column:1 / -1}}.det{position:absolute;pointer-events:none;--c: 12px;--s: var(--signal);background:linear-gradient(var(--s),var(--s)) top left / var(--c) 1.5px,linear-gradient(var(--s),var(--s)) top left / 1.5px var(--c),linear-gradient(var(--s),var(--s)) top right / var(--c) 1.5px,linear-gradient(var(--s),var(--s)) top right / 1.5px var(--c),linear-gradient(var(--s),var(--s)) bottom left / var(--c) 1.5px,linear-gradient(var(--s),var(--s)) bottom left / 1.5px var(--c),linear-gradient(var(--s),var(--s)) bottom right / var(--c) 1.5px,linear-gradient(var(--s),var(--s)) bottom right / 1.5px var(--c);background-repeat:no-repeat}.det-label{position:absolute;left:0;bottom:100%;margin-bottom:5px;font-family:var(--mono);font-size:10.5px;line-height:1;padding:4px 6px;background:var(--signal);color:#fff;white-space:nowrap}.nav{position:fixed;inset:0 0 auto 0;z-index:50;transition:background-color .4s}.nav.scrolled{background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}.nav-name{font-family:var(--display);font-weight:600;font-size:.95rem;letter-spacing:-.01em}.nav-links{display:flex;gap:clamp(18px,2.6vw,36px);font-size:var(--t-small);font-weight:500}.nav-links a{padding:10px 0;color:var(--text-2)}.nav-links a:hover{color:var(--text)}.nav-links a[aria-current]{color:var(--signal);background-size:100% 1px}.nav-burger{display:none;position:relative;z-index:2;width:46px;height:46px;border:0;border-radius:50%;cursor:pointer;background:var(--text);transition:background-color .3s,transform .4s var(--ease)}.nav-burger:active{transform:scale(.92)}.nav-burger span{position:absolute;left:13px;width:20px;height:2px;border-radius:2px;background:var(--bg);transition:transform .5s var(--ease),width .5s var(--ease)}.nav-burger span:first-child{top:18px}.nav-burger span:last-child{top:26px;width:13px}.nav-burger.open{background:var(--signal)}.nav-burger.open span:first-child{transform:translateY(4px) rotate(45deg)}.nav-burger.open span:last-child{width:20px;transform:translateY(-4px) rotate(-45deg)}@media (max-width: 720px){.nav-links{display:none}.nav-burger{display:block}.nav.menu-open{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.nav-inner{position:relative;z-index:2}.nav-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;justify-content:space-between;padding:96px var(--gutter) 32px;background:var(--bg)}.sheet-links{list-style:none}.sheet-mask{overflow:hidden;border-bottom:1px solid var(--rule)}.sheet-links a{display:block;padding:14px 0;font-family:var(--display);font-size:clamp(2rem,10vw,2.8rem);font-weight:700;letter-spacing:-.04em}.sheet-links a[aria-current]{color:var(--signal)}.sheet-foot{display:flex;flex-direction:column;gap:12px;font-size:var(--t-small);font-weight:600}.sheet-foot div{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--text-2)}.sheet-foot a{padding:6px 0}}.hero{position:relative;height:100svh;min-height:640px;overflow-x:clip}.hero-inner{position:relative;height:100%;display:grid;grid-template-rows:auto 1fr auto;padding-top:112px;padding-bottom:clamp(28px,5vh,64px)}.hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:32px}.hero-intro{font-size:var(--t-lead);line-height:1.4;max-width:24ch}.hero-meta{display:flex;flex-direction:column;align-items:flex-end;gap:10px;font-size:var(--t-small);font-weight:500}.hero-hint{align-self:end;justify-self:center;font-size:var(--t-small);color:var(--text-2);margin-bottom:18px}.hero-name{font-family:var(--display);font-size:var(--t-mega);font-weight:700;letter-spacing:-.05em;line-height:.9;display:flex;justify-content:center;gap:.28em;white-space:nowrap}.hero-name .mask{display:block;overflow:hidden;padding:0 .02em .06em}.hero-name .mask>span{display:block}@media (max-width: 720px){.hero-inner{display:flex;flex-direction:column;justify-content:flex-end;gap:20px}.hero-top{order:2;flex-direction:column;gap:16px}.hero-meta{flex-direction:row;gap:20px}.hero-name{flex-direction:column;align-items:flex-start;gap:0;font-size:17vw}.hero-hint{display:none}}.ch-work .odo{font-size:clamp(4.5rem,11vw,11rem)}.ch-work .ch-entries{height:clamp(390px,50vh,470px)}.ch-head .link{font-size:var(--t-small);color:var(--text-2)}.ch-links{margin-top:22px}.ch-work .ch-dots button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:8px}@media (max-width: 900px){.ch-work .ch-entries{height:470px}.ch-work .ch-desc{display:none}.ch-work .ch-dots button{font-size:.6rem}.ch-work .odo{font-size:22vw}}.work-links{display:flex;flex-wrap:wrap;gap:12px}.pill{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 22px;border-radius:999px;font-size:.95rem;font-weight:700;letter-spacing:-.01em;transition:background-color .35s,color .35s,border-color .35s,transform .5s var(--ease),box-shadow .5s var(--ease)}.pill:active{transform:scale(.97)}.pill-solid{background:var(--accent, var(--text));color:#fff;padding-right:6px;box-shadow:0 8px 24px -10px var(--accent, var(--text))}.pill-solid:hover{transform:translateY(-2px);box-shadow:0 14px 32px -12px var(--accent, var(--text))}.pill-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--accent, var(--text));overflow:hidden}.pill-icon svg{transition:transform .5s var(--ease)}.pill-solid:hover .pill-icon svg{transform:translate(2px,-2px) rotate(0) scale(1.1)}.pill-ghost{border:1.5px solid color-mix(in srgb,var(--accent, var(--text)) 40%,transparent);color:var(--text)}.pill-ghost:hover{border-color:var(--accent, var(--text));background:color-mix(in srgb,var(--accent, var(--text)) 9%,transparent);color:var(--accent, var(--text))}.statement{font-size:var(--t-state);font-weight:500;line-height:1.22;letter-spacing:-.02em}.statement .w{display:inline-block;margin-right:.25em}.about-sub{display:grid;grid-template-columns:5fr 7fr;gap:clamp(24px,3vw,48px);margin-top:clamp(64px,8vw,112px);align-items:end}.portrait{position:relative;aspect-ratio:4 / 5;overflow:hidden;border-radius:4px;background:var(--bg-2)}.portrait img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.facts{display:grid;grid-template-columns:auto 1fr;-moz-column-gap:32px;column-gap:32px}.facts dt,.facts dd{padding:16px 0;border-top:1px solid var(--rule)}.facts dt{color:var(--signal);font-weight:600;font-size:var(--t-small);padding-top:19px}.facts dd{font-size:1.1rem;line-height:1.35}@media (max-width: 600px){.about-sub{grid-template-columns:1fr}}.ch{position:relative}.ch-pin{position:sticky;top:0;height:100svh;overflow:hidden}.ch-layout{position:relative;height:100%;padding-top:92px;padding-bottom:28px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto 1fr auto;-moz-column-gap:clamp(16px,2vw,32px);column-gap:clamp(16px,2vw,32px)}.ch-head{grid-column:1 / -1;grid-row:1;display:flex;justify-content:space-between;align-items:baseline;gap:16px}.ch-title{font-family:var(--display);font-size:clamp(1.3rem,2.2vw,1.9rem);font-weight:700;letter-spacing:-.03em}.ch-head p{font-size:var(--t-small);color:var(--text-2)}.ch-anchor{grid-column:1 / 5;grid-row:2;align-self:stretch}.ch-stage{grid-column:5 / -1;grid-row:2;align-self:center}.odo{display:flex;height:1em;line-height:1;overflow:hidden;font-family:var(--display);font-weight:700;letter-spacing:-.04em;font-size:clamp(5.5rem,15vw,15rem);color:var(--c)}.odo-col{display:block;height:1em;overflow:hidden}.odo-strip{display:flex;flex-direction:column}.odo-strip span{display:block;height:1em;line-height:1em;text-align:center}.ch-entries{position:relative;height:clamp(250px,34vh,330px);margin-top:clamp(6px,1.5vh,18px)}.ch-entry{position:absolute;top:0;right:0;bottom:0;left:0}.ch-kicker{display:flex;align-items:center;gap:14px;font-size:var(--t-small);font-weight:700}.ch-type{padding:4px 12px;border-radius:99px;color:#fff;background:var(--c)}.ch-kicker>span:last-child{color:var(--text-2)}.ch-role{margin-top:14px;font-family:var(--display);font-size:clamp(1.9rem,3.8vw,3.6rem);font-weight:700;letter-spacing:-.04em;line-height:1.05;color:var(--text)}.ch-word{display:inline-block;white-space:nowrap;margin-right:.28em}.ch-mask{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.06em}.ch-letter{display:inline-block}.ch-org{margin-top:12px;font-size:1.15rem;font-weight:700;color:var(--c)}.ch-date{margin-left:14px;font-weight:500;color:var(--text-2)}.ch-desc{margin-top:12px;font-size:var(--t-lead);line-height:1.45;max-width:46ch}.ch-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;list-style:none}.ch-tags li{font-size:.8rem;padding:5px 12px;border-radius:99px;border:1px solid color-mix(in srgb,var(--c) 40%,transparent);background:color-mix(in srgb,var(--c) 8%,transparent)}.ch-nav{grid-column:1 / -1;grid-row:3}.ch-bar{display:block;height:2px;border-radius:2px;background:var(--rule);overflow:hidden}.ch-bar span{display:block;height:100%;background:var(--c);transform-origin:left}.ch-dots{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));margin-top:6px}.ch-dots button{padding:10px 0;border:0;background:none;cursor:pointer;text-align:left;font:inherit;font-size:var(--t-small);color:var(--text-2);font-variant-numeric:tabular-nums;transition:color .3s,transform .4s var(--ease)}.ch-dots button:hover{color:var(--text)}.ch-dots button.on{color:var(--c);font-weight:800;transform:translateY(-3px)}@media (max-width: 900px){.ch-anchor{display:none}.ch-stage{grid-column:1 / -1}.odo{font-size:21vw}.ch-entries{height:330px}.ch-dots button{font-size:.68rem}}.marquee{overflow:hidden;margin:0 0 clamp(56px,8vw,112px);-webkit-user-select:none;-moz-user-select:none;user-select:none}.marquee-row{display:flex;width:-moz-max-content;width:max-content;white-space:nowrap;font-family:var(--display);font-weight:700;letter-spacing:-.045em;line-height:1.05;font-size:clamp(2.8rem,7.5vw,7rem)}.marquee-row span{display:inline-flex;align-items:center}.marquee-row span:after{content:"";width:.22em;height:.22em;border-radius:50%;background:var(--c);margin:0 .45em}.marquee-row.outline{color:transparent;-webkit-text-stroke:1.5px var(--text);opacity:.55}.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px clamp(24px,3vw,48px);margin-top:clamp(48px,6vw,80px)}.skill-group h3{display:flex;align-items:center;gap:10px;font-size:var(--t-small);color:var(--c);font-weight:700;padding-bottom:12px}.skill-group h3 .count{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:99px;font-size:.72rem;color:#fff;background:var(--c)}.skill-line{display:block;height:2px;border-radius:2px;background:var(--c);transform-origin:left;margin-bottom:18px}.skill-group ul{list-style:none;display:flex;flex-wrap:wrap;gap:10px}.skill-group li{display:inline-flex;align-items:center;gap:8px;font-size:1.05rem;padding:8px 16px;border:1px solid var(--rule);border-radius:999px;background:var(--bg);transition:border-color .3s,background-color .3s,color .3s,translate .4s var(--ease)}.skill-group li:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c)}.skill-group li:hover{border-color:var(--c);background:var(--c);color:#fff;translate:0 -3px}.skill-group li:hover:before{background:#fff}@media (max-width: 600px){.skills-grid{grid-template-columns:1fr}}.contact-mail{display:inline-block;font-family:var(--display);font-size:clamp(1.15rem,2.5vw,2.5rem);font-weight:600;letter-spacing:-.04em;line-height:1.1;margin-top:20px;padding:8px 0;overflow-wrap:anywhere}.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:0 28px;margin-top:6px;font-size:var(--t-small)}.btn-text{background:none;border:0;padding:12px 0;color:inherit;font:inherit;cursor:pointer;font-weight:600}.form{display:grid;gap:28px;margin-top:clamp(56px,7vw,96px)}.field label{display:block;font-size:var(--t-small);color:var(--text-2);margin-bottom:6px}.field input,.field textarea{width:100%;background:transparent;border:0;border-bottom:1.5px solid var(--rule);padding:10px 0;font:inherit;font-size:var(--t-lead);color:var(--text);border-radius:0;transition:border-color .3s;resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--signal)}.field-error{color:var(--signal);font-size:var(--t-small);margin-top:6px}.form-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:10px;background:var(--text);color:var(--bg);border:0;font:inherit;font-weight:700;padding:16px 30px;border-radius:999px;cursor:pointer;transition:transform .4s var(--ease),background-color .3s,color .3s}.btn:hover{background:var(--signal);color:#fff;transform:translateY(-2px)}.btn:disabled{opacity:.6;cursor:progress;transform:none}.form-status{font-size:var(--t-small)}.socials{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));-moz-column-gap:32px;column-gap:32px;margin-top:clamp(56px,7vw,96px)}.socials li{border-top:1px solid var(--rule)}.socials a{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0;font-weight:600;transition:color .3s,padding .5s var(--ease)}.socials a:hover{padding-left:8px}.social-handle{display:inline-flex;align-items:center;gap:8px}.social-handle svg{opacity:0;transform:translate(-6px,6px);transition:opacity .3s,transform .5s var(--ease)}.socials a:hover .social-handle svg{opacity:1;transform:none}.mail-chars{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em}.mail-chars>span{display:inline-block}.socials a:hover{color:var(--cobalt)}.socials a span:last-child{color:var(--text-2);font-size:var(--t-small);font-weight:400}@media (max-width: 600px){.socials{grid-template-columns:1fr}}.footer{position:relative;overflow:hidden;min-height:88svh;padding-top:clamp(80px,12vh,140px);border-top:1px solid var(--rule)}.ft-inner{display:flex;justify-content:flex-end}.ft-right{display:flex;flex-direction:column;align-items:flex-end;gap:26px;text-align:right;position:relative;z-index:2}.ft-title{font-family:var(--display);font-weight:700;font-size:clamp(2.4rem,6vw,5.8rem);letter-spacing:-.045em;line-height:1.02}.ft-mask{display:block;overflow:hidden;padding-bottom:.06em}.ft-mask>span{display:block}.ft-socials{display:flex;gap:4px;padding:8px 10px;list-style:none;border-radius:999px;background:var(--text)}.ft-socials a{display:grid;place-items:center;width:60px;height:48px;border-radius:999px;color:var(--bg);transition:background-color .3s,color .3s,transform .4s var(--ease)}.ft-socials a:hover{background:var(--signal);color:#fff;transform:translateY(-2px)}.ft-actions{display:flex;align-items:center;gap:12px}.ft-resume{padding:13px 28px;border-radius:999px;border:2px solid var(--text);font-weight:700;transition:background-color .3s,color .3s}.ft-resume:hover{background:var(--text);color:var(--bg)}.ft-top{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--text);color:var(--bg);transition:background-color .3s,transform .4s var(--ease)}.ft-top:hover{background:var(--signal);transform:translateY(-3px)}.ft-sticker{position:absolute;left:clamp(-20px,-1vw,0px);bottom:0;z-index:1;height:clamp(260px,52svh,480px);width:auto;transform-origin:50% 100%;filter:grayscale(1) contrast(1.05) drop-shadow(3px 0 0 #fff) drop-shadow(-3px 0 0 #fff) drop-shadow(0 3px 0 #fff) drop-shadow(0 -3px 0 #fff) drop-shadow(0 18px 30px rgba(28,35,33,.18))}.ft-sticker:hover{animation:ft-wave .9s var(--ease)}@keyframes ft-wave{0%,to{rotate:0deg}25%{rotate:-4deg}60%{rotate:3deg}}.ft-baseline{position:absolute;left:clamp(200px,24vw,400px);right:var(--gutter);bottom:64px;z-index:0;display:flex;align-items:flex-end;gap:20px}.ft-line{flex:1;height:2px;margin-bottom:20px;background:var(--text);transform-origin:left}.ft-sign{flex:0 0 auto;width:clamp(200px,22vw,340px);overflow:visible}.ft-sign text{font-family:Mrs Saint Delafield,cursive;font-size:78px;fill:transparent;stroke:var(--text);stroke-width:1.1;stroke-dasharray:1800;stroke-dashoffset:1800}.ft-sign text.draw{animation:ft-sign 2.4s ease-in-out 1s forwards}@keyframes ft-sign{70%{stroke-dashoffset:0;fill:transparent}to{stroke-dashoffset:0;fill:var(--text)}}.ft-meta{position:absolute;left:0;right:0;bottom:18px;z-index:0;display:flex;justify-content:flex-end;gap:24px;font-size:.8rem;color:var(--text-2)}@media (max-width: 720px){.footer{min-height:92svh;padding-top:72px}.ft-title{font-size:10.5vw}.ft-socials a{width:52px;height:44px}.ft-sticker{height:34svh}.ft-baseline{left:40%;bottom:52px}.ft-sign{width:170px}.ft-meta{flex-direction:column;align-items:flex-end;gap:2px;bottom:12px;font-size:.72rem}}@media (prefers-reduced-motion: reduce){.ft-sign text{stroke-dashoffset:0;fill:var(--text)}}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;pointer-events:all}.ld-strip-bg{position:absolute;top:0;bottom:0;background:var(--bg)}.ld-content{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:auto 1fr auto;justify-items:center;padding:clamp(20px,3vw,40px) var(--gutter)}.ld-top{width:100%;display:flex;justify-content:space-between;font-size:var(--t-small);font-weight:600}.ld-top span:last-child{color:var(--text-2)}.ld-mono{align-self:center;width:min(62vw,46vh,520px);aspect-ratio:1}.ld-bottom{width:100%;display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.ld-count{display:flex;align-items:flex-start;height:1em;overflow:hidden;font-family:var(--display);font-weight:700;line-height:1;letter-spacing:-.05em;font-size:clamp(4.5rem,14vw,13rem)}.ld-col{display:block;height:1em;overflow:hidden}.ld-strip{display:flex;flex-direction:column;transition:transform .45s cubic-bezier(.16,1,.3,1)}.ld-strip span{display:block;height:1em;line-height:1em;text-align:center}.ld-pct{font-size:.32em;color:var(--signal);margin:.12em 0 0 .1em}.ld-status{display:flex;align-items:center;gap:10px;padding-bottom:1.2em;font-size:var(--t-small);font-weight:600;color:var(--text-2)}.ld-dot{width:8px;height:8px;border-radius:50%;background:var(--signal);animation:ld-pulse 1s ease-in-out infinite alternate}@keyframes ld-pulse{0%{opacity:.25;transform:scale(.8)}to{opacity:1;transform:scale(1.2)}}.ld-bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--signal);transform-origin:left;transition:transform .3s}@media (max-width: 720px){.ld-bottom{flex-direction:column;align-items:flex-start;gap:4px}.ld-status{padding-bottom:0}}.scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden}.page{position:relative;z-index:2}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important}}
