.sr-only{position:absolute;margin:-1px;padding:0;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}:root{--color-default-border: light-dark(hsl(204 8% 55%), hsl(215 15% 45%));--color-default-bg: light-dark(hsl(200 20% 97%), hsl(215 25% 13%));--color-default-text: light-dark(hsl(204 8% 14%), hsl(0 0% 100%));--color-info-border: light-dark(hsl(200 78% 46%), hsl(234 100% 60%));--color-info-bg: light-dark(hsl(198 100% 94%), hsl(234 54% 20%));--color-info-text: light-dark(hsl(200 96% 27%), hsl(0 0% 100%));--color-success-border: light-dark(hsl(160 61% 41%), hsl(101 82% 63%));--color-success-bg: light-dark(hsl(160 71% 96%), hsl(101 39% 22%));--color-success-text: light-dark(hsl(170 96% 15%), hsl(0 0% 100%));--color-warning-border: light-dark(hsl(35 75% 49%), hsl(41 82% 63%));--color-warning-bg: light-dark(hsl(48 100% 96%), hsl(41 39% 22%));--color-warning-text: light-dark(hsl(15 85% 30%), hsl(0 0% 100%));--color-error-border: light-dark(hsl(355 73% 51%), hsl(339 82% 63%));--color-error-bg: light-dark(hsl(0 100% 94%), hsl(339 39% 22%));--color-error-text: light-dark(hsl(350 94% 19%), hsl(0 0% 100%));--color-pulse-default: 100, 100, 100;--color-pulse-info: 0, 122, 255;--color-pulse-success: 52, 199, 89;--color-pulse-warning: 255, 149, 0;--color-pulse-error: 255, 59, 48}:root{--animation-timing: cubic-bezier(.165, .84, .44, 1);--animation-duration-hover: .5s;--animation-duration-pulse: 2s}@keyframes pulse{0%{box-shadow:0 0 rgba(var(--pulse-color, 0, 0, 0),.7)}70%{box-shadow:0 0 0 6px rgba(var(--pulse-color, 0, 0, 0),0)}to{box-shadow:0 0 rgba(var(--pulse-color, 0, 0, 0),0)}}@keyframes boop{0%{transform:scale(1) rotate(0)}25%{transform:scale(var(--scaleAmount, 1.1)) rotate(calc(-1 * var(--rotateAmount, 10deg)))}50%{transform:scale(calc(var(--scaleAmount, 1.1) - .05)) rotate(calc(var(--rotateAmount, 10deg) / 2))}75%{transform:scale(calc(var(--scaleAmount, 1.1) - .08)) rotate(calc(-1 * var(--rotateAmount, 10deg) / 4))}to{transform:scale(1) rotate(0)}}@keyframes bouncing{0%{transform:translateY(0)}25%{transform:translateY(-5px)}50%{transform:translateY(0)}75%{transform:translateY(-2px)}to{transform:translateY(0)}}@keyframes rotate{0%{transform:rotate(0)}50%{transform:rotate(var(--rotateAmount, 10deg))}to{transform:rotate(0)}}@media (prefers-reduced-motion: no-preference){.animate-boop:where(:hover,:focus-visible){animation:boop var(--animation-duration-hover) var(--animation-timing) forwards}.animate-bouncing:where(:hover,:focus-visible){animation:bouncing var(--animation-duration-hover) var(--animation-timing) forwards}.animate-rotate:where(:hover,:focus-visible){animation:rotate var(--animation-duration-hover) var(--animation-timing) forwards}.animate-boop-svg:where(:hover,:focus-visible) svg{animation:boop var(--animation-duration-hover) var(--animation-timing) forwards}.animate-bouncing-svg:where(:hover,:focus-visible) svg{animation:bouncing var(--animation-duration-hover) var(--animation-timing) forwards}.animate-rotate-svg:where(:hover,:focus-visible) svg{animation:rotate var(--animation-duration-hover) var(--animation-timing) forwards}.animation-pulse{--pulse-iteration-count: var(--pulse-iterations, 3);animation:pulse var(--animation-duration-pulse) var(--animation-timing) var(--pulse-iteration-count)}}@media (prefers-reduced-motion: reduce){.animate-boop:where(:hover,:focus-visible),.animate-bouncing:where(:hover,:focus-visible),.animate-rotate:where(:hover,:focus-visible),.animate-boop-svg:where(:hover,:focus-visible) svg,.animate-bouncing-svg:where(:hover,:focus-visible) svg,.animate-rotate-svg:where(:hover,:focus-visible) svg{transform:none;animation:none}.animation-pulse{animation:none;box-shadow:0 0 0 2px rgba(var(--pulse-color, 0, 0, 0),.3)}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}:where(.modal)[data-astro-cid-vmxbpt25]{--translate-offset-y: 7.5vh;--transition-duration: .2s;--transition-easing: cubic-bezier(.165, .84, .44, 1);position:fixed;opacity:0;margin:auto;inset:0;border:2px solid light-dark(hsl(0 0% 10%),hsl(0 0% 90%));border-radius:.5rem;padding:0;inline-size:min(80%,450px);overscroll-behavior-block:contain;@media (prefers-reduced-motion: no-preference){translate:0 var(--translate-offset-y);transition-behavior:allow-discrete;transition-duration:var(--transition-duration);transition-property:display,opacity,translate,overlay;transition-timing-function:var(--transition-easing)}}.modal[data-astro-cid-vmxbpt25][open]{display:block;translate:0 0;opacity:1}@starting-style{.modal[data-astro-cid-vmxbpt25][open]{translate:0 calc(var(--translate-offset-y) * -1);opacity:0}.modal[data-astro-cid-vmxbpt25][open]::backdrop{opacity:0}}.modal[data-astro-cid-vmxbpt25][open]::backdrop{opacity:1}.modal[data-astro-cid-vmxbpt25]::backdrop{opacity:0;backdrop-filter:blur(5px);background-color:#00000080;@media (prefers-reduced-motion: no-preference){transition-behavior:allow-discrete;transition-duration:.3s;transition-property:display,opacity,overlay;transition-timing-function:cubic-bezier(.165,.84,.44,1)}}:where(.modal-content)[data-astro-cid-vmxbpt25]{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;background-color:light-dark(hsl(204 20% 94%),hsl(215 25% 15%));padding:2rem}:where(.modal-content h3)[data-astro-cid-vmxbpt25]{font-size:1.5rem}:where(.modal-close)[data-astro-cid-vmxbpt25]{position:absolute;align-self:flex-end;inset-block-start:1.5rem;inset-inline-end:1.5rem}:where(.modal-close button)[data-astro-cid-vmxbpt25]{display:flex;cursor:pointer;border:none;border-radius:.5rem;background-color:transparent;padding:.5rem;@media (prefers-reduced-motion: no-preference){transition:box-shadow var(--transition-duration) var(--transition-easing)}}:where(.modal-close button:focus-visible)[data-astro-cid-vmxbpt25]{outline:none}:where(.modal-close-icon)[data-astro-cid-vmxbpt25]{display:inline-block;position:relative;aspect-ratio:1;block-size:20px;svg{position:absolute;margin:auto;inset:0;&:first-of-type{transform:rotate(45deg)}&:last-of-type{transform:rotate(-45deg);@media (prefers-reduced-motion: no-preference){transition:transform var(--transition-duration) var(--transition-easing)}}}}:where(.modal-close button:hover)[data-astro-cid-vmxbpt25] .modal-close-icon[data-astro-cid-vmxbpt25],:where(.modal-close button:focus-visible)[data-astro-cid-vmxbpt25] .modal-close-icon[data-astro-cid-vmxbpt25]{svg:first-of-type{transform:rotate(0)}svg:last-of-type{transform:rotate(180deg)}}body:has(dialog[open]){overflow-y:clip}.certificates-section[data-astro-cid-5v4lgu33]{background-color:#f9f9f9;background-image:radial-gradient(circle at 25% 25%,rgba(200,200,200,.05) 1%,transparent 8%),radial-gradient(circle at 75% 75%,rgba(200,200,200,.05) 1%,transparent 8%);background-size:50px 50px;position:relative}.certificate-card[data-astro-cid-5v4lgu33]{transition:transform .3s ease}.certificate-card[data-astro-cid-5v4lgu33]:hover{transform:translateY(-5px)}.certificate-image[data-astro-cid-5v4lgu33]{border:1px solid rgba(0,0,0,.05);border-bottom:none}.modal{max-width:90vw;width:100%;margin:1rem auto}.modal-overlay{padding:1rem}.modal-title{font-size:1.1rem;line-height:1.3;word-break:break-word}.modal-content{display:flex;justify-content:center;align-items:center}@media (min-width: 640px){.modal{max-width:85vw}.modal-title{font-size:1.25rem}}@media (min-width: 768px){.modal{max-width:80vw}}@media (min-width: 1024px){.modal{max-width:75vw}}@media (min-width: 1280px){.modal{max-width:65vw}}
