*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:#fff;width:100%}body{color:#111;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;width:100%;min-height:100vh;margin:0;padding:0;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-x:hidden}#root{width:100%;min-height:100vh}:root{--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"Syne", "Plus Jakarta Sans", sans-serif;--font-mono:"Space Mono", monospace;--dark-bg:#070709;--dark-surface:#0e0f14;--dark-border:#ffffff17;--accent-red:#e51b24;--accent-lime:#d2ff00}.portfolio-root{background-color:#fff;width:100%;min-height:100vh;overflow-x:hidden}.minimal-navbar{z-index:100;mix-blend-mode:difference;pointer-events:auto;position:fixed;top:28px;left:38px}.navbar-name{font-family:var(--font-display);letter-spacing:-.03em;color:#fff;text-transform:uppercase;font-size:26px;font-weight:800;line-height:.95;text-decoration:none;transition:transform .25s cubic-bezier(.16,1,.3,1);display:inline-block}.navbar-name:hover{transform:translateY(-1px)}@media (width<=768px){.minimal-navbar{top:20px;left:20px}.navbar-name{font-size:22px}}.hero-stage{-webkit-user-select:none;user-select:none;background-color:#fff;width:100%;height:100vh;min-height:640px;position:relative;overflow:hidden}.hero-canvas-layer{z-index:1;width:100%;height:100%;position:absolute;inset:0}.hero-bg-contours{z-index:2;pointer-events:none;opacity:.85;width:100%;height:100%;position:absolute;inset:0}.hero-side-overlays{z-index:5;pointer-events:none;justify-content:space-between;align-items:stretch;max-width:1840px;margin:0 auto;padding:110px 42px 44px;display:flex;position:absolute;inset:0}.hero-side{flex-direction:column;justify-content:space-between;max-width:260px;display:flex}.hero-side-left{text-align:left;align-items:flex-start}.hero-side-right{text-align:right;align-items:flex-end}.hero-editorial-block{flex-direction:column;gap:8px;margin-top:8vh;display:flex}.hero-editorial-block.align-right{align-items:flex-end}.hero-eyebrow{font-family:var(--font-mono);letter-spacing:.16em;color:#8a8a8e;text-transform:uppercase;font-size:10px;font-weight:700}.hero-side-title{font-family:var(--font-display);letter-spacing:-.02em;color:#141416;text-transform:uppercase;font-size:clamp(18px,1.55vw,24px);font-weight:800;line-height:1.08}.hero-side-desc{font-family:var(--font-sans);color:#636369;max-width:225px;font-size:12.5px;font-weight:500;line-height:1.55}.hero-spec-card{flex-direction:column;width:168px;display:flex}.spec-card-header{font-family:var(--font-mono);letter-spacing:.1em;color:#454549;margin-bottom:6px;font-size:9px;font-weight:700}.spec-card-body{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-align:center;background:#ffffffb8;border:1px solid #bdbdbd;border-radius:6px;flex-direction:column;align-items:center;gap:10px;padding:14px 12px;display:flex}.spec-stack-line{font-family:var(--font-mono);letter-spacing:.06em;color:#161618;font-size:9.5px;font-weight:700}.spec-divider{background:#222225;width:100%;height:1px}.spec-sub{font-family:var(--font-mono);letter-spacing:.08em;color:#45454a;font-size:8.5px;font-weight:700;line-height:1.45}.hero-scroll-cue{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.scroll-cue-text{font-family:var(--font-mono);letter-spacing:.14em;color:#4a4a50;font-size:9.5px;font-weight:700}.scroll-cue-line{background:linear-gradient(#141416 0%,#1414161a 100%);width:1px;height:44px;animation:2s ease-in-out infinite scrollPulse}@keyframes scrollPulse{0%,to{transform-origin:top;transform:scaleY(1)}50%{transform-origin:top;transform:scaleY(.55)}}@media (width<=1024px){.hero-side-overlays{padding:90px 24px 28px}.hero-side{max-width:190px}.hero-spec-card{display:none}}@media (width<=720px){.hero-side-right{display:none}.hero-editorial-block{margin-top:2vh}}.dark-bio-wrapper{background-color:#fff;width:100%;position:relative}.section-transition-zone{background-color:#fff;width:100%;height:170px;margin-top:-2px;position:relative;overflow:hidden}.transition-svg-layer{will-change:transform;width:100%;height:100%;display:block;position:absolute;bottom:0;left:0}.transition-ticker-strip{z-index:4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0ed9;border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff12;width:100%;padding:10px 0;position:absolute;bottom:16px;left:0;overflow:hidden}.transition-marquee{white-space:nowrap;font-family:var(--font-mono);letter-spacing:.18em;color:#ffffffc7;will-change:transform;align-items:center;gap:28px;font-size:11px;font-weight:700;transition:transform .1s linear;display:flex}.transition-marquee .dot{color:var(--accent-red)}.bio-section{background-color:var(--dark-bg);color:#fff;width:100%;padding:96px 42px 84px;position:relative;overflow:hidden}@media (width<=768px){.bio-section{padding:64px 20px 60px}}.bio-ambient-glow{filter:blur(150px);pointer-events:none;z-index:0;border-radius:50%;width:560px;height:560px;position:absolute}.bio-ambient-glow.glow-1{background:radial-gradient(circle,#e51b241f 0%,#0000 70%);top:6%;right:-180px}.bio-ambient-glow.glow-2{background:radial-gradient(circle,#0089d61a 0%,#0000 70%);bottom:10%;left:-180px}.bio-container{z-index:2;flex-direction:column;gap:112px;max-width:1320px;margin:0 auto;display:flex;position:relative}.reveal-on-scroll{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(36px)}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}.bio-header-grid{grid-template-columns:300px 1fr;align-items:start;gap:48px;display:grid}@media (width<=960px){.bio-header-grid{grid-template-columns:1fr;gap:24px}}.bio-label-col{flex-direction:column;gap:16px;display:flex}.section-index{font-family:var(--font-mono);letter-spacing:.16em;color:#ffffff7a;text-transform:uppercase;font-size:11px;font-weight:700}.freelance-status-pill{border:1px solid var(--dark-border);font-family:var(--font-mono);letter-spacing:.1em;color:#e4e4e7;background:#ffffff0a;border-radius:999px;align-self:flex-start;align-items:center;gap:9px;padding:7px 14px;font-size:10px;font-weight:700;display:inline-flex}.live-dot{background:#22c55e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 10px #22c55e}.bio-narrative-col{flex-direction:column;gap:28px;display:flex}.bio-headline{font-family:var(--font-sans);letter-spacing:-.03em;color:#fff;font-size:clamp(28px,3.6vw,48px);font-weight:800;line-height:1.14}.accent-red{color:var(--accent-red)}.bio-subtext{color:#ffffffad;max-width:820px;font-size:clamp(16px,1.3vw,19px);line-height:1.7}.bio-subtext strong{color:#fff;font-weight:600}.bio-metrics-row{border-top:1px solid var(--dark-border);grid-template-columns:repeat(3,1fr);gap:20px;padding-top:24px;display:grid}@media (width<=640px){.bio-metrics-row{grid-template-columns:1fr}}.metric-box{flex-direction:column;gap:5px;display:flex}.metric-val{font-family:var(--font-mono);letter-spacing:.05em;color:#fff;font-size:15px;font-weight:700}.metric-lbl{color:#ffffff80;font-size:13px}.block-title-row{border-bottom:1px solid var(--dark-border);justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px;padding-bottom:28px;display:flex}@media (width<=768px){.block-title-row{flex-direction:column;align-items:flex-start}}.block-heading{font-family:var(--font-display);letter-spacing:-.02em;color:#fff;margin-top:8px;font-size:clamp(26px,3vw,38px);font-weight:800}.block-caption{color:#ffffff8c;max-width:360px;font-size:14px}.tech-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.tech-card-wide{grid-column:span 3}@media (width<=960px){.tech-grid{grid-template-columns:repeat(2,1fr)}.tech-card-wide{grid-column:span 2}}@media (width<=640px){.tech-grid{grid-template-columns:1fr}.tech-card-wide{grid-column:span 1}}.tech-card{background:var(--dark-surface);border:1px solid var(--dark-border);border-radius:14px;flex-direction:column;gap:14px;padding:26px 24px;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s,box-shadow .35s;display:flex}.tech-card:hover{border-color:#ffffff3d;transform:translateY(-4px);box-shadow:0 20px 40px -15px #000000b3}.tech-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.tech-icon-wrap{border:1px solid;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.tech-category{font-family:var(--font-mono);letter-spacing:.12em;color:#ffffff6b;font-size:10px;font-weight:700}.tech-name{letter-spacing:-.02em;color:#fff;font-size:21px;font-weight:700}.tech-desc{color:#ffffff9e;font-size:14px;line-height:1.6}.projects-list{flex-direction:column;gap:16px;display:flex}.project-row-card{background:var(--dark-surface);border:1px solid var(--dark-border);color:#fff;border-radius:16px;grid-template-columns:1.1fr 1.4fr 1fr;align-items:center;gap:28px;padding:30px 28px;text-decoration:none;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s,background-color .35s;display:grid}.project-row-card:hover{background:#13151c;border-color:#e51b248c;transform:translate(6px)}@media (width<=960px){.project-row-card{grid-template-columns:1fr;gap:18px}}.project-left{align-items:flex-start;gap:18px;display:flex}.project-index{font-family:var(--font-mono);color:var(--accent-red);padding-top:5px;font-size:12px;font-weight:700}.project-title-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.project-title{letter-spacing:-.02em;color:#fff;font-size:22px;font-weight:700}.project-status-badge{font-family:var(--font-mono);letter-spacing:.08em;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:9.5px;font-weight:700;display:inline-flex}.badge-live{color:#4ade80;background:#22c55e1f;border:1px solid #22c55e4d}.badge-wip{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b4d}.project-domain{font-family:var(--font-mono);color:#ffffff80;margin-top:4px;font-size:12px;display:inline-block}.project-description{color:#ffffffa8;font-size:14px;line-height:1.65}.project-right{justify-content:flex-end;align-items:center;gap:18px;display:flex}@media (width<=960px){.project-right{justify-content:space-between}}.project-tags{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.project-tag{font-family:var(--font-mono);color:#ffffffbf;background:#ffffff0d;border:1px solid #ffffff14;border-radius:6px;padding:4px 10px;font-size:10px}.project-arrow{border:1px solid var(--dark-border);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:background-color .25s,border-color .25s,transform .25s;display:flex}.project-row-card:hover .project-arrow{background-color:var(--accent-red);border-color:var(--accent-red);transform:rotate(45deg)}.bio-footer{border-top:1px solid var(--dark-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:32px;display:flex}.footer-left{align-items:baseline;gap:14px;display:flex}.footer-brand{font-family:var(--font-display);color:#fff;font-size:18px;font-weight:800}.footer-copy{color:#ffffff7a;font-size:13px}.footer-right{font-family:var(--font-mono);align-items:center;gap:12px;font-size:12px;display:flex}.footer-link{color:#ffffffb8;text-decoration:none;transition:color .2s}.footer-link:hover{color:#fff}.footer-sep{color:#ffffff40}.bio-cursor-spot{z-index:1;pointer-events:none;background:radial-gradient(520px circle at var(--mx,50%) var(--my,20%), #e51b2417, transparent 60%);position:absolute;inset:0}.bio-ambient-glow.glow-1{transform:translateY(var(--parallax,0px))}.bio-ambient-glow.glow-2{transform:translateY(calc(var(--parallax,0px) * -1))}.bio-headline.reveal-on-scroll{transform:none}.word-mask{vertical-align:top;margin-bottom:-.08em;padding-bottom:.08em;display:inline-block;overflow:hidden}.word{transform-origin:0 100%;transition:transform .9s cubic-bezier(.16,1,.3,1);display:inline-block;transform:translateY(110%)rotate(4deg)}.bio-headline.is-visible .word{transform:translateY(0)rotate(0)}.word.accent-red{transition:transform .9s cubic-bezier(.16,1,.3,1),text-shadow .4s}.bio-headline:hover .word.accent-red{text-shadow:0 0 28px #e51b248c}.tech-keyword{color:#fff;cursor:pointer;background-image:linear-gradient(var(--accent-red), var(--accent-red));background-position:0 100%;background-repeat:no-repeat;background-size:0% 2px;outline:none;font-weight:600;transition:background-size .35s cubic-bezier(.16,1,.3,1),color .2s;position:relative}.tech-keyword:hover,.tech-keyword:focus-visible{color:#ff6a5e;background-size:100% 2px}.freelance-status-pill{transform:translate(var(--tx,0px), var(--ty,0px));cursor:default;transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .3s,background .3s}.freelance-status-pill:hover{background:#22c55e14;border-color:#22c55e80}.live-dot{position:relative}.live-dot:after{content:"";background:#22c55e;border-radius:50%;animation:1.8s cubic-bezier(0,0,.2,1) infinite livePing;position:absolute;inset:0}@keyframes livePing{0%{opacity:.7;transform:scale(1)}80%,to{opacity:0;transform:scale(3.2)}}.metric-box{border-radius:12px;margin:-14px -16px;padding:14px 16px;transition:background .3s,transform .35s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.metric-box:before{content:"";background:radial-gradient(180px circle at var(--mx,50%) var(--my,50%), #e51b2429, transparent 70%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.metric-box:hover{transform:translateY(-3px)}.metric-box:hover:before{opacity:1}.metric-box>*{position:relative}.metric-val{min-width:1ch;display:inline-block}.tech-grid{perspective:1100px}.tech-card{--accent:#e51b24;transform-style:preserve-3d;will-change:transform;position:relative;overflow:hidden}.tech-card.is-visible{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(0)}.tech-card.is-visible:hover{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-6px);border-color:var(--accent);box-shadow:0 24px 50px -18px #000c, 0 0 0 1px var(--accent) inset;transition:transform .12s ease-out,border-color .35s,box-shadow .35s}.tech-card:before{content:"";background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--accent) 26%, transparent), transparent 70%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.tech-card:hover:before,.tech-card.is-linked:before{opacity:1}.tech-card>*{position:relative}.tech-card.is-linked{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset, 0 0 40px -10px var(--accent)}.tech-icon-wrap{transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.tech-card:hover .tech-icon-wrap,.tech-card.is-linked .tech-icon-wrap{transform:scale(1.18)rotate(-8deg)}.tech-name{transition:transform .3s,color .3s}.tech-card:hover .tech-name{transform:translate(4px)}.project-row-card{position:relative;overflow:hidden}.project-row-card:before{content:"";background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%), #e51b2424, transparent 70%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.project-row-card:hover:before{opacity:1}.project-row-card>*{position:relative}.project-row-card .project-title{transition:transform .35s cubic-bezier(.16,1,.3,1)}.project-row-card:hover .project-title{transform:translate(6px)}.project-row-card .project-tag{transition:transform .3s,background .3s,border-color .3s}.project-row-card:hover .project-tag{background:#e51b241a;border-color:#e51b2459}.project-row-card:hover .project-tag:nth-child(2){transition-delay:40ms}.project-row-card:hover .project-tag:nth-child(3){transition-delay:80ms}.project-row-card:hover .project-tag:nth-child(4){transition-delay:.12s}.project-arrow{transform:translate(var(--tx,0px), var(--ty,0px));transition:background-color .25s,border-color .25s,transform .25s cubic-bezier(.16,1,.3,1)}.project-row-card:hover .project-arrow{transform:translate(var(--tx,0px), var(--ty,0px)) rotate(45deg) scale(1.08)}.footer-link{background-image:linear-gradient(var(--accent-red), var(--accent-red));background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;padding-bottom:2px;transition:color .2s,background-size .3s}.footer-link:hover{background-size:100% 1px}@media (hover:none){.bio-cursor-spot{display:none}}@media (prefers-reduced-motion:reduce){.word,.tech-card,.project-arrow,.freelance-status-pill{transition:none!important}.word{transform:none}.live-dot:after{animation:none}}.char-mask{vertical-align:top;margin-bottom:-.1em;padding-bottom:.1em;display:inline-block;overflow:hidden}.char{will-change:transform;transform-origin:0 100%;display:inline-block}.stack-counter{display:none}@media (width>=961px){.stack-block{padding-bottom:72px;position:relative;overflow:hidden}.tech-grid{will-change:transform;perspective:none;flex-wrap:nowrap;gap:22px;width:max-content;display:flex}.tech-grid .tech-card,.tech-grid .tech-card-wide{opacity:1;flex:0 0 min(420px,34vw);grid-column:auto;justify-content:space-between;min-height:300px}.tech-grid .tech-card-wide{flex-basis:min(520px,40vw)}.tech-grid .tech-name{font-size:28px;line-height:1.1}.stack-counter{font-family:var(--font-mono);letter-spacing:.12em;color:#ffffff8c;align-items:center;gap:14px;font-size:12px;display:flex;position:absolute;bottom:0;left:0;right:0}.stack-counter-num{font-family:var(--font-display);color:#fff;letter-spacing:-.02em;font-size:34px;font-weight:800}.stack-counter-line{background:var(--dark-border);border-radius:2px;flex:1;height:2px;overflow:hidden}.stack-counter-line>span{background:var(--accent-red);transform-origin:0;height:100%;display:block;transform:scaleX(0)}}.giant-cta{text-align:center;font-family:var(--font-display);letter-spacing:-.04em;white-space:nowrap;-webkit-user-select:none;user-select:none;transform-origin:50%;padding:24px 0;font-size:clamp(56px,14vw,220px);font-weight:800;line-height:.95;position:relative}.giant-outline{color:#0000;-webkit-text-stroke:1.5px #fff6;display:block}.giant-fill{color:var(--accent-red);display:block;position:absolute;inset:24px 0}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}.bio-section,.bio-section a,.bio-section .tech-card{-webkit-tap-highlight-color:transparent}@media (hover:none){.tech-card.is-visible:hover,.project-row-card:hover,.metric-box:hover{box-shadow:none;transform:none}.project-row-card:hover .project-title,.tech-card:hover .tech-name{transform:none}.project-row-card:hover .project-arrow{border-color:var(--dark-border);background-color:#0000;transform:none}.project-row-card:active{background:#13151c;border-color:#e51b248c;transform:scale(.985)}.project-row-card:active .project-arrow{background-color:var(--accent-red);border-color:var(--accent-red);transform:rotate(45deg)}.tech-card:active{border-color:var(--accent);transform:scale(.985)}.project-row-card,.tech-card{transition:transform .2s,border-color .2s,background-color .2s}.tech-keyword{background-size:100% 1px}}@media (width<=960px){.stack-block{overflow:visible}.tech-grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;perspective:none;flex-wrap:nowrap;gap:14px;margin:0 -20px;padding:4px 20px 6px;scroll-padding-left:20px;display:flex;overflow-x:auto}.tech-grid::-webkit-scrollbar{display:none}.tech-grid .tech-card,.tech-grid .tech-card-wide{scroll-snap-align:start;opacity:1;flex:0 0 82%;grid-column:auto;justify-content:space-between;max-width:340px;min-height:250px}.stack-counter{font-family:var(--font-mono);letter-spacing:.12em;color:#ffffff8c;align-items:center;gap:12px;margin-top:18px;font-size:11px;display:flex}.stack-counter-num{font-family:var(--font-display);color:#fff;font-size:26px;font-weight:800}.stack-counter-line{background:var(--dark-border);border-radius:2px;flex:1;height:2px;overflow:hidden}.stack-counter-line>span{background:var(--accent-red);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.stack-counter-hint{white-space:nowrap}.stack-counter-hint:after{content:""}.bio-container{gap:76px}.bio-section{padding-top:64px}.bio-header-grid{gap:20px}.bio-narrative-col{gap:22px}.reveal-on-scroll{transition-duration:.65s;transform:translateY(22px)}.bio-ambient-glow{filter:blur(90px);width:320px;height:320px}.block-title-row{margin-bottom:24px;padding-bottom:20px}.block-caption{max-width:none}.project-row-card{gap:14px;padding:22px 18px}.project-title{font-size:19px}.project-right{flex-direction:row;align-items:center}.project-tags{justify-content:flex-start}.giant-cta{padding:8px 0;font-size:15vw}.giant-fill{inset:8px 0}}@media (width<=640px){.bio-headline{font-size:clamp(26px,8vw,34px);line-height:1.16}.bio-subtext{font-size:15.5px;line-height:1.65}.bio-metrics-row{gap:0;padding-top:6px}.metric-box{border-bottom:1px solid var(--dark-border);border-radius:0;margin:0;padding:14px 0}.metric-box:last-child{border-bottom:0}.metric-val{font-size:14px}.freelance-status-pill{padding:6px 12px;font-size:9.5px}.bio-footer{flex-direction:column;align-items:flex-start;gap:14px}.footer-left{flex-direction:column;gap:4px}.footer-right{flex-wrap:wrap;row-gap:8px}.transition-ticker-strip{padding:8px 0;bottom:10px}.transition-marquee{gap:20px;font-size:10px}}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{overscroll-behavior-y:none}@supports (height:100svh){.hero-stage{height:100svh}}.minimal-navbar{top:max(28px, calc(env(safe-area-inset-top) + 12px));left:max(38px, env(safe-area-inset-left))}.hero-canvas-layer{touch-action:pan-y}@media (width<=768px){.minimal-navbar{top:max(20px, calc(env(safe-area-inset-top) + 10px));left:max(20px, env(safe-area-inset-left))}}@media (width<=720px){.hero-stage{min-height:520px}.hero-side-overlays{padding:max(84px, calc(env(safe-area-inset-top) + 70px)) 20px max(26px, calc(env(safe-area-inset-bottom) + 14px))}.hero-editorial-block{gap:6px;margin-top:0}.hero-side-title{font-size:clamp(20px,6.2vw,26px)}.hero-side-desc{display:none}.hero-side-right{justify-content:flex-end;display:flex}.hero-side-right .hero-editorial-block{display:none}.scroll-cue-text{font-size:9px}.scroll-cue-line{height:36px}}@media (width<=380px){.hero-side-title{font-size:19px}.hero-eyebrow{letter-spacing:.12em;font-size:9px}}@media (height<=480px) and (orientation:landscape){.hero-stage{min-height:420px}.hero-side-overlays{padding-top:64px}.hero-scroll-cue{display:none}}@media (prefers-reduced-motion:reduce){.scroll-cue-line{animation:none}html{scroll-behavior:auto}}.word-nowrap{white-space:nowrap;display:inline-block}.flip-ticker{font-family:var(--font-mono);letter-spacing:.18em;color:#ffffffc7;white-space:nowrap;justify-content:center;align-items:center;gap:14px;padding:0 20px;font-size:11px;font-weight:700;display:flex}.flip-label{color:#ffffff73}.flip-window{text-align:left;perspective:600px;min-width:13ch;display:inline-block}.flip-word{color:#fff;transform-origin:50% 50% -8px;backface-visibility:hidden;display:inline-block}.flip-word.is-entering{animation:.5s cubic-bezier(.16,1,.3,1) both flipIn}.flip-word.is-leaving{animation:.38s cubic-bezier(.55,0,1,.45) both flipOut}@keyframes flipIn{0%{opacity:0;transform:rotateX(-90deg)}to{opacity:1;transform:rotateX(0)}}@keyframes flipOut{0%{opacity:1;transform:rotateX(0)}to{opacity:0;transform:rotateX(90deg)}}.flip-star{color:var(--accent-red)}.flip-count{color:#fff6}.giant-cta{max-width:100%;font-size:min(10.4vw,168px);overflow:hidden}@media (width<=640px){.section-transition-zone{height:120px}.transition-ticker-strip{padding:10px 0;bottom:0}.flip-ticker{letter-spacing:.14em;gap:10px;font-size:10px}.flip-label{display:none}.flip-window{min-width:12ch}.block-heading{font-size:clamp(24px,7.6vw,32px);line-height:1.1}.giant-cta{padding:4px 0;font-size:9.2vw}.giant-fill{inset:4px 0}}@media (prefers-reduced-motion:reduce){.flip-word.is-entering,.flip-word.is-leaving{opacity:1;animation:none}}.section-transition-zone{background-color:var(--dark-bg);height:auto;margin-top:0}.transition-ticker-strip{background:var(--dark-bg);-webkit-backdrop-filter:none;backdrop-filter:none;border-top:0;padding:18px 0;position:relative;bottom:auto}@media (width<=640px){.section-transition-zone{height:auto}.transition-ticker-strip{padding:14px 0;bottom:auto}}.metric-box.is-auto{transform:translateY(-3px)}.metric-box.is-auto:before{opacity:1}.giant-cta{font-size:10vw;overflow:visible}.giant-outline{display:inline-block}.giant-fill{text-align:center}@media (width<=640px){.giant-cta{font-size:9vw}}.contact-fab{top:max(26px, calc(env(safe-area-inset-top) + 12px));right:max(38px, env(safe-area-inset-right));z-index:100;color:#fff;mix-blend-mode:difference;font-family:var(--font-mono);letter-spacing:.16em;cursor:pointer;background:0 0;border:1.5px solid #fff;border-radius:999px;align-items:center;gap:9px;padding:10px 18px;font-size:11px;font-weight:700;transition:background-color .25s,color .25s,transform .25s cubic-bezier(.16,1,.3,1);display:inline-flex;position:fixed}.contact-fab:hover{color:#000;background:#fff;transform:translateY(-1px)}.contact-fab:focus-visible{outline-offset:3px;outline:2px solid #fff}.contact-fab-dot{background:currentColor;border-radius:50%;width:7px;height:7px}@media (width<=768px){.contact-fab{top:max(18px, calc(env(safe-area-inset-top) + 8px));right:max(16px, env(safe-area-inset-right));padding:8px 14px;font-size:10px}}.contact-overlay{z-index:200;-webkit-backdrop-filter:blur(10px);opacity:0;visibility:hidden;background:#040406b8;justify-content:center;align-items:center;padding:20px;transition:opacity .3s,visibility 0s linear .3s;display:flex;position:fixed;inset:0}.contact-overlay.is-open{opacity:1;visibility:visible;transition:opacity .3s}.contact-panel{background:var(--dark-surface);border:1px solid var(--dark-border);color:#fff;border-radius:20px;width:min(520px,100%);max-height:100%;padding:36px 32px 30px;transition:transform .45s cubic-bezier(.16,1,.3,1);position:relative;overflow-y:auto;transform:translateY(24px)scale(.97);box-shadow:0 40px 90px -20px #000c,0 0 80px -30px #e51b2459}.contact-overlay.is-open .contact-panel{transform:none}.contact-close{border:1px solid var(--dark-border);color:#fff;cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background-color .2s,transform .3s;display:flex;position:absolute;top:16px;right:16px}.contact-close:hover{background:var(--accent-red);border-color:var(--accent-red);transform:rotate(90deg)}.contact-eyebrow{font-family:var(--font-mono);letter-spacing:.16em;color:#ffffff7a;font-size:11px;font-weight:700}.contact-title{font-family:var(--font-display);letter-spacing:-.02em;margin:10px 0;font-size:clamp(26px,6vw,34px);font-weight:800;line-height:1.1}.contact-sub{color:#fff9;margin-bottom:24px;font-size:14px;line-height:1.6}.contact-rows{flex-direction:column;gap:12px;display:flex}.contact-row{align-items:stretch;gap:10px;display:flex}.contact-link{border:1px solid var(--dark-border);color:#fff;background:#ffffff05;border-radius:14px;flex:1;align-items:center;gap:14px;min-width:0;padding:14px 16px;text-decoration:none;transition:border-color .25s,background-color .25s,transform .25s cubic-bezier(.16,1,.3,1);display:flex}.contact-link:hover,.contact-link:focus-visible{background:#e51b2412;border-color:#e51b2499;outline:none;transform:translateY(-2px)}.contact-icon{width:38px;height:38px;color:var(--accent-red);background:#e51b241f;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.contact-label{font-family:var(--font-mono);letter-spacing:.14em;color:#ffffff73;font-size:10px;font-weight:700}.contact-value{text-overflow:ellipsis;white-space:nowrap;font-size:15.5px;font-weight:600;overflow:hidden}.contact-arrow{opacity:.5;flex-shrink:0;transition:transform .25s,opacity .25s}.contact-link:hover .contact-arrow{opacity:1;transform:translate(2px,-2px)}.contact-copy{border:1px solid var(--dark-border);color:#fffc;cursor:pointer;background:0 0;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;transition:border-color .2s,color .2s,background-color .2s;display:flex}.contact-copy:hover,.contact-copy:focus-visible{border-color:var(--accent-red);color:#fff;outline:none}.contact-copy:active{background:#e51b2426}.contact-toast{min-height:18px;font-family:var(--font-mono);letter-spacing:.1em;color:#4ade80;margin-top:16px;font-size:11px;display:block}@media (width<=480px){.contact-panel{border-radius:18px;padding:30px 20px 22px}.contact-value{font-size:14px}}.cta-button-row{justify-content:center;margin-top:-56px;display:flex}.cta-contact-btn{border:1px solid var(--accent-red);background:var(--accent-red);color:#fff;font-family:var(--font-mono);letter-spacing:.16em;cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:16px 30px;font-size:12px;font-weight:700;transition:background-color .25s,color .25s,transform .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.cta-contact-btn:hover{background:0 0;transform:translateY(-3px)}.cta-contact-btn:active{transform:scale(.97)}.cta-contact-btn svg{transition:transform .25s}.cta-contact-btn:hover svg{transform:translate(3px,-3px)}@media (width<=640px){.cta-button-row{margin-top:-40px}}@media (prefers-reduced-motion:reduce){.contact-overlay,.contact-panel{transition:none}}.bio-footer{opacity:1;transform:none}.bio-section{padding-bottom:max(60px, calc(env(safe-area-inset-bottom) + 40px))}.giant-cta{max-width:100%}.site-loader{z-index:1000;background:var(--dark-bg);color:#fff;justify-content:center;align-items:center;padding:24px;transition:transform .9s cubic-bezier(.77,0,.175,1);display:flex;position:fixed;inset:0}.site-loader.is-leaving{transform:translateY(-100%)}.site-loader.is-leaving .loader-inner{opacity:0;transform:translateY(-20px)}.loader-inner{width:min(520px,100%);transition:opacity .4s,transform .6s}.loader-top{justify-content:space-between;align-items:baseline;margin-bottom:18px;display:flex}.loader-brand{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(34px,9vw,56px);font-weight:800;line-height:1}.loader-percent{font-family:var(--font-mono);letter-spacing:.1em;color:var(--accent-red);font-variant-numeric:tabular-nums;font-size:clamp(14px,3.4vw,18px);font-weight:700}.loader-track{background:#ffffff1f;border-radius:3px;height:3px;overflow:hidden}.loader-fill{background:var(--accent-red);transform-origin:0;height:100%;transform:scaleX(0);box-shadow:0 0 14px #e51b24b3}.loader-bottom{font-family:var(--font-mono);letter-spacing:.16em;color:#ffffff73;justify-content:space-between;gap:12px;margin-top:14px;font-size:10px;font-weight:700;display:flex}@media (width<=480px){.loader-bottom span:last-child{display:none}}@media (prefers-reduced-motion:reduce){.site-loader{transition:opacity .3s}.site-loader.is-leaving{opacity:0;transform:none}}.hero-lock-btn{display:none}@media (hover:none),(width<=768px){.hero-lock-btn{left:20px;bottom:max(26px, calc(env(safe-area-inset-bottom) + 14px));z-index:8;-webkit-backdrop-filter:blur(6px);color:#141416;font-family:var(--font-mono);letter-spacing:.12em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffffd9;border:1.5px solid #141416;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:10px;font-weight:700;transition:background-color .25s,color .25s,transform .2s;display:inline-flex;position:absolute}.hero-lock-btn:active{transform:scale(.96)}.hero-lock-btn.is-locked{background:var(--accent-red);border-color:var(--accent-red);color:#fff}.hero-stage.is-locked,.hero-stage.is-locked .hero-canvas-layer{touch-action:none}.hero-stage.is-locked .scroll-cue-text{opacity:.35}}.works-stats{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px;display:grid}.works-stat{border:1px solid var(--dark-border);background:#ffffff05;border-radius:14px;flex-direction:column;gap:4px;padding:16px 18px;display:flex}.works-stat b{font-family:var(--font-display);letter-spacing:-.02em;color:#fff;font-variant-numeric:tabular-nums;font-size:clamp(26px,4vw,40px);font-weight:800;line-height:1}.works-stat span{font-family:var(--font-mono);letter-spacing:.14em;color:#ffffff73;font-size:10px;font-weight:700}@media (width<=480px){.works-stat{padding:12px}.works-stat span{letter-spacing:.08em;font-size:8.5px}}.projects-list{padding-left:46px;position:relative}.project-item{position:relative}.flow-rail{background:var(--dark-border);border-radius:2px;width:2px;position:absolute;top:0;bottom:0;left:12px}.flow-rail-fill{background:linear-gradient(to bottom, var(--accent-red), #ff6a5e);transform-origin:top;border-radius:2px;position:absolute;inset:0;transform:scaleY(0);box-shadow:0 0 12px #e51b2499}.flow-pulse{background:#fff;border-radius:50%;width:10px;height:10px;margin:-5px 0 0 -5px;position:absolute;top:0;left:50%;box-shadow:0 0 0 4px #e51b2459,0 0 18px 4px #e51b24b3}.flow-node{background:var(--dark-bg);border:2px solid #ffffff4d;border-radius:50%;width:14px;height:14px;margin-top:-7px;transition:background-color .25s,border-color .25s,box-shadow .25s;position:absolute;top:50%;left:-40px}.flow-node:after{content:"";transform-origin:0;background:linear-gradient(90deg,#e51b24b3,#0000);width:20px;height:2px;transition:transform .35s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;left:100%;transform:scaleX(0)}.flow-node.is-on{border-color:var(--accent-red);box-shadow:0 0 0 4px #e51b242e}.flow-node.is-on:after{transform:scaleX(1)}.project-item:hover .flow-node{background:var(--accent-red);box-shadow:0 0 0 6px #e51b2440,0 0 16px #e51b24cc}.project-row-card{transition:transform .22s cubic-bezier(.16,1,.3,1),border-color .2s,background-color .2s}.project-row-card:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000,#ffffff12,#0000);width:40%;height:100%;position:absolute;top:0;left:-60%;transform:skew(-18deg)}.project-row-card:hover:after{transition:left .7s cubic-bezier(.16,1,.3,1);left:130%}.badge-live svg{animation:1.6s ease-in-out infinite livePulseIcon}@keyframes livePulseIcon{0%,to{opacity:1}50%{opacity:.35}}@media (width<=640px){.projects-list{padding-left:30px}.flow-rail{left:6px}.flow-node{width:12px;height:12px;margin-top:-6px;left:-30px}.flow-node:after{width:12px}}@media (prefers-reduced-motion:reduce){.badge-live svg{animation:none}.project-row-card:hover:after{transition:none}.flow-rail-fill{transform:scaleY(1)}.flow-node{border-color:var(--accent-red)}.flow-node:after{transform:scaleX(1)}.flow-pulse{display:none}}.bio-section{overflow:hidden}@supports (overflow:clip){.bio-section{overflow:clip}}.projects-list{gap:0;padding-left:0}.flow-rail,.flow-node{display:none}.project-item{margin-bottom:28px}.project-item:last-child{margin-bottom:0}.project-deck-card{background:linear-gradient(180deg, #11131a 0%, var(--dark-surface) 100%);will-change:transform, filter;grid-template-columns:1.05fr 1fr;grid-template-areas:"left visual""desc visual""right visual";align-items:start;gap:18px 40px;padding:34px 32px;transition:border-color .2s,background-color .2s}.project-deck-card:hover{transform:none}.project-deck-card .project-left{grid-area:left}.project-deck-card .project-description{grid-area:desc;max-width:520px;font-size:15px}.project-deck-card .project-right{grid-area:right;justify-content:space-between;align-self:end}.project-deck-card .project-tags{justify-content:flex-start}.project-deck-card .project-title{font-size:clamp(24px,2.6vw,34px)}.project-deck-card .project-index{font-size:13px}.deck-visual{perspective:1000px;grid-area:visual;align-self:stretch;display:flex}.deck-visual .bf{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));flex:1;transition:transform .18s ease-out}@media (width>=961px){.project-item{top:calc(84px + var(--k,0) * 18px);margin-bottom:16vh;position:sticky}.project-item:last-child{margin-bottom:0}}.bf{--bf-accent:#4ade80;background:#0a0b10;border:1px solid #ffffff1f;border-radius:14px;flex-direction:column;gap:0;min-height:300px;display:flex;overflow:hidden;box-shadow:0 30px 60px -28px #000000e6,inset 0 0 0 1px #ffffff05}.bf.is-wip{--bf-accent:#fbbf24}.bf-chrome{background:#ffffff0a;border-bottom:1px solid #ffffff12;align-items:center;gap:6px;padding:10px 12px;display:flex}.bf-chrome i{background:#ffffff2e;border-radius:50%;width:9px;height:9px}.bf-chrome i:first-child{background:#ff5f57}.bf-chrome i:nth-child(2){background:#febc2e}.bf-chrome i:nth-child(3){background:#28c840}.bf-url-wrap{font-family:var(--font-mono);color:#ffffffb3;background:#00000073;border-radius:6px;flex:1;margin-left:8px;padding:5px 10px;font-size:10.5px;overflow:hidden}.bf-url{white-space:nowrap;vertical-align:bottom;border-right:1.5px solid var(--accent-red);max-width:100%;width:calc(var(--n) * 1ch);animation:bfType 6s steps(var(--n)) infinite, bfCaret .7s step-end infinite;display:inline-block;overflow:hidden}@keyframes bfType{0%{width:0}35%,85%{width:calc(var(--n) * 1ch)}to{width:0}}@keyframes bfCaret{50%{border-right-color:#0000}}.bf-screen{background:radial-gradient(240px at 80% 0,#e51b2424,#0000 70%),#0c0d13;flex-direction:column;flex:1;gap:10px;padding:14px;display:flex;position:relative;overflow:hidden}.bf-bar{background:#ffffff0d;height:2px;position:absolute;top:0;left:0;right:0}.bf-bar span{background:var(--accent-red);transform-origin:0;height:100%;animation:6s ease-in-out infinite bfLoad;display:block}@keyframes bfLoad{0%{opacity:1;transform:scaleX(0)}30%{opacity:1;transform:scaleX(1)}40%,to{opacity:0;transform:scaleX(1)}}.sk{background:#ffffff0f;border-radius:8px;position:relative;overflow:hidden}.sk:after{content:"";background:linear-gradient(100deg,#0000 20%,#ffffff1f 50%,#0000 80%);animation:2.4s ease-in-out infinite skShimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes skShimmer{to{transform:translate(100%)}}.sk-nav{align-items:center;gap:8px;height:28px;padding:8px 10px;display:flex}.sk-nav b{background:#ffffff38;border-radius:4px;width:34px;height:6px}.sk-nav b:first-child{background:var(--accent-red);opacity:.8;width:54px;margin-right:auto}.sk-hero{background:#ffffff0d;flex-direction:column;justify-content:center;gap:8px;height:92px;padding:16px 14px;display:flex}.sk-line{background:#ffffff47;border-radius:5px;height:9px;display:block}.w70{width:70%}.w45{width:45%}.sk-btn{background:var(--accent-red);border-radius:999px;width:62px;height:18px;margin-top:4px;animation:6s ease-in-out infinite skBtn;display:block}@keyframes skBtn{0%,48%,62%,to{box-shadow:none;transform:scale(1)}55%{transform:scale(.88);box-shadow:0 0 0 8px #e51b244d}}.sk-row{flex:1;grid-template-columns:repeat(3,1fr);gap:8px;min-height:52px;display:grid}.sk-card{min-height:52px}.sk-card:nth-child(2):after{animation-delay:.3s}.sk-card:nth-child(3):after{animation-delay:.6s}.bf.is-wip .sk{background:0 0;border:1px dashed #fbbf2473;animation:4.5s ease-in-out infinite skBuild}.bf.is-wip .sk-hero{animation-delay:.3s}.bf.is-wip .sk-card:first-child{animation-delay:.7s}.bf.is-wip .sk-card:nth-child(2){animation-delay:1s}.bf.is-wip .sk-card:nth-child(3){animation-delay:1.3s}@keyframes skBuild{0%{opacity:0;transform:scaleY(.2)}20%,80%{opacity:1;transform:scaleY(1)}to{opacity:.25;transform:scaleY(1)}}.bf-cursor{clip-path:polygon(0 0,0 100%,30% 74%,52% 100%,66% 92%,44% 66%,82% 66%);filter:drop-shadow(0 2px 4px #0009);background:#fff;width:14px;height:14px;animation:6s ease-in-out infinite bfCursor;position:absolute;top:0;left:0}@keyframes bfCursor{0%{transform:translate(78%,20%)}20%{transform:translate(60%,62%)}42%{transform:translate(36%,56%)}55%{transform:translate(34%,50%)}75%{transform:translate(70%,82%)}to{transform:translate(78%,20%)}}.bf-flow{--cycle:3.2s;background:#ffffff05;border-top:1px solid #ffffff12;align-items:center;padding:14px 14px 10px;display:flex}.project-row-card:hover .bf-flow{--cycle:1.5s}.bf-node{flex-direction:column;flex:none;align-items:center;gap:7px;display:flex;position:relative}.bf-node em{font-style:normal;font-family:var(--font-mono);letter-spacing:.08em;color:#ffffff8c;white-space:nowrap;font-size:8.5px;font-weight:700}.bf-dot{width:14px;height:14px;animation:bfNode var(--cycle) ease-out infinite;animation-delay:calc(var(--cycle) * .15 * var(--i));background:#0a0b10;border:2px solid #ffffff4d;border-radius:50%}@keyframes bfNode{0%{box-shadow:none;background:#0a0b10;border-color:#ffffff4d}6%,16%{border-color:var(--accent-red);background:var(--accent-red);box-shadow:0 0 0 5px #e51b2440,0 0 14px #e51b24cc}32%,to{box-shadow:none;background:#0a0b10;border-color:#ffffff4d}}.bf-link{background:#ffffff1f;border-radius:2px;flex:1;height:2px;margin:0 4px 18px;position:relative}.bf.is-wip .bf-link{background:repeating-linear-gradient(90deg,#fbbf2480 0 5px,#0000 5px 10px)}.pkt{background:var(--accent-red);opacity:0;width:8px;height:8px;animation:bfPkt var(--cycle) linear infinite;animation-delay:calc(var(--cycle) * .15 * var(--i));border-radius:50%;margin:-4px 0 0 -4px;position:absolute;top:50%;left:0;box-shadow:0 0 10px 2px #e51b24cc}.pkt.back{background:var(--bf-accent);box-shadow:0 0 10px 2px color-mix(in srgb, var(--bf-accent) 70%, transparent);animation-name:bfPktBack;animation-delay:calc(var(--cycle) * (.55 + .15 * var(--ri)))}@keyframes bfPkt{0%{opacity:0;left:0}2%{opacity:1}14%{opacity:1;left:100%}16%,to{opacity:0;left:100%}}@keyframes bfPktBack{0%{opacity:0;left:100%}2%{opacity:1}14%{opacity:1;left:0}16%,to{opacity:0;left:0}}.bf-stat{font-family:var(--font-mono);letter-spacing:.1em;color:var(--bf-accent);background:#ffffff05;align-items:center;gap:10px;padding:9px 14px 11px;font-size:10px;font-weight:700;display:flex}.bf-stat b{color:#fff;font-variant-numeric:tabular-nums;margin-left:auto}.bf-ok{background:var(--bf-accent);width:7px;height:7px;box-shadow:0 0 8px var(--bf-accent);border-radius:50%;animation:1.4s ease-in-out infinite livePulseIcon}.bf-prog{background:#ffffff1a;border-radius:4px;flex:1;height:4px;overflow:hidden}.bf-prog span{background:var(--bf-accent);height:100%;transition:width .14s linear;display:block}@media (width<=960px){.projects-block,.projects-list,.project-item{max-width:100%;overflow:hidden}.project-deck-card{grid-template-columns:1fr;grid-template-areas:"left""desc""visual""right";row-gap:16px;max-width:100%;padding:22px 18px;overflow:hidden}.project-item{margin-bottom:18px}.deck-visual{max-width:100%;overflow:hidden}.deck-visual .bf{max-width:100%;min-height:270px;overflow:hidden;transform:none!important}.bf-node em{letter-spacing:.04em;font-size:7.5px}}@media (hover:none){.project-row-card .bf-flow{--cycle:3.2s}.project-row-card:active .bf-flow{--cycle:1.5s}}@media (prefers-reduced-motion:reduce){.bf-url,.bf-bar span,.sk:after,.sk-btn,.bf-cursor,.bf-dot,.pkt,.bf-ok,.bf.is-wip .sk{animation:none!important}.bf-url{border-right:0;width:auto}.pkt{opacity:0}.bf-cursor{transform:translate(60%,62%)}}.bf-screen.has-preview{contain:strict;width:100%;max-width:100%;min-height:230px;padding:0;position:relative;overflow:hidden}.bf-iframe-clipper{contain:strict;pointer-events:none;touch-action:pan-y;z-index:3;background:#0a0b10;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.bf-iframe{transform-origin:0 0;pointer-events:none;opacity:0;backface-visibility:hidden;will-change:opacity;background:#0a0b10;border:0;transition:opacity .6s cubic-bezier(.16,1,.3,1);position:absolute;top:0;left:0;max-width:none!important}.bf-iframe.is-loaded{opacity:1}.bf-card-loader{z-index:5;-webkit-backdrop-filter:blur(8px);pointer-events:none;opacity:1;background:#0a0b10e0;flex-direction:column;justify-content:center;align-items:center;gap:12px;transition:opacity .5s ease-out,visibility .5s;display:flex;position:absolute;inset:0}.bf-card-loader.is-loaded{opacity:0;visibility:hidden}.bf-card-loader-body{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:10px;padding:8px 14px;display:flex;box-shadow:0 4px 18px #0006}.bf-loader-spin{border:2px solid #e51b2440;border-top-color:var(--accent-red,#e51b24);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite bfSpin}@keyframes bfSpin{to{transform:rotate(360deg)}}.bf-loader-meta{flex-direction:column;gap:2px;display:flex}.bf-loader-title{font-family:var(--font-mono);letter-spacing:.12em;color:#fff;font-size:9px;font-weight:700}.bf-loader-domain{font-family:var(--font-mono);color:#ffffff80;letter-spacing:.04em;font-size:8px}.bf-loader-bar-track{background:#ffffff0f;height:2px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.bf-loader-bar-fill{background:var(--accent-red,#e51b24);width:50%;height:100%;box-shadow:0 0 8px var(--accent-red,#e51b24);animation:1.8s ease-in-out infinite bfLoaderBar;display:block}@keyframes bfLoaderBar{0%{transform:translate(-100%)}50%{transform:translate(100%)}to{transform:translate(300%)}}.bf:not(.is-inview) .bf-url,.bf:not(.is-inview) .bf-bar span,.bf:not(.is-inview) .sk:after,.bf:not(.is-inview) .sk-btn,.bf:not(.is-inview) .sk,.bf:not(.is-inview) .bf-cursor,.bf:not(.is-inview) .bf-dot,.bf:not(.is-inview) .pkt,.bf:not(.is-inview) .bf-ok,.bf:not(.is-inview) .bf-loader-bar-fill,.bf:not(.is-inview) .bf-loader-spin{animation-play-state:paused!important}.bf-screen.has-preview:after{content:"";z-index:4;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff0f,inset 0 -40px 40px -30px #00000073}@media (width>=961px){.project-item{top:calc(84px + var(--k,0) * 14px);margin-bottom:40px}.project-item:last-child{margin-bottom:0}}.project-deck-card{filter:none;background:linear-gradient(#151822 0%,#0f1117 100%);border-color:#ffffff24;grid-template-rows:auto 1fr auto;min-height:470px;box-shadow:0 -18px 40px -22px #000000e6,inset 0 0 0 1px #ffffff05}.project-deck-card .project-description{color:#ffffffc7;align-self:start}.project-deck-card .project-domain{color:#ffffff9e}.project-deck-card .project-tag{color:#ffffffe0;background:#ffffff12}.project-deck-card:hover{border-color:#e51b2499;box-shadow:0 -18px 40px -22px #000000e6,0 0 50px -18px #e51b2473}.deck-visual .bf{border-color:#fff3}.bf-screen.has-preview:after{box-shadow:inset 0 0 0 1px #ffffff0f}.project-item:not(.is-entered) .project-deck-card *{transition:none!important}@media (width<=960px){.project-deck-card{min-height:0}}
