@charset "UTF-8";
@import url("http://fast.fonts.net/t/1.css?apiType=css&projectid=35ec167d-b700-4d30-a461-d3d8ba16e110");
@font-face {
  font-family: "Proba Pro W01_n1";
  src: url("../fonts/876b4e64-a7e7-4a78-bdc1-b354e720ce69.eot?#iefix") format("eot");
}
@font-face {
  font-family: "Proba Pro W01";
  font-style: normal;
  font-weight: 100;
  src: url("../fonts/876b4e64-a7e7-4a78-bdc1-b354e720ce69.eot?#iefix");
  src: url("../fonts/876b4e64-a7e7-4a78-bdc1-b354e720ce69.eot?#iefix") format("eot"), url("../fonts/fdd4f182-f968-42fa-a72c-744f3ff27bc8.woff2") format("woff2"), url("../fonts/6a77c29b-2ff5-43d0-90f8-495d83004b3b.woff") format("woff"), url("../fonts/570cc714-8bcd-4967-8577-7d6241b74883.ttf") format("truetype"), url("../fonts/0869dafd-e433-4148-bc83-1c7819642387.svg#0869dafd-e433-4148-bc83-1c7819642387") format("svg");
}
@font-face {
  font-family: "Proba Pro W01_i1";
  src: url("../fonts/f02778c3-2dfe-4852-a53c-ac2315225d46.eot?#iefix") format("eot");
}
@font-face {
  font-family: "Proba Pro W01";
  font-style: italic;
  font-weight: 100;
  src: url("../fonts/f02778c3-2dfe-4852-a53c-ac2315225d46.eot?#iefix");
  src: url("../fonts/f02778c3-2dfe-4852-a53c-ac2315225d46.eot?#iefix") format("eot"), url("../fonts/684743b9-28ad-4425-bee0-84b18fe26304.woff2") format("woff2"), url("../fonts/ce849112-fea8-4723-ae38-3a0f2ce6eaa8.woff") format("woff"), url("../fonts/18182694-d350-42bc-a00a-10e3670d590f.ttf") format("truetype"), url("../fonts/c81d0a2e-0ce5-4c19-9d4c-c7cab5e373b2.svg#c81d0a2e-0ce5-4c19-9d4c-c7cab5e373b2") format("svg");
}
@font-face {
  font-family: "Proba Pro W01_n2";
  src: url("../fonts/1c4a9259-aba1-4b26-99da-167399ccd516.eot?#iefix") format("eot");
}
@font-face {
  font-family: "Proba Pro W01";
  font-style: normal;
  font-weight: 200;
  src: url("../fonts/1c4a9259-aba1-4b26-99da-167399ccd516.eot?#iefix");
  src: url("../fonts/1c4a9259-aba1-4b26-99da-167399ccd516.eot?#iefix") format("eot"), url("../fonts/a68bbb74-8dc7-49e4-b715-ee9d2191db62.woff2") format("woff2"), url("../fonts/4721c5d1-d32a-4c98-b31c-c38dc4d7d4b6.woff") format("woff"), url("../fonts/ee106998-613e-4bcb-b433-40f757862854.ttf") format("truetype"), url("../fonts/811abd2d-f864-45de-9b52-debd132a8e55.svg#811abd2d-f864-45de-9b52-debd132a8e55") format("svg");
}
@font-face {
  font-family: "Proba Pro W01_i2";
  src: url("../fonts/b5fd9d18-b2dc-4f4f-9050-68ea7172956c.eot?#iefix") format("eot");
}
@font-face {
  font-family: "Proba Pro W01";
  font-style: italic;
  font-weight: 200;
  src: url("../fonts/b5fd9d18-b2dc-4f4f-9050-68ea7172956c.eot?#iefix");
  src: url("../fonts/b5fd9d18-b2dc-4f4f-9050-68ea7172956c.eot?#iefix") format("eot"), url("../fonts/733857db-f09e-418e-92c8-5b7befdc90a1.woff2") format("woff2"), url("../fonts/34508d43-56ab-48bc-8027-0bdfcff3b98a.woff") format("woff"), url("../fonts/f50ac13c-e829-42c2-b7a8-8f0ecbbe1105.ttf") format("truetype"), url("../fonts/62d8d56f-9c91-4630-bc2d-7292ede89483.svg#62d8d56f-9c91-4630-bc2d-7292ede89483") format("svg");
}
@font-face {
  font-family: "Proba Pro W01_n3";
  src: url("../fonts/c84d6940-7b48-4056-8835-c0b30e63d246.eot?#iefix") format("eot");
}
@font-face {
  font-family: "Proba Pro W01";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/c84d6940-7b48-4056-8835-c0b30e63d246.eot?#iefix");
  src: url("../fonts/c84d6940-7b48-4056-8835-c0b30e63d246.eot?#iefix") format("eot"), url("../fonts/9b798c70-55d3-40d9-930b-b8bf15140fa5.woff2") format("woff2"), url("../fonts/4833d369-2466-4f20-90a2-2dc67da099cb.woff") format("woff"), url("../fonts/24a86e0b-0e16-478e-b1b6-fcefa5d8cf25.ttf") format("truetype"), url("../fonts/80a1e4c8-8358-4716-ad3c-c290bd447d7a.svg#80a1e4c8-8358-4716-ad3c-c290bd447d7a") format("svg");
}
@font-face {
  font-family: "Proba Pro W01_i3";
  src: url("../fonts/83391331-5543-43bd-9036-09f8594f2b33.eot?#iefix") format("eot");
}
@font-face {
  font-family: "Proba Pro W01";
  font-style: italic;
  font-weight: 300;
  src: url("../fonts/83391331-5543-43bd-9036-09f8594f2b33.eot?#iefix");
  src: url("../fonts/83391331-5543-43bd-9036-09f8594f2b33.eot?#iefix") format("eot"), url("../fonts/e1df2433-a7d4-4c15-ad3d-ad9992dd1e9a.woff2") format("woff2"), url("../fonts/58af206c-4125-4ed1-964c-3f2a565c57b3.woff") format("woff"), url("../fonts/1ee9eb38-03f4-40b8-9cad-3f127f0a8e62.ttf") format("truetype"), url("../fonts/ef65dcdb-9555-4ccb-9414-2d839073053e.svg#ef65dcdb-9555-4ccb-9414-2d839073053e") format("svg");
}
@font-face {
  font-family: "Proba Pro W01_n4";
  src: url("../fonts/ca56d6a6-ea85-41be-9dcf-c6a2d419e03a.eot?#iefix") format("eot");
}
@font-face {
  font-family: "Proba Pro W01";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/ca56d6a6-ea85-41be-9dcf-c6a2d419e03a.eot?#iefix");
  src: url("../fonts/ca56d6a6-ea85-41be-9dcf-c6a2d419e03a.eot?#iefix") format("eot"), url("../fonts/c729c594-aaa8-40c8-bb7b-e22095026114.woff2") format("woff2"), url("../fonts/d0256a34-2988-45d7-8093-104216fc319d.woff") format("woff"), url("../fonts/fed2d287-5d32-4e18-9d77-dea82f232e57.ttf") format("truetype"), url("../fonts/8c67e60b-8e8e-4afc-9f04-c103559ce97c.svg#8c67e60b-8e8e-4afc-9f04-c103559ce97c") format("svg");
}
@font-face {
  font-family: "Proba Pro W01_i4";
  src: url("../fonts/8910643d-edba-40a7-9d06-d7e5f2d58267.eot?#iefix") format("eot");
}
@font-face {
  font-family: "Proba Pro W01";
  font-style: italic;
  font-weight: 400;
  src: url("../fonts/8910643d-edba-40a7-9d06-d7e5f2d58267.eot?#iefix");
  src: url("../fonts/8910643d-edba-40a7-9d06-d7e5f2d58267.eot?#iefix") format("eot"), url("../fonts/f211b78a-fd4d-4434-8188-d7d641c533da.woff2") format("woff2"), url("../fonts/42dad980-6822-4538-b14d-24f7edc8bbc8.woff") format("woff"), url("../fonts/c3e8f4a5-d09a-4b13-b013-1507a2be977d.ttf") format("truetype"), url("../fonts/802b9bb5-c701-4fca-92e6-db3015e59b7d.svg#802b9bb5-c701-4fca-92e6-db3015e59b7d") format("svg");
}
@font-face {
  font-family: "Proba Pro W01_n5";
  src: url("../fonts/3b4da2ec-8e53-4b8d-bdec-714bbb02e076.eot?#iefix") format("eot");
}
@font-face {
  font-family: "Proba Pro W01";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/3b4da2ec-8e53-4b8d-bdec-714bbb02e076.eot?#iefix");
  src: url("../fonts/3b4da2ec-8e53-4b8d-bdec-714bbb02e076.eot?#iefix") format("eot"), url("../fonts/608f7df5-8601-4459-953b-05f016b5440b.woff2") format("woff2"), url("../fonts/fdb8d9a1-706a-43f1-9b12-5e87cea644a3.woff") format("woff"), url("../fonts/771ff675-f76c-42b5-a29b-7be0bc7bb144.ttf") format("truetype"), url("../fonts/ef5fdc47-dd49-4d8f-bde6-a835e955f21e.svg#ef5fdc47-dd49-4d8f-bde6-a835e955f21e") format("svg");
}
@font-face {
  font-family: "Proba Pro W01_i5";
  src: url("../fonts/defe4f4f-2a42-45c8-9b16-3afbd040f231.eot?#iefix") format("eot");
}
@font-face {
  font-family: "Proba Pro W01";
  font-style: italic;
  font-weight: 500;
  src: url("../fonts/defe4f4f-2a42-45c8-9b16-3afbd040f231.eot?#iefix");
  src: url("../fonts/defe4f4f-2a42-45c8-9b16-3afbd040f231.eot?#iefix") format("eot"), url("../fonts/da37f530-b57a-4972-a790-74eb04347d50.woff2") format("woff2"), url("../fonts/caef1298-748a-48f2-9338-27f3bddcee89.woff") format("woff"), url("../fonts/585f41e2-ba54-4be3-9bc3-7f4b43fa110d.ttf") format("truetype"), url("../fonts/a280f523-3482-46ec-92ae-d0754bf8ec42.svg#a280f523-3482-46ec-92ae-d0754bf8ec42") format("svg");
}
@font-face {
  font-family: "Proba Pro W01_n6";
  src: url("../fonts/e7fbbd4c-e948-49c8-b9b4-32b24abc4abf.eot?#iefix") format("eot");
}
@font-face {
  font-family: "Proba Pro W01";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/e7fbbd4c-e948-49c8-b9b4-32b24abc4abf.eot?#iefix");
  src: url("../fonts/e7fbbd4c-e948-49c8-b9b4-32b24abc4abf.eot?#iefix") format("eot"), url("../fonts/1d97ad64-e2b6-4551-be90-edb33d26ab26.woff2") format("woff2"), url("../fonts/948f0dca-ee24-4b8d-9d39-e6647e0c10bd.woff") format("woff"), url("../fonts/e8d8902e-4597-488e-adb1-8cdd3ae0a63b.ttf") format("truetype"), url("../fonts/317168fd-e500-44ab-a340-5615696f53a2.svg#317168fd-e500-44ab-a340-5615696f53a2") format("svg");
}
@font-face {
  font-family: "Proba Pro W01_i6";
  src: url("../fonts/6f5e2651-f3c2-4e38-b6e3-5e72dc48898b.eot?#iefix") format("eot");
}
@font-face {
  font-family: "Proba Pro W01";
  font-style: italic;
  font-weight: 600;
  src: url("../fonts/6f5e2651-f3c2-4e38-b6e3-5e72dc48898b.eot?#iefix");
  src: url("../fonts/6f5e2651-f3c2-4e38-b6e3-5e72dc48898b.eot?#iefix") format("eot"), url("../fonts/fdf8765b-9cb8-483b-b5c3-1cc7146fb54f.woff2") format("woff2"), url("../fonts/3b454eab-05ee-46da-954b-24cfb42655de.woff") format("woff"), url("../fonts/5a12306f-915e-4b7c-9bd9-ff80ed06180f.ttf") format("truetype"), url("../fonts/ac693bbd-b70d-4c84-aa72-785527e83445.svg#ac693bbd-b70d-4c84-aa72-785527e83445") format("svg");
}
@font-face {
  font-family: "Proba Pro W01_n7";
  src: url("../fonts/f2aa8ca9-2ed7-4360-b91f-03440db255e0.eot?#iefix") format("eot");
}
@font-face {
  font-family: "Proba Pro W01";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/f2aa8ca9-2ed7-4360-b91f-03440db255e0.eot?#iefix");
  src: url("../fonts/f2aa8ca9-2ed7-4360-b91f-03440db255e0.eot?#iefix") format("eot"), url("../fonts/3bc5c864-8261-4437-9d41-4c9730a80cdc.woff2") format("woff2"), url("../fonts/dc599214-8fb0-45bc-857b-774c98893c2e.woff") format("woff"), url("../fonts/c3d3aab3-17a6-4d12-acfe-50d926275731.ttf") format("truetype"), url("../fonts/8eeb3590-25ac-4d03-b9cf-9a5a151e18d4.svg#8eeb3590-25ac-4d03-b9cf-9a5a151e18d4") format("svg");
}
@font-face {
  font-family: "Proba Pro W01_i7";
  src: url("../fonts/064bf6d7-724b-4182-8b66-f2e9125c9c6e.eot?#iefix") format("eot");
}
@font-face {
  font-family: "Proba Pro W01";
  font-style: italic;
  font-weight: 700;
  src: url("../fonts/064bf6d7-724b-4182-8b66-f2e9125c9c6e.eot?#iefix");
  src: url("../fonts/064bf6d7-724b-4182-8b66-f2e9125c9c6e.eot?#iefix") format("eot"), url("../fonts/24567192-78d1-4fcf-84be-05d88fafb457.woff2") format("woff2"), url("../fonts/d5e38cca-491f-4b1e-9877-876743c50258.woff") format("woff"), url("../fonts/cf541a6e-1ef1-4303-a114-ea9560e7c3dc.ttf") format("truetype"), url("../fonts/952db4c4-b7dd-4a60-bdaf-18ac441fee68.svg#952db4c4-b7dd-4a60-bdaf-18ac441fee68") format("svg");
}
.theme-toggle {
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(1rem, 3vw, 1.2rem);
  font-weight: normal;
  height: clamp(2.5rem, 6vw, 3rem);
  line-height: 1;
  width: clamp(2.5rem, 6vw, 3rem);
  text-decoration: none;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out, border-color 0.3s ease-in-out;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  position: fixed;
  cursor: pointer;
  z-index: 1050;
  font-family: "Proba Pro W01", "Helvetica Neue", "Helvetica", sans-serif;
  top: clamp(1rem, 4vw, 2rem);
  right: clamp(1rem, 4vw, 2rem);
  background: #000000;
  color: #ffffff;
  border: 2px solid #000000;
}
.theme-toggle:hover, .theme-toggle:active {
  background: #ffffff;
  color: #000000;
  border-color: #000000;
  outline: none;
  transition: none;
}
.theme-toggle:focus {
  outline: none;
}
.dark-theme .theme-toggle {
  background: #ffffff;
  color: #000000;
  border-color: #ffffff;
}
.dark-theme .theme-toggle:hover, .dark-theme .theme-toggle:active {
  background: #000000;
  color: #ffffff;
  border-color: #ffffff;
  outline: none;
  transition: none;
}
.dark-theme .theme-toggle:focus {
  outline: none;
}
.theme-toggle .theme-toggle-icon {
  transition: transform 0.3s ease-in-out;
  display: block;
  line-height: 1;
  color: inherit;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.dark-theme .theme-toggle .theme-toggle-icon {
  transform: rotate(180deg);
}

.logo {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc( * );
  font-weight: 100;
  letter-spacing: calc( * -0.05);
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out, border-color 0.3s ease-in-out;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  position: relative;
  font-family: "Proba Pro W01", "Helvetica Neue", "Helvetica", sans-serif;
  background: #000000;
  color: #ffffff;
  border: 1px solid #000000;
}
@media (min-width: 768px) {
  .logo {
    border-width: 2px;
  }
}
.logo:hover, .logo:active, .logo:focus {
  background: #ffffff;
  color: #000000;
  border-color: #000000;
  outline: none;
}
.logo:hover a,
.logo:hover a:hover,
.logo:hover a:active,
.logo:hover a:focus,
.logo:hover a:visited,
.logo:hover em,
.logo:hover span,
.logo:hover strong,
.logo:hover i,
.logo:hover b, .logo:active a,
.logo:active a:hover,
.logo:active a:active,
.logo:active a:focus,
.logo:active a:visited,
.logo:active em,
.logo:active span,
.logo:active strong,
.logo:active i,
.logo:active b, .logo:focus a,
.logo:focus a:hover,
.logo:focus a:active,
.logo:focus a:focus,
.logo:focus a:visited,
.logo:focus em,
.logo:focus span,
.logo:focus strong,
.logo:focus i,
.logo:focus b {
  color: #000000;
  background: transparent;
}
.dark-theme .logo {
  background: #ffffff;
  color: #000000;
  border-color: #ffffff;
}
.dark-theme .logo:hover, .dark-theme .logo:active, .dark-theme .logo:focus {
  background: #000000;
  color: #ffffff;
  border-color: #ffffff;
  outline: none;
}
.dark-theme .logo:hover a,
.dark-theme .logo:hover a:hover,
.dark-theme .logo:hover a:active,
.dark-theme .logo:hover a:focus,
.dark-theme .logo:hover a:visited,
.dark-theme .logo:hover em,
.dark-theme .logo:hover span,
.dark-theme .logo:hover strong,
.dark-theme .logo:hover i,
.dark-theme .logo:hover b, .dark-theme .logo:active a,
.dark-theme .logo:active a:hover,
.dark-theme .logo:active a:active,
.dark-theme .logo:active a:focus,
.dark-theme .logo:active a:visited,
.dark-theme .logo:active em,
.dark-theme .logo:active span,
.dark-theme .logo:active strong,
.dark-theme .logo:active i,
.dark-theme .logo:active b, .dark-theme .logo:focus a,
.dark-theme .logo:focus a:hover,
.dark-theme .logo:focus a:active,
.dark-theme .logo:focus a:focus,
.dark-theme .logo:focus a:visited,
.dark-theme .logo:focus em,
.dark-theme .logo:focus span,
.dark-theme .logo:focus strong,
.dark-theme .logo:focus i,
.dark-theme .logo:focus b {
  color: #ffffff;
  background: transparent;
}
.dark-theme .logo a,
.dark-theme .logo a:visited,
.dark-theme .logo a:hover,
.dark-theme .logo a:active,
.dark-theme .logo a:focus,
.dark-theme .logo em,
.dark-theme .logo span,
.dark-theme .logo strong,
.dark-theme .logo i,
.dark-theme .logo b {
  color: #000000;
  background: transparent;
}
.logo a,
.logo a:visited,
.logo a:hover,
.logo a:active,
.logo a:focus {
  color: inherit;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  outline: none;
  background: transparent;
  border: none;
  z-index: 1;
}
.logo em,
.logo span,
.logo strong,
.logo i,
.logo b {
  display: block;
  line-height: 1;
  font-weight: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-align: center;
  width: 100%;
  transform: translate(-0.08em, -0.05em);
  font-family: inherit;
  position: relative;
  z-index: 2;
  background: transparent;
  border: none;
  outline: none;
}

.logo-main {
  border-radius: clamp(4rem, 12vw, 8rem);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(clamp(4rem, 12vw, 8rem) * 0.6);
  font-weight: 100;
  height: clamp(4rem, 12vw, 8rem);
  letter-spacing: calc(clamp(4rem, 12vw, 8rem) * -0.05);
  line-height: 1;
  width: clamp(4rem, 12vw, 8rem);
  text-decoration: none;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out, border-color 0.3s ease-in-out;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  position: relative;
  font-family: "Proba Pro W01", "Helvetica Neue", "Helvetica", sans-serif;
  background: #000000;
  color: #ffffff;
  border: 1px solid #000000;
}
@media (min-width: 768px) {
  .logo-main {
    border-width: 2px;
  }
}
.logo-main:hover, .logo-main:active, .logo-main:focus {
  background: #ffffff;
  color: #000000;
  border-color: #000000;
  outline: none;
}
.logo-main:hover a,
.logo-main:hover a:hover,
.logo-main:hover a:active,
.logo-main:hover a:focus,
.logo-main:hover a:visited,
.logo-main:hover em,
.logo-main:hover span,
.logo-main:hover strong,
.logo-main:hover i,
.logo-main:hover b, .logo-main:active a,
.logo-main:active a:hover,
.logo-main:active a:active,
.logo-main:active a:focus,
.logo-main:active a:visited,
.logo-main:active em,
.logo-main:active span,
.logo-main:active strong,
.logo-main:active i,
.logo-main:active b, .logo-main:focus a,
.logo-main:focus a:hover,
.logo-main:focus a:active,
.logo-main:focus a:focus,
.logo-main:focus a:visited,
.logo-main:focus em,
.logo-main:focus span,
.logo-main:focus strong,
.logo-main:focus i,
.logo-main:focus b {
  color: #000000;
  background: transparent;
}
.dark-theme .logo-main {
  background: #ffffff;
  color: #000000;
  border-color: #ffffff;
}
.dark-theme .logo-main:hover, .dark-theme .logo-main:active, .dark-theme .logo-main:focus {
  background: #000000;
  color: #ffffff;
  border-color: #ffffff;
  outline: none;
}
.dark-theme .logo-main:hover a,
.dark-theme .logo-main:hover a:hover,
.dark-theme .logo-main:hover a:active,
.dark-theme .logo-main:hover a:focus,
.dark-theme .logo-main:hover a:visited,
.dark-theme .logo-main:hover em,
.dark-theme .logo-main:hover span,
.dark-theme .logo-main:hover strong,
.dark-theme .logo-main:hover i,
.dark-theme .logo-main:hover b, .dark-theme .logo-main:active a,
.dark-theme .logo-main:active a:hover,
.dark-theme .logo-main:active a:active,
.dark-theme .logo-main:active a:focus,
.dark-theme .logo-main:active a:visited,
.dark-theme .logo-main:active em,
.dark-theme .logo-main:active span,
.dark-theme .logo-main:active strong,
.dark-theme .logo-main:active i,
.dark-theme .logo-main:active b, .dark-theme .logo-main:focus a,
.dark-theme .logo-main:focus a:hover,
.dark-theme .logo-main:focus a:active,
.dark-theme .logo-main:focus a:focus,
.dark-theme .logo-main:focus a:visited,
.dark-theme .logo-main:focus em,
.dark-theme .logo-main:focus span,
.dark-theme .logo-main:focus strong,
.dark-theme .logo-main:focus i,
.dark-theme .logo-main:focus b {
  color: #ffffff;
  background: transparent;
}
.dark-theme .logo-main a,
.dark-theme .logo-main a:visited,
.dark-theme .logo-main a:hover,
.dark-theme .logo-main a:active,
.dark-theme .logo-main a:focus,
.dark-theme .logo-main em,
.dark-theme .logo-main span,
.dark-theme .logo-main strong,
.dark-theme .logo-main i,
.dark-theme .logo-main b {
  color: #000000;
  background: transparent;
}
.logo-main a,
.logo-main a:visited,
.logo-main a:hover,
.logo-main a:active,
.logo-main a:focus {
  color: inherit;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  outline: none;
  background: transparent;
  border: none;
  z-index: 1;
}
.logo-main em,
.logo-main span,
.logo-main strong,
.logo-main i,
.logo-main b {
  display: block;
  line-height: 1;
  font-weight: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-align: center;
  width: 100%;
  transform: translate(-0.08em, -0.05em);
  font-family: inherit;
  position: relative;
  z-index: 2;
  background: transparent;
  border: none;
  outline: none;
}

.logo-small {
  border-radius: clamp(2rem, 6vw, 3rem);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(clamp(2rem, 6vw, 3rem) * 0.6);
  font-weight: 100;
  height: clamp(2rem, 6vw, 3rem);
  letter-spacing: calc(clamp(2rem, 6vw, 3rem) * -0.05);
  line-height: 1;
  width: clamp(2rem, 6vw, 3rem);
  text-decoration: none;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out, border-color 0.3s ease-in-out;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  position: relative;
  font-family: "Proba Pro W01", "Helvetica Neue", "Helvetica", sans-serif;
  background: #000000;
  color: #ffffff;
  border: 1px solid #000000;
}
.logo-small:hover, .logo-small:active, .logo-small:focus {
  background: #ffffff;
  color: #000000;
  border-color: #000000;
  outline: none;
}
.logo-small:hover a,
.logo-small:hover a:hover,
.logo-small:hover a:active,
.logo-small:hover a:focus,
.logo-small:hover a:visited,
.logo-small:hover em,
.logo-small:hover span,
.logo-small:hover strong,
.logo-small:hover i,
.logo-small:hover b, .logo-small:active a,
.logo-small:active a:hover,
.logo-small:active a:active,
.logo-small:active a:focus,
.logo-small:active a:visited,
.logo-small:active em,
.logo-small:active span,
.logo-small:active strong,
.logo-small:active i,
.logo-small:active b, .logo-small:focus a,
.logo-small:focus a:hover,
.logo-small:focus a:active,
.logo-small:focus a:focus,
.logo-small:focus a:visited,
.logo-small:focus em,
.logo-small:focus span,
.logo-small:focus strong,
.logo-small:focus i,
.logo-small:focus b {
  color: #000000;
  background: transparent;
}
.dark-theme .logo-small {
  background: #ffffff;
  color: #000000;
  border-color: #ffffff;
}
.dark-theme .logo-small:hover, .dark-theme .logo-small:active, .dark-theme .logo-small:focus {
  background: #000000;
  color: #ffffff;
  border-color: #ffffff;
  outline: none;
}
.dark-theme .logo-small:hover a,
.dark-theme .logo-small:hover a:hover,
.dark-theme .logo-small:hover a:active,
.dark-theme .logo-small:hover a:focus,
.dark-theme .logo-small:hover a:visited,
.dark-theme .logo-small:hover em,
.dark-theme .logo-small:hover span,
.dark-theme .logo-small:hover strong,
.dark-theme .logo-small:hover i,
.dark-theme .logo-small:hover b, .dark-theme .logo-small:active a,
.dark-theme .logo-small:active a:hover,
.dark-theme .logo-small:active a:active,
.dark-theme .logo-small:active a:focus,
.dark-theme .logo-small:active a:visited,
.dark-theme .logo-small:active em,
.dark-theme .logo-small:active span,
.dark-theme .logo-small:active strong,
.dark-theme .logo-small:active i,
.dark-theme .logo-small:active b, .dark-theme .logo-small:focus a,
.dark-theme .logo-small:focus a:hover,
.dark-theme .logo-small:focus a:active,
.dark-theme .logo-small:focus a:focus,
.dark-theme .logo-small:focus a:visited,
.dark-theme .logo-small:focus em,
.dark-theme .logo-small:focus span,
.dark-theme .logo-small:focus strong,
.dark-theme .logo-small:focus i,
.dark-theme .logo-small:focus b {
  color: #ffffff;
  background: transparent;
}
.dark-theme .logo-small a,
.dark-theme .logo-small a:visited,
.dark-theme .logo-small a:hover,
.dark-theme .logo-small a:active,
.dark-theme .logo-small a:focus,
.dark-theme .logo-small em,
.dark-theme .logo-small span,
.dark-theme .logo-small strong,
.dark-theme .logo-small i,
.dark-theme .logo-small b {
  color: #000000;
  background: transparent;
}
.logo-small a,
.logo-small a:visited,
.logo-small a:hover,
.logo-small a:active,
.logo-small a:focus {
  color: inherit;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  outline: none;
  background: transparent;
  border: none;
  z-index: 1;
}
.logo-small em,
.logo-small span,
.logo-small strong,
.logo-small i,
.logo-small b {
  display: block;
  line-height: 1;
  font-weight: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-align: center;
  width: 100%;
  transform: translate(-0.08em, -0.05em);
  font-family: inherit;
  position: relative;
  z-index: 2;
  background: transparent;
  border: none;
  outline: none;
}

/* Global box-sizing fix to prevent width calculation issues */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Prevent text overflow by allowing proper word breaking */
p,
li,
span,
div,
td {
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
}

/* Specifically target experience content for aggressive word breaking */
.experience p,
.experience li,
#experiences li,
#experiences p {
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
  max-width: 100%;
}

.no-decoration {
  text-decoration: none;
}

@page {
  size: A4;
  margin: 14mm 11mm;
}
.r-cv,
.r-cv * {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.r-cv {
  --ink: #1c1c1c;
  --muted: #6a6a6a;
  --faint: #9a9a9a;
  --rule: #dcdcdc;
  --rule-soft: #ececec;
  --body: #2a2a2a;
  --surface: #fff;
  font-family: "Proba Pro W01", "Helvetica Neue", "Helvetica", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: var(--ink);
  font-size: 9.8pt;
  line-height: 1.5;
  font-weight: 400;
}
.r-cv p {
  margin: 0;
}
.r-cv a {
  color: inherit;
  text-decoration: none;
}
.r-cv a[href] {
  color: var(--ink);
  text-decoration: underline;
  text-decoration-color: var(--faint);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
.r-cv .link-text-screen {
  display: none;
}
.r-cv .link-text-print {
  display: inline;
}
.r-cv svg {
  display: block;
}

.r-head {
  display: grid;
  grid-template-columns: 1.85fr 1fr;
  gap: 30px;
  align-items: start;
  max-width: none;
  margin: 0 0 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--rule);
}

.r-head__id {
  min-width: 0;
}

.r-name {
  margin: 0;
  font-size: 30pt;
  font-weight: 300;
  letter-spacing: 0.005em;
  line-height: 1.05;
}

.r-role,
.r-loc {
  margin: 18px 0 0;
  font-size: 8.2pt;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--muted);
}

.r-loc {
  margin-top: 16px;
  color: var(--faint);
}

.r-contacts {
  list-style: none;
  margin: 2px 0 0;
  padding: 0;
}

.r-contacts__item {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  font-size: 9.2pt;
  white-space: nowrap;
}

.r-contacts__item:last-child {
  margin-bottom: 0;
}

.r-contacts__icon {
  display: inline-flex;
  width: 12px;
  height: 12px;
  color: var(--muted);
}
.r-contacts__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.r-h2 {
  margin: 0 0 22px;
  padding-bottom: 6px;
  font-size: 8.6pt;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--muted);
  border-bottom: 1px solid var(--rule-soft);
  break-after: avoid;
}

.r-subhead {
  margin-top: 22px;
}

.r-sec {
  margin-bottom: 44px;
}

.r-sec:last-child {
  margin-bottom: 0;
}

.r-cols {
  display: grid;
  grid-template-columns: 1.85fr 1fr;
  gap: 30px;
  align-items: start;
  margin-bottom: 44px;
}

.r-main,
.r-aside {
  min-width: 0;
}

.r-summary {
  color: var(--body);
}

.r-proj {
  break-inside: avoid;
}

.r-proj--sep {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid var(--rule-soft);
}

.r-proj__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}

.r-proj__name {
  margin: 0;
  font-size: 11pt;
  font-weight: 700;
}

.r-proj__year {
  font-size: 8.6pt;
  color: var(--faint);
  white-space: nowrap;
}

.r-proj__sub {
  margin-top: 2px;
  color: var(--muted);
}

.r-cv .r-proj__intro {
  margin-top: 1.5em;
}

.r-proj__link {
  margin-top: 5px;
  font-size: 9pt;
  color: var(--muted);
}

.r-bullets {
  margin: 7px 0 0;
  padding-left: 15px;
}
.r-bullets li {
  margin-bottom: 4px;
}

.r-stack {
  margin-top: 9px;
  font-size: 8.4pt;
  color: var(--muted);
  line-height: 1.45;
}
.r-stack .r-stack__k {
  font-weight: 700;
  color: var(--ink);
  margin-right: 3px;
}
.r-stack .r-stack__k::after {
  content: ":";
}

.r-skill {
  margin-bottom: 16px;
}

.r-skill:last-child {
  margin-bottom: 0;
}

.r-skill__cat {
  margin: 0 0 3px;
  font-size: 8pt;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink);
}

.r-skill__items {
  font-size: 9.2pt;
  color: var(--muted);
  line-height: 1.55;
}

.r-timeline {
  position: relative;
  padding-left: 20px;
}

.r-timeline::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 5px;
  bottom: 6px;
  width: 1px;
  background: var(--rule);
}

.r-exp {
  position: relative;
  margin-bottom: 19px;
  break-inside: avoid;
}

.r-exp:first-child {
  break-inside: auto;
}

.r-exp:last-child {
  margin-bottom: 0;
}

.r-exp::before {
  content: "";
  position: absolute;
  left: -20px;
  top: 3px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  border: 1.5px solid var(--faint);
  background: var(--surface);
}

.r-exp__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}

.r-exp__title {
  margin: 0;
  font-size: 11pt;
  font-weight: 700;
}

.r-exp__role {
  font-weight: 700;
  font-style: normal;
}

.r-exp__dates {
  font-size: 8.6pt;
  color: var(--faint);
  white-space: nowrap;
}

.r-sub {
  margin-top: 10px;
  break-inside: avoid;
}

.r-sub + .r-sub {
  margin-top: 11px;
  padding-top: 11px;
  border-top: 1px solid var(--rule-soft);
}

.r-sub__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}

.r-sub__title {
  font-size: 9.6pt;
  font-weight: 700;
}

.r-desc {
  margin-top: 4px;
  color: var(--body);
}

.r-early {
  font-size: 9.2pt;
}

.r-early__item {
  display: grid;
  grid-template-columns: 15.5em 1fr auto;
  column-gap: 14px;
  align-items: baseline;
  padding: 10px 0;
  border-bottom: 1px solid var(--rule-soft);
  break-inside: avoid;
}

.r-early__item:first-child {
  padding-top: 0;
}

.r-early__item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.r-early__role {
  grid-column: 1;
  margin: 0;
  font-size: inherit;
  font-weight: 400;
  color: var(--muted);
}

.r-early__co {
  grid-column: 2;
  font-weight: 700;
}

.r-early__date {
  grid-column: 3;
  text-align: right;
  color: var(--faint);
  white-space: nowrap;
  font-size: 8.6pt;
}

.r-early__desc {
  grid-column: 2/3;
  margin-top: 5px;
  color: var(--muted);
}

.r-edu .r-edu__deg {
  font-weight: 600;
}
.r-edu .r-edu__school {
  color: var(--muted);
  margin-left: 8px;
}

.r-interests {
  color: var(--muted);
}

@media screen {
  .r-cv {
    max-width: 1180px;
    margin: 24px auto;
    padding: 36px clamp(20px, 5vw, 60px);
    background: var(--surface);
    box-shadow: 0 1px 16px rgba(0, 0, 0, 0.08);
  }
  .r-cv .r-head {
    padding-left: 0;
    padding-right: 0;
  }
  .r-cv a[href] {
    transition: text-decoration-color 0.15s ease, color 0.15s ease;
  }
  .r-cv .r-proj__link .link-text-screen {
    display: inline;
  }
  .r-cv .r-proj__link .link-text-print {
    display: none;
  }
  .r-cv a[href]:hover {
    text-decoration-color: var(--ink);
  }
  .r-cv a[href]:active {
    color: var(--muted);
    text-decoration-color: var(--muted);
  }
  .r-cv a[href]:visited {
    color: var(--muted);
  }
  .r-cv a[href]:focus-visible {
    outline: 2px solid var(--muted);
    outline-offset: 2px;
    border-radius: 2px;
  }
  .r-cv .r-proj__link a {
    color: var(--ink);
    font-weight: 600;
    text-decoration-color: var(--muted);
  }
  .r-cv .r-proj__link a:hover {
    text-decoration-color: var(--ink);
  }
  .r-cv .r-proj__link a::after {
    content: "↗";
    margin-left: 0.3em;
    font-weight: 400;
    text-decoration: none;
    display: inline-block;
  }
  nav#download {
    gap: 1rem;
    padding: 0.85rem clamp(1rem, 4vw, 2rem);
  }
  .nav-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.6rem;
    flex-wrap: wrap;
  }
  .nav-right .theme-toggle-cv {
    position: static;
    inset: auto;
  }
}
@media screen and (max-width: 720px) {
  .r-cv {
    margin: 0 auto;
    padding: 26px 20px;
    box-shadow: none;
  }
  .r-head {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }
  .r-name {
    font-size: 23pt;
  }
  .r-cols {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .r-aside {
    margin-top: 16px;
  }
  .r-early__item {
    grid-template-columns: 1fr auto;
    column-gap: 12px;
  }
  .r-early__role {
    grid-column: 1;
    grid-row: 1;
  }
  .r-early__date {
    grid-column: 2;
    grid-row: 1;
  }
  .r-early__co {
    grid-column: 1/-1;
    grid-row: 2;
    margin-top: 2px;
  }
  .r-early__desc {
    grid-column: 1/-1;
    grid-row: 3;
  }
}
@media screen and (max-width: 560px) {
  nav#download a:not(.logo),
  nav#download #print-button {
    padding: 0 0.85rem;
    font-size: 0.82rem;
  }
}
@media screen {
  html.dark-theme .r-cv {
    --ink: #f1f1f1;
    --muted: #a6a6a6;
    --faint: #888888;
    --rule: #3a3a3a;
    --rule-soft: #2d2d2d;
    --body: #d9d9d9;
    --surface: #1e1e1e;
    background: var(--surface);
    box-shadow: 0 1px 20px rgba(0, 0, 0, 0.55);
  }
}
