html:has(body.portfolio-v2){scroll-behavior:auto;scrollbar-width:thin;scrollbar-color:#56766b #091219}html:has(body.portfolio-v2)::-webkit-scrollbar{width:9px}html:has(body.portfolio-v2)::-webkit-scrollbar-track{background:#091219}html:has(body.portfolio-v2)::-webkit-scrollbar-thumb{background:#45675e;border:2px solid #091219;border-radius:20px}html:has(body.portfolio-v2)::-webkit-scrollbar-thumb:hover{background:#c7f17f}body.portfolio-v2.menu-open{overflow:hidden}.scroll-progress{z-index:110;background:var(--acid);height:2px;transform:scaleX(var(--page-progress,0));transform-origin:0;pointer-events:none;position:fixed;inset:0 0 auto;box-shadow:0 0 16px #c7f17f73}.back-top{z-index:85;width:58px;height:58px;color:var(--acid);cursor:pointer;backdrop-filter:blur(15px);opacity:0;visibility:hidden;background:#0c1d23e6;border:0;border-radius:50%;padding:0;transition:opacity .4s,visibility .4s,transform .5s cubic-bezier(.2,1.6,.4,1),box-shadow .3s;position:fixed;bottom:clamp(18px,3vw,42px);right:clamp(18px,3vw,42px);transform:translateY(20px)scale(.75);box-shadow:0 14px 35px #00000052,0 0 0 1px #c7f17f29}.back-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.back-top:hover{transform:translateY(-6px)scale(1.06);box-shadow:0 22px 40px #0006,0 0 28px #c7f17f30}.back-top:active{transform:scale(.94)}.back-top svg{fill:none;width:100%;height:100%}.back-top circle{stroke-width:1.2px}.back-top-track{stroke:#c7f17f2b}.back-top-meter{stroke:var(--acid);stroke-dasharray:144.5;stroke-dashoffset:calc(144.5 - 144.5 * var(--page-progress,0));transform-origin:50%;transform:rotate(-90deg);stroke-width:2px!important}.back-top path{stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s}.back-top:hover path{transform:translateY(-3px)}body.fa-page .back-top{left:clamp(18px,3vw,42px);right:auto}body.fa-page .scroll-progress{transform-origin:100%}body.portfolio-v2 .scene{transform:translateY(var(--scroll-rise,0px)) rotateX(calc(var(--scene-y) + var(--scroll-tilt,0deg))) rotateY(calc(var(--scene-x) + var(--scroll-spin,0deg)))}.portfolio-v2 .project-visual{transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .4s}.portfolio-v2 .project-feature:hover .project-visual{transform:translateY(-7px)rotateX(2deg);box-shadow:0 25px 55px #0000003d}.portfolio-v2 .project-content h3 a{transition:color .25s}.portfolio-v2 .note-item{isolation:isolate;background:radial-gradient(circle at 85% 120%,#416f631f,#0000 45%),#0c1920;border:1px solid #c7f17f1c;min-height:270px;transition:background .35s,border-color .35s,box-shadow .45s,transform .55s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}.portfolio-v2 .note-item:before{content:"";z-index:-1;opacity:0;pointer-events:none;background:radial-gradient(circle,#c7f17f1c,#0000 43%);transition:opacity .5s,transform .65s cubic-bezier(.2,.8,.2,1);position:absolute;inset:-40%;transform:translateY(28px)scale(.9)}.portfolio-v2 .note-item:after{content:"";background:var(--acid);transform-origin:0;pointer-events:none;width:100%;height:2px;transition:transform .6s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0 auto auto 0;transform:scaleX(0)}.portfolio-v2.fa-page .note-item:after{transform-origin:100%}.portfolio-v2 .note-item:is(:hover,:focus-visible){border-color:#c7f17f80;box-shadow:0 24px 54px #0000003b}.portfolio-v2 .note-item:is(:hover,:focus-visible):before{opacity:1;transform:translateY(0)scale(1)}.portfolio-v2 .note-item:is(:hover,:focus-visible):after{transform:scaleX(1)}.portfolio-v2 .note-item h3,.portfolio-v2 .note-arrow{transition:color .35s,transform .5s cubic-bezier(.2,.8,.2,1)}.portfolio-v2 .note-item:is(:hover,:focus-visible) h3{color:var(--acid)}.portfolio-v2 .note-item:is(:hover,:focus-visible) .note-arrow{transform:translate(5px,-5px)rotate(6deg)}body.portfolio-v2 .notes-grid{background:0 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.5vw,20px)}@media (hover:hover) and (pointer:fine){html.portfolio-enhanced .portfolio-v2 .note-item.reveal.is-visible:is(:hover,:focus-visible){transform:translateY(-8px)rotateX(2deg)}}.portfolio-v2 .capability summary{transition:padding-inline .3s,color .3s}.portfolio-v2 .capability summary:hover{color:var(--acid);padding-inline:7px}body.portfolio-v2 .contact-section{align-items:center;min-height:100dvh;display:grid}body.portfolio-v2 .contact-section h2{line-height:1.08}.portfolio-v2 .contact-orbit{transition:transform .9s cubic-bezier(.2,.8,.2,1)}.portfolio-v2 .contact-section:hover .contact-orbit{transform:rotate(18deg)scale(1.05)}.cursor-observer{--look-x:0px;--look-y:0px;--iris-x:0px;--iris-y:0px;pointer-events:none;isolation:isolate;place-items:center;width:155px;height:155px;margin-top:40px;display:grid;position:relative}.observer-orbit{border:1px solid #c7f17f29;border-radius:50%;position:absolute;inset:0}.observer-orbit:before{content:"";background:var(--acid);width:5px;height:5px;box-shadow:0 0 15px var(--acid);border-radius:50%;position:absolute;top:-3px;left:50%}.orbit-outer{animation:20s linear infinite observer-orbit}.orbit-inner{opacity:.55;border-style:dashed;animation:26s linear infinite reverse observer-orbit;inset:18px}.observer-eye{background:radial-gradient(circle,#c7f17f29,#102a2bb3 60%,#0b1b22);border:1px solid #c7f17f87;border-radius:76% 8%;place-items:center;width:100px;height:72px;display:grid;transform:rotate(45deg);box-shadow:inset 0 0 34px #c7f17f17,0 0 35px #c7f17f12}.observer-iris{width:43px;height:43px;transform:rotate(-45deg) translate(var(--look-x), var(--look-y));background:radial-gradient(circle,#c7f17f 0 31%,#6ca792 35% 60%,#183b39 64%);border-radius:50%;place-items:center;transition:transform .2s ease-out;display:grid;box-shadow:0 0 20px #c7f17f38}.observer-pupil{width:17px;height:17px;transform:translate(var(--iris-x), var(--iris-y));background:#071219;border-radius:50%;transition:transform .15s ease-out;box-shadow:inset 2px 2px 2px #ffffff1a}.observer-point{background:var(--acid);width:5px;height:5px;position:absolute;transform:rotate(45deg)}.point-a{top:26px;right:-15px}.point-b{opacity:.48;bottom:21px;left:-12px}@keyframes observer-orbit{to{transform:rotate(360deg)}}@supports (animation-timeline:view()){.portfolio-v2 .project-glyph{animation:linear both glyph-depth view();animation-range:entry exit}@keyframes glyph-depth{0%{transform:translateY(26px)rotateX(-12deg)scale(.94)}to{transform:translateY(-26px)rotateX(12deg)scale(1.04)}}}@media (width<=900px){@media (hover:none),(pointer:coarse){.portfolio-v2 .project-visual{transform:perspective(1000px) translateY(var(--mobile-lift,0px)) rotateX(var(--mobile-tilt,0deg));box-shadow:0 18px 42px #00000029}.portfolio-v2 .project-feature:hover .project-visual{transform:perspective(1000px) translateY(var(--mobile-lift,0px)) rotateX(var(--mobile-tilt,0deg))}.portfolio-v2 .project-visual .glyph-frame-a,.portfolio-v2 .project-visual:hover .glyph-frame-a{transform:rotate(calc(45deg + var(--mobile-tilt,0deg))) rotateX(45deg) translateZ(26px)}.portfolio-v2 .project-visual .glyph-frame-b,.portfolio-v2 .project-visual:hover .glyph-frame-b{transform:rotate(calc(45deg - var(--mobile-tilt,0deg))) rotateX(45deg) translateZ(80px)}html.portfolio-enhanced .portfolio-v2 .note-item.reveal.is-visible,html.portfolio-enhanced .portfolio-v2 .note-item.reveal.is-visible:hover{transform:perspective(950px) translateY(var(--mobile-lift,0px)) rotateX(var(--mobile-tilt,0deg))}.cursor-observer{pointer-events:auto;touch-action:pan-y}}.portfolio-v2 .site-header{z-index:95}.portfolio-v2 .brand,.portfolio-v2 .header-actions{z-index:98;position:relative}body.portfolio-v2 .site-header .menu-toggle{z-index:100;background:#c7f17f0a;border:1px solid #c7f17f45;border-radius:50%;place-content:center;gap:6px;width:48px;height:48px;transition:border-color .3s,background .3s,transform .4s;display:grid;position:relative}body.portfolio-v2 .site-header .menu-toggle:hover{border-color:var(--acid);background:#c7f17f1a;transform:rotate(8deg)}body.portfolio-v2 .site-header .menu-toggle span{background:var(--acid);width:22px;height:1.5px;transition:transform .35s cubic-bezier(.2,.8,.2,1),width .35s}body.portfolio-v2 .site-header .menu-toggle span:last-child{justify-self:end;width:15px}.portfolio-v2.menu-open .menu-toggle span:first-child{transform:translateY(3.75px)rotate(45deg)}.portfolio-v2.menu-open .menu-toggle span:last-child{width:22px;transform:translateY(-3.75px)rotate(-45deg)}body.portfolio-v2 .site-header .mobile-nav:not([hidden]){z-index:96;scrollbar-width:thin;scrollbar-color:#45675e #091219;backdrop-filter:blur(25px);box-shadow:none;counter-reset:nav;background:radial-gradient(circle at 83% 75%,#4b827526,#0000 45%),#061218f7;border:0;flex-direction:column;justify-content:center;gap:0;padding:max(105px,12vh) clamp(24px,8vw,90px) 40px;animation:.45s cubic-bezier(.2,.8,.2,1) both menu-arrive;display:flex;position:fixed;inset:0;overflow:hidden auto}body.portfolio-v2 .site-header .mobile-nav:not([hidden]):after{content:"";aspect-ratio:1;pointer-events:none;border:1px solid #c7f17f1f;border-radius:50%;width:min(55vw,500px);position:absolute;bottom:-16vw;right:-16vw;box-shadow:0 0 0 72px #c7f17f05,0 0 0 144px #c7f17f03}body.portfolio-v2 .site-header .mobile-nav a{z-index:1;letter-spacing:-.04em;opacity:0;width:min(100%,670px);animation:.45s cubic-bezier(.2,.8,.2,1) forwards link-arrive;animation-delay:calc(80ms + var(--nav-order,0) * 45ms);border-bottom:1px solid #c7f17f21;align-items:baseline;gap:22px;padding:clamp(9px,1.5vh,20px) 0;font-size:clamp(27px,5.2vw,59px);font-weight:560;line-height:1.2;transition:color .25s,padding-inline .25s;display:flex;position:relative;transform:translateY(20px)}body.portfolio-v2 .site-header .mobile-nav a:hover{color:var(--acid);padding-inline-start:9px}body.portfolio-v2 .site-header .mobile-nav a[href^=\#]{counter-increment:nav}body.portfolio-v2 .site-header .mobile-nav a[href^=\#]:before{content:counter(nav, decimal-leading-zero);color:var(--acid);letter-spacing:0;font:11px ui-monospace,Consolas,monospace}body.portfolio-v2 .site-header .mobile-nav a.nav-secondary{width:auto;color:var(--acid);letter-spacing:0;border:0;margin-top:14px;font-size:13px;display:inline-flex}body.portfolio-v2 .site-header .mobile-nav a:first-child{--nav-order:1}body.portfolio-v2 .site-header .mobile-nav a:nth-child(2){--nav-order:2}body.portfolio-v2 .site-header .mobile-nav a:nth-child(3){--nav-order:3}body.portfolio-v2 .site-header .mobile-nav a:nth-child(4){--nav-order:4}body.portfolio-v2 .site-header .mobile-nav a:nth-child(5){--nav-order:5}body.portfolio-v2 .site-header .mobile-nav a:nth-child(6){--nav-order:6}body.portfolio-v2 .site-header .mobile-nav a:nth-child(7){--nav-order:7}body.portfolio-v2 .site-header .mobile-nav a:nth-child(8){--nav-order:8}.portfolio-v2.fa-page .mobile-nav a{letter-spacing:normal;font-family:Estedad Variable,Tahoma,sans-serif;font-size:clamp(26px,5vw,46px)}.portfolio-v2.fa-page .mobile-nav a.nav-secondary{font-size:14px}}@keyframes menu-arrive{0%{opacity:0;clip-path:circle(0 at 6% 5%)}to{opacity:1;clip-path:circle(150% at 6% 5%)}}@keyframes link-arrive{to{opacity:1;transform:translateY(0)}}@media (width<=650px){.cursor-observer{width:120px;height:120px;margin-top:26px}.observer-eye{width:79px;height:56px}.observer-iris{width:35px;height:35px}.observer-pupil{width:14px;height:14px}body.portfolio-v2 .contact-section{min-height:100svh}body.portfolio-v2 .site-header .mobile-nav:not([hidden]){padding-top:90px;padding-bottom:28px}body.portfolio-v2 .site-header .mobile-nav a{font-size:clamp(28px,8vw,42px)}body.portfolio-v2 .notes-grid{grid-template-columns:1fr}}@media (width>=651px) and (width<=1150px){body.portfolio-v2 .notes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.portfolio-v2 .scene{transform:none}.portfolio-v2 .project-visual,.portfolio-v2 .note-item{transform:none!important}.portfolio-v2 .note-item:before,.portfolio-v2 .note-item:after,.portfolio-v2 .note-item h3,.portfolio-v2 .note-arrow{transition-duration:.01ms}.orbit-outer,.orbit-inner{animation:none}body.portfolio-v2 .site-header .mobile-nav:not([hidden]),body.portfolio-v2 .site-header .mobile-nav a{opacity:1;animation:none;transform:none}.back-top{transition-duration:.01ms}.portfolio-v2 .project-glyph{animation:none}}
