@font-face { font-family: "Portfolio Logo"; src: url("../assets/fonts/helvetica-neue-medium.otf") format("opentype"); font-style: normal; font-weight: 500; font-display: swap; }
.site-header { position: absolute; inset: 0 0 auto; height: 64px; z-index: 10; font-size: 15px; line-height: 24px; letter-spacing: -.02em; text-transform: uppercase; }
.site-header > * { position: absolute; top: 17px; white-space: nowrap; }
.site-header .site-name { left: 2.013888889%; top: 29px; font-family: "Portfolio Logo", "Helvetica Neue", sans-serif; font-size: 27px; line-height: 38.642px; font-weight: 500; letter-spacing: -.02em; text-transform: none; text-box-trim: trim-both; text-box-edge: cap alphabetic; }
.site-header .site-nav-link { left: 50%; }
.site-header .site-resume { left: 64.930555556%; }
.site-header .site-gallery { left: 79.652777778%; }
.site-header .language-switch { left: 94.305555556%; top: 17px; }
.header-link { display: block; width: max-content; text-decoration: none; }
.header-link[data-lang="en"] { display: none; }
html[lang="en"] .header-link[data-lang="en"] { display: block; }
.header-link::after { content: ""; position: absolute; left: 0; right: 0; bottom: 5px; height: 1px; background: currentColor; opacity: 0; transition: opacity 160ms ease-out; }
.header-link:is(:hover,:focus-visible)::after { opacity: 1; }
.header-link:focus-visible { outline: 1px solid currentColor; outline-offset: 6px; }
.language-switch { display: flex; align-items: center; gap: 3px; font-size: 12px; line-height: 24px; }
.language-switch button { position: relative; min-width: 16px; height: 24px; cursor: pointer; font: inherit; text-transform: uppercase; }
.language-switch button::after { content: ""; position: absolute; right: 0; bottom: 5px; left: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform 160ms ease; }
.language-switch button[aria-pressed="true"]::after { transform: scaleX(1); }
@media (min-width: 768px) {
  .site-header :is(a,button) { text-decoration: none; border-bottom: 0; background-image: none; transition: color 180ms ease; }
  .site-header :is(a,button)::before, .site-header :is(a,button)::after { content: none; }
  .site-header :is(a,button):focus-visible { outline: 1px solid currentColor; outline-offset: 6px; }
  .site-header .header-link { color: rgb(0 0 0 / 50%); }
  .site-header .header-link[aria-current="page"] { color: #000; }
  .site-header :is(.header-link,.site-name):hover { color: rgb(0 0 0 / 75%); }
  .site-header .language-switch { color: rgb(0 0 0 / 50%); }
  .site-header .language-switch button { color: inherit; }
  .site-header .language-switch button:hover { color: rgb(0 0 0 / 75%); }
  .site-header .language-switch button[aria-pressed="true"] { color: #000; }
  .site-header > *, .site-header .language-switch { top: 18px; }
  .site-header .language-switch { font-size: 15px; letter-spacing: -.02em; }
  .site-header .language-switch button { letter-spacing: inherit; }
}
@media (max-width: 767px) {
  .mobile-header { position: absolute; inset: 0 0 auto; height: 63px; z-index: 60; background: #fff; font-size: 12px; line-height: 24px; letter-spacing: -.02em; }
  .mobile-header .site-name { position: absolute; top: 23px; left: 12px; font-family: "Portfolio Logo", "Helvetica Neue", sans-serif; font-size: 18.371px; line-height: 26.292px; font-weight: 500; letter-spacing: -.02em; text-transform: none; text-box-trim: trim-both; text-box-edge: cap alphabetic; }
  .menu-toggle { position: absolute; top: 19px; left: 357px; z-index: 2; width: 24px; height: 24px; cursor: pointer; }
  .menu-toggle img { position: absolute; display: block; }
  .menu-toggle .menu-icon-open { top: 7px; left: 2px; }
  .menu-toggle .menu-icon-close { top: 0; left: 0; display: none; width: 24px; height: 24px; }
  .menu-open .menu-toggle .menu-icon-open { display: none; }
  .menu-open .menu-toggle .menu-icon-close { display: block; }
  .mobile-menu { position: absolute; top: 63px; left: 0; z-index: 50; visibility: hidden; width: 390px; height: 141px; background: #fff; font-size: 12px; line-height: 26px; transform: translateY(-101%); transition: transform 300ms cubic-bezier(.22,1,.36,1), visibility 0s linear 300ms; }
  .mobile-menu.is-open { visibility: visible; transform: translateY(0); transition-delay: 0s; }
  .mobile-menu .menu-about { position: absolute; top: 14px; left: 12px; }
  .mobile-menu .menu-resume { position: absolute; top: 49px; left: 12px; }
  .mobile-menu .menu-gallery { position: absolute; top: 84px; left: 12px; }
  .mobile-menu .language-switch { position: absolute; top: 16px; left: 180px; }
  .mobile-menu .is-current::after { opacity: 0; }
  .mobile-menu .header-link:is(:hover,:focus-visible)::after { opacity: 1; }
}
@media (min-width: 768px) and (max-width: 1439px) {
  .about-navigation .site-header .language-switch,
  .gallery-navigation .site-header .language-switch { left: auto; right: 2.083333333%; }
}
