.hero{position:relative;display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:8.8rem var(--container-padding) 8rem}@media(min-width:48em){.hero{padding:12rem var(--container-padding) 16rem}}.hero{background:var(--color-bg-inverse);color:var(--color-text-inverse);text-align:center;overflow:hidden}.hero__inner{display:flex;flex-direction:column;align-items:center;gap:clamp(var(--space-3),2.4dvh,var(--space-7));position:relative;z-index:1;max-width:90rem}@media(prefers-reduced-motion:no-preference){.hero__inner>*{animation:hero-drop .7s var(--ease-pop) backwards}.hero__inner>:nth-child(2){animation-delay:90ms}.hero__inner>:nth-child(3){animation-delay:.18s}.hero__inner>:nth-child(4){animation-delay:.27s}.hero__inner>:nth-child(5){animation-delay:.36s}.hero__inner>:nth-child(6){animation-delay:.45s}}.hero__bricks{--brick:2rem;position:absolute;bottom:0;left:50%;width:calc(14*var(--brick));height:calc(3*var(--brick));transform:translateX(-50%);pointer-events:none}@media(min-width:48em){.hero__bricks{--brick:3.2rem}}.hero__piece{position:absolute;bottom:0;left:0}@media(prefers-reduced-motion:no-preference){.hero__piece{animation:hero-fall 1.8s steps(18) backwards;animation-delay:calc(1.2s + var(--i)*.5s)}}.hero__piece--pink{--brick-color:var(--palette-pink)}.hero__piece--yellow{--brick-color:var(--palette-yellow)}.hero__piece--cyan{--brick-color:var(--palette-cyan)}.hero__piece--green{--brick-color:var(--palette-green)}.hero__piece--orange{--brick-color:var(--palette-orange)}.hero__cell{position:absolute;bottom:calc(var(--y)*var(--brick));left:calc(var(--x)*var(--brick));width:var(--brick);height:var(--brick);background:var(--brick-color);border:.2rem solid var(--palette-ink);box-sizing:border-box}.hero__picture{position:relative}.hero__frame{width:min(14rem,19dvh);height:min(14rem,19dvh);overflow:hidden;background:var(--palette-yellow);border:var(--border);border-radius:50%;box-shadow:var(--shadow-yellow);transition:transform var(--duration-base) var(--ease-pop)}@media(min-width:48em){.hero__frame{width:20rem;height:20rem}}.hero__frame--rotating{transform:scale(.92) rotate(12deg)}.hero__image{width:100%;height:100%;object-fit:cover}.hero__switch{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;width:4.4rem;height:4.4rem;padding:0;background:var(--palette-pink);color:var(--palette-ink);border:var(--border);border-radius:50%;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--duration-base) var(--ease-pop)}.hero__switch:hover{transform:rotate(-90deg) scale(1.1)}.hero__title{font-family:var(--font-display);font-size:var(--font-size-hero);font-weight:var(--font-weight-regular);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-display);text-transform:uppercase;color:var(--color-text-highlight);text-shadow:var(--shadow-yellow);overflow-wrap:anywhere}.hero__role{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-base)}@media(min-width:48em){.hero__role{font-size:var(--font-size-xl)}}.hero__hook{font-family:var(--font-display);font-size:var(--font-size-2xl);line-height:1.25;letter-spacing:var(--letter-spacing-display);text-transform:uppercase}.hero__hook-accent{display:inline-block;margin-top:var(--space-3);padding:var(--space-1) var(--space-3);background:var(--palette-pink);color:var(--palette-ink);border:var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);transform:rotate(-1deg)}.hero__socials{display:flex;gap:var(--space-5)}.hero__social{display:flex;padding:var(--space-3);background:var(--palette-cyan);color:var(--palette-ink);border:var(--border);border-radius:50%;box-shadow:var(--shadow-sm);transition:transform var(--duration-base) var(--ease-pop)}.hero__social:hover{color:var(--palette-ink);transform:translate(-.2rem,-.2rem) rotate(-6deg)}.hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}@media(min-width:48em){.hero__actions{gap:var(--space-4)}}.hero__cta{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--palette-yellow);color:var(--palette-ink);border:var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);font-family:var(--font-display);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-display);text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform var(--duration-base) var(--ease-pop),box-shadow var(--duration-base) var(--ease-pop)}.hero__cta:hover{transform:translate(-.2rem,-.2rem);box-shadow:var(--shadow-md)}.hero__cta:active{transform:translate(.3rem,.3rem);box-shadow:none}.hero__cta{justify-content:center}.hero__cta--secondary{background:var(--palette-white)}.hero__cta:hover{color:var(--palette-ink)}.hero__scroll{display:none;position:absolute;bottom:var(--space-4);left:50%;transform:translateX(-50%);color:var(--color-text-highlight)}@media(min-width:48em){.hero__scroll{display:block;bottom:calc(9.6rem + var(--space-4))}}.hero__scroll{animation:hero-bounce 1.6s var(--ease-pop) infinite}.hero :focus-visible{outline-color:var(--palette-yellow)}@keyframes hero-drop{0%{opacity:0;transform:translateY(-4.8rem) scale(.9)}}@keyframes hero-fall{0%{transform:translateY(-150vh)}}@keyframes hero-bounce{50%{transform:translate(-50%,.8rem)}}.navigation{position:fixed;inset:0 0 auto 0;z-index:var(--z-sticky);background:var(--color-bg);border-bottom:var(--border)}.navigation__skip{position:absolute;top:var(--space-2);left:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--palette-yellow);color:var(--palette-ink);border:var(--border);transform:translateY(-20rem)}.navigation__skip:focus{transform:none}.navigation__bar{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-padding);position:relative;display:flex;align-items:center;justify-content:space-between;height:6.4rem}.navigation__brand{color:var(--palette-ink);font-family:var(--font-display);font-size:var(--font-size-lg);letter-spacing:var(--letter-spacing-display);text-decoration:none;text-transform:uppercase}.navigation__brand:hover{color:var(--palette-pink-ink)}.navigation__toggle{display:inline-flex;padding:var(--space-2);background:var(--palette-yellow);border:var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);cursor:pointer}@media(min-width:48em){.navigation__toggle{display:none}}.navigation__list{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;padding:var(--space-3) var(--container-padding) var(--space-5);background:var(--color-bg);border-bottom:var(--border)}.navigation__list--open{display:flex}@media(min-width:48em){.navigation__list{position:static;display:flex;flex-direction:row;gap:var(--space-5);padding:0;background:none;border:0}}.navigation__link{display:block;padding:var(--space-2) 0;color:var(--palette-ink);font-family:var(--font-display);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-display);text-decoration:none;text-transform:uppercase}.navigation__link:hover{color:var(--palette-pink-ink);text-decoration:underline;text-decoration-thickness:.3rem;text-underline-offset:.5rem}.section-heading{margin-bottom:var(--space-8)}.section-heading__title{display:inline-block;font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-regular);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-display);text-transform:uppercase;background:linear-gradient(transparent 60%,var(--palette-yellow) 60%)}.section-heading__subtitle{max-width:70rem;margin-top:var(--space-4);font-size:var(--font-size-lg)}.section-heading--inverse .section-heading__title{color:var(--color-text-highlight);text-shadow:var(--shadow-yellow);background:none}.section-heading--inverse .section-heading__subtitle{color:var(--color-text-inverse)}.tag{display:inline-block;padding:var(--space-1) var(--space-3);border:var(--border);border-radius:var(--radius-pill);color:var(--palette-ink);font-family:var(--font-display);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-display);line-height:var(--line-height-base)}.tag--pink{background:var(--color-brick-pink)}.tag--yellow{background:var(--color-brick-yellow)}.tag--cyan{background:var(--color-brick-cyan)}.tag--green{background:var(--color-brick-green)}.tag--orange{background:var(--color-brick-orange)}.tag--navy{background:var(--color-brick-navy);color:var(--palette-white)}.projects{padding-block:var(--space-9);background:var(--color-bg-inverse);color:var(--color-text-inverse)}.projects__inner{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-padding)}.projects__filters{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-7)}.projects__filter{padding:var(--space-2) var(--space-4);background:var(--palette-white);color:var(--palette-ink);border:var(--border);border-radius:var(--radius-pill);font-family:var(--font-display);font-size:var(--font-size-sm);text-transform:uppercase;cursor:pointer;transition:transform var(--duration-base) var(--ease-pop)}.projects__filter:hover{transform:translateY(-.2rem)}.projects__filter--active{background:var(--palette-yellow);box-shadow:var(--shadow-sm)}.projects__grid{display:grid;grid-gap:var(--space-6);gap:var(--space-6)}@media(min-width:48em){.projects__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:64em){.projects__grid{grid-template-columns:repeat(3,1fr)}}.projects__card{display:flex;flex-direction:column;background:var(--color-surface);color:var(--color-text);border:var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden;transition:transform var(--duration-base) var(--ease-pop),box-shadow var(--duration-base) var(--ease-pop)}.projects__card:hover{transform:translate(-.3rem,-.3rem);box-shadow:var(--shadow-lg)}.projects__profile{display:flex;flex-wrap:wrap;gap:var(--space-2)}.projects__body{display:flex;flex:1 1;flex-direction:column;gap:var(--space-4);padding:var(--space-5)}.projects__title{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-display);text-transform:uppercase}.projects__card--training{background:var(--palette-orange)}.projects__card--training .projects__context{color:var(--palette-ink)}.projects__context{color:var(--palette-navy);font-style:italic}.projects__techs{display:flex;flex-wrap:wrap;gap:var(--space-2)}.projects__link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--palette-pink);color:var(--palette-ink);border:var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);font-family:var(--font-display);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-display);text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform var(--duration-base) var(--ease-pop),box-shadow var(--duration-base) var(--ease-pop)}.projects__link:hover{transform:translate(-.2rem,-.2rem);box-shadow:var(--shadow-md)}.projects__link:active{transform:translate(.3rem,.3rem);box-shadow:none}.projects__link{align-self:flex-start;margin-top:auto}.projects__link:hover{color:var(--palette-ink)}.projects :focus-visible{outline-color:var(--palette-yellow)}.about{padding-block:var(--space-9)}.about__inner{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-padding)}.about__grid{display:grid;grid-gap:var(--space-7);gap:var(--space-7)}@media(min-width:48em){.about__grid{grid-template-columns:1fr 1fr;align-items:center}}.about__text{display:flex;flex-direction:column;gap:var(--space-5);font-size:var(--font-size-lg)}.about__techs{display:flex;flex-wrap:wrap;gap:var(--space-3)}.about__stats{display:flex;flex-direction:column;gap:var(--space-5)}.about__stat{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:transform var(--duration-base) var(--ease-pop),box-shadow var(--duration-base) var(--ease-pop)}.about__stat:hover{transform:translate(-.3rem,-.3rem);box-shadow:var(--shadow-lg)}.about__stat-value{flex-shrink:0;min-width:12rem;padding:var(--space-2) var(--space-4);color:var(--palette-ink);border:var(--border);border-radius:var(--radius-sm);font-family:var(--font-display);font-size:var(--font-size-xl);line-height:var(--line-height-tight);text-align:center;text-transform:uppercase}.about__stat-value--cyan{background:var(--color-brick-cyan)}.about__stat-value--pink{background:var(--color-brick-pink)}.about__stat-value--green{background:var(--color-brick-green)}.contact{padding-block:var(--space-9)}.contact__inner{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-padding);max-width:80rem}.contact__intro{margin-bottom:var(--space-6);font-size:var(--font-size-lg)}.contact__list{flex-direction:column}.contact__item,.contact__list{display:flex;gap:var(--space-4)}.contact__item{align-items:center;padding:var(--space-4);background:var(--color-surface);border:var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.contact__icon{flex-shrink:0;display:flex;padding:var(--space-3);color:var(--palette-ink);border:var(--border);border-radius:var(--radius-sm)}.contact__icon--green{background:var(--color-brick-green)}.contact__icon--cyan{background:var(--color-brick-cyan)}.contact__icon--pink{background:var(--color-brick-pink)}.contact__label{font-family:var(--font-display);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-display);text-transform:uppercase}.contact__socials{display:flex;gap:var(--space-4);margin-top:var(--space-6)}.contact__social{display:flex;padding:var(--space-3);background:var(--palette-yellow);color:var(--palette-ink);border:var(--border);border-radius:50%;box-shadow:var(--shadow-sm);transition:transform var(--duration-base) var(--ease-pop)}.contact__social:hover{color:var(--palette-ink);transform:translate(-.2rem,-.2rem) rotate(-6deg)}.experience{padding-block:var(--space-9)}.experience__inner{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-padding);max-width:90rem}.experience__subtitle{margin-block:var(--space-8) var(--space-6);font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-display);text-transform:uppercase}.experience__timeline{display:flex;flex-direction:column;gap:var(--space-6)}.experience__entry{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);background:var(--color-surface);border:var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.experience__entry:before{content:"";position:absolute;top:var(--space-5);right:var(--space-5);width:2.4rem;height:2.4rem;border:var(--border);border-radius:50%;background:var(--palette-yellow)}.experience__entry--pink:before{background:var(--color-brick-pink)}.experience__entry--cyan:before{background:var(--color-brick-cyan)}.experience__entry--green:before{background:var(--color-brick-green)}.experience__entry-title{padding-right:var(--space-7);font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-display);text-transform:uppercase}.experience__meta{color:var(--palette-navy);font-style:italic}.experience__tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.footer{padding-block:var(--space-8);background:var(--palette-ink);color:var(--palette-white)}.footer__inner{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-padding)}.footer__grid{display:grid;grid-gap:var(--space-6);gap:var(--space-6)}@media(min-width:48em){.footer__grid{grid-template-columns:repeat(3,1fr)}}.footer__brand,.footer__title{margin-bottom:var(--space-3);font-family:var(--font-display);letter-spacing:var(--letter-spacing-display);text-transform:uppercase;color:var(--color-text-highlight)}.footer__brand{font-size:var(--font-size-xl)}.footer__title{font-size:var(--font-size-md);font-weight:var(--font-weight-regular)}.footer__contact,.footer__links{display:flex;flex-direction:column;gap:var(--space-2);font-style:normal}.footer__link{color:var(--palette-white)}.footer__link:hover{color:var(--palette-yellow)}.footer__legal{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-7);padding-top:var(--space-5);border-top:var(--border-width) solid var(--palette-navy);font-size:var(--font-size-sm)}.footer :focus-visible{outline-color:var(--palette-yellow)}.offers{padding-block:var(--space-9);background:var(--palette-white);border-block:var(--border)}.offers__inner{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-padding)}.offers__grid{display:grid;grid-gap:var(--space-6);gap:var(--space-6)}@media(min-width:48em){.offers__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:64em){.offers__grid{grid-template-columns:repeat(3,1fr)}}.offers__card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);color:var(--palette-ink);border:var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:transform var(--duration-base) var(--ease-pop)}.offers__card:hover{transform:translate(-.2rem,-.2rem) rotate(-.5deg)}.offers__card--pink{background:var(--color-brick-pink)}.offers__card--cyan{background:var(--color-brick-cyan)}.offers__card--yellow{background:var(--color-brick-yellow)}.offers__delay{font-family:var(--font-display);font-size:var(--font-size-2xl);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-display);text-transform:uppercase}.offers__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.offers__description{flex:1 1}.offers__profile{align-self:flex-start;padding:0 var(--space-3);background:var(--palette-ink);color:var(--palette-white);border-radius:var(--radius-pill);font-family:var(--font-display);font-size:var(--font-size-xs);text-transform:uppercase}.offers__note{margin-top:var(--space-5);color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center}.skills{padding-block:var(--space-9);background:var(--palette-white);border-block:var(--border)}.skills__inner{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-padding)}.skills__grid{display:grid;grid-gap:var(--space-6);gap:var(--space-6)}@media(min-width:48em){.skills__grid{grid-template-columns:repeat(2,1fr)}}.skills__card{padding:var(--space-5);background:var(--color-bg);border:var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.skills__card-title{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-display);text-transform:uppercase}.skills__icon{display:flex;padding:var(--space-2);color:var(--palette-ink);border:var(--border);border-radius:var(--radius-sm)}.skills__icon--green{background:var(--color-brick-green)}.skills__icon--cyan{background:var(--color-brick-cyan)}.skills__icon--pink{background:var(--color-brick-pink)}.skills__icon--orange{background:var(--color-brick-orange)}.skills__icon--yellow{background:var(--color-brick-yellow)}.skills__list{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-2);gap:var(--space-2)}.skills__list .tag{display:block;text-align:center}