:root{--portfolio-body-font: "Mansalva", cursive;--app-height: 100vh;--app-height: 100dvh;--vv-bottom-gap: 0px;--readable-prose-max-width: min(65ch, 100%);--readable-line-height: 1.68;--readable-body-color: #454545;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#000000de;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:inherit;text-decoration:inherit}a:hover{color:inherit}html{width:100%;height:var(--app-height);overflow:hidden}body{margin:0;padding:0;width:100%;max-width:100%;height:var(--app-height);overflow:visible}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:color-mix(in srgb,currentColor 35%,transparent)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:inherit}button{background-color:#f9f9f9}}@font-face{font-family:Lufga;src:url(/assets/LufgaRegular-DxIVXNDB.ttf) format("truetype");font-weight:400;font-style:normal}.navbar{position:fixed;top:max(14px,calc(env(safe-area-inset-top,0px) + 8px));left:50%;transform:translate(-50%);width:max-content;max-width:calc(100vw - 28px);display:flex;justify-content:center;align-items:center;padding:10px 18px;box-sizing:border-box;background:#ffffffb8;backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(0,0,0,.08);border-radius:999px;box-shadow:0 1px 2px #0000000a,0 8px 24px #00000014;z-index:1000;pointer-events:auto}.navbar-content{width:max-content;margin:0;display:flex;align-items:center;justify-content:space-between;gap:36px;padding:0;box-sizing:border-box}.navbar-logo{display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer}.navbar-logo img{height:28px;width:auto;display:block}.navbar-links{display:flex;gap:22px;align-items:center;justify-content:flex-end;flex-wrap:nowrap;margin-left:auto}.navbar-link,.navbar-links a{font-family:Lufga,sans-serif;font-size:14px;font-weight:400;color:#0e0e0e;text-decoration:none;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;position:relative;padding:6px 2px;white-space:nowrap}.navbar-links a:after,.navbar-link:after{content:"";position:absolute;bottom:2px;left:0;width:0;height:2px;background-color:#d01e22;transition:width .3s ease}.navbar-links a:hover:after,.navbar-link:hover:after,.navbar-links a:focus-visible:after,.navbar-link:focus-visible:after{width:100%}.navbar-logo:focus-visible{outline:2px solid #d01e22;outline-offset:4px;border-radius:8px}.navbar-link-short{display:none}@media(max-width:768px){.navbar{top:max(10px,calc(env(safe-area-inset-top,0px) + 6px));max-width:calc(100vw - 20px);padding:8px 14px}.navbar-content{gap:14px}.navbar-logo img{height:24px}.navbar-links{gap:10px}.navbar-links a,.navbar-link{font-size:11px;padding:4px 1px}.navbar-link-full{display:none}.navbar-link-short{display:inline}}@media(max-width:480px){.navbar{max-width:calc(100vw - 16px);padding:7px 12px}.navbar-content{gap:12px}.navbar-logo img{height:22px}.navbar-links{gap:10px}.navbar-links a,.navbar-link{font-size:11px;letter-spacing:.02em}}@media(max-width:360px){.navbar{max-width:calc(100vw - 12px);padding:6px 10px}.navbar-content{gap:10px}.navbar-links{gap:8px}.navbar-links a,.navbar-link{font-size:10px}}:root.dark-mode .navbar{background:#1c1c1ec7;border-color:#ffffff1f;box-shadow:0 1px 2px #0003,0 10px 28px #00000059}:root.dark-mode .navbar-links a,:root.dark-mode .navbar-link{color:#fff}.font-buddy{position:fixed;z-index:999;left:max(12px,env(safe-area-inset-left));bottom:env(safe-area-inset-bottom,0px);max-width:min(300px,calc(100vw - 24px));pointer-events:none;transform:translate3d(0,calc(100% + 28px),0);opacity:0;transition:transform .65s cubic-bezier(.22,1,.36,1),opacity .5s ease;will-change:transform,opacity}.font-buddy.font-buddy--visible{transform:translateZ(0);opacity:1;pointer-events:auto}@media(prefers-reduced-motion:reduce){.font-buddy{transition:opacity .35s ease;transform:none}.font-buddy:not(.font-buddy--visible){opacity:0;pointer-events:none}.font-buddy.font-buddy--visible{opacity:1;pointer-events:auto}}.font-buddy-inner{display:flex;align-items:flex-end;gap:8px;pointer-events:auto;filter:drop-shadow(0 4px 14px rgba(0,0,0,.12));line-height:0}:root.dark-mode .font-buddy-inner{filter:drop-shadow(0 4px 18px rgba(0,0,0,.45))}.font-buddy-character{width:64px;height:auto;flex-shrink:0;object-fit:contain;object-position:bottom center;-webkit-user-select:none;user-select:none;pointer-events:none;align-self:flex-end;display:block;margin-bottom:0}.font-buddy-character--mobile{display:none}.font-buddy-bubble{position:relative;line-height:normal;background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.12);border-radius:16px 16px 0 0;padding:10px 12px 12px;flex:1;min-width:0}:root.dark-mode .font-buddy-bubble{background:#242424f0;border-color:#ffffff1f}.font-buddy-dismiss{position:absolute;top:4px;right:6px;width:28px;height:28px;border:none;background:transparent;color:#00000073;font-size:20px;line-height:1;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0}.font-buddy-dismiss:hover{background:#0000000f;color:#000000bf}:root.dark-mode .font-buddy-dismiss{color:#ffffff80}:root.dark-mode .font-buddy-dismiss:hover{background:#ffffff14;color:#ffffffd9}.font-buddy-text{margin:0 24px 10px 0;font-family:system-ui,-apple-system,sans-serif;font-size:12.5px;line-height:1.45;color:#000000d1}:root.dark-mode .font-buddy-text{color:#ffffffe0}.font-buddy-cta{font-family:system-ui,-apple-system,sans-serif;font-size:12px;font-weight:600;padding:7px 14px;border-radius:999px;border:1px solid rgba(208,30,34,.45);background:#d01e2214;color:#b0181c;cursor:pointer;width:100%;transition:background .2s,transform .15s}.font-buddy-cta:hover{background:#d01e2224;transform:translateY(-1px)}:root.dark-mode .font-buddy-cta{border-color:#fb923c8c;background:#fb923c1f;color:#fdba74}:root.dark-mode .font-buddy-cta:hover{background:#fb923c33}@media(max-width:768px){.font-buddy{left:auto;right:max(10px,env(safe-area-inset-right,0px));bottom:auto;top:calc(env(safe-area-inset-top,0px) + 52px);max-width:min(260px,calc(100vw - 20px));z-index:1001;transform:translate3d(0,calc(-100% - 24px),0)}.font-buddy.font-buddy--visible{transform:translateZ(0)}.font-buddy-inner{flex-direction:column;align-items:flex-end;gap:6px}.font-buddy-character--desktop{display:none}.font-buddy-character--mobile{display:block;width:88px;max-width:28vw;height:auto;align-self:flex-end;object-fit:contain;object-position:top right}.font-buddy-bubble{border-radius:14px;flex:none;width:100%;max-width:260px;padding:10px 12px 12px}.font-buddy-text{font-size:12px}}@media(max-width:768px)and (prefers-reduced-motion:reduce){.font-buddy,.font-buddy.font-buddy--visible{transform:none!important}.font-buddy:not(.font-buddy--visible){opacity:0;pointer-events:none}.font-buddy.font-buddy--visible{opacity:1;pointer-events:auto}}@media(max-width:480px){.font-buddy{top:calc(env(safe-area-inset-top,0px) + 48px);right:max(8px,env(safe-area-inset-right,0px));max-width:min(240px,calc(100vw - 16px))}.font-buddy-character--mobile{width:76px}}@media(max-width:520px)and (min-width:769px){.font-buddy{bottom:env(safe-area-inset-bottom,0px);max-width:min(260px,calc(100vw - 20px))}.font-buddy-character--desktop{width:52px}.font-buddy-text{font-size:12px}}.theme-atmosphere{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.theme-atmosphere-wash,.theme-atmosphere-backdrop,.theme-atmosphere-fallback,.theme-atmosphere-glow,.theme-atmosphere-glow-fallback,.theme-atmosphere-stars,.theme-atmosphere-nebula,.theme-atmosphere-sparkle{position:absolute;inset:0}.theme-atmosphere-wash{background:var(--theme-overlay-wash);z-index:1}.theme-atmosphere-backdrop,.theme-atmosphere-fallback{z-index:0;width:100%;height:100%;object-fit:cover;object-position:center top;opacity:.55}.theme-atmosphere-fallback{background:radial-gradient(ellipse at 50% 0%,var(--theme-glow),transparent 55%),linear-gradient(180deg,var(--theme-canvas-bg-secondary),var(--theme-canvas-bg))}.theme-atmosphere-glow,.theme-atmosphere-glow-fallback{inset:auto;z-index:3;width:min(48vw,560px);height:min(48vw,560px);object-fit:contain;opacity:.9;pointer-events:none}.theme-atmosphere-glow{mix-blend-mode:screen;filter:contrast(1.08) saturate(1.05)}.theme-atmosphere--sunny-beach .theme-atmosphere-glow,.theme-atmosphere--sunny-beach .theme-atmosphere-glow-fallback{right:8%;top:6%;background:radial-gradient(circle,var(--theme-glow),transparent 68%);border-radius:50%;mix-blend-mode:screen}.theme-atmosphere--space .theme-atmosphere-glow,.theme-atmosphere--space .theme-atmosphere-glow-fallback{right:12%;top:14%;width:min(42vw,480px);height:min(42vw,480px);background:radial-gradient(circle,var(--theme-glow),transparent 72%);border-radius:50%}.theme-atmosphere-stars{z-index:2}.theme-atmosphere-star{position:absolute;border-radius:50%;background:var(--theme-star);box-shadow:0 0 6px var(--theme-star);animation:theme-star-twinkle 3s ease-in-out infinite}.theme-atmosphere-nebula{z-index:1;background:radial-gradient(ellipse at 30% 40%,rgba(147,51,234,.18),transparent 42%),radial-gradient(ellipse at 75% 60%,rgba(37,99,235,.16),transparent 46%);mix-blend-mode:screen}.theme-atmosphere-sparkle{z-index:2;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.35) 0 1px,transparent 2px),radial-gradient(circle at 70% 20%,rgba(255,255,255,.28) 0 1px,transparent 2px),radial-gradient(circle at 40% 60%,rgba(255,255,255,.22) 0 1px,transparent 2px);background-size:180px 180px,240px 240px,200px 200px;opacity:.45}@keyframes theme-star-twinkle{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}@media(prefers-reduced-motion:reduce){.theme-atmosphere-star{animation:none;opacity:.7}}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}.canvas-mode-confirm-backdrop{position:fixed;inset:0;z-index:10060;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top,0px)) 16px max(16px,env(safe-area-inset-bottom,0px));box-sizing:border-box;background:#0000007a;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);overflow:hidden}.canvas-mode-confirm{width:min(100%,480px);max-width:100%;max-height:min(92vh,720px);overflow-x:hidden;overflow-y:auto;padding:20px 20px 18px;border-radius:18px;border:1.5px solid rgba(0,0,0,.12);background:#fffffff5;box-shadow:0 1px 2px #0000000f,0 18px 48px #00000038;box-sizing:border-box;display:flex;flex-direction:column;gap:14px;min-width:0}.canvas-mode-confirm__header{display:flex;flex-direction:column;gap:6px;min-width:0;max-width:100%}.canvas-mode-confirm__title{margin:0;font-family:var(--portfolio-body-font, "Lufga", sans-serif);font-size:clamp(1.2rem,2.4vw,1.45rem);font-weight:400;line-height:1.2;color:#0e0e0e;overflow-wrap:anywhere}.canvas-mode-confirm__desc{margin:0;font-family:Inter,Lufga,system-ui,sans-serif;font-size:.92rem;line-height:1.45;color:#5a5a5a;overflow-wrap:anywhere}.canvas-mode-confirm__media{position:relative;width:100%;max-width:100%;min-width:0;border-radius:14px;overflow:hidden;border:1px solid rgba(0,0,0,.1);background:#0e0e0e;aspect-ratio:16 / 10}.canvas-mode-confirm__video{display:block;width:100%;max-width:100%;height:100%;object-fit:cover}.canvas-mode-confirm__skip{display:inline-flex;align-items:center;gap:8px;font-family:Inter,Lufga,system-ui,sans-serif;font-size:.86rem;color:#3d3d3d;cursor:pointer;-webkit-user-select:none;user-select:none;width:fit-content;max-width:100%}.canvas-mode-confirm__skip input{width:15px;height:15px;margin:0;accent-color:#0e0e0e;cursor:pointer;flex-shrink:0}.canvas-mode-confirm__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:2px;min-width:0;max-width:100%}.canvas-mode-confirm__btn{appearance:none;border-radius:999px;padding:10px 16px;font-family:Inter,Lufga,system-ui,sans-serif;font-size:.88rem;font-weight:600;line-height:1.2;cursor:pointer;max-width:100%;box-sizing:border-box;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.canvas-mode-confirm__btn--ghost{border:1.5px solid rgba(0,0,0,.14);background:transparent;color:#3d3d3d}.canvas-mode-confirm__btn--ghost:hover{background:#0000000d;border-color:#00000038}.canvas-mode-confirm__btn--primary{border:1.5px solid #0e0e0e;background:#0e0e0e;color:#fff}.canvas-mode-confirm__btn--primary:hover{background:#2a2a2a;border-color:#2a2a2a}.canvas-mode-confirm__btn:focus{outline:none}.canvas-mode-confirm__btn:focus-visible{outline:2px solid #0e0e0e;outline-offset:3px}:root.dark-mode .canvas-mode-confirm{border-color:#ffffff24;background:#18181cf5;box-shadow:0 1px 2px #0000004d,0 18px 48px #0000008c}:root.dark-mode .canvas-mode-confirm__title{color:#fffffff2}:root.dark-mode .canvas-mode-confirm__desc{color:#ffffff9e}:root.dark-mode .canvas-mode-confirm__media{border-color:#ffffff1f}:root.dark-mode .canvas-mode-confirm__skip{color:#ffffffc7}:root.dark-mode .canvas-mode-confirm__skip input{accent-color:#fff}:root.dark-mode .canvas-mode-confirm__btn--ghost{border-color:#ffffff2e;color:#ffffffd9}:root.dark-mode .canvas-mode-confirm__btn--ghost:hover{background:#ffffff14;border-color:#ffffff47}:root.dark-mode .canvas-mode-confirm__btn--primary{border-color:#ffffffeb;background:#fffffff0;color:#111}:root.dark-mode .canvas-mode-confirm__btn--primary:hover{background:#fff;border-color:#fff}:root.dark-mode .canvas-mode-confirm__btn:focus-visible{outline-color:#ffffffd9}@media(max-width:480px){.canvas-mode-confirm{padding:16px;gap:12px;border-radius:16px}.canvas-mode-confirm__actions{flex-direction:column-reverse}.canvas-mode-confirm__btn{width:100%;justify-content:center}}.theme-split{position:relative;display:inline-flex;align-items:stretch;height:32px;border-radius:999px;border:1px solid rgba(0,0,0,.14);background:#0000001a;overflow:visible;box-sizing:border-box;flex-shrink:0;box-shadow:none}:root.dark-mode .theme-split{border-color:#ffffff1a;background:#0c0c0eeb;box-shadow:inset 0 1px #ffffff0a}.canvas-control-island .theme-split{height:100%;max-height:none;align-self:stretch;margin-left:0}.canvas-control-island .theme-split-main,.canvas-control-island .theme-split-caret{min-height:0;height:100%}.theme-split-main,.theme-split-caret{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--theme-island-icon, rgba(0, 0, 0, .72));cursor:pointer;min-height:32px;height:32px;padding:0;transition:background .15s ease}:root.dark-mode .theme-split-main,:root.dark-mode .theme-split-caret{color:#ffffffe0}.theme-split-main{width:26px;border-radius:999px 0 0 999px}.theme-split-caret{width:18px;border-left:1px solid rgba(0,0,0,.12);border-radius:0 999px 999px 0}.theme-split-caret svg{transition:transform .22s cubic-bezier(.22,1,.36,1)}.theme-split.is-open .theme-split-caret svg{transform:rotate(180deg)}:root.dark-mode .theme-split-caret{border-left-color:#ffffff24}.theme-split-main:hover,.theme-split-caret:hover,.theme-split-main:focus-visible,.theme-split-caret:focus-visible{background:#0000000f}:root.dark-mode .theme-split-main:hover,:root.dark-mode .theme-split-caret:hover,:root.dark-mode .theme-split-main:focus-visible,:root.dark-mode .theme-split-caret:focus-visible{background:#ffffff1a}.theme-split-main:focus,.theme-split-caret:focus{outline:none}.theme-split-main:focus-visible,.theme-split-caret:focus-visible{outline:2px solid var(--theme-accent, #3f33da);outline-offset:1px;z-index:1}.theme-split-icon{width:15px;height:15px;display:block}.theme-split-dropup-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.theme-split-option{width:100%;display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:center;text-align:left;min-height:42px;padding:4px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--theme-ink, #111);cursor:pointer;transition:background .12s ease,border-color .12s ease}.theme-split-option:hover,.theme-split-option:focus-visible{background:#0000000d;outline:none}:root.dark-mode .theme-split-option:hover,:root.dark-mode .theme-split-option:focus-visible{background:#ffffff14}.theme-split-option.is-active{border-color:#00000014;background:#0000000f}:root.dark-mode .theme-split-option.is-active{border-color:#ffffff1f;background:#ffffff1a}.theme-split-option-thumb{width:34px;height:34px;border-radius:8px;overflow:hidden;border:1px solid var(--theme-surface-border, rgba(0, 0, 0, .1));background:var(--theme-canvas-bg-secondary, #eee);display:grid;place-items:center;font-size:.95rem}.theme-split-option-thumb img{width:100%;height:100%;object-fit:cover;display:block}.theme-split-classic-swatch{width:100%;height:100%;display:block}.theme-split-classic-swatch--light{background:linear-gradient(135deg,#fff,#f4f4f5 55%,#e4e4e7)}.theme-split-classic-swatch--dark{background:linear-gradient(135deg,#2a2a2e,#18181b 55%,#09090b)}.theme-split-option-copy{display:grid;gap:1px;min-width:0}.theme-split-option-title{font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:.8rem;font-weight:650;letter-spacing:-.01em}.theme-split-option-desc{font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:.66rem;line-height:1.3;color:var(--theme-mute, #666)}@media(max-width:768px){.theme-split-main{width:28px}.theme-split-caret{width:20px}}@media(prefers-reduced-motion:reduce){.theme-split-caret svg{transition:none}}.canvas-container{width:100%;height:var(--app-height, 100dvh);max-height:var(--app-height, 100dvh);overflow:hidden;position:relative;background:#fff;cursor:default;-webkit-user-select:none;user-select:none}.canvas-container.is-readjusting{cursor:wait}.canvas-readjust-overlay{position:fixed;inset:0;z-index:10040;display:flex;align-items:center;justify-content:center;padding:24px 16px;box-sizing:border-box;background:#0c0c0e6b;backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%);pointer-events:all}.canvas-readjust-card{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:min(92vw,340px);padding:22px 24px 20px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:#ffffffeb;box-shadow:0 1px 2px #0000000f,0 18px 40px #00000038;text-align:center}.canvas-readjust-spinner{width:28px;height:28px;border-radius:50%;border:2.5px solid rgba(0,0,0,.12);border-top-color:#000000b8;animation:canvas-readjust-spin .7s linear infinite}.canvas-readjust-title{margin:0;font-family:var(--portfolio-body-font, "Lufga", sans-serif);font-size:1.15rem;font-weight:400;color:#0e0e0e;line-height:1.2}.canvas-readjust-desc{margin:0;font-family:Inter,Lufga,system-ui,sans-serif;font-size:.86rem;line-height:1.4;color:#5a5a5a}@keyframes canvas-readjust-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.canvas-readjust-spinner{animation:none;border-top-color:#00000073}}:root.dark-mode .canvas-readjust-card{border-color:#ffffff24;background:#1c1c20f0}:root.dark-mode .canvas-readjust-spinner{border-color:#ffffff24;border-top-color:#ffffffd9}:root.dark-mode .canvas-readjust-title{color:#fffffff2}:root.dark-mode .canvas-readjust-desc{color:#ffffff9e}.canvas-viewport{width:100%;height:100%;position:relative;z-index:1;overflow:hidden;touch-action:none;-ms-touch-action:none}.canvas-container.canvas-mode-off .canvas-viewport{touch-action:manipulation}.canvas-container.canvas-mode-off .about-page,.canvas-container.canvas-mode-off .work-page,.canvas-container.canvas-mode-off .contact-page,.canvas-container.canvas-mode-off .testimonials-page{max-height:var(--app-height, 100dvh);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.28) rgba(0,0,0,.06)}.canvas-container.canvas-mode-off .about-page{overflow:hidden;scrollbar-width:none}@media(max-width:768px){.canvas-container.canvas-mode-off .about-page{overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scroll-padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))}}.canvas-container.canvas-mode-off .about-page::-webkit-scrollbar,.canvas-container.canvas-mode-off .work-page::-webkit-scrollbar,.canvas-container.canvas-mode-off .contact-page::-webkit-scrollbar,.canvas-container.canvas-mode-off .testimonials-page::-webkit-scrollbar{width:8px}.canvas-container.canvas-mode-off .about-page::-webkit-scrollbar-track,.canvas-container.canvas-mode-off .work-page::-webkit-scrollbar-track,.canvas-container.canvas-mode-off .contact-page::-webkit-scrollbar-track,.canvas-container.canvas-mode-off .testimonials-page::-webkit-scrollbar-track{background:#0000000d;border-radius:999px;margin:8px 0}.canvas-container.canvas-mode-off .about-page::-webkit-scrollbar-thumb,.canvas-container.canvas-mode-off .work-page::-webkit-scrollbar-thumb,.canvas-container.canvas-mode-off .contact-page::-webkit-scrollbar-thumb,.canvas-container.canvas-mode-off .testimonials-page::-webkit-scrollbar-thumb{background:#00000047;border-radius:999px;border:2px solid transparent;background-clip:padding-box}.canvas-container.canvas-mode-off .about-page::-webkit-scrollbar-thumb:hover,.canvas-container.canvas-mode-off .work-page::-webkit-scrollbar-thumb:hover,.canvas-container.canvas-mode-off .contact-page::-webkit-scrollbar-thumb:hover,.canvas-container.canvas-mode-off .testimonials-page::-webkit-scrollbar-thumb:hover{background:#0000006b;background-clip:padding-box}:root.dark-mode .canvas-container.canvas-mode-off .about-page,:root.dark-mode .canvas-container.canvas-mode-off .work-page,:root.dark-mode .canvas-container.canvas-mode-off .contact-page,:root.dark-mode .canvas-container.canvas-mode-off .testimonials-page{scrollbar-color:rgba(255,255,255,.32) rgba(255,255,255,.06)}:root.dark-mode .canvas-container.canvas-mode-off .about-page::-webkit-scrollbar-track,:root.dark-mode .canvas-container.canvas-mode-off .work-page::-webkit-scrollbar-track,:root.dark-mode .canvas-container.canvas-mode-off .contact-page::-webkit-scrollbar-track,:root.dark-mode .canvas-container.canvas-mode-off .testimonials-page::-webkit-scrollbar-track{background:#ffffff0f}:root.dark-mode .canvas-container.canvas-mode-off .about-page::-webkit-scrollbar-thumb,:root.dark-mode .canvas-container.canvas-mode-off .work-page::-webkit-scrollbar-thumb,:root.dark-mode .canvas-container.canvas-mode-off .contact-page::-webkit-scrollbar-thumb,:root.dark-mode .canvas-container.canvas-mode-off .testimonials-page::-webkit-scrollbar-thumb{background:#ffffff52;background-clip:padding-box}:root.dark-mode .canvas-container.canvas-mode-off .about-page::-webkit-scrollbar-thumb:hover,:root.dark-mode .canvas-container.canvas-mode-off .work-page::-webkit-scrollbar-thumb:hover,:root.dark-mode .canvas-container.canvas-mode-off .contact-page::-webkit-scrollbar-thumb:hover,:root.dark-mode .canvas-container.canvas-mode-off .testimonials-page::-webkit-scrollbar-thumb:hover{background:#ffffff7a;background-clip:padding-box}.canvas-zoom-dock.is-disabled{opacity:0;pointer-events:none;visibility:hidden}.canvas-content{position:absolute;top:0;left:0;will-change:transform}.canvas-content:before{content:"";position:absolute;top:-3000px;left:-5000px;width:15000px;height:17000px;background-image:linear-gradient(rgba(0,0,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.05) 1px,transparent 1px);background-size:50px 50px;pointer-events:none;z-index:-1}.canvas-boundary-text{position:absolute;font-family:Lufga,sans-serif;font-size:16px;font-weight:400;color:#00000080;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:100;text-align:center}.canvas-boundary-top{top:-3000px;left:-5000px;width:15000px;height:0;position:absolute}.canvas-boundary-top:before{content:"";position:absolute;top:0;left:0;width:15000px;height:100px;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(0,0,0,.2) 10px,rgba(0,0,0,.2) 20px);pointer-events:none;z-index:0}:root.dark-mode .canvas-boundary-text{color:#fff9}:root.dark-mode .canvas-boundary-top{background:linear-gradient(to bottom,#1a1a1af2,#1a1a1acc),repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,.15) 10px,rgba(255,255,255,.15) 20px);border-bottom-color:#fff3}:root.dark-mode .canvas-boundary-top:before{background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,.2) 10px,rgba(255,255,255,.2) 20px)}.canvas-instructions{position:absolute;bottom:20px;left:20px;background:#ffffffe6;border:1px solid rgba(0,0,0,.1);border-radius:8px;padding:12px 16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 12px #0000001a}.canvas-instructions p{margin:0;color:#000000b3;font-size:12px;font-family:inherit}.canvas-container *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.canvas-container .welcome-text,.canvas-container .navbar-links a{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.canvas-container .about-page,.canvas-container .about-page *,.canvas-container .contact-page,.canvas-container .contact-page *,.canvas-container .work-page,.canvas-container .work-page *,.canvas-container .testimonials-page,.canvas-container .testimonials-page *{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;pointer-events:auto}:root.dark-mode .canvas-container{background:#1a1a1a}:root.dark-mode .canvas-content:before{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px)}:root.dark-mode .canvas-instructions{background:#1e1e1ee6;border:1px solid rgba(255,255,255,.1)}:root.dark-mode .canvas-instructions p{color:#ffffffb3}.canvas-islands-wrapper{position:fixed;left:0;right:0;bottom:0;z-index:1000;display:flex;flex-direction:row;align-items:flex-end;justify-content:center;gap:8px;padding:8px max(12px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px) + var(--vv-bottom-gap, 0px)) max(12px,env(safe-area-inset-left,0px));box-sizing:border-box;pointer-events:none;transform:none;width:auto;max-width:none}.canvas-control-island{position:relative;bottom:auto;left:auto;transform:none;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:0;padding:4px;height:40px;box-sizing:border-box;background:#ffffffc7;backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(0,0,0,.1);border-radius:999px;box-shadow:0 1px 2px #0000000a,0 8px 24px #00000014;z-index:1000;pointer-events:auto;cursor:default;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,padding .28s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1);overflow:visible;max-width:min(96vw,440px);width:max-content;flex-shrink:0;margin:0}.canvas-island-mobile-home,.canvas-island-mobile-tools{justify-content:center}.island-secondary-row--mobile-split{gap:4px}.canvas-control-island:has(.theme-split){padding-left:2px;padding-right:4px}.canvas-control-island.font-picker-open,.canvas-control-island:has(.theme-split.is-open){z-index:1100}.island-main-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:2px;width:100%;height:100%}.island-expanded-cluster{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:2px;flex:0 1 auto;min-width:0;height:100%;overflow:visible;margin-left:0;pointer-events:auto}.island-secondary-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:2px;flex-shrink:0;height:100%}@media(prefers-reduced-motion:reduce){.island-home-slot,.canvas-island-mobile-home,.reading-font-dropdown,.theme-split-dropup{transition:none!important;animation:none!important}}.island-divider{width:1px;height:16px;background:#0000001f;margin:0 4px;flex-shrink:0;align-self:center}:root.dark-mode .island-divider{background:#ffffff29}.island-toggle-btn,.island-home-btn,.zoom-control-btn,.dark-mode-toggle-btn,.reading-font-toggle-btn,.canvas-mode-toggle{width:32px;height:32px;min-width:32px;min-height:32px;background:transparent;border:none;border-radius:999px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#000000b8;transition:background .15s ease,color .15s ease,transform .22s cubic-bezier(.22,1,.36,1);padding:0;flex-shrink:0}.canvas-mode-toggle-icon{width:15px;height:15px;display:block}.canvas-mode-toggle.is-off{background:#00000014}:root.dark-mode .canvas-mode-toggle.is-off{background:#ffffff1f}.island-toggle-btn{margin-right:0}.island-home-slot{display:flex;flex-direction:row;align-items:center;flex-shrink:0;max-width:0;opacity:0;overflow:hidden;transform:translate(-4px) scale(.92);pointer-events:none;transition:max-width .3s cubic-bezier(.22,1,.36,1),opacity .22s ease,transform .3s cubic-bezier(.22,1,.36,1)}.island-home-slot.is-visible{max-width:48px;opacity:1;transform:translate(0) scale(1);pointer-events:auto}.island-toggle-btn:focus,.island-toggle-btn:focus-visible,.island-home-btn:focus,.island-home-btn:focus-visible,.zoom-control-btn:focus,.zoom-control-btn:focus-visible,.dark-mode-toggle-btn:focus,.dark-mode-toggle-btn:focus-visible,.reading-font-toggle-btn:focus,.reading-font-toggle-btn:focus-visible,.canvas-mode-toggle:focus,.canvas-mode-toggle:focus-visible{outline:none}.island-toggle-btn:hover,.island-home-btn:hover,.zoom-control-btn:hover,.dark-mode-toggle-btn:hover,.reading-font-toggle-btn:hover,.canvas-mode-toggle:hover{background:#0000000f}.island-toggle-btn:active,.island-home-btn:active,.zoom-control-btn:active,.dark-mode-toggle-btn:active,.reading-font-toggle-btn:active,.canvas-mode-toggle:active{background:#0000001a;transform:scale(.96)}:root.dark-mode .island-toggle-btn,:root.dark-mode .island-home-btn,:root.dark-mode .zoom-control-btn,:root.dark-mode .dark-mode-toggle-btn,:root.dark-mode .reading-font-toggle-btn,:root.dark-mode .canvas-mode-toggle,:root.dark-mode .theme-split-main,:root.dark-mode .theme-split-caret{color:#ffffffe0}:root.dark-mode .island-toggle-btn:hover,:root.dark-mode .island-home-btn:hover,:root.dark-mode .zoom-control-btn:hover,:root.dark-mode .dark-mode-toggle-btn:hover,:root.dark-mode .reading-font-toggle-btn:hover,:root.dark-mode .canvas-mode-toggle:hover{background:#ffffff1a}:root.dark-mode .canvas-control-island{background:#303034d1;border:1px solid rgba(255,255,255,.12);box-shadow:0 1px 2px #0003,0 10px 28px #00000059}.canvas-control-island .island-secondary-row,.canvas-control-island .island-main-row,.canvas-control-island .island-expanded-cluster{align-items:stretch;height:100%;gap:4px}.canvas-control-island .reading-font-toggle-btn,.canvas-control-island .canvas-mode-toggle{width:auto;height:100%;min-width:0;min-height:0;aspect-ratio:1;align-self:stretch}.canvas-zoom-controls{display:flex;flex-direction:row;gap:0;align-items:center;height:100%}.zoom-control-btn svg{width:15px!important;height:15px!important;flex-shrink:0}.island-toggle-btn svg,.island-home-btn svg,.dark-mode-toggle-btn svg{width:15px!important;height:15px!important}.canvas-zoom-dock{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px) + var(--vv-bottom-gap, 0px));z-index:1000;display:flex;flex-direction:row;align-items:center;gap:0;height:40px;padding:4px;box-sizing:border-box;background:#ffffffb8;backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(0,0,0,.08);border-radius:999px;box-shadow:0 1px 2px #0000000a,0 8px 24px #00000014;pointer-events:auto}:root.dark-mode .canvas-zoom-dock{background:#1c1c1ec7;border-color:#ffffff1f;box-shadow:0 1px 2px #0003,0 10px 28px #00000059}.zoom-dock-percent{min-width:44px;height:32px;padding:0 6px;border:none;border-radius:999px;background:transparent;display:flex;align-items:center;justify-content:center;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:11px;font-weight:550;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:#0000008c;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease,color .15s ease}.zoom-dock-percent:hover{background:#0000000f;color:#000c}.zoom-dock-percent:focus,.zoom-dock-percent:focus-visible{outline:none}:root.dark-mode .zoom-dock-percent{color:#ffffff8c}:root.dark-mode .zoom-dock-percent:hover{background:#ffffff1a;color:#ffffffe0}.reading-font-toggle-icon{font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:12px;font-weight:650;letter-spacing:-.03em;line-height:1}.reading-font-dropdown-root{position:relative;flex-shrink:0;z-index:2}@keyframes island-menu-in{0%{opacity:0;transform:translate(-50%) translateY(8px) scale(.97)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.reading-font-dropdown,.theme-split-dropup{position:absolute;left:50%;right:auto;top:auto;bottom:calc(100% + 12px);transform:translate(-50%);width:min(240px,calc(100vw - 32px));min-width:0;max-width:none;max-height:min(42vh,280px);display:flex;flex-direction:column;padding:6px;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:16px;box-shadow:0 1px 2px #0000000a,0 12px 32px #0000001f;overflow:auto;transform-origin:bottom center;animation:island-menu-in .22s cubic-bezier(.22,1,.36,1);z-index:1200;box-sizing:border-box;pointer-events:auto}.theme-split-dropup{max-height:min(52vh,360px);width:min(250px,calc(100vw - 32px));padding:6px}:root.dark-mode .reading-font-dropdown,:root.dark-mode .theme-split-dropup{background:#1c1c1e;border-color:#ffffff24;box-shadow:0 1px 2px #0003,0 14px 36px #0000006b}.reading-font-dropdown-label,.theme-split-dropup-label{font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#0000006b;padding:4px 8px 6px;margin:0;flex-shrink:0}:root.dark-mode .reading-font-dropdown-label,:root.dark-mode .theme-split-dropup-label{color:#ffffff6b}.reading-font-dropdown-list{list-style:none;margin:0;padding:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:grid;gap:2px}.reading-font-dropdown-item{margin:0;padding:0}.reading-font-dropdown-option{display:block;width:100%;text-align:left;font-size:12.5px;font-weight:500;padding:8px 10px;margin:0;border:1px solid transparent;border-radius:10px;background:transparent;color:#000000c7;cursor:pointer;transition:background .12s ease,border-color .12s ease;line-height:1.25}.reading-font-dropdown-option:hover{background:#0000000d}.reading-font-dropdown-option.active{background:#0000000f;border-color:#00000014;box-shadow:none}:root.dark-mode .reading-font-dropdown-option{color:#ffffffe6}:root.dark-mode .reading-font-dropdown-option:hover{background:#ffffff14}:root.dark-mode .reading-font-dropdown-option.active{background:#ffffff1a;border-color:#ffffff1f;box-shadow:none}.island-desktop-only{display:flex}.island-mobile-only{display:none!important}@media(max-width:768px){.island-desktop-only{display:none!important}.island-mobile-only{display:flex!important}.canvas-instructions{display:none}.canvas-islands-wrapper{gap:8px;padding:8px max(12px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px) + var(--vv-bottom-gap, 0px)) max(12px,env(safe-area-inset-left,0px))}.canvas-islands-wrapper>.canvas-control-island{position:relative;transform:none;left:auto;bottom:auto;margin:0;pointer-events:auto;flex-shrink:0;height:44px;padding:4px}.canvas-island-mobile-home,.canvas-island-mobile-tools{max-width:none}.canvas-island-mobile-tools{padding:4px 4px 4px 2px}.canvas-island-mobile-tools.font-picker-open,.canvas-island-mobile-tools:has(.theme-split.is-open){z-index:1100;overflow:visible}.canvas-island-mobile-tools .island-secondary-row,.canvas-island-mobile-tools .reading-font-dropdown-root,.canvas-island-mobile-tools .theme-split{overflow:visible}.canvas-island-mobile-tools .reading-font-dropdown,.canvas-island-mobile-tools .theme-split-dropup{position:fixed;left:50%;bottom:calc(16px + 44px + 12px + env(safe-area-inset-bottom,0px) + var(--vv-bottom-gap, 0px));transform:translate(-50%)}.island-secondary-row--mobile-split{flex:none;width:auto;gap:4px}.canvas-island-mobile-home{max-width:0;width:0;min-width:0;height:44px;padding:0;margin:0;opacity:0;overflow:hidden;border-color:transparent;box-shadow:none;pointer-events:none;transform:scale(.9);transition:max-width .3s cubic-bezier(.22,1,.36,1),width .3s cubic-bezier(.22,1,.36,1),opacity .22s ease,padding .3s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1),border-color .2s ease,box-shadow .2s ease}.canvas-island-mobile-home.is-home-visible{max-width:56px;width:auto;padding:4px;opacity:1;pointer-events:auto;transform:scale(1);border-color:#00000014;box-shadow:0 1px 2px #0000000a,0 8px 24px #00000014}:root.dark-mode .canvas-island-mobile-home.is-home-visible{border-color:#ffffff1f}.island-toggle-btn,.island-home-btn,.zoom-control-btn,.dark-mode-toggle-btn,.reading-font-toggle-btn,.canvas-mode-toggle{width:36px;height:36px;min-width:36px;min-height:36px}.canvas-control-island .reading-font-toggle-btn,.canvas-island-mobile-tools .reading-font-toggle-btn,.canvas-control-island .canvas-mode-toggle,.canvas-island-mobile-tools .canvas-mode-toggle{width:auto;height:100%;min-width:0;min-height:0;aspect-ratio:1}.canvas-control-island .theme-split,.canvas-island-mobile-tools .theme-split{height:100%;max-height:none}.island-toggle-btn svg,.island-home-btn svg,.zoom-control-btn svg,.dark-mode-toggle-btn svg{width:16px!important;height:16px!important}.island-home-slot.is-visible{max-width:52px}.zoom-dock-percent{min-width:40px;height:36px;font-size:11px}.island-divider{height:18px;margin:0 4px}.canvas-zoom-dock{top:calc(64px + env(safe-area-inset-top,0px));right:max(10px,env(safe-area-inset-right,0px));bottom:auto;height:30px;padding:2px;z-index:1100}.canvas-zoom-dock .zoom-control-btn{width:26px;height:26px;min-width:26px;min-height:26px}.canvas-zoom-dock .zoom-control-btn svg{width:12px!important;height:12px!important}.canvas-zoom-dock .zoom-dock-percent{min-width:30px;height:26px;padding:0 3px;font-size:9px}}@media(max-width:360px){.canvas-islands-wrapper{gap:6px}.canvas-islands-wrapper>.canvas-control-island{height:40px}.canvas-zoom-dock{top:calc(52px + env(safe-area-inset-top,0px));right:max(8px,env(safe-area-inset-right,0px));bottom:auto;height:28px}.canvas-zoom-dock .zoom-control-btn{width:24px;height:24px;min-width:24px;min-height:24px}.canvas-zoom-dock .zoom-control-btn svg{width:11px!important;height:11px!important}.canvas-zoom-dock .zoom-dock-percent{min-width:28px;height:24px;font-size:9px;padding:0 2px}.island-toggle-btn,.island-home-btn,.zoom-control-btn,.dark-mode-toggle-btn,.reading-font-toggle-btn{width:32px;height:32px;min-width:32px;min-height:32px}}:root{--theme-canvas-bg: #ffffff;--theme-canvas-bg-secondary: #f4f4f5;--theme-grid-line: rgba(0, 0, 0, .05);--theme-ink: #0e0e0e;--theme-mute: #5a5a5a;--theme-accent: #3f33da;--theme-accent-soft: #8b7ff5;--theme-surface: #ffffff;--theme-surface-border: rgba(0, 0, 0, .12);--theme-island-bg: rgba(255, 255, 255, .74);--theme-island-border: rgba(0, 0, 0, .08);--theme-island-icon: rgba(0, 0, 0, .72);--theme-glow: transparent;--theme-star: transparent;--theme-overlay-wash: transparent}html.portfolio-theme-active .canvas-container{background:var(--theme-canvas-bg)}html.portfolio-theme-active .canvas-content:before{background-image:linear-gradient(var(--theme-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--theme-grid-line) 1px,transparent 1px);opacity:.9;mix-blend-mode:soft-light}html.portfolio-theme-active .canvas-control-island,html.portfolio-theme-active .canvas-island-mobile-home,html.portfolio-theme-active .canvas-island-mobile-tools,html.portfolio-theme-active .canvas-zoom-dock{background:var(--theme-island-bg);border-color:var(--theme-island-border);color:var(--theme-island-icon);box-shadow:0 1px 2px #0000000d,0 8px 24px #0000001a}html.portfolio-theme-active .island-toggle-btn,html.portfolio-theme-active .island-home-btn,html.portfolio-theme-active .zoom-control-btn,html.portfolio-theme-active .dark-mode-toggle-btn,html.portfolio-theme-active .reading-font-toggle-btn,html.portfolio-theme-active .canvas-mode-toggle,html.portfolio-theme-active .theme-split-main,html.portfolio-theme-active .theme-split-caret,html.portfolio-theme-active .zoom-dock-percent{color:var(--theme-island-icon)}html.portfolio-theme-active .island-divider{background:var(--theme-island-border)}html.portfolio-theme-active .zoom-dock-percent{color:var(--theme-mute)}html.portfolio-theme-active .navbar{background:var(--theme-island-bg);border-color:var(--theme-island-border);color:var(--theme-island-icon);box-shadow:0 1px 2px #0000000d,0 8px 24px #0000001a}html.portfolio-theme-active .navbar-links a,html.portfolio-theme-active .navbar-link{color:var(--theme-ink)}html.portfolio-theme-active .work-page{--work-accent: var(--theme-accent);--work-ink: var(--theme-ink);--work-mute: var(--theme-mute);--work-line: var(--theme-surface-border);--work-panel: var(--theme-surface)}html.portfolio-theme-active .about-page{--about-accent: var(--theme-accent);--about-ink: var(--theme-ink);--about-mute: var(--theme-mute);--about-line: var(--theme-surface-border);--about-panel: var(--theme-surface)}html.portfolio-theme-active .contact-page{--contact-accent: var(--theme-accent);--contact-accent-soft: var(--theme-accent-soft);--contact-ink: var(--theme-ink);--contact-mute: var(--theme-mute);--contact-line: var(--theme-surface-border);--contact-panel: var(--theme-surface)}html.portfolio-theme-active .work-card,html.portfolio-theme-active .contact-card,html.portfolio-theme-active .about-profile,html.portfolio-theme-active .about-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}html.portfolio-theme-active .greeting-chip-text,html.portfolio-theme-active .hero-name,html.portfolio-theme-active .hero-role{color:var(--theme-ink)}html[data-portfolio-theme=sunny-beach] .canvas-boundary-top:before{background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(176,128,78,.18) 10px,rgba(176,128,78,.18) 20px)}html[data-portfolio-theme=starry-night] .canvas-boundary-top:before,html[data-portfolio-theme=space] .canvas-boundary-top:before{background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(180,190,255,.16) 10px,rgba(180,190,255,.16) 20px)}html.portfolio-theme-active .reading-font-dropdown,html.portfolio-theme-active .theme-split-dropup{background:#fff;border-color:var(--theme-island-border);color:var(--theme-ink);backdrop-filter:none;-webkit-backdrop-filter:none}html.portfolio-theme-active.dark-mode .reading-font-dropdown,html.portfolio-theme-active.dark-mode .theme-split-dropup,html[data-portfolio-theme=starry-night] .reading-font-dropdown,html[data-portfolio-theme=starry-night] .theme-split-dropup,html[data-portfolio-theme=space] .reading-font-dropdown,html[data-portfolio-theme=space] .theme-split-dropup{background:#121212;border-color:var(--theme-island-border);color:var(--theme-ink)}html[data-portfolio-theme=sunny-beach] .reading-font-dropdown,html[data-portfolio-theme=sunny-beach] .theme-split-dropup{background:#fffaf4}html.portfolio-theme-active .reading-font-dropdown-label,html.portfolio-theme-active .theme-split-dropup-label{color:var(--theme-mute)}html.portfolio-theme-active .reading-font-dropdown-option,html.portfolio-theme-active .theme-split-option{color:var(--theme-ink)}html.portfolio-theme-active .theme-split-option-desc{color:var(--theme-mute)}#root{width:100%;height:var(--app-height, 100dvh);margin:0;padding:0;overflow:hidden}:root{--app-width: 100vw;--section-stack-gap: min(calc(var(--app-height, 100dvh) * .52), 460px)}@media(max-width:768px){:root{--section-stack-gap: min(var(--app-height, 100dvh), 840px)}}.canvas-sections-wrapper{position:relative;width:calc(var(--app-width, 100vw) * 3);height:calc(3 * var(--app-height, 100dvh) + 2 * var(--section-stack-gap))}.work-page-section{position:absolute;top:0;left:calc(var(--app-width, 100vw) * -1);width:var(--app-width, 100vw);height:var(--app-height, 100dvh)}.testimonials-section{position:absolute;top:calc(var(--app-height, 100dvh) + var(--section-stack-gap));left:0;width:var(--app-width, 100vw);height:var(--app-height, 100dvh);overflow:visible;z-index:0}@media(max-width:768px){.canvas-content-wrapper{align-items:flex-end;justify-content:center;padding-top:24px;padding-bottom:0;transform:none}}.home-section{position:absolute;top:0;left:0;width:var(--app-width, 100vw);height:var(--app-height, 100dvh)}.hero-plane-wrap{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:1}.hero-plane{position:absolute;width:clamp(40px,5.5vw,72px);height:auto;left:-16vw;top:0;transform:translateZ(0) rotate(12deg);opacity:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8)) drop-shadow(0 6px 12px rgba(0,0,0,.28));will-change:transform;animation:heroPlaneFly 13s linear infinite}.hero-plane--themed{width:clamp(88px,11vw,148px);filter:none;transform:translateZ(0) rotate(-8deg);animation-name:heroCreatureFly;animation-duration:19s;animation-timing-function:linear;animation-iteration-count:infinite}.hero-plane--space{filter:drop-shadow(0 0 10px rgba(80,200,255,.55));animation-name:heroCreatureFly,heroRocketGlow;animation-duration:19s,2.6s;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite,infinite}.hero-plane--sunny-beach{animation-name:heroCreatureFly,heroBirdGlow;animation-duration:17s,2.8s;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite,infinite}.hero-plane--starry-night{animation-name:heroCreatureFly,heroBatGlow;animation-duration:18s,3s;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite,infinite}@keyframes heroRocketGlow{0%,to{filter:drop-shadow(0 0 6px rgba(56,189,248,.35)) drop-shadow(0 0 14px rgba(168,85,247,.2))}50%{filter:drop-shadow(0 0 14px rgba(56,189,248,.85)) drop-shadow(0 0 28px rgba(167,139,250,.55)) drop-shadow(0 0 42px rgba(34,211,238,.35))}}@keyframes heroBirdGlow{0%,to{filter:drop-shadow(0 0 5px rgba(255,196,92,.3)) drop-shadow(0 0 12px rgba(240,178,122,.18))}50%{filter:drop-shadow(0 0 12px rgba(255,196,92,.7)) drop-shadow(0 0 24px rgba(224,122,61,.4)) drop-shadow(0 0 36px rgba(255,255,255,.2))}}@keyframes heroBatGlow{0%,to{filter:drop-shadow(0 0 6px rgba(255,180,70,.3)) drop-shadow(0 0 14px rgba(122,162,255,.18))}50%{filter:drop-shadow(0 0 14px rgba(255,196,92,.75)) drop-shadow(0 0 26px rgba(122,162,255,.4)) drop-shadow(0 0 38px rgba(183,201,255,.25))}}@keyframes heroCreatureFly{0%{transform:translate3d(0,42vh,0) rotate(-8deg) scale(.5);opacity:0}8%{transform:translate3d(10.5vw,37.5vh,0) rotate(-8deg) scale(1.12);opacity:1}18%{transform:translate3d(23.8vw,32.8vh,0) rotate(-7deg) scale(1);opacity:1}94%{transform:translate3d(124vw,-1vh,0) rotate(-6deg) scale(1);opacity:1}99%{transform:translate3d(136vw,-5vh,0) rotate(-6deg) scale(.74);opacity:.8}to{transform:translate3d(142vw,-7vh,0) rotate(-5deg) scale(.45);opacity:0}}@keyframes heroPlaneFly{0%{transform:translate3d(0,40vh,0) rotate(12deg) scale(.5);opacity:0}8%{transform:translate3d(10.5vw,36.6vh,0) rotate(12deg) scale(1.2);opacity:1}18%{transform:translate3d(23.8vw,32.4vh,0) rotate(12deg) scale(1);opacity:1}94%{transform:translate3d(124vw,.6vh,0) rotate(12deg) scale(1);opacity:1}99%{transform:translate3d(136vw,-3.2vh,0) rotate(12deg) scale(.74);opacity:.8}to{transform:translate3d(142vw,-5vh,0) rotate(12deg) scale(.45);opacity:0}}.canvas-content-wrapper{position:absolute;top:0;left:0;width:var(--app-width, 100vw);height:var(--app-height, 100dvh);display:flex;align-items:flex-end;justify-content:center;pointer-events:none}.contact-page-section{position:absolute;top:calc(2 * (var(--app-height, 100dvh) + var(--section-stack-gap)));left:0;width:var(--app-width, 100vw);height:var(--app-height, 100dvh);min-height:var(--app-height, 100dvh);overflow:hidden}.about-page-section{position:absolute;top:0;left:var(--app-width, 100vw);width:var(--app-width, 100vw);height:var(--app-height, 100dvh);min-height:var(--app-height, 100dvh);overflow:hidden}.content-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:20px}.greeting-chip{margin-bottom:8px;display:inline-flex;align-items:center;justify-content:center;min-width:12rem;min-height:1.5rem;pointer-events:none;-webkit-user-select:none;user-select:none;animation:fadeInBounce .6s ease-out}@keyframes fadeInBounce{0%{opacity:0;transform:translateY(-10px) scale(.95)}60%{transform:translateY(2px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}.greeting-chip-text{margin:0;color:#000000b8;font-size:1.15rem;font-family:Lufga,sans-serif;font-weight:500;letter-spacing:.02em;white-space:nowrap;line-height:1.2;text-align:center;display:inline-flex;align-items:baseline;gap:0}.greeting-chip-word{display:inline-block;opacity:0;transform:translateY(4px);transition:opacity .28s ease,transform .28s ease}.greeting-chip-word.is-visible{opacity:1;transform:translateY(0)}.greeting-chip-static{display:inline-block}:root.dark-mode .greeting-chip-text{color:#ffffffc7}@media(max-width:768px){.greeting-chip{min-width:10rem}.greeting-chip-text{font-size:1.05rem}}@media(prefers-reduced-motion:reduce){.greeting-chip{animation:none}.greeting-chip-word{transition:none;transform:none}}.welcome-text{font-family:var(--portfolio-body-font);font-size:clamp(1.75rem,3.1vw,3.15rem);font-weight:400;color:#000;margin:0;text-align:center;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;pointer-events:auto;line-height:1.18;cursor:text;padding:0 20px;max-width:min(920px,92vw);word-wrap:break-word;text-wrap:balance;-webkit-hyphens:auto;hyphens:auto}.character-section{display:flex;align-items:flex-end;justify-content:center;gap:40px;width:100%;position:relative}.character-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.character-image{width:min(60vw,60vh);max-width:600px;max-height:60vh;height:auto;display:block;-webkit-user-select:none;user-select:none;pointer-events:none;object-fit:contain}.thats-me-section{position:absolute;top:20px;left:0;display:flex;flex-direction:column;align-items:flex-end;pointer-events:none}.thats-me-text{display:flex;align-items:center;gap:8px;font-family:var(--portfolio-body-font);font-size:1.8rem;color:#000;margin-bottom:8px;margin-right:-10px}.thats-me-text span{user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.smiley-icon{width:40px;height:auto;display:block}.me-arrow-icon{width:80px;height:auto;display:block;margin-right:20px}.home-section .work-section,.home-section .about-section{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;pointer-events:auto;cursor:pointer;transition:opacity .2s;margin-bottom:60px;gap:6px}.home-section .work-section{order:-1}.home-section .about-section{order:1}.home-section .work-section:hover,.home-section .about-section:hover{opacity:.7}.section-text{font-family:var(--portfolio-body-font);font-size:2.75rem;font-weight:400;color:#000;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;white-space:nowrap;display:block;line-height:1;margin:0}.arrow-icon{width:230px;height:auto;display:block;-webkit-user-select:none;user-select:none;pointer-events:none;animation:arrowWiggle 2s ease-in-out 3;transform-origin:center;object-fit:contain;object-position:bottom center;flex-shrink:0}.home-section .work-section--themed,.home-section .about-section--themed{gap:0;margin-bottom:40px}.arrow-icon--themed{width:min(280px,34vw);max-width:320px;object-position:center;animation:none;transition:transform .25s ease}html[data-portfolio-theme=sunny-beach] .arrow-icon--themed{width:min(260px,32vw)}html[data-portfolio-theme=starry-night] .arrow-icon--themed{width:min(250px,30vw)}html[data-portfolio-theme=space] .arrow-icon--themed{width:min(270px,33vw)}.home-section .work-section--themed:hover,.home-section .about-section--themed:hover{opacity:1}.home-section .work-section--themed:hover .arrow-icon--themed{transform:translate(-4px)}.home-section .about-section--themed:hover .arrow-icon--themed{transform:translate(4px)}@keyframes arrowWiggle{0%,to{transform:rotate(0) translate(0)}25%{transform:rotate(-3deg) translate(-2px)}50%{transform:rotate(0) translate(0)}75%{transform:rotate(3deg) translate(2px)}}@media(max-width:1024px)and (min-width:769px){.thats-me-section{left:-30px;top:15px}.thats-me-text{font-size:1.5rem;margin-right:-15px}.smiley-icon{width:32px}.me-arrow-icon{width:70px}}@media(max-width:768px){.hero-plane{width:clamp(38px,12vw,58px);animation-duration:10.8s}.hero-plane--themed{width:clamp(72px,22vw,110px);animation-duration:16s}.hero-plane--space{animation-duration:16s,2.6s}.hero-plane--sunny-beach{animation-duration:15s,2.8s}.hero-plane--starry-night{animation-duration:16s,3s}.character-image{width:min(70vw,70vh);max-width:100%}.welcome-text{font-size:clamp(1.55rem,4.6vw,2.35rem);padding:0 16px;max-width:94vw}.character-section{gap:16px}.character-wrapper{z-index:3}.home-section .work-section,.home-section .about-section{margin-bottom:12px;gap:2px;z-index:2}.section-text{font-size:clamp(1.75rem,5.5vw,2.35rem);letter-spacing:-.02em}.arrow-icon{width:clamp(64px,18vw,88px);max-height:36px;margin-top:-2px}.arrow-icon--themed{width:min(28vw,140px);max-width:140px;max-height:none;margin-top:0}html[data-portfolio-theme=sunny-beach] .arrow-icon--themed,html[data-portfolio-theme=space] .arrow-icon--themed{width:min(30vw,148px)}html[data-portfolio-theme=starry-night] .arrow-icon--themed{width:min(26vw,128px)}.home-section .work-section--themed,.home-section .about-section--themed{margin-bottom:20px;max-width:min(30vw,148px)}.thats-me-text{font-size:1.4rem}.smiley-icon{width:32px}.me-arrow-icon{width:60px}.thats-me-section{top:15px;left:-10px}}@media(max-width:480px){.hero-plane{width:clamp(34px,11vw,50px);animation-duration:9.6s}.hero-plane--themed{width:clamp(64px,26vw,96px);animation-duration:15s}.hero-plane--space{animation-duration:15s,2.6s}.hero-plane--sunny-beach{animation-duration:14s,2.8s}.hero-plane--starry-night{animation-duration:15s,3s}.canvas-content-wrapper{padding-top:20px;padding-bottom:0;transform:none}.character-image{width:min(80vw,80vh)}.welcome-text{font-size:clamp(1.35rem,5.2vw,1.85rem);padding:0 12px;line-height:1.22;max-width:96vw}.character-section{gap:16px;flex-wrap:nowrap}.home-section .work-section,.home-section .about-section{position:absolute;bottom:clamp(30%,150px,38%);margin-bottom:0;gap:0;max-width:calc(42vw - 12px)}.home-section .work-section{left:max(6px,2vw);right:auto;order:0}.home-section .about-section{right:max(6px,2vw);left:auto;order:0}.section-text{font-size:clamp(1.65rem,5.2vw,2rem);letter-spacing:-.02em}.arrow-icon{width:clamp(58px,17vw,80px);max-height:34px;margin-top:-4px}.arrow-icon--themed{width:min(38vw,124px);max-width:100%;max-height:none;margin-top:0}html[data-portfolio-theme=sunny-beach] .arrow-icon--themed,html[data-portfolio-theme=space] .arrow-icon--themed{width:min(40vw,128px)}html[data-portfolio-theme=starry-night] .arrow-icon--themed{width:min(36vw,116px)}.home-section .work-section--themed,.home-section .about-section--themed{max-width:calc(42vw - 12px)}.thats-me-text{font-size:1.2rem;margin-right:-5px}.smiley-icon{width:28px}.me-arrow-icon{width:50px}.thats-me-section{top:10px;left:-5px}}@media(max-width:360px){.welcome-text{font-size:clamp(1.2rem,5vw,1.55rem);padding:0 10px}.home-section .work-section{left:4px}.home-section .about-section{right:4px}.section-text{font-size:clamp(1.5rem,4.8vw,1.85rem)}.arrow-icon{width:clamp(52px,16vw,72px);max-height:32px;margin-top:-4px}.arrow-icon--themed{width:min(34vw,108px);max-width:100%;max-height:none}.home-section .work-section,.home-section .about-section{max-width:calc(40vw - 8px)}.thats-me-text{font-size:1rem}.smiley-icon{width:24px}.me-arrow-icon{width:40px}.thats-me-section{top:8px;left:-5px}}:root.dark-mode .welcome-text{color:#fff}:root.dark-mode .section-text{color:#fff}:root.dark-mode .thats-me-text{color:#fff}:root.dark-mode .thats-me-text span{color:#fff}:root.dark-mode .arrow-icon:not(.arrow-icon--themed){filter:invert(1) brightness(2)}:root.dark-mode .arrow-icon--themed{filter:none}:root.dark-mode .me-arrow-icon{filter:invert(1) brightness(2)}:root.dark-mode .smiley-icon{filter:invert(1) brightness(1.2)}@media(prefers-reduced-motion:reduce){.hero-plane{animation:none;left:12px;top:76px;transform:none;opacity:.9}}.case-loader{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:#fafafa;opacity:1;transform:translateY(100%);transition:transform .6s cubic-bezier(.22,1,.36,1);overflow:hidden}.case-loader--entered{transform:translateY(0)}.case-loader--exit{transform:translateY(100%);opacity:1;pointer-events:none;transition:transform var(--case-loader-exit-ms, .52s) cubic-bezier(.4,0,.2,1)}.case-loader-stage{position:absolute;inset:0;pointer-events:none}.case-loader-plane{position:absolute;width:clamp(56px,12vw,96px);height:auto;opacity:0;filter:brightness(0) saturate(100%)}.case-loader--entered .case-loader-plane{opacity:.55}.case-loader-plane--a{top:18%;left:12%;transform:rotate(-18deg) scale(.9);animation:casePlaneDriftA 5.5s ease-in-out infinite}.case-loader-plane--b{top:58%;right:10%;width:clamp(44px,9vw,72px);transform:rotate(22deg) scale(.85);animation:casePlaneDriftB 4.8s ease-in-out infinite;animation-delay:.35s}.case-loader-plane--c{bottom:16%;left:22%;width:clamp(36px,7vw,58px);transform:rotate(-8deg);animation:casePlaneDriftC 6.2s ease-in-out infinite;animation-delay:.7s;opacity:0}.case-loader--entered .case-loader-plane--c{opacity:.35}.case-loader-line{position:relative;z-index:1;margin:0;font-family:Lufga,sans-serif;font-size:clamp(1.2rem,3.4vw,1.85rem);font-weight:400;color:#111;text-align:center;max-width:22ch;line-height:1.35;opacity:0;transform:translateY(18px);transition:opacity .55s ease .12s,transform .6s cubic-bezier(.22,1,.36,1) .12s}.case-loader--entered .case-loader-line{opacity:1;transform:translateY(0)}.case-loader--exit .case-loader-line{opacity:0;transform:translateY(12px);transition:opacity .28s ease,transform .35s ease}.case-loader--exit .case-loader-plane{opacity:0;transition:opacity .3s ease;animation:none}@keyframes casePlaneDriftA{0%,to{transform:translate(0) rotate(-18deg) scale(.9)}50%{transform:translate(18px,-14px) rotate(-10deg) scale(.95)}}@keyframes casePlaneDriftB{0%,to{transform:translate(0) rotate(22deg) scale(.85)}50%{transform:translate(-16px,12px) rotate(14deg) scale(.9)}}@keyframes casePlaneDriftC{0%,to{transform:translate(0) rotate(-8deg)}50%{transform:translate(22px,-10px) rotate(4deg)}}@media(prefers-reduced-motion:reduce){.case-loader,.case-loader--exit,.case-loader-line{transition:none;transform:none}.case-loader-line{opacity:1}.case-loader-plane{animation:none;opacity:.4}}:root.dark-mode .case-loader{background:#0f0f0f}:root.dark-mode .case-loader-line{color:#fffffff0}:root.dark-mode .case-loader-plane{filter:none;opacity:.75}:root.dark-mode .case-loader--entered .case-loader-plane--c{opacity:.45}@media(max-width:640px){.case-loader-plane--a{top:14%;left:6%}.case-loader-plane--b{right:4%}.case-loader-plane--c{left:12%;bottom:12%}}@font-face{font-family:Lufga;src:url(/assets/LufgaRegular-DxIVXNDB.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Lufga;src:url(/assets/LufgaBold-D80OgmSm.ttf) format("truetype");font-weight:700;font-style:normal}.resume-page{--resume-font: "Inter", "Lufga", system-ui, -apple-system, sans-serif;--resume-accent: #111111;--resume-accent-soft: rgba(0, 0, 0, .06);--resume-accent-mid: rgba(0, 0, 0, .16);--resume-line: rgba(0, 0, 0, .08);position:fixed;inset:0;z-index:5000;box-sizing:border-box;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%;overflow:hidden;background:#fafafa;color:#111;font-family:var(--resume-font)}.resume-toolbar,.resume-controls{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px 16px;box-sizing:border-box;width:100%;padding:16px 22px;border-bottom:1px solid var(--resume-line);background:#fafafaf0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.resume-toolbar-start{display:flex;align-items:center;justify-self:start;min-width:0}.resume-back{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;color:#333;font-family:var(--resume-font);font-size:.9rem;cursor:pointer}.resume-back:hover{color:var(--resume-accent)}.resume-back-chevron{flex-shrink:0;display:block}.resume-toolbar-copy{justify-self:center;min-width:0;max-width:min(420px,46vw);text-align:center}.resume-toolbar-kicker{margin:0;color:#00000073;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.resume-toolbar-title{margin:2px 0 0;color:#111;font-family:"Lufga",var(--resume-font);font-size:1.15rem;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resume-toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;--resume-control-h: 36px;--resume-control-radius: 10px;--resume-control-font: .8125rem;--resume-control-pad-x: 12px;--resume-control-gap: 8px}.resume-toolbar-actions button{appearance:none;-webkit-appearance:none;margin:0;box-sizing:border-box}.resume-preview-toggle{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;width:132px;height:var(--resume-control-h);padding:3px;border:1px solid rgba(0,0,0,.12);border-radius:var(--resume-control-radius);background:#f3f2ee;box-sizing:border-box}.resume-preview-thumb{position:absolute;top:3px;left:3px;width:calc((100% - 6px)/2);height:calc(100% - 6px);border-radius:calc(var(--resume-control-radius) - 3px);background:#111;box-shadow:0 1px 2px #00000029;transition:transform .28s cubic-bezier(.22,1,.36,1);pointer-events:none;z-index:0}.resume-preview-toggle.is-actual .resume-preview-thumb{transform:translate(100%)}.resume-preview-btn{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;border:0;border-radius:calc(var(--resume-control-radius) - 3px);padding:0;background:transparent;color:#00000085;font-family:var(--resume-font);font-size:var(--resume-control-font);font-weight:600;line-height:1;letter-spacing:-.01em;cursor:pointer;transition:color .2s ease}.resume-preview-btn:hover{color:#000c}.resume-preview-btn.is-active{color:#fff}.resume-versions,.resume-save{position:relative;display:inline-flex;align-items:center;height:var(--resume-control-h)}.resume-versions-toggle,.resume-save-toggle{box-sizing:border-box;display:inline-grid;grid-auto-flow:column;align-items:center;justify-content:start;column-gap:var(--resume-control-gap);height:var(--resume-control-h);padding:0 var(--resume-control-pad-x);border-radius:var(--resume-control-radius);font-family:var(--resume-font);font-size:var(--resume-control-font);font-weight:600;line-height:1;letter-spacing:-.01em;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.resume-versions-toggle{max-width:min(220px,52vw);border:1px solid rgba(0,0,0,.12);background:#fff;color:#222}.resume-versions-toggle:hover{background:var(--resume-accent-soft);border-color:var(--resume-accent-mid);color:var(--resume-accent)}.resume-versions-toggle.is-open{border-color:var(--resume-accent-mid);box-shadow:0 0 0 3px var(--resume-accent-soft)}.resume-versions-toggle-value,.resume-save-toggle-label{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1}.resume-dropdown-caret{display:block;flex-shrink:0;width:10px;height:6px;color:currentColor;opacity:.78;transition:transform .18s ease}.resume-dropdown-caret.is-open{transform:rotate(180deg)}.resume-save-toggle{border:1px solid #111;background:#111;color:#fff}.resume-save-toggle:hover,.resume-save.is-open .resume-save-toggle{background:#2a2a2a;border-color:#2a2a2a}.resume-save.is-open .resume-save-toggle{box-shadow:0 0 0 3px var(--resume-accent-soft)}.resume-save-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:4;width:min(240px,calc(100vw - 40px));padding:8px;border:1px solid var(--resume-line);border-radius:14px;background:#fff;box-shadow:0 1px 2px #0000000a,0 16px 40px #0000001f;transform-origin:top right;animation:resume-dropdown-in .18s cubic-bezier(.22,1,.36,1)}.resume-save-menu-label{margin:0;padding:4px 10px 8px;color:#0000006b;font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.resume-save-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 10px 10px 12px;border:0;border-radius:10px;background:transparent;color:#171717;text-align:left;cursor:pointer;font-family:var(--resume-font)}.resume-save-option:hover,.resume-save-option:focus-visible{background:var(--resume-accent-soft);outline:none}.resume-save-option-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.resume-save-option-label{font-size:.84rem;font-weight:600;line-height:1.25;color:#111}.resume-save-option-hint{font-size:.72rem;line-height:1.35;color:#666}.resume-save-option-action{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:52px;height:28px;padding:0 10px;border:1px solid rgba(0,0,0,.12);border-radius:999px;background:#111;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.02em;line-height:1;transition:background .15s ease,border-color .15s ease,transform .15s ease}.resume-save-option:hover .resume-save-option-action{background:#2a2a2a;border-color:#2a2a2a;transform:translateY(-.5px)}@keyframes resume-dropdown-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.resume-versions-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:4;width:min(320px,calc(100vw - 40px));padding:8px;border:1px solid var(--resume-line);border-radius:14px;background:#fff;box-shadow:0 1px 2px #0000000a,0 16px 40px #0000001f;transform-origin:top right;animation:resume-dropdown-in .18s cubic-bezier(.22,1,.36,1)}.resume-versions-menu-label{margin:0;padding:4px 10px 8px;color:#0000006b;font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.resume-versions-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.resume-versions-item{margin:0;padding:0}.resume-versions-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 12px;border:0;border-radius:11px;background:transparent;color:#171717;text-align:left;cursor:pointer;font-family:var(--resume-font);transition:background .15s ease,box-shadow .15s ease}.resume-versions-option:hover,.resume-versions-option:focus-visible{background:#0000000a;border:0;outline:none}.resume-versions-option.is-active{background:color-mix(in srgb,var(--resume-accent) 10%,#fff);border:0;box-shadow:none}.resume-versions-option-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.resume-versions-option.is-active .resume-versions-label{color:var(--resume-accent)}.resume-versions-label{font-size:.84rem;font-weight:600;line-height:1.25}.resume-versions-hint{font-size:.72rem;line-height:1.35;color:#666}.resume-versions-option.is-active .resume-versions-hint{color:color-mix(in srgb,var(--resume-accent) 55%,#555)}.resume-versions-check{box-sizing:border-box;display:grid;place-items:center;flex-shrink:0;width:22px;height:22px;border:1.5px solid rgba(0,0,0,.16);border-radius:50%;background:#fff;color:transparent;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.resume-versions-check.is-on{border-color:var(--resume-accent);background:var(--resume-accent);color:#fff;transform:scale(1.02)}.resume-versions-check svg{display:block}.resume-stage{position:relative;min-height:0;box-sizing:border-box;width:100%;padding:16px}.resume-stage--fit{display:grid;place-items:center;overflow:hidden}.resume-stage--actual{overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.resume-stage--actual .resume-scale-shell{margin:0 auto 24px}.resume-scale-shell{position:relative;flex-shrink:0;transition:width .32s cubic-bezier(.22,1,.36,1),height .32s cubic-bezier(.22,1,.36,1)}.resume-scale-inner{position:absolute;top:0;left:0;transform-origin:top left;transition:transform .32s cubic-bezier(.22,1,.36,1)}@media(prefers-reduced-motion:reduce){.resume-preview-thumb,.resume-scale-inner,.resume-scale-shell,.resume-versions-chevron,.resume-versions-check,.resume-dropdown-caret,.resume-save-icon{transition:none}.resume-versions-menu,.resume-save-menu{animation:none}}.resume-stage-hint{margin:0;padding:10px 22px 14px;border-top:1px solid var(--resume-line);color:#00000073;font-size:.75rem;line-height:1.4;text-align:center;background:#fafafa}.resume-container{box-sizing:border-box;width:794px;max-width:794px;margin:0;padding:30px 44px 32px;background:#fff;color:#171717;font-family:Arial,Helvetica,sans-serif;font-size:10pt;line-height:1.45;letter-spacing:0;border:1px solid #e4e1d8;box-shadow:0 1px 2px #0000000a,0 18px 48px #0000001a}.resume-header{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;align-items:start;padding-bottom:13px;border-bottom:1px solid #171717}.resume-logo{display:none}.resume-header-content{min-width:0}.resume-name{margin:0;color:#111;font:700 26pt/1.05 Arial,Helvetica,sans-serif;letter-spacing:-.04em;overflow-wrap:anywhere}.resume-title{margin:5px 0 0;color:#111;font-size:12pt;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.resume-header-tagline{max-width:31rem;margin:3px 0 0;color:#626262;font-size:9.5pt;line-height:1.35}.resume-contact{align-self:center;min-width:0;max-width:240px;text-align:right}.resume-contact p{margin:0 0 3px;color:#444;font-size:8.5pt;line-height:1.4;overflow-wrap:anywhere}.resume-contact p:last-child{margin-bottom:0}.resume-link{color:inherit;text-decoration:none}.resume-section{margin:17px 0 0}.resume-section--summary{margin-top:13px}.resume-section--projects{display:block}.resume-selected-work-line{margin:0 0 3px;color:#444;font-size:8.75pt;line-height:1.35;overflow-wrap:anywhere}.resume-selected-work-links{font-size:7.5pt;white-space:normal}.resume-selected-work-links .resume-link{color:#333}.resume-section-title{display:flex;align-items:center;gap:10px;margin:0 0 7px;color:#111;font-size:9pt;font-weight:700;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;break-after:avoid;page-break-after:avoid}.resume-section-divider{flex:1;height:1px;background:#b8b8b8}.resume-section-content{margin:0}.resume-profile-text,.resume-credibility{margin:0;color:#444;font-size:10pt;line-height:1.45}.resume-credibility{margin-top:4px;color:#171717}.resume-credibility-tagline{color:#626262}.resume-item{margin:0 0 6px}.resume-item:last-child{margin-bottom:0}.resume-item-title{margin:0;color:#111;font-size:11pt;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.resume-item-company-date{margin:2px 0 3px;color:#626262;font-size:9.25pt;line-height:1.3}.resume-bullets{margin:0;padding-left:15px;color:#333;font-size:9.5pt;line-height:1.28}.resume-bullets li{margin:0 0 1px;padding-left:2px;break-inside:avoid;page-break-inside:avoid;overflow-wrap:anywhere}.resume-bullets li:last-child{margin-bottom:0}.resume-skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px}.resume-skills-column{min-width:0}.resume-skills-category{margin:0 0 2px;color:#111;font-size:8pt;font-weight:700;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.resume-skills-line{margin:0;color:#444;font-size:9pt;line-height:1.35;overflow-wrap:anywhere}.resume-projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:7px;align-items:start}.resume-project{min-width:0;margin:0}.resume-project-title{margin:0 0 2px;color:#111;font-size:10pt;font-weight:700;line-height:1.25}.resume-project-line{margin:0 0 1px;color:#444;font-size:9pt;line-height:1.35;break-inside:avoid;page-break-inside:avoid;overflow-wrap:anywhere}.resume-project-line:last-child{margin-bottom:0}.resume-project-links{display:flex;flex-wrap:wrap;gap:2px 10px;margin:3px 0 0;color:#555;font-size:8pt;line-height:1.2}.resume-project-links .resume-link{color:#333}.resume-project-line .resume-link{display:block;margin-top:2px;color:#111;font-size:8pt}.resume-education-line{margin:0;color:#444;font-size:8.75pt;line-height:1.25}.resume-education-degree{color:#111;font-weight:700}.resume-education-sep{color:#888}.resume-education-school{color:#444}@media print{@page{size:A4;margin:.55in .58in}html,body{width:auto;max-width:none;height:auto;overflow:visible;background:#fff}.resume-page{position:static;inset:auto;z-index:auto;display:block;width:100%;height:auto;overflow:visible;background:#fff}.resume-toolbar,.resume-controls,.resume-stage-hint{display:none!important}.resume-stage{display:block;overflow:visible;padding:0}.resume-scale-shell,.resume-scale-inner{position:static!important;width:auto!important;height:auto!important;transform:none!important}.resume-container{width:100%;max-width:none;height:auto;margin:0;padding:0;border:0;box-shadow:none;font-size:9pt;line-height:1.3}.resume-header{padding-bottom:9px}.resume-contact{max-width:none}.resume-section{margin-top:10px}.resume-section--summary{margin-top:9px}.resume-profile-text{font-size:9pt;line-height:1.3}.resume-item{margin-bottom:4px}.resume-item-title{font-size:10pt}.resume-item-company-date{margin:1px 0 2px;font-size:8.5pt}.resume-bullets{font-size:8.5pt;line-height:1.2}.resume-bullets li{margin-bottom:0}.resume-skills-line{font-size:8.25pt;line-height:1.2}.resume-section,.resume-projects-grid,.resume-skills-grid{break-inside:auto;page-break-inside:auto}.resume-projects-grid{row-gap:4px}.resume-project-line{font-size:8.75pt;line-height:1.28}.resume-project-links{gap:1px 6px;margin-top:1px;font-size:7.5pt;line-height:1.15}.resume-section--education{margin-top:8px}.resume-section--projects{break-inside:avoid;page-break-inside:avoid}}:root.dark-mode .resume-page{background:#0f0f0f;color:#ffffffeb;--resume-accent: #ffffff;--resume-accent-soft: rgba(255, 255, 255, .1);--resume-accent-mid: rgba(255, 255, 255, .22);--resume-line: rgba(255, 255, 255, .1)}:root.dark-mode .resume-toolbar,:root.dark-mode .resume-controls,:root.dark-mode .resume-stage-hint{background:#0f0f0ff0;border-color:var(--resume-line);color:#ffffff8c}:root.dark-mode .resume-toolbar-kicker{color:#ffffff6b}:root.dark-mode .resume-toolbar-title,:root.dark-mode .resume-back{color:#ffffffe6}:root.dark-mode .resume-back:hover{color:#fff}:root.dark-mode .resume-preview-toggle{background:#161616;border-color:#ffffff24}:root.dark-mode .resume-preview-thumb{background:#fff;box-shadow:0 1px 3px #00000059}:root.dark-mode .resume-preview-btn{color:#ffffff7a}:root.dark-mode .resume-preview-btn:hover{color:#ffffffc7}:root.dark-mode .resume-preview-btn.is-active{color:#111}:root.dark-mode .resume-versions-toggle,:root.dark-mode .resume-versions-menu,:root.dark-mode .resume-save-menu{background:#1a1a1a;border-color:#ffffff24;color:#ffffffe0}:root.dark-mode .resume-versions-menu-label,:root.dark-mode .resume-save-menu-label{color:#ffffff6b}:root.dark-mode .resume-versions-toggle:hover{background:var(--resume-accent-soft);border-color:var(--resume-accent-mid);color:#fff}:root.dark-mode .resume-save-toggle{background:#fff;border-color:#fff;color:#111}:root.dark-mode .resume-save-toggle:hover,:root.dark-mode .resume-save.is-open .resume-save-toggle{background:#f2f2f2;border-color:#f2f2f2;color:#111}:root.dark-mode .resume-save-option{color:#ffffffe6}:root.dark-mode .resume-save-option:hover,:root.dark-mode .resume-save-option:focus-visible{background:var(--resume-accent-soft)}:root.dark-mode .resume-save-option-label{color:#ffffffeb}:root.dark-mode .resume-save-option-hint{color:#ffffff80}:root.dark-mode .resume-save-option-action{background:#fff;border-color:#fff;color:#111}:root.dark-mode .resume-save-option:hover .resume-save-option-action{background:#f2f2f2;border-color:#f2f2f2}:root.dark-mode .resume-versions-option{color:#ffffffe6}:root.dark-mode .resume-versions-option:hover,:root.dark-mode .resume-versions-option:focus-visible{background:#ffffff0f}:root.dark-mode .resume-versions-option.is-active{background:#ffffff1a;border:0;box-shadow:none}:root.dark-mode .resume-versions-option.is-active .resume-versions-label{color:#fff}:root.dark-mode .resume-versions-hint{color:#ffffff80}:root.dark-mode .resume-versions-option.is-active .resume-versions-hint{color:#ffffff9e}:root.dark-mode .resume-versions-check{background:transparent;border-color:#ffffff38}:root.dark-mode .resume-versions-check.is-on{background:#fff;border-color:#fff;color:#111}@media(max-width:760px){.resume-toolbar,.resume-controls{display:flex;flex-wrap:wrap;padding:12px 14px}.resume-toolbar-start{order:1;width:auto}.resume-toolbar-copy{order:2;flex:1 1 auto;max-width:none;text-align:center}.resume-toolbar-actions{order:3;width:100%;justify-content:flex-start}.resume-stage{padding:12px}.resume-stage-hint{padding:8px 14px 12px}}@media(max-width:480px){.resume-toolbar-title{font-size:1rem}.resume-toolbar-actions{--resume-control-h: 34px;--resume-control-font: .75rem;--resume-control-pad-x: 10px;--resume-control-gap: 6px}.resume-preview-toggle{width:118px}.resume-versions-toggle{max-width:none}}.resume-editor-page{min-height:100vh;display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);background:#f5f7fb;color:#0f172a}.resume-editor-panel{border-right:1px solid #dbe3f0;background:#fff;padding:1rem;overflow-y:auto;max-height:100vh}.resume-editor-title{margin:0;font-size:1.2rem}.resume-editor-subtitle{margin:.3rem 0 1rem;color:#64748b;font-size:.9rem}.resume-editor-download-button{width:100%;margin-bottom:1rem}.resume-editor-section{margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid #eef2f8}.resume-editor-section h2{margin:0 0 .6rem;font-size:.95rem}.resume-editor-subgroup{padding:.6rem;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:.7rem}.resume-editor-section label{display:block;font-size:.8rem;color:#334155;margin-bottom:.55rem}.resume-editor-section input,.resume-editor-section textarea{width:100%;margin-top:.35rem;border:1px solid #cbd5e1;border-radius:6px;padding:.45rem .55rem;font-size:.86rem;font-family:inherit;background:#fff;color:#0f172a;resize:vertical}.resume-editor-input-error{border-color:#dc2626!important;background:#fff7f7!important}.resume-editor-error-text{display:block;margin-top:.25rem;font-size:.75rem;color:#b91c1c}.resume-editor-section textarea{min-height:96px}.resume-editor-secondary-button,.resume-editor-danger-button{border:1px solid #cbd5e1;border-radius:6px;background:#fff;padding:.45rem .65rem;font-size:.8rem;cursor:pointer}.resume-editor-secondary-button:hover{background:#f8fafc}.resume-editor-danger-button{border-color:#fecaca;color:#b91c1c}.resume-editor-danger-button:hover{background:#fff1f2}.resume-editor-preview{padding:1rem;overflow:auto;max-height:100vh}.resume-editor-preview .resume-container{margin:0 auto}@media(max-width:960px){.resume-editor-page{grid-template-columns:1fr}.resume-editor-panel,.resume-editor-preview{max-height:none}.resume-editor-panel{border-right:0;border-bottom:1px solid #dbe3f0}}@font-face{font-family:Lufga;src:url(/assets/LufgaRegular-DxIVXNDB.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Lufga;src:url(/assets/LufgaBold-D80OgmSm.ttf) format("truetype");font-weight:700;font-style:normal}.case-page{--case-font: "Inter", "Lufga", system-ui, -apple-system, sans-serif;--case-accent: #3f33da;--case-accent-soft: color-mix(in srgb, var(--case-accent) 8%, transparent);--case-accent-mid: color-mix(in srgb, var(--case-accent) 25%, transparent);--case-accent-faint: color-mix(in srgb, var(--case-accent) 5%, transparent);--case-accent-line: color-mix(in srgb, var(--case-accent) 12%, transparent);position:fixed;inset:0;z-index:5000;display:grid;grid-template-columns:220px minmax(0,1fr);width:100%;height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fff;color:#111;font-family:var(--case-font)}.case-scroll-progress{position:fixed;top:0;left:0;right:0;z-index:40;height:3px;width:100%;background:#0000000f;pointer-events:none}.case-scroll-progress-bar{height:100%;width:100%;transform-origin:left center;transform:scaleX(0);background:var(--case-accent);will-change:transform}.case-sidebar{position:sticky;top:0;align-self:start;height:100dvh;width:220px;box-sizing:border-box;padding:28px 16px 16px 20px;border-right:1px solid rgba(0,0,0,.08);overflow:hidden;background:#fafafa;display:flex;flex-direction:column}.case-toc{position:relative;flex:1;min-height:0;overflow-y:auto;padding-left:0}.case-toc-track{position:relative;padding-left:14px;width:100%;box-sizing:border-box}.case-toc-rail{position:absolute;left:0;top:4px;bottom:4px;width:2px;background:#0000001a;border-radius:2px}.case-toc-rail-progress{position:absolute;left:0;width:2px;top:var(--toc-progress-top, 0px);height:var(--toc-progress-height, 0px);background:var(--case-accent);border-radius:2px;z-index:1;transition:top .18s ease-out,height .18s ease-out}@media(prefers-reduced-motion:reduce){.case-toc-rail-progress{transition:none}}.case-sidebar-controls{display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:16px;flex-shrink:0}.case-sidebar-control-btn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.1);border-radius:999px;background:#fff;color:#333;cursor:pointer;padding:0;transition:background .15s,color .15s,border-color .15s}.case-sidebar-control-btn:hover{background:var(--case-accent-soft);border-color:var(--case-accent-mid);color:var(--case-accent)}.case-page button:focus{outline:none}.case-page button:focus-visible{outline:2px solid var(--case-accent);outline-offset:2px}.case-toc-link:focus-visible{outline-offset:0;border-radius:6px}.case-main-bar-actions{display:flex;align-items:center;gap:8px}.case-mobile-theme-btn{display:none}.case-sidebar-meta{margin-bottom:28px;flex-shrink:0}.case-sidebar-title-row{display:flex;align-items:center;gap:10px;margin-bottom:16px}.case-sidebar-icon{width:28px;height:28px;border-radius:0;object-fit:contain;flex-shrink:0;display:block}.case-sidebar-title{margin:0;font-family:var(--case-font);font-size:1.05rem;font-weight:700;line-height:1.25}.case-sidebar-role,.case-sidebar-timeline{margin:0 0 8px;font-family:var(--case-font);font-size:.8rem;color:#444;line-height:1.45}.case-sidebar-label{display:block;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#888;margin-bottom:2px}.case-toc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.case-toc-child{padding-left:12px}.case-toc-link{display:flex;align-items:baseline;gap:8px;width:100%;text-align:left;border:none;background:transparent;padding:6px 8px;border-radius:6px;font-family:var(--case-font);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:#666;cursor:pointer;position:relative;transition:color .15s,background .15s}.case-toc-num{flex-shrink:0;min-width:1.4em;font-variant-numeric:tabular-nums;letter-spacing:.02em;opacity:.48;font-weight:600}.case-toc-label{min-width:0}.case-toc-child .case-toc-link{text-transform:none;letter-spacing:0;font-size:.78rem;color:#777}.case-toc-link:hover{color:#111;background:#0000000a}.case-toc-link--active{color:var(--case-accent);background:transparent;font-weight:600}.case-toc-link--active .case-toc-num{opacity:1;color:var(--case-accent)}.case-main-wrap{min-width:0;display:flex;flex-direction:column;align-items:center}.case-main-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px 0;width:100%;max-width:760px;box-sizing:border-box;position:sticky;top:0;z-index:5;background:linear-gradient(#fff 70%,#fff0)}.case-back{font-family:var(--case-font);font-size:.9rem;color:#333;text-decoration:none;display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:0;cursor:pointer}.case-back-chevron{flex-shrink:0;display:block}.case-back:hover{color:var(--case-accent)}.case-mobile-toc-toggle{display:none;font-family:var(--case-font);font-size:.85rem;padding:8px 12px;border-radius:8px;border:1px solid rgba(0,0,0,.12);background:#fff;color:#222;cursor:pointer}.case-mobile-drawer{display:none}.case-mobile-toc-link{display:flex;align-items:baseline;gap:10px;text-align:left;border:none;background:transparent;padding:10px 12px;border-radius:8px;font-family:var(--case-font);font-size:.95rem;color:#333;cursor:pointer;width:100%}.case-mobile-toc-link .case-toc-num{opacity:.4;font-size:.78rem}.case-mobile-toc-link--active .case-toc-num{opacity:1;color:var(--case-accent)}.case-mobile-toc-link--child{padding-left:24px;color:#666;font-size:.88rem}.case-mobile-toc-link:hover,.case-mobile-toc-link--active{background:var(--case-accent-soft);color:var(--case-accent)}.case-mobile-toc-link--active{font-weight:600}.case-main{padding:24px 24px 96px;width:100%;max-width:760px;box-sizing:border-box}.case-hero-media{margin:8px 0 24px;padding:clamp(28px,5vw,52px) clamp(20px,4vw,40px);border-radius:20px;background:radial-gradient(ellipse 80% 70% at 50% 40%,color-mix(in srgb,var(--case-accent) 38%,transparent),transparent 70%),linear-gradient(155deg,color-mix(in srgb,var(--case-accent) 28%,#101816),#0c1210 48%,color-mix(in srgb,var(--case-accent) 18%,#15201c));border:1px solid color-mix(in srgb,var(--case-accent) 22%,transparent)}.case-hero-media-frame{display:flex;align-items:center;justify-content:center}.case-hero-media-video{display:block;width:min(100%,640px);max-height:min(48vh,380px);height:auto;border-radius:14px;object-fit:contain;background:#000;box-shadow:0 18px 40px #00000059,0 0 0 1px #ffffff0f}.case-kicker{margin:8px 0 0;font-family:var(--case-font);font-size:.95rem;color:#666}.case-hero-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin:8px 0 16px}.case-hero-title-block{display:flex;align-items:flex-start;gap:14px;flex:1 1 auto;min-width:0}.case-hero-icon{flex:0 0 auto;width:52px;height:52px;margin-top:.2em;object-fit:contain;border-radius:10px}.case-hero-title{margin:0;font-family:var(--case-font);font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.15;color:#111;min-width:0}.galaxy-btn{--btn-bg: #0c0c14;--btn-text: #ffffff;--btn-primary: var(--case-accent);--btn-secondary: color-mix(in srgb, var(--case-accent) 55%, #ffffff);--btn-accent: color-mix(in srgb, var(--case-accent) 65%, #0b3d32);--btn-font-size: 13px;flex:0 0 auto;display:inline-flex;align-items:center;text-decoration:none;font-family:var(--case-font);font-size:var(--btn-font-size);padding:.75em 1.35em;border-radius:.75em;border:none;background:var(--btn-bg);position:relative;cursor:pointer;overflow:hidden;z-index:1;transition:transform .2s cubic-bezier(.25,.46,.45,.94);box-shadow:0 .5em 1.5em -.5em color-mix(in srgb,var(--case-accent) 45%,transparent)}.galaxy-btn:focus-visible{outline:2px solid var(--btn-primary);outline-offset:4px}.galaxy-btn:active{transform:scale(.96)}.galaxy-btn__content{display:flex;align-items:center;gap:.65em;position:relative;z-index:2;color:var(--btn-text);font-weight:600;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.galaxy-btn__icon{width:1.15em;height:1.15em;transition:transform .3s ease;fill:var(--btn-text)}.galaxy-btn:hover .galaxy-btn__icon{transform:translate(.25em) rotate(-10deg)}.galaxy-btn:before{content:"";position:absolute;inset:-4px;z-index:0;background:conic-gradient(from 0deg,var(--btn-bg) 0deg,var(--btn-primary) 60deg,var(--btn-secondary) 120deg,var(--btn-bg) 180deg,var(--btn-accent) 240deg,var(--btn-primary) 300deg,var(--btn-bg) 360deg);border-radius:.75em;animation:case-rotate-nebula 4s linear infinite;filter:blur(8px);opacity:.7;transition:opacity .3s ease}.galaxy-btn:hover:before{opacity:1;animation-duration:2s}.galaxy-btn:after{content:"";position:absolute;inset:2px;background:var(--btn-bg);border-radius:.6em;z-index:1}.galaxy-btn__stars{position:absolute;inset:0;z-index:1;pointer-events:none;background-image:radial-gradient(circle at 20% 30%,white 1px,transparent 1.5px),radial-gradient(circle at 80% 70%,white 1px,transparent 1.5px),radial-gradient(circle at 40% 80%,white .5px,transparent 1px);background-size:120% 120%;opacity:.3;transition:opacity .3s ease,background-position .3s ease}.galaxy-btn:hover .galaxy-btn__stars{opacity:.8;animation:case-star-drift 5s linear infinite alternate}@keyframes case-rotate-nebula{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes case-star-drift{0%{transform:scale(1)}to{transform:scale(1.1) translate(-2%,-2%)}}.case-hero-lead{margin:0 0 16px;font-family:var(--case-font);font-size:1.05rem;line-height:1.65;color:#454545;max-width:65ch}.case-focus-pills{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:4px 0 32px;padding:0}.case-focus-pill{margin:0;padding:8px 14px;border-radius:999px;border:1px solid rgba(0,0,0,.14);background:transparent;color:#555;font-family:var(--case-font);font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;line-height:1.2;transition:border-color .15s ease,color .15s ease}.case-meta-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px;padding:32px 0;margin-bottom:28px;border-top:1px solid rgba(0,0,0,.08);border-bottom:1px solid rgba(0,0,0,.08)}.case-meta-label{display:block;font-family:var(--case-font);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#888;margin-bottom:10px}.case-meta-value{font-family:var(--case-font);font-size:.95rem;color:#222;line-height:1.55}.case-external-links{display:flex;flex-wrap:wrap;gap:12px 20px;margin-bottom:36px}.case-external-link{font-family:var(--case-font);font-size:.95rem;color:var(--case-accent);text-decoration:none}.case-external-link:hover{color:color-mix(in srgb,var(--case-accent) 82%,#fff);text-decoration:underline}.case-external-link--secondary{color:#555}.case-external-link--secondary:hover{color:var(--case-accent)}.case-section{margin-bottom:48px;scroll-margin-top:72px}.case-section-title{margin:0 0 16px;font-family:var(--case-font);font-size:1.5rem;font-weight:700;color:#111}.case-h2{margin:24px 0 12px;font-family:var(--case-font);font-size:1.25rem}.case-h3{margin:22px 0 10px;font-family:var(--case-font);font-size:1.05rem;font-weight:700;scroll-margin-top:72px}.case-prose{margin:0 0 14px;font-family:var(--case-font);font-size:1.02rem;line-height:1.65;color:#454545;max-width:65ch}.case-list{margin:0 0 16px;padding-left:1.2em;font-family:var(--case-font);font-size:1rem;line-height:1.65;color:#454545;max-width:65ch}.case-list li{margin-bottom:.4em}.case-figure{margin:20px 0 28px}.case-figure-img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid rgba(0,0,0,.08)}.case-figure-video{display:block;width:100%;height:auto;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:#0a0a0a}.case-figure--split{margin:28px 0 36px}.case-figure-split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:clamp(20px,3vw,36px);align-items:center;padding:clamp(22px,3.5vw,36px);border-radius:20px;border:1px solid color-mix(in srgb,var(--case-accent) 22%,rgba(0,0,0,.1));background:radial-gradient(ellipse 90% 80% at 12% 20%,color-mix(in srgb,var(--case-accent) 18%,transparent),transparent 55%),linear-gradient(155deg,color-mix(in srgb,var(--case-accent) 10%,#101816),#0c1210 52%,color-mix(in srgb,var(--case-accent) 8%,#151c19));box-shadow:0 24px 48px #0000002e}.case-figure-split-copy{display:flex;flex-direction:column;gap:12px;padding-right:4px}.case-figure-split-eyebrow{margin:0;font-family:var(--case-font);font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--case-accent) 75%,#fff)}.case-figure-split-title{margin:0;font-family:var(--case-font);font-size:clamp(1.35rem,2.4vw,1.75rem);font-weight:700;line-height:1.2;letter-spacing:-.02em;color:#f4f7f5}.case-figure-split-body{margin:0;font-family:var(--case-font);font-size:.95rem;line-height:1.65;color:#ffffffad;max-width:34ch}.case-figure-split-media{min-width:0}.case-figure-split-media .case-figure-img,.case-figure-split-media .case-figure-video{border-radius:14px;border-color:#ffffff14;box-shadow:0 18px 40px #00000059,0 0 0 1px #ffffff0a}.case-figure--split .case-figure-caption{margin-top:12px}@media(max-width:780px){.case-figure-split{grid-template-columns:1fr;gap:20px}.case-figure-split-body{max-width:none}}.case-figure-caption{margin:10px 2px 0;font-family:var(--case-font);font-size:.85rem;line-height:1.45;color:#666}.case-workflow{margin:28px 0 32px}.case-workflow-board{padding:28px 8px 8px;border-top:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.1)}.case-workflow-steps{list-style:none;margin:0;padding:0 0 52px;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 0}.case-workflow-step{position:relative;display:flex;align-items:center;flex:1 1 auto;min-width:0}.case-workflow-step-label{font-family:var(--case-font);font-size:clamp(.95rem,1.6vw,1.1rem);font-weight:600;letter-spacing:-.01em;color:#222;white-space:nowrap}.case-workflow-step--feed .case-workflow-step-label{color:var(--case-accent)}.case-workflow-arrow{flex:1 1 auto;margin:0 10px;min-width:18px;text-align:center;font-size:.95rem;color:#00000047;font-weight:400}.case-workflow-feed{position:absolute;top:calc(100% + 10px);left:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.case-workflow-feed-line{width:1px;height:16px;margin-left:.55em;background:color-mix(in srgb,var(--case-accent) 55%,transparent)}.case-workflow-feed-label{font-family:var(--case-font);font-size:.78rem;font-weight:500;letter-spacing:.02em;color:#666;white-space:nowrap}@media(max-width:640px){.case-workflow-steps{flex-direction:column;align-items:stretch;gap:14px;padding-bottom:8px}.case-workflow-step{flex-direction:column;align-items:flex-start;gap:6px}.case-workflow-arrow{display:none}.case-workflow-feed{position:static;flex-direction:row;align-items:center;gap:8px;margin:2px 0 4px;padding-left:2px}.case-workflow-feed-line{width:12px;height:1px;margin-left:0}}.case-ladder{margin:24px 0 32px}.case-ladder-list{list-style:none;margin:0;padding:4px 0 4px 18px;border-left:1px solid rgba(0,0,0,.12);display:flex;flex-direction:column;gap:0}.case-ladder-step{position:relative;display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:10px 14px;padding:12px 0 12px 4px;border-bottom:1px solid rgba(0,0,0,.06)}.case-ladder-step:last-child{border-bottom:none}.case-ladder-step:before{content:"";position:absolute;left:-19px;top:1.15em;width:5px;height:5px;border-radius:50%;background:#00000047}.case-ladder-num{font-family:var(--case-font);font-size:.72rem;font-weight:600;letter-spacing:.04em;font-variant-numeric:tabular-nums;color:#888;padding-top:.2em}.case-ladder-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.case-ladder-title{font-family:var(--case-font);font-size:.98rem;font-weight:600;letter-spacing:-.01em;color:#222}.case-ladder-detail{font-family:var(--case-font);font-size:.86rem;line-height:1.45;color:#666}.case-ladder-step--final .case-ladder-num,.case-ladder-step--final .case-ladder-title{color:var(--case-accent)}.case-ladder-step--final:before{background:var(--case-accent)}.case-accordion{--faq-card: color-mix(in srgb, var(--case-accent) 8%, #fff);--faq-card-hover: color-mix(in srgb, var(--case-accent) 14%, #fff);--faq-question: #161616;--faq-answer: #555;--faq-chevron: var(--case-accent);--faq-focus: var(--case-accent);margin:24px 0 32px}.case-accordion-list{display:flex;flex-direction:column;gap:8px}.case-accordion-item{border-radius:16px;border:none;background:var(--faq-card);overflow:hidden}.case-accordion-heading{margin:0;font-size:inherit;font-weight:inherit}.case-accordion-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:0;padding:16px 20px;border:none;border-radius:16px;background:transparent;cursor:pointer;text-align:left;font-family:var(--case-font);color:var(--faq-question);transition:background-color .2s cubic-bezier(.2,1,.2,1),transform .2s cubic-bezier(.2,1,.2,1)}.case-accordion-trigger:hover{background:var(--faq-card-hover)}.case-accordion-trigger:active{transform:scale(.97)}.case-accordion-trigger:focus{outline:none}.case-accordion-trigger:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--faq-focus)}.case-accordion-title{font-size:16px;font-weight:500;letter-spacing:-.01em;line-height:1.35}.case-accordion-chevron{flex-shrink:0;display:inline-flex;color:var(--faq-chevron);transition:transform .35s cubic-bezier(.34,1.4,.64,1)}.case-accordion-item.is-open .case-accordion-chevron{transform:rotate(180deg)}.case-accordion-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.22,1,.36,1)}.case-accordion-panel.is-open{grid-template-rows:1fr}.case-accordion-panel-inner{overflow:hidden;min-height:0}.case-accordion-detail{margin:0;padding:0 16px 16px;max-width:42rem;font-family:var(--case-font);font-size:14px;line-height:1.625;color:var(--faq-answer)}@media(prefers-reduced-motion:reduce){.case-accordion-trigger,.case-accordion-chevron,.case-accordion-panel{transition:none}.case-accordion-trigger:active{transform:none}}.case-diagnosis{margin:28px 0 36px}.case-diagnosis-label{margin:0 0 16px;font-family:var(--case-font);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--case-accent)}.case-diagnosis-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(132px,.42fr) minmax(0,1fr);gap:16px 18px;align-items:start}.case-diagnosis-col-title{margin:0 0 10px;font-family:var(--case-font);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#777}.case-diagnosis-cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.case-diagnosis-card{margin:0;padding:14px 14px 12px;border-radius:14px}.case-diagnosis-card--muted{background:#f3f3f5;border:1px solid rgba(0,0,0,.05)}.case-diagnosis-card--accent{background:color-mix(in srgb,var(--case-accent) 10%,#fff);border:1px solid color-mix(in srgb,var(--case-accent) 22%,transparent)}.case-diagnosis-card-title{margin:0 0 6px;font-family:var(--case-font);font-size:.9rem;font-weight:600;letter-spacing:-.01em;color:#222}.case-diagnosis-card--accent .case-diagnosis-card-title{color:color-mix(in srgb,var(--case-accent) 55%,#111)}.case-diagnosis-card-show{margin:0;font-family:var(--case-font);font-size:.82rem;line-height:1.45;color:#555}.case-diagnosis-card--accent .case-diagnosis-card-show{color:#444}.case-diagnosis-card-consequence{margin:8px 0 0;font-family:var(--case-font);font-size:.78rem;font-style:italic;line-height:1.4;color:#777}.case-diagnosis-bridge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:18px 8px;text-align:center;min-height:100%}.case-diagnosis-statement{margin:0;font-family:var(--case-font);font-size:clamp(.95rem,1.6vw,1.1rem);font-weight:700;letter-spacing:-.02em;line-height:1.3;color:#161616}.case-diagnosis-transition{display:flex;flex-direction:column;align-items:center;gap:6px}.case-diagnosis-arrow{font-size:1.25rem;color:var(--case-accent);line-height:1}.case-diagnosis-transition-label{font-family:var(--case-font);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--case-accent);max-width:11ch;line-height:1.35}.case-diagnosis-disclosure{font-style:italic}@media(max-width:820px){.case-diagnosis-board{grid-template-columns:1fr}.case-diagnosis-bridge{padding:8px 0 4px;gap:10px}.case-diagnosis-arrow{transform:rotate(90deg)}.case-diagnosis-transition-label{max-width:none}}.case-matrix{margin:24px 0 32px}.case-matrix-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.case-matrix-table{width:100%;min-width:560px;border-collapse:collapse;font-family:var(--case-font)}.case-matrix-table th,.case-matrix-table td{padding:12px 10px;text-align:left;vertical-align:middle;border-bottom:1px solid rgba(0,0,0,.08);font-size:.84rem;line-height:1.35}.case-matrix-table thead th{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#777;border-bottom-color:#00000024}.case-matrix-corner{width:24%}.case-matrix-table tbody th{font-weight:600;color:#222;padding-left:0}.case-matrix-col--focus,.case-matrix-cell--focus{background:color-mix(in srgb,var(--case-accent) 7%,transparent)}.case-matrix-col--focus{color:color-mix(in srgb,var(--case-accent) 55%,#222)}.case-matrix-cell span{display:inline-block;font-size:.78rem;font-weight:500;letter-spacing:.01em;color:#555}.case-matrix-cell--agent span{color:color-mix(in srgb,var(--case-accent) 45%,#222);font-weight:600}.case-matrix-legend{display:flex;flex-wrap:wrap;gap:14px 18px;list-style:none;margin:14px 0 0;padding:0;font-family:var(--case-font);font-size:.75rem;color:#666}.case-matrix-legend li{display:inline-flex;align-items:center;gap:7px}.case-matrix-swatch{width:8px;height:8px;border-radius:50%;background:#999}.case-matrix-swatch--human{background:#888}.case-matrix-swatch--shared{background:#bbb}.case-matrix-swatch--agent{background:var(--case-accent)}.case-figure-placeholder{display:flex;align-items:center;justify-content:center;min-height:220px;border-radius:12px;border:1px dashed rgba(0,0,0,.18);background:linear-gradient(145deg,#f4f4f6,#ebebf0);font-family:var(--case-font);font-size:.9rem;color:#777}.case-quote{margin:24px 0;padding:8px 0 8px 18px;border-left:3px solid var(--case-accent)}.case-quote p{margin:0;font-family:var(--case-font);font-size:1.1rem;line-height:1.45;color:#222}.case-quote cite{display:block;margin-top:8px;font-size:.85rem;color:#777;font-style:normal}.case-metric{display:flex;flex-direction:column;gap:4px;margin:0 0 20px;padding:18px 20px;border-radius:12px;background:var(--case-accent-faint);border:1px solid var(--case-accent-line);max-width:360px}.case-metric-value{font-family:var(--case-font);font-size:2rem;font-weight:700;color:var(--case-accent);line-height:1}.case-metric-label{font-family:var(--case-font);font-size:.9rem;color:#444}.case-footer{margin-top:48px;padding-top:28px;border-top:1px solid rgba(0,0,0,.1)}.case-footer-nav{display:flex;justify-content:space-between;gap:16px;margin-bottom:24px}.case-footer-link{font-family:var(--case-font);font-size:.95rem;color:#333;text-decoration:none}.case-footer-link:hover{color:var(--case-accent)}.case-footer-actions{display:flex;flex-wrap:wrap;gap:12px 20px}.case-footer-action{font-family:var(--case-font);font-size:.9rem;color:var(--case-accent);text-decoration:none;background:none;border:none;padding:0;cursor:pointer}.case-footer-action:hover{text-decoration:underline}:root.dark-mode .case-scroll-progress{background:#ffffff14}:root.dark-mode .case-scroll-progress-bar{background:var(--case-accent)}:root.dark-mode .case-page{--case-accent: #8b7ff5;background:#0f0f0f;color:#ffffffeb}:root.dark-mode .case-sidebar{background:#141414;border-right-color:#ffffff14}:root.dark-mode .case-sidebar-title,:root.dark-mode .case-hero-title,:root.dark-mode .case-section-title,:root.dark-mode .case-h2,:root.dark-mode .case-h3,:root.dark-mode .case-meta-value,:root.dark-mode .case-quote p{color:#fffffff0}:root.dark-mode .case-sidebar-role,:root.dark-mode .case-sidebar-timeline,:root.dark-mode .case-kicker,:root.dark-mode .case-hero-lead,:root.dark-mode .case-prose,:root.dark-mode .case-list,:root.dark-mode .case-toc-link,:root.dark-mode .case-toc-child .case-toc-link,:root.dark-mode .case-back,:root.dark-mode .case-footer-link,:root.dark-mode .case-metric-label{color:#ffffffb8}:root.dark-mode .case-sidebar-label,:root.dark-mode .case-meta-label{color:#ffffff73}:root.dark-mode .case-toc-rail{background:#ffffff1f}:root.dark-mode .case-toc-link--active{color:var(--case-accent);background:transparent}:root.dark-mode .case-toc-rail-progress{background:var(--case-accent)}:root.dark-mode .case-sidebar-control-btn{background:#1a1a1a;border-color:#ffffff24;color:#ffffffe0}:root.dark-mode .case-sidebar-control-btn:hover{background:color-mix(in srgb,var(--case-accent) 12%,transparent);border-color:color-mix(in srgb,var(--case-accent) 35%,transparent);color:var(--case-accent)}:root.dark-mode .case-page button:focus-visible{outline-color:var(--case-accent)}:root.dark-mode .case-main-bar{background:linear-gradient(#0f0f0f 70%,#0f0f0f00)}:root.dark-mode .case-meta-row,:root.dark-mode .case-footer{border-color:#ffffff1a}:root.dark-mode .case-focus-pill{border-color:#ffffff2e;background:transparent;color:#ffffff9e}:root.dark-mode .case-figure-img,:root.dark-mode .case-figure-video{border-color:#ffffff1a}:root.dark-mode .case-figure-caption{color:#ffffff8c}:root.dark-mode .case-workflow-board{border-color:#ffffff1f}:root.dark-mode .case-workflow-step-label{color:#ffffffe6}:root.dark-mode .case-workflow-step--feed .case-workflow-step-label{color:var(--case-accent)}:root.dark-mode .case-workflow-arrow{color:#ffffff47}:root.dark-mode .case-workflow-feed-label{color:#ffffff8c}:root.dark-mode .case-ladder-list{border-left-color:#ffffff24}:root.dark-mode .case-ladder-step{border-bottom-color:#ffffff0f}:root.dark-mode .case-ladder-step:before{background:#ffffff59}:root.dark-mode .case-ladder-num{color:#ffffff73}:root.dark-mode .case-ladder-title{color:#ffffffe6}:root.dark-mode .case-ladder-detail{color:#ffffff8c}:root.dark-mode .case-ladder-step--final .case-ladder-num,:root.dark-mode .case-ladder-step--final .case-ladder-title{color:var(--case-accent)}:root.dark-mode .case-ladder-step--final:before{background:var(--case-accent)}:root.dark-mode .case-accordion{--faq-card: #1a1830;--faq-card-hover: #221f3d;--faq-question: #e8e6ff;--faq-answer: #b4b0d6;--faq-chevron: #9580f2;--faq-focus: #9580f2}:root.dark-mode .case-accordion-item{border-color:transparent;background:var(--faq-card)}:root.dark-mode .case-accordion-item.is-open{border-color:transparent;background:var(--faq-card)}:root.dark-mode .case-accordion-trigger{color:var(--faq-question)}:root.dark-mode .case-accordion-chevron{color:var(--faq-chevron)}:root.dark-mode .case-accordion-detail{color:var(--faq-answer)}:root.dark-mode .case-diagnosis-label,:root.dark-mode .case-diagnosis-arrow,:root.dark-mode .case-diagnosis-transition-label{color:var(--case-accent)}:root.dark-mode .case-diagnosis-col-title{color:#ffffff73}:root.dark-mode .case-diagnosis-card--muted{background:#1a1a1a;border-color:#ffffff14}:root.dark-mode .case-diagnosis-card--accent{background:color-mix(in srgb,var(--case-accent) 16%,#151515);border-color:color-mix(in srgb,var(--case-accent) 35%,transparent)}:root.dark-mode .case-diagnosis-card-title{color:#ffffffeb}:root.dark-mode .case-diagnosis-card--accent .case-diagnosis-card-title{color:color-mix(in srgb,var(--case-accent) 35%,#fff)}:root.dark-mode .case-diagnosis-card-show,:root.dark-mode .case-diagnosis-card-consequence{color:#ffffff94}:root.dark-mode .case-diagnosis-card--accent .case-diagnosis-card-show{color:#ffffffb8}:root.dark-mode .case-diagnosis-statement{color:#ffffffeb}:root.dark-mode .case-matrix-table th,:root.dark-mode .case-matrix-table td{border-bottom-color:#ffffff14}:root.dark-mode .case-matrix-table thead th{color:#ffffff73;border-bottom-color:#ffffff24}:root.dark-mode .case-matrix-table tbody th{color:#ffffffe6}:root.dark-mode .case-matrix-col--focus,:root.dark-mode .case-matrix-cell--focus{background:color-mix(in srgb,var(--case-accent) 12%,transparent)}:root.dark-mode .case-matrix-col--focus{color:color-mix(in srgb,var(--case-accent) 55%,#fff)}:root.dark-mode .case-matrix-cell span{color:#ffffff9e}:root.dark-mode .case-matrix-cell--agent span{color:color-mix(in srgb,var(--case-accent) 55%,#fff)}:root.dark-mode .case-matrix-legend{color:#ffffff8c}:root.dark-mode .case-matrix-swatch--human{background:#ffffff73}:root.dark-mode .case-matrix-swatch--shared{background:#ffffff47}:root.dark-mode .case-figure-placeholder{background:linear-gradient(145deg,#1a1a1a,#222);border-color:#ffffff24;color:#ffffff80}:root.dark-mode .case-metric{background:color-mix(in srgb,var(--case-accent) 10%,transparent);border-color:color-mix(in srgb,var(--case-accent) 22%,transparent)}:root.dark-mode .case-metric-value,:root.dark-mode .case-external-link,:root.dark-mode .case-footer-action,:root.dark-mode .case-back:hover{color:var(--case-accent)}:root.dark-mode .case-mobile-toc-toggle{background:#1a1a1a;border-color:#ffffff24;color:#ffffffe6}:root.dark-mode .case-mobile-drawer-panel{background:#141414;box-shadow:-12px 0 40px #00000073}:root.dark-mode .case-mobile-drawer-header{border-bottom-color:#ffffff14}:root.dark-mode .case-mobile-drawer-title,:root.dark-mode .case-mobile-drawer-close{color:#ffffffeb}:root.dark-mode .case-mobile-drawer-close:hover{background:#ffffff14}:root.dark-mode .case-mobile-toc-link{color:#ffffffd9}:root.dark-mode .case-mobile-toc-link--child{color:#fff9}@media(max-width:900px){.case-page{grid-template-columns:1fr}.case-sidebar{display:none;width:auto}.case-mobile-toc-toggle,.case-mobile-theme-btn{display:inline-flex}.case-mobile-drawer{display:block;position:fixed;inset:0;z-index:60;pointer-events:none}.case-mobile-drawer.is-open{pointer-events:auto}.case-mobile-drawer-backdrop{position:absolute;inset:0;border:none;padding:0;margin:0;background:#0a0a0c6b;cursor:pointer;opacity:0;transition:opacity .28s ease}.case-mobile-drawer.is-open .case-mobile-drawer-backdrop{opacity:1}.case-mobile-drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(320px,86vw);display:flex;flex-direction:column;background:#fff;box-shadow:-12px 0 40px #00000024;transform:translate(100%);transition:transform .32s cubic-bezier(.22,1,.36,1);will-change:transform}.case-mobile-drawer.is-open .case-mobile-drawer-panel{transform:translate(0)}.case-mobile-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 16px 14px;border-bottom:1px solid rgba(0,0,0,.08);flex-shrink:0}.case-mobile-drawer-title{margin:0;font-family:var(--case-font);font-size:.95rem;font-weight:700;color:#111}.case-mobile-drawer-close{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:transparent;color:#333;cursor:pointer;padding:0}.case-mobile-drawer-close:hover{background:#0000000d}.case-mobile-drawer-nav{display:flex;flex-direction:column;gap:2px;padding:12px;overflow-y:auto;-webkit-overflow-scrolling:touch}.case-main-bar,.case-main{padding-left:20px;padding-right:20px}.case-meta-row{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.case-mobile-drawer-backdrop,.case-mobile-drawer-panel{transition:none}.galaxy-btn:before,.galaxy-btn:hover .galaxy-btn__stars{animation:none}}@media(max-width:480px){.case-hero-title-row{align-items:flex-start}.case-hero-title-block{width:100%}.case-hero-icon{width:44px;height:44px}.case-hero-title{font-size:1.75rem}.galaxy-btn{--btn-font-size: 12px;padding:.7em 1.15em}.case-figure-placeholder{min-height:160px}}.case-hero-shot{margin:8px 0 28px}.case-meta-row--grid,.case-meta-row--3,.case-meta-row--4,.case-meta-row--5,.case-meta-row--6{grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:901px){.case-meta-row--4{grid-template-columns:repeat(4,minmax(0,1fr))}.case-meta-row--3,.case-meta-row--5,.case-meta-row--6{grid-template-columns:repeat(3,minmax(0,1fr))}}.case-kicker--design-story{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:.35rem .7rem;border:1px solid rgba(255,255,255,.14);border-radius:6px;background:#ffffff0a;color:#ffffffc7;letter-spacing:.02em}.case-status-disclosure{margin:0 0 1.35rem;padding:.9rem 1rem;border-left:2px solid var(--case-accent, #8b5cf6);background:#ffffff09;border-radius:0 8px 8px 0;font-family:var(--case-font);font-size:.92rem;line-height:1.55;color:#ffffffb8}.case-status-disclosure-label{display:block;margin-bottom:.25rem;font-size:.72rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:#ffffff80}:root:not(.dark-mode) .case-kicker--design-story{border-color:#0000001f;background:#00000008;color:#0000009e}:root:not(.dark-mode) .case-status-disclosure{background:#00000008;color:#000000ad}:root:not(.dark-mode) .case-status-disclosure-label{color:#00000073}.case-browser-chrome{border:1px solid rgba(0,0,0,.12);border-radius:14px;overflow:hidden;background:#f4f4f5;box-shadow:0 18px 40px #0000001f}.case-browser-chrome-bar{display:flex;align-items:center;gap:7px;padding:10px 14px;background:#ececef;border-bottom:1px solid rgba(0,0,0,.08)}.case-browser-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.case-browser-dot--r{background:#ff5f57}.case-browser-dot--y{background:#febc2e}.case-browser-dot--g{background:#28c840}.case-browser-url{margin-left:8px;min-width:0;flex:1;padding:4px 10px;border-radius:999px;background:#fff;border:1px solid rgba(0,0,0,.06);font-family:var(--case-font);font-size:.72rem;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.case-browser-chrome-body{background:#fff}.case-browser-chrome-body img,.case-browser-chrome-body video,.case-browser-desktop-img{display:block;width:100%;height:auto}.case-browser-compose{position:relative}.case-browser-compose--with-mobile{padding-bottom:clamp(36px,6vw,72px)}.case-browser-mobile-overlap{position:absolute;right:clamp(12px,3vw,28px);bottom:0;width:min(28%,190px);z-index:2}.case-phone-frame{border:2px solid #1a1a1a;border-radius:22px;overflow:hidden;background:#111;box-shadow:0 16px 34px #00000047;padding:8px 6px}.case-phone-frame img,.case-phone-frame video{display:block;width:100%;height:auto;border-radius:14px;background:#fff}.case-story-cards{list-style:none;margin:8px 0 28px;padding:0;display:grid;gap:14px}.case-story-cards--2{grid-template-columns:repeat(2,minmax(0,1fr))}.case-story-cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}.case-story-card{padding:18px 16px;border:1px solid rgba(0,0,0,.1);border-radius:14px;background:color-mix(in srgb,var(--case-accent, #3f33da) 6%,#fff)}.case-story-card-title{margin:0 0 8px;font-family:var(--case-font);font-size:1rem;font-weight:700;letter-spacing:-.02em;color:#161616}.case-story-card-detail{margin:0;font-family:var(--case-font);font-size:.92rem;line-height:1.55;color:#555}.case-media-strip-list,.case-annotated-cards-list,.case-discovery-stack-list,.case-device-pairs-list,.case-story-outcomes{list-style:none;margin:0;padding:0}.case-media-strip-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.case-media-strip-list--1{grid-template-columns:minmax(0,1fr);max-width:420px}.case-media-strip-list--2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}.case-media-strip-frame{border:1px solid rgba(0,0,0,.1);border-radius:12px;overflow:hidden;background:#fff;aspect-ratio:4 / 3}.case-media-strip-frame--full{aspect-ratio:9 / 19.5;max-height:min(680px,78vh);background:#eef2f6}.case-media-strip-img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}.case-media-strip-frame--full .case-media-strip-img{object-fit:cover;object-position:center top}.case-media-strip--full .case-media-strip-list--2{max-width:560px}.case-media-strip--full .case-media-strip-list--3{max-width:900px}.case-media-strip-label{margin:10px 0 0;font-family:var(--case-font);font-size:.88rem;font-weight:700;color:#1a1a1a}.case-media-strip-action{margin:4px 0 0;font-family:var(--portfolio-body-font, var(--case-font));font-size:.82rem;color:var(--case-accent, #3f33da)}.case-discovery-stack-list{display:grid;gap:18px}.case-discovery-stack-item{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;row-gap:8px;align-items:start}.case-discovery-stack-index{grid-row:1 / span 2;font-family:var(--portfolio-body-font, var(--case-font));font-size:1.1rem;color:var(--case-accent, #3f33da);padding-top:8px}.case-discovery-stack-frame{border:1px solid rgba(0,0,0,.1);border-radius:12px;overflow:hidden;background:#fff}.case-discovery-stack-img{display:block;width:100%;height:auto}.case-discovery-stack-label{margin:0;grid-column:2;font-family:var(--case-font);font-size:.88rem;font-weight:600;color:#444}.case-annotated-cards-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.case-annotated-card-media{border:1px solid rgba(0,0,0,.1);border-radius:12px;overflow:hidden;background:#f7f7f8}.case-annotated-card-img{display:block;width:100%;height:auto}.case-annotated-card-notes{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.case-annotated-card-notes li{padding:4px 9px;border-radius:999px;border:1px dashed color-mix(in srgb,var(--case-accent, #3f33da) 45%,transparent);font-family:var(--case-font);font-size:.72rem;letter-spacing:.02em;color:#555;background:color-mix(in srgb,var(--case-accent, #3f33da) 8%,transparent)}.case-device-pairs-list{display:grid;gap:28px}.case-device-pair-label{margin:0 0 12px;font-family:var(--case-font);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#777}.case-device-pair-frames{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(160px,.7fr);gap:20px;align-items:end}.case-story-callout{margin:8px 0 28px;padding:18px 18px 18px 16px;border-left:3px solid var(--case-accent, #3f33da);border-radius:0 12px 12px 0;background:color-mix(in srgb,var(--case-accent, #3f33da) 8%,#fff)}.case-story-callout-title{margin:0 0 8px;font-family:var(--case-font);font-size:.95rem;font-weight:700;color:#161616}.case-story-callout-text{margin:0;font-family:var(--case-font);font-size:.95rem;line-height:1.6;color:#444}.case-story-outcomes{display:grid;gap:12px;margin:8px 0}.case-story-outcome{padding:16px;border:1px solid rgba(0,0,0,.1);border-radius:12px;background:#fff}.case-story-outcome-title{margin:0 0 6px;font-family:var(--case-font);font-size:1rem;font-weight:700;color:#161616}.case-story-outcome-detail{margin:0;font-family:var(--case-font);font-size:.92rem;line-height:1.55;color:#555}.case-story-cta-band{margin-top:28px;padding:24px;border:1px solid rgba(0,0,0,.12);border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--case-accent, #3f33da) 10%,#fff),#fff 70%)}.case-story-cta-heading{margin:0 0 8px;font-family:var(--case-font);font-size:1.35rem;letter-spacing:-.02em;color:#121212}.case-story-cta-text{margin:0 0 18px;font-family:var(--case-font);font-size:.98rem;line-height:1.6;color:#555;max-width:36rem}.case-story-cta-actions{display:flex;flex-wrap:wrap;gap:10px}.case-story-cta-primary,.case-story-cta-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:10px;font-family:var(--case-font);font-size:.95rem;font-weight:700;text-decoration:none;box-sizing:border-box}.case-story-cta-primary{background:var(--case-accent, #3f33da);color:#fff;border:1.5px solid var(--case-accent, #3f33da)}.case-story-cta-primary:hover{color:#fff;filter:brightness(1.08)}.case-story-cta-secondary{background:transparent;color:#222;border:1.5px solid rgba(0,0,0,.16)}.case-story-cta-secondary:hover{color:var(--case-accent, #3f33da);border-color:var(--case-accent, #3f33da)}.case-story-cta-primary:focus-visible,.case-story-cta-secondary:focus-visible{outline:2px solid var(--case-accent, #3f33da);outline-offset:3px}:root.dark-mode .case-browser-chrome{border-color:#ffffff1f;background:#1a1a1e;box-shadow:0 18px 40px #00000059}:root.dark-mode .case-browser-chrome-bar{background:#222228;border-bottom-color:#ffffff14}:root.dark-mode .case-browser-url{background:#16161a;border-color:#ffffff14;color:#ffffff8c}:root.dark-mode .case-story-card,:root.dark-mode .case-story-outcome,:root.dark-mode .case-story-cta-band,:root.dark-mode .case-story-callout{background:color-mix(in srgb,var(--case-accent, #8b7ff5) 12%,#161618);border-color:#ffffff1f}:root.dark-mode .case-story-card-title,:root.dark-mode .case-story-outcome-title,:root.dark-mode .case-story-callout-title,:root.dark-mode .case-story-cta-heading,:root.dark-mode .case-media-strip-label,:root.dark-mode .case-discovery-stack-label{color:#fffffff0}:root.dark-mode .case-story-card-detail,:root.dark-mode .case-story-outcome-detail,:root.dark-mode .case-story-callout-text,:root.dark-mode .case-story-cta-text,:root.dark-mode .case-device-pair-label{color:#ffffff9e}:root.dark-mode .case-story-cta-secondary{color:#ffffffe6;border-color:#ffffff2e}:root.dark-mode .case-annotated-card-notes li{color:#ffffffb3;border-color:color-mix(in srgb,var(--case-accent, #8b7ff5) 40%,transparent);background:color-mix(in srgb,var(--case-accent, #8b7ff5) 16%,transparent)}:root.dark-mode .case-media-strip-frame,:root.dark-mode .case-discovery-stack-frame,:root.dark-mode .case-annotated-card-media{border-color:#ffffff1f}@media(max-width:900px){.case-story-cards--3,.case-media-strip-list,.case-media-strip-list--2,.case-media-strip-list--3,.case-annotated-cards-list{grid-template-columns:1fr;max-width:none}.case-media-strip--full .case-media-strip-list--2,.case-media-strip--full .case-media-strip-list--3{max-width:360px;margin-inline:auto}.case-browser-mobile-overlap{width:min(34%,160px)}.case-device-pair-frames{grid-template-columns:1fr}.case-device-pair-mobile{max-width:280px}}@media(max-width:767px){.case-story-cards--2{grid-template-columns:1fr}.case-browser-compose--with-mobile{padding-bottom:0}.case-browser-mobile-overlap{position:static;width:min(70%,220px);margin:14px auto 0}.case-story-cta-actions{display:grid;grid-template-columns:1fr}.case-story-cta-primary,.case-story-cta-secondary{width:100%}.case-annotated-cards-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:6px;-webkit-overflow-scrolling:touch}.case-annotated-card{flex:0 0 min(78%,280px);scroll-snap-align:start}}
