:root{--bg: #050409;--text: #f8f7ff;--muted: rgba(248, 247, 255, .66);--muted-strong: rgba(248, 247, 255, .82);--line: rgba(248, 247, 255, .15);--purple: #8b5cf6;--purple-strong: #a855f7;--purple-soft: rgba(139, 92, 246, .22);--white-soft: rgba(255, 255, 255, .06);--surface: rgba(10, 8, 17, .72);--font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--scroll-progress: 0;--page-x: clamp(18px, 5vw, 92px);--shell: min(1520px, calc(100vw - (var(--page-x) * 2)))}*{box-sizing:border-box}html{min-width:320px;background:var(--bg);color:var(--text);scroll-behavior:auto}body{min-width:320px;margin:0;overflow-x:hidden;color:var(--text);background:var(--bg);font-family:var(--font);cursor:none;text-rendering:geometricPrecision}body::selection{background:#a855f76b;color:var(--text)}a{color:inherit;text-decoration:none}button,a,[tabindex]{-webkit-tap-highlight-color:transparent}main{position:relative;z-index:2}.experience-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:radial-gradient(circle at 72% 18%,color-mix(in srgb,var(--mode-accent, var(--purple)) 28%,transparent),transparent 34%),radial-gradient(circle at 18% 82%,rgba(255,255,255,.055),transparent 28%),linear-gradient(115deg,#050409,#0b0715 42%,#150722);transition:background .9s cubic-bezier(.22,1,.36,1)}.experience-backdrop:before,.experience-backdrop:after{content:"";position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;pointer-events:none}.experience-backdrop:before{background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:clamp(48px,5.4vw,82px) clamp(48px,5.4vw,82px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);opacity:.42}.experience-backdrop:after{background:linear-gradient(90deg,rgba(139,92,246,.14),transparent 18%,transparent 82%,rgba(139,92,246,.14)),radial-gradient(circle at 50% 50%,transparent 0%,rgba(5,4,9,.5) 74%);opacity:.82}.project-portal-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;opacity:0;pointer-events:none;transform:scale(.98);transition:opacity .95s cubic-bezier(.22,1,.36,1),transform .95s cubic-bezier(.22,1,.36,1)}.project-portal-bg:before,.project-portal-bg:after{content:"";position:absolute;pointer-events:none}.project-portal-bg:before{top:12%;right:7%;bottom:12%;left:7%;border:1px solid color-mix(in srgb,var(--portal-accent, var(--purple)) 46%,transparent);border-radius:28px;background:radial-gradient(circle at 74% 38%,color-mix(in srgb,var(--portal-accent, var(--purple)) 34%,transparent),transparent 28%),radial-gradient(circle at 20% 72%,rgba(255,255,255,.09),transparent 26%),linear-gradient(135deg,#ffffff13,#ffffff04);box-shadow:inset 0 0 0 1px #ffffff0d,0 0 90px color-mix(in srgb,var(--portal-accent, var(--purple)) 22%,transparent);opacity:.62;transform:perspective(900px) rotateX(4deg) rotateY(-5deg) translate3d(0,26px,0);transition:transform .9s cubic-bezier(.22,1,.36,1),opacity .9s ease}.project-portal-bg:after{top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--portal-accent, var(--purple)) 16%,transparent) 49%,rgba(255,255,255,.08) 50%,color-mix(in srgb,var(--portal-accent, var(--purple)) 16%,transparent) 51%,transparent 100%),radial-gradient(circle at 50% 50%,transparent 0%,rgba(5,4,9,.58) 72%);opacity:.48;transform:scaleX(.72);transition:transform .95s cubic-bezier(.22,1,.36,1),opacity .95s ease}.project-portal-bg span{position:absolute;right:-.08em;bottom:5%;max-width:100vw;color:#ffffff0e;font-size:clamp(6rem,18vw,20rem);font-weight:950;line-height:.75;letter-spacing:-.12em;text-align:right;text-transform:uppercase;transform:translate3d(0,28px,0);transition:transform .95s cubic-bezier(.22,1,.36,1),opacity .95s ease}.project-portal-bg.is-active,.project-portal-bg.is-word-active{opacity:1;transform:scale(1);transition-duration:.42s}.project-portal-bg.is-word-active:not(.is-active){opacity:.48}.project-portal-bg.is-active:before,.project-portal-bg.is-word-active:before{opacity:.82;transform:perspective(900px) rotateX(0) rotateY(0) translateZ(0)}.project-portal-bg.is-active:after,.project-portal-bg.is-word-active:after{opacity:.62;transform:scaleX(1)}.project-portal-bg.is-active span,.project-portal-bg.is-word-active span{opacity:1;transform:translateZ(0)}.portal-navigating .project-portal-bg{opacity:1;transform:scale(1.035)}.portal-navigating main{opacity:.24;transform:scale(.988);transition:opacity .32s ease,transform .32s ease}.scroll-progress{position:fixed;inset:0 0 auto 0;z-index:70;height:3px;background:linear-gradient(90deg,#ffffff,var(--purple-strong));transform:scaleX(var(--scroll-progress));transform-origin:left center}.webgl-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;pointer-events:none;opacity:.86;mix-blend-mode:screen}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;align-content:center;gap:10px;background:#050409;color:var(--text);transition:opacity .52s ease,visibility .52s ease}.loader span{color:var(--muted);font-size:clamp(.76rem,1.5vw,.94rem);font-weight:900;letter-spacing:.18em;text-transform:uppercase}.loader strong{font-size:clamp(2.5rem,9vw,8.5rem);line-height:.9;letter-spacing:-.08em}.loader-hidden{opacity:0;visibility:hidden}.cursor-dot{position:fixed;top:0;left:0;z-index:80;display:grid;width:18px;height:18px;place-items:center;border:1px solid var(--text);border-radius:999px;color:#050409;background:transparent;pointer-events:none;mix-blend-mode:difference;transform:translate(-50%,-50%);transition:width .18s ease,height .18s ease,background .18s ease,border-color .18s ease,opacity .18s ease;will-change:transform}.cursor-dot span{color:#050409;font-size:.72rem;font-weight:900;opacity:0;transition:opacity .16s ease}.cursor-link{width:44px;height:44px;background:var(--text)}.cursor-project,.cursor-whatsapp{width:72px;height:72px;border-color:transparent;background:var(--text);mix-blend-mode:normal}.cursor-project span,.cursor-whatsapp span{opacity:1}.cursor-hidden{opacity:0}.exp-header{position:fixed;top:22px;left:50%;z-index:30;display:flex;align-items:center;justify-content:space-between;width:min(1180px,calc(100vw - 32px));min-height:58px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#050409b8;box-shadow:0 16px 58px #00000042;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transform:translate(-50%)}.exp-brand,.exp-header nav{display:flex;align-items:center}.exp-brand{gap:10px;padding-right:16px;font-size:1rem;font-weight:900;letter-spacing:-.04em}.exp-brand span{display:grid;width:34px;height:34px;place-items:center;border-radius:999px;background:var(--text);color:#050409;font-weight:950}.exp-header nav{gap:clamp(10px,2vw,28px);color:var(--muted);font-size:clamp(.74rem,1.1vw,.9rem);font-weight:850}.exp-header a{transition:color .18s ease,opacity .18s ease}.exp-header a:hover,.exp-header a.is-active{color:var(--text)}.hero-exp,.section{position:relative;width:var(--shell);margin-inline:auto;padding-block:clamp(92px,13vw,168px)}.hero-exp{display:grid;min-height:100svh;align-content:center}.section{min-height:88svh}.hero-meta{display:flex;justify-content:space-between;gap:16px;width:min(720px,100%);margin-bottom:clamp(26px,4.4vw,54px);color:var(--muted);font-size:clamp(.68rem,1.1vw,.82rem);font-weight:950;letter-spacing:.18em;text-transform:uppercase}.hero-title{max-width:min(1060px,100%);margin:0 -.04em;padding:.04em;overflow:visible;font-size:clamp(4.3rem,12.6vw,11.2rem);line-height:.88;letter-spacing:-.085em;text-transform:lowercase;text-wrap:balance}.hero-title .word,.hero-title .char{display:inline-block;will-change:transform}.hero-copy-exp{width:min(720px,100%);margin:clamp(28px,4vw,52px) 0 0 auto}.hero-copy-exp p,.section-heading p,.about-copy p,.contact p{margin:0;color:var(--muted-strong);font-size:clamp(1rem,1.45vw,1.28rem);line-height:1.65}.interactive-word{position:relative;display:inline-block;color:var(--text);font-weight:820;white-space:nowrap}.interactive-word:after{content:"";position:absolute;right:0;bottom:.04em;left:0;height:.08em;border-radius:999px;background:var(--purple-strong);transform:scaleX(.2);transform-origin:right;opacity:.65;transition:transform .22s ease,opacity .22s ease}.interactive-word:hover:after,.interactive-word:focus-visible:after{transform:scaleX(1);opacity:1}.hero-links,.contact-links{display:flex;flex-wrap:wrap;gap:14px clamp(18px,2vw,28px);margin-top:32px}.hero-links{justify-content:flex-end}.hero-links a,.contact-links a{position:relative;display:inline-flex;min-height:46px;align-items:center;color:var(--text);font-weight:920;letter-spacing:-.02em;transition:color .18s ease,transform .18s ease}.hero-links a:after,.contact-links a:after{content:"";position:absolute;right:0;bottom:5px;left:0;height:1px;background:currentColor;transform:scaleX(1);transform-origin:left;transition:transform .22s ease}.hero-links a:hover,.contact-links a:hover{color:var(--purple-strong);transform:translateY(-2px)}.hero-links a:hover:after,.contact-links a:hover:after{transform:scaleX(.45)}.section-kicker{margin:0 0 20px;color:var(--purple-strong);font-size:clamp(.68rem,1vw,.82rem);font-weight:950;letter-spacing:.18em;text-transform:uppercase}.section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.34fr);gap:clamp(28px,5vw,72px);align-items:end;margin-bottom:clamp(36px,6vw,80px)}.section-heading h2,.about h2,.skills h2,.contact h2{max-width:1040px;margin:0;font-size:clamp(2.7rem,7.2vw,7.4rem);line-height:.92;letter-spacing:-.075em}.manifesto{display:grid;align-content:center}.manifesto-stack{max-width:1180px}.manifesto-line{margin:0;overflow:hidden;color:var(--text);font-size:clamp(2.7rem,7.8vw,8.6rem);font-weight:950;line-height:.92;letter-spacing:-.08em}.manifesto-line:nth-child(2n){color:#f8f7ff8c}.manifesto-line span{display:inline-block;will-change:transform}.work-stage{position:relative}.work-stage:before{content:"";position:absolute;top:-34px;right:-28px;bottom:-34px;left:-28px;z-index:-1;border:1px solid color-mix(in srgb,var(--project-accent, var(--purple)) 34%,transparent);border-radius:30px;background:radial-gradient(circle at 82% 50%,color-mix(in srgb,var(--project-accent, var(--purple)) 22%,transparent),transparent 28%),linear-gradient(135deg,#ffffff0b,#ffffff03);opacity:0;transform:scale(.985) translateY(18px);transition:opacity .52s ease,transform .52s cubic-bezier(.22,1,.36,1);pointer-events:none}.work-stage.is-portal-open:before{opacity:1;transform:scale(1) translateY(0)}.project-ghost{position:absolute;top:-8vw;right:-2vw;z-index:-1;max-width:92vw;margin:0;color:#ffffff09;font-size:clamp(5rem,16vw,18rem);font-weight:950;line-height:.8;letter-spacing:-.11em;text-align:right;pointer-events:none;transition:color .24s ease}.work-list{border-top:1px solid var(--line)}.work-item{display:grid;grid-template-columns:72px minmax(0,1fr) minmax(120px,180px) 86px;gap:clamp(12px,2.2vw,28px);align-items:center;min-height:clamp(118px,10vw,154px);border-bottom:1px solid var(--line);color:var(--text);transition:opacity .19s ease,padding .19s ease,background .19s ease,border-color .19s ease}.work-item:hover,.work-item:focus-visible{padding-inline:clamp(12px,1.7vw,24px);border-color:#ffffff52;background:#ffffff0e;outline:none}.work-item.is-active{padding-inline:clamp(12px,1.7vw,24px);border-color:color-mix(in srgb,var(--project-accent, var(--purple)) 54%,rgba(255,255,255,.22));background:color-mix(in srgb,var(--project-accent, var(--purple)) 12%,rgba(255,255,255,.045))}.work-item.is-muted{opacity:.28}.work-item span,.work-item p,.work-item strong{color:var(--muted);font-size:clamp(.72rem,1vw,.88rem);font-weight:900;letter-spacing:.08em;text-transform:uppercase}.work-item h3{margin:0;font-size:clamp(2.25rem,5.25vw,6.15rem);line-height:.9;letter-spacing:-.075em;transition:transform .22s ease,color .22s ease}.work-item.is-active h3{color:#fff;transform:translate(8px)}.work-modules{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none}.work-modules li{border:1px solid rgba(255,255,255,.13);border-radius:999px;padding:6px 9px;color:#f8f7ff9e;background:#ffffff09;font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.floating-preview{position:fixed;top:0;left:0;z-index:26;width:min(340px,27vw);min-width:260px;border:1px solid color-mix(in srgb,var(--preview-accent, var(--purple)) 42%,var(--line));border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--preview-accent, var(--purple)) 14%,transparent),transparent 46%),#08070dd1;box-shadow:0 22px 70px #0000006b;opacity:0;overflow:hidden;pointer-events:none;visibility:hidden;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform:translate3d(var(--project-preview-x, -120vw),var(--project-preview-y, -120vh),0);transition:opacity .18s ease,visibility .18s ease,border-color .24s ease,background .24s ease;will-change:transform}.has-project-preview-position .floating-preview.is-visible{opacity:1;visibility:visible}.floating-preview:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(255,255,255,.08);border-radius:12px;pointer-events:none}.floating-preview-frame{overflow:hidden;border-radius:inherit}.floating-preview img{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover}.floating-preview-copy{padding:15px}.floating-preview strong{color:var(--text);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.floating-preview p{margin:8px 0 0;color:var(--muted);line-height:1.45}.project-archive{margin-top:clamp(52px,8vw,96px);border-top:1px solid var(--line);padding-top:clamp(28px,4vw,46px)}.archive-heading{display:grid;grid-template-columns:minmax(0,.56fr) minmax(260px,.44fr);gap:clamp(20px,5vw,64px);align-items:end;margin-bottom:24px}.archive-heading h3{margin:0;color:#f8f7ffc7;font-size:clamp(1.4rem,2.4vw,2.25rem);line-height:1.08;letter-spacing:-.045em}.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.archive-card{min-height:210px;border:1px solid var(--line);border-radius:18px;padding:clamp(18px,2.2vw,26px);background:#ffffff0a;transition:transform .19s ease,border-color .19s ease,background .19s ease}.archive-card:hover,.archive-card:focus-visible{border-color:#ffffff4d;background:#8b5cf61f;outline:none;transform:translateY(-4px)}.archive-card span{color:var(--purple-strong);font-size:.76rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.archive-card h4{margin:34px 0 10px;color:var(--text);font-size:clamp(1.35rem,2.4vw,2.4rem);line-height:.95;letter-spacing:-.055em}.archive-card p{margin:0;color:var(--muted);line-height:1.55}.archive-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.archive-tags small{border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:5px 8px;color:#f8f7ffb8;font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.about-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(300px,.55fr);gap:clamp(34px,7vw,96px);align-items:start}.label-cloud,.skill-marquee{display:flex;flex-wrap:wrap;gap:10px}.label-cloud{margin-top:28px}.label-cloud span,.skill-marquee span{display:inline-flex;min-height:42px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:10px 14px;color:var(--text);background:#ffffff0b;font-size:.78rem;font-weight:920;letter-spacing:.08em;text-transform:uppercase;transition:transform .18s ease,border-color .18s ease,background .18s ease}.skill-marquee{margin-top:36px}.skill-marquee span:hover,.skill-marquee span:focus-visible,.label-cloud span:hover{border-color:#ffffff5c;background:#8b5cf62e;outline:none;transform:translateY(-3px)}.skills{min-height:auto}.contact{display:grid;min-height:76svh;align-content:center}.contact h2{max-width:1120px}.contact p{width:min(700px,100%);margin-top:24px}.contact-links a{font-size:clamp(1.2rem,2.1vw,2rem)}.contact-links a:first-child{min-height:56px;border-radius:999px;padding:0 22px;color:#050409;background:linear-gradient(135deg,#ffffff,var(--purple-strong));font-size:clamp(1rem,1.55vw,1.35rem);box-shadow:0 14px 34px #8b5cf638}.contact-links a:first-child:after{display:none}@media(max-width:1020px){:root{--page-x: clamp(18px, 4.6vw, 48px)}.webgl-bg{opacity:.52}.section-heading,.about-grid{grid-template-columns:1fr}.section-heading p,.about-copy{max-width:720px}.work-item{grid-template-columns:54px minmax(0,1fr) 86px}.work-item p{display:none}.archive-heading,.archive-grid{grid-template-columns:1fr}}@media(max-width:780px){body{cursor:auto}.experience-backdrop:before{opacity:.28}.experience-backdrop:after{opacity:.68}.project-portal-bg{opacity:0!important}.project-portal-bg:before,.project-portal-bg:after,.project-portal-bg span,.work-stage:before{opacity:0!important}.cursor-dot,.floating-preview{display:none}.exp-header{top:12px;width:calc(100vw - 24px);min-height:56px;border-radius:20px;box-shadow:0 10px 28px #00000038;-webkit-backdrop-filter:none;backdrop-filter:none}.exp-brand{gap:8px;padding-right:8px;font-size:.92rem}.exp-brand span{width:31px;height:31px}.exp-header nav{gap:12px;overflow-x:auto;max-width:58vw;padding-bottom:2px;scrollbar-width:none;white-space:nowrap}.exp-header nav::-webkit-scrollbar{display:none}.exp-header nav a:nth-child(1){display:none}.hero-exp,.section{padding-block:104px 74px}.hero-meta{display:grid;justify-content:start;gap:8px}.hero-title{max-width:100%;font-size:clamp(3.9rem,18vw,7rem);letter-spacing:-.07em;overflow-wrap:anywhere}.hero-copy-exp,.hero-links{margin-left:0;justify-content:flex-start}.hero-copy-exp p,.section-heading p,.about-copy p,.contact p{font-size:1rem;line-height:1.62}.section-heading h2,.about h2,.skills h2,.contact h2,.manifesto-line{letter-spacing:-.062em}.work-item{grid-template-columns:42px minmax(0,1fr);min-height:160px;padding-block:20px}.work-item strong{grid-column:2}.work-item:hover,.work-item:focus-visible{padding-inline:0;background:transparent}.work-item h3{font-size:clamp(2.1rem,11vw,4.2rem)}.work-modules{gap:6px;margin-top:12px}.work-modules li{padding:5px 8px;font-size:.62rem}.project-ghost{display:none}.project-archive{margin-top:44px}.archive-card{min-height:auto}}@media(max-width:480px){:root{--page-x: 16px}.exp-header nav a:nth-child(3){display:none}.hero-title{font-size:clamp(3.4rem,17vw,5.2rem)}.section-heading h2,.about h2,.skills h2,.contact h2{font-size:clamp(2.35rem,12.5vw,4rem)}.manifesto-line{font-size:clamp(2.35rem,12.5vw,4.2rem)}.hero-links a,.contact-links a{min-height:40px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;scroll-behavior:auto!important;transition-duration:1ms!important}}
