.ricardovelasco-header{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1rem;background-color:transparent;color:var(--color-ricardovelasco-text);font-size:1rem;line-height:1.2;transition:transform .3s ease,background-color .3s ease}.ricardovelasco-header.solid{background-color:var(--color-ricardovelasco-background)}.ricardovelasco-header.hidden{transform:translateY(-100%)}.ricardovelasco-header a{color:inherit;text-decoration:none}.ricardovelasco-header a:focus-visible{outline:2px solid var(--color-ricardovelasco-accent);outline-offset:3px}.ricardovelasco-header .name{font-family:var(--ff-ricardovelasco-heading);font-size:1.5rem;font-weight:var(--fw-normal);white-space:nowrap}.ricardovelasco-header .links{display:flex;gap:1.25rem;margin:0;padding:0;list-style:none}.ricardovelasco-header .link{font-family:var(--ff-ricardovelasco-button);font-size:1.125rem;opacity:.8;transition:opacity .2s ease}.ricardovelasco-header .link:hover,.ricardovelasco-header .link:focus-visible{opacity:1}@media(min-width:48rem){.ricardovelasco-header{padding:1.75rem 3rem}.ricardovelasco-header .name{font-size:2rem}.ricardovelasco-header .links{gap:2.5rem}.ricardovelasco-header .link{font-size:1.25rem}}@media(min-width:80rem){.ricardovelasco-header{padding-inline:5rem}}@media(prefers-reduced-motion:no-preference){html:has(.ricardovelasco-header){scroll-behavior:smooth}}@media(prefers-reduced-motion:reduce){.ricardovelasco-header{transition:none}}.ricardovelasco-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:center;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;transform:translateY(-4rem)}.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);transform:translateY(-.5rem)}.ricardovelasco-hero .tagline{margin:0;font-size:var(--fs-ricardovelasco-subtitle)}.ricardovelasco-hero .location{margin-top:1rem;font-size:var(--fs-ricardovelasco-text);letter-spacing:5px}.ricardovelasco-hero .title,.ricardovelasco-hero .tagline,.ricardovelasco-hero .location{filter:drop-shadow(0 0 2px var(--color-ricardovelasco-background)) drop-shadow(0 0 2px var(--color-ricardovelasco-background))}@media(min-width:1280px){.ricardovelasco-hero{--text-offset: calc(-1.8 * var(--fs-ricardovelasco-subtitle))}.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}.ricardovelasco-hero .tagline,.ricardovelasco-hero .location{transform:translate(var(--text-offset))}}@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}}.ricardovelasco-gallery{padding:2rem 1rem 5rem;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:3rem 3rem 8rem}.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:4rem 5rem 10rem}.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}}
