*{box-sizing:border-box;margin:0}:root{--color-main-dark:#4169e1;--color-main-light:#f8f8ff;--color-hover:snow;--color-light:snow;--color-accent:tomato;--color-accent-2:tomato;--color-accent-2-invert:#afeeee;--global-font:system-ui,inter,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--secondary-font:ui-monospace,Menlo,Monaco,"Cascadia Mono","Segoe UI Mono","Roboto Mono","Oxygen Mono","Ubuntu Monospace","Source Code Pro","Fira Mono","Droid Sans Mono","Courier New",monospace;--tertiary-font:Georgia,serif;--base-space:16px;--global-padding:16px;--global-margin:16px;--text-margin-bottom:0.4em;--global-border:2px solid var(--color-main-dark);--double-border:4px solid var(--color-main-dark);--solid-shadow:6px 6px var(--color-main-dark);--gradient-bg:linear-gradient(45deg,#aafac9,#c0f2ff,#fadbf6,#fcfddb)}.h1,.h2,.h3,.h4,.h5,.h6,li,p,small{font-family:var(--global-font);color:var(--color-main-dark)}figcaption,li,p,small{max-width:65ch}.h6{max-width:55ch}.h1{font-size:clamp(2.625rem,1.2727rem + 6.3636vw,7rem);font-weight:700;line-height:.9em;letter-spacing:-.03em;word-spacing:.05em}.h2{font-size:clamp(2.5rem,1.7659rem + 3.4545vw,4.875rem);font-weight:800;line-height:.95em}.h2,.h3{letter-spacing:-.04em;word-spacing:.05em;font-family:var(--tertiary-font)}.h3{font-size:clamp(2.375rem,2.0273rem + 1.6364vw,3.5rem);font-weight:700;line-height:1em}.h4{font-size:clamp(1.75rem,1.4811rem + 1.1321vw,2.5rem);line-height:1.05em;letter-spacing:.01em}.h4,.h5{font-weight:600;word-spacing:.05em}.h5{font-size:clamp(1.875rem,1.7267rem + .6977vw,2.25rem);line-height:1.15em;letter-spacing:-.02em;max-width:45ch}.h6{font-size:clamp(1.375rem,1.239rem + .638vw,1.75rem);font-weight:500;letter-spacing:-.03em}.h6,.p{line-height:140%}.p{font-size:clamp(1.375rem,1.2762rem + .4651vw,1.625rem);font-weight:400;letter-spacing:-.01em;word-spacing:.05em}.salto{margin-bottom:.5em}image,picture{line-height:0}small{font-size:clamp(.75rem,.692rem + .2727vw,.9375rem);font-weight:500;line-height:150%;letter-spacing:.01em;word-spacing:.05em;text-transform:uppercase}span{font-family:var(--tertiary-font);font-style:italic;color:var(--color-accent-2)}.span-invert{color:var(--color-accent-2-invert)}.text-icon{font-family:var(--global-font);font-style:normal;font-size:1.2em;color:var(--color-accent)}b{color:inherit;font-weight:700}b,strong{letter-spacing:inherit}strong{color:var(--color-accent-2);font-weight:inherit}q{font-family:var(--secondary-font);font-size:clamp(1.375rem,1.239rem + .638vw,1.75rem);line-height:140%;letter-spacing:-.03em;color:var(--color-main-dark);quotes:"\0022" "\0022";cursor:text}.quotation-mark{color:var(--color-accent);line-height:1em;margin-bottom:calc(2 * var(--base-space))}figcaption{font-size:clamp(1.125rem,1.0864rem + .1818vw,1.25rem);color:var(--color-main-dark);padding:var(--global-padding);line-height:140%}.font-global,figcaption{font-family:var(--global-font)}.font-secondary{font-family:var(--secondary-font)}.font-tertiary{font-family:var(--tertiary-font)}.txt-margin-bottom{margin-bottom:var(--text-margin-bottom)}.uppercase{text-transform:uppercase}.color-main-dark{color:var(--color-main-dark)}.color-accent{color:var(--color-accent)}.color-accent-2{color:var(--color-accent-2)}.color-light{color:var(--color-light)}.txt-color-accent{color:var(--color-accent)}.txt-color-accent-2{color:var(--color-accent-2)}.txt-color-accent-2-invert{color:var(--color-accent-2-invert)}.txt-color-light{color:var(--color-main-light)}.txt-color-dark{color:var(--color-main-dark)}.bg-light{background-color:var(--color-light)}.bg-dark{background-color:var(--color-main-dark)}.bg-secondary{background-color:var(--color-accent-2)}.bg-active-color,nav a:hover{animation-name:bg-color-animation;animation-duration:40s;animation-iteration-count:infinite}@keyframes bg-color-animation{0%{background-color:azure}12.5%{background-color:snow}25%{background-color:ivory}37.5%{background-color:#f0f8ff}50%{background-color:#fff0f5}62.5%{background-color:#f5fffa}75%{background-color:#fff5ee}87.5%{background-color:#f5f5f5}to{background-color:azure}}.a-btn-label{font-family:var(--global-font);color:var(--color-main-dark);text-transform:uppercase;text-decoration:none;font-size:clamp(.9375rem,.8703rem + .283vw,1.125rem);font-weight:600;letter-spacing:.01em;word-spacing:.05em}.nav-active{color:var(--color-accent)}.text-link,.text-link:link{color:inherit;font-weight:400;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-position:under}.text-link:focus,.text-link:hover{color:var(--color-accent-2);-webkit-text-decoration-color:var(--color-accent-2);text-decoration-color:var(--color-accent-2)}.list-primary li{font-size:clamp(1.375rem,1.239rem + .638vw,1.75rem);font-weight:400;line-height:1.15em;letter-spacing:-.01em;list-style-type:"+ "}.list-primary li::marker{color:var(--color-accent)}.list-secondary li{margin-left:-1em;font-size:clamp(1.1875rem,1.1295rem + .2727vw,1.375rem);font-weight:400;line-height:1.3em;letter-spacing:0;list-style-type:"+ "}.list-secondary li::marker{color:var(--color-accent)}.marker-invert li::marker{color:var(--color-accent-2-invert)}@media only screen and (max-width:640px){.list-primary{margin-left:-1em}.list-secondary{margin-left:-.3em}}.list-primary>:not(:last-child),.list-secondary>:not(:last-child){margin-bottom:.8em}.list-horizontal{display:flex;gap:.5em;flex-wrap:wrap;padding-left:var(--base-space)}.list-horizontal li{list-style-type:"+ ";font-family:var(--secondary-font);font-size:clamp(.9375rem,.9151rem + .0943vw,1rem);margin-right:1.5em;line-height:1.5em;text-transform:uppercase}.list-horizontal li::marker{color:var(--color-accent)}img{width:100%;height:auto;display:block}.border-around{border:var(--global-border)}.border-around-double{border:var(--double-border)}.padding-around{padding:var(--global-padding)}.margin-around{margin:var(--global-margin)}.elevation{box-shadow:var(--solid-shadow)}.page-container{border:var(--global-border);height:100vh;margin:auto;display:flex;flex-direction:column;overflow:hidden;position:relative;max-width:1200px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.main-content{display:flex;flex-direction:column;justify-content:space-between;overflow-y:scroll;scroll-behavior:smooth;border:var(--global-border);border-top:hidden;animation:fade-in 1s cubic-bezier(.39,.575,.565,1) both}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:transparent;border-color:var(--color-main-dark);border-style:solid;border-width:0 0 0 3px}::-webkit-scrollbar-thumb{background:var(--color-accent);border-left:3px solid var(--color-main-dark)}::-webkit-scrollbar-thumb:hover{background:var(--color-main-dark)}::selection{color:var(--color-main-light);background:var(--color-accent)}header{border-bottom:2px solid var(--color-main-dark);z-index:3}.top-header{background-color:var(--color-main-light)}.mg-logo-header{width:72px;margin:auto}polyline{stroke:var(--color-main-dark);fill:none;stroke-width:60;stroke-dasharray:4000;stroke-dashoffset:4000;animation-name:dynamic-logo;animation-duration:15s;animation-timing-function:linear;animation-delay:0;animation-iteration-count:infinite;animation-direction:normal;animation-fill-mode:both}@keyframes dynamic-logo{0%{stroke-dashoffset:0}80%{stroke-dashoffset:0}90%{stroke-dashoffset:4000}to{stroke-dashoffset:0}}nav{background-color:var(--color-main-light);display:grid;grid-template-columns:1fr 1fr 1fr}nav>a{border:var(--global-border);padding:12px 0;text-align:center}footer{background-color:var(--color-main-light);padding:28px var(--base-space);border-top:var(--double-border)}footer div{max-width:60%}.cta-btn{position:absolute;bottom:0;right:0;margin:16px 28px;box-shadow:var(--solid-shadow);background:var(--gradient-bg);background-size:180% 180%;animation:gradient-animation 6s ease infinite,cta-elevation 12s infinite;border:3px solid var(--color-main-dark);padding:12px 16px;z-index:2;cursor:pointer}.cta-btn:hover{background:var(--color-hover);transform:translate(6px,6px);box-shadow:none;animation:none}@keyframes gradient-animation{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes cta-elevation{0%{box-shadow:var(--solid-shadow);transform:translate(0)}85%{box-shadow:var(--solid-shadow);transform:translate(0)}90%{box-shadow:none;transform:translate(6px,6px)}to{box-shadow:var(--solid-shadow);transform:translate(0)}}.action-btn{font-family:var(--secondary-font);font-size:clamp(1rem,.9614rem + .1818vw,1.125rem);display:inline-block;border:var(--global-border);padding:4px 12px;background-color:snow;text-decoration:none;line-height:150%;letter-spacing:0;text-transform:none}.action-btn:hover{cursor:pointer;color:var(--color-accent);border-color:var(--color-accent)}.tertiary-btn{font-family:var(--secondary-font);font-size:1.2rem;font-weight:500;color:var(--color-accent);text-decoration:none;line-height:150%;letter-spacing:-.01em;text-transform:none}.tertiary-btn:hover{color:var(--color-main-dark);word-spacing:.2em}.to-top-btn{font-family:var(--secondary-font);font-size:clamp(.9375rem,.9151rem + .0943vw,1.2rem);display:inline-block;color:var(--color-main-dark);border-style:solid;border-width:1px;border-color:var(--color-main-dark);padding:4px 12px;background-color:snow;text-decoration:none;line-height:150%;letter-spacing:.03em;text-transform:uppercase}.to-top-btn:hover{cursor:pointer;color:var(--color-accent);border-color:var(--color-accent)}.backtotop{display:flex;justify-content:center}.two-blocks{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:calc(1.5 * var(--base-space));gap:calc(1.5 * var(--base-space))}@media only screen and (max-width:880px){.two-blocks{grid-template-columns:1fr}}.profile-card{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--base-space);gap:var(--base-space)}@media only screen and (max-width:980px){.profile-card{grid-template-columns:1fr}}.picture-bg{background:var(--gradient-bg);background-size:180% 180%;animation:gradient-animation 4s ease infinite}.profile-card picture{align-self:end;opacity:70%;filter:grayscale(100%);mix-blend-mode:multiply}.global-box{border:var(--global-border);padding:var(--global-padding)}.intro-bg{overflow:hidden;background:var(--gradient-bg);animation:gradient-animation 4s ease infinite;background-size:180% 180%;width:100vw;height:100vh;margin:auto;display:flex;justify-content:center}.intro-content-box{margin:auto;display:flex;flex-direction:column;align-items:center;animation-name:subir;animation-duration:.4s;animation-timing-function:cubic-bezier(.85,0,.15,1);animation-delay:4s;animation-iteration-count:1;animation-direction:normal;animation-fill-mode:both}@keyframes subir{to{transform:translateY(-50px)}}.intro-mg-logo{width:280px}.intro-mg-logo polyline{stroke-width:55;stroke-dasharray:4000;stroke-dashoffset:4000;animation-name:intro-logo-path;animation-duration:2s;animation-timing-function:linear;animation-delay:.5s;animation-iteration-count:1;animation-direction:normal;animation-fill-mode:both}@keyframes intro-logo-path{to{stroke-dashoffset:0}}.intro-name{display:flex;text-transform:uppercase}.name{padding:0;font-size:28px;animation:intro-name-entrance 1.5s cubic-bezier(.215,.61,.355,1) 2.3s both}.name:nth-child(2){font-weight:200}@keyframes intro-name-entrance{0%{letter-spacing:2em;transform:translateZ(400px);filter:blur(12px) opacity(0)}40%{filter:blur(3px) opacity(50%)}to{transform:translateZ(0);filter:blur(0) opacity(100%)}}.intro-btn{display:inline-block;font-family:var(--global-font);font-size:20px;color:var(--color-main-dark);text-decoration:none;margin-top:80px;border:var(--global-border);box-shadow:var(--solid-shadow);background-color:var(--color-light);padding:6px 14px;line-height:150%;letter-spacing:.07em;animation-name:slide-in-blurred-top;animation-duration:.8s;animation-timing-function:cubic-bezier(.23,1,.32,1);animation-delay:4s;animation-iteration-count:1;animation-direction:alternate;animation-fill-mode:backwards;animation-play-state:running}@keyframes slide-in-blurred-top{0%{transform:translateY(100px) scaleY(2.5) scaleX(.2);filter:blur(40px);opacity:0}to{transform:translateY(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}}.intro-btn:hover{transform:translate(6px,6px);box-shadow:none;cursor:pointer}.cv-card-date,.cv-card-description,.cv-card-list,.cv-card-title,.cv-section-title{padding:var(--global-padding);border:var(--global-border)}.cv-section-title{position:-webkit-sticky;position:sticky;top:0;z-index:1;border:hidden}.cv-card{display:flex;margin:var(--global-margin);border:var(--global-border);background-color:snow;max-width:1024px}.cv-card-side-container{display:flex;flex-direction:column;width:100%}.cv-card-date .h6{font-family:var(--secondary-font);text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(-180deg)}.cv-card-title{text-transform:none}@media only screen and (max-width:640px){.cv-card{flex-direction:column}.cv-card-date .h6{writing-mode:initial;transform:none}}.certificate-card{display:flex;flex-direction:column;margin:var(--global-margin);border:var(--global-border);background-color:snow;max-width:1024px}.cv-card-connector{max-width:-moz-fit-content;max-width:fit-content;height:80px;margin-left:calc(3 * var(--base-space));border-left:4px dotted var(--color-accent)}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:10}.overlay-hard{background:var(--gradient-bg);background-size:180% 180%;animation:gradient-animation 4s ease infinite}.overlay-soft{background-color:rgba(72,61,139,.8)}.address{max-width:680px;background-color:snow;box-shadow:var(--solid-shadow);margin:calc(2 * var(--base-space));border:var(--global-border);animation:scale-in-center .2s cubic-bezier(.25,.46,.45,.94) both}@keyframes scale-in-center{0%{transform:scale(0);opacity:1}to{transform:scale(1);opacity:1}}.address div:first-child{display:flex;justify-content:end;background-color:var(--color-main-light)}.address .text-link{color:var(--color-main-dark);margin-bottom:calc(.5 * var(--base-space))}.address a:hover{color:var(--color-accent-2);-webkit-text-decoration-color:var(--color-accent-2);text-decoration-color:var(--color-accent-2)}article:not(.yt-lite){margin:calc(6 * var(--base-space)) 0;padding:var(--global-padding);display:grid;grid-template-columns:1fr 2fr}article img{border:var(--double-border);width:100%}.article-info{border:var(--global-border);background-color:var(--color-light);transform:translateX(-4px)}@media only screen and (max-width:729px){.article-info{transform:translateY(-4px)}article:not(.yt-lite){grid-template-columns:1fr}}.center-vertically{display:flex;justify-content:center;align-items:center}.align-self-center{align-self:center}.align-self-end{align-self:end}.basic-gap{display:flex;flex-direction:column;gap:var(--base-space)}.text-tag{font-size:clamp(.9375rem,.9151rem + .0943vw,1rem);font-weight:400;line-height:150%;letter-spacing:.01em;word-spacing:.05em;text-transform:uppercase}section{margin-top:48px;margin-bottom:48px}.section-padding{padding:var(--global-padding)}.section-margin{margin-left:var(--global-margin);margin-right:var(--global-margin)}.horizontal-space>:not(:last-child){margin-bottom:calc(2 * var(--base-space))}.secondary-footer{padding:var(--global-padding)}.emoji{font-size:1em;color:blue;margin:0 .2em}.bordered{border:var(--double-border)}.extra-padding{padding:calc(3 * var(--base-space)) 0}.color-invert{background-color:var(--color-main-dark)}.color-invert-2,.color-invert-2 .h1,.color-invert-2 .h2,.color-invert-2 .h3,.color-invert-2 .h4,.color-invert-2 .h5,.color-invert-2 .h6,.color-invert-2 p{background-color:var(--color-accent-2-invert);color:var(--color-main-light)}.protect{position:absolute;top:0;left:0;width:100%;height:100%}.slide-card{display:flex;flex-direction:column;background:snow;border:var(--global-border);min-height:100%}.flex-grow-1{flex-grow:1}.three-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:calc(2 * var(--base-space));gap:calc(2 * var(--base-space))}.basic-card{display:flex;flex-direction:column;gap:var(--base-space);margin:calc(1 * var(--base-space)) 0}.basic-card img{width:80px;margin-bottom:calc(.5 * var(--base-space))}.sticky-top{position:-webkit-sticky;position:sticky;top:var(--base-space)}@keyframes show{0%{opacity:0;scale:85%}to{opacity:1;scale:100%}}.appear{view-timeline-name:--image;view-timeline-axis:block;animation-timeline:--image;animation-name:show;animation-range:entry 20% cover 50%;animation-fill-mode:both}@keyframes entrance{0%{opacity:0}to{opacity:1}}.fade-in{view-timeline-name:--entrance;view-timeline-axis:block;animation-timeline:--entrance;animation-name:entrance;animation-range:entry 60% cover 50%;animation-fill-mode:both}.dialog{padding:calc(1.5 * var(--global-padding));border-left:4px solid;border-color:var(--color-accent);width:-moz-fit-content;width:fit-content;background-color:#fff0f5;display:flex;gap:var(--base-space)}.dialog p{color:var(--color-accent);font-weight:300}.more-info{background-color:#fff0f5;padding:var(--global-padding);border:2px solid;border-color:var(--color-accent)}.project-page-header{border-bottom:4px solid #4169e1}.project-card-img{opacity:75%}