:root{--bg: #07070d;--bg-2: #0c0c18;--ink: #f3f3fb;--ink-2: #c9c9da;--ink-3: #8b8ba6;--ink-4: #5a5a78;--glass: rgba(255, 255, 255, .045);--glass-strong: rgba(255, 255, 255, .08);--stroke: rgba(255, 255, 255, .08);--stroke-strong: rgba(255, 255, 255, .16);--c-iris: #8b5cf6;--c-azure: #3b82f6;--c-cyan: #22d3ee;--c-pink: #ec4899;--grad-text: linear-gradient(120deg, #a5b4fc 0%, #67e8f9 45%, #f0abfc 100%);--grad-accent: linear-gradient(135deg, #8b5cf6 0%, #3b82f6 50%, #22d3ee 100%);--r-xs: 8px;--r-sm: 14px;--r-md: 20px;--r-lg: 28px;--r-xl: 36px;--shadow-glass: 0 24px 60px -20px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .08);--font-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-body: "Manrope", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;scroll-behavior:smooth}::selection{background:#8b5cf666;color:var(--ink)}.bg-stage{position:fixed;inset:0;z-index:-2;overflow:hidden;background:radial-gradient(1200px 800px at 80% -10%,rgba(59,130,246,.18),transparent 60%),radial-gradient(900px 600px at -10% 110%,rgba(139,92,246,.22),transparent 60%),radial-gradient(700px 500px at 50% 50%,rgba(34,211,238,.06),transparent 70%),linear-gradient(180deg,#06060c,#0a0a18)}.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.45;will-change:transform}.blob.b1{width:520px;height:520px;background:#6d28d9;top:-120px;left:-120px;animation:float1 22s ease-in-out infinite}.blob.b2{width:480px;height:480px;background:#1d4ed8;bottom:-160px;right:-100px;animation:float2 26s ease-in-out infinite}.blob.b3{width:380px;height:380px;background:#0891b2;top:40%;right:25%;animation:float3 30s ease-in-out infinite;opacity:.4}@keyframes float1{0%,to{transform:translate(0) scale(1)}50%{transform:translate(60px,40px) scale(1.1)}}@keyframes float2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-50px,-30px) scale(1.08)}}@keyframes float3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-40px,50px) scale(.92)}}.bg-grid{position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at center,black 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 80%)}.bg-noise{display:none}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;margin:0}h1{font-size:clamp(40px,6vw,84px);line-height:1.02;letter-spacing:-.035em}h2{font-size:clamp(28px,3.6vw,48px);line-height:1.1}h3{font-size:clamp(20px,1.8vw,24px);line-height:1.25}p{margin:0;color:var(--ink-2)}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-3)}.eyebrow:before{content:"";width:24px;height:1px;background:var(--ink-4)}.grad-text{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.mono{font-family:var(--font-mono)}.container{max-width:1240px;margin:0 auto;padding:0 32px}.section{padding:120px 0;position:relative}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:56px;gap:32px;flex-wrap:wrap}.section-head h2{max-width:18ch}.section-head .lead{max-width:44ch;color:var(--ink-3)}.nav{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:6px;padding:8px 10px 8px 18px;background:#0c0c188c;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border:1px solid var(--stroke);border-radius:999px;box-shadow:0 8px 30px #0006}.nav-brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:600;font-size:15px;letter-spacing:-.01em;color:var(--ink);text-decoration:none;padding-right:14px;border-right:1px solid var(--stroke);margin-right:4px}.nav-brand .dot{width:8px;height:8px;border-radius:50%;background:var(--grad-accent);box-shadow:0 0 12px #8b5cf6cc}.nav-links{display:flex;gap:2px}.nav-link{padding:8px 14px;border-radius:999px;font-size:14px;font-weight:500;color:var(--ink-2);text-decoration:none;transition:all .2s ease;position:relative}.nav-link:hover{color:var(--ink);background:#ffffff0a}.nav-link.active{color:var(--ink);background:#ffffff14;box-shadow:inset 0 1px #ffffff1a}.nav-cta{margin-left:6px;padding:8px 16px;border-radius:999px;font-size:14px;font-weight:600;color:var(--bg);background:var(--grad-text);text-decoration:none;transition:transform .2s ease,filter .2s ease}.nav-cta:hover{transform:translateY(-1px);filter:brightness(1.1)}@media(max-width:720px){.nav{gap:0;padding:6px 6px 6px 14px}.nav-brand{padding-right:10px;font-size:14px}.nav-link{padding:6px 10px;font-size:13px}.nav-cta{padding:7px 12px;font-size:13px}}.glass{background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--stroke);border-radius:var(--r-md);box-shadow:var(--shadow-glass);position:relative}.glass:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(140deg,#ffffff2e,#fff0 40% 60%,#ffffff14);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border-radius:999px;font-family:var(--font-body);font-size:15px;font-weight:600;text-decoration:none;cursor:pointer;border:none;transition:all .25s cubic-bezier(.4,0,.2,1)}.btn-primary{color:#0a0a14;background:var(--grad-text);box-shadow:0 10px 30px -10px #8b5cf680}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px -10px #8b5cf6b3}.btn-ghost{color:var(--ink);background:var(--glass);border:1px solid var(--stroke-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.btn-ghost:hover{background:var(--glass-strong);border-color:#ffffff3d}.btn .arr{width:14px;height:14px;transition:transform .25s ease}.btn:hover .arr{transform:translate(2px,-2px)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.6,.2,1),transform .8s cubic-bezier(.2,.6,.2,1)}.reveal.in{opacity:1;transform:translateY(0)}.reveal[data-delay="1"]{transition-delay:.08s}.reveal[data-delay="2"]{transition-delay:.16s}.reveal[data-delay="3"]{transition-delay:.24s}.reveal[data-delay="4"]{transition-delay:.32s}.reveal[data-delay="5"]{transition-delay:.4s}.footer{padding:40px 0 32px;border-top:1px solid var(--stroke);margin-top:40px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}.footer-brand{font-family:var(--font-display);font-weight:600;color:var(--ink)}.footer-meta{font-family:var(--font-mono);font-size:12px;color:var(--ink-4);letter-spacing:.05em}.footer-links{display:flex;gap:22px}.footer-links a{font-size:13px;color:var(--ink-3);text-decoration:none;transition:color .2s ease}.footer-links a:hover{color:var(--ink)}.cursor-spot{position:fixed;top:0;left:0;width:600px;height:600px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle,rgba(139,92,246,.12),rgba(34,211,238,.06) 30%,transparent 60%);mix-blend-mode:screen;filter:blur(20px);will-change:transform}.scroll-progress{position:fixed;top:0;left:0;height:2px;width:100%;background:var(--grad-text);transform-origin:0 50%;transform:scaleX(0);z-index:100;box-shadow:0 0 12px #8b5cf699}[data-split=words] .word{display:inline-block;opacity:0;transform:translateY(80%) rotateX(-30deg);transform-origin:0 50%;transition:opacity .8s cubic-bezier(.2,.6,.2,1) var(--wd, 0s),transform .9s cubic-bezier(.2,.6,.2,1) var(--wd, 0s);will-change:transform,opacity}[data-split=words].in .word{opacity:1;transform:translateY(0) rotateX(0)}.grad-text .word{background:var(--grad-text);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:grad-flow 8s ease-in-out infinite}.grad-text{background-size:100% 100%!important}.tilt{transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.6,.2,1);will-change:transform;position:relative}.tilt .sheen{position:absolute;inset:0;border-radius:inherit;pointer-events:none;transition:background .2s ease;mix-blend-mode:overlay}.tilt>*{transform:translateZ(0)}.magnetic{will-change:transform;transition:transform .5s cubic-bezier(.2,.6,.2,1)}.particles{position:absolute;inset:0;pointer-events:none}.particle{position:absolute;background:linear-gradient(135deg,#a5b4fc,#67e8f9);border-radius:50%;filter:blur(.3px);box-shadow:0 0 6px #a5b4fc80;animation:drift linear infinite}@keyframes drift{0%{transform:translate(0);opacity:0}10%{opacity:.7}90%{opacity:.7}to{transform:translate(-80px,-120vh);opacity:0}}.shimmer{position:relative;background:linear-gradient(90deg,var(--ink) 0%,var(--c-cyan) 50%,var(--ink) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 3.5s ease-in-out infinite}@keyframes shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.pulse-ring{position:relative}.pulse-ring:after{content:"";position:absolute;inset:-4px;border-radius:inherit;border:1px solid rgba(139,92,246,.5);animation:pulse-ring 2.4s cubic-bezier(.4,0,.6,1) infinite;pointer-events:none}@keyframes pulse-ring{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}.float-y{animation:float-y 6s ease-in-out infinite}.float-y.slow{animation-duration:9s}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.glow-pulse:hover{box-shadow:0 0 #8b5cf680;animation:glow-pulse 1.6s ease-out infinite}@keyframes glow-pulse{0%{box-shadow:0 0 #8b5cf680}to{box-shadow:0 0 0 24px #8b5cf600}}.scramble-trigger{cursor:pointer}.marquee-glow span{transition:color .3s ease,text-shadow .3s ease}.marquee-glow span:hover{color:var(--c-cyan)!important;text-shadow:0 0 24px rgba(34,211,238,.6)}.under-link{position:relative;text-decoration:none}.under-link:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--grad-accent);transform-origin:right;transform:scaleX(0);transition:transform .5s cubic-bezier(.2,.6,.2,1)}.under-link:hover:after{transform-origin:left;transform:scaleX(1)}.nav{animation:nav-in .9s cubic-bezier(.2,.6,.2,1) .1s both}@keyframes nav-in{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.word-stack{padding:140px 0 80px}.word-stack-eyebrow{margin-bottom:40px}.word-stack .wsw{font-family:var(--font-display);font-size:clamp(48px,9vw,140px);line-height:.98;letter-spacing:-.04em;font-weight:600;color:var(--ink);display:block;opacity:0;transform:translateY(60px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1);will-change:transform,opacity}.word-stack .wsw.in{opacity:1;transform:translateY(0)}.word-stack .wsw.accent{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.word-stack .wsw.dim{color:var(--ink-3);font-weight:400}.bento-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}@media(max-width:880px){.bento-grid{grid-template-columns:1fr}}.bento-card{display:flex;flex-direction:column;text-decoration:none!important;color:inherit;overflow:hidden;transition:transform .5s cubic-bezier(.2,.6,.2,1)}.bento-card *{text-decoration:none!important}.bento-vis{aspect-ratio:16 / 10;position:relative;background:linear-gradient(135deg,#8b5cf62e,#22d3ee1a),repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0 2px,transparent 2px 16px);display:flex;align-items:flex-end;justify-content:center;overflow:hidden;border-bottom:1px solid var(--stroke)}.bento-glow{position:absolute;width:240px;height:240px;border-radius:50%;filter:blur(60px);opacity:.5;pointer-events:none}.bento-glow.a{background:#8b5cf6;top:-60px;left:-60px}.bento-glow.b{background:#22d3ee;bottom:-60px;right:-60px}.bento-phone{width:36%;aspect-ratio:9 / 18;border-radius:18px 18px 0 0;border:1px solid rgba(255,255,255,.16);border-bottom:none;background:linear-gradient(160deg,#141420d9,#0a0a14a6);box-shadow:0 20px 60px #00000080,inset 0 1px #ffffff12;padding:16px 12px 0;display:flex;flex-direction:column;gap:8px;position:relative;z-index:1;transform:translateY(0);transition:transform .6s cubic-bezier(.2,.6,.2,1)}.bento-card:hover .bento-phone{transform:translateY(-6px)}.bp-notch{position:absolute;top:0;left:50%;transform:translate(-50%);width:32%;height:14px;border-radius:0 0 10px 10px;background:#000}.bp-bar{height:8px;border-radius:4px;background:#ffffff14}.bp-bar.w-50{width:50%}.bp-bar.w-70{width:70%}.bp-bar.w-90{width:90%}.bp-bar.accent{background:var(--grad-accent)}.bp-card{height:56px;border-radius:8px;background:linear-gradient(140deg,#8b5cf659,#22d3ee26);border:1px solid rgba(255,255,255,.07)}.bp-card.lg{height:88px}.bp-row-mini{display:flex;gap:6px;margin-top:auto;padding-bottom:10px}.bp-row-mini span{flex:1;height:22px;border-radius:6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.06)}.bento-info{padding:26px 28px 28px;display:flex;flex-direction:column;gap:14px;flex:1}.bento-tags{display:flex;flex-wrap:wrap;gap:8px}.bento-title{font-family:var(--font-display);font-size:clamp(20px,1.6vw,24px);font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:0;color:var(--ink);text-wrap:balance}.bento-desc{font-size:14.5px;line-height:1.55;color:var(--ink-3);margin:0}.bento-foot{margin-top:auto;padding-top:16px;border-top:1px solid var(--stroke);display:flex;align-items:center;justify-content:space-between;gap:12px}.bento-role{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3)}.bento-arrow{width:36px;height:36px;border-radius:50%;background:var(--glass);border:1px solid var(--stroke);display:flex;align-items:center;justify-content:center;color:var(--ink-2);transition:all .3s cubic-bezier(.2,.6,.2,1)}.bento-card:hover .bento-arrow{background:var(--grad-text);border-color:transparent;color:var(--bg);transform:rotate(-45deg)}.hover-preview-list{display:flex;flex-direction:column}.hp-row{display:flex;align-items:baseline;justify-content:space-between;gap:32px;padding:32px 0;border-bottom:1px solid var(--stroke);cursor:pointer;position:relative;text-decoration:none!important;color:inherit;transition:color .4s ease,padding .5s cubic-bezier(.2,.7,.2,1)}.hp-row *{text-decoration:none!important}.hp-row:hover{padding-left:24px}.hp-row:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:0;height:1px;background:var(--grad-text);transition:width .5s cubic-bezier(.2,.7,.2,1)}.hp-row:hover:before{width:14px}.hp-row .hp-num{font-family:var(--font-mono);font-size:13px;color:var(--ink-4);letter-spacing:.1em;flex-shrink:0;width:60px}.hp-row .hp-title{flex:1;font-family:var(--font-display);font-size:clamp(36px,5.5vw,80px);font-weight:600;line-height:1.05;letter-spacing:-.035em;color:var(--ink-3);transition:color .4s ease,transform .5s cubic-bezier(.2,.7,.2,1);text-wrap:balance}.hp-row:hover .hp-title{color:var(--ink)}.hp-row .hp-meta{flex-shrink:0;text-align:right;display:flex;flex-direction:column;gap:6px}.hp-row .hp-meta .role{font-family:var(--font-mono);font-size:12px;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase}.hp-row .hp-meta .yr{font-family:var(--font-mono);font-size:11px;color:var(--ink-4)}.preview-phone{width:100%;height:100%;position:relative;background:linear-gradient(160deg,#141420f2,#0a0a14f2);display:flex;flex-direction:column;gap:10px;padding:22px 18px;overflow:hidden}.preview-phone:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 0%,rgba(139,92,246,.4),transparent 60%),radial-gradient(circle at 100% 100%,rgba(34,211,238,.3),transparent 60%);pointer-events:none}.preview-phone .pp-bar{height:8px;border-radius:4px;background:#ffffff14;position:relative;z-index:1}.preview-phone .pp-bar.w-50{width:50%}.preview-phone .pp-bar.w-70{width:70%}.preview-phone .pp-bar.w-90{width:90%}.preview-phone .pp-bar.accent{background:var(--grad-accent)}.preview-phone .pp-card{height:90px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(140deg,#8b5cf666,#22d3ee26);position:relative;z-index:1}[data-clip]{display:inline-block}.clip-mask{display:inline-block;overflow:hidden;vertical-align:bottom;line-height:inherit}.clip-inner{display:inline-block;transform:translateY(110%);transition:transform 1.1s cubic-bezier(.2,.7,.2,1) var(--clip-d, 0s);will-change:transform}.clip-in .clip-inner{transform:translateY(0)}.hscroll{position:relative}.hscroll-pin{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center}.hscroll-track{display:flex;gap:48px;padding:0 6vw;will-change:transform}.hscroll-panel{flex-shrink:0;width:72vw;max-width:1100px;height:70vh;display:flex;align-items:stretch}.mega-marquee{position:relative;overflow:hidden;padding:80px 0;border-block:1px solid var(--stroke);background:#08081066}.mega-marquee .mm-row{display:flex;gap:72px;white-space:nowrap;animation:mm-roll 28s linear infinite;width:max-content}.mega-marquee .mm-row.reverse{animation-direction:reverse;animation-duration:36s}.mega-marquee .mm-row+.mm-row{margin-top:28px}.mega-marquee span{font-family:var(--font-display);font-size:clamp(56px,9vw,140px);font-weight:600;letter-spacing:-.04em;line-height:1;color:var(--ink);-webkit-text-stroke:1px var(--ink-4);-webkit-text-fill-color:transparent;text-fill-color:transparent}.mega-marquee .mm-row.solid span{-webkit-text-fill-color:var(--ink);text-fill-color:var(--ink);color:var(--ink)}.mega-marquee .mm-row.solid span:nth-child(2n){background:var(--grad-text);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:grad-flow 8s ease-in-out infinite}.mega-marquee .star{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;-webkit-text-stroke:0;-webkit-text-fill-color:var(--c-iris)}@keyframes mm-roll{to{transform:translate(-50%)}}.boot-overlay{position:fixed;inset:0;z-index:9999;background:#04040a;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);transition:opacity .8s ease}.boot-overlay:before{content:"";position:absolute;inset:0;background:radial-gradient(800px 500px at 50% 50%,rgba(139,92,246,.15),transparent 60%),radial-gradient(600px 400px at 50% 80%,rgba(34,211,238,.08),transparent 60%);pointer-events:none}.boot-overlay.fade-out{opacity:0;pointer-events:none}.boot-frame{width:min(600px,92vw);background:#0a0a14f2;border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden;box-shadow:0 30px 100px #8b5cf640,inset 0 1px #ffffff14;position:relative;z-index:1;animation:bootFrame .6s cubic-bezier(.2,.6,.2,1)}@keyframes bootFrame{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.boot-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.06)}.boot-header .td{width:11px;height:11px;border-radius:50%}.boot-header .d1{background:#ff5f57}.boot-header .d2{background:#febc2e}.boot-header .d3{background:#28c840}.boot-title{margin-left:12px;font-size:11px;color:#6a6a8a;letter-spacing:.04em}.boot-body{padding:22px 24px 20px;font-size:13px;line-height:1.85;color:#9b9bae;min-height:260px;font-variant-numeric:tabular-nums}.boot-line{animation:bootLineIn .25s ease-out;white-space:pre-wrap}.boot-line .ok{color:#4ade80;font-weight:700}.boot-line .hl{color:#c4b5fd}.boot-line .dim{color:#5a5a78}@keyframes bootLineIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.boot-bar{height:2px;background:#ffffff0a;position:relative;overflow:hidden}.boot-bar-fill{position:absolute;inset:0;background:var(--grad-text);transform-origin:0 50%;transform:scaleX(0);transition:transform .4s cubic-bezier(.4,0,.2,1)}html.has-custom-cursor,html.has-custom-cursor body,html.has-custom-cursor *{cursor:none!important}html.has-custom-cursor input,html.has-custom-cursor textarea{cursor:text!important}.cur-dot,.cur-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9998;will-change:transform,width,height;opacity:0;transition:opacity .25s ease}.cur-dot.on,.cur-ring.on{opacity:1}.cur-dot{width:6px;height:6px;border-radius:50%;background:#fff}.cur-ring{width:36px;height:36px;border:1.5px solid rgba(255,255,255,.5);border-radius:999px;transition:opacity .25s ease,border-radius .35s cubic-bezier(.2,.6,.2,1),border-color .25s ease;display:flex;align-items:center;justify-content:center}.cur-ring.snap{border-radius:14px;border-color:#c4b5fdf2;background:#8b5cf60f}.cur-ring.press{transform:scale(.85)!important}.cur-label{font-family:var(--font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:#fffc;opacity:0;transition:opacity .25s ease}.cur-ring.has-label .cur-label{opacity:1}.ide{padding:0;overflow:hidden;transform:perspective(1400px) rotateY(-6deg) rotateX(3deg)}.ide-header{display:flex;align-items:center;background:#ffffff05;border-bottom:1px solid var(--stroke)}.ide-traffic{display:flex;gap:8px;padding:12px 16px;border-right:1px solid var(--stroke)}.ide-traffic .td{width:11px;height:11px;border-radius:50%}.ide-traffic .d1{background:#ff5f57}.ide-traffic .d2{background:#febc2e}.ide-traffic .d3{background:#28c840}.ide-tabs{display:flex;gap:0;flex:1;overflow:hidden}.ide-tab{padding:12px 18px 12px 14px;font-family:var(--font-mono);font-size:12px;color:var(--ink-3);letter-spacing:.02em;cursor:pointer;border-right:1px solid var(--stroke);display:flex;align-items:center;gap:8px;transition:all .25s ease;position:relative;white-space:nowrap}.ide-tab:hover{color:var(--ink-2);background:#ffffff05}.ide-tab.active{color:var(--ink);background:#ffffff0a}.ide-tab.active:after{content:"";position:absolute;inset:auto 0 0;height:1.5px;background:var(--grad-text)}.ide-tab .tab-dot{width:6px;height:6px;border-radius:50%;background:var(--ink-4);transition:background .25s ease}.ide-tab.active .tab-dot{background:#c4b5fd;box-shadow:0 0 8px #c4b5fdb3}.ide-body{padding:20px 20px 22px;font-family:var(--font-mono);font-size:13px;line-height:1.75;min-height:280px}.ide-body .kw{color:#c084fc}.ide-body .fn{color:#67e8f9}.ide-body .str{color:#fbbf24}.ide-body .cm{color:var(--ink-4);font-style:italic}.ide-body .ty{color:#f0abfc}.ide-body .pn{color:var(--ink-3)}.ide-row{display:block}.ide-row .ln{color:var(--ink-4);margin-right:14px;-webkit-user-select:none;user-select:none;font-size:11px}.ide-row .caret{display:inline-block;width:7px;height:1em;background:#67e8f9;margin-left:1px;vertical-align:-3px;animation:blink 1s steps(2) infinite;box-shadow:0 0 8px #67e8f9}.ide-status{display:flex;align-items:center;gap:14px;padding:8px 16px;background:#0000004d;border-top:1px solid var(--stroke);font-family:var(--font-mono);font-size:11px;color:var(--ink-3);letter-spacing:.04em}.ide-status .status-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade80;animation:pulse 1.8s ease-in-out infinite}.ide-status .spacer{flex:1}[data-glitch]{font-variant-ligatures:none}html.page-loading body{opacity:0}html.page-loaded body{opacity:1;transition:opacity .5s ease}html.page-leaving body{opacity:0;transform:translateY(-12px);transition:opacity .3s ease,transform .3s ease}.spacer-sm{height:32px}.spacer-md{height:64px}.spacer-lg{height:120px}.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--glass);border:1px solid var(--stroke);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.pill .live-dot{width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade80;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}html,body{background:transparent!important}html{background-color:var(--bg)!important}html.page-loading body,html.page-leaving body{opacity:1!important;transform:none!important}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.route-shell{min-height:100vh;position:relative;z-index:1}.page-enter{animation:pageIn .65s cubic-bezier(.22,1,.36,1) both}@keyframes pageIn{0%{opacity:0;transform:translateY(28px) scale(.985);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}.blob.mouse-parallax{transition:transform .15s ease-out}.particles-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.nav-indicator{position:absolute;inset:4px;border-radius:999px;background:#ffffff14;box-shadow:inset 0 1px #ffffff1f;z-index:-1}.hero{min-height:100vh;display:flex;align-items:center;padding-top:120px;padding-bottom:80px}.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:center}@media(max-width:980px){.hero-grid{grid-template-columns:1fr;gap:40px}}.hero h1 .typed-wrap{display:inline-flex;align-items:baseline;gap:4px;vertical-align:top}.typed-stack{display:inline-grid;vertical-align:top}.typed-stack>*{grid-area:1 / 1;white-space:pre}.typed-stack .typed{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;min-height:1.02em}.typed-stack .typed-ghost{visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.hero h1 .typed{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;min-height:1.02em}.caret{display:inline-block;width:4px;height:.85em;background:#67e8f9;margin-left:6px;transform:translateY(2px);border-radius:2px;animation:blink 1s steps(2) infinite;box-shadow:0 0 12px #67e8f9}@keyframes blink{50%{opacity:0}}.hero-sub{margin-top:28px;font-size:18px;line-height:1.6;color:var(--ink-2);max-width:48ch}.hero-meta{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.hero-cta{margin-top:40px;display:flex;gap:14px;flex-wrap:wrap}.stats{margin-top:80px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--stroke);border:1px solid var(--stroke);border-radius:var(--r-md);overflow:hidden}@media(max-width:760px){.stats{grid-template-columns:repeat(2,1fr)}}.stat{padding:28px 24px;background:#0c0c1873}.stat .num{font-family:var(--font-display);font-size:36px;font-weight:600;letter-spacing:-.03em;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.stat .lbl{margin-top:6px;font-size:13px;color:var(--ink-3)}.marquee-wrap{margin-top:28px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent)}.about-hero{padding-top:160px;padding-bottom:60px}.about-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:flex-start}@media(max-width:980px){.about-grid{grid-template-columns:1fr}}.portrait{aspect-ratio:4 / 5;border-radius:var(--r-lg);position:relative;overflow:hidden;background:radial-gradient(circle at 30% 20%,rgba(139,92,246,.4),transparent 50%),radial-gradient(circle at 80% 80%,rgba(34,211,238,.3),transparent 50%),linear-gradient(160deg,#ffffff0f,#ffffff05);border:1px solid var(--stroke-strong);display:flex;align-items:center;justify-content:center}.portrait .placeholder{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);padding:8px 14px;border:1px dashed var(--stroke-strong);border-radius:999px;background:#0000004d}.portrait .ring{position:absolute;inset:12px;border-radius:calc(var(--r-lg) - 8px);border:1px solid rgba(255,255,255,.1);pointer-events:none}.about-body p+p{margin-top:16px}.about-body p{font-size:17px;line-height:1.65;color:var(--ink-2)}.about-body p strong{color:var(--ink);font-weight:600}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:860px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.skills-grid{grid-template-columns:1fr}}.skill-card{padding:24px}.skill-card .icn{width:44px;height:44px;border-radius:12px;background:linear-gradient(140deg,#8b5cf640,#22d3ee26);border:1px solid var(--stroke);display:flex;align-items:center;justify-content:center;margin-bottom:18px;font-family:var(--font-mono);font-size:18px;font-weight:600;color:#c4b5fd}.skill-card h3{font-size:17px;margin-bottom:6px}.skill-card p{font-size:14px;color:var(--ink-3);line-height:1.5}.skill-tags{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px}.tag{font-family:var(--font-mono);font-size:11px;padding:4px 9px;border-radius:6px;background:#ffffff0a;border:1px solid var(--stroke);color:var(--ink-2)}.timeline{position:relative;padding-left:32px}.timeline:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:1px;background:linear-gradient(180deg,transparent,var(--stroke-strong) 10%,var(--stroke-strong) 90%,transparent)}.tl-item{position:relative;padding-bottom:40px}.tl-item:before{content:"";position:absolute;left:-28px;top:6px;width:13px;height:13px;border-radius:50%;background:var(--bg);border:2px solid var(--c-iris);box-shadow:0 0 0 4px #8b5cf626,0 0 16px #8b5cf680}.tl-item .when{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3)}.tl-item h3{margin-top:8px;font-size:20px}.tl-item .where{font-size:14px;color:var(--ink-2);margin-top:2px}.tl-item p{margin-top:10px;font-size:14px;color:var(--ink-3);line-height:1.6;max-width:55ch}.quote{padding:56px 64px;text-align:center;font-family:var(--font-display);font-size:clamp(24px,3vw,36px);line-height:1.3;font-weight:500;letter-spacing:-.02em}.quote .mark{font-size:72px;line-height:0;color:var(--c-iris);vertical-align:-10px;margin-right:8px;font-family:serif}.projects-hero{padding-top:160px;padding-bottom:40px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.chip{padding:8px 16px;border-radius:999px;background:var(--glass);border:1px solid var(--stroke);font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-2);cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.chip:hover{color:var(--ink);border-color:var(--stroke-strong)}.chip.active{background:var(--grad-text);color:var(--bg);border-color:transparent}.proj-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:56px}@media(max-width:880px){.proj-grid{grid-template-columns:1fr}}.proj-card{padding:28px;display:flex;flex-direction:column;gap:22px;text-decoration:none;color:inherit;cursor:pointer}.proj-vis{aspect-ratio:16 / 11;border-radius:var(--r-sm);position:relative;overflow:hidden;border:1px solid var(--stroke);display:flex;align-items:center;justify-content:center}.proj-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.proj-meta .left{display:flex;gap:8px;flex-wrap:wrap}.proj-title{font-family:var(--font-display);font-size:24px;font-weight:600;letter-spacing:-.02em;display:flex;align-items:center;justify-content:space-between;gap:12px}.proj-desc{font-size:14px;color:var(--ink-3);line-height:1.6}.proj-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.proj-stat .v{font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--ink)}.proj-stat .k{font-size:11px;color:var(--ink-4);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.oss-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:740px){.oss-list{grid-template-columns:1fr}}.oss-card{padding:22px 24px;display:flex;flex-direction:column;gap:10px}.oss-name{font-family:var(--font-mono);font-size:14px;color:var(--ink);font-weight:500}.oss-stars{font-family:var(--font-mono);font-size:12px;color:var(--ink-3)}.oss-desc{font-size:13.5px;color:var(--ink-3);line-height:1.55}.contact-hero{padding-top:160px;padding-bottom:80px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:flex-start}@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}.email-card{padding:40px;display:flex;flex-direction:column;gap:24px;position:relative;overflow:hidden}.email-card .glow{position:absolute;width:300px;height:300px;border-radius:50%;filter:blur(80px);opacity:.4;pointer-events:none}.email-card .g1{background:#8b5cf6;top:-120px;right:-80px}.email-card .g2{background:#22d3ee;bottom:-120px;left:-80px}.email-label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3)}.email-value{font-family:var(--font-display);font-size:clamp(24px,3.4vw,36px);font-weight:500;letter-spacing:-.025em;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;word-break:break-all;text-decoration:none}.email-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}.icon-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:var(--glass);border:1px solid var(--stroke);color:var(--ink-2);font-size:13px;font-family:var(--font-mono);cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-decoration:none}.icon-btn:hover{color:var(--ink);background:var(--glass-strong)}.icon-btn.copied{color:#4ade80;border-color:#4ade804d}.icon-btn svg{width:14px;height:14px}.meta-stack{display:flex;flex-direction:column;gap:16px}.meta-card{padding:24px 26px;display:flex;align-items:center;gap:18px}.meta-card .ic{width:44px;height:44px;border-radius:12px;background:linear-gradient(140deg,#8b5cf640,#22d3ee26);border:1px solid var(--stroke);display:flex;align-items:center;justify-content:center;color:#c4b5fd;flex-shrink:0}.meta-card .ic svg{width:18px;height:18px}.meta-card .k{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3)}.meta-card .v{font-family:var(--font-display);font-size:17px;color:var(--ink);margin-top:4px;font-weight:500}.socials{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media(max-width:700px){.socials{grid-template-columns:repeat(2,1fr)}}.social-card{padding:22px;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:inherit}.form-card{padding:36px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:8px}.field label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3)}.field input,.field textarea,.field select{padding:14px 16px;border-radius:12px;background:#ffffff08;border:1px solid var(--stroke);color:var(--ink);font-family:var(--font-body);font-size:15px;transition:all .2s ease}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:#8b5cf680;background:#8b5cf60f;box-shadow:0 0 0 4px #8b5cf61a}.field textarea{resize:vertical;min-height:120px}.success{margin-top:20px;padding:16px 20px;background:#4ade8014;border:1px solid rgba(74,222,128,.25);border-radius:12px;color:#86efac;font-size:14px;display:none;align-items:center;gap:12px}.success.show{display:flex}.faq-list{display:flex;flex-direction:column;gap:12px}.faq{padding:22px 26px}.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;font-family:var(--font-display);font-size:17px;font-weight:500}.faq summary::-webkit-details-marker{display:none}.faq .answer{margin-top:14px;padding-top:14px;border-top:1px solid var(--stroke);font-size:15px;color:var(--ink-3);line-height:1.6}.hscroll-pin{position:relative;height:260vh}.hscroll-sticky{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;gap:28px;overflow:hidden;padding:60px 0 32px}.hscroll-head{flex-shrink:0}.hscroll-head h2{max-width:22ch}.hscroll-track-wrap{overflow:hidden;width:100%}.page-curtain{position:fixed;inset:0;z-index:80;background:radial-gradient(800px 500px at 50% 50%,rgba(139,92,246,.2),transparent 60%),linear-gradient(180deg,#0c0c18,#04040a);display:flex;align-items:center;justify-content:center;pointer-events:none;will-change:transform}.page-curtain:before,.page-curtain:after{content:"";position:absolute;left:0;right:0;height:80px}.page-curtain:before{top:-1px;background:linear-gradient(180deg,rgba(165,180,252,.4),transparent)}.page-curtain:after{bottom:-1px;background:linear-gradient(0deg,rgba(240,171,252,.3),transparent)}.page-curtain-inner{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}.curtain-eyebrow{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.3em;color:var(--ink-3)}.curtain-label{font-family:var(--font-display);font-size:clamp(40px,7vw,96px);font-weight:600;letter-spacing:-.04em;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.curtain-bars{display:flex;gap:8px;margin-top:12px}.curtain-bars span{width:28px;height:3px;border-radius:2px;background:linear-gradient(90deg,#a5b4fc,#67e8f9);animation:barPulse .9s ease-in-out infinite}.curtain-bars span:nth-child(2){animation-delay:.12s}.curtain-bars span:nth-child(3){animation-delay:.24s}.curtain-bars span:nth-child(4){animation-delay:.36s}@keyframes barPulse{0%,to{transform:scaleX(.4);opacity:.4}50%{transform:scaleX(1);opacity:1}}.cursor-trail{position:fixed;inset:0;pointer-events:none;z-index:60;mix-blend-mode:screen}.hover-preview{position:fixed;top:0;left:0;width:auto;height:auto;max-width:60vw;transform:translate(-50%,calc(-100% - 18px));padding:8px 14px;border-radius:999px;background:#0c0c18d9;border:1px solid var(--stroke-strong);color:var(--ink);font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;pointer-events:none;z-index:70;opacity:0;scale:.8;transition:opacity .18s ease,scale .18s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);white-space:nowrap;overflow:visible;box-shadow:0 12px 30px #00000080,0 0 0 1px #ffffff0a inset}.hover-preview.on{opacity:1;scale:1}.underline-draw{display:block;margin-top:12px;max-width:100%;height:auto}.proj-swap{position:relative;perspective:1400px;display:grid;grid-template-rows:1fr;align-items:stretch;height:100%}.proj-swap>*{grid-row:1;grid-column:1}.proj-swap-pane{width:100%;height:100%;transform-style:preserve-3d;display:flex}.proj-swap-pane>*{flex:1}.proj-card-back{position:relative;min-height:100%;height:100%;padding:28px;border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:22px;border:1px solid var(--stroke-strong);background:linear-gradient(140deg,#8b5cf62e,#22d3ee1a),#0c0c18e6;box-sizing:border-box}.proj-back-glow{position:absolute;width:360px;height:360px;border-radius:50%;filter:blur(80px);opacity:.45;top:-120px;right:-120px;pointer-events:none;z-index:0}.proj-back-top{position:relative;z-index:1;display:flex;flex-direction:column;gap:14px}.proj-back-title{font-family:var(--font-display);font-weight:600;font-size:clamp(26px,2.4vw,32px);line-height:1.1;letter-spacing:-.02em;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;margin:0}.proj-back-desc{margin:0;font-size:14px;line-height:1.55;color:var(--ink-3);max-width:38ch}.proj-back-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative;z-index:1}.proj-back-stat .v{font-family:var(--font-display);font-size:22px;font-weight:600;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.proj-back-stat .k{margin-top:4px;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3)}.proj-back-foot{display:flex;justify-content:flex-end;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid var(--stroke);font-size:13px;color:var(--ink-3);font-family:var(--font-mono);position:relative;z-index:1}.proj-back-arrow{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:600}.hscroll-track{display:flex;gap:28px;padding:0 32px;will-change:transform}.hscroll-card{flex:0 0 min(420px,78vw);padding:32px;min-height:380px;display:flex;flex-direction:column;justify-content:space-between}.shader-bg{position:fixed;inset:0;width:100%;height:100%;z-index:-3;pointer-events:none;opacity:.75}.click-burst-canvas{position:fixed;inset:0;z-index:65;pointer-events:none;mix-blend-mode:screen}.orbit-stage{position:absolute;top:45%;left:35%;transform:translate(-50%,-50%);pointer-events:none;z-index:0}.orbit-track{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none}.orbit-anchor{position:absolute;top:50%;transform:translateY(-50%)}@media(max-width:980px){.orbit-stage{display:none}}.cursor-spotlight{position:fixed;inset:0;pointer-events:none;z-index:0;mix-blend-mode:screen;background:radial-gradient(400px circle at var(--cx, 50%) var(--cy, 50%),rgba(139,92,246,.18),rgba(34,211,238,.06) 30%,transparent 60%);transition:background .05s linear}@keyframes ideFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.ide-floater{animation:ideFloat 7s ease-in-out infinite;will-change:transform}.grad-text{background-size:200% 100%!important;animation:gradShift 8s ease-in-out infinite}@keyframes gradShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.eyebrow:before{transition:width .6s cubic-bezier(.22,1,.36,1)}.reveal-eyebrow .eyebrow:before{width:0;animation:ebGrow .8s .2s cubic-bezier(.22,1,.36,1) forwards}@keyframes ebGrow{to{width:24px}}.glass.lift{transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1)}.glass.lift:hover{transform:translateY(-6px);box-shadow:0 24px 60px -20px #8b5cf666,inset 0 1px #ffffff1a}.stat .num{position:relative}.stat .num:after{content:"";position:absolute;inset:-8px;border-radius:12px;background:radial-gradient(circle,rgba(139,92,246,.3),transparent 70%);opacity:0;animation:numPulse 2.4s ease-out .6s 1 forwards;pointer-events:none}@keyframes numPulse{0%{opacity:0;transform:scale(.7)}35%{opacity:.8}to{opacity:0;transform:scale(1.4)}}.section{padding:80px 0!important}.section.hero,.section.about-hero,.section.projects-hero,.section.contact-hero{padding-top:140px!important}.cta-panel{padding:64px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}.cta-panel-row{padding:48px 64px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}@media(prefers-reduced-motion:reduce){.page-enter,.caret,.blob{animation:none!important}}
