.ricardovelasco-particles{position:fixed;inset:0;z-index:-1;pointer-events:none;color:var(--color-ricardovelasco-accent)}.particles{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}.ricardovelasco-hero{position:relative;isolation:isolate;overflow:hidden;min-height:100dvh;color:var(--color-ricardovelasco-text);font-family:var(--ff-ricardovelasco-heading);font-size:1rem;line-height:1.15}.ricardovelasco-hero .content{display:block;text-align:center}.ricardovelasco-hero .lens{position:relative;z-index:-2;width:100%;height:15rem;margin-top:3rem}.ricardovelasco-hero .layer{position:absolute;inset:0;width:15rem;max-width:none;margin:auto}.ricardovelasco-hero .photo{width:14rem;height:14rem;overflow:hidden;border-radius:100%;background:radial-gradient(circle,#1c1c1c,#000 70%)}.ricardovelasco-hero .shot{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--focus, 50% 50%);opacity:0;clip-path:circle(50%)}.ricardovelasco-hero .shot.current{opacity:1}.ricardovelasco-hero .photo.closing .shot.current{animation:ricardovelasco-hero-iris-close .45s cubic-bezier(.55,0,.85,.3) forwards}.ricardovelasco-hero .photo.opening .shot.current{animation:ricardovelasco-hero-iris-open .6s cubic-bezier(.15,.7,.3,1) both}.ricardovelasco-hero .spin{animation:ricardovelasco-hero-spin 15s infinite linear}.ricardovelasco-hero .spin-reverse{animation:ricardovelasco-hero-spin 15s infinite reverse}.ricardovelasco-hero .title{margin:0;font-size:var(--fs-ricardovelasco-title);font-weight:var(--fw-normal)}.ricardovelasco-hero .services{font-size:var(--fs-ricardovelasco-subtitle)}.ricardovelasco-hero .location{font-size:var(--fs-ricardovelasco-text);letter-spacing:5px}.ricardovelasco-hero .title,.ricardovelasco-hero .services,.ricardovelasco-hero .location{filter:drop-shadow(0 0 2px var(--color-ricardovelasco-background)) drop-shadow(0 0 2px var(--color-ricardovelasco-background))}.ricardovelasco-hero .signature{position:relative;display:inline-block;width:clamp(15rem,25rem,80%);aspect-ratio:285 / 104;margin:1rem 0 0;font-family:var(--ff-ricardovelasco-signature);font-size:min(4.25rem,13.5vw);line-height:1;white-space:nowrap}.ricardovelasco-hero .signature span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.ricardovelasco-hero .contact{padding-top:1rem;font-family:var(--ff-ricardovelasco-button);font-size:var(--fs-ricardovelasco-text);--neon-color: var(--color-ricardovelasco-accent)}@media(min-width:1280px){.ricardovelasco-hero .content{position:relative;padding:1rem}.ricardovelasco-hero .lens{height:0;margin-top:0;padding:1rem}.ricardovelasco-hero .layer{top:15rem;left:45rem;right:0;bottom:0;width:30rem}.ricardovelasco-hero .photo{width:25rem;height:25rem}}@keyframes ricardovelasco-hero-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ricardovelasco-hero-iris-close{0%{clip-path:circle(50%)}to{clip-path:circle(0%)}}@keyframes ricardovelasco-hero-iris-open{0%{clip-path:circle(0%);transform:scale(1.15)}to{clip-path:circle(50%);transform:scale(1)}}@media(prefers-reduced-motion:reduce){.ricardovelasco-hero :is(.spin,.spin-reverse){animation:none}}.type-flip{position:relative;height:1.5em;margin:0}.type-flip .word{position:absolute;top:0;left:50%;transform:translate(-50%);display:flex}.type-flip .letter.in{opacity:0;transform:scaleY(0);animation:type-flip-wave .2s ease forwards}.type-flip .letter.out{transform:scaleY(0)}.type-flip .word.active .letter.out{opacity:1;transform:scaleY(1);animation:type-flip-wave .2s ease reverse forwards}.type-flip .letter.space{padding:.1em}.type-flip .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@keyframes type-flip-wave{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@media(prefers-reduced-motion:reduce){.type-flip .letter.in{opacity:1;transform:none;animation:none}.type-flip .word.active .letter.out{display:none}}.neon-flicker{--neon: var(--neon-color, var(--color-accent));position:relative;display:inline-block;padding:.25em 1em;border:.15em solid var(--neon);border-radius:.45em;background:none;color:var(--neon);font-weight:900;line-height:1.15;letter-spacing:.2em;cursor:pointer;perspective:2em;box-shadow:inset 0 0 .5em 0 var(--neon),0 0 .5em 0 var(--neon);animation:neon-flicker-border 2s linear infinite}.neon-flicker .glow-text{float:left;margin:0 -.5em;text-shadow:0 0 .125em hsl(0 0% 100% / .3),0 0 .45em var(--neon);animation:neon-flicker-text 3s linear infinite}.neon-flicker .faulty{opacity:.5;animation:neon-flicker-faulty 2s linear infinite}.neon-flicker:before{content:"";position:absolute;inset:0;opacity:.7;filter:blur(1em);transform:translateY(120%) rotateX(95deg) scaleY(.35);background:var(--neon);pointer-events:none}.neon-flicker:after{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background-color:var(--neon);box-shadow:0 0 2em .2em var(--neon);transition:opacity .1s linear}.neon-flicker:hover,.neon-flicker:focus-visible{color:#000c;text-shadow:none;animation:none}:is(.neon-flicker:hover,.neon-flicker:focus-visible) .glow-text{animation:none}:is(.neon-flicker:hover,.neon-flicker:focus-visible) .faulty{opacity:1;text-shadow:none;animation:none}:is(.neon-flicker:hover,.neon-flicker:focus-visible):before{filter:blur(1.5em);opacity:1}:is(.neon-flicker:hover,.neon-flicker:focus-visible):after{opacity:1}@keyframes neon-flicker-faulty{0%{opacity:.1}2%{opacity:.1}4%{opacity:.5}19%{opacity:.5}21%{opacity:.1}23%{opacity:1}80%{opacity:.5}83%{opacity:.4}87%{opacity:1}}@keyframes neon-flicker-text{0%{opacity:.1}2%{opacity:1}8%{opacity:.1}9%{opacity:1}12%{opacity:.1}20%{opacity:1}25%{opacity:.3}30%{opacity:1}70%{opacity:.7}72%{opacity:.2}77%{opacity:.9}to{opacity:.9}}@keyframes neon-flicker-border{0%{opacity:.1}2%{opacity:1}4%{opacity:.1}8%{opacity:1}70%{opacity:.7}to{opacity:1}}@media(prefers-reduced-motion:reduce){.neon-flicker,.neon-flicker .glow-text,.neon-flicker .faulty{animation:none}}.ricardovelasco-gallery{padding:5rem 1rem;color:var(--color-ricardovelasco-text);font-family:var(--ff-ricardovelasco-heading);line-height:1.3}.ricardovelasco-gallery .intro{margin:0 auto 4rem;max-width:48rem;text-align:center}.ricardovelasco-gallery .title{margin:0;font-size:var(--fs-ricardovelasco-subtitle);font-weight:var(--fw-normal)}.ricardovelasco-gallery .lead{margin:1rem 0 0;font-family:var(--ff-ricardovelasco-button);font-size:var(--fs-ricardovelasco-text);opacity:.7}.ricardovelasco-gallery .grid{columns:2;column-gap:1rem}.ricardovelasco-gallery .item{margin:0 0 1.5rem;break-inside:avoid}.ricardovelasco-gallery .open{display:block;width:100%;padding:0;border:0;background:none;color:inherit;cursor:zoom-in}.ricardovelasco-gallery .open:focus-visible{outline:2px solid var(--color-ricardovelasco-accent);outline-offset:3px}.ricardovelasco-gallery .shot{display:block;width:100%;height:auto}.ricardovelasco-gallery .caption{padding-top:.75rem;font-family:var(--ff-ricardovelasco-button);font-size:var(--fs-ricardovelasco-text);opacity:.6}.ricardovelasco-gallery .viewer{position:fixed;inset:0;display:none;width:100%;max-width:none;height:100%;max-height:none;padding:1rem;border:0;background:none;color:var(--color-ricardovelasco-background);cursor:zoom-out}.ricardovelasco-gallery .viewer[open]{display:flex;align-items:center;justify-content:center}.ricardovelasco-gallery .viewer::backdrop{background-color:#000000eb}.ricardovelasco-gallery .viewer form{display:contents}.ricardovelasco-gallery .close{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;padding:0;border:0;background:none;color:inherit;cursor:pointer;opacity:.7}.ricardovelasco-gallery .close:hover,.ricardovelasco-gallery .close:focus-visible{opacity:1}.ricardovelasco-gallery .step{position:absolute;top:50%;display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;padding:0;transform:translateY(-50%);border:0;background:none;color:inherit;cursor:pointer;opacity:.6}.ricardovelasco-gallery .step:hover,.ricardovelasco-gallery .step:focus-visible{opacity:1}.ricardovelasco-gallery .prev{left:0}.ricardovelasco-gallery .next{right:0}.ricardovelasco-gallery .frame{margin:0;text-align:center;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:transform .25s ease,opacity .25s ease}.ricardovelasco-gallery .frame.in{animation:ricardovelasco-gallery-step .42s cubic-bezier(.2,.7,.3,1) both}.ricardovelasco-gallery .frame.dragging{cursor:grabbing;transition:none}.ricardovelasco-gallery .full{display:block;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 8rem);margin:0 auto}.ricardovelasco-gallery .full-caption{padding-top:1rem;font-family:var(--ff-ricardovelasco-button);font-size:var(--fs-ricardovelasco-text);opacity:.6}@media(min-width:48rem){.ricardovelasco-gallery{padding:8rem 3rem}.ricardovelasco-gallery .intro{margin-bottom:5rem}.ricardovelasco-gallery .grid{column-gap:4rem}.ricardovelasco-gallery .item{margin-bottom:4rem}}@media(min-width:80rem){.ricardovelasco-gallery{padding:10rem 5rem}.ricardovelasco-gallery .grid{columns:3;column-gap:6rem}.ricardovelasco-gallery .item{margin-bottom:6rem}}@keyframes ricardovelasco-gallery-step{0%{opacity:0;transform:translateY(var(--step-from, 0)) scale(.97)}to{opacity:1;transform:none}}@keyframes ricardovelasco-gallery-glass{0%{opacity:0}to{opacity:1}}.ricardovelasco-gallery .viewer[open]::backdrop{animation:ricardovelasco-gallery-glass .3s ease both}html:has(.ricardovelasco-gallery .viewer[open]){overflow:hidden}@media(prefers-reduced-motion:reduce){.ricardovelasco-gallery .frame,.ricardovelasco-gallery .frame.in,.ricardovelasco-gallery .viewer[open]::backdrop{animation:none;transition:none}}.scale-fade[data-scale-fade-ready]{opacity:0;transform:scale(var(--scale-fade-from));transition:opacity var(--scale-fade-duration) ease var(--scale-fade-delay),transform var(--scale-fade-duration) ease var(--scale-fade-delay)}.scale-fade[data-scale-fade-ready].in-view{opacity:1;transform:scale(1)}@media(prefers-reduced-motion:reduce){.scale-fade[data-scale-fade-ready]{opacity:1;transform:none;transition:none}}
