@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500;600&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";:root{--bg-base: #080808;--bg-elevated: #111;--bg-subtle: #1a1a1a;--text-primary: #f0ede8;--text-secondary: #888;--text-tertiary: #444;--accent: #c8f135;--border: #ffffff14;--border-hover: #ffffff2e;--text-xs: clamp(.65rem,1vw,.75rem);--text-sm: clamp(.8rem,1.2vw,.9rem);--text-base: clamp(.95rem,1.5vw,1.05rem);--text-lg: clamp(1.1rem,1.8vw,1.25rem);--text-xl: clamp(1.5rem,3vw,2rem);--text-2xl: clamp(2rem,5vw,3.5rem);--text-hero: clamp(4rem,12vw,10rem);--font-body: "Plus Jakarta Sans", system-ui, sans-serif;--font-sans: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;--font-display: "Instrument Serif", Georgia, serif;--font-mono: "JetBrains Mono", monospace;--section-x: clamp(1.5rem,6vw,6rem);--section-y: clamp(5rem,12vh,9rem);--ease: cubic-bezier(.76,0,.24,1) }*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:var(--bg-base)}body{color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);cursor:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;margin:0;line-height:1.7;overflow-x:hidden}body:before{content:"";z-index:9999;pointer-events:none;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.75'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%}::-moz-selection{color:var(--bg-base);background:var(--accent)}::selection{color:var(--bg-base);background:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.skip-link{z-index:10000;background:var(--accent);color:var(--bg-base);font-size:var(--text-sm);border-radius:999px;padding:.75rem 1rem;transition:transform .25s;position:fixed;top:1rem;left:1rem;transform:translateY(-140%)}.skip-link:focus{transform:translateY(0)}.cursor-dot,.cursor-ring{pointer-events:none;z-index:10001;will-change:transform;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.cursor-ring{mix-blend-mode:exclusion;border:1px solid #f0ede861;border-radius:50%;place-items:center;width:40px;height:40px;transition:width .25s,height .25s,border-color .25s;display:grid}.cursor-ring span{opacity:0;font-family:var(--font-mono);color:var(--text-primary);font-size:.55rem;transition:opacity .2s}body.cursor--hover .cursor-ring{border-color:var(--accent);width:48px;height:48px}body.cursor--view .cursor-ring{border-color:var(--accent);width:64px;height:64px}body.cursor--view .cursor-ring span{opacity:1}.site-nav{z-index:100;padding:1.15rem var(--section-x);opacity:1;transition:transform .32s var(--ease),opacity .32s var(--ease),background .35s ease,border-color .35s ease,padding .35s ease;border-bottom:1px solid #0000;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;display:grid;position:fixed;top:0;left:0;right:0;transform:translateY(0)}.site-nav.is-hidden{opacity:0;pointer-events:none;transform:translateY(-120%)}.site-nav.is-scrolled{backdrop-filter:blur(12px);border-bottom-color:var(--border);background:#080808d9;padding-block:.8rem}.brand,.footer-name{letter-spacing:0;align-items:center;gap:.7rem;font-weight:500;display:inline-flex}.brand-mark{background:transparent;border:1px solid var(--border);flex:none;place-items:center;display:grid;overflow:hidden;border-radius:50%;width:38px;height:38px}.brand-mark img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.brand-wordmark{align-items:baseline;gap:.25rem;display:inline-flex}.brand em,.footer-name em{font-family:var(--font-display);font-size:1.15em;font-style:italic;font-weight:400}.nav-links{align-items:center;gap:clamp(1rem,3vw,2.8rem);display:flex}.nav-links a{color:var(--text-secondary);font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;padding:.5rem 0;font-weight:500;transition:color .25s;position:relative}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--text-primary)}.active-dot{background:var(--accent);opacity:0;border-radius:50%;width:4px;height:4px;transition:opacity .25s,transform .25s;position:absolute;bottom:-.25rem;left:50%;transform:translate(-50%)scale(0)}.nav-links a[aria-current=page] .active-dot{opacity:1;transform:translate(-50%)scale(1)}.availability-pill{border:1px solid var(--border);font-size:var(--text-xs);color:var(--text-primary);border-radius:999px;justify-self:end;align-items:center;gap:.6rem;padding:.65rem 1rem;transition:color .25s,background .25s,border-color .25s;display:inline-flex}.availability-pill span,.status-badge span{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:pulse 1.8s ease-in-out infinite}.availability-pill:hover{color:var(--bg-base);background:var(--accent);border-color:var(--accent)}.menu-toggle,.mobile-menu{display:none}.hero-section{min-height:100dvh;padding:clamp(6rem,12vh,9rem)var(--section-x)5rem;align-items:center;display:flex;position:relative;overflow:hidden}.hero-glow{pointer-events:none;background:radial-gradient(60% 50% at 70%,#c8f1350a,#0000 60%);position:absolute;inset:0}.hero-grid{z-index:1;grid-template-columns:minmax(0,.65fr) minmax(260px,.35fr);align-items:center;gap:clamp(2rem,5vw,5rem);width:min(1440px,100%);margin:0 auto;display:grid;position:relative}.hero-copy{min-width:0;max-width:100%}.status-badge{color:var(--text-secondary);font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:.65rem;margin-bottom:1.5rem;display:inline-flex}.hero-name{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-hero);letter-spacing:0;text-transform:lowercase;margin:0;font-style:italic;font-weight:400;line-height:.82}.line-mask{display:block;overflow:hidden}.line-mask.offset{padding-left:clamp(1rem,8vw,8rem)}.hero-name-line{will-change:transform;display:block}.hero-role{max-width:58ch;color:var(--text-secondary);font-size:var(--text-xl);overflow-wrap:anywhere;margin:2rem 0 0 auto;font-weight:300;line-height:1.35}.hero-marquee{border-block:1px solid var(--border);max-width:100%;color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;margin:clamp(1.5rem,4vw,2.5rem) 0 0;overflow:hidden}.marquee-track{width:-moz-max-content;width:max-content;animation:marquee 24s linear infinite;display:flex}.marquee-track span{white-space:nowrap;padding:.85rem 2rem .85rem 0}.hero-marquee:hover .marquee-track,.tech-icon-marquee:hover .tech-icon-track{animation-play-state:paused}.hero-visual{place-items:center;min-height:440px;display:grid}.type-orb{aspect-ratio:1;border:1px solid var(--border);border-radius:50%;width:min(30vw,360px);position:relative}.type-orb:after,.type-orb:before{content:"";border:1px solid #ffffff0d;border-radius:50%;position:absolute;inset:18%}.type-orb:before{animation:type-orb-spin-reverse 20s linear infinite}.type-orb:after{inset:32%;animation:type-orb-spin 36s linear infinite}.type-orb-orbit{position:absolute;inset:0;animation:type-orb-spin 24s linear infinite}.type-orb-orbit span{position:absolute;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-tertiary);letter-spacing:.16em;text-transform:uppercase;animation:type-orb-counter-spin 24s linear infinite}.type-orb-orbit span em{font-style:normal}.type-orb-orbit span:first-child{top:-.5rem;left:50%;transform:translate(-50%)}.type-orb-orbit span:nth-child(2){top:50%;right:-2rem;transform:translateY(-50%)}.type-orb-orbit span:nth-child(3){bottom:-.5rem;left:50%;transform:translate(-50%)}.type-orb-orbit span:nth-child(4){top:50%;left:-2rem;transform:translateY(-50%)}.scroll-indicator{left:var(--section-x);color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.75rem;display:flex;position:absolute;bottom:2rem}.scroll-line{background:var(--border-hover);width:1px;height:60px;display:block;position:relative;overflow:hidden}.scroll-line span{background:var(--accent);border-radius:50%;width:5px;height:5px;animation:scroll-dot 1.8s ease-in-out infinite;position:absolute;top:0;left:-2px}.section-shell{width:min(1440px,100%);padding:var(--section-y)var(--section-x);border-top:1px solid var(--border);margin:0 auto;position:relative}.experience-section{grid-template-columns:minmax(180px,.28fr) minmax(0,.72fr);gap:clamp(2rem,6vw,7rem);display:grid}.section-sticky{flex-direction:column;align-self:start;gap:.75rem;min-height:52vh;display:flex;position:sticky;top:7rem}.section-number{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--text-secondary);font-style:italic}.section-kicker{color:var(--text-secondary);font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;font-weight:500}.section-rule{background:var(--border);flex:1;width:1px}.experience-list{flex-direction:column;display:flex}.experience-row{border-bottom:1px solid var(--border);border-left:2px solid #0000;grid-template-columns:auto minmax(0,1fr);gap:clamp(1rem,3vw,2rem);padding:clamp(1.5rem,4vw,2.5rem);transition:background .3s,border-color .3s,transform .3s;display:grid}.experience-row:hover{background:var(--bg-elevated);border-left-color:var(--accent)}.experience-index{color:var(--accent);font-family:var(--font-mono);font-size:var(--text-xs);line-height:2.1}.experience-body{min-width:0}.experience-top{justify-content:space-between;gap:1rem;margin-bottom:.55rem;display:flex}.experience-top a,.experience-top h3{font-size:var(--text-lg);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;align-items:center;gap:.45rem;font-weight:600;transition:background-size .35s;display:inline-flex}.experience-row:hover .experience-top a,.experience-row:hover .experience-top h3{background-size:100% 1px}.experience-top time{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);flex-shrink:0}.experience-meta{flex-shrink:0;justify-items:end;gap:.4rem;display:grid}.experience-meta span{color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs);text-align:right;justify-content:flex-end;align-items:center;gap:.35rem;display:inline-flex}.experience-row h4{font-family:var(--font-display);font-size:var(--text-xl);margin:0 0 .6rem;font-style:italic;font-weight:400}.contact-content p,.experience-row p,.project-card p,.project-info p{max-width:65ch;color:var(--text-secondary);font-weight:300}.experience-highlights{gap:.65rem;max-width:78ch;margin:1.15rem 0 0;padding:0;list-style:none;display:grid}.experience-highlights li{color:var(--text-secondary);font-size:var(--text-sm);padding-left:1rem;font-weight:300;line-height:1.65;position:relative}.experience-highlights li:before{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;top:.78em;left:0}.tag-row{flex-wrap:wrap;gap:.5rem;margin-top:1.1rem;display:flex}.tech-tag{border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);border-radius:999px;align-items:center;padding:.35rem .65rem;line-height:1;display:inline-flex}.competitive-section{background:radial-gradient(circle at 88% 16%,#c8f13514,transparent 28%),var(--bg-base);grid-template-columns:minmax(180px,.28fr) minmax(0,.72fr);gap:clamp(2rem,6vw,7rem);display:grid}.competitive-content{gap:clamp(2rem,5vw,3.5rem);display:grid}.competitive-copy{max-width:820px}.competitive-copy h2{max-width:11ch;font-family:var(--font-display);letter-spacing:0;margin:.7rem 0 1.1rem;font-size:clamp(3rem,8vw,7rem);font-style:italic;font-weight:400;line-height:.9}.competitive-copy p,.competitive-profile-card p{max-width:62ch;color:var(--text-secondary);font-weight:300}.competitive-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.competitive-profile-card{border:1px solid var(--border);background:linear-gradient(135deg,#ffffff0e,#ffffff04),var(--bg-elevated);border-radius:8px;align-content:start;gap:1rem;min-height:330px;padding:clamp(1.25rem,3vw,2rem);transition:border-color .3s,transform .3s,background .3s;display:grid;position:relative;overflow:hidden}.competitive-profile-card:before{content:"";opacity:0;background:radial-gradient(circle,#c8f13529,#0000 68%);height:58%;transition:opacity .3s;position:absolute;inset:auto -18% -42%}.competitive-profile-card:hover{background:linear-gradient(135deg,#c8f13513,#ffffff05),var(--bg-elevated);border-color:#c8f13570;transform:translateY(-5px)}.competitive-profile-card:hover:before{opacity:1}.competitive-profile-head{z-index:1;color:var(--accent);justify-content:space-between;align-items:center;display:flex;position:relative}.competitive-profile-card>span{z-index:1;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;position:relative}.competitive-profile-card strong{z-index:1;color:var(--text-primary);font-family:var(--font-display);font-size:clamp(2.8rem,7vw,5.8rem);font-style:italic;font-weight:400;line-height:.88;display:block;position:relative}.competitive-profile-card p{z-index:1;font-size:var(--text-sm);margin:0;position:relative}.competitive-profile-card small{z-index:1;color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs);align-self:end;position:relative}.competitive-strengths{flex-wrap:wrap;gap:.75rem;display:flex}.competitive-strengths span{border:1px solid var(--border);min-height:40px;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;border-radius:999px;align-items:center;gap:.5rem;padding:.55rem .85rem;display:inline-flex}.competitive-strengths svg{color:var(--accent)}.section-heading{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:clamp(3rem,8vw,6rem);display:flex}.stack-grid{grid-template-columns:repeat(4,1fr);gap:clamp(1.5rem,4vw,4rem);display:grid}.stack-section{background:radial-gradient(circle at 50% 96%,#c8f1351a,transparent 34%),linear-gradient(180deg,#ffffff06,#fff0),var(--bg-base);width:100%;max-width:none;min-height:100dvh;padding:0;overflow:hidden}.tech-radar-panel{min-height:100dvh;padding:clamp(5.5rem,9vh,7rem)var(--section-x)clamp(2rem,5vh,4rem);align-items:stretch;display:grid;position:relative}.tech-radar-heading{top:clamp(1.5rem,4vh,3rem);left:var(--section-x);right:var(--section-x);z-index:60;margin-bottom:0;position:absolute}.tech-radar-intro{z-index:45;text-align:center;max-width:720px;margin:0 auto clamp(1.25rem,4vw,3rem);position:relative}.tech-radar-intro h3{font-family:var(--font-display);margin:0;font-size:clamp(2.2rem,6vw,5.5rem);font-style:italic;font-weight:400;line-height:.92}.tech-modal-panel p{max-width:48ch;color:var(--text-secondary);margin:0;font-weight:300}.tech-radar-stage{background:radial-gradient(circle at 50% 98%,#c8f13517,#0000 31%),linear-gradient(#ffffff05,#0000 38%);flex-direction:column;gap:clamp(1rem,4vw,2.5rem);min-height:calc(100dvh - clamp(7.5rem,14vh,11rem));padding:clamp(2rem,5vw,5rem) 0 0;overflow:hidden}.tech-radar-row,.tech-radar-stage{justify-content:center;display:flex;position:relative}.tech-radar-row{z-index:45;align-items:center;gap:clamp(1rem,5vw,5rem)}.tech-radar-row.is-wide{justify-content:space-between}.tech-radar-row.is-tight{gap:clamp(2rem,12vw,9rem)}.tech-radar-row.is-medium{gap:clamp(2rem,9vw,7rem)}.radar-tech-action{color:var(--text-secondary);cursor:none;background:0 0;border:0;padding:0;transition:color .25s,transform .25s;position:relative}.radar-tech-action:before{content:"";opacity:0;pointer-events:none;width:58px;height:58px;animation:radar-found-ping .95s ease-out forwards;animation-delay:var(--ping-delay,1s);border:1px solid #c8f13561;border-radius:50%;position:absolute;top:35%;left:50%;transform:translate(-50%,-50%)scale(.35)}.radar-tech-action:hover{color:var(--accent);transform:translateY(-4px)}.radar-tech-action>div>div:first-child{border-color:var(--border-hover);color:currentColor;background:#111111e0;border-radius:8px;box-shadow:inset 0 1px #ffffff0a,0 16px 48px #00000057}.radar-tech-action>div>div:last-child>div{color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.radar-tech-action:hover>div>div:last-child>div{color:var(--text-primary)}.tech-radar-sweep{z-index:1;position:absolute;bottom:-2rem;left:50%;transform:translate(-50%)scale(1.55)}.tech-radar-horizon{z-index:42;background:linear-gradient(90deg,#0000,#c8f13559,#0000);height:1px;position:absolute;bottom:0;left:0;right:0}.tech-modal{z-index:1000;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.tech-modal-backdrop{backdrop-filter:blur(14px);cursor:none;background:#000000c7;border:0;position:absolute;inset:0}.tech-modal-panel{z-index:1;border:1px solid var(--border);background:var(--bg-elevated);border-radius:8px;width:min(560px,100%);padding:clamp(1.25rem,4vw,2rem);position:relative;box-shadow:0 28px 90px #0000008c}.tech-modal-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.tech-modal-head h3{font-family:var(--font-display);margin:.4rem 0 0;font-size:clamp(2.2rem,8vw,4rem);font-style:italic;font-weight:400;line-height:.95}.tech-modal-grid{flex-wrap:wrap;gap:.65rem;margin-top:1.5rem;display:flex}.tech-modal-chip{border:1px solid var(--border);min-height:36px;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs);background:#ffffff09;border-radius:999px;align-items:center;padding:.5rem .8rem;display:inline-flex}.stack-column h3{color:var(--accent);font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;margin:0 0 1.5rem;font-weight:500}.stack-column ul{margin:0;padding:0;list-style:none}.stack-column li{color:var(--text-primary);border-bottom:1px solid #ffffff0a;padding:.45rem 0}.tech-icon-marquee{border-block:1px solid var(--border);margin-top:clamp(4rem,9vw,7rem);padding:1.25rem 0;overflow:hidden}.tech-icon-track{width:-moz-max-content;width:max-content;animation:marquee 32s linear infinite;display:flex}.tech-icon-set{gap:clamp(2rem,5vw,4rem);padding-right:clamp(2rem,5vw,4rem);display:flex}.tech-icon-item{min-width:70px;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);justify-items:center;gap:.55rem;transition:opacity .25s,transform .25s;display:grid}.tech-icon-item img{width:32px;height:32px}.tech-icon-set:hover .tech-icon-item{opacity:.6}.tech-icon-set .tech-icon-item:hover{opacity:1;transform:scale(1.16)}.featured-projects{gap:clamp(5rem,12vw,9rem);display:grid}.featured-project{grid-template-columns:.56fr .44fr;align-items:center;gap:clamp(2rem,5vw,5rem);display:grid;position:relative}.featured-project.is-reversed{grid-template-columns:.44fr .56fr}.featured-project.is-reversed .project-image-wrap{order:2}.project-card-image,.project-image-wrap{border:1px solid var(--border);background:var(--bg-elevated);position:relative;overflow:hidden}.project-image-wrap{aspect-ratio:16/10}.project-card-image img,.project-image-wrap img{-o-object-fit:cover;object-fit:cover;filter:grayscale();transition:filter .6s,transform .6s;transform:scale(1.02)}.project-card:hover img,.project-image-wrap:hover img{filter:grayscale(0);transform:scale(1.07)}.project-watermark{z-index:1;color:var(--text-primary);opacity:.04;pointer-events:none;font-size:8vw;position:absolute;bottom:-1.5rem;right:1rem}.project-number,.project-watermark{font-family:var(--font-display);font-style:italic}.project-number{color:var(--accent);font-size:var(--text-2xl)}.project-info h3{font-family:var(--font-display);letter-spacing:0;margin:.5rem 0;font-size:clamp(2.4rem,7vw,6rem);font-style:italic;font-weight:400;line-height:.9}.project-type{color:var(--text-secondary);font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;margin-bottom:1rem;font-weight:500;display:inline-block}.project-links{flex-wrap:wrap;gap:1.25rem;margin-top:1.5rem;display:flex}.back-top,.project-links a,.social-row a{color:var(--text-secondary);font-size:var(--text-sm);align-items:center;gap:.45rem;transition:color .25s,transform .25s;display:inline-flex}.back-top:hover,.project-links a:hover,.social-row a:hover{color:var(--text-primary);transform:translateY(-2px)}.project-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:clamp(5rem,12vw,9rem);display:grid}.project-flow{background:var(--bg-base)}.project-flow-section{border-top:1px solid #ffffff14}.project-flow-section .flow-art-container{padding-top:clamp(5.5rem,10vh,7rem)}.project-flow-heading{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.project-flow-card{grid-template-columns:minmax(0,.56fr) minmax(280px,.44fr);align-items:center;gap:clamp(2rem,5vw,5rem);width:min(1440px,100%);margin:auto;display:grid}.project-flow-card.is-reversed{grid-template-columns:minmax(280px,.44fr) minmax(0,.56fr)}.project-flow-card.is-reversed .project-flow-media{order:2}.project-flow-media{isolation:isolate;background:linear-gradient(135deg,#ffffff24,#ffffff0a),#ffffff14;border:1px solid;min-height:clamp(320px,52vw,680px);position:relative;overflow:hidden}.project-flow-media:before{content:"";opacity:.12;pointer-events:none;z-index:1;border:1px solid;position:absolute;inset:clamp(.8rem,2vw,1.4rem)}.project-flow-media img{-o-object-fit:contain;object-fit:contain;filter:grayscale();z-index:2;padding:clamp(.75rem,1.8vw,1.6rem);transition:filter .6s,transform .6s;transform:scale(.98)}.project-flow-media.is-desktop img,.project-flow-media.is-website img{padding:clamp(.6rem,1.35vw,1.15rem)}.project-flow-media.is-logo img{padding:clamp(3rem,8vw,7rem)}.project-flow-media.is-mobile img{padding:clamp(1.1rem,4vw,3.75rem) clamp(4rem,13vw,11rem)}.project-flow-media:hover img{filter:grayscale(0);transform:scale(1)}.project-flow-info{min-width:0}.project-flow-info .project-links a,.project-flow-info .project-type,.project-flow-info p{color:currentColor;opacity:.72}.project-flow-info .project-links a:hover{color:currentColor;opacity:1}.project-flow-info .project-number{color:currentColor}.project-flow-info .tech-tag{color:currentColor;opacity:.68;border-color:currentColor}.project-flow-info .tech-tag.is-light{border-color:#08080838}.project-card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:8px;padding:.8rem;transition:border-color .3s,box-shadow .3s,transform .3s}.project-card:hover{border-color:var(--border-hover);transform:translateY(-4px);box-shadow:0 8px 40px #0006}.project-card-image{aspect-ratio:16/10;border-radius:6px;margin-bottom:1rem}.project-card-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.project-card-head h3{font-size:var(--text-lg);margin:0;font-weight:600}.project-card-head svg{transition:transform .25s}.project-card:hover .project-card-head svg{transform:translate(4px)}.contact-section{min-height:100dvh;padding:var(--section-y)var(--section-x);background:var(--bg-elevated);border-top:1px solid var(--border);place-items:center start;gap:2rem;display:grid}.contact-headline{font-family:var(--font-display);letter-spacing:0;text-transform:lowercase;margin:0;font-size:clamp(4rem,10vw,8rem);font-style:italic;font-weight:400;line-height:.9}.contact-line{display:block;overflow:hidden}.contact-line span{display:block}.accent-line{color:var(--accent)}.contact-content{max-width:760px}.contact-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin:2rem 0;display:flex}.copy-email,.cta-button{isolation:isolate;border:1px solid var(--border);min-height:46px;color:var(--text-primary);transition:color .4s var(--ease),border-color .4s var(--ease);background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.25rem;display:inline-flex;position:relative;overflow:hidden}.copy-email{cursor:none}.copy-email:before,.cta-button:before{content:"";z-index:-1;background:var(--accent);clip-path:inset(0 100% 0 0);transition:clip-path .4s var(--ease);position:absolute;inset:0}.copy-email:hover,.cta-button:hover{color:var(--bg-base);border-color:var(--accent)}.copy-email:hover:before,.cta-button:hover:before{clip-path:inset(0)}.social-row{flex-wrap:wrap;gap:2rem;margin-top:2rem;display:flex}.contact-modal{z-index:1000;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.contact-modal-backdrop{backdrop-filter:blur(14px);cursor:none;background:#000000c7;border:0;position:absolute;inset:0}.contact-modal-panel{z-index:1;border:1px solid var(--border);background:var(--bg-elevated);border-radius:8px;width:min(540px,100%);max-height:min(90vh,760px);padding:clamp(1.25rem,4vw,2rem);position:relative;overflow-y:auto;box-shadow:0 28px 90px #0000008c}.contact-modal-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.contact-modal-head h3{font-family:var(--font-display);margin:.4rem 0 0;font-size:clamp(2rem,7vw,3.4rem);font-style:italic;font-weight:400;line-height:.95}.modal-close{border:1px solid var(--border);width:40px;height:40px;color:var(--text-secondary);cursor:none;background:0 0;border-radius:50%;flex:none;place-items:center;transition:color .25s,border-color .25s,background .25s;display:grid}.modal-close:hover{color:var(--bg-base);border-color:var(--accent);background:var(--accent)}.contact-form{gap:1rem;display:grid}.contact-form label{gap:.45rem;display:grid}.contact-form label span{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase}.contact-form input,.contact-form textarea{border:1px solid var(--border);width:100%;color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-sm);resize:vertical;background:#ffffff09;border-radius:8px;outline:none;padding:.95rem 1rem;transition:border-color .25s,background .25s,box-shadow .25s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);background:#c8f13509;box-shadow:0 0 0 3px #c8f1351a}.contact-form input::-moz-placeholder,.contact-form textarea::-moz-placeholder{color:var(--text-tertiary)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--text-tertiary)}.form-status{font-family:var(--font-mono);font-size:var(--text-xs);border-radius:8px;align-items:center;gap:.5rem;padding:.8rem .9rem;display:flex}.form-status.is-success{color:var(--accent);background:#c8f13514}.form-status.is-error{color:#ff8a7a;background:#ff6b501a}.form-submit{isolation:isolate;border:1px solid var(--accent);background:var(--accent);min-height:48px;color:var(--bg-base);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;cursor:none;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.95rem 1.25rem;font-weight:500;transition:opacity .25s,transform .25s;display:inline-flex;position:relative}.form-submit:hover{transform:translateY(-2px)}.form-submit:disabled{opacity:.55;transform:none}.modal-socials{border-top:1px solid var(--border);justify-content:center;gap:1.25rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.modal-socials a{color:var(--text-secondary);transition:color .25s,transform .25s}.modal-socials a:hover{color:var(--text-primary);transform:translateY(-2px)}.site-footer{padding:clamp(3rem,7vw,5rem)var(--section-x)1.25rem;border-top:1px solid var(--border);background:linear-gradient(180deg,#111111fa 0,var(--bg-base)72%),var(--bg-base);position:relative;overflow:hidden}.site-footer:before{content:"";pointer-events:none;opacity:.55;background:linear-gradient(90deg,#c8f13514,#0000 30%),linear-gradient(#ffffff09 1px,#0000 0) 0 0/100% 4.5rem;position:absolute;inset:0}.footer-main,.footer-row{width:min(1440px,100%);margin:0 auto;position:relative}.footer-main{grid-template-columns:minmax(140px,1fr) minmax(180px,1fr);align-items:start;gap:clamp(2rem,6vw,6rem);padding-bottom:clamp(2.5rem,6vw,4.5rem);display:grid}.footer-brand-block{gap:1.25rem;max-width:620px;display:grid}.footer-name{width:-moz-fit-content;width:fit-content;font-size:clamp(1.4rem,4vw,2.4rem)}.footer-mark{border-radius:8px;width:clamp(54px,8vw,76px);height:clamp(54px,8vw,76px)}.footer-brand-block p{max-width:44ch;color:var(--text-secondary);margin:0;font-size:clamp(1rem,2vw,1.3rem);font-weight:300;line-height:1.5}.footer-connect,.footer-nav{gap:.75rem;display:grid}.footer-connect>span,.footer-nav>span{color:var(--accent);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.4rem}.footer-connect>a,.footer-nav a{width:-moz-fit-content;width:fit-content;color:var(--text-secondary);font-size:var(--text-sm);align-items:center;gap:.5rem;transition:color .25s,transform .25s;display:inline-flex}.footer-connect>a:hover,.footer-nav a:hover{color:var(--text-primary);transform:translate(4px)}.footer-socials{flex-wrap:wrap;gap:.6rem;margin-top:.5rem;display:flex}.footer-socials a{border:1px solid var(--border);width:38px;height:38px;color:var(--text-secondary);border-radius:50%;place-items:center;transition:color .25s,background .25s,border-color .25s,transform .25s;display:grid}.footer-socials a:hover{color:var(--bg-base);background:var(--accent);border-color:var(--accent);transform:translateY(-3px)}.footer-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:1.5rem;padding-top:1.25rem;display:flex}.footer-meta{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);margin:0;font-variant-numeric:tabular-nums}.back-top{border:1px solid var(--border);cursor:none;background:#ffffff05;border-radius:999px;padding:.7rem .95rem}.back-top:hover{border-color:var(--border-hover)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes pulse{50%{opacity:.5}}@keyframes radar-found-ping{0%{opacity:0;transform:translate(-50%,-50%)scale(.35)}24%{opacity:.95}to{opacity:0;transform:translate(-50%,-50%)scale(2.1)}}@keyframes scroll-dot{0%{opacity:0;transform:translateY(-8px)}35%{opacity:1}to{opacity:0;transform:translateY(68px)}}@media (max-width: 1024px){.competitive-section,.experience-section,.featured-project,.featured-project.is-reversed,.hero-grid,.project-flow-card,.project-flow-card.is-reversed{grid-template-columns:1fr}.featured-project.is-reversed .project-image-wrap,.project-flow-card.is-reversed .project-flow-media{order:0}.project-grid,.stack-grid{grid-template-columns:repeat(2,1fr)}.section-sticky{min-height:auto;position:static}.section-rule{display:none}}@media (max-width: 760px){body{cursor:auto}.availability-pill,.cursor-dot,.cursor-ring,.nav-links{display:none}.site-nav{grid-template-columns:1fr auto}.brand{gap:.55rem}.brand-mark{width:36px;height:36px}.menu-toggle{background:0 0;border:0;justify-self:end;gap:5px;width:34px;padding:0;display:grid}.menu-toggle span{background:var(--text-primary);height:1px;transition:transform .3s,opacity .3s;display:block}.menu-toggle.is-open span:first-child{transform:translateY(6px)rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.mobile-menu{z-index:90;padding:var(--section-x);opacity:0;background:#080808f7;flex-direction:column;justify-content:center;gap:1rem;display:none;position:fixed;inset:0}.mobile-menu a{font-family:var(--font-display);align-items:baseline;gap:1rem;font-size:clamp(3rem,15vw,5rem);font-style:italic;line-height:1;display:flex}.mobile-menu span{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary)}.hero-section{min-height:auto;padding-top:7rem;padding-bottom:5.5rem}.hero-grid{gap:1.5rem;width:100%}.hero-name{font-size:clamp(4rem,24vw,7rem);line-height:.84}.line-mask.offset{padding-left:clamp(2rem,12vw,4rem)}.hero-marquee{width:100%}.hero-role{width:100%;max-width:100%;margin-top:1.75rem;font-size:clamp(1.25rem,7vw,1.85rem);line-height:1.28}.hero-visual{display:none}.type-orb{width:220px}.hero-role{margin-left:0}.competitive-profile-grid,.project-grid,.stack-grid{grid-template-columns:1fr}.competitive-copy h2{max-width:100%}.tech-radar-stage{min-height:calc(100dvh - 5rem);padding:4rem 0 0}.tech-radar-panel{padding:4.75rem 1rem 1rem}.tech-radar-heading{left:1rem;right:1rem}.tech-radar-intro{margin-bottom:1rem}.tech-radar-intro h3{font-size:clamp(2rem,13vw,3.7rem)}.tech-radar-row,.tech-radar-row.is-medium,.tech-radar-row.is-tight{gap:.75rem}.tech-radar-row.is-wide{justify-content:space-between}.radar-tech-action>div>div:first-child{width:42px;height:42px}.radar-tech-action svg{width:22px;height:22px}.experience-top,.footer-row{flex-direction:column;align-items:flex-start}.experience-row{grid-template-columns:1fr;gap:.75rem}.experience-index{line-height:1}.experience-meta{justify-items:start}.experience-meta span{text-align:left;justify-content:flex-start}.footer-main{grid-template-columns:1fr;gap:2rem}.footer-brand-block{max-width:100%}.footer-connect,.footer-nav{gap:.65rem}.footer-socials{margin-top:.25rem}.project-card{padding:.65rem}.project-flow-section .flow-art-container{min-height:auto;padding:5.5rem 1rem 2rem}.project-flow-heading{margin-bottom:2rem}.project-flow-card{gap:1.5rem}.project-flow-media{aspect-ratio:16/10;min-height:auto}.project-flow-media.is-logo img{padding:clamp(2rem,12vw,4rem)}.project-flow-media.is-mobile img{padding:1rem clamp(1.5rem,8vw,3rem)}.project-flow-info h3{font-size:clamp(3rem,17vw,5.2rem)}.contact-actions,.social-row{flex-direction:column;align-items:stretch}.marquee-track{animation-duration:35s}}.radar-tech-content{position:relative;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem}.radar-tech-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border:1px solid #334155;border-radius:1rem;background:#1e293b;box-shadow:inset 0 1px #ffffff0a}.radar-tech-label span{display:block;text-align:center;font-size:var(--text-xs);font-weight:700;color:#94a3b8}.flow-art-container{position:relative;display:flex;min-height:100dvh;width:100%;flex-direction:column;justify-content:space-between;gap:1.5rem;padding:clamp(2rem,8vw,4vw) clamp(1.5rem,6vw,6rem) clamp(2rem,4vw,4vw)}.project-flow-media img{position:absolute;inset:0;width:100%;height:100%}.project-flow-info h3{font-family:var(--font-display);font-size:clamp(2rem,5vw,4rem);font-style:italic;font-weight:400;line-height:.95;margin:.5rem 0}.project-links{display:flex;gap:1rem;margin-top:1.5rem}.project-links a{display:inline-flex;align-items:center;gap:.45rem}.project-type{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase}.contact-meta{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:1.5rem;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.contact-meta a{color:var(--text-secondary);transition:color .25s}.contact-meta a:hover{color:var(--text-primary)}.contact-modal-panel .footer-socials{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border);justify-content:center}.footer-location{color:var(--text-secondary);font-size:var(--text-sm)}.project-flow{position:relative}.project-flow-pin{position:sticky;top:0;height:100dvh;overflow:hidden}.project-flow-stage{position:relative;width:100%;height:100%}.project-flow-layer{position:absolute;inset:0;overflow:hidden;will-change:transform,opacity;transform-origin:bottom right}.project-flow-scroll-track{width:100%;pointer-events:none}.flow-art-container{width:100%;height:100%;min-height:100dvh;display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem;padding:clamp(2rem,8vw,4vw) clamp(1.5rem,6vw,6rem) clamp(2rem,4vw,4vw)}.tech-radar-sweep{pointer-events:none;width:5rem;height:5rem}.radar-sweep-beam{position:absolute;right:50%;top:50%;z-index:40;width:min(58vw,400px);height:1px;transform-origin:right center;background:linear-gradient(90deg,transparent,#5e9bff,transparent);animation:radar-spin 10s linear infinite}.radar-ring{position:absolute;top:50%;left:50%;width:var(--ring-size);height:var(--ring-size);border:1px solid rgba(71,85,105,.75);border-radius:50%;opacity:0;transform:translate(-50%,-50%);animation:radar-ring-in .9s ease forwards;animation-delay:var(--ring-delay)}.radar-tech-action:hover .radar-tech-icon{border-color:var(--border-hover);color:currentColor;background:#111111e0;box-shadow:inset 0 1px #ffffff0a,0 16px 48px #00000057}.radar-tech-action:hover .radar-tech-label span{color:var(--text-primary)}.competitive-profile-card{color:inherit;text-decoration:none}.competitive-profile-head svg{color:var(--text-secondary);transition:color .25s,transform .25s}.competitive-profile-card:hover .competitive-profile-head svg{color:var(--accent);transform:translate(2px,-2px)}@keyframes type-orb-spin{to{transform:rotate(360deg)}}@keyframes type-orb-spin-reverse{to{transform:rotate(-360deg)}}@keyframes type-orb-counter-spin{to{transform:rotate(-360deg)}}.type-orb-orbit span:first-child{animation-name:type-orb-counter-spin-top}.type-orb-orbit span:nth-child(2){animation-name:type-orb-counter-spin-right}.type-orb-orbit span:nth-child(3){animation-name:type-orb-counter-spin-bottom}.type-orb-orbit span:nth-child(4){animation-name:type-orb-counter-spin-left}@keyframes type-orb-counter-spin-top{to{transform:translate(-50%) rotate(-360deg)}}@keyframes type-orb-counter-spin-right{to{transform:translateY(-50%) rotate(-360deg)}}@keyframes type-orb-counter-spin-bottom{to{transform:translate(-50%) rotate(-360deg)}}@keyframes type-orb-counter-spin-left{to{transform:translateY(-50%) rotate(-360deg)}}@keyframes radar-spin{0%{transform:rotate(20deg)}to{transform:rotate(380deg)}}@keyframes radar-ring-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.92)}to{opacity:var(--ring-opacity);transform:translate(-50%,-50%) scale(1)}}@media (prefers-reduced-motion: reduce){.type-orb,.type-orb:before,.type-orb:after,.type-orb-orbit,.type-orb-orbit span,.radar-sweep-beam,.radar-ring,.flow-art-container{animation:none!important;transition:none!important}}
