:root{--ink: #090a08;--ink-soft: #11130f;--paper: #f4f4ec;--muted: #a7aa9d;--line: rgba(255, 255, 255, .12);--glass: rgba(19, 22, 17, .64);--lime: #c7ff4a;--violet: #9b7cff;--shell: min(1180px, calc(100vw - 48px) );--radius: 26px;--ease: cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--lime) var(--ink);overflow-x:hidden}body{min-width:320px;margin:0;overflow-x:hidden;color:var(--paper);background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),var(--ink);background-size:64px 64px;font-family:var(--font-geist-sans, Arial, Helvetica, sans-serif);text-rendering:optimizeLegibility}body:before{position:fixed;inset:0;z-index:1000;opacity:.035;pointer-events:none;content:"";background:repeating-radial-gradient(circle at 17% 31%,#fff 0 .35px,transparent .6px 4px),repeating-radial-gradient(circle at 73% 61%,#fff 0 .25px,transparent .55px 5px);background-size:7px 9px,11px 13px}::selection{color:var(--ink);background:var(--lime)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}img{display:block;max-width:100%}.ui-icon{width:1.15em;height:1.15em;flex:0 0 auto;transition:transform .26s var(--ease),opacity .26s ease}.site-preloader{position:fixed;inset:0;z-index:3000;display:grid;visibility:visible;place-items:center;background:radial-gradient(circle at center,rgba(199,255,74,.08),transparent 28%),var(--ink);opacity:1;pointer-events:auto;transition:opacity .48s ease,visibility .48s ease;animation:preloader-fallback .48s ease 2.8s forwards}.site-preloader.is-hidden{visibility:hidden;opacity:0;pointer-events:none}.site-preloader__orbit{position:relative;display:grid;width:78px;height:78px;place-items:center;color:var(--ink);background:var(--lime);border-radius:25px;box-shadow:0 0 70px #c7ff4a38;font-size:18px;font-weight:900;letter-spacing:-.08em;transform:rotate(-6deg)}.site-preloader__orbit:before{position:absolute;inset:-13px;border:1px solid rgba(199,255,74,.7);border-right-color:transparent;border-bottom-color:#9b7cffb8;border-radius:30px;content:"";animation:preloader-orbit .9s linear infinite}.site-preloader__orbit span{transform:rotate(6deg)}.site-preloader>i{position:absolute;top:calc(50% + 62px);width:92px;height:2px;overflow:hidden;background:#ffffff1a;border-radius:999px}.site-preloader>i:after{display:block;width:48%;height:100%;background:linear-gradient(90deg,var(--lime),var(--violet));border-radius:inherit;content:"";animation:preloader-line .85s var(--ease) infinite}.shell{width:var(--shell);margin-inline:auto}.skip-link{position:fixed;top:12px;left:12px;z-index:2000;padding:12px 16px;color:var(--ink);background:var(--lime);border-radius:999px;transform:translateY(-150%);transition:transform .18s ease}.skip-link:focus{transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--lime);outline-offset:4px}.glass-panel{border:1px solid var(--line);background:linear-gradient(145deg,#ffffff14,#ffffff06);box-shadow:inset 0 1px #ffffff14,0 30px 80px #0000003d;backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%)}.scroll-progress{position:fixed;inset:0 0 auto;z-index:1200;height:2px;pointer-events:none}.scroll-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--lime),var(--violet));box-shadow:0 0 18px var(--lime)}.ambient,.cursor-glow{position:fixed;z-index:-1;border-radius:999px;pointer-events:none;filter:blur(70px)}.ambient--lime{top:18vh;right:-170px;width:440px;height:440px;opacity:.1;background:var(--lime)}.ambient--violet{top:105vh;left:-240px;width:520px;height:520px;opacity:.08;background:var(--violet)}.cursor-glow{top:0;left:0;width:340px;height:340px;opacity:.06;background:var(--lime);transform:translate3d(calc(var(--mouse-x, 50vw) - 50%),calc(var(--mouse-y, 40vh) - 50%),0);transition:opacity .3s ease}.site-header{position:fixed;top:20px;right:0;left:0;z-index:100}.nav-shell{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:10px 12px 10px 14px;border-radius:22px;transition:transform .3s var(--ease),background .3s ease}.site-header.is-scrolled .nav-shell{background:#0b0d0acc;transform:translateY(-8px)}.brand{display:inline-flex;align-items:center;gap:11px}.brand-mark{display:grid;width:46px;height:46px;place-items:center;color:var(--ink);background:var(--lime);border-radius:14px;box-shadow:0 0 32px #c7ff4a2e;font-size:13px;font-weight:900;letter-spacing:-.06em;transform:rotate(-5deg);transition:transform .3s var(--ease)}.brand:hover .brand-mark{transform:rotate(2deg) scale(1.05)}.brand-copy{display:flex;align-items:center}.brand-copy strong{font-size:14px;letter-spacing:-.02em}.brand-copy small{color:var(--muted);font-family:var(--font-geist-mono, monospace);font-size:9px;letter-spacing:.13em;text-transform:uppercase}.desktop-nav{display:flex;align-items:center;gap:6px}.desktop-nav a{position:relative;display:inline-flex;align-items:center;gap:6px;padding:11px 14px;color:#c3c5ba;font-size:13px;transition:color .18s ease}.desktop-nav a:after{position:absolute;right:14px;bottom:7px;left:14px;height:1px;background:var(--lime);content:"";transform:scaleX(0);transform-origin:right;transition:transform .25s var(--ease)}.desktop-nav a:hover{color:var(--paper)}.desktop-nav a .ui-icon{width:13px;height:13px;opacity:.58}.desktop-nav a:hover .ui-icon{opacity:1;transform:translateY(-2px)}.desktop-nav a:hover:after{transform:scaleX(1);transform-origin:left}.availability-pill{display:inline-flex;align-items:center;gap:8px;padding:12px 15px;border:1px solid rgba(199,255,74,.18);border-radius:999px;color:#dfffa0;background:#c7ff4a12;font-size:11px;font-weight:650;letter-spacing:.04em}.availability-pill .ui-icon{width:15px;height:15px}.availability-pill:hover .ui-icon{transform:rotate(-8deg) scale(1.08)}.availability-pill span,.live-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px #c7ff4a1a,0 0 14px var(--lime);animation:pulse 2.2s ease-in-out infinite}.menu-toggle,.mobile-menu{display:none}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.82fr);gap:clamp(44px,7vw,100px);align-items:center;min-height:100svh;padding-top:140px;padding-bottom:90px}.hero-copy{position:relative;z-index:2}.eyebrow,.section-kicker{display:flex;align-items:center;gap:14px;margin:0 0 24px;color:var(--lime);font-family:var(--font-geist-mono, monospace);font-size:10px;font-weight:650;letter-spacing:.14em;text-transform:uppercase}.eyebrow-line{width:42px;height:1px;background:#ffffff59}.eyebrow span:last-child{color:var(--muted)}.hero-title{max-width:760px;margin:0;font-size:clamp(62px,7.4vw,118px);font-weight:720;letter-spacing:-.085em;line-height:.83}.hero-title>span{display:block}.hero-title__accent{color:transparent;-webkit-text-stroke:1.5px rgba(244,244,236,.75)}.hero-title__last{display:flex!important;align-items:baseline;gap:.16em}.hero-title em{color:var(--lime);font-family:Georgia,Times New Roman,serif;font-size:.9em;font-weight:400;letter-spacing:-.07em}.hero-intro{max-width:610px;margin:34px 0 0;color:#b9bcaf;font-size:clamp(16px,1.5vw,20px);letter-spacing:-.025em;line-height:1.55}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:28px;padding:0 22px;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:650;transition:color .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease}.button span{font-size:18px}.button .button-icon{width:18px;height:18px}.button:hover .button-icon{transform:translateY(-2px) rotate(5deg)}.button--primary{color:var(--ink);border-color:var(--lime);background:var(--lime);box-shadow:0 12px 42px #c7ff4a24}.button--primary:hover{background:#d5ff75;box-shadow:0 16px 50px #c7ff4a3d}.button--ghost{background:#ffffff09}.button--ghost:hover{border-color:#ffffff4d;background:#ffffff14}.hero-facts{display:flex;gap:40px;margin-top:58px;padding-top:20px;border-top:1px solid var(--line)}.hero-facts div{display:flex;flex-direction:column;gap:6px}.hero-facts span{color:#73776c;font-family:var(--font-geist-mono, monospace);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.hero-facts strong{color:#d6d8cf;font-size:12px;font-weight:550}.hero-visual{min-width:0}.portrait-stage{position:relative;width:min(100%,470px);margin-inline:auto;perspective:1200px;transform-style:preserve-3d;transition:transform .5s var(--ease);transform:rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg))}.portrait-card{position:relative;z-index:2;aspect-ratio:.79;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:34px;background:#22251d;box-shadow:0 40px 100px #00000080,inset 0 1px #ffffff24,0 0 80px #9b7cff14;transform:rotate(2.5deg)}.portrait-card:after{position:absolute;inset:0;border:1px solid rgba(255,255,255,.1);border-radius:inherit;pointer-events:none;content:""}.portrait-card picture,.project-browser__screen picture,.media-card__image picture{display:block;width:100%;height:100%}.portrait-card img{width:100%;height:100%;object-fit:cover;object-position:50% 53%;filter:saturate(.82) contrast(1.04) brightness(.82);transform:scale(1.04)}.portrait-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,8,3,.04),transparent 48%,rgba(7,8,6,.78)),linear-gradient(120deg,rgba(155,124,255,.1),transparent 40%,rgba(199,255,74,.08))}.portrait-ui{position:absolute;z-index:3;right:22px;left:22px;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-geist-mono, monospace)}.portrait-ui--top{top:22px;color:#ffffffb3;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.portrait-glow{position:absolute;top:2%;right:-10%;z-index:0;width:78%;height:62%;border-radius:50%;background:radial-gradient(circle,rgba(199,255,74,.28),transparent 68%);filter:blur(20px)}.orbit{position:absolute;z-index:1;border:1px solid rgba(255,255,255,.12);border-radius:50%}.orbit--one{top:14%;right:-18%;width:150px;height:150px;animation:float 6s ease-in-out infinite}.orbit--two{bottom:10%;left:-16%;width:94px;height:94px;border-color:#9b7cff59;box-shadow:inset 0 0 28px #9b7cff17;animation:float 5s 1s ease-in-out infinite reverse}.float-card{position:absolute;z-index:4;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;transform:translateZ(50px)}.float-card span{display:grid;width:34px;height:34px;place-items:center;color:var(--ink);background:var(--lime);border-radius:10px;font-size:11px;font-weight:800}.float-card p{margin:0;font-size:10px;font-weight:650;line-height:1.3}.float-card--code{top:19%;left:-19%;animation:float 5.5s ease-in-out infinite}.float-card--motion{right:-15%;bottom:18%;animation:float 6.5s .5s ease-in-out infinite reverse}.float-card--motion span{color:var(--paper);background:var(--violet)}.scroll-cue{position:absolute;bottom:28px;left:0;display:flex;align-items:center;gap:12px;color:#6e7167;font-family:var(--font-geist-mono, monospace);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.scroll-cue i{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--line);border-radius:50%;font-style:normal;animation:nudge 2s ease-in-out infinite}.marquee{width:100%;overflow:hidden;border-block:1px solid var(--line);background:var(--lime);color:var(--ink);transform:rotate(-1deg) scale(1.02)}.marquee-track{display:flex;width:max-content;animation:marquee 34s linear infinite}.marquee span{display:inline-flex;align-items:center;gap:32px;padding:16px 22px;font-size:12px;font-weight:780;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.marquee i{font-style:normal}.section{padding-block:clamp(110px,14vw,190px);scroll-margin-top:100px}.section-heading{margin-bottom:64px}.section-heading h2,.contact-inner h2,.motion-copy h2{margin:0;font-size:clamp(48px,6vw,84px);font-weight:650;letter-spacing:-.07em;line-height:.95}.section-heading--row{display:flex;align-items:end;justify-content:space-between;gap:60px}.section-heading--row>p:last-child{max-width:380px;margin:0 0 6px;color:var(--muted);font-size:15px;line-height:1.65}.about-grid{display:grid;grid-template-columns:1.55fr .75fr .75fr;gap:16px}.about-lead,.capability-card,.metric-card{position:relative;overflow:hidden;border-radius:var(--radius)}.about-lead:before,.capability-card:before,.timeline-content:before,.motion-card:before{position:absolute;top:var(--spot-y, 50%);left:var(--spot-x, 50%);width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(199,255,74,.09),transparent 67%);pointer-events:none;content:"";transform:translate(-50%,-50%)}.about-lead{display:flex;grid-row:span 2;min-height:470px;flex-direction:column;justify-content:space-between;padding:clamp(28px,4vw,48px)}.card-index{position:relative;z-index:1;color:#777b70;font-family:var(--font-geist-mono, monospace);font-size:9px;letter-spacing:.14em;text-transform:uppercase}.about-lead>p{position:relative;z-index:1;max-width:650px;margin:auto 0;font-size:clamp(24px,3vw,41px);font-weight:440;letter-spacing:-.045em;line-height:1.18}.about-lead strong{color:var(--lime);font-weight:550}.about-lead__footer{position:relative;z-index:1;display:flex;gap:24px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-family:var(--font-geist-mono, monospace);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.metric-card{display:flex;min-height:220px;flex-direction:column;justify-content:space-between;padding:26px;color:var(--ink);transform-style:preserve-3d;transition:transform .45s var(--ease);transform:perspective(900px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg))}.metric-card--lime{background:var(--lime)}.metric-card--violet{color:#f7f4ff;background:var(--violet)}.metric-card>span,.metric-card>p{font-family:var(--font-geist-mono, monospace);font-size:9px;letter-spacing:.09em;text-transform:uppercase}.metric-card strong{font-size:clamp(64px,7vw,104px);font-weight:760;letter-spacing:-.09em;line-height:.8}.metric-card p{margin:0;opacity:.65}.capability-card{display:flex;grid-column:span 2;align-items:end;justify-content:space-between;gap:40px;padding:30px}.capability-card h3{position:relative;z-index:1;margin:18px 0 0;font-size:clamp(27px,3vw,40px);font-weight:580;letter-spacing:-.05em;line-height:1.03}.capability-card ul{position:relative;z-index:1;width:min(100%,400px);margin:0;padding:0;list-style:none}.capability-card li{display:flex;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);color:#c4c7bb;font-size:12px}.capability-card li span{color:var(--lime);font-family:var(--font-geist-mono, monospace);font-size:9px}.section--experience{position:relative;background:linear-gradient(180deg,transparent,rgba(255,255,255,.025) 20%,rgba(255,255,255,.025) 80%,transparent)}.timeline{position:relative;max-width:1040px;margin-top:80px}.timeline:before{position:absolute;top:16px;bottom:16px;left:173px;width:1px;background:#ffffff1f;content:""}.timeline:after{position:absolute;top:16px;bottom:16px;left:173px;width:2px;background:var(--lime);box-shadow:0 0 18px #c7ff4a80;content:"";transform:scaleY(var(--timeline-progress, 0));transform-origin:top;pointer-events:none}.timeline-item{display:grid;grid-template-columns:145px 56px minmax(0,1fr);align-items:start;margin-bottom:24px}.timeline-date{display:flex;flex-direction:column;gap:5px;padding-top:27px;color:#8a8d82;font-family:var(--font-geist-mono, monospace);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.timeline-marker{position:relative;z-index:2;display:grid;padding-top:29px;place-items:start center}.timeline-marker i{width:9px;height:9px;border:2px solid var(--ink);border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px #c7ff4a1f,0 0 20px #c7ff4a59;transform:scale(.6);transition:transform .52s var(--ease),box-shadow .52s ease}.timeline-item.is-visible .timeline-marker i{transform:scale(1);box-shadow:0 0 0 7px #c7ff4a21,0 0 25px #c7ff4a7a}.timeline-content{position:relative;overflow:hidden;padding:clamp(26px,4vw,40px);border-radius:var(--radius)}.timeline-content__top{position:relative;z-index:1;display:flex;align-items:start;justify-content:space-between;gap:30px}.timeline-content__top p{margin:0 0 9px;color:var(--lime);font-family:var(--font-geist-mono, monospace);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.timeline-content h3{margin:0;font-size:clamp(25px,3vw,39px);font-weight:570;letter-spacing:-.045em}.duration{padding:8px 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-family:var(--font-geist-mono, monospace);font-size:8px;letter-spacing:.08em;white-space:nowrap;text-transform:uppercase}.timeline-description{position:relative;z-index:1;max-width:610px;margin:24px 0;color:var(--muted);font-size:14px;line-height:1.7}.tag-row{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px}.tag-row span{padding:8px 11px;color:#aeb1a5;background:#ffffff0d;border-radius:999px;font-size:9px}.education-block{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(36px,7vw,90px);align-items:end;margin-top:96px;padding-top:72px;border-top:1px solid var(--line)}.education-block__heading h3{max-width:420px;margin:0;font-size:clamp(34px,4vw,56px);font-weight:620;letter-spacing:-.06em;line-height:.98}.education-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.education-card{display:flex;min-height:250px;flex-direction:column;justify-content:space-between;padding:28px;border-radius:var(--radius)}.education-card>span{color:var(--lime);font-family:var(--font-geist-mono, monospace);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.education-card strong{margin:auto 0 18px;font-size:clamp(48px,5vw,72px);font-weight:750;letter-spacing:-.08em;line-height:.9}.education-card p{max-width:260px;margin:0;color:var(--muted);font-size:13px;line-height:1.45}.work-intro{max-width:420px;margin-bottom:6px}.work-intro p{margin:0;color:var(--muted);font-size:15px;line-height:1.65}.work-intro a{display:inline-flex;align-items:center;gap:10px;margin-top:20px;padding-bottom:5px;border-bottom:1px solid rgba(199,255,74,.55);color:var(--lime);font-family:var(--font-geist-mono, monospace);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.work-intro a span{font-size:14px;transition:transform .25s var(--ease)}.work-intro a:hover span{transform:translate(3px,-3px)}.media-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;align-items:start}.media-card{overflow:hidden;color:var(--paper);border:1px solid var(--line);border-radius:28px;background:#11130f;box-shadow:0 24px 70px #00000038;transform-style:preserve-3d;transition:border-color .28s ease,box-shadow .42s var(--ease),transform .45s var(--ease);transform:perspective(1100px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg))}.media-card--portrait{grid-column:span 2}.media-card--landscape{grid-column:span 3}.media-card:hover{z-index:2;border-color:#c7ff4a75;box-shadow:0 34px 90px #0000006b,0 0 0 1px #c7ff4a0f}.media-card__image{position:relative;overflow:hidden;background:#070806}.media-card--portrait .media-card__image{aspect-ratio:4 / 5}.media-card--landscape .media-card__image{aspect-ratio:16 / 10}.media-card__image:after{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),transparent 48%,rgba(0,0,0,.64));content:"";pointer-events:none}.media-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .5s ease}.media-card:hover .media-card__image img{filter:saturate(1.08) contrast(1.03);transform:scale(1.045)}.media-card__index,.media-card__play{position:absolute;z-index:2;display:grid;place-items:center;color:var(--paper);background:#070806ad;border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.media-card__index{top:16px;left:16px;min-width:40px;height:30px;padding-inline:10px;border-radius:999px;font-family:var(--font-geist-mono, monospace);font-size:9px;letter-spacing:.1em}.media-card__play{right:18px;bottom:18px;width:50px;height:50px;padding-left:3px;border-radius:50%;color:var(--ink);background:var(--lime);border-color:transparent;box-shadow:0 0 32px #c7ff4a42;transition:transform .3s var(--ease)}.media-card__play .ui-icon{width:22px;height:22px}.media-card:hover .media-card__play{transform:rotate(8deg) scale(1.08)}.media-card__body{padding:22px}.media-card__body>p{margin:0 0 9px;color:var(--lime);font-family:var(--font-geist-mono, monospace);font-size:8px;letter-spacing:.09em;text-transform:uppercase}.media-card__body h3{min-height:2.1em;margin:0;font-size:clamp(22px,2.4vw,34px);font-weight:620;letter-spacing:-.055em;line-height:1.05}.media-card__body>div{display:flex;justify-content:space-between;gap:20px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line);color:#8b8e84;font-family:var(--font-geist-mono, monospace);font-size:8px;letter-spacing:.08em;text-transform:uppercase}.drive-banner{position:relative;display:flex;overflow:hidden;align-items:end;justify-content:space-between;gap:50px;margin-top:18px;padding:clamp(34px,6vw,68px);border-radius:32px}.drive-banner:before{position:absolute;top:var(--spot-y, 50%);left:var(--spot-x, 50%);width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(155,124,255,.18),transparent 65%);pointer-events:none;content:"";transform:translate(-50%,-50%)}.drive-banner>*{position:relative;z-index:1}.drive-banner h3{margin:18px 0 0;font-size:clamp(36px,5vw,67px);font-weight:630;letter-spacing:-.065em;line-height:.98}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-card{--project-bg: #c7ff4a;--project-fg: #10120d;position:relative;display:flex;min-height:510px;overflow:hidden;flex-direction:column;justify-content:space-between;padding:24px;color:var(--project-fg);background:var(--project-bg);border-radius:30px;perspective:1000px;transform-style:preserve-3d;transition:transform .5s var(--ease),box-shadow .5s var(--ease),filter .3s ease;transform:perspective(1000px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg))}.project-card:hover{z-index:2;box-shadow:0 34px 80px #0006;filter:saturate(1.08) brightness(1.02)}.project-card:focus-visible{outline:3px solid #fff;outline-offset:5px}.project-card--wide{grid-column:span 2;min-height:540px}.project-card--violet{--project-bg: #9b7cff;--project-fg: #110b1c}.project-card--peach{--project-bg: #ffb993;--project-fg: #20100a}.project-card--blue{--project-bg: #91c6ff;--project-fg: #081525}.project-card--rose{--project-bg: #ff90bb;--project-fg: #260a17}.project-card--aqua{--project-bg: #7be2ce;--project-fg: #072019}.project-card--gold{--project-bg: #f0c557;--project-fg: #1a1404}.project-card--indigo{--project-bg: #7868ff;--project-fg: #0d091d}.project-card__top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-geist-mono, monospace);font-size:10px;font-weight:700}.project-card__top i{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(0,0,0,.2);border-radius:50%;font-size:17px;font-style:normal;transition:color .25s ease,background .25s ease,transform .35s var(--ease)}.project-card:hover .project-card__top i{color:var(--project-bg);background:var(--project-fg);transform:rotate(45deg)}.project-card__visual{position:relative;z-index:1;width:100%;margin:20px 0 24px;transform:translateZ(24px)}.project-card--wide .project-card__visual{width:min(76%,820px);align-self:center}.project-browser{overflow:hidden;border:1px solid rgba(0,0,0,.24);border-radius:21px;background:#11130f;box-shadow:0 22px 54px #0000003d,inset 0 1px #ffffff47;transition:box-shadow .5s var(--ease),transform .6s var(--ease)}.project-card:hover .project-browser{box-shadow:0 28px 66px #0000004d,inset 0 1px #ffffff52;transform:translateY(-4px)}.project-browser__bar{display:grid;height:34px;grid-template-columns:repeat(3,7px) minmax(0,1fr);gap:6px;align-items:center;padding:0 12px;color:#b9bcb3;background:#191b17;border-bottom:1px solid rgba(255,255,255,.1)}.project-browser__bar>span{width:7px;height:7px;border-radius:50%;background:#ff6b64}.project-browser__bar>span:nth-child(2){background:#f0c557}.project-browser__bar>span:nth-child(3){background:#7be2ce}.project-browser__bar small{overflow:hidden;margin-left:5px;font-family:var(--font-geist-mono, monospace);font-size:8px;letter-spacing:.04em;opacity:.72;text-overflow:ellipsis;white-space:nowrap}.project-browser__screen{position:relative;overflow:hidden;aspect-ratio:16 / 9;background:#0b0c0a}.project-browser__screen:after{position:absolute;right:0;bottom:0;left:0;height:30%;background:linear-gradient(transparent,#00000057);pointer-events:none;content:""}.project-browser__screen img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;transition:filter .5s ease,transform .7s var(--ease)}.project-card:hover .project-browser__screen img{filter:saturate(1.06) contrast(1.02);transform:scale(1.025)}.project-live-badge{position:absolute;bottom:12px;left:12px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:9px 11px;color:#fff;background:#080907bd;border:1px solid rgba(255,255,255,.22);border-radius:999px;box-shadow:0 8px 22px #0003;font-family:var(--font-geist-mono, monospace);font-size:8px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;backdrop-filter:blur(12px)}.project-live-badge .ui-icon{width:11px;height:11px}.project-card__meta{position:relative;z-index:2;display:flex;align-items:end;justify-content:space-between;gap:20px}.project-card__meta p{margin:0 0 5px;font-family:var(--font-geist-mono, monospace);font-size:9px;letter-spacing:.08em;opacity:.6;text-transform:uppercase}.project-card__meta h3{margin:0;font-size:clamp(26px,3.2vw,44px);font-weight:680;letter-spacing:-.06em}.project-card__meta>span{font-family:var(--font-geist-mono, monospace);font-size:8px;opacity:.55}.motion-section{padding-top:40px}.motion-card{position:relative;display:grid;grid-template-columns:1fr .9fr;min-height:570px;overflow:hidden;border-radius:36px}.motion-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:clamp(36px,6vw,76px)}.motion-copy>p:not(.section-kicker){max-width:500px;margin:26px 0 0;color:var(--muted);font-size:15px;line-height:1.7}.tool-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.tool-row span{display:inline-flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;border:1px solid var(--line);border-radius:12px;color:#c5c7bd;font-size:11px}.tool-row b{display:grid;width:28px;height:28px;place-items:center;color:#d8d0ff;background:#9b7cff33;border-radius:7px;font-size:10px}.motion-visual{position:relative;overflow:hidden;min-height:480px;border-left:1px solid var(--line);background:radial-gradient(circle at 54% 50%,rgba(155,124,255,.25),transparent 34%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,44px 44px,44px 44px}.play-disc{position:absolute;top:50%;left:50%;display:grid;width:210px;height:210px;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:radial-gradient(circle at 34% 26%,#ffffff40,#9b7cff26 28%,#040405b3 70%);box-shadow:0 0 80px #9b7cff3d,inset -20px -30px 60px #00000073;transform:translate(-50%,-60%);animation:discFloat 5s ease-in-out infinite}.play-disc:before,.play-disc:after{position:absolute;border:1px solid rgba(255,255,255,.11);border-radius:50%;content:""}.play-disc:before{inset:16px}.play-disc:after{inset:34px}.play-disc span{display:grid;z-index:2;width:68px;height:68px;place-items:center;color:var(--ink);background:var(--lime);border-radius:50%;box-shadow:0 0 34px #c7ff4a47;padding-left:4px}.timeline-bars{position:absolute;right:28px;bottom:50px;left:28px;display:flex;gap:5px;align-items:end;height:48px;padding:8px;border:1px solid var(--line);border-radius:11px;background:#0505068c}.timeline-bars i{width:100%;height:calc(22% + (var(--bar) % 5) * 17%);border-radius:2px;background:var(--violet);animation:bars 2.4s calc(var(--bar) * -.11s) ease-in-out infinite alternate}.timeline-bars i:nth-child(3n){background:var(--lime)}.frame-count{position:absolute;top:24px;right:24px;color:#ffffff7a;font-family:var(--font-geist-mono, monospace);font-size:9px;letter-spacing:.12em}.contact-section{position:relative;overflow:hidden;padding-block:clamp(120px,16vw,220px);color:var(--ink);background:var(--lime);scroll-margin-top:80px}.contact-section:before{position:absolute;inset:0;opacity:.14;background:linear-gradient(rgba(0,0,0,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.12) 1px,transparent 1px);background-size:54px 54px;content:""}.contact-orb{position:absolute;top:-120px;right:-100px;width:480px;height:480px;border:1px solid rgba(0,0,0,.18);border-radius:50%;background:radial-gradient(circle at 32% 28%,#ffffffe6,#9b7cff8c 26%,#111 68%);box-shadow:-50px 70px 90px #00000038}.contact-inner{position:relative;z-index:2}.contact-inner .section-kicker{color:#0000008c}.contact-inner h2{max-width:900px;font-size:clamp(62px,9vw,138px);font-weight:720;line-height:.82}.contact-inner h2 span{display:block;color:transparent;-webkit-text-stroke:2px rgba(0,0,0,.74)}.contact-inner>p:not(.section-kicker){max-width:540px;margin:36px 0 54px;font-size:16px;line-height:1.65}.contact-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:1120px}.contact-link{position:relative;display:flex;min-height:120px;flex-direction:column;justify-content:center;padding:24px;border:1px solid rgba(0,0,0,.25);border-radius:20px;background:#ffffff2e;transition:color .25s ease,background .25s ease,box-shadow .25s ease}.contact-link:hover{color:var(--paper);background:var(--ink);box-shadow:0 24px 60px #0003}.contact-link span{margin-bottom:8px;font-family:var(--font-geist-mono, monospace);font-size:9px;letter-spacing:.1em;opacity:.6;text-transform:uppercase}.contact-link strong{font-size:clamp(17px,2vw,25px);letter-spacing:-.04em}.contact-link i{position:absolute;top:20px;right:20px;font-size:20px;font-style:normal}.contact-link i .ui-icon{width:22px;height:22px}.contact-link:hover i .ui-icon{transform:translate(3px,-3px)}.site-footer{padding-block:78px 28px;border-top:1px solid var(--line);background:#070806}.site-footer .footer-grid{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(145px,1fr));gap:36px clamp(30px,6vw,90px)}.footer-intro .brand{gap:15px;font-size:21px;font-weight:700;letter-spacing:-.04em}.footer-intro p{max-width:280px;margin:22px 0 0;color:var(--muted);font-size:14px;line-height:1.6}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:13px}.footer-links h2{margin:2px 0 9px;color:var(--muted);font-family:var(--font-geist-mono, monospace);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.footer-links a{padding-block:3px;font-size:15px;transition:color .2s ease,transform .25s var(--ease)}.footer-links a:hover{color:var(--lime);transform:translate(4px)}.footer-links a span{margin-left:5px;color:var(--lime)}.footer-bottom{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:34px;padding-top:24px;border-top:1px solid var(--line);color:#898d81;font-family:var(--font-geist-mono, monospace);font-size:11px}.footer-bottom a:hover{color:var(--lime)}.site-footer .brand-mark{width:44px;height:44px;border-radius:13px;font-size:12px}.floating-whatsapp{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:110;display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 19px;border:1px solid rgba(199,255,74,.42);border-radius:999px;color:var(--ink);background:var(--lime);box-shadow:0 12px 36px #00000059,0 0 24px #c7ff4a1f;font-size:13px;font-weight:750;transition:transform .25s var(--ease),box-shadow .25s ease,opacity .25s ease}.footer-in-view .floating-whatsapp{opacity:0;pointer-events:none;transform:translateY(12px)}.floating-whatsapp:hover{transform:translateY(-4px);box-shadow:0 18px 42px #0006,0 0 30px #c7ff4a3d}.floating-whatsapp .ui-icon{width:21px;height:21px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s var(--ease),transform .75s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal.is-visible :is(.section-kicker,h2,h3,.timeline-description,.tag-row,.contact-actions,.footer-links){animation:content-arrive .75s both var(--ease)}.reveal.is-visible :is(.timeline-description,.tag-row,.contact-actions){animation-delay:.11s}@keyframes content-arrive{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.82)}}@keyframes preloader-orbit{to{transform:rotate(360deg)}}@keyframes preloader-line{0%{transform:translate(-115%)}to{transform:translate(220%)}}@keyframes preloader-fallback{to{visibility:hidden;opacity:0;pointer-events:none}}@keyframes float{0%,to{translate:0 0}50%{translate:0 -13px}}@keyframes nudge{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@keyframes marquee{to{transform:translate(-50%)}}@keyframes discFloat{0%,to{transform:translate(-50%,-60%) rotate(-4deg)}50%{transform:translate(-50%,-66%) rotate(4deg)}}@keyframes bars{to{transform:scaleY(.4);opacity:.46}}@media(max-width:1060px){.hero{grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);gap:44px}.hero-title{font-size:clamp(58px,7vw,82px)}.float-card--code{left:-10%}.float-card--motion{right:-8%}}@media(max-width:900px){:root{--shell: min(100% - 34px, 760px)}.desktop-nav,.availability-pill{display:none}.menu-toggle{display:flex;width:46px;height:46px;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:14px;background:#ffffff0a;cursor:pointer}.menu-toggle span{width:18px;height:1px;background:currentColor;transition:transform .25s ease}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu{position:fixed;top:92px;right:17px;left:17px;display:block;visibility:hidden;padding:24px;border-radius:24px;opacity:0;transform:translateY(-12px) scale(.98);transform-origin:top;transition:opacity .22s ease,transform .3s var(--ease),visibility .3s}.mobile-menu.is-open{visibility:visible;opacity:1;transform:translateY(0) scale(1)}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);font-size:clamp(26px,7vw,42px);font-weight:600;letter-spacing:-.05em}.mobile-menu nav a .ui-icon{width:.72em;height:.72em;color:var(--lime)}.mobile-menu__footer{display:flex;justify-content:space-between;gap:20px;padding-top:22px;color:var(--muted);font-family:var(--font-geist-mono, monospace);font-size:9px;letter-spacing:.08em;text-transform:uppercase}body.menu-open{overflow:hidden}.hero{grid-template-columns:1fr;min-height:auto;padding-top:150px;padding-bottom:130px}.hero-title{font-size:clamp(68px,12vw,104px)}.hero-intro{max-width:680px}.portrait-stage{width:min(78vw,500px);margin-top:30px}.scroll-cue{bottom:36px}.about-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-lead{grid-column:span 2;grid-row:auto;min-height:410px}.capability-card{grid-column:span 2}.section-heading--row{align-items:start;flex-direction:column;gap:24px}.timeline:before,.timeline:after{left:23px}.timeline-item{grid-template-columns:48px minmax(0,1fr)}.timeline-date{grid-column:2;grid-row:1;flex-direction:row;gap:12px;padding:0 0 12px}.timeline-marker{grid-column:1;grid-row:1 / span 2;padding-top:5px}.timeline-content{grid-column:2}.education-block{grid-template-columns:1fr;align-items:start}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-card--portrait,.media-card--landscape{grid-column:span 1}.drive-banner{align-items:flex-start;flex-direction:column}.project-card,.project-card--wide{grid-column:auto;min-height:470px}.project-card--wide .project-card__visual{width:100%}.motion-card{grid-template-columns:1fr}.motion-visual{border-top:1px solid var(--line);border-left:0}.contact-orb{top:-80px;right:-170px;width:390px;height:390px;opacity:.75}.contact-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-actions .contact-link:last-child{grid-column:span 2}}@media(max-width:640px){:root{--shell: calc(100% - 26px) ;--radius: 22px}body{background-size:42px 42px}.site-header{top:10px}.nav-shell{min-height:64px;border-radius:19px}.brand-copy{display:none}.brand-mark{width:42px;height:42px;border-radius:12px}.mobile-menu{top:82px;right:13px;left:13px}.hero{gap:52px;padding-top:126px;padding-bottom:116px}.eyebrow{gap:9px;margin-bottom:18px;font-size:8px}.eyebrow-line{width:20px}.hero-title{font-size:clamp(54px,18vw,79px);line-height:.87}.hero-title__last{flex-wrap:wrap}.hero-intro{margin-top:26px;font-size:15px}.hero-actions{display:grid;grid-template-columns:1fr;margin-top:26px}.button{justify-content:space-between}.hero-facts{display:grid;grid-template-columns:.6fr 1.4fr;gap:20px;margin-top:38px}.hero-facts div:last-child{grid-column:span 2}.portrait-stage{width:calc(100% - 34px)}.portrait-card{border-radius:28px}.float-card--code{top:11%;left:-7%}.float-card--motion{right:-7%;bottom:14%}.float-card p,.scroll-cue span{display:none}.section{padding-block:100px}.section-heading{margin-bottom:42px}.section-heading h2,.motion-copy h2{font-size:clamp(45px,14vw,64px)}.about-grid{grid-template-columns:1fr}.about-lead,.capability-card{grid-column:auto}.about-lead{min-height:380px}.metric-card{min-height:205px}.capability-card{align-items:stretch;flex-direction:column}.timeline{margin-top:60px}.timeline:before,.timeline:after{left:14px}.timeline-item{grid-template-columns:30px minmax(0,1fr)}.timeline-marker{place-items:start}.timeline-content{padding:23px}.timeline-content__top{flex-direction:column;gap:16px}.duration{order:-1}.education-block{margin-top:70px;padding-top:52px}.education-grid,.media-grid{grid-template-columns:1fr}.education-card{min-height:220px}.media-card--portrait .media-card__image{aspect-ratio:4 / 5}.media-card--landscape .media-card__image{aspect-ratio:16 / 10}.drive-banner{padding:30px 24px}.drive-banner .button{width:100%}.project-grid{grid-template-columns:1fr}.project-card,.project-card--wide{min-height:450px}.project-card__meta>span{display:none}.motion-copy{padding:32px 24px 46px}.motion-visual{min-height:400px}.play-disc{width:180px;height:180px}.contact-inner h2{font-size:clamp(56px,18vw,88px);line-height:.86}.contact-actions{grid-template-columns:1fr}.contact-actions .contact-link:last-child{grid-column:auto}.site-footer{padding-block:60px 24px}.site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 20px}.footer-intro{grid-column:1 / -1}.footer-bottom{flex-wrap:wrap;margin-top:4px}.floating-whatsapp{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));min-height:50px;padding-inline:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.marquee-track{animation:none}.reveal{opacity:1;transform:none}.reveal.is-visible :is(.section-kicker,h2,h3,.timeline-description,.tag-row,.contact-actions,.footer-links){animation:none}}

/* Scroll entrances use translate/scale so card tilt transforms remain intact. */
.site-preloader{pointer-events:none}
html,body{overflow-x:clip;overflow-y:visible}
body.menu-open{overflow-x:clip;overflow-y:visible}
.mobile-menu.is-open{max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.reveal{opacity:0;transform:none;translate:0 58px;scale:.985;transition:opacity .95s var(--ease),translate .95s var(--ease),scale .95s var(--ease)}
.reveal.is-visible{opacity:1;transform:none;translate:0 0;scale:1}
.hero-title.reveal{translate:0 72px}
.hero-visual.reveal{translate:32px 38px;scale:.94}
.hero-title.reveal.is-visible,.hero-visual.reveal.is-visible{translate:0 0;scale:1}
.project-card.reveal,.project-card.reveal.is-visible{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.media-card.reveal,.media-card.reveal.is-visible{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.project-grid>.reveal:nth-child(4n+2),.media-grid>.reveal:nth-child(4n+2){transition-delay:.08s}
.project-grid>.reveal:nth-child(4n+3),.media-grid>.reveal:nth-child(4n+3){transition-delay:.16s}
.project-grid>.reveal:nth-child(4n),.media-grid>.reveal:nth-child(4n){transition-delay:.24s}
body.is-ready .site-header{animation:site-header-arrive .8s both var(--ease)}
body.is-ready .scroll-cue{animation:content-arrive .85s .55s both var(--ease)}
.reveal.is-visible :is(.section-kicker,h2,h3,.timeline-description,.tag-row,.contact-actions,.footer-links,.about-lead>p,.capability-card li,.education-card,.project-card__top,.project-card__visual,.project-card__meta,.media-card__image,.media-card__body,.metric-card>span,.metric-card>strong,.metric-card>p,.drive-banner>.button){animation:content-arrive .82s both var(--ease)}
.reveal.is-visible :is(.about-lead>p,.capability-card li,.education-card,.project-card__visual,.media-card__body,.metric-card>strong,.timeline-description,.contact-actions){animation-delay:.12s}
.reveal.is-visible :is(.capability-card li:nth-child(2),.education-card:nth-child(2),.project-card__meta,.metric-card>p,.tag-row){animation-delay:.22s}
.reveal.is-visible .capability-card li:nth-child(3){animation-delay:.3s}
.reveal.is-visible .capability-card li:nth-child(4){animation-delay:.38s}
@keyframes site-header-arrive{from{opacity:0;translate:0 -25px}to{opacity:1;translate:0 0}}
@keyframes content-arrive{from{opacity:0;translate:0 22px;filter:blur(4px)}to{opacity:1;translate:0 0;filter:blur(0)}}
@media(max-width:900px){.hero-visual.reveal{translate:0 40px}.mobile-menu.is-open{max-height:calc(100dvh - 94px)}}
@media(prefers-reduced-motion:reduce){.reveal,.reveal.is-visible,.hero-title.reveal,.hero-visual.reveal{opacity:1;translate:none;scale:1}.reveal.is-visible :is(.section-kicker,h2,h3,.timeline-description,.tag-row,.contact-actions,.footer-links,.about-lead>p,.capability-card li,.education-card,.project-card__top,.project-card__visual,.project-card__meta,.media-card__image,.media-card__body,.metric-card>span,.metric-card>strong,.metric-card>p,.drive-banner>.button),body.is-ready .site-header,body.is-ready .scroll-cue{animation:none}}
