@font-face{font-family:Satoshi;src:url(/fonts/satoshi/Satoshi-Variable.woff2) format("woff2");font-style:normal;font-weight:300 900;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/satoshi/Satoshi-VariableItalic.woff2) format("woff2");font-style:italic;font-weight:300 900;font-display:swap}.page .project-cover.mera-cover{background-color:transparent;background-image:var(--glass-face)}.mera-cover-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:20px 16px 56px;gap:12px}.mera-cover-lock{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;font-size:10px;font-weight:500;line-height:1.4;color:var(--ink)}.mera-cover-brand{display:block;position:relative;width:126px;aspect-ratio:644 / 353;overflow:hidden;filter:drop-shadow(0 0 8px rgb(0 128 255 / .12))}.project-cover.mera-cover .mera-cover-brand img{position:absolute;width:167.702%;max-width:none;height:auto;padding:0;left:-31.522%;top:-119.83%;object-fit:contain}.mera-cover-logo-blue{display:none}:root[data-theme=light] .mera-cover-logo-blue{display:block}:root[data-theme=light] .mera-cover-logo-white{display:none}.mera-cover-subtitle{font-size:15px;font-weight:600;line-height:1.4;color:var(--ink)}.mera-cover-keywords{display:flex;justify-content:center;gap:6px;max-width:100%}.mera-cover-keywords>span{padding:4px 7px;border:1px solid color-mix(in srgb,var(--ink) 24%,transparent);border-radius:999px;font-size:10px;line-height:1.4;font-weight:500;color:var(--ink);white-space:nowrap}@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.page .project-cover.mera-cover{background:var(--page-bg)}}@media(forced-colors:active){.page .project-cover.mera-cover{background:Canvas}.mera-cover-keywords>span{color:CanvasText;border-color:CanvasText}}.page .project-cover.mera-cover{--background:#090909;--foreground:#fff;--ink:#fff;background:linear-gradient(-75deg,#0c1015eb,#141920f2,#0a0d12eb);-webkit-backdrop-filter:none;backdrop-filter:none}.mera-thumbnail{display:block;position:absolute;inset:0;container-type:inline-size;text-align:left}.mera-thumbnail-header{position:absolute;left:22px;top:22px}.mera-thumbnail .mera-cover-brand{width:68px;filter:none}.mera-thumbnail .mera-cover-logo-blue{display:none}:root[data-theme] .mera-thumbnail .mera-cover-logo-white{display:block}.mera-thumbnail-heading{position:absolute;left:22px;right:22px;top:34%;display:flex;flex-direction:column;gap:5px}.mera-thumbnail-heading>span{font-size:3.7cqw;line-height:1.2;font-weight:500;color:#bac3d0;letter-spacing:.01em}.mera-thumbnail-heading>strong{font-size:8.4cqw;line-height:1.05;font-weight:900;color:#fff;letter-spacing:-.035em}.mera-thumbnail-focus{position:absolute;left:22px;right:76px;bottom:22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mera-thumbnail-focus>span{display:flex;flex-direction:column;gap:7px;min-width:0}.mera-thumbnail-focus svg{flex:none;color:#85b6ed}.mera-thumbnail-focus>span>span{font-size:3cqw;font-weight:500;line-height:1.35;color:#d8dee7}.project-cover.mera-cover .mera-thumbnail .mera-cover-lock{position:absolute;top:20px;right:20px;left:auto;display:grid;place-items:center;width:32px;height:32px;padding:0;color:#c1cad7;-webkit-backdrop-filter:none;backdrop-filter:none}.project-cover.mera-cover .mera-thumbnail .mera-cover-lock svg{width:15px;height:15px}@media(prefers-contrast:more){.mera-thumbnail-heading>span,.mera-thumbnail-focus>span>span{color:#fff}}@media(forced-colors:active){.page .project-cover.mera-cover{background:Canvas}.mera-thumbnail-heading>span,.mera-thumbnail-heading>strong,.mera-thumbnail-focus>span>span,.mera-thumbnail-focus svg,.project-cover.mera-cover .mera-thumbnail .mera-cover-lock{color:CanvasText}}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}@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-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.isolate{isolation:isolate}.-z-10{z-index:-10}.grid{display:grid}.hidden{display:none}.size-full{width:100%;height:100%}.resize{resize:both}.overflow-hidden{overflow:hidden}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}.about-intro{max-width:70ch;margin:0 0 28px;font-size:16px;line-height:1.7}.about .about-canvas{height:500px;background-color:#181a20;background-image:radial-gradient(circle,#3a3d47 1.3px,transparent 1.5px);background-size:32px 32px;background-position:16px 16px;border-radius:4px}.interest-photo{position:absolute;width:210px;padding:6px 6px 12px;border:0;border-radius:5px;background:#f8f5ee;color:#36343b;box-shadow:0 12px 24px #0004;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.interest-photo img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:2px;pointer-events:none}.photo-caption{display:block;font-size:12px;font-weight:500;margin-top:10px}.interest-photo-0{left:7%;top:55px;transform:rotate(-7deg)}.interest-photo-1{left:38%;top:190px;transform:rotate(4deg)}.interest-photo-2{left:68%;top:65px;transform:rotate(7deg)}.interest-photo:active,.interest-photo.is-dragging{cursor:grabbing;z-index:3}.interest-photo:focus-visible{z-index:3}.pushpin{position:absolute;width:20px;height:20px;left:calc(50% - 10px);top:-9px;border-radius:50%;background:#e96958;box-shadow:inset -3px -3px 4px #a62f3e80,0 5px 3px #0004;pointer-events:none}.pushpin:after{content:"";position:absolute;width:6px;height:6px;top:3px;left:4px;border-radius:50%;background:#ffa695}.about .canvas-hint{left:0;bottom:17px;width:100%;text-align:center;color:#b2b3b9}.portrait{position:relative;isolation:isolate}.portrait:after{content:"";position:absolute;inset:-40%;pointer-events:none;background:linear-gradient(110deg,transparent 40%,#ffffff08 44%,#ffffff80 50%,#ffffff08 56%,transparent 60%);transform:translate(-140%);animation:portrait-shine 6s ease-in-out infinite}@keyframes portrait-shine{0%,66%{transform:translate(-140%)}86%,to{transform:translate(140%)}}@media(prefers-reduced-motion:reduce){.portrait:after{animation:none;display:none}}@media(max-width:767px){.about-intro{font-size:14px}.about .about-canvas{height:730px;background-size:26px 26px}.interest-photo{width:170px}.interest-photo-0{left:7%;top:40px}.interest-photo-1{left:calc(93% - 170px);top:265px}.interest-photo-2{left:9%;top:490px}}:root{color-scheme:light;--primary: #141414;--primary-hover: #363636;--on-primary: #ffffff;--page-bg: #ffffff;--ink: #141414;--muted: #707070;--surface: #f3f3f3;--surface-label: #686868;--control: #e8e8e8;--control-hover: #e0e0e0;--subtle: #707070;--line: #e0e0e0;--hairline-soft: #f0f0f0;--focus: #141414;--board: #f3f3f3;--board-dot: #d2d2d2;--footer-bg: #141414;--footer-ink: #ffffff;--footer-muted: #adadad}:root[data-theme=dark]{color-scheme:dark;--primary: #ffffff;--primary-hover: #e0e0e0;--on-primary: #141414;--page-bg: #141414;--ink: #ffffff;--muted: #adadad;--surface: #262626;--surface-label: #adadad;--control: #363636;--control-hover: #414141;--subtle: #adadad;--line: #414141;--hairline-soft: #363636;--focus: #ffffff;--board: #262626;--board-dot: #4a4a4a;--footer-bg: #090909;--footer-ink: #ffffff;--footer-muted: #adadad}html.lenis{scroll-behavior:auto}html{scrollbar-gutter:stable}.theme-toggle svg{transition:transform .26s cubic-bezier(.16,1,.3,1)}.theme-toggle:hover svg{transform:rotate(-12deg)}.theme-changing .theme-toggle svg{animation:theme-icon-turn .42s cubic-bezier(.16,1,.3,1)}@keyframes theme-icon-turn{0%{transform:rotate(-70deg) scale(.65);opacity:.4;filter:blur(2px)}to{transform:rotate(0) scale(1);opacity:1;filter:blur(0)}}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-new(root){z-index:2}:root.theme-changing::view-transition-new(root){-webkit-mask-image:var(--theme-wave-mask, linear-gradient(transparent, transparent));mask-image:var(--theme-wave-mask, linear-gradient(transparent, transparent));-webkit-mask-size:var(--theme-wave-size, 100% 100%);mask-size:var(--theme-wave-size, 100% 100%);-webkit-mask-position:var(--theme-wave-start, 0 0);mask-position:var(--theme-wave-start, 0 0);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}::view-transition-old(root){z-index:1}::view-transition{pointer-events:none}.theme-fallback,.theme-fallback body,.theme-fallback .page *,.theme-fallback .dock,.theme-fallback .dock *,.theme-fallback .draft-label{transition:background-color .48s ease,color .48s ease,border-color .48s ease}@media(prefers-reduced-motion:reduce){.theme-toggle,.theme-toggle svg{transition:none}.theme-toggle:hover svg{transform:none}.theme-changing .theme-toggle svg{animation:none}}.case-transition{position:fixed;inset:0;z-index:500;overflow:hidden;outline:none;cursor:wait}.case-transition[hidden]{display:none}.case-shutter{position:absolute;left:0;right:0;height:calc(50% + 1px);background:linear-gradient(155deg,#ffffff1a,#ffffff09 55%,#ffffff12),#09090942;-webkit-backdrop-filter:blur(24px) saturate(.85);backdrop-filter:blur(24px) saturate(.85);will-change:transform}.case-shutter-top{top:0;transform:translateY(-100%);border-bottom:1px solid rgb(255 255 255 / .22);box-shadow:0 20px 44px -14px #0000008c,inset 0 -1px #ffffff1f;z-index:2}.case-shutter-bottom{bottom:0;transform:translateY(100%);border-top:1px solid rgb(255 255 255 / .18);box-shadow:0 -20px 44px -14px #0000007a,inset 0 1px #ffffff1a;z-index:1}:root[data-theme=light] .case-shutter{background:linear-gradient(155deg,#ffffff1a,#ffffff09 55%,#ffffff12),#f5f5f542}:root[data-theme=light] .case-shutter-top{border-bottom-color:#ffffffa6;box-shadow:0 20px 44px -14px #1414143d,inset 0 -1px #ffffff73}:root[data-theme=light] .case-shutter-bottom{border-top-color:#ffffff8c;box-shadow:0 -20px 44px -14px #14141433,inset 0 1px #fff6}.case-transition-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.case-transition-loader{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%);width:min(54vw,420px);color:var(--ink);font:500 12px/1.5 Satoshi,sans-serif;white-space:nowrap;text-align:center;opacity:0;pointer-events:none;transition:opacity .12s ease-out}.case-transition-loader[data-loading=true]{opacity:1}.case-transition-loading-line{display:block;position:relative;height:2px;margin-top:-1px;overflow:hidden;background:color-mix(in srgb,currentColor 12%,transparent);border-radius:2px;box-shadow:0 0 12px color-mix(in srgb,currentColor 18%,transparent)}.case-transition-loading-line:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,currentColor 50%,transparent);transform:translate(-100%);animation:case-loading-line .85s cubic-bezier(.4,0,.2,1) infinite;animation-play-state:paused}.case-transition-loading-copy{display:block;padding-top:12px;opacity:.8}.case-transition-loader[data-loading=true] .case-transition-loading-line:after{animation-play-state:running}.page-hidden .case-transition-loading-line:after{animation-play-state:paused!important}@keyframes case-loading-line{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.case-transition{display:none}}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root[data-theme] .case-shutter{background:var(--page-bg)}}@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){:root[data-theme] .case-shutter{background:var(--page-bg);-webkit-backdrop-filter:none;backdrop-filter:none}}@media(forced-colors:active){:root[data-theme] .case-shutter{background:Canvas;border-color:CanvasText;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}}.reviews h2{margin-bottom:48px}.testimonial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0 16px 16px}.testimonial-slot{min-width:0;display:flex}.testimonial-card{--card-angle: 2deg;display:flex;flex-direction:column;width:100%;padding:24px;background:var(--surface);border-radius:16px;box-shadow:0 2px 12px #0000000a;transform:rotate(var(--card-angle))}.testimonial-slot:nth-child(2n) .testimonial-card{--card-angle: -2deg}.testimonial-card .quote{flex:1;min-height:0;margin:0 0 24px;color:var(--ink);font-size:16px;line-height:1.6;overflow-wrap:anywhere}.testimonial-card .reviewer{gap:12px}.testimonial-card .reviewer>div:last-child{min-width:0}.testimonial-card .initials{flex:0 0 48px;width:48px;height:48px;background:var(--primary);color:var(--on-primary);font-size:16px;font-weight:500}.testimonial-card h3{font-size:16px;margin:0;line-height:1.5}.testimonial-card .reviewer p{font-size:14px;line-height:1.5}.testimonial-controls{display:none}@media(max-width:767px){.testimonial-grid{grid-template-columns:minmax(0,1fr);padding-bottom:16px}.testimonial-slot:not(.is-active){display:none}.testimonial-controls{display:flex;justify-content:center;gap:12px;margin-top:24px}.testimonial-controls button{width:40px;height:40px}}:root{font-family:Satoshi,sans-serif;font-synthesis:none;font-weight:400;color:var(--ink);background:var(--page-bg)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--page-bg)}button,a{-webkit-tap-highlight-color:transparent;caret-color:var(--ink)}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:5px}::selection{background:var(--ink);color:var(--page-bg)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background:var(--subtle);border-radius:9999px;border:3px solid var(--page-bg)}.page{width:min(848px,calc(100% - 160px));margin:88px auto 0}.hero{text-align:center;padding:0 0 64px}.portrait{width:96px;height:96px;margin:auto;border-radius:24px;overflow:hidden;background:var(--surface);color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.portrait span{font-size:12px}.portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}h1,h2,h3{font-weight:652;letter-spacing:0;text-wrap:balance}h1{font-size:56px;line-height:1.08;margin:24px auto;max-width:800px}h2{font-size:32px;line-height:1.13;margin:0 0 32px}h3{font-size:24px;line-height:1.25;margin:24px 0 8px}p{color:var(--muted);font-size:16px;line-height:1.43;margin:0}.bio{max-width:640px;margin:0 auto;font-size:20px;font-weight:300;line-height:1.38}.hero-action{height:48px;display:inline-flex;gap:12px;align-items:center;justify-content:center;margin-top:28px;padding:0 24px;border-radius:9999px;font-size:16px;font-weight:600}.skill-window{overflow:hidden;margin:48px auto 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.skill-track{display:flex;gap:12px;width:max-content;animation:marquee 35s linear infinite}.skill-track span{background:var(--surface);color:var(--ink);border-radius:9999px;padding:12px 20px;font-size:14px;white-space:nowrap}.projects{padding:0 0 80px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 24px}.project-grid article{min-width:0}.project-grid article p{max-width:60ch}.project-cover{display:block;width:100%;aspect-ratio:1.5;position:relative;padding:0;border:0;border-radius:24px;overflow:hidden;background:var(--surface);color:var(--ink);transition:transform .25s ease}.project-cover:hover{transform:translateY(-4px)}.project-cover img{width:100%;height:100%;object-fit:cover}.placeholder-cover{height:100%;padding:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.cover-category{position:absolute;top:24px;left:24px;font-size:12px;color:var(--muted)}.cover-help{font-size:16px;font-weight:600}.cover-format{font-size:12px;color:var(--muted)}.project-arrow{position:absolute;right:24px;bottom:24px;width:44px;height:44px;border-radius:9999px;display:grid;place-items:center;background:var(--primary);color:var(--on-primary)}.reviews,.tools,.about,.experience{padding:56px 0}.reviewer{display:flex;align-items:center;gap:12px}.reviewer p{font-size:14px}.review-controls{display:flex;gap:12px}.review-controls button{width:44px;height:44px;border:0;border-radius:9999px;background:var(--surface);color:var(--ink);display:grid;place-items:center}.review-controls button:hover{background:var(--control-hover)}.tools-row{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;padding:16px 0 0}.tool{flex:0 0 64px;display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--muted);font-size:12px}.tool>span{white-space:nowrap}.tool-logo{width:64px;height:64px;border-radius:30%;background:var(--surface);display:grid;place-items:center}.tool-logo img{display:block;width:44px;height:44px;object-fit:contain}.tool-logo-aftereffects img{width:48px;height:48px}.tool-logo-canva img{width:52px;height:52px}.tool-logo-cursor{background:#141414}.tool-logo-cursor img{width:35px;height:40px}.tool-logo-lovable img{width:42px;height:42px}.about-canvas{position:relative;overflow:hidden}.canvas-hint{position:absolute;pointer-events:none;font-size:12px}.experience-row{display:flex;gap:16px;align-items:center;padding:28px 0}.company-mark{width:56px;height:56px;flex-shrink:0;border-radius:30%;background:var(--surface);color:var(--muted);display:grid;place-items:center}.experience-row h3{margin:0 0 4px;font-size:20px}.experience-row p{font-size:14px}.experience-row>span{margin-left:auto;color:var(--muted);font-size:16px}footer{text-align:center;margin-top:80px;padding:96px 32px 48px;border-radius:24px 24px 0 0;background:var(--footer-bg);color:var(--footer-ink)}footer h2{font-size:56px;line-height:1;margin-bottom:28px}footer p,footer small{color:var(--footer-muted)}.contact-link{display:inline-flex;gap:12px;align-items:center;min-height:48px;padding:0 24px;border-radius:9999px;background:var(--footer-ink);color:var(--footer-bg);font-weight:600}.social-links{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin:32px 0}.social-links a{display:inline-flex;gap:8px;align-items:center;min-height:44px;font-size:16px;color:var(--footer-muted)}.social-links a:hover{color:var(--footer-ink)}footer small{font-size:12px}.dock{position:fixed;left:32px;top:50%;transform:translateY(-50%);width:70px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:12px;border:1px solid var(--line);border-radius:24px;background:var(--surface);z-index:10}.nav-brand{display:none}.dock a:not(.nav-brand){position:relative;width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:9999px;color:var(--surface-label);font-weight:600;font-size:14px;transition:background .18s,color .18s}.dock a:not(.nav-brand) svg{display:block;width:22px;height:22px}.dock a:not(.nav-brand) .dock-label{position:absolute;left:60px;top:50%;transform:translateY(-50%);padding:8px 12px;border-radius:9999px;background:var(--primary);color:var(--on-primary);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .18s}.dock a:hover .dock-label,.dock a:focus-visible .dock-label{opacity:1}.dock a.active,.dock a:hover{background:var(--control);color:var(--ink)}.dock a:not(.nav-brand).active{background:var(--primary);color:var(--on-primary)}.dock-divider{width:28px;height:1px;background:var(--line);margin:0}.theme-toggle{width:44px;height:44px;flex-shrink:0;padding:0;border:0;border-radius:9999px;background:transparent;color:var(--ink);display:grid;place-items:center}.theme-toggle:hover{background:var(--control)}.theme-toggle[aria-disabled=true]{cursor:wait}.skip-link{position:fixed;left:16px;top:-80px;padding:12px 24px;background:var(--primary);color:var(--on-primary);border-radius:9999px;z-index:600}.skip-link:focus{top:16px}.dialog-backdrop{position:fixed;inset:0;z-index:20;background:#0009;display:grid;place-items:center;padding:24px}.project-dialog{width:min(560px,100%);padding:40px;border-radius:24px;background:var(--page-bg);position:relative}.project-dialog h2{font-size:32px;padding-right:40px}.close-dialog{position:absolute;right:16px;top:16px;height:44px;width:44px;border:0;border-radius:9999px;background:var(--surface);display:grid;place-items:center}.dialog-tip{margin-top:24px;font-size:14px}.dialog-tip code{color:var(--ink);overflow-wrap:anywhere}.about .about-canvas{border-radius:24px;background-color:var(--board);background-image:radial-gradient(circle,var(--board-dot) 1.3px,transparent 1.5px)}.about-intro{max-width:70ch;font-size:20px;font-weight:300;line-height:1.5;margin-bottom:40px}.about .canvas-hint{color:var(--muted);letter-spacing:0}.interest-photo{background:var(--page-bg);color:var(--ink);border-radius:16px;box-shadow:none;outline:1px solid var(--line)}.interest-photo img{border-radius:12px}.pushpin{background:var(--primary);box-shadow:none}.pushpin:after{background:var(--muted)}.testimonial-card{background:var(--page-bg);border:1px solid var(--hairline-soft);box-shadow:none}.testimonial-card .initials{background:var(--surface);color:var(--ink);border-radius:9999px;display:grid;place-items:center}.reviews .testimonial-controls{display:none}.portrait span,.about .canvas-hint,.cover-format{color:var(--ink)}.nav-brand{border-radius:9999px}.dock a:not(.nav-brand){color:var(--surface-label)}.dock a:not(.nav-brand):hover{color:var(--ink)}.dock a:not(.nav-brand).active{color:var(--on-primary)}.cover-category{color:var(--surface-label)}@keyframes marquee{to{transform:translate(-50%)}}@media(max-width:1100px){.dock{left:12px;width:62px;padding:8px}}@media(max-width:767px){html{scroll-padding-top:32px}.page{width:calc(100% - 48px);margin-top:48px}.hero{padding:0 0 56px}h1{font-size:clamp(36px,8vw,48px);margin:24px auto}h2{font-size:28px;line-height:1.13}h3{font-size:24px}.bio{font-size:18px;max-width:40ch}.hero-action{margin-top:24px}.skill-window{margin-top:40px}.project-grid{grid-template-columns:minmax(0,1fr);gap:40px}.projects{padding-bottom:48px}.reviews,.tools,.about,.experience{padding:56px 0}.placeholder-cover{padding:24px}.cover-category{left:20px;top:20px}.project-arrow{right:20px;bottom:20px}.dock{top:auto;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);flex-direction:row;width:max-content;max-width:calc(100% - 24px);gap:2px;padding:6px;border-radius:24px}.dock a:not(.nav-brand){padding:0;width:44px;min-height:44px;flex-shrink:0}.dock a:not(.nav-brand) .dock-label{display:none}.dock a:not(.nav-brand) svg{width:20px;height:20px}.dock-divider{display:none}.theme-toggle{width:44px;height:44px}.experience-row{gap:12px;flex-wrap:wrap}.experience-row>span{margin-left:68px;width:100%;font-size:14px}.experience-row h3{font-size:18px}footer{margin-top:56px;padding:80px 24px 120px}footer h2{font-size:40px}.project-dialog{padding:32px 24px}.project-dialog h2{font-size:28px}.about-intro{font-size:18px;margin-bottom:32px}.reviews .testimonial-controls{display:flex}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.skill-track{animation:none}.project-cover,.dock a,.hero-action{transition:none}}.page{width:100%;margin:0}.page>section:not(.hero){width:min(848px,calc(100% - 160px));margin-inline:auto}.page>.projects{padding-top:64px}.hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;min-height:100svh;border-radius:0;padding:80px 80px 144px;margin:0;color:#fff;background:#000}.hero-effect{position:absolute;inset:0;z-index:0;pointer-events:none}.hero:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#00000018,#0006 35%,#0005 65%,#00000012)}.hero:after{content:"";position:absolute;inset:auto 0 0;height:clamp(96px,18svh,180px);z-index:3;pointer-events:none;background:linear-gradient(180deg,transparent,var(--page-bg))}.hero-content{position:relative;z-index:2;width:min(848px,100%);min-width:0}.hero .bio{color:#f1f5f2}.hero .portrait{background:#ffffff18;color:#fff}.hero .portrait span{color:#fff}.hero .skill-track span{background:#ffffff14;color:#fff;border:1px solid #ffffff24}.hero a:focus-visible{outline-color:#fff}@media(max-width:767px){.hero{padding:48px 24px 144px}.page>section:not(.hero){width:calc(100% - 48px)}.page>.projects{padding-top:56px}}:root{--portfolio-width: 736px;--section-space: 40px;font-family:Satoshi,sans-serif;font-weight:400}.page>section:not(.hero){width:min(var(--portfolio-width),calc(100% - 160px));margin-inline:auto}.hero{padding:64px 80px 112px}.hero-content{width:min(var(--portfolio-width),100%)}.portrait{width:80px;height:80px;border-radius:20px}.hero .portrait{position:relative}.hero .portrait img{position:absolute;width:184.5%;max-width:none;height:auto;left:-40%;top:-137.5%;filter:none}.portrait>svg{width:36px;height:36px}h1{font-size:36px;font-weight:900;letter-spacing:-.035em;line-height:1.2;margin:24px auto 20px}h2{font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.3;margin-bottom:24px}h3{font-size:18px;font-weight:600;line-height:1.4;margin:16px 0 8px}p{font-size:14px;line-height:1.6}.bio{max-width:480px;font-size:16px;line-height:1.5;font-weight:400;text-wrap:pretty}.hero-action{height:44px;font-size:14px;padding-inline:20px;margin-top:24px;gap:8px}.skill-window{margin-top:32px}.skill-track{gap:12px}.skill-track span{font-size:14px;padding:8px 16px}.page>.projects{padding-top:48px;padding-bottom:56px}.project-grid{gap:32px 24px}.project-cover{border-radius:20px}.project-grid article{overflow:hidden;border-radius:24px;padding:10px 10px 22px;background:var(--glass-face);box-shadow:inset 0 1px 1px #ffffff26,0 8px 24px #0000000f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.project-grid article>h3{margin:20px 14px 8px}.project-grid article>p{margin:0 14px}.placeholder-cover{padding:24px;gap:8px}.placeholder-cover>svg{width:36px;height:36px}.cover-category{top:16px;left:16px}.cover-help{font-size:14px}.project-arrow{right:16px;bottom:16px}.reviews,.tools,.about,.experience{padding:var(--section-space) 0}.reviews h2{margin-bottom:32px}.testimonial-card{padding:20px}.testimonial-card .quote{font-size:14px;line-height:1.6;margin-bottom:20px}.testimonial-card .initials{flex-basis:40px;width:40px;height:40px;font-size:14px}.testimonial-card h3{font-size:14px}.testimonial-card .reviewer p{font-size:12px}.about-intro{font-size:16px;font-weight:400;line-height:1.6;margin-bottom:24px}.about .about-canvas{height:420px}.interest-photo{width:180px}.interest-photo-0{left:7%;top:44px}.interest-photo-1{left:37%;top:140px}.interest-photo-2{left:67%;top:52px}.experience-row{padding:20px;margin-top:16px;border-radius:24px}.experience-row h3{font-size:16px}.experience-row p{font-size:13px}.experience-row>span{font-size:14px}.company-mark{width:44px;height:44px}.company-mark>svg{width:20px;height:20px}footer{width:min(var(--portfolio-width),calc(100% - 160px));margin:40px auto 32px;padding:56px 32px 32px;border-radius:24px}footer h2{font-size:32px;line-height:1.2;margin-bottom:20px}.social-links{margin:24px 0}.social-links a,.contact-link{font-size:14px}.project-dialog{width:min(480px,100%);padding:32px}.project-dialog h2{font-size:24px}.dock{width:66px;padding:10px;gap:6px;border-radius:24px}@media(min-width:768px){.dock{left:24px}}.dock a:not(.nav-brand) svg{width:18px;height:18px}.dock a:not(.nav-brand) .dock-label{left:56px}@media(max-width:767px){:root{--section-space: 32px}.page>section:not(.hero),footer{width:min(var(--portfolio-width),calc(100% - 48px))}.hero{padding:48px 24px 112px}h1{font-size:32px}h2{font-size:24px}h3{font-size:18px}.bio{font-size:16px}.project-grid{gap:32px}.about-intro{font-size:14px}.about .about-canvas{height:620px}.interest-photo{width:148px}.interest-photo-0{left:7%;top:32px}.interest-photo-1{left:calc(93% - 148px);top:222px}.interest-photo-2{left:9%;top:412px}.experience-row{padding:16px}.experience-row>span{margin-left:56px}footer{margin-top:32px;margin-bottom:100px;padding:40px 20px 32px}footer h2{font-size:28px}.project-dialog{padding:32px 24px}.dock{width:max-content;padding:8px;gap:6px}}@property --glass-x{syntax: "<percentage>"; inherits: false; initial-value: 18%;}@property --glass-y{syntax: "<percentage>"; inherits: false; initial-value: 0%;}@property --glass-light{syntax: "<number>"; inherits: false; initial-value: .18;}@property --glass-edge-angle{syntax: "<angle>"; inherits: false; initial-value: 125deg;}@property --glass-edge-opacity{syntax: "<number>"; inherits: false; initial-value: .32;}:root{--page-bg: #eaf0fa;--ink: #14243e;--muted: #435571;--surface-label: #435571;--primary: #14243e;--primary-hover: #263c60;--focus: #14243e;--board-dot: #49679538;--glass-fill: rgba(247, 251, 255, .12);--glass-specular: rgba(255, 255, 255, .48);--glass-edge: rgba(255, 255, 255, .62);--glass-highlight: rgba(255, 255, 255, .94);--glass-shade: rgba(49, 76, 115, .09);--glass-shadow: 0 14px 40px -16px #27467035, 0 3px 8px -4px #27467018;--glass-reflection: linear-gradient(175deg, #ffffff66 0%, #ffffff0a 12%, transparent 30%, transparent 88%, #8b81e826 100%), radial-gradient(ellipse at -5% 60%, #3bdbef38, transparent 40%), radial-gradient(ellipse at 100% 105%, #8270e62b, transparent 44%);--glass-rim: conic-gradient(from 125deg, #ffffffc9, #8c65ed9c 12%, #68d5f1b3 27%, #ffffffd9 38%, #ffffff40 52%, #ffffffd9 68%, #95e8ef96 81%, #ffffff33 92%, #ffffffc9);--glass-hover: rgba(255, 255, 255, .58);--glass-dock: rgba(244, 249, 255, .42);--glass-control: rgba(255, 255, 255, .5);--ease-glass: cubic-bezier(.16, 1, .3, 1);--subtle: #637795;--line: #57729730;--glass-saturation: 170%;--grain-opacity: .26}:root[data-theme=dark]{--page-bg: #090909;--ink: #f5f8ff;--muted: #cad7ed;--surface-label: #cad7ed;--primary: #f5f8ff;--primary-hover: #dce9ff;--on-primary: #10213c;--focus: #f5f8ff;--board-dot: #c1d8ff30;--glass-fill: rgba(7, 13, 29, .1);--glass-specular: rgba(214, 240, 255, .18);--glass-edge: rgba(180, 208, 246, .24);--glass-highlight: rgba(232, 243, 255, .48);--glass-shade: rgba(2, 6, 18, .38);--glass-shadow: 0 20px 44px -20px #010715b3, 0 5px 10px -5px #01071580;--glass-reflection: linear-gradient(175deg, #e6f6ff14 0%, #b7dcff03 12%, transparent 30%, transparent 88%, #77749622 100%), radial-gradient(ellipse at -5% 60%, #729db32b, transparent 38%), radial-gradient(ellipse at 100% 105%, #8580a626, transparent 44%), radial-gradient(ellipse at 95% 0%, #a4bdc924, transparent 38%);--glass-rim: conic-gradient(from 125deg, #ecf3ffb3, #8580ad99 12%, #80aec29c 27%, #f1f5ffcc 38%, #7797c133 52%, #e8f1ffb3 68%, #a3bcc58c 81%, #8ba8ce33 92%, #ecf3ffb3);--glass-hover: rgba(48, 70, 105, .48);--glass-dock: rgba(7, 13, 29, .24);--glass-control: rgba(164, 192, 232, .14);--subtle: #93a7c3;--line: #bdd6ff24;--glass-saturation: 125%;--grain-opacity: .4}#root{position:relative;isolation:isolate}:is(section,footer)[data-motion=paused]:before,:is(section,footer)[data-motion=paused] *:before,:is(section,footer)[data-motion=paused] *:after,:is(section,footer)[data-motion=paused] .skill-track{animation-play-state:paused!important}.page-hidden *,.page-hidden *:before,.page-hidden *:after{animation-play-state:paused!important}.interest-photo.is-dragging{will-change:translate}.interest-photo img{height:auto}.site-backdrop{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:var(--page-bg)}.backdrop-scene{position:absolute;inset:-96px;will-change:transform}.site-grain{position:absolute;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E")}.site-dots{position:absolute;inset:0;pointer-events:none;color:#f5f8ff4d;filter:blur(1.2px)}.page,footer{position:relative;z-index:1}.hero{background:transparent;color:var(--ink)}.hero:before,.hero:after{content:none}@media(prefers-reduced-motion:reduce){.backdrop-scene{transform:none!important;will-change:auto}}@media(forced-colors:active){.site-backdrop{display:none}}.hero .bio,.hero .portrait,.hero .portrait span,.hero .skill-track span{color:var(--ink)}.hero a:focus-visible{outline-color:var(--focus)}.project-cover.mera-cover{background:#f8fafc}.project-cover.mera-cover img{object-fit:contain;padding:30px}.project-cover.mera-cover .project-arrow{color:#17344c;background:#ffffffc9}@property --angle-1{syntax: "<angle>"; inherits: false; initial-value: -75deg;}@property --angle-2{syntax: "<angle>"; inherits: false; initial-value: -45deg;}:root{--background: #090909;--foreground: #fff;--glass-face: linear-gradient(-75deg,oklch(from var(--background) l c h / 5%),oklch(from var(--background) l c h / 20%),oklch(from var(--background) l c h / 5%))}.glass-button-wrap{--anim-time: .4s;--anim-ease: cubic-bezier(.25,1,.5,1);--border-width: clamp(1px,.0625em,4px);z-index:2;transform-style:preserve-3d;transition:transform var(--anim-time) var(--anim-ease);position:relative;display:inline-flex;align-items:center;border-radius:9999px;vertical-align:middle}.glass-button-shadow{--shadow-cutoff-fix: 2em;width:calc(100% + var(--shadow-cutoff-fix));height:calc(100% + var(--shadow-cutoff-fix));top:calc(0% - var(--shadow-cutoff-fix)/2);left:calc(0% - var(--shadow-cutoff-fix)/2);filter:blur(clamp(2px,.125em,12px));transition:filter var(--anim-time) var(--anim-ease);pointer-events:none;position:absolute}.glass-button-shadow:after{content:"";background:linear-gradient(180deg,oklch(from var(--foreground) l c h / 20%),oklch(from var(--foreground) l c h / 10%));width:calc(100% - var(--shadow-cutoff-fix) - .25em);height:calc(100% - var(--shadow-cutoff-fix) - .25em);top:calc(var(--shadow-cutoff-fix) - .5em);left:calc(var(--shadow-cutoff-fix) - .875em);box-sizing:border-box;transition:all var(--anim-time) var(--anim-ease);opacity:1;border-radius:9999px;padding:.125em;position:absolute;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;mask-mode:match-source,match-source}.glass-button-wrap>.glass-button.glass-button{-webkit-tap-highlight-color:transparent;appearance:none;position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:0;border:0;border-radius:9999px;font-family:inherit;font-size:16px;font-weight:500;line-height:1.5;text-decoration:none;color:var(--foreground);cursor:pointer;-webkit-backdrop-filter:blur(clamp(1px,.125em,4px));backdrop-filter:blur(clamp(1px,.125em,4px));transition:all var(--anim-time) var(--anim-ease);background:var(--glass-face);box-shadow:inset 0 .125em .125em oklch(from var(--foreground) l c h / 5%),inset 0 -.125em .125em oklch(from var(--background) l c h / 50%),0 .25em .125em -.125em oklch(from var(--foreground) l c h / 20%),0 0 .1em .25em inset oklch(from var(--background) l c h / 20%),0 0 oklch(from var(--background) l c h)}.glass-button-wrap>.glass-button:before{content:none}.glass-button-wrap>.glass-button[data-glass-size=sm]{font-size:14px}.glass-button-wrap>.glass-button[data-glass-size=lg]{font-size:18px}.glass-button-wrap>.glass-button[data-glass-size=icon]{width:44px;height:44px;flex-shrink:0}.glass-button .glass-button-text{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:14px 24px;-webkit-user-select:none;user-select:none;letter-spacing:-.04em;color:oklch(from var(--foreground) l c h / 90%);text-shadow:0em .25em .05em oklch(from var(--foreground) l c h / 10%);transition:all var(--anim-time) var(--anim-ease)}.glass-button[data-glass-size=sm]>.glass-button-text{padding:8px 16px}.glass-button[data-glass-size=lg]>.glass-button-text{padding:16px 32px}.glass-button[data-glass-size=icon]>.glass-button-text{width:44px;height:44px;padding:0}.glass-button-text:after{content:"";width:calc(100% - var(--border-width));height:calc(100% - var(--border-width));top:calc(0% + var(--border-width)/2);left:calc(0% + var(--border-width)/2);box-sizing:border-box;background:linear-gradient(var(--angle-2),transparent 0%,oklch(from var(--background) l c h / 50%) 40% 50%,transparent 55%);z-index:3;mix-blend-mode:screen;pointer-events:none;transition:background-position calc(var(--anim-time)*1.25) var(--anim-ease),--angle-2 calc(var(--anim-time)*1.25) var(--anim-ease);background-position:0%;background-size:200% 200%;border-radius:9999px;display:block;position:absolute;overflow:clip}.glass-button-wrap>.glass-button:after{content:"";z-index:1;width:calc(100% + var(--border-width));height:calc(100% + var(--border-width));top:calc(0% - var(--border-width)/2);left:calc(0% - var(--border-width)/2);padding:var(--border-width);box-sizing:border-box;background:conic-gradient(from var(--angle-1) at 50% 50%,oklch(from var(--foreground) l c h / 50%) 0%,transparent 5% 40%,oklch(from var(--foreground) l c h / 50%) 50%,transparent 60% 95%,oklch(from var(--foreground) l c h / 50%) 100%),linear-gradient(180deg,oklch(from var(--background) l c h / 50%),oklch(from var(--background) l c h / 50%));transition:all var(--anim-time) var(--anim-ease),--angle-1 .5s ease;box-shadow:inset 0 0 0 calc(var(--border-width)/2) oklch(from var(--background) l c h / 50%);border-radius:9999px;position:absolute;pointer-events:none;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;mask-mode:match-source,match-source}.glass-button-wrap>.glass-button.glass-button[data-glass-hover=true]:not(:disabled),.project-cover[data-glass-hover=true]:not([aria-disabled=true]) .project-arrow>.glass-button.glass-button{-webkit-backdrop-filter:blur(.01em);backdrop-filter:blur(.01em);box-shadow:inset 0 .125em .125em oklch(from var(--foreground) l c h / 5%),inset 0 -.125em .125em oklch(from var(--background) l c h / 50%),0 .15em .05em -.1em oklch(from var(--foreground) l c h / 25%),0 0 .05em .1em inset oklch(from var(--background) l c h / 50%),0 0 oklch(from var(--background) l c h);transform:scale(.975)}.glass-button[data-glass-hover=true]:not(:disabled) .glass-button-text,.project-cover[data-glass-hover=true]:not([aria-disabled=true]) .project-arrow .glass-button-text{text-shadow:.025em .025em .025em oklch(from var(--foreground) l c h / 12%)}.glass-button[data-glass-hover=true]:not(:disabled) .glass-button-text:after,.project-cover[data-glass-hover=true]:not([aria-disabled=true]) .project-arrow .glass-button-text:after{background-position:25%}.glass-button-wrap>.glass-button[data-glass-hover=true]:not(:disabled):after,.project-cover[data-glass-hover=true]:not([aria-disabled=true]) .project-arrow>.glass-button:after{--angle-1: -125deg}.glass-button-wrap:has(.glass-button[data-glass-hover=true]:not(:disabled)) .glass-button-shadow,.project-cover[data-glass-hover=true]:not([aria-disabled=true]) .project-arrow .glass-button-shadow{filter:blur(clamp(2px,.0625em,6px))}.glass-button-wrap:has(.glass-button[data-glass-hover=true]:not(:disabled)) .glass-button-shadow:after,.project-cover[data-glass-hover=true]:not([aria-disabled=true]) .project-arrow .glass-button-shadow:after{top:calc(var(--shadow-cutoff-fix) - .875em);opacity:1}.glass-button-wrap:has(.glass-button:active:not([data-glass-surface]):not(:disabled):not(:focus-visible)),.project-cover:active:not(:focus-visible):not([aria-disabled=true]) .project-arrow.glass-button-wrap{transform:rotateX(25deg)}.glass-button:active:not([data-glass-surface]):not(:disabled):not(:focus-visible) .glass-button-text:after,.project-cover:active:not(:focus-visible):not([aria-disabled=true]) .project-arrow .glass-button-text:after{--angle-2: -15deg;background-position:50% 15%}.glass-button-wrap>.glass-button:active:not([data-glass-surface]):not(:disabled):not(:focus-visible):after,.project-cover:active:not(:focus-visible):not([aria-disabled=true]) .project-arrow>.glass-button:after{--angle-1: -75deg}.glass-button-wrap:has(.glass-button:active:not([data-glass-surface]):not(:disabled):not(:focus-visible)) .glass-button-shadow,.project-cover:active:not(:focus-visible):not([aria-disabled=true]) .project-arrow .glass-button-shadow{filter:blur(clamp(2px,.125em,12px))}.glass-button-wrap:has(.glass-button:active:not([data-glass-surface]):not(:disabled):not(:focus-visible)) .glass-button-shadow:after,.project-cover:active:not(:focus-visible):not([aria-disabled=true]) .project-arrow .glass-button-shadow:after{top:calc(var(--shadow-cutoff-fix) - .5em);opacity:.75}.glass-button-wrap:has(.glass-button:active:not([data-glass-surface]):not(:disabled):not(:focus-visible)) .glass-button-text,.project-cover:active:not(:focus-visible):not([aria-disabled=true]) .project-arrow .glass-button-text{text-shadow:.025em .25em .05em oklch(from var(--foreground) l c h / 12%)}.glass-button-wrap:has(.glass-button:active:not([data-glass-surface]):not(:disabled):not(:focus-visible))>.glass-button.glass-button,.project-cover:active:not(:focus-visible):not([aria-disabled=true]) .project-arrow>.glass-button.glass-button{box-shadow:inset 0 .125em .125em oklch(from var(--foreground) l c h / 5%),inset 0 -.125em .125em oklch(from var(--background) l c h / 50%),0 .125em .125em -.125em oklch(from var(--foreground) l c h / 20%),0 0 .1em .25em inset oklch(from var(--background) l c h / 20%),0 .225em .05em oklch(from var(--foreground) l c h / 5%),0 .25em oklch(from var(--background) l c h / 75%),inset 0 .25em .05em oklch(from var(--foreground) l c h / 15%)}.glass-button-wrap>.glass-button.glass-button:focus-visible{outline:2px solid var(--focus, #fff);outline-offset:5px;transition:none}.glass-button-wrap>.glass-button.glass-button:disabled{opacity:.5;cursor:not-allowed}.glass-button-wrap:has(.glass-button:disabled)>.glass-button-shadow{opacity:.4}.hero .hero-action-wrap{margin-top:24px}.hero .hero-action.glass-button{height:44px;font-size:14px}.hero .hero-action.glass-button>.glass-button-text{height:44px;padding:0 20px;font-weight:600}.hero .hero-action.glass-button svg{transform:none;transition:none}.hero-action>.glass-button-text:after,.skill-chip .glass-button-text:after,.project-arrow .glass-button-text:after{background-image:linear-gradient(var(--angle-2),transparent 0%,oklch(from var(--foreground) l c h / 18%) 40% 50%,transparent 55%);mix-blend-mode:normal}.hero .hero-action-wrap>.hero-action.glass-button:hover{background:var(--glass-face)}.review-controls .glass-button-wrap>.glass-button{width:44px;height:44px}.dock .glass-button>.glass-button-text{display:inline-flex;position:relative;left:auto;top:auto;transform:none;opacity:1;background:none;padding:0;width:44px;height:44px;color:inherit;border-radius:9999px;pointer-events:none}.dock .glass-button-wrap>.glass-button,.hero .skill-chip>.glass-button{--nav-circle-rim:var(--foreground);--glass-face:linear-gradient(-75deg,oklch(from var(--background) l c h / 5%),oklch(from var(--background) l c h / 20%),oklch(from var(--background) l c h / 5%))}.dock .glass-button-wrap>.glass-button:after,.hero .skill-chip>.glass-button:after{background:conic-gradient(from var(--angle-1) at 50% 50%,oklch(from var(--nav-circle-rim) l c h / 85%) 0%,transparent 5% 40%,oklch(from var(--nav-circle-rim) l c h / 85%) 50%,transparent 60% 95%,oklch(from var(--nav-circle-rim) l c h / 85%) 100%),linear-gradient(180deg,oklch(from var(--background) l c h / 50%),oklch(from var(--background) l c h / 50%))}.dock .glass-button-wrap>.glass-button.active{background:var(--glass-face);color:var(--foreground);box-shadow:inset 0 0 0 1px oklch(from var(--foreground) l c h / 38%),inset 0 .125em .125em oklch(from var(--foreground) l c h / 8%),inset 0 -.125em .125em oklch(from var(--background) l c h / 50%)}.dock .glass-button.active .glass-button-text{color:var(--foreground);text-shadow:none}:is(.dock,.tool-logo,.testimonial-card,.testimonial-card .initials,.company-mark,.project-cover,.project-arrow,.project-dialog,.interest-photo,.hero .portrait,.hero .skill-track span,.experience-row,.portfolio-footer,.about .about-canvas,.glass-panel){--border-width: clamp(1px,.0625em,4px);background-color:transparent;background-image:var(--glass-face);border:0;box-shadow:inset 0 .125em .125em oklch(from var(--foreground) l c h / 5%),inset 0 -.125em .125em oklch(from var(--background) l c h / 50%),0 .25em .125em -.125em oklch(from var(--foreground) l c h / 20%),0 0 .1em .25em inset oklch(from var(--background) l c h / 20%),0 0 oklch(from var(--background) l c h);-webkit-backdrop-filter:blur(var(--glass-surface-blur,clamp(1px,.125em,4px)));backdrop-filter:blur(var(--glass-surface-blur,clamp(1px,.125em,4px)))}:is(.tool-logo,.testimonial-card,.project-cover,.interest-photo,.experience-row,.portfolio-footer,.about .about-canvas,.glass-panel){--glass-surface-blur: 1.75px}:is(.tool-logo,.testimonial-card,.testimonial-card .initials,.company-mark,.experience-row,.portfolio-footer,.glass-panel){position:relative}:is(.dock,.tool-logo,.testimonial-card,.testimonial-card .initials,.company-mark,.project-cover,.project-arrow,.project-dialog,.interest-photo,.hero .portrait,.hero .skill-track span,.experience-row,.portfolio-footer,.about .about-canvas,.glass-panel):before{content:"";position:absolute;inset:calc(var(--border-width)/-2);padding:var(--border-width);border-radius:inherit;box-sizing:border-box;z-index:2;pointer-events:none;background:conic-gradient(from -75deg at 50% 50%,oklch(from var(--foreground) l c h / 50%) 0%,transparent 5% 40%,oklch(from var(--foreground) l c h / 50%) 50%,transparent 60% 95%,oklch(from var(--foreground) l c h / 50%) 100%),linear-gradient(180deg,oklch(from var(--background) l c h / 50%),oklch(from var(--background) l c h / 50%));box-shadow:inset 0 0 0 calc(var(--border-width)/2) oklch(from var(--background) l c h / 50%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:none}:is(.testimonial-card .initials,.experience-row .company-mark,.project-arrow,.hero .skill-track span){-webkit-backdrop-filter:none;backdrop-filter:none}.hero .skill-window{padding-block:12px;margin-top:20px}.hero .skill-track>.skill-chip{flex:none}.hero .skill-chip>.glass-button.glass-button{cursor:default}.hero .skill-chip .glass-button-text{height:44px;padding:0 20px;font-weight:600;white-space:nowrap}.dock.dock{border:1px solid transparent}.project-cover:hover,.project-cover:active{transform:none}.tool-logo-cursor{color:#fff}.dialog-backdrop .project-dialog.project-dialog{background-color:#090909e0}.project-dialog .close-dialog.glass-button-wrap{background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.project-dialog .close-dialog.glass-button-wrap:before,.project-dialog .close-dialog.glass-button-wrap:after{content:none}.hero .portrait:after{content:"";position:absolute;inset:-45%;z-index:3;pointer-events:none;background:linear-gradient(115deg,transparent 36%,rgb(255 255 255 / .05) 43%,rgb(255 255 255 / .32) 48%,rgb(255 255 255 / .08) 53%,transparent 60%);transform:translate(-85%);animation:portrait-reflection 6.5s ease-in-out infinite}@keyframes portrait-reflection{0%,18%{transform:translate(-85%);opacity:0}28%{opacity:1}58%{opacity:1}72%,to{transform:translate(85%);opacity:0}}@media(prefers-reduced-motion:reduce){.hero .portrait:after{animation:none;transform:translate(0);opacity:.25}}.project-cover .project-arrow.glass-button-wrap{position:absolute;width:44px;height:44px;display:inline-flex;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:#fff;pointer-events:none}.project-cover .project-arrow.glass-button-wrap:before,.project-cover .project-arrow.glass-button-wrap:after{content:none}.project-cover .project-arrow>.glass-button.glass-button{background:var(--glass-face);color:var(--foreground)}.project-cover .project-arrow .glass-button-text{color:oklch(from var(--foreground) l c h / 90%)}.project-cover:focus-visible .project-arrow,.project-cover:focus-visible .project-arrow *{transition:none}.portfolio-footer{color:var(--ink)}.about .about-canvas{background-image:radial-gradient(circle,var(--board-dot) 1.3px,transparent 1.5px),linear-gradient(-75deg,#0909090d,#09090933,#0909090d)}@media(prefers-reduced-motion:reduce){.glass-button-wrap,.glass-button-wrap>.glass-button.glass-button,.glass-button-text,.glass-button-text:after,.glass-button-wrap>.glass-button:after,.glass-button-shadow,.glass-button-shadow:after{transition:none}.glass-button-wrap:has(.glass-button:active:not([data-glass-surface]):not(:disabled):not(:focus-visible)),.glass-button-wrap>.glass-button.glass-button[data-glass-hover=true]:not(:disabled),.glass-button-wrap>.glass-button.glass-button:active{transform:none}.project-cover[data-glass-hover=true]:not([aria-disabled=true]) .project-arrow>.glass-button.glass-button,.project-cover:active:not(:focus-visible):not([aria-disabled=true]) .project-arrow.glass-button-wrap{transform:none}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass-button-wrap>.glass-button.glass-button,.glass-panel,.project-dialog{background-color:#090909}}@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.glass-button-wrap>.glass-button.glass-button,:is(.dock,.tool-logo,.testimonial-card,.initials,.company-mark,.project-cover,.project-arrow,.project-dialog,.interest-photo,.hero .portrait,.hero .skill-track span,.experience-row,.portfolio-footer,.about .about-canvas,.glass-panel){-webkit-backdrop-filter:none;backdrop-filter:none;background:#090909;border:1px solid #858585;box-shadow:none}.glass-button-wrap>.glass-button:after,.glass-button-text:after,.glass-button-shadow{display:none}.dock .glass-button-wrap>.glass-button.active{background:#fff;color:#090909;box-shadow:none}.dock .glass-button.active .glass-button-text{color:#090909}.hero .skill-track span:before{display:none}.hero .hero-action-wrap>.hero-action.glass-button:hover{background:#090909}}@media(forced-colors:active){.glass-button-wrap>.glass-button.glass-button,:is(.dock,.tool-logo,.testimonial-card,.initials,.company-mark,.project-cover,.project-arrow,.project-dialog,.interest-photo,.hero .portrait,.hero .skill-track span,.experience-row,.portfolio-footer,.about .about-canvas,.glass-panel){background:Canvas;color:CanvasText;border:1px solid ButtonText;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.glass-button-text{color:ButtonText;text-shadow:none}.dock .glass-button-wrap>.glass-button.active{background:Highlight;color:HighlightText;box-shadow:none}.dock .glass-button.active .glass-button-text{color:HighlightText}.hero .hero-action-wrap>.hero-action.glass-button:hover,.project-cover .project-arrow>.glass-button.glass-button{background:Canvas;color:ButtonText}.project-cover .project-arrow .glass-button-text{color:ButtonText;text-shadow:none}.glass-button-shadow,.glass-button-text:after,.glass-button-wrap>.glass-button:after,:is(.dock,.tool-logo,.testimonial-card,.initials,.company-mark,.project-cover,.project-arrow,.project-dialog,.interest-photo,.hero .portrait,.hero .skill-track span,.experience-row,.portfolio-footer,.about .about-canvas,.glass-panel):before{display:none}.glass-button-wrap>.glass-button.glass-button:focus-visible{outline-color:Highlight}}.theme-toggle-position{position:fixed;left:24px;bottom:24px;z-index:11}.theme-toggle-corner{display:inline-flex}.theme-toggle-control svg{flex:none}:root[data-theme=light]{color-scheme:light;--background:#f5f5f5;--foreground:#141414;--page-bg:#f5f5f5;--ink:#141414;--muted:#505050;--surface-label:#505050;--primary:#141414;--primary-hover:#303030;--on-primary:#fff;--focus:#141414;--surface:#fafafa;--control:#e4e4e4;--control-hover:#d8d8d8;--subtle:#595959;--line:#d2d2d2;--hairline-soft:#dedede;--board:#fafafa;--board-dot:#14141430;--footer-bg:#f5f5f5;--footer-ink:#141414;--footer-muted:#505050;background:var(--page-bg)}:root[data-theme=light] .site-dots{color:#14141438}:root[data-theme=light] .glass-button .glass-button-text:after,:root[data-theme=light] .hero .skill-chip .glass-button-text:after{background-image:linear-gradient(var(--angle-2),transparent 0%,rgb(255 255 255 / .48) 40% 50%,transparent 55%);mix-blend-mode:normal}:root[data-theme=light] .glass-button-wrap>.glass-button:after{background:conic-gradient(from var(--angle-1),rgb(255 255 255 / .8),transparent 5% 40%,rgb(20 20 20 / .12) 50%,transparent 60% 95%,rgb(255 255 255 / .8));box-shadow:inset 0 0 0 .5px #fff6}:root[data-theme=light] .glass-button-wrap>.glass-button.glass-button[data-glass-hover=true]:not(:disabled),:root[data-theme=light] .hero .skill-chip>.glass-button.glass-button[data-glass-hover=true]:not(:disabled),:root[data-theme=light] .project-cover[data-glass-hover=true] .project-arrow>.glass-button.glass-button{box-shadow:inset 0 2px 2px #ffffff8c,inset 0 -1px 2px #1414140a,0 3px 5px -3px #14141414}:root[data-theme=light] .glass-button-shadow:after{background:linear-gradient(180deg,#1414140f,#14141405)}:root[data-theme=light] .glass-button[data-glass-hover=true] .glass-button-text{text-shadow:none}:root[data-theme=light] .dock .glass-button-wrap>.glass-button.active{background:#141414;color:#fff}:root[data-theme=light] .dock .glass-button.active .glass-button-text{color:#fff}:root[data-theme=light] .project-cover .project-arrow>.glass-button.glass-button{background-color:transparent;color:#141414}:root[data-theme=light] .dialog-backdrop .project-dialog.project-dialog{background-color:#fafafaf0}:root[data-theme=light] .tool-logo-cursor img{filter:invert(1)}:root[data-theme=light] .about .about-canvas{background-image:radial-gradient(circle,var(--board-dot) 1.3px,transparent 1.5px),linear-gradient(-75deg,#f5f5f50d,#f5f5f533,#f5f5f50d)}@media(max-width:767px){.theme-toggle-position{left:max(16px,env(safe-area-inset-left));top:calc(16px + env(safe-area-inset-top));bottom:auto}}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root[data-theme=light] .glass-button-wrap>.glass-button.glass-button,:root[data-theme=light] .glass-panel,:root[data-theme=light] .project-dialog{background-color:#fafafa}}@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){:root[data-theme=light] .glass-button-wrap>.glass-button.glass-button,:root[data-theme=light] :is(.dock,.tool-logo,.testimonial-card,.initials,.company-mark,.project-cover,.project-dialog,.interest-photo,.hero .portrait,.hero .skill-track span,.experience-row,.portfolio-footer,.about .about-canvas,.glass-panel),:root[data-theme=light] .hero .hero-action-wrap>.hero-action.glass-button:hover{background:#fafafa;border:1px solid #626262;box-shadow:none}:root[data-theme=light] .dock .glass-button-wrap>.glass-button.active{background:#141414}}@media(forced-colors:active){:root[data-theme=light] .glass-button-wrap>.glass-button.glass-button,:root[data-theme=light] :is(.dock,.tool-logo,.testimonial-card,.initials,.company-mark,.project-cover,.project-dialog,.interest-photo,.hero .portrait,.hero .skill-track span,.experience-row,.portfolio-footer,.about .about-canvas,.glass-panel),:root[data-theme=light] .project-cover .project-arrow>.glass-button.glass-button,:root[data-theme=light] .hero .hero-action-wrap>.hero-action.glass-button:hover{background:Canvas;color:CanvasText;border-color:ButtonText}:root[data-theme=light] .dock .glass-button-wrap>.glass-button.active{background:Highlight;color:HighlightText}:root[data-theme=light] .dock .glass-button.active .glass-button-text{color:HighlightText}}html:has(.case-gate),body:has(.case-gate){overflow:hidden;overscroll-behavior:none}html:has(.case-gate){scrollbar-gutter:auto}.case-gate{position:fixed;inset:0;height:100dvh;overflow:hidden;color:var(--ink)}.case-gate .theme-toggle-position{left:16px;bottom:max(16px,env(safe-area-inset-bottom))}.case-gate-main{position:relative;z-index:1;height:100%;display:grid;place-items:center;padding:24px max(24px,env(safe-area-inset-left)) max(24px,env(safe-area-inset-bottom))}.case-gate-content{width:min(100%,560px);text-align:center}.case-gate-cover{position:relative;width:100%;aspect-ratio:1.85;border-radius:24px;overflow:hidden}.case-gate-cover .mera-cover-content{padding:24px;gap:18px}.case-gate-cover .mera-cover-brand{width:148px}.case-gate-cover .mera-cover-brand img{position:absolute;width:167.702%;max-width:none;height:auto;padding:0;left:-31.522%;top:-119.83%}.case-gate-cover .mera-cover-subtitle{font-size:20px;letter-spacing:-.02em}.case-gate-cover .mera-cover-keywords{gap:10px}.case-gate-cover .mera-cover-keywords>span{padding:6px 10px;font-size:11px}.case-gate-content h1{font-size:28px;line-height:1.2;font-weight:750;letter-spacing:-.025em;margin:26px 0 12px}.case-gate-content h1:focus{outline:none}.case-gate-author{font-size:15px;line-height:1.6;color:var(--muted);margin:0 0 30px}.case-gate-description,.case-gate-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.case-gate-field{display:flex;align-items:center;border-radius:999px;background:var(--glass-face);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 20%,transparent),inset 0 2px 5px #00000014;transition:box-shadow .18s ease}.case-gate-field:focus-within{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--ink) 65%,transparent)}.case-gate-field:has([aria-invalid=true]){box-shadow:inset 0 0 0 1px var(--gate-error,#e8a49c)}.case-gate-field:has([aria-invalid=true]):focus-within{box-shadow:inset 0 0 0 2px var(--gate-error,#e8a49c)}.case-gate-field-lock{flex:none;color:var(--muted);margin-left:20px}.case-gate-field input{width:100%;min-width:0;min-height:60px;border:0;padding:16px 12px;border-radius:inherit;background:transparent;font:inherit;font-size:16px;line-height:1.5;color:var(--ink);caret-color:var(--ink);outline:0}.case-gate-field input::placeholder{color:var(--muted);opacity:1}.case-gate-reveal{display:grid;place-items:center;flex:none;width:44px;height:44px;margin-right:8px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}.case-gate-reveal:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}.case-gate-reveal:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.case-gate-reveal:disabled{opacity:.55;cursor:default}.case-gate-feedback{min-height:44px;padding-block:10px}.case-gate-feedback p{margin:0;font-size:12px;line-height:1.5;color:var(--muted)}.case-gate-feedback .case-gate-error{color:var(--gate-error,#e8a49c)}:root[data-theme=light] .case-gate{--gate-error:#a53c35}.case-gate-actions{display:flex;align-items:center;justify-content:center;gap:14px}.case-gate-actions .glass-button-text{padding:13px 28px;min-height:52px;letter-spacing:-.02em}.case-gate-submit.glass-button>.glass-button-text{font-weight:650}@media(max-width:767px){.case-gate-main{padding:32px 24px 84px}.case-gate-cover{border-radius:20px}.case-gate-cover .mera-cover-content{padding:20px 14px;gap:12px}.case-gate-cover .mera-cover-brand{width:112px}.case-gate-cover .mera-cover-subtitle{font-size:16px}.case-gate-cover .mera-cover-keywords{gap:6px}.case-gate-cover .mera-cover-keywords>span{padding:4px 6px;font-size:10px}.case-gate-content h1{font-size:25px;margin-top:24px}.case-gate-author{font-size:14px;margin-bottom:26px}.case-gate-field input{min-height:56px;padding-block:14px}.case-gate-actions{gap:12px}.case-gate-actions .glass-button-text{padding-inline:22px;font-size:15px}}@media(max-height:650px){.case-gate-main{padding:12px 24px max(12px,env(safe-area-inset-bottom))}.case-gate-cover{width:min(100%,calc((100dvh - 230px)*1.85));margin-inline:auto}.case-gate-cover .mera-cover-content{padding:12px;gap:8px}.case-gate-cover .mera-cover-brand{width:80px}.case-gate-cover .mera-cover-subtitle{font-size:13px}.case-gate-cover .mera-cover-keywords{gap:4px}.case-gate-cover .mera-cover-keywords>span{padding:3px 5px;font-size:9px}.case-gate-content h1{font-size:22px;margin:12px 0 6px}.case-gate-author{font-size:13px;margin-bottom:14px}.case-gate-field input{min-height:48px;padding-block:12px}.case-gate-feedback{min-height:32px;padding-block:7px}.case-gate-actions .glass-button-text{min-height:44px;padding-block:9px}}@media(max-width:359px){.case-gate-cover .mera-cover-brand{width:92px}.case-gate-cover .mera-cover-content{gap:8px}.case-gate-cover .mera-cover-keywords{gap:4px}.case-gate-cover .mera-cover-keywords>span{padding:3px 5px;font-size:8px}}@media(max-height:380px){.case-gate-cover .mera-cover-content{padding:8px;gap:4px}.case-gate-cover .mera-cover-brand{width:56px}.case-gate-cover .mera-cover-subtitle{font-size:11px}.case-gate-cover .mera-cover-keywords>span{padding:2px 4px;font-size:8px}}@media(prefers-reduced-motion:reduce){.case-gate-field{transition:none}}@media(forced-colors:active){.case-gate-field{border:1px solid CanvasText}.case-gate-field:focus-within{outline:2px solid Highlight}.case-gate-feedback .case-gate-error{color:CanvasText}}
