:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}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:#646cff}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:#747bff}button{background-color:#f9f9f9}}*,*:before,*:after{box-sizing:border-box}html{overflow-x:hidden;max-width:100%}body{margin:0;padding:0;max-width:100vw;overflow-x:hidden}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif;background:var(--page-bg);color:var(--page-text);transition:background-color .35s ease,color .35s ease}#root{min-height:100vh;max-width:100%;overflow-x:hidden}:root{--page-bg: #050612;--page-text: #f5f5f7;--ink: #0b0b0b;--paper: #f4f2ee;--gold: #c9a968;--muted: #7c7a74;--soft-border: rgba(0, 0, 0, .08);--glass-bg: rgba(26, 40, 71, .5);--glass-border: rgba(255, 255, 255, .08);--text-muted: rgba(224, 230, 255, .9);--accent-blue: #051438;--mouse-x: 50%;--mouse-y: 50%;--particles-opacity: 1;--galaxy-translate-y: 0;--neural-wipe-pct: 0%;--scroll-cover-height: 0}.page{position:relative;min-height:100vh;overflow-x:hidden;width:100%;max-width:100%;margin:0 auto}.page:before{content:"";position:fixed;inset:-100px;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(120,180,255,.04) 0px,transparent 1px,transparent 3px,rgba(120,180,255,.04) 4px),repeating-linear-gradient(90deg,rgba(173,204,255,.03) 0px,transparent 1px,transparent 3px,rgba(173,204,255,.03) 4px);background-size:100% 100%;transform-origin:calc(var(--mouse-x) + 100px) calc(var(--mouse-y) + 100px);transform:perspective(1000px) translate(calc((var(--mouse-x) - 50vw) * .015)) translateY(calc((var(--mouse-y) - 50vh) * .015)) rotateX(calc((var(--mouse-y) - 50vh) * -.01deg)) rotateY(calc((var(--mouse-x) - 50vw) * .01deg));opacity:calc(var(--ripple-alpha, 0) * .6);transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .2s ease-out;z-index:2}@media(max-width:768px){.page:before{inset:0}}.page-inner{width:100%;max-width:min(1180px,100%);margin:0 auto;padding:72px 32px 96px;position:relative;z-index:4;box-sizing:border-box}@media(max-width:900px){.page-inner{padding:56px 20px 80px}}@media(max-width:600px){.page-inner{padding:32px 16px 56px}}.hero-background{position:fixed;top:0;left:0;right:0;width:100%;height:100vh;max-height:100vh;z-index:1;pointer-events:auto;background:var(--page-bg);overflow:hidden}.hero-neural-layer{position:absolute;inset:0;transition:opacity .35s cubic-bezier(.4,0,.2,1)}.hero-neural-layer--out{opacity:0;pointer-events:none}.hero-neural-intro{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;background:var(--page-bg)}.hero-galaxy-layer{position:absolute;inset:0;background:#050612;transform:translateY(var(--galaxy-translate-y, 0));will-change:transform;transition:transform .12s ease-out}.hero-galaxy-layer--in{opacity:1}.scroll-cover{position:fixed;bottom:0;left:0;right:0;width:100%;height:var(--scroll-cover-height, 0);max-height:100vh;background:var(--page-bg);z-index:2;pointer-events:none;transition:height .28s cubic-bezier(.25,0,.15,1)}.hero-particles-fullscreen{position:absolute;inset:0;width:100%;height:100%;pointer-events:auto;touch-action:manipulation;opacity:var(--particles-opacity, 1);transition:opacity .5s cubic-bezier(.25,0,.15,1);background:#050612}.intro-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 20% -10%,#1a2847 0,#0a0e1a 55%,#02040a);pointer-events:auto;animation:intro-bg-in .5s ease-out}.intro-overlay--hidden{animation:intro-melt 1.2s cubic-bezier(.76,0,.24,1) forwards;pointer-events:none}@keyframes intro-bg-in{0%{opacity:0}to{opacity:1}}@keyframes intro-melt{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0px);visibility:visible}40%{opacity:.9;transform:translateY(5px) scale(.995);filter:blur(2px);visibility:visible}70%{opacity:.3;transform:translateY(20px) scale(.99);filter:blur(8px);visibility:visible}99%{opacity:0;transform:translateY(40px) scale(.97);filter:blur(15px);visibility:visible}to{opacity:0;visibility:hidden;display:none}}.intro-code-window{margin:0;font-family:JetBrains Mono,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:15px;line-height:1.8;color:#aac8ff;white-space:pre-wrap;text-shadow:0 0 20px rgba(91,140,255,.6),0 0 40px rgba(91,140,255,.4)}.intro-code-line{opacity:0;transform:translate(-8px);filter:blur(3px);animation:code-glitch-in .08s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes code-glitch-in{0%{opacity:0;transform:translate(-15px) translateY(3px);filter:blur(4px);text-shadow:-3px 0 0 rgba(255,0,100,.3),3px 0 0 rgba(0,255,255,.3)}15%{opacity:.08;transform:translate(4px) translateY(-2px);filter:blur(2px);text-shadow:-2px 0 0 rgba(255,0,100,.2),2px 0 0 rgba(0,255,255,.2)}30%{opacity:.12;transform:translate(-2px) translateY(1px);filter:blur(1px);text-shadow:-1px 0 0 rgba(255,0,100,.15),1px 0 0 rgba(0,255,255,.15)}45%{opacity:.15;transform:translate(1px) translateY(-1px);filter:blur(.5px)}60%{opacity:.18;transform:translate(0) translateY(0);filter:blur(0)}75%{opacity:.2}to{opacity:.2;transform:translate(0) translateY(0);filter:blur(0);text-shadow:0 0 20px rgba(91,140,255,.3),0 0 40px rgba(91,140,255,.2)}}.hero{position:relative;overflow:hidden;padding:0;min-height:100vh;display:flex;align-items:center;justify-content:center;z-index:2;padding-top:8vh;box-sizing:border-box;pointer-events:none}.hero:before{content:"";position:absolute;inset:-40%;background-image:radial-gradient(circle at 10% 0%,rgba(255,255,255,.02) 0,transparent 50%);opacity:.35;pointer-events:none;transition:opacity .3s ease-out}.page.galaxy-visible .hero:before{opacity:0}.hero-right{position:relative;z-index:1;color:var(--page-text);text-align:center;max-width:1000px;padding:2rem;padding-top:4vh;width:100%;box-sizing:border-box;pointer-events:auto}.hero-eyebrow{position:fixed;top:2rem;left:50%;transform:translate(-50%);text-transform:uppercase;letter-spacing:.28em;font-size:.65rem;color:#bcc6e680;margin:0;opacity:0;animation:fadeInDown .8s ease-out .3s forwards;z-index:100}@keyframes fadeInDown{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.hero-name-block{position:relative;margin-bottom:0;display:inline-block;max-width:100%}.hero-name{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,Arial,sans-serif;font-weight:700;font-size:clamp(1.25rem,12vw,9rem);letter-spacing:-.02em;text-transform:uppercase;color:#f7f7fd;opacity:0;animation:heroNameIn .9s ease-out .6s forwards;margin:0;line-height:.95;transform-style:preserve-3d;will-change:transform;word-break:break-word;-webkit-hyphens:none;hyphens:none;max-width:100%;text-shadow:0 2px 12px rgba(0,0,0,.5),0 4px 24px rgba(0,0,0,.35)}.hero-name,.hero-meta{transition:opacity .3s ease}@keyframes heroNameIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-meta{margin:3.5rem 0 0;font-family:JetBrains Mono,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:clamp(9px,1.2vw,11px);letter-spacing:.28em;text-transform:uppercase;color:#c7d2ff99;font-weight:400;opacity:1;transform:translateY(0);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.hero-meta.scroll-visible{opacity:1;transform:translateY(0)}@media(max-width:900px){.hero{min-height:90vh;padding:0 1rem}.hero-right{padding:1.5rem 1rem}.hero-eyebrow{top:1.5rem;font-size:.6rem}.hero-name{font-size:clamp(1.5rem,8vw,3.5rem);letter-spacing:-.01em}.hero-meta{margin-top:1.5rem;font-size:8px;letter-spacing:.22em}}@media(max-width:600px){.hero{min-height:100vh;min-height:100dvh;padding:0 12px;padding-top:12vh;align-items:center}.hero-eyebrow{top:3rem;font-size:.58rem;letter-spacing:.24em}.hero-right{padding:12px;padding-top:2vh;max-width:100%;z-index:2}.hero-name,.hero-meta{text-shadow:0 2px 8px rgba(0,0,0,.6),0 4px 20px rgba(0,0,0,.5)}.hero-name-block{max-width:100%}.hero-name{font-size:clamp(1.4rem,8vw,2.5rem);line-height:1.05;letter-spacing:-.02em}.hero-meta{margin-top:1rem;font-size:8px;letter-spacing:.18em;padding:0 4px}}@media(max-width:380px){.hero{padding:0 8px}.hero-right{padding:8px}.hero-name{font-size:1.2rem}.hero-meta{font-size:7px;letter-spacing:.15em}}.solo-reveal{position:fixed;bottom:0;left:0;right:0;padding:14px 32px;background:#050814fa;border-top:1px solid rgba(173,216,255,.25);z-index:100;pointer-events:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 -4px 20px #0009}.solo-text{font-family:JetBrains Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;letter-spacing:.12em;color:#add8ffe6;text-align:left;max-width:1400px;margin:0 auto;text-shadow:0 0 10px rgba(91,140,255,.4);font-weight:400}.solo-text:before{content:"~/portfolio $ ";color:#7abfffb3;margin-right:6px}@keyframes glitch-text{0%,to{text-shadow:0 0 10px rgba(91,140,255,.4)}25%{text-shadow:-2px 0 0 rgba(255,0,100,.3),2px 0 0 rgba(0,255,255,.3),0 0 10px rgba(91,140,255,.4)}50%{text-shadow:0 0 10px rgba(91,140,255,.6)}}.solo-text{animation:glitch-text 3s ease-in-out infinite}.solo-text:after{content:"▌";animation:blink 1s step-end infinite;color:#add8ffb3;margin-left:2px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.solo-text[data-complete=true]:after{display:none}@media(max-width:900px){.solo-reveal{display:none}}.fit-reveal-wrapper{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 24px 80px;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);box-sizing:border-box}.site-cover{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:var(--page-bg);padding-bottom:120px;box-sizing:border-box}@media(max-width:600px){.site-cover{padding-bottom:80px}.fit-reveal-wrapper{padding:24px 16px 56px}.site-cover .fit-reveal-wrapper{background:transparent}}@media(max-width:600px){.fit-reveal--single .fit-reveal{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;border-radius:0;box-shadow:none;min-height:auto;padding:0}.fit-reveal--single .fit-single-main{padding:2rem 1rem 3rem}.fit-reveal--single .fit-option{padding:1.25rem 1.5rem;font-size:15px}}.fit-reveal{--progress: 0;--sub-scale: .25;--sub-opacity: 0;--fit-dark: #0a0f1a;position:relative;width:100%;max-width:100%;min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:3.5rem 2rem 2.5rem;background:#0f172940;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.06);border-radius:20px;box-shadow:0 8px 32px #0000001f;color:var(--page-text)}.fit-reveal--sketch{max-width:1200px;margin:0 auto;padding:2.5rem 1.25rem 3.5rem;background:transparent;border:none;box-shadow:none;min-height:auto}.fit-check-grid{display:grid;grid-template-columns:1fr;gap:1.75rem;width:100%;align-items:start}@media(min-width:1024px){.fit-check-grid{grid-template-columns:1fr 1.5fr;gap:2.5rem;align-items:start}}.fit-reveal--single .fit-check-grid{display:none}.fit-reveal--single .fit-single-main{width:100%;max-width:48rem;margin:0 auto;padding:3rem 1.5rem 4rem;text-align:center}.fit-reveal--single .fit-single-header{margin-bottom:3rem}.fit-single-eyebrow{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1.5rem}.fit-single-eyebrow span{font-size:11px;letter-spacing:.3em;text-transform:uppercase;font-weight:500;color:#fff6}.fit-single-dot{width:6px;height:6px;border-radius:50%;background:#3b82f6;animation:fit-banner-pulse 2s ease-in-out infinite}.fit-single-headline{font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:clamp(2rem,5vw,3rem);font-weight:300;letter-spacing:-.02em;line-height:1.2;margin:0 0 1rem;color:#ffffffe6}.fit-single-headline-accent{font-weight:500;color:#fff}.fit-single-intro{font-size:14px;line-height:1.6;color:#fff6;max-width:28rem;margin:0 auto}.fit-reveal--single .fit-quiz-inner{text-align:left}.fit-reveal--single .fit-progress-wrap{margin-bottom:2.5rem}.fit-reveal--single .fit-quiz-prompt{font-size:clamp(1.25rem,2.5vw,1.875rem);font-weight:300;margin-bottom:2rem;color:#fffc}.fit-reveal--single .fit-options{display:flex;flex-direction:column;gap:.75rem}.fit-reveal--single .fit-option{padding:1.25rem 1.5rem;border-radius:8px}.fit-reveal--single .fit-option .fit-option-card-inner{display:flex;align-items:flex-start;gap:1rem}.fit-reveal--single .fit-option .fit-option-check{margin-top:.15rem}.fit-reveal--sketch .glass-panel{background:#ffffff08;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:1rem;box-shadow:0 8px 32px #00000040}.fit-reveal--sketch .glass-card{background:#ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:.75rem;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;text-align:left;padding:0;font:inherit;color:inherit}.fit-reveal--sketch .glass-card:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-2px);box-shadow:0 20px 40px #0000004d}.fit-banner-col{position:relative}.fit-banner-sticky{position:sticky;top:50%;transform:translateY(-50%)}.fit-banner-panel{padding:1.25rem 1.5rem 1.5rem;margin-bottom:1rem;overflow:visible;min-height:0}.fit-banner-eyebrow{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:11px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:#c0caffd9}.fit-banner-dot{width:6px;height:6px;border-radius:50%;background:#c0caffd9;flex-shrink:0;animation:fit-banner-pulse 2s ease-in-out infinite}@keyframes fit-banner-pulse{0%,to{opacity:1}50%{opacity:.5}}.fit-banner-headline{font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:clamp(1.2rem,2.5vw,1.5rem);font-weight:600;line-height:1.3;margin:0 0 .75rem;color:var(--page-text)}.fit-banner-intro{font-size:15px;line-height:1.6;color:var(--text-muted);margin:0 0 .75rem}.fit-banner-meta{margin:0;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.08);font-size:11px;letter-spacing:.05em;color:#ffffff73}.fit-banner-meta-sep{opacity:.7}.fit-banner-deco{padding:.875rem 1rem;display:flex;align-items:center;gap:.75rem;opacity:.9}.fit-banner-deco-icon{width:2.5rem;height:2.5rem;border-radius:50%;background:linear-gradient(135deg,#60a5fa26,#a78bfa26);flex-shrink:0}.fit-banner-deco-title{font-size:13px;font-weight:600;color:var(--page-text)}.fit-banner-deco-sub{font-size:11px;color:#ffffff73}.fit-quiz-col{max-width:36rem;margin:0 auto;width:100%}@media(min-width:1024px){.fit-quiz-col{margin:0;max-width:100%}}.fit-progress-wrap{margin-bottom:1.5rem}.fit-progress-labels{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#ffffff73;margin-bottom:.5rem}.fit-progress-track{height:4px;background:#ffffff1a;border-radius:999px;overflow:hidden}.fit-reveal--sketch .fit-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#60a5fa,#a78bfa);box-shadow:0 0 20px #60a5fa66;transition:width .5s ease-out}.fit-quiz-prompt{font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:clamp(1.15rem,2.5vw,1.4rem);font-weight:600;color:var(--page-text);margin:0 0 1.25rem;line-height:1.35}.fit-options-list{display:flex;flex-direction:column;gap:.75rem}.fit-option-card{padding:1.25rem;width:100%}.fit-option-card-inner{display:flex;align-items:flex-start;gap:1rem}.fit-option-check{width:1.5rem;height:1.5rem;border-radius:50%;border:2px solid rgba(255,255,255,.2);flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:.15rem;transition:border-color .25s ease,background .25s ease}.fit-option-card:hover .fit-option-check{border-color:#60a5facc}.fit-option-check-dot{width:10px;height:10px;border-radius:50%;background:#60a5fa;opacity:0;transform:scale(0);transition:opacity .25s ease,transform .25s ease}.fit-option-check-dot--on{opacity:1;transform:scale(1)}.fit-option-card--selected{background:#60a5fa1f!important;border-color:#60a5fa80!important;box-shadow:0 0 28px #60a5fa26}.fit-option-card--selected .fit-option-check{border-color:#60a5fa}.fit-option-content{flex:1;min-width:0}.fit-option-title-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.2rem}.fit-option-title{font-size:15px;font-weight:500;color:var(--page-text);margin:0;line-height:1.45}.fit-option-badge{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#fff6;padding:.2rem .5rem;border-radius:999px;background:#ffffff0f}.fit-option-badge--popular{color:#93c5fdcc;background:#3b82f61f}.fit-option-desc{font-size:13px;color:var(--text-muted);margin:0;line-height:1.5}.fit-result-panel{padding:1.75rem 1.5rem;text-align:center;max-width:26rem;margin:0 auto}.fit-result-icon{width:3.5rem;height:3.5rem;margin:0 auto 1.25rem;border-radius:50%;background:linear-gradient(135deg,#60a5fa26,#a78bfa26)}.fit-result-glow{background:radial-gradient(circle at 50% 50%,rgba(59,130,246,.08) 0%,transparent 65%)}.fit-result-panel .fit-result-title{font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:1.35rem;font-weight:500;margin:0 0 .5rem;color:var(--page-text)}.fit-result-title-accent{font-weight:600}.fit-result-panel .fit-result-body{font-size:15px;line-height:1.6;color:var(--text-muted);margin:0 0 1.5rem}.fit-result-cta-row{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:1.25rem}.fit-result-cta{display:inline-block;padding:.75rem 1.5rem;font-size:14px;font-weight:500;letter-spacing:.02em;border-radius:.75rem;text-decoration:none;transition:background .2s ease,transform .2s ease,color .2s ease}.fit-result-cta--primary{background:linear-gradient(135deg,#fafafa,#e5e5e5);color:#0a0e1a}.fit-result-cta--primary:hover{background:linear-gradient(135deg,#fff,#eee);transform:scale(1.02)}.fit-result-cta--secondary{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--text-muted)}.fit-result-cta--secondary:hover{color:var(--page-text);border-color:#fff3}.fit-result-meta{font-size:11px;letter-spacing:.02em;color:#ffffff59;margin:0}@media(min-width:601px){.fit-reveal{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;border-radius:0;box-shadow:none;padding:2rem 1.5rem;min-height:auto}.fit-reveal:before{border-radius:0}.fit-card,.fit-result{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;box-shadow:none}}@media(max-width:600px){.fit-reveal{min-height:320px;padding:2.75rem 1rem 2rem;border-radius:20px;max-width:100%;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:0 24px 48px #0003}.fit-reveal-content{max-width:100%;padding:0 .5rem;margin-top:1.25rem}.fit-reveal-subheading{font-size:1.1rem}.fit-reveal-intro,.fit-intro{font-size:.85rem}.fit-question{font-size:.95rem}.fit-option{padding:10px 14px;font-size:.9rem}}.fit-reveal:before{content:"";position:absolute;inset:0;background:var(--fit-dark);opacity:calc(1 - var(--progress, 0));border-radius:inherit;pointer-events:none;transition:opacity .12s ease-out}.fit-reveal-eyebrow{font-size:11px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:#c0caffd9;margin:0 0 .5rem;white-space:nowrap}.fit-intro-banner .fit-reveal-eyebrow{position:static;left:auto;top:auto;transform:none}.fit-reveal-content{position:relative;width:100%;max-width:480px;padding:0 1rem;text-align:center;transform:scale(var(--sub-scale, .25));opacity:var(--sub-opacity, 0);will-change:transform,opacity;transition:opacity .2s ease-out,transform .2s ease-out}.fit-intro-banner{margin-bottom:1.25rem;text-align:center}@keyframes fit-intro-slide-in{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.fit-intro-banner{animation:fit-intro-slide-in .5s ease-out forwards}}.fit-reveal-subheading{margin:0 0 .5rem;font-size:clamp(1.1rem,3vw,1.5rem);font-weight:600;color:var(--page-text)}.fit-reveal-intro{margin:0 0 1.25rem;font-size:.9rem;color:var(--text-muted);line-height:1.5}@media(min-width:601px){.fit-reveal-content{margin-left:320px;max-width:calc(100vw - 320px);width:100%;display:flex;flex-direction:column;align-items:center;box-sizing:border-box}.fit-intro-banner{position:fixed;left:0;top:50%;transform:translateY(-50%);width:300px;max-width:300px;margin:0;padding:1.25rem 1.25rem 1.25rem 1.5rem;text-align:left;background:#0f172966;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-left:none;border-radius:0 16px 16px 0;box-shadow:4px 0 24px #0003;opacity:0;visibility:hidden;transition:opacity .35s ease-out,visibility .35s ease-out;z-index:10}.fit-reveal-content:has(.fit-options .fit-option:first-child:hover) .fit-intro-banner{opacity:1;visibility:visible}.fit-intro-banner .fit-reveal-eyebrow{margin-bottom:.35rem}.fit-intro-banner .fit-reveal-subheading{font-size:1.1rem;margin-bottom:.4rem}.fit-intro-banner .fit-reveal-intro{font-size:.85rem;margin:0;line-height:1.5}}.fit-reveal-quiz{border-radius:24px}.fit-check{margin-top:0;padding:32px 24px 0;border-radius:28px 28px 0 0;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 -1px 0 var(--glass-border),0 24px 48px #0003;color:var(--page-text);border:1px solid var(--glass-border)}.fit-eyebrow{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#c0caffcc;margin:0 0 8px}.fit-title{margin:0 0 8px;font-size:24px}.fit-intro{margin:0 0 22px;font-size:15px;font-weight:500;color:var(--text-muted);line-height:1.6}.fit-card--step{animation:fit-card-in .3s ease-out}@keyframes fit-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fit-progress-bar{height:4px;border-radius:999px;background:#ffffff1a;margin-bottom:18px;overflow:hidden}.fit-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#7abfffcc,#add8ff99);transition:width .35s cubic-bezier(.34,1.56,.64,1)}.fit-card,.fit-result{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:24px;padding:24px 26px 26px;box-shadow:0 20px 55px #0003,0 0 0 1px var(--glass-border);border:1px solid var(--glass-border)}.fit-step{margin:0 0 12px;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#c0caffcc}.fit-question{margin:0 0 18px;font-size:18px;font-weight:600;line-height:1.4}.fit-options{display:flex;flex-direction:column;gap:10px}.fit-option{position:relative;border:0;cursor:pointer;text-align:left;padding:14px 18px;border-radius:8px;background:color-mix(in srgb,var(--page-text) 8%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--page-text);font-size:15px;font-weight:500;line-height:1.5;box-shadow:0 4px 16px #0000004d,0 0 0 1px #ffffff0f;transition:transform .35s ease-out,box-shadow .35s ease-out,background .3s ease-out;overflow:visible}.fit-option:after{content:"";position:absolute;inset:-2px;border-radius:10px;pointer-events:none;opacity:0}@keyframes fit-option-draw-outline{0%{background:conic-gradient(from 0deg,transparent 0deg,rgba(255,255,255,.98) 6deg,transparent 12deg);border:none;box-shadow:none;transform:rotate(0)}75%{background:conic-gradient(from 0deg,transparent 0deg,rgba(255,255,255,.98) 6deg,transparent 12deg);border:none;box-shadow:none;transform:rotate(360deg)}76%{background:none;border:2px solid rgba(255,255,255,.95);box-shadow:0 0 16px #fff9,0 0 32px #ffffff40;transform:none}to{background:none;border:2px solid rgba(255,255,255,.95);box-shadow:0 0 16px #fff9,0 0 32px #ffffff40;transform:none}}.fit-option:hover:after{opacity:1;-webkit-mask:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);-webkit-mask-size:100% 100%,calc(100% - 4px) calc(100% - 4px);-webkit-mask-position:0 0,2px 2px;-webkit-mask-repeat:no-repeat;-webkit-mask-composite:destination-out;mask:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);mask-size:100% 100%,calc(100% - 4px) calc(100% - 4px);mask-position:0 0,2px 2px;mask-repeat:no-repeat;mask-composite:exclude;animation:fit-option-draw-outline .6s ease-out forwards}.fit-option:hover{transform:translateY(-4px) scale(1.02);background:#ffffff1f;box-shadow:0 12px 32px #00000059,0 0 24px #7abfff1f,0 0 0 1px #7abfff33}.fit-option--selected{background:#7abfff33;box-shadow:0 0 0 2px #7abfff80,0 8px 24px #5b8cff40;transform:scale(1.02)}@media(min-width:601px){.fit-card,.fit-result,.fit-reveal-quiz{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:none!important;box-shadow:none!important;border-radius:0!important}.fit-card,.fit-result{padding:0 0 1rem}.fit-option{border:1px solid rgba(255,255,255,.15);outline:none}.fit-option:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 32px #00000059,0 0 24px #7abfff2e,0 0 0 1px #7abfff59;background:#ffffff1f}.fit-option--selected{border-color:#7abfff80}}.fit-result-label{margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:#c0caffcc}.fit-result-title{margin:0 0 8px;font-size:22px;font-weight:700;line-height:1.3}.fit-result-body{margin:0;font-size:15px;font-weight:500;line-height:1.6;color:#e0e6fff2}@media(max-width:900px){.fit-check{padding:26px 18px 0}.fit-card,.fit-result{padding:20px 18px 22px}}@property --hov{syntax: "<number>"; initial-value: 0; inherits: true;}.process{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:80px;padding:48px 24px 56px;color:var(--page-text);background:transparent;text-align:center;box-sizing:border-box}.process-eyebrow{font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:#c0caffcc;margin:0 0 8px}.process-title{margin:0 auto 12px;font-size:28px;font-weight:700;line-height:1.3;max-width:20em;opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.process-title.reveal-in{opacity:1;transform:translateY(0)}.process-intro{margin:0 auto 32px;font-size:15px;line-height:1.6;color:var(--text-muted);max-width:600px}.process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:32px}.process-step{--b: 6px;--r: 1em;--p: 12%;--f: .2;--hov: 0;--s: calc(var(--hov) * (100% + var(--p)) - var(--p));--back: linear-gradient(180deg, rgba(26, 40, 71, .96) 0%, rgba(15, 23, 41, .98) 100%);--grad: linear-gradient( #0000 var(--s), var(--c, #5b8cff) calc(var(--s) + var(--f) * var(--p)) calc(var(--s) + (1 - var(--f)) * var(--p)), #0000 calc(var(--s) + var(--p)) );padding:18px 20px 22px;border:solid var(--b) #0000;border-radius:0 0 var(--r) var(--r);corner-shape:bevel;background:var(--back) border-box padding-box,var(--grad) border-box,var(--back) border-box;transition:--hov .5s ease-out;filter:drop-shadow(0 8px 24px rgba(0,0,0,.4)) drop-shadow(0 2px 8px rgba(91,140,255,.15));display:flex;flex-direction:column;text-align:left}.process-step:hover,.process-step:focus-within{--hov: 1}@supports not (corner-shape: bevel){.process-step{position:relative;background:var(--back) border-box;-webkit-mask:var(--mask);mask:var(--mask)}.process-step,.process-step:after{--x: var(--r);--mask: conic-gradient( from 135deg at var(--x) calc(100% - var(--x)), #0000 25%, red 0% ) calc(-1 * var(--x))}.process-step:after{--x: calc(var(--r) - 2 * var(--b) * (1 - cos(45deg)));position:absolute;inset:calc(-1 * var(--b));border:inherit;background:var(--grad) border-box;pointer-events:none;-webkit-mask:conic-gradient(red 0 0) subtract,var(--mask) padding-box;mask:conic-gradient(red 0 0) subtract,var(--mask) padding-box;content:""}}.step-number{display:block;font-size:10px;font-weight:600;letter-spacing:.2em;color:#add8ffcc;margin-bottom:8px}.process-step h3{margin:0 0 6px;font-size:14px;font-weight:600;color:var(--page-text)}.process-step p{margin:0;font-size:12px;line-height:1.5;color:var(--text-muted)}@media(max-width:900px){.process{padding:32px 18px 48px}.process-title{font-size:22px}.process-grid{grid-template-columns:1fr}}@media(max-width:600px){.process{margin-top:32px;padding:24px 12px 32px}.process-eyebrow{font-size:10px}.process-title{font-size:18px;max-width:100%}.process-intro{font-size:13px;margin-bottom:20px;padding:0 4px}.process-grid{gap:12px;margin-top:20px}.process-step{padding:14px 16px 18px}.process-step h3{font-size:13px}.process-step p{font-size:11px}}.logo-carousel-section{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);--carousel-left: -540rem;margin-top:80px;padding:48px 0 56px;background:transparent;overflow:visible;display:flex;align-items:center;justify-content:center;flex-direction:column;box-sizing:border-box}@media(max-width:600px){.logo-carousel-section{margin-top:56px;padding:32px 0 40px;background:transparent;--carousel-left: -320rem}.logo-carousel-track{height:11rem;min-height:11rem}.logo-carousel-item{width:11rem;height:11rem}.logo-carousel-card-inner{border-radius:12px;-webkit-mask:none;mask:none}.logo-carousel-item img{width:58%;height:58%}}.logo-carousel-track{min-width:calc(10rem * var(--total, 12));height:30rem;position:relative;width:100%}.logo-carousel-item{position:absolute;width:30rem;height:30rem;left:100%;display:flex;justify-content:center;align-items:center;perspective:1000px;transform-style:preserve-3d;animation:logo-scroll-left var(--time, 60s) linear infinite;animation-delay:calc(var(--time, 60s) / var(--total, 12) * (var(--i, 1) - 1) - var(--time, 60s));will-change:left;border:0;padding:0;cursor:pointer;font:inherit;background:none;transition:transform .5s ease-in-out}.logo-carousel-card-inner{width:100%;height:100%;display:flex;justify-content:center;align-items:center;background:linear-gradient(145deg,#1a2847e6,#0f1729fa);border:1px solid rgba(91,140,255,.2);border-radius:20px;box-shadow:0 12px 40px #0000004d;overflow:hidden;position:relative;transform:rotateY(-45deg);transition:transform .5s ease-in-out,box-shadow .5s ease-in-out;-webkit-mask:linear-gradient(black 70%,transparent 100%);mask:linear-gradient(black 70%,transparent 100%)}.logo-carousel-item:hover .logo-carousel-card-inner{transform:rotateY(0) translateY(-1rem);box-shadow:0 24px 56px #0006,0 0 20px #5b8cff26}.logo-carousel-item img{width:70%;height:70%;object-fit:contain;filter:brightness(0) invert(1);transition:filter .25s ease;position:relative;z-index:1}.logo-carousel-text{font-size:clamp(.85rem,1.8vw,1.1rem);font-weight:600;letter-spacing:.02em;color:#e0e6fff2;text-align:center;padding:0 .5rem;line-height:1.2}@keyframes logo-scroll-left{to{left:var(--carousel-left, -300rem)}}.process-view-all{margin:1.5rem 0 0}.process-view-all-link{font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#c0caffd9;background:none;border:0;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:.25em;transition:color .2s ease}.process-view-all-link:hover{color:#e0e6ff}#case-studies{scroll-margin:20vh 0}.case-studies-landing{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:64px;padding:80px 24px 120px;min-height:80vh;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.case-studies-landing-inner{width:100%;max-width:1200px;margin:0 auto}.case-studies-landing .case-studies-section-header{text-align:center;padding-bottom:48px}.case-studies-landing .case-studies-eyebrow{text-align:center}.case-studies-landing .case-studies-title{text-align:center;margin-bottom:16px}.case-studies-sub{font-size:15px;color:var(--text-muted);max-width:640px;margin:0 auto;line-height:1.6;text-align:center}.case-studies-projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;padding-bottom:0}.case-study-project-card{background:#080e1ef5;border:1px solid rgba(255,255,255,.06);border-radius:20px;padding:28px 26px 24px;cursor:pointer;transition:all .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;text-align:left;font:inherit;color:inherit}.case-study-project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:#82aaffe6;opacity:0;transition:opacity .4s}.case-study-project-card:hover{transform:translateY(-4px);border-color:#82a0ff26;box-shadow:0 20px 60px #00000080,0 0 40px #82aaff0a}.case-study-project-card:hover:before{opacity:1}.case-study-project-card.case-card--rhea:before{background:#d4a574}.case-study-project-card.case-card--melley:before{background:#c49b9b}.case-study-project-card.case-card--epc:before{background:#c9a84c}.case-study-project-card.case-card--ivy:before{background:#d4a574}.case-study-project-card.case-card--proyou:before{background:#c49b9b}.case-study-project-card.case-card--malibu:before{background:#d4a574}.case-study-project-card.case-card--debi:before{background:#8faa8b}.case-study-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.case-study-card-type{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);padding:4px 10px;border:1px solid rgba(255,255,255,.06);border-radius:100px}.case-study-card-arrow{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff0a;color:var(--text-muted);font-size:14px;transition:all .3s}.case-study-project-card:hover .case-study-card-arrow{background:#82aaff1f;color:#82aaffe6;transform:translate(2px)}.case-study-card-name{font-size:22px;font-weight:500;margin:0 0 4px;line-height:1.2;color:var(--page-text)}.case-study-card-tagline{font-size:13px;color:var(--text-muted);margin:0 0 14px}.case-study-card-description{font-size:14px;color:#d2daf0d9;line-height:1.65;margin:0 0 18px}.case-study-card-tags{display:flex;flex-wrap:wrap;gap:6px}.case-study-card-tag{font-size:11px;font-weight:500;letter-spacing:.04em;padding:4px 10px;border-radius:100px;background:#ffffff0a;color:var(--text-muted);border:1px solid rgba(255,255,255,.04)}.case-studies-landing-list{display:flex;flex-direction:column;gap:64px}.case-studies-landing-item{background:#1a284759;border:1px solid rgba(91,140,255,.15);border-radius:20px;padding:32px 24px 40px;box-shadow:0 12px 40px #0003}.case-studies-landing-item .case-shell-inner{max-width:100%}.case-studies-landing--hidden{display:none!important}@media(max-width:600px){.case-studies-projects-grid{grid-template-columns:1fr}.case-studies-landing{padding:48px 16px 80px;min-height:auto}}.case-studies-section{margin-top:64px;padding:48px 24px 64px;text-align:center}.case-studies-eyebrow{font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:#c0caffcc;margin:0 0 8px}.case-studies-title{font-size:28px;font-weight:700;line-height:1.3;margin:0 0 32px;color:var(--page-text)}.case-studies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:24px;max-width:960px;margin:0 auto;justify-items:center}.case-study-card{width:100%;max-width:200px;aspect-ratio:1;border:0;padding:0;cursor:pointer;font:inherit;background:none;perspective:1000px;display:block}.case-study-card-inner{width:100%;height:100%;display:flex;justify-content:center;align-items:center;background:linear-gradient(145deg,#1a2847e6,#0f1729fa);border:1px solid rgba(91,140,255,.2);border-radius:20px;box-shadow:0 12px 40px #0000004d;overflow:hidden;position:relative;transform:rotateY(-12deg);transition:transform .4s ease-out,box-shadow .4s ease-out}.case-study-card:hover .case-study-card-inner{transform:rotateY(0) translateY(-8px);box-shadow:0 24px 56px #0006,0 0 20px #5b8cff26}.case-study-card-logo{width:70%;height:70%;object-fit:contain;filter:brightness(0) invert(1)}.case-study-card-text{font-size:clamp(.75rem,2vw,.95rem);font-weight:600;letter-spacing:.02em;color:#e0e6fff2;text-align:center;padding:1rem;line-height:1.3}@media(max-width:600px){.case-studies-grid{grid-template-columns:repeat(2,1fr);gap:16px}.case-study-card{max-width:100%}}.experience{margin-top:80px;padding:40px 24px 64px;color:var(--page-text);text-align:center}.experience-eyebrow{font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:#c0caffcc;margin:0 0 8px}.experience-title{margin:0 auto 32px;font-size:28px;font-weight:700;max-width:600px;line-height:1.3;opacity:0;transform:translate(-24px);transition:opacity .6s ease-out,transform .6s ease-out}.experience-title.reveal-in{opacity:1;transform:translate(0)}.experience-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-bottom:48px}.experience-card{padding:20px 22px 22px;border-radius:20px;background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:0 12px 40px #00000026,0 0 0 1px var(--glass-border)}.experience-card h3{margin:0 0 8px;font-size:16px;font-weight:600;color:#c0cafff2}.experience-card p{margin:0;font-size:14px;line-height:1.6;color:#e0e6ffd9}.experience-highlights{margin-top:48px;padding:28px 24px;border-radius:24px;background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:0 12px 40px #00000026}.experience-highlights-label{margin:0 0 20px;font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:#c0caffcc;text-align:center}.experience-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px}.stat-item{text-align:center}.stat-number{margin:0 0 6px;font-size:36px;font-weight:700;color:#add8ff;line-height:1}.stat-label{margin:0;font-size:13px;line-height:1.4;color:#e0e6ffe6}@media(max-width:900px){.experience{padding:26px 18px 48px}.experience-title{font-size:22px;margin-bottom:24px}.experience-grid{grid-template-columns:1fr}.experience-stats{grid-template-columns:1fr;gap:20px}.stat-number{font-size:28px}}@media(max-width:600px){.experience{margin-top:32px;padding:20px 12px 32px}.experience-title{font-size:18px;margin-bottom:20px;max-width:100%}.experience-card{padding:16px}.experience-card h3{font-size:14px}.experience-card p{font-size:13px}.experience-highlights{margin-top:48px;padding:20px 16px}.stat-number{font-size:24px}.stat-label{font-size:12px}}.projects{margin-top:80px;padding:32px 24px 96px;color:#f7f7fa}.projects{text-align:center}.projects-header{max-width:540px;margin-left:auto;margin-right:auto;margin-bottom:24px}.projects-eyebrow{font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:#c0caffcc;margin:0 0 8px}.projects-title{margin:0 auto 8px;font-size:24px;font-weight:700;opacity:0;transform:translate(24px);transition:opacity .6s ease-out,transform .6s ease-out}.projects-title.reveal-in{opacity:1;transform:translate(0)}.projects-grid{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;max-width:900px;margin-left:auto;margin-right:auto}.project-rhea{position:relative;display:flex;align-items:center;gap:18px;padding:18px 22px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at top left,rgba(255,255,255,.05),transparent 60%),#040712f5;color:inherit;cursor:pointer;box-shadow:0 12px 40px #000c,0 0 0 1px #ffffff08;transition:transform .15s ease-out,box-shadow .15s ease-out,border-color .15s ease-out,background .15s ease-out}.project-rhea:hover{transform:translateY(-2px);border-color:#96c4ffcc;box-shadow:0 18px 55px #000000f2,0 0 0 1px #96c4ff4d;background:radial-gradient(circle at top left,rgba(122,191,255,.2),transparent 65%),#040712fa}.project-rhea-logo-wrap{flex:0 0 auto;width:40px}.project-rhea-logo-img{display:block;width:100%;height:auto;transform-origin:center;filter:brightness(0) invert(1);opacity:.9}.project-rhea--spin .project-rhea-logo-img{animation:rheaLogoFlip .55s cubic-bezier(.33,1,.68,1)}@keyframes rheaLogoFlip{0%{transform:rotateY(0)}40%{transform:rotateY(160deg)}60%{transform:rotateY(200deg)}to{transform:rotateY(360deg)}}.project-rhea-copy{text-align:left}.project-rhea-label{margin:0 0 4px;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:#c0caffe6}.project-rhea-meta{margin:0 0 6px;font-size:13px;color:#e0e6ffe6}.project-rhea-link{margin:0 0 6px;font-size:12px}.project-rhea-link a{color:#96c4ffe6;text-decoration:none;transition:color .2s ease}.project-rhea-link a:hover{color:#add8ff;text-decoration:underline}.project-rhea-tagline{margin:0;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#ffb27ef2}@media(max-width:900px){.projects{padding-inline:18px}.project-rhea{border-radius:12px;flex-direction:column;align-items:flex-start}}.case-overlay{position:fixed;inset:0;z-index:9998;display:flex;align-items:center;justify-content:center;padding:32px 20px;background:radial-gradient(circle at top left,#121f4af5,#03050ffa);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:background .35s ease}.case-shell{position:relative;max-width:1040px;width:100%;max-height:100%;overflow:auto;padding:24px 24px 28px;border-radius:12px;background:color-mix(in srgb,var(--page-bg) 98%,transparent);box-shadow:0 26px 80px #00000059;color:var(--page-text);transition:background .35s ease,color .35s ease}.case-shell--flow{max-width:100%;padding:0;border-radius:0;background:transparent;box-shadow:none}.case-shell--flow .case-close{position:fixed;top:1rem;right:1.5rem;left:auto;z-index:10000}.case-shell-inner{max-width:1040px;margin:0 auto;padding:24px 24px 48px}.case-section.loop-images{--left: -300rem;min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--bg, #050612);position:relative;overflow-x:hidden}.case-section .carousel-track{min-width:calc(10rem * var(--total, 12));height:30rem;position:relative;width:100%;overflow:visible}.case-section .carousel-track .carousel-item{position:absolute;width:30rem;height:30rem;left:100%;display:flex;justify-content:center;align-items:center;perspective:1000px;transform-style:preserve-3d;animation:case-scroll-left var(--time, 60s) linear infinite;animation-delay:calc(var(--time, 60s) / var(--total, 12) * (var(--i, 1) - 1) - var(--time, 60s));will-change:left;transition:.4s ease-out;cursor:default}.case-section .carousel-track .carousel-item img{width:100%;height:100%;object-fit:cover;background:#0a0e1a;transform:rotateY(-45deg);transition:.4s ease-out;mask:linear-gradient(black 70%,transparent 100%);-webkit-mask:linear-gradient(black 70%,transparent 100%)}.case-section .carousel-track .carousel-item:hover img{transform:rotateY(0) translateY(-.5rem)}.case-section .carousel-track .carousel-item--logo{background:none;border:0;padding:0;cursor:pointer;font:inherit}.case-section .carousel-track .carousel-item--logo img{object-fit:contain;background:transparent}@keyframes case-scroll-left{to{left:var(--left, -300rem)}}.case-scroll-hint{position:absolute;bottom:3rem;left:0;right:0;font-size:.9rem;color:#c0caffb3;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.25rem}.case-scroll-hint .arrow{font-size:1.1rem;animation:case-arrow-bounce 1.5s ease-in-out infinite}@keyframes case-arrow-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.case-section-motion{min-height:80vh;display:flex;align-items:center;justify-content:center;background:#050612;overflow:hidden}.case-section-motion .image-motion{width:100%;height:100%;min-height:60vh;transform-origin:50% 0;transition:transform .08s linear}.case-section-motion .image-motion picture{display:block;width:100%;height:100%}.case-section-motion .image-motion img{width:100%;height:100%;object-fit:cover;background:var(--page-bg)}.case-section-content{--case-bg: var(--page-bg);--case-text: var(--page-text);--case-muted: var(--text-muted);--case-accent: var(--accent-blue);--case-accent-soft: color-mix(in srgb, var(--accent-blue) 35%, transparent);--case-border: var(--glass-border);--case-radius: 12px;--case-ease: cubic-bezier(.34, 1.56, .64, 1);min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--case-bg);padding:4rem 2rem 5rem;color:var(--case-text)}.case-content-container{width:100%;max-width:720px;margin:0 auto;text-align:center;position:relative;z-index:2}.case-content-title{font-size:clamp(2.5rem,6vw,3.5rem);font-weight:800;margin:0 0 1rem;line-height:1.1;letter-spacing:-.02em;background:linear-gradient(135deg,var(--case-text) 0%,var(--case-accent) 50%,rgba(122,191,255,.9) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.case-content-title:after{content:"";display:block;width:80px;height:4px;margin:.75rem auto 0;background:linear-gradient(90deg,var(--case-accent),rgba(122,191,255,.7));border-radius:2px}.case-content-subtitle{font-size:.9rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--case-muted);margin:0 0 2rem}.case-content-text{margin-bottom:2.5rem}.case-content-p{font-size:1rem;line-height:1.75;color:var(--case-muted);margin:0 auto 1.25rem;max-width:560px;text-align:center}.case-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem;margin-top:2rem}.case-feature{background:#1a284780;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--case-border);border-radius:var(--case-radius);padding:1.5rem 1.25rem;text-align:center;transition:transform .3s var(--case-ease),border-color .3s ease,box-shadow .3s ease}.case-feature:hover{transform:translateY(-6px);border-color:var(--case-accent-soft);box-shadow:0 12px 32px #0000004d}.case-feature h3{font-size:1rem;font-weight:700;color:var(--case-text);margin:0 0 .35rem}.case-feature p{font-size:.8rem;font-weight:400;color:var(--case-muted);margin:0;line-height:1.5}.case-screenshot-wrap{margin:2rem 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08)}.case-screenshot-label{font-size:12px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#c0caffcc;margin:0 0 1rem}.case-screenshot-toggle{display:block;margin-bottom:1rem;font-size:13px;font-weight:500;letter-spacing:.08em;color:#93c5fdf2;background:none;border:0;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:.25em;transition:color .2s ease}.case-screenshot-toggle:hover{color:#c0dcff}.case-screenshot-frame{margin-bottom:1rem}.case-screenshot-wrap .case-screenshot-frame{border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:0 16px 48px #0006;background:#0a0e18}.case-screenshot-img{width:100%;height:auto;display:block;vertical-align:top}.case-view-all-pages-btn{margin-top:1rem;font-size:13px;font-weight:500;letter-spacing:.08em;color:#93c5fdf2;background:none;border:0;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:.25em;transition:color .2s ease}.case-view-all-pages-btn:hover{color:#c0dcff}.case-pages-gallery{margin:2rem 0;padding-top:2rem;border-top:1px solid rgba(255,255,255,.08)}.case-pages-gallery-title{font-size:12px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#c0caffcc;margin:0 0 1.25rem}.case-pages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.case-page-thumb{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;cursor:pointer;transition:border-color .2s ease,background .2s ease}.case-page-thumb:hover,.case-page-thumb--active{border-color:#93c5fd66;background:#93c5fd14}.case-page-thumb-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}.case-page-thumb-label{font-size:11px;font-weight:500;color:var(--text-muted);text-align:center}.case-page-detail{margin-top:1.5rem;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 16px 48px #0006}.case-page-detail-img{width:100%;height:auto;display:block}.case-overlay .case-close{position:fixed;top:1rem;right:1.5rem;left:auto;z-index:10000;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:var(--page-text);cursor:pointer;font-size:22px;font-weight:300;line-height:1;padding:0;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px #ffffff14,0 0 24px #93c5fd33,0 0 48px #93c5fd14;transition:background .2s ease,box-shadow .2s ease,border-color .2s ease}.case-overlay .case-close:hover{background:#ffffff1a;border-color:#ffffff4d;box-shadow:0 0 0 1px #ffffff26,0 0 28px #93c5fd59,0 0 56px #93c5fd26}.case-hero{display:flex;gap:24px;margin-bottom:24px;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:18px}.case-hero-left{flex:1.4}.project-logo{display:flex;align-items:center;margin-bottom:16px}.project-logo-img{width:72px;height:auto;opacity:.9;filter:brightness(0) invert(1)}.case-hero-left h2{margin:0 0 6px;font-size:20px}.case-hero-left p{margin:0;font-size:13px;color:#e0e6ffe6}.case-hero-right{flex:1;display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start}.case-pill{font-size:11px;text-transform:uppercase;letter-spacing:.18em;padding:6px 10px;border-radius:999px;border:1px solid rgba(173,204,255,.7);color:#e0e6fff5;white-space:nowrap}.case-body{display:grid;grid-template-columns:1.1fr 1.1fr;gap:18px;margin-top:18px}.case-column{display:flex;flex-direction:column;gap:14px}.case-block{padding:12px 12px 14px;border-radius:10px;background:radial-gradient(circle at top left,rgba(122,191,255,.08),transparent 70%),#090c1efa;border:1px solid rgba(255,255,255,.05)}.case-block h3{margin:0 0 6px;font-size:14px}.case-block p{margin:0 0 6px;font-size:13px;color:#e0e6ffe6}.case-list{margin:0;padding-left:18px;font-size:12px;color:#c7d2fffa}.case-list li+li{margin-top:2px}.case-rationale-label{margin:12px 0 4px;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#add8ffcc}.case-rationale{margin:0;font-size:13px;line-height:1.6;color:#c7d2ffd9;font-style:italic}.case-footer{margin-top:18px;font-size:12px;color:#c7d2ffe6}.case-footer a{color:#ffb27e;text-decoration:none}@media(max-width:900px){.case-shell{padding:20px 16px 22px}.case-hero{flex-direction:column}.case-hero-right{flex-direction:row;justify-content:flex-start}.case-pill{font-size:10px;padding:5px 8px}.case-body{grid-template-columns:1fr}}.svg-trail-section{position:relative;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);height:100vh;min-height:100vh;overflow:hidden;background:#050612;touch-action:pan-y;box-sizing:border-box}@media(max-width:768px){.svg-trail-section{touch-action:manipulation}}.svg-trail-canvas{position:absolute;top:0;left:0;width:100%;height:100%;min-width:100%;min-height:100%;display:block;cursor:default;touch-action:pan-y}.svg-trail-tap-layer{display:none;pointer-events:none}@media(max-width:768px){.svg-trail-canvas{pointer-events:none;touch-action:none}.svg-trail-tap-layer{display:block;position:absolute;inset:0;z-index:1;pointer-events:auto;touch-action:pan-y;cursor:pointer}}.svg-trail-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}.svg-trail-headline{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35em .5em;margin:0;font-size:clamp(1.75rem,4vw,3rem);font-weight:600;letter-spacing:.02em;color:var(--page-text);line-height:1.2}@media(max-width:600px){.svg-trail-headline{font-size:clamp(1.1rem,5vw,1.5rem);gap:.25em .35em;padding:0 12px}}.svg-trail-word{opacity:0;transform:translate(48px);animation:svg-trail-word-in .9s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes svg-trail-word-in{to{opacity:.88;transform:translate(0)}}.contact{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:80px;padding:48px 24px 80px;color:var(--page-text);background:transparent;text-align:center;box-sizing:border-box}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:1000px;margin:0 auto}.contact-left{display:flex;flex-direction:column}.contact-eyebrow{font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:#c0caffcc;margin:0 0 8px}.contact-title{margin:0 auto 12px;font-size:28px;font-weight:700;line-height:1.3;max-width:18em;opacity:0;transform:translateY(16px);transition:opacity .6s ease-out,transform .6s ease-out}.contact-title.reveal-in{opacity:1;transform:translateY(0)}.contact-body{margin:0 0 32px;font-size:15px;line-height:1.6;color:var(--text-muted)}.contact-info{display:flex;flex-direction:column;gap:20px}.contact-info-item{display:flex;flex-direction:column;gap:4px}.contact-info-label{margin:0;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#c0caffb3}.contact-info-link{font-size:15px;color:#add8fff2;text-decoration:none;transition:color .2s ease}.contact-info-link:hover{color:#add8ff;text-decoration:underline}.contact-right{display:flex;align-items:center}.email-signup{width:100%;padding:28px 26px;border-radius:24px;background:#050814f5;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 55px #000000d9}.email-signup-label{margin:0 0 6px;font-size:16px;font-weight:600;color:#e0e6fff2}.email-signup-sub{margin:0 0 20px;font-size:13px;line-height:1.5;color:#c7d2ffcc}.email-signup-form{display:flex;flex-direction:column;gap:10px}.email-input{padding:14px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:#f5f5f7;font-size:15px;font-family:inherit;transition:border-color .2s ease,background .2s ease}.email-input::placeholder{color:#c7d2ff66}.email-input:focus{outline:none;border-color:#96c4ff80;background:#ffffff0d}.email-submit{padding:14px 24px;border-radius:999px;border:0;background:linear-gradient(125deg,#7abfffe6,#add8ffe6);color:#0a0e1a;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 8px 20px #7abfff4d}.email-submit:hover{transform:translateY(-1px);box-shadow:0 12px 28px #7abfff66}.email-submit:active{transform:translateY(0)}.footer-tech{margin-top:48px;padding-top:32px;border-top:1px solid rgba(255,255,255,.06);text-align:center}.footer-tech-label{margin:0 0 8px;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#c0caff99}.footer-tech-stack{margin:0 0 12px;font-size:13px;color:#e0e6ffcc}.footer-tech-stack--3d{margin-bottom:8px;font-size:12px;color:#c0caffbf}.footer-lighthouse{margin:0;font-size:12px;color:#add8ffb3}@media(max-width:900px){.contact{padding:32px 18px 64px}.contact-content{grid-template-columns:1fr;gap:32px}.contact-title{font-size:22px}.email-signup{padding:24px 20px}.footer-tech{margin-top:32px;padding-top:24px}}@media(max-width:600px){.contact{margin-top:32px;padding:24px 12px 48px}.contact-content{gap:24px}.contact-title{font-size:18px;max-width:100%}.contact-body{font-size:13px;margin-bottom:24px}.email-signup{padding:18px 16px}.email-signup-label{font-size:12px}.footer-tech{margin-top:24px;padding-top:20px}.footer-tech-stack,.footer-lighthouse{font-size:11px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.solo-text:after{animation:none;opacity:1}}
