:root,[data-theme=dark]{--brand:#6cb8ff;--brand-alt:#7c8cf8;--brand-dim:#6cb8ff24;--brand-glow:#6cb8ff59;--bg:#070a12;--bg-card:#0d1220;--bg-card-hover:#121a2c;--border:#ffffff12;--border-hover:#6cb8ff42;--text:#8b93a7;--text-bright:#e8edf7;--text-muted:#79839c;--header-bg:#070a12b8;--icon-filter:invert(1) brightness(2);--icon-filter-hover:invert(0) brightness(.2);--watermark-color:#ffffff06;--glow-color:#6cb8ff12;--veil-1:#6cb8ff4d;--veil-2:#7c8cf83d;--veil-3:#38bdf829;--grain-opacity:.045;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--brand:#1d6fd4;--brand-alt:#4f46e5;--brand-dim:#1d6fd417;--brand-glow:#1d6fd438;--bg:#f7f9fc;--bg-card:#fff;--bg-card-hover:#f1f5fb;--border:#0f172a17;--border-hover:#1d6fd44d;--text:#4a5568;--text-bright:#0f172a;--text-muted:#64748b;--header-bg:#f7f9fcd1;--icon-filter:none;--icon-filter-hover:invert(1) brightness(2);--watermark-color:#0f172a08;--glow-color:#1d6fd40d;--veil-1:#1d6fd421;--veil-2:#4f46e51a;--veil-3:#0ea5e917;--grain-opacity:.02;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{--font-display:"Lato", sans-serif;--font-body:"Lato", sans-serif;--font-mono:"IBM Plex Mono", monospace;scroll-behavior:smooth}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6;transition:background .4s,color .4s;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{font:inherit;color:inherit}::selection{background:var(--brand);color:var(--bg)}:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:4px}.app{min-height:100vh;position:relative;overflow-x:clip}.glow-cursor{pointer-events:none;z-index:0;background:radial-gradient(circle, var(--glow-color) 0%, transparent 70%);width:620px;height:620px;transform:translate(calc(var(--mx,50vw) - 310px), calc(var(--my,50vh) - 310px));will-change:transform;border-radius:50%;transition:transform .15s ease-out;position:fixed;top:0;left:0}.bg-aurora{z-index:0;pointer-events:none;position:fixed;inset:-25vh -25vw;overflow:hidden}.bg-veil{will-change:transform;border-radius:50%;position:absolute}.bg-veil--1{background:radial-gradient(closest-side, var(--veil-1), transparent 72%);width:68vw;height:68vw;animation:22s ease-in-out infinite alternate veil-drift-1;top:-6%;left:-4%}.bg-veil--2{background:radial-gradient(closest-side, var(--veil-2), transparent 70%);width:62vw;height:62vw;animation:28s ease-in-out infinite alternate veil-drift-2;top:18%;right:-10%}.bg-veil--3{background:radial-gradient(closest-side, var(--veil-3), transparent 72%);width:56vw;height:56vw;animation:34s ease-in-out infinite alternate veil-drift-3;bottom:-14%;left:22%}@keyframes veil-drift-1{0%{transform:translate(0,0)scale(1)}to{transform:translate(9vw,7vh)scale(1.16)}}@keyframes veil-drift-2{0%{transform:translate(0,0)scale(1.1)}to{transform:translate(-11vw,9vh)scale(.94)}}@keyframes veil-drift-3{0%{transform:translate(0,0)scale(.96)}to{transform:translate(7vw,-8vh)scale(1.2)}}.bg-grain{z-index:0;pointer-events:none;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}main{z-index:1;max-width:1060px;margin:0 auto;padding:0 32px;position:relative}section{padding:100px 0}@media (width<=768px){main{padding:0 20px}section{padding:72px 0}}.anim-fade{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(20px)}.anim-slide-up{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(40px)}.anim-fade.visible,.anim-slide-up.visible{opacity:1;transform:translateY(0)}.section-label{font-family:var(--font-mono);letter-spacing:3px;text-transform:uppercase;color:var(--brand);margin-bottom:12px;font-size:13px;font-weight:500;display:block}.section-title{font-family:var(--font-display);color:var(--text-bright);letter-spacing:-.5px;margin-bottom:48px;font-size:40px;font-weight:700}@media (width<=768px){.section-title{margin-bottom:32px;font-size:30px}}.chip{font-family:var(--font-mono);background:var(--brand-dim);color:var(--brand);border:1px solid color-mix(in srgb, var(--brand) 12%, transparent);border-radius:100px;padding:4px 12px;font-size:12px;font-weight:400;display:inline-block}.btn-neon{font-family:var(--font-body);background:var(--brand);color:var(--bg);box-shadow:0 0 12px color-mix(in srgb, var(--brand) 14%, transparent);border-radius:8px;align-items:center;gap:8px;padding:14px 32px;font-size:15px;font-weight:500;transition:all .25s;display:inline-flex}.btn-neon:hover{box-shadow:0 0 20px color-mix(in srgb, var(--brand) 22%, transparent);transform:translateY(-2px)}.btn-ghost{font-family:var(--font-body);color:var(--text-bright);border:1px solid var(--border);background:0 0;border-radius:8px;align-items:center;gap:8px;padding:14px 32px;font-size:15px;font-weight:500;transition:all .25s;display:inline-flex}.btn-ghost:hover{border-color:var(--brand);color:var(--brand);box-shadow:0 0 20px color-mix(in srgb, var(--brand) 12%, transparent);transform:translateY(-2px)}.header{z-index:100;transition:all .3s;position:fixed;top:0;left:0;right:0}.header--scrolled{background:var(--header-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.header-inner{justify-content:space-between;align-items:center;max-width:1060px;height:72px;margin:0 auto;padding:0 32px;display:flex}.header-logo{font-family:var(--font-display);color:var(--text-bright);letter-spacing:-1px;font-size:24px;font-weight:900}.header-logo-dot{color:var(--brand)}.header-nav{gap:32px;display:flex}.header-nav-link{font-family:var(--font-body);color:var(--text-muted);font-size:14px;font-weight:400;transition:color .25s;position:relative}.header-nav-link:after{content:"";background:var(--brand);border-radius:1px;width:0;height:2px;transition:width .25s;position:absolute;bottom:-4px;left:0}.header-nav-link:hover{color:var(--text-bright)}.header-nav-link.active{color:var(--brand)}.header-nav-link.active:after{width:100%}.header-menu{align-items:center;gap:24px;display:flex}.header-toggles{gap:8px;display:flex}.switch{border:1px solid var(--border);background:color-mix(in srgb, var(--text-bright) 5%, transparent);cursor:pointer;border-radius:999px;grid-template-columns:1fr 1fr;align-items:center;height:30px;padding:3px;transition:border-color .3s,background .3s,box-shadow .3s;display:grid;position:relative}.switch:hover{border-color:var(--border-hover);box-shadow:0 0 18px -8px var(--brand)}.switch--lang{width:68px}.switch--theme{width:62px}.switch-knob{background:linear-gradient(140deg, var(--brand), var(--brand-alt));width:calc(50% - 3px);height:calc(100% - 6px);box-shadow:0 2px 10px -2px var(--brand-glow);border-radius:999px;transition:transform .42s cubic-bezier(.68,-.35,.27,1.35);position:absolute;top:3px;left:3px}.switch[aria-checked=true] .switch-knob{transform:translate(100%)}.switch-face{z-index:1;font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-muted);place-items:center;font-size:11px;font-weight:500;transition:color .32s;display:grid;position:relative}.switch[aria-checked=false] .switch-face:first-of-type,.switch[aria-checked=true] .switch-face:last-of-type{color:#06121f}.switch:active .switch-knob{transform:scale(.94) translateX(var(--knob-x,0))}.switch[aria-checked=true]:active .switch-knob{--knob-x:100%}.header-progress{width:100%;height:2px;transform:scaleX(var(--progress,0));transform-origin:0;background:linear-gradient(90deg, var(--brand), var(--brand-alt));opacity:0;pointer-events:none;transition:opacity .4s;position:absolute;bottom:0;left:0}.header--scrolled .header-progress{opacity:1}.header-burger{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;padding:4px;display:none}.header-burger span{background:var(--text-bright);border-radius:2px;width:100%;height:2px;transition:all .3s;display:block}.header--open .header-burger span:first-child{transform:rotate(45deg)translate(5px,5px)}.header--open .header-burger span:nth-child(2){opacity:0}.header--open .header-burger span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}@media (width<=768px){.header-inner{padding:0 20px}.header-burger{display:flex}.header-menu{background:var(--bg);border-bottom:1px solid var(--border);flex-direction:column;gap:0;padding:16px 20px 24px;display:none;position:absolute;top:72px;left:0;right:0}.header--scrolled .header-menu,.header--open .header-menu{background:var(--header-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.header-menu.open{display:flex}.header-nav{flex-direction:column;gap:0;width:100%}.header-nav-link{border-bottom:1px solid var(--border);width:100%;padding:12px 0;font-size:15px;display:block}.header-nav-link:after{display:none}.header-toggles{justify-content:center;margin-top:16px}}.about{flex-direction:column;justify-content:center;min-height:100vh;padding-top:72px;display:flex;position:relative;overflow:hidden}.about-badge-dot{background:var(--brand);width:7px;height:7px;box-shadow:0 0 0 3px var(--brand-dim);border-radius:50%;animation:2.6s ease-out infinite about-pulse}@keyframes about-pulse{0%{box-shadow:0 0 0 0 var(--brand-glow), 0 0 0 3px var(--brand-dim)}70%{box-shadow:0 0 0 9px transparent, 0 0 0 3px var(--brand-dim)}to{box-shadow:0 0 0 0 transparent, 0 0 0 3px var(--brand-dim)}}.about-watermark{font-family:var(--font-display);color:var(--watermark-color);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;letter-spacing:-4px;font-size:clamp(100px,18vw,260px);font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.about-badge{width:fit-content;font-family:var(--font-mono);color:var(--brand);background:var(--brand-dim);border:1px solid color-mix(in srgb, var(--brand) 16%, transparent);opacity:0;border-radius:100px;align-self:flex-start;align-items:center;gap:8px;margin-bottom:24px;padding:6px 16px;font-size:13px;font-weight:500;animation:.6s .1s forwards fadeSlideUp;display:inline-flex}.about-greeting{font-family:var(--font-mono);color:var(--brand);opacity:0;margin-bottom:16px;font-size:15px;animation:.6s .2s forwards fadeSlideUp}.about-name{font-family:var(--font-display);letter-spacing:-2px;margin-bottom:16px;font-size:clamp(48px,8vw,88px);font-weight:900;line-height:1.15}.about-name-wrap{opacity:0;animation:.6s .4s forwards fadeIn;display:block}.about-name-first{color:var(--text-bright)}.about-name-last{color:var(--brand);display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.about-role{font-family:var(--font-body);color:var(--text);opacity:0;margin-bottom:24px;font-size:20px;font-weight:400;animation:.6s .6s forwards fadeSlideUp}.about-desc{color:var(--text);opacity:0;max-width:560px;margin-bottom:36px;font-size:16px;line-height:1.8;animation:.6s .8s forwards fadeSlideUp}.about-cta{opacity:0;gap:16px;animation:.6s 1s forwards fadeSlideUp;display:flex}.about-stats{opacity:0;gap:40px;margin-top:48px;animation:.6s 1.2s forwards fadeSlideUp;display:flex}.about-stat{flex-direction:column;gap:4px;display:flex}.about-stat-number{font-family:var(--font-display);color:var(--brand);font-size:32px;font-weight:900}.about-stat-label{font-family:var(--font-mono);color:var(--text-muted);font-size:12px}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.about{min-height:auto;padding:120px 0 60px}.about-name{letter-spacing:-1px}.about-cta{flex-direction:column}.about-cta a{text-align:center}.about-stats{justify-content:center;gap:24px}.about-stat{align-items:center}}.experience{border-top:1px solid var(--border)}.timeline{flex-direction:column;margin-top:52px;display:flex}.xp{opacity:0;grid-template-columns:190px 26px minmax(0,1fr);column-gap:22px;display:grid;transform:translateY(26px)}.timeline.visible .xp{animation:.7s cubic-bezier(.22,1,.36,1) forwards xp-in;animation-delay:calc(var(--i) * .11s)}@keyframes xp-in{to{opacity:1;transform:none}}.xp-when{text-align:right;flex-direction:column;gap:5px;padding-top:2px;display:flex}.xp-period{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-bright);white-space:nowrap;font-size:12.5px}.xp.is-current .xp-period{color:var(--brand)}.xp-location{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.xp-rail{justify-content:center;display:flex;position:relative}.xp-rail:before{content:"";background:linear-gradient(to bottom, color-mix(in srgb, var(--brand) 45%, transparent), var(--border));width:1px;position:absolute;top:16px;bottom:-8px}.xp:last-child .xp-rail:before{display:none}.xp-dot{z-index:1;background:var(--bg);border:2px solid color-mix(in srgb, var(--brand) 40%, transparent);border-radius:50%;width:11px;height:11px;margin-top:5px;transition:border-color .3s,box-shadow .3s,transform .3s;position:relative}.xp:hover .xp-dot{border-color:var(--brand);box-shadow:0 0 16px -2px var(--brand);transform:scale(1.2)}.xp.is-current .xp-dot{background:var(--brand);border-color:var(--brand);box-shadow:0 0 18px -2px var(--brand)}.xp-card{border:1px solid var(--border);background:var(--bg-card);border-radius:14px;margin-bottom:34px;padding:22px 24px 24px;transition:border-color .3s,box-shadow .3s,transform .3s;position:relative}.xp:last-child .xp-card{margin-bottom:0}.xp-card:hover{border-color:color-mix(in srgb, var(--brand) 30%, transparent);transform:translateY(-3px);box-shadow:0 18px 44px -26px #000000bf}.xp.is-current .xp-card{background:linear-gradient(145deg, color-mix(in srgb, var(--brand) 5%, var(--bg-card)), var(--bg-card) 55%);border-color:color-mix(in srgb, var(--brand) 22%, transparent)}.xp-card:before{content:"";background:inherit;border-left:1px solid var(--border);border-bottom:1px solid var(--border);width:9px;height:9px;transition:border-color .3s;position:absolute;top:22px;left:-5px;transform:rotate(45deg)}.xp-card:hover:before,.xp.is-current .xp-card:before{border-color:color-mix(in srgb, var(--brand) 25%, transparent)}.xp-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.xp-role{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-bright);font-size:18px;font-weight:700}.xp-badge{border:1px solid color-mix(in srgb, var(--brand) 30%, transparent);background:var(--brand-dim);font-family:var(--font-mono);letter-spacing:.05em;color:var(--text-bright);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:10.5px;display:inline-flex}.xp-badge-dot{background:var(--brand);border-radius:50%;width:5px;height:5px;animation:2.4s ease-out infinite xp-pulse}@keyframes xp-pulse{0%{box-shadow:0 0 0 0 var(--brand-glow)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}.xp-company{font-family:var(--font-mono);color:var(--brand);margin-top:5px;font-size:13px}.xp-note{color:var(--text);margin-top:8px;font-size:14px}.xp-tasks{margin-top:16px}.xp-tasks li{color:var(--text);padding-left:20px;font-size:14px;line-height:1.65;position:relative}.xp-tasks li+li{margin-top:9px}.xp-tasks li:before{content:"";background:color-mix(in srgb, var(--brand) 65%, transparent);border-radius:50%;width:5px;height:5px;transition:box-shadow .3s;position:absolute;top:9px;left:2px}.xp-card:hover .xp-tasks li:before{box-shadow:0 0 10px var(--brand)}.xp-techs{flex-wrap:wrap;gap:6px;margin-top:18px;display:flex}[data-theme=light] .xp-card:hover{box-shadow:0 18px 42px -28px #00000047}[data-theme=light] .xp-dot{background:var(--bg-card)}@media (width<=860px){.xp{grid-template-columns:22px minmax(0,1fr);column-gap:16px}.xp-when{text-align:left;flex-direction:row;grid-area:1/2;align-items:baseline;gap:12px;margin-bottom:10px}.xp-rail{grid-area:1/1/span 2}.xp-rail:before{top:10px}.xp-dot{margin-top:0}.xp-card{grid-area:2/2}}@media (width<=560px){.xp-card{padding:20px}.xp-role{font-size:16.5px}.xp-when{flex-wrap:wrap;gap:4px 12px}}@media (prefers-reduced-motion:reduce){.xp{opacity:1;transform:none}.timeline.visible .xp,.xp-badge-dot{animation:none}.xp-card:hover,.xp:hover .xp-dot{transform:none}}.skills{border-top:1px solid var(--border)}.skills-bento{grid-template-columns:repeat(6,1fr);gap:16px;margin-top:52px;display:grid}.skill-card{--px:50%;--py:50%;background:var(--bg-card);border:1px solid var(--border);opacity:0;border-radius:16px;grid-column:span 2;padding:22px 24px 24px;transition:border-color .35s,box-shadow .35s,background .35s;position:relative;overflow:hidden;transform:translateY(28px)}.skill-card[data-span="3"]{background:linear-gradient(145deg, color-mix(in srgb, var(--brand) 4%, var(--bg-card)), var(--bg-card) 60%);grid-column:span 3}.skills-bento.visible .skill-card{animation:.7s cubic-bezier(.22,1,.36,1) forwards skill-in;animation-delay:calc(var(--i) * 70ms)}@keyframes skill-in{to{opacity:1;transform:none}}.skill-card:hover{border-color:color-mix(in srgb, var(--brand) 30%, transparent);box-shadow:0 18px 46px -24px #000000b3}.skill-card:before{content:"";pointer-events:none;background:radial-gradient(320px circle at var(--px) var(--py), color-mix(in srgb, var(--brand) 11%, transparent), transparent 68%);opacity:0;transition:opacity .35s;position:absolute;inset:0}.skill-card:hover:before{opacity:1}.skill-card:after{content:"";pointer-events:none;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--brand) 60%, transparent), transparent);opacity:0;height:1px;transition:opacity .4s;position:absolute;top:0;left:0;right:0}.skill-card:hover:after{opacity:1}.skill-card-head{align-items:center;gap:12px;margin-bottom:18px;display:flex;position:relative}.skill-card-icon{background:var(--brand-dim);border:1px solid color-mix(in srgb, var(--brand) 20%, transparent);width:34px;height:34px;color:var(--brand);border-radius:10px;flex:none;place-items:center;transition:transform .35s cubic-bezier(.22,1,.36,1),background .35s,box-shadow .35s;display:grid}.skill-card:hover .skill-card-icon{background:color-mix(in srgb, var(--brand) 18%, transparent);box-shadow:0 0 22px -6px var(--brand);transform:scale(1.08)rotate(-5deg)}.skill-card-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-bright);font-size:15px;font-weight:700}.skill-card-count{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-muted);margin-left:auto;font-size:11px}.skill-card-tags{flex-wrap:wrap;gap:7px;display:flex;position:relative}.skill-tag{font-family:var(--font-mono);background:color-mix(in srgb, var(--text-bright) 6%, transparent);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:5px 11px;font-size:12px;transition:color .22s,border-color .22s,background .22s,transform .22s}.skill-tag:hover{color:var(--text-bright);border-color:color-mix(in srgb, var(--brand) 45%, transparent);background:var(--brand-dim);transform:translateY(-2px)}[data-theme=light] .skill-card:hover{box-shadow:0 18px 44px -26px #00000040}@media (width<=1040px){.skills-bento{grid-template-columns:repeat(2,1fr);gap:14px}.skill-card,.skill-card[data-span="3"]{grid-column:span 1}}@media (width<=620px){.skills-bento{grid-template-columns:1fr;margin-top:36px}.skill-card{padding:20px}}@media (prefers-reduced-motion:reduce){.skill-card{opacity:1;transform:none}.skills-bento.visible .skill-card{animation:none}.skill-card:hover .skill-card-icon,.skill-tag:hover{transform:none}}@property --case-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.projects{--bleed:min(1400px, calc(100vw - 64px));width:var(--bleed);margin-left:calc(50% - var(--bleed) / 2);border-top:1px solid var(--border)}.section-title:has(+.section-intro){margin-bottom:14px}.section-intro{max-width:46ch;color:var(--text-muted);font-size:15px;line-height:1.7}.cases{flex-direction:column;gap:150px;margin-top:90px;display:flex}.case{--accent-text:var(--accent);--rx:0deg;--ry:0deg;--px:50%;--py:50%;opacity:0;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:72px;transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);display:grid;position:relative;transform:translateY(48px)}.case.visible{opacity:1;transform:none}.case:nth-child(2n){grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.case:nth-child(2n) .case-body{order:2}.case-ghost{font-family:var(--font-display);letter-spacing:-.05em;color:color-mix(in srgb, var(--accent) 9%, transparent);pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;font-size:clamp(130px,15vw,210px);font-weight:900;line-height:1;position:absolute;top:-.56em}.case:nth-child(odd) .case-ghost{left:-.06em}.case:nth-child(2n) .case-ghost{right:-.06em}.case-body{z-index:1;min-width:0;position:relative}.case-head{align-items:center;gap:14px;margin-bottom:18px;display:flex}.case-index{font-family:var(--font-mono);color:var(--accent-text);letter-spacing:.1em;font-size:12px;font-weight:500}.case-status{border:1px solid color-mix(in srgb, var(--accent) 32%, transparent);background:color-mix(in srgb, var(--accent) 10%, transparent);font-family:var(--font-mono);letter-spacing:.05em;color:var(--text-bright);border-radius:999px;align-items:center;gap:7px;padding:4px 11px;font-size:11px;display:inline-flex}.case-status-dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 70%, transparent);border-radius:50%;animation:2.4s ease-out infinite case-pulse}@keyframes case-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 60%, transparent)}70%{box-shadow:0 0 0 7px #0000}to{box-shadow:0 0 #0000}}.case-year{font-family:var(--font-mono);color:var(--text-muted);margin-left:auto;font-size:11px}.case-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-bright);background:linear-gradient(120deg, var(--text-bright) 20%, color-mix(in srgb, var(--accent-text) 75%, var(--text-bright)) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(34px,4vw,50px);font-weight:900;line-height:1.05}.case-tagline{font-family:var(--font-mono);letter-spacing:.02em;color:var(--accent-text);margin-top:10px;font-size:13px}.case-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.case-feature{border:1px solid var(--border);background:color-mix(in srgb, var(--accent) 4%, transparent);border-radius:12px;padding:16px 18px 18px;transition:border-color .3s,background .3s,transform .3s;position:relative}.case-feature:hover{border-color:color-mix(in srgb, var(--accent) 38%, transparent);background:color-mix(in srgb, var(--accent) 9%, transparent);transform:translateY(-3px)}.case-feature-num{font-family:var(--font-mono);letter-spacing:.12em;color:var(--accent-text);font-size:10px}.case-feature-title{font-family:var(--font-display);color:var(--text-bright);margin:7px 0;font-size:14.5px;font-weight:700;line-height:1.3}.case-feature-text{color:var(--text);font-size:13px;line-height:1.6}.case-metrics{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:14px 34px;margin:30px 0;padding:22px 0;display:flex}.case-metric-value{font-family:var(--font-display);letter-spacing:-.03em;background:linear-gradient(180deg, var(--text-bright), color-mix(in srgb, var(--accent-text) 65%, var(--text-bright)));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:30px;font-weight:900;line-height:1.1;display:block}.case-metric-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.09em;color:var(--text-muted);margin-top:4px;font-size:10px;display:block}.case-tagline+.case-block{margin-top:28px}.case-block+.case-block{margin-top:26px}.case-block-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);margin-bottom:14px;font-size:11px;font-weight:500}.case-highlights li{color:var(--text);padding-left:22px;font-size:14px;line-height:1.65;position:relative}.case-highlights li+li{margin-top:10px}.case-highlights li:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 12px color-mix(in srgb, var(--accent) 80%, transparent);border-radius:50%;position:absolute;top:8px;left:2px}.case-stack{flex-direction:column;gap:10px;display:flex}.case-stack-row{grid-template-columns:128px minmax(0,1fr);align-items:baseline;gap:14px;display:grid}.case-stack-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.09em;color:var(--text-muted);font-size:10.5px;line-height:1.9}.case-stack-items{flex-wrap:wrap;gap:6px;display:flex}.case-stack-items .chip{background:color-mix(in srgb, var(--accent) 9%, transparent);border-color:color-mix(in srgb, var(--accent) 26%, transparent);color:color-mix(in srgb, var(--accent-text) 60%, var(--text-bright));transition:background .25s,border-color .25s,transform .25s}.case-stack-items .chip:hover{background:color-mix(in srgb, var(--accent) 18%, transparent);border-color:color-mix(in srgb, var(--accent) 50%, transparent);transform:translateY(-2px)}.case-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.case-cta{border:1px solid color-mix(in srgb, var(--accent) 38%, transparent);background:color-mix(in srgb, var(--accent) 11%, transparent);font-family:var(--font-mono);color:var(--text-bright);border-radius:999px;align-items:center;gap:10px;padding:13px 26px;font-size:13px;font-weight:500;transition:background .3s,border-color .3s,box-shadow .3s,transform .3s;display:inline-flex}.case-cta:hover{background:color-mix(in srgb, var(--accent) 20%, transparent);border-color:var(--accent);box-shadow:0 14px 36px -12px var(--accent);transform:translateY(-2px)}.case-cta svg{transition:transform .3s}.case-cta:hover svg{transform:translate(3px,-3px)}.case-cta--ghost{border-color:var(--border);color:var(--text);background:0 0}.case-cta--ghost:hover{background:color-mix(in srgb, var(--accent) 9%, transparent);border-color:color-mix(in srgb, var(--accent) 45%, transparent);box-shadow:none;color:var(--text-bright)}.case-cta--ghost:hover svg{transform:none}.case-private{color:var(--text-muted);align-items:flex-start;gap:8px;margin-top:16px;font-size:12.5px;line-height:1.5;display:flex}.case-private svg{color:color-mix(in srgb, var(--accent) 60%, var(--text-muted));flex:none;margin-top:2px}.case-private a{color:var(--accent-text);border-bottom:1px solid color-mix(in srgb, var(--accent) 35%, transparent);transition:border-color .25s}.case-private a:hover{border-bottom-color:var(--accent)}.case-visual{z-index:1;align-self:start;min-width:0;position:sticky;top:96px}.case-tabs{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.case-tab{border:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;padding:7px 14px;font-size:11.5px;transition:color .25s,border-color .25s,background .25s,box-shadow .25s}.case-tab:hover{color:var(--text-bright);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.case-tab.is-active{color:var(--text-bright);border-color:color-mix(in srgb, var(--accent) 60%, transparent);background:color-mix(in srgb, var(--accent) 14%, transparent);box-shadow:0 0 20px -6px var(--accent)}.case-stage{perspective:1500px;position:relative}.case-halo{z-index:0;background:radial-gradient(55% 55% at var(--px) var(--py), color-mix(in srgb, var(--accent) 55%, transparent), transparent 72%);filter:blur(64px);opacity:.45;pointer-events:none;transition:opacity .6s;position:absolute;inset:-18% -12%}.case-stage.is-live .case-halo{opacity:.9}.case-frame{z-index:1;background:var(--bg-card);border:1px solid var(--border);transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;border-radius:16px;transition:transform .6s cubic-bezier(.22,1,.36,1),box-shadow .5s;position:relative;overflow:hidden;box-shadow:0 44px 90px -34px #000000bf,inset 0 1px #ffffff0d}.case-stage.is-live .case-frame{box-shadow:0 54px 110px -34px #000000d9, 0 0 60px -24px var(--accent), inset 0 1px 0 #ffffff12;transition:transform .14s ease-out,box-shadow .5s}.case-frame:after{content:"";border-radius:inherit;background:conic-gradient(from var(--case-angle), transparent 0deg, var(--accent) 45deg, transparent 130deg, transparent 360deg);-webkit-mask-composite:xor;opacity:0;pointer-events:none;padding:1px;transition:opacity .45s;animation:5s linear infinite case-spin;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.case-stage.is-live .case-frame:after{opacity:1}@keyframes case-spin{to{--case-angle:360deg}}.case-chrome{background:color-mix(in srgb, var(--bg-card) 70%, var(--bg));border-bottom:1px solid var(--border);align-items:center;gap:7px;padding:11px 16px;display:flex}.case-chrome-dot{background:var(--border);border-radius:50%;width:9px;height:9px}.case-chrome-dot:first-child{background:color-mix(in srgb, var(--accent) 55%, transparent)}.case-chrome-url{background:color-mix(in srgb, var(--bg) 60%, transparent);font-family:var(--font-mono);color:var(--text-muted);border-radius:999px;margin-left:10px;padding:3px 12px;font-size:11px}.case-media{aspect-ratio:1440/690;background:var(--bg);position:relative;overflow:hidden}.case[data-type=mobile] .case-media{aspect-ratio:1}.case-shot{object-fit:cover;object-position:top center;opacity:0;width:100%;height:100%;transition:opacity .75s,transform 1.3s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:scale(1.045)}.case-shot.is-active{opacity:1;transform:none}.case[data-type=mobile] .case-shot{object-fit:contain}.case-shot--contain{object-fit:contain;object-position:center;background:var(--bg)}.case-sheen{pointer-events:none;background:linear-gradient(105deg,#0000 38%,#ffffff24 48%,#0000 58%);transition:transform 1.1s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:translate(-120%)}.case-stage.is-live .case-sheen{transform:translate(120%)}.case-reflection{z-index:0;filter:blur(5px)saturate(.7);opacity:.16;pointer-events:none;background-position:bottom;background-repeat:no-repeat;background-size:100%;height:20%;position:absolute;top:100%;left:3%;right:3%;transform:scaleY(-1);-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000)}.case-progress{gap:5px;margin-top:22px;display:flex}.case-progress-bar{background:var(--border);border-radius:2px;flex:1;height:2px;position:relative;overflow:hidden}.case-progress-bar.is-active:after{content:"";background:var(--accent);box-shadow:0 0 10px var(--accent);transform-origin:0;animation:5.2s linear case-fill;position:absolute;inset:0}.case-stage:hover+.case-progress .case-progress-bar.is-active:after{animation-play-state:paused}@keyframes case-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}[data-theme=light] .case{--accent-text:color-mix(in srgb, var(--accent) 62%, #000)}[data-theme=light] .case-frame{box-shadow:0 34px 70px -32px #00000047,inset 0 1px #fff9}[data-theme=light] .case-stage.is-live .case-frame{box-shadow:0 44px 90px -32px #00000057, 0 0 60px -26px var(--accent), inset 0 1px 0 #fff9}[data-theme=light] .case-halo{opacity:.3}[data-theme=light] .case-stage.is-live .case-halo{opacity:.55}[data-theme=light] .case-sheen{background:linear-gradient(105deg,#0000 38%,#ffffff80 48%,#0000 58%)}@media (width<=1040px){.cases{gap:110px;margin-top:64px}.case,.case:nth-child(2n){grid-template-columns:1fr;gap:40px}.case:nth-child(2n) .case-body{order:0}.case-visual{position:static;top:auto}.case-stack-row{grid-template-columns:112px minmax(0,1fr)}.case-ghost{font-size:clamp(110px,24vw,170px)}}@media (width<=620px){.case-features{grid-template-columns:1fr}.case-stack-row{grid-template-columns:1fr;gap:6px}}@media (width<=768px){.cases{gap:88px}.case-metrics{gap:12px 24px;margin:24px 0;padding:18px 0}.case-metric-value{font-size:25px}.case-tabs{gap:5px;margin-bottom:16px}.case-tab{padding:6px 11px;font-size:11px}.case-chrome{padding:9px 12px}.case-chrome-url{font-size:10px}.case-actions{flex-direction:column;align-items:stretch}.case-cta{justify-content:center;width:100%}.case-reflection{display:none}}@media (prefers-reduced-motion:reduce){.case,.case-shot,.case-frame,.case-sheen,.case-feature{transition:none}.case{opacity:1;transform:none}.case-frame{transform:none}.case-status-dot,.case-frame:after,.case-progress-bar.is-active:after{animation:none}.case-progress-bar.is-active:after{transform:scaleX(1)}}.contact{border-top:1px solid var(--border)}.contact-head{text-align:center;max-width:560px;margin:0 auto 46px}.contact-title{font-family:var(--font-display);letter-spacing:-.03em;background:linear-gradient(115deg, var(--text-bright) 30%, var(--brand) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:18px;font-size:clamp(34px,5vw,52px);font-weight:900;line-height:1.05}.contact-text{color:var(--text);font-size:16px;line-height:1.75}.contact-card{--px:50%;--py:0%;border:1px solid var(--border);background:var(--bg-card);border-radius:22px;flex-direction:column;align-items:flex-start;gap:26px;max-width:620px;margin:0 auto;padding:38px 40px 34px;transition:border-color .4s,box-shadow .4s;display:flex;position:relative;overflow:hidden}.contact-card:hover{border-color:var(--border-hover);box-shadow:0 30px 70px -40px #000000d9}.contact-card-glow{pointer-events:none;background:radial-gradient(420px circle at var(--px) var(--py), color-mix(in srgb, var(--brand) 13%, transparent), transparent 70%);opacity:0;transition:opacity .45s;position:absolute;inset:0}.contact-card:hover .contact-card-glow{opacity:1}.contact-card:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--brand) 70%, transparent), transparent);background-repeat:no-repeat;background-size:50% 100%;height:1px;animation:4.5s ease-in-out infinite contact-sweep;position:absolute;top:0;left:0;right:0}@keyframes contact-sweep{0%{background-position:-60% 0}60%,to{background-position:160% 0}}.contact-status{border:1px solid color-mix(in srgb, var(--brand) 30%, transparent);background:var(--brand-dim);font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-bright);border-radius:999px;align-items:center;gap:8px;padding:5px 13px;font-size:11px;display:inline-flex;position:relative}.contact-status-dot{background:var(--brand);border-radius:50%;width:6px;height:6px;animation:2.4s ease-out infinite contact-pulse}@keyframes contact-pulse{0%{box-shadow:0 0 0 0 var(--brand-glow)}70%{box-shadow:0 0 0 8px #0000}to{box-shadow:0 0 #0000}}.contact-cta{background:linear-gradient(135deg, var(--brand), var(--brand-alt));color:#06121f;font-family:var(--font-body);box-shadow:0 14px 34px -16px var(--brand);border-radius:999px;align-items:center;gap:10px;padding:15px 30px;font-size:15px;font-weight:700;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s;display:inline-flex;position:relative;overflow:hidden}.contact-cta:hover{box-shadow:0 22px 46px -18px var(--brand);transform:translateY(-3px)}.contact-cta:after{content:"";background:linear-gradient(105deg,#0000 38%,#ffffff6b 48%,#0000 58%);transition:transform .9s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:translate(-130%)}.contact-cta:hover:after{transform:translate(130%)}.contact-cta svg{z-index:1;position:relative}.contact-socials{border-top:1px solid var(--border);flex-wrap:wrap;align-self:stretch;align-items:center;gap:12px 18px;padding-top:24px;display:flex;position:relative}.contact-socials-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.13em;color:var(--text-muted);font-size:10.5px}.contact-socials-list{flex-wrap:wrap;gap:10px;margin-left:auto;display:flex}.contact-social{border:1px solid var(--border);color:var(--text-bright);background:0 0;border-radius:999px;align-items:center;gap:8px;padding:9px 16px;font-size:13.5px;font-weight:500;transition:border-color .3s,background .3s,transform .3s;display:inline-flex}.contact-social:hover{border-color:var(--border-hover);background:var(--brand-dim);transform:translateY(-2px)}.contact-social-icon{width:17px;height:17px;filter:var(--icon-filter)}[data-theme=light] .contact-card:hover{box-shadow:0 30px 64px -40px #0f172a4d}[data-theme=light] .contact-cta{color:#fff}@media (width<=620px){.contact-card{padding:28px 22px 26px}.contact-cta{justify-content:center;width:100%}.contact-socials-list{width:100%;margin-left:0}.contact-social{flex:1;justify-content:center}}@media (prefers-reduced-motion:reduce){.contact-card:before,.contact-status-dot{animation:none}.contact-cta:hover{transform:none}.contact-cta:after{display:none}.contact-social:hover{transform:none}}.footer{z-index:1;text-align:center;border-top:1px solid var(--border);font-family:var(--font-mono);color:var(--text-muted);padding:40px 32px;font-size:13px;position:relative}
